NKC Forum
Register | FAQ | Search | Who is online? | Member list | Today's posts | Calendar | Login



Author Topic: GDP-FPGA
sfranke
Stammgast
**
ID # 205


  Posted on January 25, 2025 01:20 PM (#201)  |  Quote Quote   PM PM   E-mail E-mail
Hallo aus Berlin,

wird es irgednwann auch eine Adpaterplatine für den Nano 20k geben ?

Gruß

Stefan

Posts: 252 | Member since: March 2020 | IP address: not saved
andi
Voll in Gange
***
ID # 213


  Posted on January 25, 2025 07:40 PM (#202)  |  Quote Quote   PM PM   E-mail E-mail
Hallo,

Die Anleitung wie du das Tang-Nano programmierst findest du im Verlauf von diesem Chat https://nkcforum.de/forumdrc/index.php?mode=viewthread&forum_id=1&thread=194&z=4#post71
Allgemeine Infos (Wiki) zum Tang-Nano findest du hier: https://wiki.sipeed.com/hardware/en/tang/tang-nano-20k/nano-20k.html
Zum Programmieren benötigst du den Gowin Programmer (Link findest du auf der Tang-Nano Wiki Seite.
Die FPGA-Files (inkl. Erklärung was drin steckt) sind auf meiner github Seite: https://github.com/avg67/nkc/tree/main/tang_nano_20k
Für den Start (zum reinschnuppern) würd ich die FPGA-Files mit der ser. Key empfehlen (NKC_ser_key.fs für 68k, NKC_Z80_ser_key_ext_bus.fs für Z80).
Die Tastatur (key) erfolgt dabei via virt. RS232 Schnittstelle wenn du das Tang-Nano via USB an den PC ansteckst (bei mir z.B. COM11) mit 9600 Baud.
Ein SD-Card Image für 68k (Jados) findest du hier https://github.com/avg67/nkc/blob/main/SW/Disks/sdcard_image_1GB_nkc_tang_nano_16_11_24.zip (Inhalt siehe A:Inhalt.txt)
SD-Card Image für Z80 (CPM2.2) findest du hier: https://nkcforum.de/ndr/hardware/neu/mspeicher/sdio/index.html
Für beide Images brauchst du https://win32diskimager.org/
Achtung: Bei 68k funktionieren leider nicht alle SD-Karten. Das ist leider ein bekanntes Problem.
Schaltplan für die NKC-Busanbindung: https://github.com/avg67/nkc/blob/main/KiCad/GDP_FPGA_III/gdp.pdf
Diese funktioniert sowohl für Master (=CPU) als auch Slave (GDP mit ext. CPU) Betrieb inkl. PS/2 Ports für Maus und Tastatur.

Eine Adapterplatine für das Tang-Nano wird es sicherlich mal geben. Wenn sich dafür (KiCad erfahrene) freiwillige finden würde das die Sache deutlich beschleunigen, da ich z.Zt. wenig Zeit habe

LG,
Andi

Posts: 535 | Member since: May 2021 | IP address: not saved
UR1968
Kennt sich schon aus
**
ID # 171


  Posted on January 25, 2025 10:13 PM (#203)  |  Quote Quote   PM PM   E-mail E-mail
Hallo Andi,

ich finde es gut, dass Du die GDP auf ein aktuelles FPGA umgesetzt hast. Mit KiCad kenne ich mich ganz gut aus und so würde ich mich um eine Platine kümmern.

Tschüß
Uwe

Posts: 136 | Member since: February 2017 | IP address: not saved
sfranke
Stammgast
**
ID # 205


  Posted on January 26, 2025 11:55 AM (#204)  |  Quote Quote   PM PM   E-mail E-mail
Guten Andi,

danke für den ausführlichen Wegweiser für den Tang-Nano.
Gruß
Stefan

Posts: 252 | Member since: March 2020 | IP address: not saved
andi
Voll in Gange
***
ID # 213


  Posted on January 26, 2025 06:30 PM (#205)  |  Quote Quote   PM PM   E-mail E-mail
Quote by UR1968:
Hallo Andi,

ich finde es gut, dass Du die GDP auf ein aktuelles FPGA umgesetzt hast. Mit KiCad kenne ich mich ganz gut aus und so würde ich mich um eine Platine kümmern.

Tschüß
Uwe



Hallo Uwe,
Sehr gut.
Vielen Dank dass du das übernimmst.

LG Andi

Posts: 535 | Member since: May 2021 | IP address: not saved
Creep
Voll in Gange
***
ID # 169


  Posted on January 27, 2025 11:36 AM (#206)  |  Quote Quote   PM PM   E-mail E-mail
Hallo,

mit der Platine wollte ich mich fast auch schon beschäftigen, kam aber nicht dazu.
Eventuell könnte man die Bauteile gleich als SMD planen, so daß man die auch bestückt bei JLCPCB ordern kann?

Gruß Rene

Posts: 759 | Member since: January 2017 | IP address: not saved
smed
Stammgast
**
ID # 114


  Posted on January 27, 2025 12:59 PM (#207)  |  Quote Quote   PM PM   E-mail E-mail
Hallo
waere nett wenn auch ein kleiner audio amp mit drauf ist fuer SOUND.

Würde auch eher 2.54 Raster und through-hole bevorzugen.

Gruss
smed

-----------------------
NKC'ler seit 1984 (Pause zw. 1988-2017)
CPU68k,CPU68000,4xROA64,6xIOE,6xGDP,GDPHS,8xSBC2/3,HEXIO,6xKEY,UHR3,PROMER,CENT,SER,SOUND,CAS,6xBUS2,4xBUS3,3xPOW5V,2xTAST..und einen ArduinoMEGA mit auf dem BUS, und eine selbstgebastelte MEM960k und eine FPGA-GDP.

NKC - OpenSource since 1983

Posts: 308 | Member since: January 2011 | IP address: not saved
andi
Voll in Gange
***
ID # 213


  Posted on January 27, 2025 01:56 PM (#208)  |  Quote Quote   PM PM   E-mail E-mail
Also ich wär für SMD. Mir gefällt die Idee von Rene dem bestückten bestellen der SMD Bauteile bei JLCPCB sehr gut. Dann wären ohnehin nur mehr die bedrahteten Bauteile zu bestücken.
Zum Sound: Dieser wird auch zusätzlich via HDMI ausgegeben. Auf meinem Fernseher funktioniert das ganz toll (mein Bildschirm kann das nicht, der ist zu alt). Über die Audio-Buchse steck ich das and den Line-In Eingang meines Monitors an. Das geht ganz hervorragend. Da braucht man keinen zusätzlichen Audio Amp (den hätte übrigens das Tang-Nano drauf, braucht aber zu viele Pins für I2S wodurch ich den zusammen mit dem ext. Bus nicht verwenden kann).
LG,
Andi

Posts: 535 | Member since: May 2021 | IP address: not saved
hschuetz
Administrator
Seitenadmins
******
ID # 3


  Posted on January 29, 2025 03:13 PM (#209)  |  Quote Quote   PM PM   E-mail E-mail
Hallo,
cool wäre auch eine Möglichkeit einen 5V NKC Bus zu betreiben... zumindest eine Möglichkeit mit einzubauen.
Gruß
Hans-Werner

-----------------------
Ob 8bit oder 16 oder 32 ist doch egal, Haupsache selbstgebaut!

Posts: 1022 | Member since: June 2004 | IP address: not saved
andi
Voll in Gange
***
ID # 213


  Posted on January 29, 2025 04:21 PM (#210)  |  Quote Quote   PM PM   E-mail E-mail
Hallo,
Ich denke zuallererst sollten wir die grundsätzliche Frage klären "was wollen wir überhaupt".
Es gibt folgende Möglichkeiten was die zukünftige Platine alles unterstützen soll:
1.) Reiner Slave mode: GDP-FPGA (Grafikkarte etc.) in einem NKC-System mit externer CPU
2.) Reiner Master mode: Ersetzt CPU, Speicher + GDP in einem NKC-System.
3.) Flexibel: Je nach FPGA-Konfiguration für beides einsetzbar.

Interessant wäre zu wissen wer an welcher der drei Modi interessiert ist. Bitte um Votes hier.
Der aktuelle Schaltplan von mir geht in Richtung 3.) Hier hat man natürlich die größten Einschränkungen beim Schaltplan zu überwinden weil alle 245er beide Richtungen können müssen. Dadurch entfallen einfache Möglichkeiten z.B. den Adressbus auf 5V umzusetzen indem man den entsprechenden 245er direkt mit 5V versorgt. Eine Alternative wäre hier "verbesserte" Varianten wie z.B. 74LXCH8T245 https://www.ti.com/lit/gpn/SN74LXCH8T245 zu verwenden (den gibt's allerdings NUR in SMD).
Wenn man z.B. nur den Master-Mode unterstützen würde dann wäre eine weitere Möglichkeit FPGA-Pins für zukünftige Erweiterungen frei zu bekommen die Verwendung eines gemultiplexten Adress/Datenbusses (wie bei x86, AVR, 8051) mit Adress-Latch. Das wäre beim FPGA kein Problem. Das geht aber NUR im Master-Mode. Beides geht dann nicht mehr.
LG,
Andi

Posts: 535 | Member since: May 2021 | IP address: not saved
hschuetz
Administrator
Seitenadmins
******
ID # 3


  Posted on January 29, 2025 06:46 PM (#211)  |  Quote Quote   PM PM   E-mail E-mail
Hallo Andi,
die Masterversion würde ich bevorzugen. Grafikkarten gibt es ja genug. Interessant ist verschiedene Prozessoren auf dem NKC Bus zu nutzen. Dann wären alle IO Karten nutzbar.
Gruß
Hans-Werner

-----------------------
Ob 8bit oder 16 oder 32 ist doch egal, Haupsache selbstgebaut!

Posts: 1022 | Member since: June 2004 | IP address: not saved
tuti
Voll in Gange
***
ID # 225


  Posted on January 29, 2025 09:33 PM (#212)  |  Quote Quote   PM PM   E-mail E-mail
Ich komme zwar gerade - mal wieder - so gar nicht dazu, mit dem NKC zu basteln, möchte aber für die flexible Variante 3 voten.

Grund: Als Master ist das cool, die EF9366 werden aber gerade auch zunehmend teurer und neue NKC-Bastler, die das echte NKC-Feeling mit einzelnen Platinen suchen, hätten so eine Alternative für die GDP64HS.

-----------------------
Definitiv sind Frösche und Himbeeren am besten!

Posts: 597 | Member since: July 2022 | IP address: not saved
Creep
Voll in Gange
***
ID # 169


  Posted on January 29, 2025 11:16 PM (#213)  |  Quote Quote   PM PM   E-mail E-mail
Hallo,

ich bin natürlich auch erstmal für Version 3.
Allerdings könnte es auch sinnvoll sein, stattdessen 2 Platinen zu erstellen. Jeweils für Version 1 und 2. Eben, weil man dann auf der Slave (I/O) Version die Möglichkeit hätte, bereits weitere Peripherie unterzubringen. Massenspeicher, Audio, Display, ...

Gruß Rene

Posts: 759 | Member since: January 2017 | IP address: not saved
smed
Stammgast
**
ID # 114


  Posted on January 29, 2025 11:55 PM (#214)  |  Quote Quote   PM PM   E-mail E-mail
Hallo,
den Slave und Master Anwendungsfall mit einer Platine abzudecken klingt natürlich erst mal eleganter, ist aber dann in der Realität wg. Jumpern, IC-Teilbestueckung etc. evtl. nicht ganz so anwenderfreundlich (?).

Würde eher 2 Platinen bevorzugen, Interesse habe ich an Beiden, allerdings werde ich nie meine NKC-Bastelkiste gegen einen einzelnen NKC SoC eintauschen.

Gruss
smed

-----------------------
NKC'ler seit 1984 (Pause zw. 1988-2017)
CPU68k,CPU68000,4xROA64,6xIOE,6xGDP,GDPHS,8xSBC2/3,HEXIO,6xKEY,UHR3,PROMER,CENT,SER,SOUND,CAS,6xBUS2,4xBUS3,3xPOW5V,2xTAST..und einen ArduinoMEGA mit auf dem BUS, und eine selbstgebastelte MEM960k und eine FPGA-GDP.

NKC - OpenSource since 1983

Posts: 308 | Member since: January 2011 | IP address: not saved
tuti
Voll in Gange
***
ID # 225


  Posted on January 30, 2025 09:58 AM (#215)  |  Quote Quote   PM PM   E-mail E-mail
Je eine Platine für jeden Einsatzzweck? Das fände ich auch in Ordnung.

In der Tat würde ich bei Platinen der Variante 3 wohl auch nicht immer hin und her bauen sondern vielmehr eine für Variante 1 konfigurieren und eine weitere für Variante 2. Da könnten es dann auch gerne gleich zwei verschiedene Platinen sein.

-----------------------
Definitiv sind Frösche und Himbeeren am besten!

Posts: 597 | Member since: July 2022 | IP address: not saved
andi
Voll in Gange
***
ID # 213


  Posted on January 31, 2025 09:44 PM (#216)  |  Quote Quote   PM PM   E-mail E-mail
Hallo,

ich hab den Schaltplan für die Adapterplatine (flexible Variante) auf den "besseren" Levelshifter upgedated (74LVC8T245) der direkt auf 5V umsetzen kann.
https://github.com/avg67/nkc/blob/main/KiCad/GDP_FPGA_III/gdp.pdf
Den 74LVC8T245 gibt es z.B. bei Aliexpress

Beim reinen Slave (Variante 1) könnte man bei den bisherigen 74LVC245 bleiben. Da ist es nicht so kritisch dass der Datenbus nur auf 3v3 umgesetzt wird.
Aber beim Master (Variante 2) wird es blöd mit den bisherigen Level-Shiftern da diese keine 5V an den Bus bringen.
Somit würde ich dafür (und für die flexible Variante) die besseren level-shifter einsetzen (die zwei Versorgungsspannungen haben).

Gruss
Andi

Posts: 535 | Member since: May 2021 | IP address: not saved
UR1968
Kennt sich schon aus
**
ID # 171


  Posted on February 01, 2025 12:28 PM (#217)  |  Quote Quote   PM PM   E-mail E-mail
Hallo zusammen,

für mich sind beide Versionen interessant und daher wäre ich für die flexible Variante. Was ich im Schaltplan nicht so richtig sehe wie sich die 3 Möglichkeiten in der Hardware unterscheiden. Dann sollten wir uns bei dem Audioanschluss und der 2. SD Karte entscheiden was wir genau dort einsetzen wollen. Bei der SD Karte hatte ich in der Vergangenheit gern die Yamaichi FPS009-2405 eingesetzt. Diese ist aber abgekündigt und ich möchte die daher nicht mehr einsetzen. Ich habe mir jetzt bei Reichelt eine von 3M bestellt und werde die mal testen.

Dann kam hier die Frage nach dem Bestücken lassen auf. Kann man machen, macht aber in unseren Fall nicht viel Sinn. Wir setzen Sachen ein, die gut von Hand zu löten sind. Bestücken lassen macht für mich nur Sinn bei Komponenten, die man schlecht von Hand löten kann. Z.B. ein FPGA mit 144 Pins. Weiteres Manko ist das Angebot beim Bestücker. Dort sind zwar viele Bauteile gelistet, aber davon ist nur ein Bruchteil am Lager. Wie lange es dauert bis die anderen verfügbar sind weiß ich nicht. Nur als Beispiel sind die SD Kartenhalter, dort sind nur 2 verfügbar, von denen gibt es aber keinen Footprint. Gut kann man selbst erstellen, dafür hätte ich aber gern ein Stück in der Hand um den Footprint zu überprüfen. Bauteile bekommt man dort aber nur für die Bestückung.

Falls hier jemand Probleme mit dem SMD hat, dann würde ich das Bestücken übernehmen. Einen Stencil bestelle ich in der Regel immer mit und einen Reflowofen habe ich auch. Nur sollte sich die Anzahl der Platinen in einem angemessenen Rahmen halten. 60 Stück wären z.B. etwas zu viel.

Tschüß
Uwe

Posts: 136 | Member since: February 2017 | IP address: not saved
smed
Stammgast
**
ID # 114


  Posted on February 01, 2025 07:29 PM (#218)  |  Quote Quote   PM PM   E-mail E-mail
Statt level shifter ICs, das diskret mit einem BS170 o.ä. (von denen jeder ein Handvoll in der Bastelkiste hat) aufzubauen ist keine Option ?

Ansonsten ist SMD löten von Hand bei 2-Pin Komponenten eh kein Problem. Es sind ja nur die feinen Pin Abstände (+ Altersweitsichtigkeit) die per Lötkolben eine Ewigkeit dauern.

Gruss
smed

PS zB https://circuitdigest.com/tutorial/bi-directional-logic-level-controller-using-mosfet

-----------------------
NKC'ler seit 1984 (Pause zw. 1988-2017)
CPU68k,CPU68000,4xROA64,6xIOE,6xGDP,GDPHS,8xSBC2/3,HEXIO,6xKEY,UHR3,PROMER,CENT,SER,SOUND,CAS,6xBUS2,4xBUS3,3xPOW5V,2xTAST..und einen ArduinoMEGA mit auf dem BUS, und eine selbstgebastelte MEM960k und eine FPGA-GDP.

NKC - OpenSource since 1983

Posts: 308 | Member since: January 2011 | IP address: not saved
andi
Voll in Gange
***
ID # 213


  Posted on February 01, 2025 07:43 PM (#219)  |  Quote Quote   PM PM   E-mail E-mail
Hallo,
Diskrete Levelshifter haben den Nachteil dass sie relativ langsam sind (für einen Datenbus eher zu langsam). Die werden i.A. für I2C o.ä. verwendet wo die max. Frequenz ca. 400kHz ist.
Und wir müssen ~20 Leitungen umsetzen - das wären dann 20 Transistoren.
Wenn wir uns die besseren Levelshifter nicht leisten wollen dann nehme wir halt den (bisherigen) 74LVC245 (den ich auch in meiner Bastelkiste liegen habe) und lebe mit dem Kompromiss dass der nur auf 3V3 umsetzt.

@Uwe: Master und Slave Variante unterscheiden sich nur geringfügig voneinander - in der Richtung in die U3,4 arbeiten.
Wenn diese vom Datenbus -> Tang-nano arbeiten ist das der Slave Betrieb, in Richtung Tang-nano -> Bus ist das der Master Betrieb.
Beim reinen Slave-Betrieb bräuchte ich für U3,4 nur einen 74LVC245 mit 3V3 betrieben (der nur "5V aware" ist).
Beim reinen Master-Betrieb könnte ich z.B. 74HC245, mit 5V versorgt nehmen und die setzen dann wunderbar von 3V3 auf 5V um.
Nur der Datenbus (U2) hat immer die gleichen Anforderungen. Wenn ich den auf 5V umgesetzt haben will reichen die "einfachen" Levelshifter (74LVC245) nicht aus.
Blöder ist wenn ich beides können will. Denn dann brauch ich die aufwendigeren Levelshifter auch für U3,4.
Bin offen für Vorschläge wie wir das vereinfachen können!

LG,
Andi

Posts: 535 | Member since: May 2021 | IP address: not saved
UR1968
Kennt sich schon aus
**
ID # 171


  Posted on February 01, 2025 08:10 PM (#220)  |  Quote Quote   PM PM   E-mail E-mail
Hallo,

so viel teurer sind die 74LVC87245 nun auch nicht. 0,31 CHF zu 0,80 CHF bei Mouser.

Tschüß
Uwe

Posts: 136 | Member since: February 2017 | IP address: not saved



| https://nkcforum.de | Board rules | Privacy policy


Tritanium Bulletin Board 1.8
© 2010–2021 Tritanium Scripts


Site created in 0.037440 seconds
Processed 22 files
gzip compression enabled
2915.67 KiB memory usage