Tengo una placa alimentada por batería con un ATMega328P y algunos otros periféricos como tarjeta SD, RTC, sensores, etc. El diseño de la placa es para tener la menor potencia posible, manteniendo el ATMega328P como MCU. La placa utiliza el cargador de arranque Arduino, etc.
Agregué un chip FT232RL USB a UART al diseño, para brindar mejores comunicaciones en serie que tener que tener un convertidor en serie externo. El FT232RL tiene una entrada de 5V desde el USB con un generador de 3.3V a bordo que conecté al suministro 3.3VIO que necesita. Entonces, el FT232RL se alimenta desde el USB cuando está conectado. El circuito de alimentación de la batería está separado. TX y RX están conectados al ATmega328P RX y TX.
El problema es que cuando se desconecta la alimentación del FT232RL, el chip sigue consumiendo energía parásita a través de las líneas RX y TX del ATmega328P. Se usa otro pin ATmega328P para detectar TX desde el chip, por lo que el ATmega328P puede apagar la serie en cualquier momento. Incluso con la serie apagada y TX configurado en 0 V, y RX en la entrada, el FT232RL aún consume algo de energía de RX, más aún si los pull-ups están habilitados. Esto aumenta el consumo de energía.
Mi solución es (cuando no se detecta actividad en serie)
Sin embargo, esto parece un poco poco elegante. ¿Existe una solución de hardware que funcione? ¿Cualquier otra sugerencia?
Puede colocar un par de optoacopladores entre el chip FTDI y la MCU de Atmel. De esa manera, no solo se desharía de la ruta de alimentación parásita, sino que la parte Atmel de su circuito (y todo lo que esté conectado a ella) también se separaría galvánicamente del host USB como beneficio adicional.
RJR
Transeúnte
geométrico
geométrico
RJR
geométrico
RJR