I2C: urządzenia 3,3 V i 5 V bez zmiany poziomu na szynie 3.3 V?


12

czy naprawdę potrzebuję mechanizmu zmiany poziomu, jeśli używam urządzeń zasilanych napięciem 5 V na szynie I2C, która ma podciągnięcia do 3,3 V? W moim rozumieniu urządzenia ciągną tylko linie (SDA, SCL) do niskiego poziomu (do masy) i nigdy nie doprowadzą napięcia zasilania do magistrali. Nie widzę więc powodu, by przesuwać poziom, dopóki wszystkie urządzenia wykrywają napięcie z podciągnięć (3,3 V) jako logicznie wysokie. Tak powinno być w przypadku urządzeń wykorzystujących 5 V jako źródło zasilania.

W moim przypadku mam układ scalony, którego wejścia nie są tolerowane jako 5 V jako master i mógłbym zasilać moich slaveów napięciem 3,3 V, ale użycie 5 V jest łatwiejsze w moim obwodzie i pozwala na wyższe (wewnętrzne) częstotliwości taktowania dla urządzeń slave.


2
Podsumowując: - Żaden układ nie jest zagrożony, gdy używasz urządzeń o napięciu 5 V jako Vdd na szynie I2C z podciąganiem do 3,3 V - Może, ale nie musi, w zależności od tolerancji, konstrukcji wewnętrznego układu, ...
Jannis,

2
Prawidłowo - bez niebezpieczeństwa uszkodzenia, po prostu brak gwarancji prawidłowego działania.
Adam Lawrence

Odpowiedzi:


15

I2C

„Ze względu na różnorodność różnych urządzeń technologicznych (CMOS, NMOS, bipolarnych), które można podłączyć do magistrali I2C, poziomy logicznego„ 0 ”(LOW) i„ 1 ”(HIGH) nie są stałe i zależą od powiązany poziom VDD. Poziomy odniesienia wejściowego są ustawione na 30% i 70% VDD; VIL wynosi 0,3 VDD, a VIH wynosi 0,7 VDD. Patrz rysunek 38, schemat czasowy. Niektóre poziomy wejściowe starszych urządzeń zostały ustawione na VIL = 1,5 V i VIH = 3,0 V, ale wszystkie nowe urządzenia wymagają tej specyfikacji 30% / 70%. Dane techniczne podano w rozdziale 6. ” (strona 9)

0.7×VDD

fragment specyfikacji NXP I2C rev.  4

W przypadku systemu 5 V:

0.7×5V=3.5V

0.3×5V=1.5V

0.7×VDD

Twój przebieg może się różnić, ale zawsze najlepiej jest być zgodny ze specyfikacją, tam gdzie to możliwe ...


Dzięki za sprzątanie stevenvh. Śpieszyłem się wczoraj.
Adam Lawrence

11

Odpowiedź Cees jest nieprawidłowa, w szczególności „zawsze” i „jakikolwiek”. Mikrokontrolery I / O mogą wymagać 0,6 Vdd jako minimum dla wysokiego poziomu, inne mają minimum 0,7 Vdd i podobnie jak Madmanguruman wskazuje, że jest to standard dla I2C. 0,7 Vdd wynosi 3,5 V przy zasilaniu 5 V, więc 3,3 V jest już za niskie.

Ale jest jeszcze gorzej. Regulatory napięcia często mają 5% tolerancję na swoje nominalne napięcie wyjściowe, więc w najgorszym przypadku 5 V może wynosić 5,25 V, a następnie 0,7 Vdd staje się 3,675 V. Minimalne napięcie wejściowe dla wysokiego poziomu. Jeśli 3,3 V ma ujemną 5% tolerancję, wówczas 3,3 V staje się 3,135 V. Tak więc przy uwzględnieniu tolerancji sygnał wejściowy może być o pół wolta za niski lub o 15%.

Więc,

Nie widzę więc powodu, by przesuwać poziom, dopóki wszystkie urządzenia wykrywają napięcie z podciągnięć (3,3 V) jako logicznie wysokie. Tak powinno być w przypadku urządzeń wykorzystujących 5 V jako źródło zasilania.

jest przedwczesnym wnioskiem. Zawsze sprawdzaj arkusze danych i wykonuj obliczenia.


-1

Wydaje mi się, że inne odpowiedzi tak naprawdę nie odpowiadały na pytanie Jannisa. Zapytał o użycie urządzeń 5 V na szynie 3,3 V (prawdopodobnie 3,3 V MCU). Zgadzam się, że powiązanie podciągnięć związanych z napięciem 3,3 V będzie w porządku, np. Bezpieczne dla urządzenia nadrzędnego, ponieważ piny SDA / SCL będą się rozkładać tylko, jak wspomniał. Strzeż się, że slave i master będą musieli dzielić wspólną masę (ekwipotencjalne styki Vss), aby chronić MCU przed przepięciem, ale i tak prawdopodobnie tak się stanie. Metoda Jannisa powinna więc działać bez zmiany poziomu.


2
Witamy!! Zauważyłem, że jesteś nowym współpracownikiem, więc być może nie zdałeś sobie sprawy, że udzielasz odpowiedzi na pytanie, które ma więcej niż sześć lat. System stale wysyła stare pytania, aby je poprawić, należy o tym pamiętać.
Edgar Brown,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.