Interruptor para apagar MSP430

Un MSP430F1232 está conectado a un PL2303, es decir, URXD0/UTXD0 están conectados a PL2303 TX y RX. VCC y VSS también provienen del PL2303 (a través de USB). Además, un interruptor con una resistencia pull-up y un LED con una resistencia a tierra están conectados a P1.0 y P1.1.

El circuito y el programa funcionan como se esperaba. Sin embargo, el circuito también funciona cuando VCC no está conectado. El motivo es un voltaje de aproximadamente 3,2 V en el UART TX. Cuando también desconecto la conexión TX, el MSP430 se detiene. Sin embargo, cuando el TX está conectado, el MSP430 sigue funcionando según lo previsto y la interfaz serial también funciona.

¿Cómo se implementaría un interruptor para apagar completamente el circuito/MSP430? Mi idea de usar un interruptor entre el suministro PL2303 y el pin VCC no es suficiente.

Los esquemas son mucho, mucho mejores que las palabras. Hay un botón en la barra de herramientas del editor.
Un MSP430 puede funcionar con un limón y probablemente solo con una papa. Póngale una antena y funcionará + cosechará energía para usted. Esas malditas cosas funcionarán con CUALQUIER fuga disponible. Entonces realmente necesita saber dónde están sus diodos. Cada pin de E/S en esa cosa tiene diodos a tierra y al riel Vcc. Si tiene algo conectado a un pin de E/S, que puede generar el voltaje de funcionamiento mínimo después de una caída de diodo, entonces ese es probablemente su problema aquí. (El diodo del riel Vcc puede estar polarizado hacia adelante). Repare la conexión UART.
Consejo sabio de @jonk: no se debe permitir la operación alimentada por TX (cuando Vcc = 0); puede resultar una operación muy extraña incluso después de que se restablezca Vcc . ¿Cómo puede ocurrir este escenario, si PL2303 es la única fuente de alimentación para MSP430?
@glen_geek No estoy seguro de su pregunta, no la comprendo completamente. Mi comentario fue general, no específico, ya que no quería buscar los elementos que se estaban aplicando. Ya conozco el problema. He estado allí cuando el MSP430 funciona bien sin aplicar Vcc. Es solo cuestión de encontrar la fuente, siempre a través de uno de los pines de E/S en mi experiencia, y luego bloquearlo.
La idea es utilizar la UART del PL2303 con dos dispositivos alternativamente basados ​​en un interruptor mecánico. Gracias a jonk me di cuenta de que encender y apagar el MSP430 no es suficiente. Parece que las líneas TX y RX deberían estar conectadas a un demultiplexor o algo similar
Publique un esquema completo; en este momento, estamos luchando por comprender cuál es realmente su circuito.
@p.vitzliputzli ¿Es su voltaje PL2303 VDD_325 el mismo que el riel de voltaje MSP430 Vcc, con la única diferencia de que su MSP430 Vcc puede desactivarse? ¿O?
@jonk ¡Eso es correcto!
@p.vitzliputzli Luego agregaré una especie de respuesta.

Respuestas (2)

El problema es que el PL2303 (y la mayoría de las configuraciones de UART) están inactivos con una salida alta en TX. Esto termina alimentando su MSP430. Sí, la salida lógica alta de PL2303 TX alimenta su MSP430 a través de uno de sus pines de entrada.

Esto se debe a que las entradas de la mayoría de los circuitos integrados CMOS tienen diodos de protección que están conectados a VDD, como en este diagrama ( de este sitio web útil )

Protección ESD CMOS

Entonces, cuando el PL2303 aumenta la entrada del MSP y se desconecta la alimentación del MSP430, ese voltaje termina pasando por el diodo de protección y hacia el riel de alimentación del MSP430. ¡Así que está potenciando su MSP con el PL2303!

Entonces, para resolver esto, puedes hacer un par de cosas:

1) Inserte una resistencia limitadora de corriente para limitar la corriente que ingresa a la entrada del MSP. En general, esta es una solución pésima porque todavía fluye una pequeña cantidad de corriente y la velocidad de su UART se verá afectada.

2) Compuerta el TX de PL2303 para que la entrada MSP sea baja cuando desee que se apague. Aquí hay un ejemplo simple:

esquemático

simular este circuito : esquema creado con CircuitLab

Entonces, cuando la potencia del MSP430 baja, la entrada de la puerta AND baja y su salida baja. Hay muchas maneras de hacer lo mismo; solo un ejemplo

No voy a adivinar y luego revisar un esquema que no ha proporcionado. Pero he estado aquí varias veces con el MSP430 y he aprendido un par de cosas.


Un MSP430 puede funcionar con unos pocos microamperios. Esto puede venir a través de caminos que parecerían imposibles con otras MCU. Entonces, si el MSP430 permanece encendido, comience a mirar su esquema con mucho cuidado para ver si hay alguna ruta por la cual alguna fuente externa de energía (y voltaje) pueda suministrar al MSP430 a través de uno de sus pines de E / S y protección diodos

Los diodos de protección se utilizan ampliamente en la industria. De hecho, es casi imposible encontrar circuitos integrados sin ellos. Hay varias buenas razones por las que:

  1. Los diodos de protección a menudo son solo diodos intrínsecos, formados como una parte natural de la arquitectura física del procesamiento de IC. Es posible hacer pines evitando un diodo intrínseco, pero eso agrega un paso de procesamiento y requiere espacio y cuesta dinero. Debe haber razones especiales para no incluirlo.
  2. Los MOSFET en circuitos integrados son dispositivos muy sensibles y se perforan fácilmente con cargas estáticas. Dejar pines desprotegidos es solo buscar problemas.

Dado que es más razonable suponer que todos los ingenieros de usuarios finales de circuitos integrados son en su mayoría solo un grupo de idiotas brutales que corren con miles de voltios de carga estática en cada punta de los dedos y en la ropa que usan, ignorando todo lo que tienen a su alcance o a la vista. , los fabricantes de circuitos integrados se han vuelto cada vez más cautelosos a la hora de enviar circuitos integrados con pines desprotegidos. Todavía hay algunos casos en los que los diodos de protección en realidad ARRUINARÁN el comportamiento previsto del dispositivo (IC de electrómetro, por ejemplo) y se ven obligados a tener uno o dos pines sin ellos. Pero estos son raros y odian venderlos, porque incluso con grandes pegatinas rojas en todas partes de la caja, aún funciona que ninguna buena acción queda sin castigo y pueden estar bastante seguros de una "alta tasa de retorno" en los dispositivos.

El MSP430 es un dispositivo absolutamente fantástico. Puede ejecutarlo fuera de la corriente de fuga de almacenamiento del estante de una batería de botón (lo que significa que la batería de botón hará funcionar el MSP430 durante toda la vida útil declarada de una batería sin usar que se encuentra en un estante de almacén esperando la venta). Así que están locos bueno si desea dos años de vida útil operativa para algo como un reloj.

Pero esto también significa que son horribles cuando se trata de alimentarlos accidentalmente a través de uno de los pines de E/S.

Los diodos de protección de cualquier dispositivo, pero especialmente el MSP430, se pueden usar para alimentar el IC. En la mayoría de los casos, estos diodos de protección tienen límites en su corriente (unos pocos miliamperios, por lo general). Y las trazas de aluminización también tendrán sus propios límites. En conjunto, esto significa aproximadamente que si intenta suministrar demasiada corriente, algo cederá (el rastro de aluminio en sí migrará hasta que desaparezca y ya no proporcione una conexión o el diodo fallará y creará un circuito abierto [o cerrado] conexión). La mayoría de los dispositivos requieren más corriente que eso, de todos modos. Y la fuente probablemente tenga demasiada resistencia en serie para alimentar mucho el IC.

Pero en el caso de MSP430?? Un par de miliamperios es como... funcionamiento a plena potencia y algo más. Incluso con impedancias de fuente que son increíblemente altas. Entonces, digamos que aplicas un 10 k Ω resistencia en serie con el pin de E/S "solo para estar seguro". ¿Crees que lo hace? No. Eso sigue siendo cientos de microamperios para el MSP430 y se sienta allí nadando muy bien, como un pez en aguas profundas.


Así que tal vez consideres algo como lo siguiente:

esquemático

simular este circuito : esquema creado con CircuitLab

R 5 es un menú desplegable, de modo que cuando se abre el interruptor (no sé qué tipo de interruptor de encendido/apagado usa), el MSP430 se aislará.

Esto supone que su PL2303 VDD_325 es mayor o igual que el voltaje de su MSP430. Si ese no es el caso, el circuito necesita algunas modificaciones. Particularmente, rodeando q 3 .

Traductores de buen nivel. Si PL2303 y MSP430 tienen una lógica de 3,3 V, entonces Q1, R1, R2 no son necesarios.
@VincePatron estaría de acuerdo, pero en el momento de preparar ese esquema no estaba seguro de los niveles de voltaje (como puede ver en mi comentario en el último párrafo).
@jonk Tengo un par de preocupaciones potenciales: el pullup resistivo puede ser demasiado lento y/o consumir demasiada energía.
¿Hay alguna razón por la que el interruptor no pueda o no deba colocarse en el lado bajo?
@CalebReister Probé algunas alternativas, incluida esta, y aunque no se mencionó en mi pregunta, la tasa de símbolos es 9600 Bd. No he encontrado ningún problema hasta ahora. ¡Gracias a @jonk!