Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » Experimentier-Karte für A71x0 » Themenansicht

Autor Thread - Seiten: -1-
000
20.10.2025, 16:44 Uhr
Ordoban



Mein nächstes Projekt wird eine Art Universal/Prototyp/Experimentierkarte für A7150/A7100.
So etwa stelle ich mir das vor:


Zentral sitzt ein mittelgroßer CPLD. In den gehen alle Bus-Signale, und der übernimmt alle zeitkritischen Aufgaben.
Im CPLD können auch schon einfache I/O-Aufgaben realisiert werden. Für komplexere Aufgaben würde ich einen ESP32 vorsehen. Den würde ich so an den CPLD anschließen, dass ein Oktal-SPI-Bus möglich ist.
Die restlichen Pins des ESP32 und des CPLD werden an ein Lochraster-Feld geführt, und können für beliebige eigene Aufbauten benutzt werden.

Als CPLD würde ich Xilinx XC95144XL oder XC95288XL nehmen. Die sind zwar schon lange abgekündigt, aber die sind immer noch für relativ kleines Geld zu haben, und die sind direkt 5V-TTL-Kompatibel. Gibt es etwas, was gegen diesen CPLD spricht?
Die für die Programmierung dieser CPLD notwendige Software "Xilinx ISE Design Suite" wird auch seit 2013 nicht mehr weiterentwickelt, aber immerhin ist die 2020 so angepasst worden, dass die auf Windows 10/11 läuft.
Zum übertragen des CPLD-Programms kann ein JTAG-Adapter benutzt werden. Ich werde aber auch versuchen, die JTAG-Programmierung über den ESP32 zu machen. Das spart Adapter und Kabelsalat.

Das hier ist der erste Entwurf als "normal breite" MMS16-Karte.


Darauf ist viel Platz für eigene Schaltungen, die sitzt mechanisch stabil im Rechner, und man kann ein Slotblech anschrauben. (Ähhm... ja... die Löcher dafür fehlen noch)
Die Nachteile dieser breiten Version sind, dass die in der Herstellung etwas teuerer wird, und die nur für den MMS16-Bus benutzt werden kann.

Es wäre auch eine schmale Variante möglich. Die könnte dann nicht nur links auf den MMS16-Bus, sondern auch rechts auf KGS,- oder KES-Bus gesteckt werden. (Für KES/KGS-Bus braucht es natürlich ein anderes CPLD-Programm).
Nachteil der schmalen Version ist, dass für eigene Schaltungen weniger Platz sein wird. Das Reinstecken einer schmalen Platine ist immer etwas fummelig, und die sitzt dann ganz schön wacklig in der Führungsschiene.

Wurdet ihr eher die schmale oder die breite Version bevorzugen?

Da auf Lochraster-Aufbauten schnell mal ein Kurzschluss passieren kann, habe ich eine Fein-Sicherung vorgesehen. Ist das OK, oder lieber eine Poly-Fuse nehmen?

Habt ihr Erfahrung mit doppelseitigen Lochrasterplatinen? Ich könnte mir vorstellen, dass durch das Kupfer im Loch die Lötaugen nicht so schnell abfallen, aber das Ablöten und Ändern der Schaltung schwieriger wird.
--
Gruß
Stefan
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
20.10.2025, 19:23 Uhr
Enrico
Default Group and Edit



Zitat:
Ordoban schrieb
....

Habt ihr Erfahrung mit doppelseitigen Lochrasterplatinen? Ich könnte mir vorstellen, dass durch das Kupfer im Loch die Lötaugen nicht so schnell abfallen, aber das Ablöten und Ändern der Schaltung schwieriger wird.



Ist mir beides noch nicht so schnell passiert.
--
MFG
Enrico
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
20.10.2025, 19:47 Uhr
Ordoban




Zitat:
Enrico schrieb
Ist mir beides noch nicht so schnell passiert.


Ich hab nen ganzen Haufen einfacher Hartpapier-Platinen, auf denen schon mehrere Generationen von Bahn-Lehrlingen zu lange und zu heiß rumgelötet haben (ja, die hab ich in meiner Lehrzeit in Gutenfürst "privatisiert"). Da fehlen oft schon viele Lötaugen.
--
Gruß
Stefan
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
20.10.2025, 20:15 Uhr
Dresdenboy



Wie wären hier die 5V u. 3,3V-Teile mit der Anwenderlogik verknüpfbar? Wären da noch Pegelwandler nötig?

Und wäre ein Pico 2 oder nur ein RP2350 mit vielen und mittlerweile 5V-toleranten GPIOs sowie den 3 PIO-Blöcken eine Option?

VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
20.10.2025, 20:51 Uhr
Ordoban



Der CPLD und der ESP32 laufen beide mit 3,3V.
Der CPLD ist offiziell 5V-tolerant, und der ESP32 ist es inoffiziell (das Thema hatten wir schonmal).
Normale 5V-TTL Eingänge kommen mit 3,3V-Ausgängen zurecht.
Man kann hier also ohne Pegelwandler auskommen.
Edit:
Problematisch könnte es werden wenn man modernere IC's für die Anwenderschaltung nehmen möchte. SDRAMs haben zum Beispiel oft 1,xV Pegelspannungen, für die sind unsere 3,3V-Pegel schon zu viel.

Ob der Pico 2 oder RP2350 eine Option sind weiß ich nicht. Als Ersatz für den ESP32 vielleicht. Als Ersatz für den CPLD vermutlich nicht - wir reden hier über ca. 50 I/O's allein für den MMS16 Bus.
--
Gruß
Stefan

Dieser Beitrag wurde am 20.10.2025 um 21:02 Uhr von Ordoban editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
Heute, 14:03 Uhr
Dresdenboy



Gut, das mit 3,3V-Spannung u. 5V-Toleranz macht Sinn.

Da hat sich beim RP2350 auch etwas getan, da dieser nun offiziell laut Doku bis 5,5V tolerant ist - ab Stepping A4. Dazu hat der Chip 48 GPIOs, was für dich natürlich nicht reichen würde, wenn man keine Zusatzlogik möchte.

Ein Vorteil der RP2350s ist, dass über die PIOs ein unterbrechungsfreies, von den Kernen unabhängiges I/O-Handling mit IRQs und DMA möglich ist. Und programmierbar wären diese direkt von den Cores.

Soll der CPLD z.B. auch Daten für den BUS von/zum ESP32 schieben?

VG,
Matthias
--
___________________________________
Produktionen im Rahmen der "The Computer Art Community" (Demoszene): https://demozoo.org/sceners/64936/, YT-Kanal: https://www.youtube.com/@4lpha0ne/videos
Programmierung seit '86 in BASIC: KC85/3, C64, A1200, PC | ASM: LC-80, C64, KC87, A1200, NeoGeo, PC, Mega 65, µC | Turbo Pascal: BIC, PC | C: RS/6000, Alpha, PC, µC | C++, Java, Javascript, Rust, Lua, Perl, PHP u.a. auf PC
HW: LC-80, BIC A5105 komplett, KC87, KC85/2-4, KCC, C64s, C16, Plus/4s, A500s, A1200, Mega 65, ESP32s, RasPis, PCs, Laptops, MR 610, ...
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
Heute, 17:31 Uhr
Ordoban




Zitat:
Dresdenboy schrieb
Dazu hat der Chip 48 GPIOs, was für dich natürlich nicht reichen würde, wenn man keine Zusatzlogik möchte.


Könnte grad so reichen, wenn ich auf ein paar Signale wie zum Beispiel Interrupts und Busmaster verzichte.


Zitat:
Ein Vorteil der RP2350s ist, dass über die PIOs ein unterbrechungsfreies, von den Kernen unabhängiges I/O-Handling mit IRQs und DMA möglich ist. Und programmierbar wären diese direkt von den Cores.


Die I/O-Prozessoren sehen auf den ersten Blick cool aus. Wenn man dann über konkrete Aufgaben nachdenkt, dann stößt man damit aber sehr schnell an harte Grenzen.

Zitat:
Soll der CPLD z.B. auch Daten für den BUS von/zum ESP32 schieben?


Aber sicher doch! Du denkst jetzt bestimmt: "MMS16-Busttakt 5MHz.... SPI-Bustakt max 50MHz.... Serialisierungsverhältnis 40:8... Reaktionszeit des ESP32.... -----> das wird vom Timing niemals hinkommen.". Das ist richtig.
Aaaaber: der MMS16-Bus hat eine Besonderheit. Der Busmaster wartet bei jedem Transfer, bis die betreffende Karte den Empfang oder Versenden der Daten mit dem XACK-Signal bestätigt hat.
Und was passiert wenn keine Karte antwortet, weil der Port nicht benutzt wird? Die KES als Busmaster wartet bis jemand den Reset drückt, und die ZVE als Busmaster hat ein Monoflop mit ein paar Millisekunden als Timeout. Paar Millisekunden klingt erstmal nicht viel - für einen Computer ist das eine Ewigkeit. Für den ESP32 reicht das allemal.
Klar wird das nicht die Monster-Mega-Performance bringen. Muss es auch nicht.
--
Gruß
Stefan
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek