Estoy ocupado con un proyecto en el que conecto una MCU de 5V (Amtel ATMega328) a una 3V (ESP8266) a través del puerto serie. Obviamente necesito algunos niveles lógicos convertidos. Miré los esquemas de varios de código abierto en el mercado para comprender cómo otras personas abordaron este problema. En una nota al margen, construí un circuito divisor de voltaje solo para comenzar con algo básico (solo quiero estar seguro de que entiendo el concepto).
Así que revisé el convertidor de nivel lógico de FreeTronics que usa un BSS138LT3G para la conversión de nivel lógico. Esto tiene algún sentido, ya que parece que este diseño está utilizando un transistor con una baja caída para convertir entre los niveles de voltaje. Puede encontrar el esquema para convertidor de nivel lógico de freetronics aquí .
Luego miré el Adafruit HUZZAH schematic la placa espera encontrar uno de los siguientes componentes: un regulador de voltaje o un transistor MOSFET o divisor de voltaje de algún tipo. Bueno, encontré el regulador de voltaje SPX3819 en la placa, pero luego me di cuenta de que los pines de serie no usaban esto en absoluto ...
Cuando estudié el esquema, descubrí que un diodo 1N4148 estaba conectado al pin FTDI RX (recibir). Nunca me di cuenta de que podrías usar un diodo de esta manera (estoy aprendiendo). Entonces, dado que este es un diodo de alta velocidad, obviamente causa una caída de voltaje de 5V a alrededor de 3V debido a la conmutación de alta velocidad, casi como lo haría una función PWM (la conjetura educada podría estar equivocada). Parecía simple y elegante, pero luego noté que no hacían lo mismo en el pin FTDI TX (transmisión).
Entonces, en este punto estoy confundido, ¿por qué convertiría una entrada de 5 V al pin RX a 3,3 V y luego no lo convertiría en el pin saliente? Seguramente un puerto serie no puede acomodar ambos voltajes a menos que esté especificado para manejarlo. Enviar 5V y recibir 3V se sintió mal.
Ahora estoy especulando en este punto pero, según tengo entendido, las transmisiones de datos en serie son esencialmente bits que se transmiten. Un 5V está encendido y 0V está apagado. Sin embargo no creo que sea realista. ¿Cómo puedo tener siempre 5V y 0V con componentes que se calientan, variación de resistencia y todos los demás factores en la electrónica? Sospecho que este diseño funciona porque 3V está por encima de la marca de 2.5V y la MCU de AMTEL reacciona a este nivel de voltaje como si estuviera transmitiendo el bit ON / 1 / YES.
Ahora, si mi teoría es válida, ¿existen riesgos al realizar comunicaciones en serie entre un chip AMTEL y un chip ESP a través de un serial de esta manera?
O tal vez solo estoy enojado y me falta algo muy obvio.