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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Matthias S. (mat-sche)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.