¿Pines UART a MCU sin alimentación?

11

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.

esquemático

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?

Inbae Jeong
fuente
@Toor ¿Qué significa "tbh"?
Elliot Alderson
1
Probablemente estará bien. Las puertas deben ser capaces de tolerar hasta su voltaje de funcionamiento máximo de todos modos, ya que necesitan poder hacerlo para funcionar en el extremo superior de su rango de voltaje de suministro. El Vdd + 0.3 hace referencia a los diodos de sujeción ESD en la MCU, pero si la MCU no tiene alimentación, esos diodos no tienen un riel para sujetar. Si una MCU con capacidad para 5V se apagara 3V y aplicaras 5V a una E / S, esos diodos intentarían sujetarse al riel de 3.3V, pero eso no significa que explotaría sin ellos a 5V. Puede usar resistencias en serie para limitar la corriente a través de dichos diodos.
DKNguyen
3
@ElliotAlderson "tbh" es un ismo común para "ser honesto".
Hogar
77
@Toor Los diodos crearán un riel de alimentación; ver youtube.com/watch?v=2yFh7Vv0Paw .
CL.
55
De hecho, esto puede ser un problema, no solo el riesgo teórico de daños, sino que hay partes que no harán una energía limpia al reiniciar si antes estaban "más o menos" alimentadas por E / S antes de que se aplicara la energía real. Si encuentra que la red de alimentación de la placa se eleva a .5v - .6v cuando está "apagada", puede estar en un territorio problemático.
Chris Stratton

Respuestas:

14

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.

TimWescott
fuente
5

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.

wrtlprnft
fuente
2

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.

glglgl
fuente
1
Esta es una buena idea, pero asegúrese de leer cuidadosamente la hoja de datos del transceptor USB. Algunos circuitos integrados se bloquearán o tendrán otras fallas si no se aplica una fuente de alimentación. La sección Absloute Maximum Ratings cerca del comienzo en la hoja de datos debería cubrir esto.
jherbold
1

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:

  1. Un interruptor SPDT que selecciona la alimentación USB cuando la batería está apagada. Reemplaza el interruptor SPST en su diagrama de circuito.
  2. Un diodo, diodos, un circuito integrado de diodos ideal o MOSFET controlados por el uC para seleccionar la alimentación USB cuando esté disponible. Ahora debe considerar qué sucede cuando el interruptor de la batería está cerrado y el USB está conectado. El cambio incontrolado de la batería rara vez es algo bueno.
jherbold
fuente
77
Puede pensar que sí, pero las resistencias solas en realidad no funcionan . Incluso una resistencia de serie grande en la línea de recepción UART no lo hará (aunque puede evitar daños). El problema es que hasta que supere algunos voltajes de umbral muy bajos, nada realmente consume corriente, e incluso entonces no mucho sin un reloj. Por lo tanto, incluso con resistencias en serie, el riel de alimentación de la placa se puede tirar hasta el punto en que las cosas comienzan a tener un estado inapropiado, en cuyo punto el reinicio de la alimentación ya no es confiable.
Chris Stratton el
Convenido. Gracias por proporcionar más detalles a mi respuesta. Esperaba proporcionar una solución prototipo rápida y debería haber dicho eso. No es una solución infalible y solo funcionará si la corriente de arranque de uC es lo suficientemente alta como para crear una caída de voltaje suficiente en las resistencias para mantener el voltaje en el uC lo suficientemente bajo como para que no se salga del marrón.
jherbold
0

¿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.

Jorge D
fuente