Estoy usando un USB-UART IC con un MCU, que funciona con una batería.
El USB-UART IC se alimenta desde un conector USB, no desde la batería, por lo que no necesito abrir una consola cada vez que el interruptor se apaga y se enciende.
simular este circuito : esquema creado con CircuitLab
editar: no lo dibujé en la figura, pero el IC tiene un regulador interno de 3.3V y cada VDD está en el nivel de 3.3V cuando el interruptor está encendido.
Ahora me preocupa cuando el USB está enchufado y el interruptor todavía está apagado.
El documento de MCU dice que la clasificación máxima de cada pin de entrada es VDD + 0.3, que sería 0.3 V cuando la MCU no está alimentada.
Si el par TX / RX en el lado USB-UART sube, ¿destruirá los pines en el lado MCU?
Si es así, ¿qué necesito entre los pares TX / RX?
fuente
Respuestas:
Depende de la MCU, pero en la mayoría de los casos encenderá la MCU, y posiblemente el resto de la placa a través de la MCU. El MCU intentará correr y hacer cosas extrañas. Su tablero hará cosas extrañas. Si su placa consume suficiente corriente, dañará ese pin en la MCU.
Debe hacer arreglos para que la señal UART permanezca en 0V cuando la MCU está apagada. Si el chip UART (o UART) que está utilizando no tiene un pin de habilitación (los chips USB UART con los que he trabajado pueden configurarse exactamente para el caso que está describiendo), entonces Y el UART sale con el microprocesador VCC.
fuente
La solución podría ser tan simple como un NMOS entre el pin TX del USB-UART (drenaje) y el pin RX de la MCU (fuente), con la puerta conectada al MCU VDD.
Esto significará que el USB-UART solo podrá manejar hasta 3.3 V menos el voltaje de umbral del transistor. Tendrá que verificar si esto es suficiente para satisfacer el V_IH de su MCU.
Soy escéptico de las soluciones que involucran una puerta lógica impulsada (indirectamente) por VBUS. Mientras la puerta lógica impulse la entrada de MCU a un nivel alto, el MCU VCC puede no caer lo suficiente como para apagar el controlador TX. Con la solución NMOS, el pin TX solo puede ser conducido a un voltaje más bajo que VCC, haciendo imposible este tipo de retroalimentación.
Por cierto, también debe considerar la dirección inversa: si la MCU está alimentada, pero el USB-UART no lo está, querrá asegurarse de no suministrar accidentalmente algo de energía al USB-UART, drenando su Batería más rápida de lo que espera. Una solución solo de software debería ser suficiente para esto.
fuente
Tengo una solución completamente diferente, que, sin embargo, depende del chip USB que uses.
Algunos de ellos tienen diferentes VBUS y VCCIO. En este caso, es posible que pueda alimentar la parte IO de ese chip junto con el uC.
fuente
La solución fácil es colocar algunas resistencias entre los pines de E / S. Esto limitará el flujo de corriente hacia los pines, por lo que el transceptor no puede alimentar el uC. El valor de la resistencia es un equilibrio entre limitar el ancho de banda entre los chips y limitar la corriente.
Buffers lógicos alimentados por el USB pero con salidas habilitadas por el uC. Esto hace lo mismo que la salida del transceptor habilita la otra respuesta.
¿Hay alguna ventaja de tener el uC apagado cuando está conectado a la computadora? Si no, puede alimentar la uC desde la alimentación USB de 5 V. Las formas de hacer esto son:
fuente
¿Ha considerado si un par de amortiguadores de tres estados sería una buena solución? Puede atar el pin de activación a su conmutador y luego asegurarse de que la polaridad de tx a rx sea correcta, lo que efectivamente le brinda la protección que está solicitando.
fuente