Forum: Mikrocontroller und Digitale Elektronik chip select Leitung über I2C-Expander


von Matthias S. (mat-sche)


Lesenswert?

Moin liebe Forumsmitglieder,

ne kurze Frage zum Thema ESP8286 etc. und angeschlossener 
SPI-Peripherie:
ist es möglich und sinnvoll über ein I2C Expander bei mangelnden Ports 
an einem Controller die chip select Leitung darüber zu realisieren?
Ich weiß das der SPI Bus um einiges schneller ist als der I2C-Bus.
Welche Alternativen gibt es, wie löst Ihr das Problem und habt Ihr evtl. 
einige Beispiele?

Vielen Dank in die Runde!
mat-sche

von S. R. (svenska)


Lesenswert?

Warum soll das nicht gehen?

Du überträgst ja nicht die Daten über den langsamen I2C-Bus, sondern nur 
das Framing. Je nach SPI-Gerät (also wieviele Daten du pro CS-Toggle 
schickst) wird das System entweder viel oder fast garnicht langsamer.

Ansonsten kannst du einen zweiten (SPI-)Bus für die Chipselects nehmen 
und dort ein Shiftregister anklemmen. Oder irgendwelche Pins doppelt 
belegen und Latches anbasteln.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Bei mehr als 3 und weniger als 8 SPI Devices ist evtl. auch ein simpler 
74138 3zu8 Dekoder o.ä. zur Direktanwahl geeignet. Liegen denn da noch 
Gatter brach in deiner Schaltung?

von Matthias S. (mat-sche)


Lesenswert?

Vielen Dank für Eure Antwort!
Für ein kleines Bastelobjekt plane ich einen ESP8266 zu nutzen. Und bei 
Überlegungen für zukünftige Nutzung bin ich eben auf die begrenzte 
Anzahl an Ports gestoßen. Aktuell umgehe ich dies mit den Portexpandern, 
was ist aber wenn ich zukünftig mehrere SPI-Teilnehmer habe. Aus diesem 
Grund die Frage.


S. R. schrieb:
> Du überträgst ja nicht die Daten über den langsamen I2C-Bus, sondern nur
> das Framing. Je nach SPI-Gerät (also wieviele Daten du pro CS-Toggle
> schickst) wird das System entweder viel oder fast garnicht langsamer.

Das hilft mir schon mal weiter. Ist nur die frage, ob es schon jemand 
gemacht hat und ich dazu nen "Leitfaden" finde...

Matthias S. schrieb:
> Bei mehr als 3 und weniger als 8 SPI Devices ist evtl. auch ein simpler
> 74138 3zu8 Dekoder o.ä. zur Direktanwahl geeignet. Liegen denn da noch
> Gatter brach in deiner Schaltung?

Im Moment ist alles Theoretisch :)

Ich werde es zunächst erst einmal mit einem PCF versuchen, wenn die Zeit 
ran ist.

Danke nochmals!

von S. R. (svenska)


Lesenswert?

Matthias S. schrieb:
> Das hilft mir schon mal weiter. Ist nur die frage, ob es schon jemand
> gemacht hat und ich dazu nen "Leitfaden" finde...

Wenn du in der Lage bist, eine LED an dem Pin blinken zu lassen, dann 
bist du auch in der Lage, an dem Pin ein /CS-Signal blinken zu lassen.

Also: Lasse LEDs blinken.

Anmerkung: Nimm für SD-Karten einen eigenen SPI-Bus. Nicht alle 
SD-Karten mögen es, wenn da noch andere Geräte dran hängen - auch, wenn 
sie das im SPI-Modus müssten.

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.