Forum: Mikrocontroller und Digitale Elektronik GPIO Erweiterung (über 128 GPIO)


von Tobias (Gast)


Lesenswert?

Hallo zusammen

Ich habe folgendes Anliegen:
Ich habe ein Projekt (mit Raspberry), bei dem ich mehr als die 128 GPIO 
(über I2c Bus) brauche. Vorteilhaft wären 128 GPIO für als Eingänge und 
256 GPIO als Ausgänge.

Jetzt ist meine Idee, mit einem Raspberry alles einzulesen, diese 
Zustände mit dem Hauptprogramm zu steuern und dann die Zustände an zwei 
andere Raspberry per Ethernet (mit Switch) weiterzugeben. Diese zwei 
Raspberry steuern dann nur noch die Ausgänge an. Damit wären meine 
Anforderungen erfüllt.

Die Raspberrys haben dann den MCP23017 an dem I2c Bus angeschlossen.

Gibt es irgendwelche Datenbanken, bei denen man die Zustände (z.B. 
einfach LED 5.2 = 1) per Ethernet senden und dann wieder ganz einfach 
auslesen könnte?

Oder suche ich am ganz falschen Ort? Bin jetzt nicht gerade der 
Raspberry Experte :D

Vielen Dank für eure Antworten und Ideen!

von (prx) A. K. (prx)


Lesenswert?

Weshalb mehrere Raspis?

von Curby23523 N. (Gast)


Lesenswert?

128 GPIOs mit einem Raspberry einzulesen und weiterzusenden an einen 
zweiten ist totaler Overhead!

Was hast du denn mit deinem Projekt vor? Wie immer reicht wahrscheinlich 
ein einer AVR/PIC für diese Aufgabe.

von Ralf (Gast)


Lesenswert?

Was soll denn an die GPIOs angeschlossen werden?

von Tobias (Gast)


Lesenswert?

An die Eingänge würden Zustandsmeldungen von Optokopplern, Tastern und 
Endschaltern.

An die Ausgänge kommen LED und Relais.

Wäre es auch eine Möglichkeit, den I2c Bus zu Erweitern? Zum Beispiel 
die Expander Hoch- oder Niederohmig zu schalten und diese dann so 
anzusteuern?

von Peter D. (peda)


Lesenswert?

Tobias schrieb:
> und dann die Zustände an zwei
> andere Raspberry per Ethernet (mit Switch) weiterzugeben.

Umständlicher gehts wohl nicht. Hat der Raspberry denn kein SPI?
Ich würde 16 SN74HC165 und 32 SN74HC595 nehmen und kaskadiert an das 
SPI.
Dann noch 2 IOs für parallel Load bzw. Register Clock.
Und dann einfach per DMA 32 Byte rausschaufeln und einlesen.

von Curby23523 N. (Gast)


Lesenswert?

Tobias schrieb:
> Zum Beispiel
> die Expander Hoch- oder Niederohmig zu schalten und diese dann so
> anzusteuern?

Erkläre das nochmal. Aber für das, was ich mir aus deiner Antwort 
vorstellen kann, braucht man nichtmal einen Rapsberry. Den benutzt du, 
wenn Webserver, Datenbank, Internet, WLAN, Speicher, Grafik etc. 
brauchst.

Eingänge -> Mikrocontroller -> Ausgänge

Z.B. Einfache portexpander über i²c oder SPI. Dazu gibts etliche 
Tutorials.

von (prx) A. K. (prx)


Lesenswert?

Peter D. schrieb:
> Hat der Raspberry denn kein SPI?

Klar. Die Hardware kann auch DMA, das übliche Linux kann aber nur 
Interrupt-Mode. Dank 16 Worten FIFO sollte das kein Hinderungsgrund 
sein. Einen separaten Treiber für DMA gibts aber wohl auch.

: Bearbeitet durch User
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.