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.