Paso bidireccional hacia arriba y hacia abajo (3.3v <-> 5, etc.)

10

Así que he estado leyendo algunos hilos aquí y en otros foros. Entiendo que hay varias soluciones para bajar o subir un voltaje. Lo que he encontrado son las reglas de cambio de la serie LVC que ofrecen un rendimiento constante, MCP1825 , que bajará de 5 a 3.3 (y otras versiones que tienen diferentes incrementos), el 74LCX245, que pasará de 2.5 o 3.3 a 5v y quizás algunos otros que estoy olvidando . Luego están las tarjetas preparadas, como los convertidores Sparkfun o este convertidor de 8 pines a 8 pines . Pero todos estos son de una sola dirección, o bidireccionales conmutados por un puente.

¿Cómo convertiría los voltajes hacia abajo o hacia arriba en ambas direcciones sin requerir una selección de pin?

5--3.3

5--2.5

5--1.8

Gracias

cyphunk
fuente

Respuestas:

7

Sparkfun tiene un tutorial sobre la interfaz del sensor / conversión de nivel lógico que podría serle útil.

todbot
fuente
1
Gracias. resumen del tutorial: * Resistencia en línea . Unidireccional Reducción solamente. - reduce la corriente, los diodos de sujeción de E / S de IC pueden limitar la entrada máxima. * Resistencias en serie unidireccionales. Descenso solo, pero granular. * Diodo unidireccional. Descenso Más seguro Alto de 5v bloques Diodo; El lado de 3.3v luego se ata a alto. Pero, si invierte la configuración del diodo, ¿no podría también intensificar? * Mosfet bidireccional. Reducción o intensificación. De los comentarios: * Ejemplo de aislamiento óptico : 4N25. alta corriente. * Ejemplo de diodo Zener : 1N4728A * 74HC244 / 125 Unidireccional
cyphunk
Ah, no me di cuenta de que el mosfet funciona en ambas direcciones, desde su página parecía que solo funcionaba de una manera, especialmente la línea sobre "Este circuito no funcionará en la otra dirección (alto voltaje a bajo voltaje)". Pero después de leer el PDF de Phillips Semi, me queda claro.
davr
Davr, los MOSFET se pueden usar para crear una dirección o bi-dirección. Un solo MOSFET es una dirección. Unos MOSFET y puede crear un circuito con un Vin para cada lado de la palanca de cambios y es completamente bidireccional.
Kortuk
davr. Leí "no funcionará en la otra dirección", lo que significa que la conexión de bajo voltaje debe estar a la izquierda del MOSFET y alta a la derecha y, por lo tanto, no está directamente relacionada con la unidireccionalidad del esquema. Después de leer el PDF de Phillips, supongo que el diseño único MOSFET en sparkfun es bidireccional, o Kortuk, ¿estoy equivocado?
cyphunk el
3

Maxim tiene un montón de traductores de nivel lógico , la mayoría de los cuales son bidireccionales. Las velocidades varían, la más rápida admite una velocidad de datos máxima de 100 MBit / seg, que debería cubrir casi cualquier cosa que desee hacer a nivel de hobby. Los voltajes van desde 0.9V a 5.5V.

davr
fuente
Maxim se me olvidó por completo. Además, TI tiene una lista de circuitos integrados de conversión clasificados por dirección (uni / bi): focus.ti.com/logic/docs/translationselection.tsp?sectionId=458
cyphunk
Sí, otros fabricantes de CI también hacen chips similares, Maxim es el que realmente he usado antes.
davr
2

Estás trabajando con un bus I2C, ¿verdad? Voy a llamar a las líneas en el lado 3,3 V sda3 y SCL3 ; las dos líneas en el lado de 5.0 V SDA5 y SCL5 .

" MOSFET y dos resistencias"

Como todbot y cyphunk ya señalaron, el circuito "MOSFET y dos resistencias" descrito en el tutorial de "interfaz de sensor" de SparkFun hace lo que desea: el flujo de datos lógico es simétrico: los flujos de datos en ambas direcciones en las líneas SDA, desde el lado bajo al lado alto y, milisegundos después, del lado alto al lado bajo.

La nota "no funcionará en la otra dirección" señala que el circuito es físicamente asimétrico: su dispositivo de 5.0 V I²C debe estar conectado al "lado alto", su dispositivo de 3.3 V debe estar conectado al "lado bajo". Debido a que el circuito es físicamente asimétrico, ciertamente no es obvio que sea lógicamente simétrico. (Ese tutorial enlaza con una nota de aplicación AN97055 que muestra un circuito de "dos MOSFET y dos resistencias" que es físicamente simétrico y, por lo tanto, obviamente es lógicamente simétrico).

Las líneas etiquetadas "TX" en los convertidores SparkFun , que el cartel original señaló, implementan ese circuito bidireccional "MOSFET y dos resistencias". Por lo tanto, conecte SDA3 a TX_LV, SDA5 a TX_HV, SCL3 a TX2_LV y SCL5 a TX2_HV.

Luego, los datos fluyen en ambas direcciones: cuando su dispositivo del lado bajo acciona los pines SDA3 y SCL3, los voltajes apropiados se ven en los pines SDA5 y SCL5 del lado alto. Milisegundos más tarde, cuando el dispositivo del lado alto acciona los pines SDA5 y SCL5, los voltajes apropiados se ven en los pines SDA3 y SCL3.

(Inconsistentemente, las líneas etiquetadas "RX" en esa placa del convertidor solo transmitirán datos en la dirección de alto voltaje a bajo voltaje).

Optoaislador bidireccional

Como está utilizando I²C, también podría estar interesado en un optoaislador bidireccional para I²C . El circuito de dos optoaisladores es más caro y más lento que el circuito "MOSFET y dos resistencias", pero funciona cuando un lado tiene señales que oscilan entre 0 V y 5.0 V, y el otro lado tiene señales que oscilan entre 500.0 V y 505.0 V.

El circuito de dos optoaisladores también es completamente simétrico físicamente, y por lo tanto lógicamente simétrico, no importa qué lado es el lado alto y qué lado es el lado bajo.

davidcary
fuente
0

En una de nuestras placas, usamos un TXS0104E para traducir entre 3.3V y 5V en un bus I2C (bidireccional).

mjh2007
fuente