PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Software I2C



filth
20.06.2009, 14:13
Hallo,

ich muss zwei Sensoren ansprechen, die jeweils eine feste Adresse haben. Die Kommunikation an sich klappt, aber ich habe Probleme beide Sensoren anzusprechen.

Ist es zur Laufzeit nicht mehr möglich, die SDA und SDL Pins neu zu belegen?
Sprich in etwa:

Config Sdl =PortD.1
...
code
...
Config Sdl = PortD.2

Oder komme ich um einen I2C Mux nicht rum?

PicNick
20.06.2009, 14:21
Umdefinieren geht (bei Bascom-Soft-I2C) nicht.

Normalerweise hängen aber doch beide Sensoren an der gleichen I2c-Strippe und werden durch die unterschiedliche Adresse angesprochen.

Oder hast du zwei Sensoren mit der gleichen Adresse, die man nicht ändern kann ? (ungewöhnlich)

filth
20.06.2009, 14:29
Oder hast du zwei Sensoren mit der gleichen Adresse, die man nicht ändern kann ? (ungewöhnlich)

Ja das ist genau der Fall, daher hängen beide Sensoren an unterschiedlichen Pins, damit ich die ansprechen kann.

Sprich die verbleibenden Möglichkeiten sind
a) Software-I2C
b) I2C Mux
c) Versorgungsspannung eines Sensors abschalten

Wenn ich c) umsetzen will - würde es mit dem 4052N gehen, so dass ich über den MUX jeweils die Versorgungsspannung zu und abschalte?

stefan_Z
20.06.2009, 15:14
Nimm direkt nen I2C Mux-Chip...
Dann hast du die Interrupts und vor allem eine konsistente Bus-Architektur.
VDD ausschalten kann bei Sensoren sicher zu Ungenauigkeiten, bzw. Verzögerungen Führen.
Der PCA9545AD ist z.B. ein 4xMux mit Interrupt - kostet auch nicht die Welt und ist einfach anzusteuern.

filth
20.06.2009, 15:41
Danke für den Tipp. Gibt es den eigentlich auch als DIL?