Habe mal eine allgemeine Frage, nicht direkt auf ein bestimmtes Bauteil bezogen.
Wie muss man die I2C Schaltung schalten wenn ein Master der mit 5V läuft mit einem Slave kommunizieren soll der mit 3.3 V läuft ?
Habe mal eine allgemeine Frage, nicht direkt auf ein bestimmtes Bauteil bezogen.
Wie muss man die I2C Schaltung schalten wenn ein Master der mit 5V läuft mit einem Slave kommunizieren soll der mit 3.3 V läuft ?
Hi,
manche Treiber können trotz 3,3V Vcc 5V Pegel vertragen so wie hier. http://focus.ti.com/lit/ds/symlink/am26lv32.pdf
Gut !
Aber wie löst man das Problem wenn der eine 5V Vcc hat und der andere 3.3V Vcc, wobei der letztere leider nur 3.3V Pegel vertragen kann ?
Hi,
war jetzt mal etwas faul aber vielleicht hilft dir das weiter.
http://www.mikrocontroller.net/articles/Pegelwandler#I2C-Bus:_gemeinsam_3.3V_und_5V
Danke,
Logic Level Converter:
Ich denke das ist eine brauchbare Lösung !
Nein, den Pegelwandler kannst du nicht verwenden da das I2C interface mit Open collektor Ausgängen arbeitet.
grüße Uwe
Hallo uwefed,
kennst Du den vielleicht die korrekte Lösung ?
Der erste Anlauf mit Google bringt sofort die immer gute Quelle "mikrocontroller.net" hoch: Pegelwandler – Mikrocontroller.net
Udo, die Seite hatte big-maec schon aufgezeigt.
Grüße Uwe
Ups, richtig. Da frage ich mich aber wieso Megaionstorm noch frägt. Auf der Seite steht schon alles.
PCA 9515 D:
http://www.reichelt.de/?ARTICLE=70037;PROVID=2028
I2C Puffer mit Pegelwandlung. Der PCA9515 ist ein I2C-Bus Repeater, welcher I2C Busse mit verschiedenen Spannungen isoliert. Verfügbar bei Reichelt und DigiKey.
Hallo Megaionstorm
Der im Thread weiter oben erwähnte Sparkfun-Levelshifter implementiert genau dieses Design - wie auch eine Reihe anderer Produkte. Beim Sparkfun-Levelshifter sind auch noch ein paar zusätzliche Spannungsteiler drauf, die man aber für's I2C-levelshifting nicht braucht. Anbei ein kleines Photo, welches den prinzipiellen Aufbau zeigt. Der Levelshifter ist das kleine orange Board; der Rest ist ein Pull-Down-Spannungsregler, um aus den 5V des Arduinos 3.3V zu machen. An den Levelshifter werden eigentlich nur die ein- bzw. ausgehenden I2C-Leitungen sowie die LV ("LowVoltage" in der Regel 3.3V) und HV ("HighVoltage" in der Regel 5V) angelegt, der Rest bleibt unbeschaltet. Die Masseleitungen müssen natürlich auch verbunden sein, das wird bei der Schaltung unten durch den Pull-Down-Spannungsregler erledigt. Es ist keine direkte Masseverbindung zum Levelshifter erforderlich!
