Hallo, ich will am I2C Bus Teilnehmer mit VCC von 3.3V und 5V betreiben. Wie macht man das am besten? Problem ist SDA, was bidirectional arbeiten muss. Ich dachte an eine Z-Diode von 3.3V an SDA zu GND. Könnte aber auch sein, dass wenn das 3.3V Device ein H sendet, dies das 5V Device nicht als H erkennt. Gruß Matthias
Besorge dir die I2C-Spezifikation (www.nxp.com), dort ist eine Beispielschaltung mit zwei FETs, funktioniert einwandfrei.
@ Matthias (Gast) >ich will am I2C Bus Teilnehmer mit VCC von 3.3V und 5V betreiben. Wie >macht man das am besten? Problem ist SDA, was bidirectional arbeiten >muss. Ich dachte an eine Z-Diode von 3.3V an SDA zu GND. Könnte aber >auch sein, dass wenn das 3.3V Device ein H sendet, dies das 5V Device >nicht als H erkennt. Nein. Leg die Pull-ups auf 3,3V und alles ist gut. Siehe Pegelwandler. MfG Falk
Falk B. schrieb: > @ Matthias (Gast) > >>ich will am I2C Bus Teilnehmer mit VCC von 3.3V und 5V betreiben. Wie >>macht man das am besten? Problem ist SDA, was bidirectional arbeiten >>muss. Ich dachte an eine Z-Diode von 3.3V an SDA zu GND. Könnte aber >>auch sein, dass wenn das 3.3V Device ein H sendet, dies das 5V Device >>nicht als H erkennt. > > Nein. Leg die Pull-ups auf 3,3V und alles ist gut. > Siehe Pegelwandler. > > MfG > Falk Hallo, ich muss da nochmal nachhacken! reicht es echt wenn ich SDA und SCL jeweils mit einem Pullupwiderstand (10k) versehe? Grüße Jo
Jo schrieb: > Hallo, ich muss da nochmal nachhacken! > > reicht es echt wenn ich SDA und SCL jeweils mit einem Pullupwiderstand > (10k) versehe? > > Grüße Jo Das hängt davon ab, ob Dein 5V I²C Gerät ein 3.3V an den SCL und SDA Pins zuverlässig als logisch High erkennt. Beispiel DS1307. Das ist ein 5V Chip. Im Datenblatt steht, das er für ein Logic High lediglich 2.2V braucht, also ist er mit 3.3V zufrieden. Wie das bei Deinen I²C Devices aussieht musst Du selbst nachschauen.
Aufreger schrieb: > http://www.nxp.com/acrobat_download/literature/9398/39340011.pdf > > Seite 42 :-), erst dachte ich, es ist der allbekannte running gag...
Jo schrieb: > wenn ich SDA und SCL jeweils mit einem Pullupwiderstand (10k) versehe? 10k Pullup gegen 3,3V scheinen mir generell und speziell für ein 5V-Device sehr hochohmig. Woher hast du diese Zahl? http://www.ti.com/lit/an/slva689/slva689.pdf https://electronics.stackexchange.com/questions/239234/i2c-ideal-pull-up-resistor-calculation
Jo schrieb: > reicht es echt wenn ich SDA und SCL jeweils mit einem Pullupwiderstand > (10k) versehe? Google: i2c pegelwandler mosfet Erster Treffer: Beitrag "Re: I2C Spannung von kleiner 5V auf 5V mit NMOSFET wandeln" https://www.reichelt.de/mosfet-n-ch-20v-1-2a-0-54w-sot-23-irlml-2402-p108736.html?r=1 Es gibt auch I2C - ICs zum Pegelwandeln. Die MOSFET-Lösung ist zu 100% in Ordnung und billiger als ein entsprechendes IC, nimmt aber etwas mehr Platz ein. mfg Klaus
Falk B. schrieb: > Nein. Leg die Pull-ups auf 3,3V und alles ist gut. > Siehe Pegelwandler. Kein guter Rat. Wenn ein 5V-Bauteil dabei ist, dass als HIGH-Pegel 0,7*VCC spezifiziert hat, funktioniert es nur meistens. Denn 0,7*5V = 3,5V. Und nein, das ist nicht exotisch... Das geht dann beim Prototypen problemlos, in der Serie fallen dann einige Geräte mit "unerklärlichen" Fehlern aus. Hat ein ehemaliger Kollege von mir schon ausprobiert. Das war teuer. Sehr teuer.
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.