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?
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
...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
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
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
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.
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
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
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
Hm, mach doch sowas: www.nxp.com/documents/application_note/AN10441.pdf mfg Gast
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.