действительно ли мне нужен переключатель уровня, если я использую устройства с питанием 5 В на шине I2C с подтягиванием до 3,3 В? В моем понимании, устройства будут только тянуть линии (SDA, SCL) на низком уровне (на землю) и никогда не будут подавать свое напряжение питания на шину. Поэтому я не вижу причины для сдвига уровня, если все устройства обнаруживают напряжение от подтягиваний (3,3 В) как логически высокое. Это должно быть в случае устройств, использующих 5 В в качестве источника питания.
В моем случае у меня есть микросхема, входы которой не допускают 5 В, как ведущий, и я мог бы подавать питание на подчиненные 3,3 В, но использование 5 В проще в моей схеме и позволяет более высокие (внутренние) тактовые частоты для подчиненных.
voltage
i2c
level-shifting
Jannis
источник
источник
Ответы:
Согласно версии 4 спецификацииI2C ,
Более подробно в спецификации вы увидите, что это является минимальным логическим высоким напряжением:0.7×VDD
Для вашей системы 5V:
На мой взгляд, напряжение 3,3 В выглядит незначительным, особенно если любое из ваших 5-вольтовых устройств использует «новый» стандарт для логики ВЫСОКИЙ.0.7×VDD
Ваш пробег может варьироваться, но всегда лучше быть в рамках спецификации, где это возможно ...
источник
Неправильный ответ Cees, в частности, «всегда» и «любой». Для ввода / вывода микроконтроллера может потребоваться минимум 0,6 Vdd для высокого уровня, для других - минимум 0,7 Vdd, и, как Madmanguruman указывает, что это стандарт для I2C. 0,7 Vdd - это 3,5 В при напряжении 5 В, поэтому 3,3 В уже слишком мало.
Но это еще хуже. Регуляторы напряжения часто имеют допуск 5% на их номинальное выходное напряжение, поэтому в худшем случае 5 В может составлять 5,25 В, а затем 0,7 Вдд становится 3,675 В. Минимальный вход для высокого уровня. Если 3,3 В имеет отрицательный допуск 5%, тогда 3,3 В становится 3,135 В. Таким образом, с учетом допусков входной сигнал может быть на половину вольта слишком низким или 15%.
Так,
это несвоевременное заключение. Всегда проверяйте таблицы данных и делайте расчет.
источник
Я чувствую, что другие ответы на самом деле не отвечали на вопрос Янниса. Он спросил об использовании 5В устройств на шине 3,3В (предположительно 3,3В MCU). Я согласен, что с подтягиванием, связанным с 3,3 В, будет все в порядке, например, безопасным для ведущего устройства, поскольку выводы SDA / SCL будут только опускаться, как он упомянул. Имейте в виду, что ведомые устройства и ведущий должны будут иметь общую точку соприкосновения (эквипотенциалы Vss-контактов), чтобы защитить MCU от перенапряжения, но, вероятно, это все равно будет иметь место. Так что метод Янниса должен работать без сдвига уровня.
источник