¿Es posible usar un diodo simple y una resistencia pullup para nivelar el desplazamiento hacia abajo en una dirección?

1

Estoy trabajando en un circuito que involucra la interfaz con un microcontrolador de 3.3v (ESP8266) y me gustaría poder programarlo usando mi FTDI existente que funciona a 5v. Soy nuevo en el cambio de nivel y mirando alrededor veo que hay varios enfoques diferentes. Mi pregunta se relaciona con un esquema que encontré para el desglose ESP8266 de Adafruit, que se ve aquí: enlace .

Para el cambio de nivel, las señales RST y RX de 5v a 3.3v, simplemente usan un diodo orientado "hacia atrás" para que el pullup interno haga el resto. Parece funcionar así:

Mipreguntaes,¿esesteunenfoqueválidoparaelcambiodenivelunidireccional?¿Hayalgunatrampaparahacerlodeestamanera?Nopudeencontrarningúnotroejemplodeesteenfoqueenmisbúsquedas,porloquenoestoysegurodequeseaunaforma"rápida y sucia" de hacerlo o si solo funciona en este escenario por algún motivo.

    
pregunta kcarbone

1 respuesta

1

Si la señal viaja de izquierda a derecha, la salida FTDI de 5V a la entrada ESP8266 de 3.3V, entonces cuando la salida FTDI es BAJA, la entrada al micro tendrá una caída de diodo agregada a la tensión de salida BAJA FTDI. Si el FTDI LOW está en \ $ 100mV \ $, entonces es posible que tenga que agregar otro \ $ 600mV - 700mV \ $ a eso. Debe verificar las especificaciones de entrada de su ESP8266 para ver si el peor de los casos \ $ 800mV \ $ todavía califica como una entrada BAJA. Mirándolos, veo que el máximo es \ $ 0.25 \ cdot V_ {cc} = 825mV \ $. Que es demasiado cerca para una gran comodidad. Sin embargo, el diodo puede estar en el extremo inferior. Así que quizás haya un pequeño margen allí. Sin embargo, no es mucho.

EDITAR: desde que has ido en la dirección del BSS138, vamos a ver un esquema para explicarlo un poco:

simular este circuito : esquema creado usando CircuitLab

He agregado tres esquemas aquí usando el BSS138 y tomado de lo que encontrará en las imágenes de google, pero donde invirtí las asignaciones de voltaje para que pasen de \ $ 5V \ $ a \ $ 3.3V \ $. He añadido el diodo corporal NMOS, porque es importante. (¡Estos circuitos están realmente diseñados para funcionar de 3.3V a 5V!) El esquema superior es la versión modificada. Los dos más bajos debajo muestran lo que sucede cuando el controlador FTDI está manejando \ $ 0V \ $ en la primera instancia (esquema izquierdo) y está manejando \ $ 5V \ $ en la segunda instancia (esquema derecho). Tenga en cuenta que hay un bit de un problema?

La mayoría de las entradas de 3.3V (y supongo que esto es cierto para el ESP8266) tienen diodos de protección que aparecen como se muestra para el esquema más a la derecha arriba. Entonces, un arreglo sería colocar una resistencia en serie desde el drenaje NMOS al pin de entrada. Esta resistencia tendría que ser lo suficientemente grande como para limitar la corriente en los diodos de protección para cumplir con las especificaciones (que casi siempre son \ $ \ le 2mA \ $.) En este caso, puede elegir \ $ \ frac {4.4V-3.3 V-600mV} {500 \ mu A} = 1k \ Omega \ $.

Pero entonces la pregunta es ... ¿por qué no solo usa la resistencia y depende de sus diodos de protección?

Bueno, esto se hace a menudo cuando se va de \ $ 5V \ $ a \ $ 3.3V \ $. Vaya a leer la hoja de datos, averigüe los límites del diodo de protección (no pude encontrarla allí) y luego calcule una resistencia apropiada. En este caso, probablemente asumo que \ $ 500 \ mu A \ $ es lo máximo que estaría dispuesto a probar, dado que no tengo datos, y probablemente me conformo con un valor de prueba de \ $ 200 \ mu A \ $ para ver cómo bueno funciona Entonces, en este caso, solo probaría un valor de resistencia de \ $ \ frac {5V-3.3V-600mV} {200 \ mu A} = 5.5k \ Omega \ $ y decido usar una \ $ 4.7k \ Omega \ $ o un \ $ 5.6k \ Omega \ $ para la entrada de 3.3V al micro, dependiendo de los diodos de protección para hacer su trabajo.

O, si lo desea, puede obtener un BAV99 y usarlo externamente, con la idea de que no desea depender de los diodos de protección internos. Si haces esto, puedes probar el último circuito en la esquina inferior derecha de los esquemas anteriores.

    
respondido por el jonk

Lea otras preguntas en las etiquetas