Hallo, ich habe vor mehrere i2c basierte Module an einen Master anzuschließen. Alle module sollen die gleiche Adresse haben, um Senderoutinen vereinfachen zu können. Nun will ich die Auswahl, welches von den Modulen angesprochen wird, mittels eines analog switches realsieren. I hatte vor den 74HC4316 zu benutzen. Dort kann i mittels Enable-Pins festlegen welche Ausgänge aktiv geschalten werden und welche nicht. Am Eingang sollte das SCL Signal der i2c busses liegen. Nun meine Frage: Kann ich den SDA Strang direkt an die Slaves legen und nur den SCL durch die Analogschalter switchen oder ergeben sich dadurch an den anderen Slave unbestimmte Zustände? Wenn dies nicht funzt, würde i beide Leitungen(SDA,SCL) switchen wollen. Hat jemand Erfahrung, ob dieser Baustein das problemlos kann? PS: Die Variante der Erweiterung des i2c Busses mittels Muxers wie z.B. Maxim 4562 habe ich schon realisiert und die läuft auch. Nur sollen jetzt beliebig viele Module angeschlossen werden und die Auswahl trotzdem simpel bleiben. Vielen Dank im Voraus. Tom
@ Thomas (Gast) >Hallo, ich habe vor mehrere i2c basierte Module an einen Master >anzuschließen. Alle module sollen die gleiche Adresse haben, um >Kann ich den SDA Strang direkt an die Slaves legen und nur den SCL durch >die Analogschalter switchen oder ergeben sich dadurch an den anderen Nein, das geht nicht. >Hat jemand Erfahrung, ob dieser Baustein das problemlos kann? Warum nimmst du nicht richtige I2C-MUXe? Z.B. PCA9594, gibts auch bei Reichelt. Damit kannst du bis zu 32 I2C Slaves mit gleicher Adresse ansprechen. >jetzt beliebig viele Module angeschlossen werden und die Auswahl >trotzdem simpel bleiben. Beliebig viele wird eher schwer, schliesslich müssen die MUXe auch irgendwie angesteuert werden. MFg Falk
Aber es sit doch Sinnlos nur weils die Programmierung (angeblich) vereinfacht, alle Adressen gleich zu wählen...
Hallo, Danke für die schnellen Antworten, es ist nicht sinnlos meiner Meinung nach, weil ich die Module austauschbar machen möchte. Es soll also jedes Modul an jedem Anschluss ansteckbar sein und dort auch genauso funktionieren wie an jedem anderen. Deshalb soll die Unterscheidung nicht mit der Adresse realisiert werden, sondern durch Vorauswahl. Das Ansprechen jeden einzelnen Moduls ist schon fertig. Dort befinden sich hinter einem i2c Muxer mehrere Digitalpotentiometer die LED Treiber steuern. Also die Ansteuerung der Digi-Potis läuft. Jetzt geht es darum dieses Modul zu vervielfältigen und austauschbar zu machen. Für andere Tips bin dankbar.
Ich würde die Adresspins des Moduls mit auf die Steckverbindung legen. Der Modulsteckplatz kann dann die Adresse vorgeben. Jeder Modulsteckplatz setzt die Adresse beim Einstecken über die Adresspins des Moduls. Gruß Flo
@ Thomas (Gast) >es ist nicht sinnlos meiner Meinung nach, weil ich die Module >austauschbar machen möchte. Es soll also jedes Modul an jedem Anschluss >ansteckbar sein und dort auch genauso funktionieren wie an jedem >Für andere Tips bin dankbar. Nun, man kann an jedem Steckplatz mit ein paar freien Pins eine Adresse codieren, welche direkt an die Adresspins vopm I2C Poti geht. Damit ist auch ein eindeutiger Bezug zim Steckplatz definiert. Kostet nur drei oder vier Pins. MfG Falk
hattet ihr euch verabredet mit dieser Antwort? Die Idee ist gut, gefällt mir, Danke. Nur ein Problem löst sie noch nicht, die Erweiterbarkeit auf mehr als 4 an einem Bus. Die Austauschbarkeit wäre damit gut erreicht, aber wenn i diese Vier Anschlüsse nun erweitern will auf 8 oder 16 gehts damit auch nicht. Dann wohl mit den i2c Switches oder den analogen switches oder habe ihr da auch noch ne andere Idee?
@ Thomas (Gast) > Nur ein Problem löst sie noch nicht, die Erweiterbarkeit auf mehr als 4 >an einem Bus. Die Austauschbarkeit wäre damit gut erreicht, aber wenn i Also ich kann mit drei binären Signalen 8 verschiedene Zustände kodieren, 2^3=8 . . . >diese Vier Anschlüsse nun erweitern will auf 8 oder 16 gehts damit auch >nicht. Dann wohl mit den i2c Switches oder den analogen switches oder Bei mehr als acht muss ein I2C Switch her. Aber mit einem 4-Kanal I2C Switch kannst du dann 32 Slaves ansprechen. Und da man acht I2C Swiches direkt an einen Bus hängen kann, wären dann bis zu 8*32 = 256 Slaves ansprechbar. Reicht das fürs erste? MFg Falk
danke für die Erklärung der 2-er potenz. :-) Also du meinst die Variante mit den Philips i2c Switches. Ja damit lässt es sich in Kombination mit den fest gelegten Adressen über die Steckkontakte lösen. Ich werde mir die Sache mal genau anschauen und wohl beide Varianten mal austesten. Danke für den Tip mit den Steckern.. mfg tom
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.