Hallo, ich benötige für eine Schaltung zweimal den selben Baustein. Dieser hat eine feste I2C Adresse. Man kann sie nicht ändern. Nun würde ich gern beide auslesen und frage mich, ob es einen IC gibt, welcher eine eigene Adresse hat und man diesen also vor den eigentlichen Baustein schaltet und er somit virtuell eine andere Adresse hat? Also so eine Art Pförtner/Zwischenhändler :-) Es gibt ja diese I2C Multiplexer, aber ich habe total wenig Platz und kann nicht noch einen IC mit 10 Pins hinzufügen. Vielen Dank! Niine
Es wäre hilfreich, wenn du uns verraten könntest, um welchen I2C Baustein es sich handelt.
Niine schrieb: > Es gibt ja diese I2C Multiplexer, aber ich habe total wenig Platz und > kann nicht noch einen IC mit 10 Pins hinzufügen. Wo kneift es denn, i.e. wie sieht dein bisheriger Aufbau aus und was wäre noch an Luft vorhanden. Für einen 2-1-Multiplexer braucht man keine 10 Pins.
Die SCL Leitung nur auf einem der beiden ICs aktiv schalten und dafür sorgen, dass auf dem anderen kein START generiert wird. Dann sollte der zwar einfach mithören, sich aber nicht aktiv auf den Bus schalten. Das ganze ist natürlich ein absoluter Hack, könnte jedoch funktionieren.
I2C Master geht auch leicht in SW (Bit-Banging). Nimm einfach 2 SW-I2C-Master mit getrennten SDA-Pins, SCL kann gemeinsam benutzt werden.
Georg G. schrieb: > Es wäre hilfreich, wenn du uns verraten könntest, um welchen I2C > Baustein es sich handelt. Es geht um den VEML7700 (http://www.vishay.com/docs/84286/veml7700.pdf) Dennis X. schrieb: > Die SCL Leitung nur auf einem der beiden ICs aktiv schalten und > dafür > sorgen, dass auf dem anderen kein START generiert wird. Peter D. schrieb: > I2C Master geht auch leicht in SW (Bit-Banging). Ah naja, es ist halt nicht so sauber. Ich würde gern versuchen möglichst den Aufwand klein zu halten. physiker schrieb: > http://www.linear.com/solutions/6895 > Aber der Pinzahl nach kommt der wohl nicht in Frage. Das ist genau sowas was ich meinte :-) Aber 10 Pin, ohje. Irgendwas mit 6 Pins als 1-Channel gibt es nicht, oder? Danke für eure Antworten! :-)
Niine schrieb: > Ah naja, es ist halt nicht so sauber. Was soll daran nicht sauber sein? Der einzige Nachteil, es geht nicht im Hintergrund als Interrupt. Aber Programme bestehen ja in der Regel nicht aus 90% I2C-Traffic. Ein großer Vorteil ist dafür, es kann sich nicht verklemmen. Niine schrieb: > Ich würde gern versuchen möglichst > den Aufwand klein zu halten. Der Aufwand ist sogar kleiner (Codesize) als bei HW-I2C, da die Zwischenschicht HW-Statemaschine entfällt.
:
Bearbeitet durch User
> Nimm einfach 2 SW-I2C-Master mit getrennten SDA-Pins, SCL kann gemeinsam > benutzt werden. Kann er nicht genauso gut jeweils eine der SDA-Leitungen per Transistor abschalten?
Hi, es gäbe auch nochAddress Translator wie den Linear LTC4316, ist aber eine relativ teure Lösung. Gibts als 3x3mm² 10pin DFN. Grüße Flo
:
Bearbeitet durch User
Jobst Q. schrieb: > Nimm einen Umschalter wie TS5A3160 für die SDA Leitung. Danke, ich denk ich nehm so einen Umschalter oder den Translater von Physiker. Eine Frage habe ich noch: Atmega328 (5V für 16Mhz) ist Master, MPU6050 (3.3V) ist Slave und zwei von den VEML7700 (3.3V). Wie passe ich denn am elegantesten die Pegel vom Atmega an? Aktuell habe ich einen Levelshifter in Planung. Vielen Dank :-)
Christian M. schrieb: > http://electronics.stackexchange.com/questions/980... > > 2. Bild > > Gruss Chregu quad bilateral switch...ein analog mux?
Sascha_ schrieb: > quad bilateral switch...ein analog mux? Ja, den 4066 kann man auch als Analogschalter verwenden. Finktioniert aber problemlos auch bei digitalen Signalen.
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.