Große Schaltkreise mit viel I/O

OP #6686234
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
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
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
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
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.
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
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
Gast
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
> ein Expander

Nur Artuinofickler brauchen sowas. Richtige Maenner nehmen
einfach Schieberegister wenns unbedingt ein Controller mit
nur 8 Beinchen sein muss.
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
Gast
> 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
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
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
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
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

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.