Forum: Mikrocontroller und Digitale Elektronik I2C Slaves temporär "taub" schalten


von Barny F. (barny)


Lesenswert?

Ich habe mich bei der Bestellung der Sensoren für ein Projekt verschaut 
und versehentlich AS5600 anstatt AS5600L gekauft.

Das bedeutet ich habe etliche Sensoren die alle mit der selben 
unveränderlichen Adresse am I2C Bus hängen.

Klar könnte ich einen Busmultiplexer verwenden oder die richtigen 
Sensoren kaufen.

Da das Ganze erst einmal nur ein Prototyp wird, um zu schauen ob das so 
funktioniert wie ich es mir vorstelle, möchte ich das Ganze so simpel 
halten wie möglich.

Ich habe mir überlegt ob ich nicht einfach die Slaves die nicht 
angesprochen werden sollen taub schalte indem ich jedem Slave eine 
eigene SCL Leitung spendiere die auf Masse gezogen wird.

Das müsste ohne negative Überraschungen funktionieren. Oder habe ich 
etwas übersehen?

von Achim M. (minifloat)


Lesenswert?

Barny F. schrieb:
> jedem Slave eine eigene SCL Leitung spendiere
> die auf Masse gezogen wird.

Ruhepegel auf SDA und auf SCL ist High-Pegel.

Wenn SDA auf High gehalten wird, gibt es für diesen Slave keine 
Start-Condition. Die folgenden SCL-Pulse sollten dem betreffenden Slave 
dann egal sein.

Alternativ mit z.B. einem '4066 Analogschalter (bidirektional!) beide 
SCA SCL abkoppeln. Braucht Pullups am Master und an jedem Slave. Statt 
4k7 eben jeweils 10k.

mfg mf

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.