www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Gibt es einen MUX mit Busanschluss (I2C) ?


Autor: Martin R. (herki)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Miteinander

Ich leide unter extremer Pinarmut.
Ich habe I2C und auch SPI in der Anwendung.
Leider habe ich voraussichtlich  mind. 8 SPI-Slaves (Zumindest sollte 
ich die Slave-Select-Leitungen bereitstellen).
Jetzt kann ich beim besten Willen nicht 8 Pins für die Slave-Leitungen 
bereitstellen.

Meine Idee:
Über I2C sende ich eine Nachricht an einen MUX mit I2C-Anschluss. Der 
stellt dann die Verbindung "Slave zu uController" her. Danach beginnt 
die normale SPI-Übertragung.

Gibt es vielleicht einen Multiplexer mit I2C-Anschluss oder ist das ein 
völlig abwegiges Denken meinerseits?

Freue mich wie immer über jegliche Hilfe

VG

Martin

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Idee, die Slave-Select-Leitungen mit einem einfachen 74138 und 
drei Steuerleitungen zu erzeugen, missfällt?

Alternativ verwende einen IO-Expander, der am I2C-Bus hängt, der stellt 
Dir weitere I/O-Pins zur Verfügung, die Du als Slave-Select-Leitungen 
verwenden kannst. Ein Beispiel ist der PCF8574.

Autor: Martin R. (herki)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Rufus

Einen normalen MUX hab ich mir auch schon überlegt.
8 Slaves --> 4 Leitungen

Die Lösung I2c-Mux
8 Slaves --> 1 Leitung (I2C wäre ja schon vorhanden)

Das mit dem IO-Expander hört sich sehr gut an. Ist nach kurzem 
überfliegen aber ein bisschen zu langsam.

Ich hab nen LPC2294 auf der einen Seite (läuft mit 60MHz) und der 
Expander hat eine Output-Data-Valid-Time von 4us. Das entspricht einer 
Wartezeit von 240 Takten. Dazu kommt noch die Übertragungszeit des I2C 
von min. 0,1ms. Was wiederum ca. 6000 CPU-Zyklen entspricht.
Gut die CPU kann nebenzu was anderes machen aber das Delay ist einfach 
zu lang.

Ich hoffe ich habe da jetzt keinen Denkfehler drin.

Trotzdem vielen Dank fürs Mitdenken.

VG

Martin

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.
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.

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