chip select Leitung über I2C-Expander

OP #6457663
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
#6457689
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.
OP #6457706
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!
#6458336
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.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.