Forum: Mikrocontroller und Digitale Elektronik Komisches Verhalten I2C-Bus


von Oz z. (ozzy)


Lesenswert?

Moin,
ich bastel gerade mit einem gumstix-Board rum, und probiere den I2C-Bus 
zum Laufen zu kriegen, um einen Slave auszulesen. Irgendwie wollte das 
die ganze Zeit nicht funktionieren, obwohl das Start und das Senden der 
Slave-Adresse im Logic-Analyser gar nicht schlecht aussah.
Heute habe ich zum ersten Mal ein Oszi dran gehängt, um wirklich mal die 
Pegel zu überprüfen. Das gumstix-Board hat Pull-ups auf dem Board (4k7), 
jedoch nur einen 1,8V Ausgangslevel. Der Sensor, den ich verwenden 
möchte, braucht aber 3,3V. Dafür habe ich einen Levelshifter eingesetzt 
(P82B96). Dieser Bekommt 3,3V Versorgungsspannung und hat auf der 3,3V 
Seite Pull-Ups (5k6) gegen die 3,3V.

Was man jetzt jedoch im Skope sieht (auf der 1,8V Leitung), ist, dass am 
Ende des Sendens der Slave-Adresse, der Bus (SCL und SDA) auf ca. 0,9V 
geht, also genau zwischen den Pegeln. Nehme ich den Slave ab, dann sieht 
alles richtig aus. Der Slave funktioniert allerdings an anderen System 
ohne Probleme, den LevelShifter habe ich auch in anderen Projekten im 
Einsatz (nur nicht mit 1,8V, was aber nach dem Datenblatt kein Problem 
darstellen sollte...).

Könnt Ihr Euch einen triftigen Grund vorstellen, was da am Ende warum 
mit den beiden Leitungen passiert?

Vielen Dank für Eure Hilfe,
Ozzy
von Ballermann (Gast)


Lesenswert?

Kann mich ja irren, aber ist da ein Levelshifter so geeignet dafür?

Durch die 3,3V Pullups legt der ja an der 1,8V Seite relativ niederohmig 
(Ausgangswiderstand des Levelshifters) die 1,8V an. Das heißt auf der 
Seite sind die Pullups ja eigentlich nutzlos.
Wenn dann der uC versucht den Pegel runter zu ziehen knallt es im ersten 
Moment bis die Latenzzeit vorbei ist und die Buffer umgeschaltet werden 
(vorausgesetzt der uC bekommt den Ausgang des Levelshifters 
runtergeknüppelt).

Schau mal z.B. da:
http://www.mikrocontroller.net/articles/Pegelwandler#I2C-Bus:_gemeinsam_3.3V_und_5V

Grüße
von Oz z. (ozzy)


Lesenswert?

Moin, wenn nicht dafür, wofür ist ein Levelshifter dann geeignet?
Könnte höchstens noch mal den LTC1555 ausprobieren, da steht zumindest 
in dem Artikel, dass der auch für 1,8V geeignet ist...
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.