Estoy trabajando en un circuito que implica una 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 a mi alrededor veo que hay varios enfoques diferentes. Mi pregunta se relaciona con un esquema que encontré para el desglose ESP8266 de Adafruit, visto aquí: https://cdn-learn.adafruit.com/assets/assets/000/024/745/original/adafruit_products_schem.png .
Para cambiar el nivel de las señales RST y RX de 5v a 3.3v, simplemente usan un diodo orientado "hacia atrás" y dejan que el pull-up interno haga el resto. Parece que funciona así:
Entonces mi pregunta es, ¿es este un enfoque válido para el cambio de nivel unidireccional? ¿Hay algún peligro en hacerlo de esta manera? No pude encontrar ningún otro ejemplo de este enfoque en mis búsquedas, así que no estoy seguro de si esta es solo una forma "rápida y sucia" de hacerlo o si solo funciona en este escenario por alguna razón.
Si la señal viaja de izquierda a derecha, salida FTDI de 5 V a entrada ESP8266 de 3,3 V, entonces, cuando la salida FTDI sea BAJA, la entrada al micro tendrá una caída de diodo añadida al voltaje de salida FTDI BAJO. Si el FTDI BAJO está en , entonces podría esperar agregar otro a ese. Debe verificar las especificaciones de entrada de su ESP8266 para ver si el peor de los casos todavía califica como una entrada BAJA. Mirándolos, veo que el máximo es . Que está demasiado cerca para mucha comodidad. Sin embargo, el diodo puede estar en el extremo inferior. Así que quizás haya un pequeño margen allí. Aunque no es mucho.
EDITAR: Como se ha ido en la dirección del BSS138, agreguemos un esquema y lo expliquemos un poco:
simular este circuito : esquema creado con CircuitLab
Agregué tres esquemas aquí usando el BSS138 y los tomé de lo que encontrará en las imágenes de Google, pero donde invertí las asignaciones de voltaje para que vaya de a . Agregué el diodo del cuerpo NMOS, porque es importante. (¡Estos circuitos están realmente diseñados para funcionar de 3,3 V a 5 V!) El esquema superior es la versión modificada. Los dos inferiores debajo muestran lo que sucede cuando el controlador FTDI está conduciendo en primera instancia (esquema de la izquierda) y está conduciendo en la segunda instancia (esquema de la derecha). Tenga en cuenta que hay un pequeño problema.
La mayoría de las entradas de 3,3 V (y supongo que esto es cierto para el ESP8266) tienen diodos de protección que aparecen como se muestra en el esquema de arriba a la derecha. Entonces, una solución sería colocar una resistencia en serie desde el drenaje NMOS hasta el pin de entrada. Esta resistencia tendría que ser lo suficientemente grande para limitar la corriente en los diodos de protección para cumplir con las especificaciones (que casi siempre son .) En este caso, puede elegir .
Pero entonces la pregunta es... ¿por qué no usar simplemente la resistencia y depender de los diodos de protección?
Bueno, esto se hace a menudo cuando se va de a . Vaya a leer la hoja de datos, descubra los límites del diodo de protección (no pude encontrarlo allí) y luego calcule una resistencia adecuada. En este caso, probablemente asumiría que es lo máximo que estaría dispuesto a probar, sin datos, y probablemente establecería un valor de prueba de para ver qué tan bien funciona. Entonces, en este caso, solo probaría un valor de resistencia de y decide usar un o un 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 hace esto, puede probar el último circuito en la esquina inferior derecha de los esquemas anteriores.
Juan D.
broma
kcarbone
broma
kcarbone
broma
kcarbone
broma