Forum: Mikrocontroller und Digitale Elektronik I²C - Adress-Changer?


von Niine (Gast)


Lesenswert?

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

von Georg G. (df2au)


Lesenswert?

Es wäre hilfreich, wenn du uns verraten könntest, um welchen I2C 
Baustein es sich handelt.

von Wolfgang (Gast)


Lesenswert?

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.

von Dennis X. (Gast)


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

I2C Master geht auch leicht in SW (Bit-Banging).
Nimm einfach 2 SW-I2C-Master mit getrennten SDA-Pins, SCL kann gemeinsam 
benutzt werden.

von physiker (Gast)


Lesenswert?

http://www.linear.com/solutions/6895

Aber der Pinzahl nach kommt der wohl nicht in Frage.

von Niine (Gast)


Lesenswert?

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! :-)

von Peter D. (peda)


Lesenswert?

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
von Ludwig (Gast)


Lesenswert?

> 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?

von Jobst Q. (joquis)


Lesenswert?

Nimm einen Umschalter wie TS5A3160 für die SDA Leitung.

von Florian R. (Firma: TU Wien) (frist)


Lesenswert?

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
von Christian M. (Gast)


Lesenswert?


von Niine (Gast)


Lesenswert?

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 :-)

von Sascha_ (Gast)


Lesenswert?

Christian M. schrieb:
> http://electronics.stackexchange.com/questions/980...
>
> 2. Bild
>
> Gruss Chregu

quad bilateral switch...ein analog mux?

von Jobst Q. (joquis)


Lesenswert?

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
Noch kein Account? Hier anmelden.