Große Schaltkreise mit viel I/O

#6686234
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
Gast #6686239
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.
Gast #6686243
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.
Gast #6686255
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
Gast #6686274
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.
#6686280
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
Gast #6688000
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.
Gast #6688044
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.
Gast #6688067
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.
Gast #6688090
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
Gast #6688128
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.
Moderator (Firma: Titel) Persönliche Seite #6688287
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren