Swiching a nivel bidireccional 5V - 3.3V

6

Estoy buscando la interfaz de un dispositivo de 3.3V con uno de 5V. Esto requerirá el cambio de los niveles lógicos entre los dos dispositivos.

Hacer esto en una dirección es un asunto trivial, pero necesito hacerlo en ambas direcciones (lectura y escritura, es un bus de datos).

Sé que hay conductores de autobuses que pueden hacer esto, pero yo soy un flaco, así que estoy buscando para ver si puedo hacerlo con los discretos que tengo a mi alcance.

Se me ocurrió este circuito:

Nosésirealmenteharáloquequiero,peroalleerotrasfuentes(incluido ¿Es posible controlar las entradas TTL desde 3.3v microcontrolador y Step up y Step down bidireccionales (3.3v < - > 5, etc) [el este último menciona un tutorial de sparkfun que ya no existe]) podría.

Mi idea es que los datos de 5v a 3.3v pasan por D2 y la resistencia en serie R2 para disminuir el voltaje. Los datos de 3.3 a 5 v pasan por D1 y R1 los detiene.

¿Esto funcionaría? ¿Está completo el galimatías?

Actualización

Ok, entonces hemos acordado que el circuito es un galimatías total.

He hecho algunos ajustes, y he encontrado esto:

Jugar con mi alcance me da niveles de alrededor de 1V-4V en el lado de + 5V y de 0V a 3V en el lado de 3.3V. Ambos lados tienen un nivel alto por defecto y la conexión a tierra en un lado provoca un nivel bajo en el otro lado.

Las resistencias son todas de 10KΩ, y he tenido ambos extremos alimentándose a través de resistencias de 100KΩ para simular alguna forma de carga. Los diodos son todos Schottky.

¿Pensamientos?

    
pregunta Majenko

3 respuestas

6

Creo que el circuito más sencillo que hace lo que quieres sería utilizar un MOSFET de canal N como el bss138 y dos pull-ups, enganchados de la siguiente manera:

Dígamesinoseajustaasusnecesidadesyporqué.

Habiendodichoesto,tengoquerecomendartequeechesunvistazoalaserieMAX3000deconvertidoresdenivel.Losheusadoantesysonexcelentesconvertidoresbidireccionalque"simplemente funcionan" (en términos de Apple).

Espero que ayude.

editar: parece que la imagen aparece rota con algunos navegadores, puedes verla aquí

    
respondido por el payala
3

Voto gibberish :-).
No obtendrá mucha caída de voltaje sobre R2 ya que casi no habrá corriente y, por lo tanto, el diodo tampoco bajará mucho voltaje. Si su dispositivo de 3.3V no es compatible con E / S de 5V, puede freírlo de esta manera.
Además, si el dispositivo de 3.3V genera un nivel bajo, podemos ignorar D1, y el nivel en la entrada de 5V será determinado por R1, D2 y R2. R1 + R2 elevará el nivel bajo hasta un cierto nivel, y el diodo agregará otros 0.7V, por lo que el nivel visto en el lado de 5V puede no ser bajo en absoluto.

¿Volver al tablero de dibujo?

editar
Eche un vistazo a esta nota de aplicación de NXP . Solución muy elegante, sin cambio de nivel especial IC.

    
respondido por el stevenvh
2

Ese circuito está roto. Solo para uno, considere el caso del lado izquierdo que conduce a 5 V y el lado derecho de alta impedancia. El lado derecho irá a 5V menos la caída del diodo. También está roto para otros casos. Ir a través de los 4 casos posibles, verá que el resultado no es lo que pretendía.

Estás perdiendo el tiempo tratando de jugar juegos con cambio de nivel. Si realmente quieres hacerlo tú mismo, ¿no deberías estar empezando con arena de playa y refinando tu propio silicio? En el mejor de los casos, terminará con algo que es más grande y pesado que un IC de cambio de nivel deliberado.

Los desplazadores de nivel de una sola línea vienen en paquetes SOT-23 e incluyen una línea de dirección y los estados de alta impedancia resultantes según la dirección. Si necesita traducir varias líneas paralelas con la misma señal de dirección, entonces la solución integrada es aún más pequeña por línea.

Sin embargo, la mejor manera de lidiar con esto es diseñar el sistema para que necesite la menor cantidad de cambios de nivel posible. A veces eso es imposible o poco práctico, pero un autobús completo que requiere cambios de nivel es un poco de una bandera roja. También tenga en cuenta que las entradas de 5 V con niveles TTL (como los chips 74HCTxxx, por ejemplo) funcionan directamente desde salidas de 3.3 V, ya que 3.3 V está por encima del umbral de entrada alto garantizado.

Añadido:

Veo que ha publicado un circuito revisado, pero todavía tiene problemas. Cuando el lado de 5V está bajando, puede bajar el lado de 3.3V a 2 gotas de diodo por encima del suelo. Eso es demasiado alto para algunos tipos de lógica. Por ejemplo, muchos microcontroladores PIC tienen entradas de activación Schmitt que operan desde .2Vdd a .8Vdd. .2Vdd sería solo de 660 mV con una alimentación de 3.3 V, por lo que dos caídas de diodos son demasiado altas para garantizar una baja lógica.

Esto se está volviendo tonto. Incluso si su circuito funcionara, solo demostraría que si usa suficiente goma de mascar y cinta adhesiva y 6 partes puede hacer algo que no es tan bueno como un solo IC barato en un paquete SOT-23.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas