I2C: пристрої 3,3 В і 5 В без переключення рівнів на шині 3,3 В?


12

мені справді потрібен перемикач рівня, якщо я використовую пристрої, що працюють на 5 В, на шині I2C, яка має підтягування до 3,3 В? На моє розуміння, пристрої будуть лише тягнути лінії (SDA, SCL) низькими (до землі) і ніколи не підводити свою напругу до шини. Тому я не бачу причини для перемикання рівня, доки всі пристрої визначають напругу підтягувачів (3,3 В) як логічно високу. Так має бути з пристроями, що використовують 5В як джерело живлення.

У моєму випадку у мене є мікросхема, чиї входи не є 5В-толерантними як майстер, і я міг би мовити своїх рабів з 3,3 В, але використовувати 5 В простіше в моїй схемі і дозволяє більш високі (внутрішні) тактові ставки для рабів.


2
Отже, підводячи підсумки: - Жоден чіп не загрожує при використанні пристроїв з 5 В як Vdd на I2C-шині, використовуючи підтяжки до 3,3 В - Це може бути, а може і не працювати, залежно від допусків, внутрішнього дизайну мікросхем, ...
Янніс

2
Правильно - немає небезпеки пошкодження, просто немає гарантії правильної роботи.
Адам Лоуренс

Відповіді:


15

Відповідно до версії 4 специфікаціїI2C ,

"Через різноманітність різних технологічних пристроїв (CMOS, NMOS, біполярний), які можна підключити до шини I2C, рівні логічних" 0 "(LOW) та" 1 "(HIGH) не фіксуються і залежать від асоційований рівень VDD. Вхідні еталонні рівні встановлюються як 30% та 70% VDD; VIL - 0,3VDD, а VIH - 0,7 VDD. Див. Рис. 38, часова діаграма. Деякі рівні вхідних пристроїв були зафіксовані на VIL = 1,5 В і VIH = 3,0 В, але для всіх нових пристроїв потрібна ця специфікація 30% / 70%. Електричні характеристики див. У розділі 6. " (стор. 9)

Глибше в специфікації, ви побачите, що цей є мінімальною логічною високою напругою:0.7×VDD

витяг із специфікації NXP I2C  4

Для вашої системи 5В:

0.7×5V=3.5V

0.3×5V=1.5V

Для мене підключення 3,3 В виглядає незначним, особливо якщо будь-який з ваших 5В пристроїв використовує "новий" стандарт для логіки ВИСОКИЙ.0.7×VDD

Ваш пробіг може відрізнятися, але завжди краще знаходитися в межах специфікації, де це можливо ...


Дякую за прибирання stevenvh. Я вчора поспішав.
Адам Лоуренс

11

Відповідь Cees невірна, зокрема "завжди" та "будь-яка". Мікроконтролеру вводу / виводу може знадобитися 0,6 Vdd як мінімум для високого рівня, інші мають мінімум 0,7 Vdd, і, як Madmanguruman вказує, що це стандарт для I2C. 0,7 Vdd - це 3,5 В при 5 В джерелі живлення, тому 3,3 В вже занадто мало.

Але це ще гірше. Регулятори напруги часто мають 5% відхилення від номінальної вихідної напруги, тому в гіршому випадку 5 В може бути 5,25 В, а потім 0,7 Вдд стає 3,655 В. Мінімальний вхід для високого рівня. Якщо 3,3 В має від'ємне 5% -не відхилення, то 3,3 В стає 3,135 В. Тож при врахуванні допусків вхід може бути занадто низьким на пів вольта або 15%.

Так,

Тому я не бачу причини для перемикання рівня, доки всі пристрої визначають напругу підтягувачів (3,3 В) як логічно високу. Так має бути з пристроями, що використовують 5В як джерело живлення.

є несвоєчасним висновком. Завжди перевіряйте таблиці та робіть розрахунок.


-1

Я відчуваю, що інші відповіді насправді не відповіли на запитання Янніса. Він запитав про використання 5В пристроїв на шині 3,3 В (імовірно, 3,3 В MCU). Я погоджуюся, що підтягування, пов'язане з 3.3V, буде добре, наприклад, безпечне для головного пристрою, оскільки штифти SDA / SCL будуть лише тягнути вниз, як він згадував. Будьте уважні, що рабам і господареві потрібно буде розділити спільну основу (Vss штифтовий еквіпотенціал), щоб захистити MCU від перенапруги, але це, мабуть, все одно відбудеться. Тож метод Янніса повинен працювати, не змінюючи рівня.


2
Ласкаво просимо !! Я помітив, що ви є новим учасником, тому ви, можливо, не зрозуміли, що ви даєте відповідь на запитання, яке не перевищує шести років. Система постійно задає старі питання, щоб вони були переглянуті, ви повинні пам’ятати про це.
Едгар Браун
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.