Так что я читал несколько тем здесь и на других форумах. Я понимаю, что существуют различные решения для снижения или повышения напряжения. То, что я обнаружил, - это сдвиговые регистры серии LVC, которые дают постоянный выходной сигнал , MCP1825, который понижает с 5 до 3,3 (и другие версии с различными приращениями) 74LCX245, который будет работать с 2,5 или 3,3 до 5 В, и, возможно, некоторые другие, которые я забыл , Тогда есть готовые платы, такие как преобразователи Sparkfun или этот 8-контактный 8-контактный преобразователь . Но все это только одно направление, или двунаправленное переключение с помощью перемычки.
Как бы я преобразовал напряжения вниз или вверх в обоих направлениях, не требуя выбора булавки.
5--3.3
5--2.5
5--1.8
Спасибо
источник
У Максима есть группа переводчиков логического уровня , большинство из которых являются двунаправленными. Скорость варьируется, самая быстрая поддерживает максимальную скорость передачи данных 100 Мбит / с, что должно охватывать практически все, что вы когда-либо хотели бы делать на уровне хобби. Диапазон напряжений от 0,9 до 5,5 В.
источник
Вы работаете с шиной I2C, верно? Я собираюсь назвать линии на стороне 3.3 В SDA3 и SCL3 ; две линии на стороне 5,0 В SDA5 и SCL5 .
« МОП-транзистор и два резистора»
Как уже указывали todbot и cyphunk, схема «MOSFET и два резистора», описанная в учебном пособии SparkFun «Взаимодействие датчиков», делает то, что вам нужно: логический поток данных симметричен - потоки данных в обоих направлениях на линиях SDA, от от нижней стороны к верхней стороне и, спустя миллисекунды, от верхней стороны к нижней стороне.
Примечание «не будет работать в другом направлении» указывает на то, что схема является физически асимметричной: ваше устройство I²C емкостью 5,0 В должно быть подключено к «верхней стороне», устройство 3,3 В должно быть подключено к «нижней стороне». Поскольку схема физически асимметрична, совершенно очевидно, что она логически симметрична. (Этот учебник связан с примечанием по применению AN97055, в котором показана схема «два полевых МОП-транзистора и два резистора», которая является физически симметричной и, следовательно, очевидно логически симметричной).
Линии, помеченные «TX» на преобразователях SparkFun - как указывалось в оригинальном плакате, - реализуют эту двунаправленную схему «МОП-транзистор и два резистора». Поэтому подключите SDA3 к TX_LV, SDA5 к TX_HV, SCL3 к TX2_LV и SCL5 к TX2_HV.
Затем данные передаются в обоих направлениях: когда ваше устройство нижней стороны управляет контактами SDA3 и SCL3, соответствующие напряжения видны на контактах SDA5 и SCL5 верхней стороны. Через миллисекунды, когда устройство верхнего уровня управляет выводами SDA5 и SCL5, на выводах SDA3 и SCL3 появляются соответствующие напряжения.
(Неправильно, линии, помеченные как «RX» на этой плате преобразователя, будут передавать данные только в направлении высокого напряжения в низкое напряжение.)
Двунаправленный оптоизолятор
Поскольку вы используете I²C, вас также может заинтересовать двунаправленный оптоизолятор для I²C . Схема с двумя оптоизоляторами более дорогая и медленнее, чем схема «МОП-транзистор и два резистора», но она работает, когда на одной стороне есть сигналы, которые колеблются между 0 В и 5,0 В, а на другой стороне есть сигналы, которые колеблются между 500,0 В и 505,0. V.
Схема с двумя оптоизоляторами также полностью физически симметрична - и, следовательно, логически симметрична - не имеет значения, какая сторона является верхней стороной, а какая - нижней.
источник
На одной из наших плат мы используем TXS0104E для переключения между 3,3 В и 5 В на шине I2C (двунаправленная).
источник