Forum: Mikrocontroller und Digitale Elektronik Pegelwandler 3,3-5V an I2C


von PePo (Gast)


Lesenswert?

Hallo Leute,
wir wollen 3,3V-Geräte über einen Pegelwandler (MOD-1003 von 'embedded 
adventures) an einem 5V-AVR betreiben (I2C/TWI). Eines dieser Geräte 
funktioniert (ohne Probleme?) direkt am 5V-I2C-Bus. I2C-start 
funktioniert und er bekommt ein ACK. Hinter dem Pegelwandler 
funktioniert das aber nicht. Wir haben das mit einem logic-level-sniffer 
überprüft, die Übersetzung scheint zu funktionieren (sieht zumindest in 
der Grafik gleich aus). Anfangs hatten wir einen zu hohen Low-Pegel 
vermutet und pull-downs an SDA und SCL gelegt, aber es gab keine 
Veränderung (immer ein NACK).
So, wir sind etwas überfragt, die Pegel scheinen zu stimmen, der 
Pegelwandler scheint auch korrekt zu 'übersetzen', zumindest ein Gerät 
ist über die 5V-Seite ansprechbar und antwortet auch, aber eben nicht 
hinter dem Pegelwandler. Woran kann das liegen?

von Klaus H. (Firma: HELMGENS Engineering LLC) (klaus_ethiopia)


Lesenswert?

Hallo PePo,

ich kenne den Pegelwandler jetzt nicht und kann auch kein Datenblatt 
finden.
Aber ist der Bidirectional und wenn ja - "Auto-Bidirectional"???
Ich hatte mal einen von TI, der hatte einen Eingan, mit dem man die 
Richtung steuern konnte/musste....

LG aus Addis Ababa

Klaus

von Klaus H. (Firma: HELMGENS Engineering LLC) (klaus_ethiopia)


Lesenswert?

...einen hab ich noch....

Hast Du mal das Timing geprueft....lege mal "beide Seiten" uebereinander 
am Logic-Analyzer...
Also Primaere Seite 2 Kanaele und Sekundaere Seite 2 weitere Kanaele und 
dann schau mal....

sind dort Verzoegerungen? Beides pruefen SDA und SCK....


Und abermals einen LG aus Addis

von gaast (Gast)


Lesenswert?

Oszi anhängen.

von Klaus (Gast)


Lesenswert?

Man könnte ohne Pegelwandler auskommen. Wenn ich die Anforderung richtig 
verstehe, sind alle Slaves 3,3V Geräte. Nur der AVR liegt an 5V. Wenn 
seine Eingänge auch bei der Verwendung mit I2C TTL kompatibel sind, 
sollten sie ein High bei 2,4V erkennen. Man könnte also die Pullups von 
SDA und SCL auf 3,3V legen und der Bus sollte ohne Pegelwandler 
funktionieren.

MfG Klaus

von PePo (Gast)


Angehängte Dateien:

Lesenswert?

Vielen Dank für die Anregungen!
- Pegelwandler ist bidirektional und bringt auch gleich 3,3V mit
http://www.embeddedadventures.com/datasheets/MOD-1003_hw_v1_1.pdf
laut Datenblatt: anschließen und um nichts weiter kümmern (mmhhh..)
- Oszi wäre die nächste Anschaffung
- Pegel liegen übereinander (s. Anhang, vielleicht seht Ihr da mehr als 
wir), so timing scheint zu stimmen

Wir haben ein bißchen Code gebastelt, womit er alle I2C Adressen 
nacheinander abfragt. Manchmal erkennt er auch einen oder zwei der sechs 
Adressen. Aber das ist völlig wahllos.

- ohne level shifter wird das wohl schwierig, da wir auch noch ein 5V 
Gerät am selben Bus betreiben wollen; aber wir wären erst mal froh, wenn 
wir das eine 3,3V Gerät zum Antworten bringen.

Freundlichst PePo

von Michael L. (michaelx)


Lesenswert?

Da braucht es doch keinen Oszi! Man sollte sich schon erst mal klar 
machen, wie der I2C-Bus funktioniert, statt einfach irgendeinen 
Pegelwandler in die Schaltung zu fummeln.

von Klaus (Gast)


Lesenswert?

PePo schrieb:
> - ohne level shifter wird das wohl schwierig, da wir auch noch ein 5V
> Gerät am selben Bus betreiben wollen

Wenn auch das ein High bei weniger als 3V erkennt, sollte auch das 
gehen. Bei vielen Busteilnehmern sollte man die Pullups an die untere 
Grenze dimensionieren.

MfG Klaus

von PePo (Gast)


Lesenswert?

Hallo,
der Pegelwandler war das Problem. Wenn der -- egal auf welchem der 4 
Kanäle -- Kontakt mit SCLK hat, bringt er den Bus durcheinander. Egal, 
ob da ein 3,3V Gerät dran ist oder SDA angeschlossen ist oder nicht. Wir 
nutzen den nun als Konstantspannungsquelle und die Geräte laufen auch 
alle am Bus.
Vielen Dank noch mal für die Anregungen!
MfG

von Martin (Gast)


Lesenswert?

Hallo,

habe gerade die gleiche Problematik (5V Atmega + 3,3V Sensor) und bin 
dabei auf dieses Bild gestoßen. Funktioniert das wirklich so einfach?

http://i.stack.imgur.com/Ws0Ta.png

von  Gast (Gast)


Lesenswert?

Hm,


mach doch sowas:

www.nxp.com/documents/application_note/AN10441.pdf

mfg
Gast

von 5V ist tot (Gast)


Lesenswert?

Martin schrieb:
> Funktioniert das wirklich so einfach?
Kann es, muss es aber nicht. Die Input High Voltage muss laut Datenblatt 
min 0,7 Vcc sein. 0,7 * 5V = 3,5V.

Versorg den Mega mit 3,3V und gut ist.

von Philipp K. (philipp_k59)


Lesenswert?

Datasheet Ausschnitt:

the TXB0104 should not be used in applications such as I2C or 1-Wire 
where an open-drain driver is connected on the bidirectional data.

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.