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


von Martin (Firma: Angestellt) (herki)


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

von Rufus Τ. F. (rufus) Benutzerseite


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.

von Martin (Firma: Angestellt) (herki)


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

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.