Forum: Mikrocontroller und Digitale Elektronik Große Schaltkreise mit viel I/O


von Thomas Z. (thomas_z708)


Lesenswert?

Hallo ich bin relativ neu in der ganzen Microcontrollergeschichte.
Ich habe bis jetzt mit Arduino, NODEMCU Boards gearbeitet und ich frage 
mich wie man es eigentlich handelt, wenn man sehr viel I/O an einen 
Microcontroller anbinden muss. Nutzt man dann einfach riesige Controller 
oder nutzt man große I/O Expander oder teilt man einzelne Funktion auf 
mehrere Microcontroller auf und lässt diese miteinander kommunizieren? 
Kann mich da jemand aufklären?

Lg Nico

von Teo (Gast)


Lesenswert?

Kommt drauf an, ist halt wie immer ne Kosten-Nutzen Frage. Die Lösung, 
kommt erst mit der Problemstellung!

von Sebastian R. (sebastian_r569)


Lesenswert?

Wie immer: Kommt drauf an.


Alle drei genannten Methoden sind üblich und haben in ihren Anwendungen 
Vor- und Nachteile.

von A. S. (Gast)


Lesenswert?

Thomas Z. schrieb:
> utzt man dann einfach riesige Controller
> oder nutzt man große I/O Expander oder teilt man einzelne Funktion auf
> mehrere Microcontroller auf und lässt diese miteinander kommunizieren?
> Kann mich da jemand aufklären?

Alles 3:

Expander, wenn sonst die Leitungen zu lang werden oder 
Spezial-Schaltkreise in der Kombination nicht in einem µC verfügbar sind

mehrere Microcontroller hingegen nur selten: Meist ist der 
Abstimmungsaufwand zu groß. Mehrere Microcontroller macht man hingegen, 
wenn der eine den anderen Lädt (Entwicklungsboards), wenn einer 
dediziert nur Kommunikation oder Grafik oder so macht, wenn an per 
zweidraht verbinden will und Standardbausteine nicht reichen, wenn lange 
Strecken dazwischen liegen, wenn Module Autark sind, ... . Aber in der 
Regel nicht, um 20 IOs mehr zu haben als maximal vorhanden.

von DANIEL D. (Gast)


Lesenswert?

Kommt drauf an was die I/Os können sollen.

Komplexe zeitliche Abläufe, oder andere Dinge wo ein MCU alleine 
überfordert sein könnte würde ich auf mehrer aufteilen. Z.B wenn viele 
Motoren etwas mit Weg Zeit und Position machen, und dann noch andere 
zeitkritische Aufgaben erledigt werden müssen.

Ist die Zeit egal und alles an einem Ort, dann I/O Expander.
Sind die zu Steuernden Objekte, IOs weit von einander entfernt dann auch 
viele MCUs mit Bustechnik verbunden.

Also immer das was für die Situation passender ist.

von IQ130+ (Gast)


Lesenswert?

Darüber hinaus gibbets Möglichkeiten mit wenig µC-Pins viele IN's oder 
OUT's zu nutzen, indem man geschickt Matrizen und Multiplex einsetzt.

https://www-user.tu-chemnitz.de/~heha/Mikrocontroller/Tastenmatrix.htm
https://elektro.turanis.de/html/prj050/index.html

von Georg (Gast)


Lesenswert?

Thomas Z. schrieb:
> oder nutzt man große I/O Expander

Das ist in vielen Fällen am günstigsten - Riesencontroller haben auch 
riesige Gehäuse, nicht wegen der Grösse, da wären sie optimal, aber sie 
haben dann halt 100 Pins und mehr, und alle Leiterbahnen müssen zu 
diesem IC. Und Multicontroller sind hardwaremässig einfach, aber die 
Software ist kniffelig.

In vielen Fällen tun es auch einfache Latches oder Schieberegister, 
spezielle I/O-Expander müssen nicht sein. Besonders nicht Exoten die 
schwer zu beschaffen sind. 74er ICs gibt es schon so etwa ein halbes 
Jahrhundert.

Georg

von DANIEL D. (Gast)


Lesenswert?

Da ich mich mehr mit der Theorie als mit der Praxis beschäftigt habe 
weiß ich es nicht so genau, aber im Prinzip hat man ja nur eine 
begrenzte Menge an Timer und Interrupt Möglichkeiten welche man in einem 
Controller gleichzeitig verwenden kann. Deswegen vermute ich dass gerade 
dort wo man sehr viele verschiedene Timer und Interrupt Möglichkeiten 
bedingt durch die Aufgaben braucht, man irgendwann gezwungen ist mehrere 
Controller zu verwenden. Besonders dann wenn die Aufgaben gleichzeitig 
erledigt werden sollen.

von Frank K. (fchk)


Lesenswert?

Als High-End-Lösung gibts dann noch FPGAs. Das sind programmierbare 
Logikbausteine. Du hast dann einfach ein paar tausend Logikgatter, 
Flipflops, RAM, Addierer und Multiplizierer und kannst Dir daraus alles 
mögliche bauen, von einfachen Schieberegistern bis zu Prozessoren, 
Videocontrollern, usw usw. Diese Dinger gibts von ganz klein (16 Pins im 
0.35mm BGA) bis ganz groß (einige tausend Pins als Kachel), und jede 
Größe findet ihren Abnehmer.

Wie gesagt: kommt ganz auf Problem an.

fchk

von Rainer V. (a_zip)


Lesenswert?

Und nebenbei könntest du auch mal bedenken, welche Anwendungen denn 
wofür "viel" I/O benötigen könnte. Mir kommen 20 I/O schon recht üppig 
vor und je nach Anwendung wäre ein Expander sicher ausreichend. Aber 
vielleicht hast du ja andere Ideen.
Gruß Rainer

von xyz (Gast)


Lesenswert?

Mit 100 Pins und 8 GPIO-Ports a 8 Bit ist immer noch der
C8051F020 mein Favorit. Quadratisch, praktisch, gut!
Da kann nun wirklich jede auch noch so verschissene LED
ihr eigenes Portpin bekommen.

FPGAs wurden ja schon erwaehnt. Da kann man sich "seine"
Peripherie selber bauen. Auch sehr praktisch.

Mittlerweile bin ich ein grosser Freund der 27 bit Arithmetik.
Weil auch da ist man nicht auf fixe Groessen angewiesen.

von xyz (Gast)


Lesenswert?

> ein Expander

Nur Artuinofickler brauchen sowas. Richtige Maenner nehmen
einfach Schieberegister wenns unbedingt ein Controller mit
nur 8 Beinchen sein muss.

von Rainer V. (a_zip)


Lesenswert?

xyz schrieb:
> Mittlerweile bin ich ein grosser Freund der 27 bit Arithmetik.
> Weil auch da ist man nicht auf fixe Groessen angewiesen.

Dann bin ich ja froh, dass du nicht auf 8 mal 7 bit-Arithmetik stehst. 
Ansonsten verstehe ich nicht, was dass mit den I/O-Pins zu tun hat!?
Gruß Rainer

von Sebastian S. (amateur)


Lesenswert?

Irgendwie vermisse ich eine numerische Definition von: "sehr viel I/O"

von xyz (Gast)


Lesenswert?

> 8 mal 7 bit-Arithmetik
Der gute 56002 hatte glaub ich einen 56 bit breiten Akkumulator.

> was dass mit den I/O-Pins zu tun hat!?
Mit einem 1 Bit-Slice ist es schwierig mehrere IO-Pins
zu adressieren, oder nicht?

Scheinbar hast du noch keine Signalverarbeitung auf FPGAs gemacht.

von Helge (Gast)


Lesenswert?

Ganz nett sind diese Ansteuer-ICs aus den ersten VFD-Monitoren fürn PC. 
80bit  Schieberegister + Latch + 80V/4mA open collector im 96 pin SMD.

Das ist für mich viele I/O, jedenfalls in einem einzigen Baustein.

von Bernd (Gast)


Lesenswert?

Helge schrieb:
> Das ist für mich viele I/O, jedenfalls in einem einzigen Baustein.

Ein Xilinx Virtex Ultrascale+ VU19P im A3824-Gehäuse hat ca. 2000 I/O 
(Seite 4):
https://www.xilinx.com/support/documentation/selection-guides/ultrascale-plus-fpga-product-selection-guide.pdf

Dummerweise ist der gerade nicht am Lager:
https://www.digikey.de/product-detail/de/xilinx-inc/XCVU19P-2FSVA3824E/122-XCVU19P-2FSVA3824E-ND/11588539

von Helge (Gast)


Lesenswert?

Was macht man mit 2.000 I/O?

von Georg (Gast)


Lesenswert?

Helge schrieb:
> Was macht man mit 2.000 I/O?

Ein LED-Display ansteuern, wenn man das mit einer Matrix nicht rafft.

Georg

von Andre (Gast)


Lesenswert?

xyz schrieb:
> Richtige Maenner nehmen einfach Schieberegister

Wenn sie keine Ahnung haben ;)
Es gibt inzwischen I/O Expander, die deutlich mehr können als irgendwie 
ein paar Bit raus zu takten. Z.B. gibt es PWM Generatoren mit zig 
Kanälen, High-Side Treiber oder 24V feste Eingänge, die man einfach an 
den I²C oder SPI Bus hängt.
Wenn so ein Baustein zur Anforderung passt, sehe ich kaum einen Grund 
das heutzutage noch aus Einzelteilen zu basteln.

von Rainer V. (a_zip)


Lesenswert?

xyz schrieb:
> Scheinbar hast du noch keine Signalverarbeitung auf FPGAs gemacht.

Nee hab ich nicht. Und ich mag mich auch nicht schämen, dass mir 1 
Bit-Slice nicht sofort eingefallen ist :-)
Gruß Rainer

von xyz (Gast)


Lesenswert?

> Wenn so ein Baustein zur Anforderung passt

Das ist dann ja auch OK.
Ansonsten waeren die 3 ct fuer ein 74HC595 zu unterbieten.

von Blockwart (Gast)


Lesenswert?

Bernd schrieb:
> Ein Xilinx Virtex Ultrascale+ VU19P im A3824-Gehäuse hat ca. 2000 I/O
> (Seite 4):
> 
https://www.xilinx.com/support/documentation/selection-guides/ultrascale-plus-fpga-product-selection-guide.pdf

Wow, ein (!) IC für fast 72k€, das ist doch mal eine Hausnummer...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Blockwart schrieb:
> Wow, ein (!) IC für fast 72k€, das ist doch mal eine Hausnummer...
Ich bin mir sicher, dass du das IC in der Realität als Neukunde nicht 
einfach per Anklicken bei eine Distri bekommen wirst. Ich vermute sehr, 
dass du nach einer Bestellung statt des FPGAs nur einen Anruf vom FAE 
bekommst.

Thomas Z. schrieb:
> sehr viel I/O
Definiere I/O.
Meinst du damit simple 3,3V-Logik-Ein- und Ausgänge?
Oder meinst du I/O im Sinne von Zählern, Zeitmessung, PWM, AD- und 
DA-Wandlern?
Oder meinst du I/O wie in einer SPS üblich von 24V-EA über 230/400V-EA 
bis hin zur Ansteuerung von "richtigen" Servoachsen mit zig kW?

> Kann mich da jemand aufklären?
Sieh dir an, wie andere das machen. Du bist nicht der erste, der so ein 
Problem hat.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.