I2C: 3.3V und 5V Geräte ohne Pegelverschiebung am 3.3V-Bus?

12

Brauche ich wirklich einen Level-Shifter, wenn ich 5-V-Geräte an einem I2C-Bus mit Pull-ups auf 3,3 V verwende? Nach meinem Verständnis ziehen die Geräte die Leitungen (SDA, SCL) nur nach unten (nach Masse) und leiten niemals ihre Versorgungsspannung zum Bus. Daher sehe ich keinen Grund für einen Level-Shifter, solange alle Geräte die Spannung von den Pull-ups (3,3 V) als logisch hoch erkennen. Dies sollte bei Geräten mit 5V als Versorgung der Fall sein.

In meinem Fall habe ich einen IC, dessen Eingänge als Master nicht 5V-tolerant sind, und ich könnte meine Slaves mit 3,3V versorgen, aber die Verwendung von 5V ist in meiner Schaltung einfacher und ermöglicht höhere (interne) Taktraten für die Slaves.

Jannis
quelle
2
Zusammenfassend lässt sich sagen: - Bei Verwendung von Geräten mit 5 V als Vdd an einem I2C-Bus mit Pull-ups auf 3,3 V ist kein Chip gefährdet. - Je nach Toleranzen, internem Chip-Design, ...
Jannis
2
Richtig - keine Beschädigungsgefahr, nur keine Garantie für korrekten Betrieb.
Adam Lawrence

Antworten:

15

Nach der Version 4 der - Spezifikationich2C ,

"Aufgrund der Vielzahl von Geräten unterschiedlicher Technologie (CMOS, NMOS, Bipolar), die an den I2C-Bus angeschlossen werden können, sind die Pegel der logischen '0' (LOW) und '1' (HIGH) nicht festgelegt und hängen davon ab Der zugehörige VDD-Pegel beträgt 30% und 70% des VDD-Eingangsreferenzpegels, VIL 0,3VDD und VIH 0,7VDD (siehe Abbildung 38, Zeitdiagramm) VIH = 3,0 V, aber alle neuen Geräte erfordern diese 30% / 70% -Spezifikation. Siehe Abschnitt 6 für elektrische Spezifikationen. " (Seite 9)

Tiefer in der Spezifikation werden Sie sehen, dass diese die minimale logische Hochspannung ist:0,7×VDD

Auszug aus NXP I2C spec rev.  4

Für Ihr 5V-System:

0,7×5V=3.5V

0,3×5V=1.5V

0,7×VDD

Ihre Laufleistung kann variieren, aber es ist immer am besten, wenn Sie die Spezifikationen einhalten, wo immer dies möglich ist ...

Adam Lawrence
quelle
Danke für die Bereinigung stevenvh. Ich habe gestern gehetzt.
Adam Lawrence
11

Die Antwort von Cees ist falsch, insbesondere das "immer" und "jede". Mikrocontroller-E / A benötigen möglicherweise mindestens 0,6 Vdd für einen hohen Pegel, andere mindestens 0,7 Vdd, und Madmanguruman gibt an, dass dies der Standard für I2C ist. 0,7 Vdd sind 3,5 V bei einer 5 V-Versorgung, daher sind 3,3 V bereits zu niedrig.

Aber es ist noch schlimmer. Spannungsregler haben häufig eine Toleranz von 5% für ihre Nennausgangsspannung, so dass im schlimmsten Fall 5,25 V und dann 0,7 Vdd 3,675 V betragen können. Minimaler Eingang für einen hohen Pegel. Wenn die 3,3 V eine negative Toleranz von 5% haben, werden 3,3 V zu 3,135 V. Unter Berücksichtigung von Toleranzen kann der Eingang durchaus eine halbe Volt zu niedrig sein oder 15%.

So,

Daher sehe ich keinen Grund für einen Level-Shifter, solange alle Geräte die Spannung von den Pull-ups (3,3 V) als logisch hoch erkennen. Dies sollte bei Geräten mit 5V als Versorgung der Fall sein.

ist eine vorzeitige Schlussfolgerung. Überprüfen Sie immer die Datenblätter und führen Sie die Berechnung durch.

stevenvh
quelle
-1

Ich habe das Gefühl, dass die anderen Antworten Jannis 'Frage nicht wirklich beantworteten. Er fragte nach 5-V-Geräten an einem 3,3-V-Bus (vermutlich 3,3-V-MCU). Ich bin damit einverstanden, dass es in Ordnung ist, die Klimmzüge mit 3,3 V zu verbinden, z. B. sicher für das Master-Gerät, da die SDA / SCL-Stifte nur heruntergezogen werden, wie er sagte. Beachten Sie, dass die Slaves und der Master eine gemeinsame Erdung (Vss-Pins-Äquipotential) aufweisen müssen, um die MCU vor Überspannung zu schützen, aber dies würde wahrscheinlich sowieso der Fall sein. Jannis 'Methode sollte also funktionieren, ohne einen Level-Shifter.

DavidW_10MI
quelle
2
Herzlich willkommen!! Ich habe festgestellt, dass Sie ein neuer Mitwirkender sind. Vielleicht haben Sie nicht bemerkt, dass Sie eine Antwort auf eine Frage geben, die älter als sechs Jahre ist. Das System wirft ständig alte Fragen auf, damit diese überarbeitet werden. Denken Sie daran.
Edgar Brown