¿Es seguro cambiar Vcc de Chip mientras IO aún está conectado?

Estoy planeando usar un Arduino para controlar otro chip encendiéndolo y apagándolo usando un MOSFET de canal N, algo así como una habilitación de chip SPI.

esquemático

simular este circuito : esquema creado con CircuitLab

Estoy un poco preocupado de que hacer esto pueda dañar el chip porque todavía puede haber voltajes (de nivel lógico) en sus pines IO.

¿Debería preocuparme por esto o será seguro usar este circuito para apagar el chip?

¿Algún otro comentario sobre este circuito? ¿Debería funcionar?

Generalmente no, no es correcto, y en muchos casos terminará arrastrando las líneas de E/S mientras "más o menos" alimenta el chip a través de los diodos de protección de E/S. Pero hay chips que pueden tolerar esto, incluidos aquellos que no cargarían las líneas. Tienes que leer la ficha técnica de la pieza específica.
Si necesita ahorrar energía, simplemente use un estado de bajo consumo del micro. No veo muchas aplicaciones de hobby en las que no se pueda tolerar algo de uA.
Tus preocupaciones están muy bien justificadas. He visto que su escenario de ejemplo le hace cosas muy extrañas a un microcontrolador. Y a muchos chips CMOS en general. Se trata de parásitos SCR ocultos en el sustrato del chip. Extremadamente difícil de solucionar. Muy extraño, bizarro, de otro mundo....yikes.

Respuestas (4)

Probablemente no, a menos que se indique específicamente como tal. Una indicación de que no lo es es una especificación como esta:

ingrese la descripción de la imagen aquí

Cuando Vcc es 0V, no se recomienda tener más de 0V en las entradas.

Sin embargo, hay formas de aislar el chip que desea apagar, por ejemplo, usando un chip traductor de voltaje como el 74LVC1T45 que está completamente especificado para fugas con uno de los rieles Vcc a 0V.

Además, debe usar un MOSFET de canal P para cambiar la alimentación. Bajo = ENCENDIDO.

Gracias, acabo de revisar la hoja de datos y dice que la entrada a cualquier pin debe ser inferior a 0,5 V+Vcc. Así que eso no funcionará.

Advertencia

Este circuito no funcionará como se esperaba.

Se puede pensar en un MOSFET como un dispositivo controlado por voltaje. Lo que esto significa es que el MOSFET solo se encenderá cuando haya un voltaje lo suficientemente grande entre la puerta del MOSFET y la fuente del MOSFET. Esto se conoce y Vgs (th) (voltaje entre la puerta y el umbral de la fuente) en la hoja de datos de MOSFET.

En este circuito, digamos que el Vgs del MOSFET es de 2V. Esto significa que para una fuente de voltaje de 5V, la puerta del MOSFET debe estar a 7V para estar completamente encendido. Dado que el voltaje de la puerta es de 5 V como máximo, la fuente nunca puede estar a 5 V.

Lo que sucederá es que el MOSFET estará en su "región lineal" donde se comportará casi como una resistencia. Caerá parte del voltaje y la fuente no verá 5V.

¿Es seguro cambiar Vcc de Chip mientras IO aún está conectado?

En general, no. Esto solo es seguro si puede asegurarse de que no haya voltajes presentes en los otros pines.

Si Chip Vcc y Arduino Pin Output tienen el mismo nivel de voltaje (al menos eso parece), entonces no puede simplemente conducir M2 MOSFET. Porque un N-Ch. MOSFET requiere que su voltaje de compuerta sea mayor que su voltaje de fuente en al menos VGS (th) que se indica en la hoja de datos. Para el MOSFET que planea usar, VGS (th) es de aproximadamente 1 V (verifíquelo en la tabla "Especificaciones eléctricas" en la hoja de datos: https://www.sparkfun.com/datasheets/Components/General/RFP30N06LE.pdf ).

Por supuesto, puede encender y apagar el chip con su pin Vcc:

esquemático

simular este circuito : esquema creado con CircuitLab

Por cierto, si yo fuera usted, simplemente deshabilitaría el pin CLK externamente sin cortar Vcc.

Muchas hojas de datos están severamente subespecificadas con respecto a tales problemas. Algunos dispositivos especificarán explícitamente que los pines pueden tener voltaje aplicado ya sea que VDD esté alimentado o no, pero en la mayoría de los dispositivos hay algún tipo de estructura inherente de diodo o transistor que sujetará los voltajes de los pines a VDD. Si la presencia de un diodo impide que un circuito cumpla con los requisitos cuando se corta la energía, y el chip no especifica que se puede aplicar voltaje a un pin sin VDD, no se puede suponer que el chip cumpla con dichos requisitos. En los casos en que un diodo no impida que un circuito cumpla con los requisitos, la mayoría de los chips generalmente cumplirán con esos requisitos. Desafortunadamente, "la mayoría" no significa todos, y las hojas de datos rara vez brindan una guía suficiente para saber qué funcionará en un caso particular.

En general, hay una cierta cantidad por la cual el voltaje de un pin puede exceder VDD sin ningún efecto. No fluirá corriente desde el pin a VDD, y ningún otro aspecto de la operación del dispositivo se verá afectado. Si el voltaje excede VDD por más de cierta cantidad, la corriente fluirá a alguna parte . Si la corriente que fluye hacia el pin está limitada externamente, habrá cierta cantidad de corriente por debajo de la cual no se verá afectado ningún aspecto del funcionamiento del dispositivo.

En la práctica, debería ser posible especificar muchas cosas sobre un dispositivo:

  1. Si el voltaje en un pin se mantiene por debajo de cierto umbral, no fluirán corrientes de fuga en exceso a ninguna parte.

  2. Si la corriente en un pin se limita a una cierta cantidad, la fuga se limitará a ciertas rutas y no afectará el funcionamiento del dispositivo (excepto que si algunas de esas rutas son hacia otros pines, la fuga puede afectar el funcionamiento de lo que sea que esté conectado a esos pines). patas).

  3. Si la corriente se limita a una cierta cantidad [probablemente mayor], no dañará el dispositivo, pero puede interrumpir el funcionamiento.

4-5. Si el voltaje en un pin se mantiene por debajo de algunos umbrales [que probablemente sean más altos que el n.° 1], la corriente puede exceder los valores dados para el n.° 2 o el n.° 3, pero no será lo suficientemente alta como para interrumpir el funcionamiento (n.° 4) o dañar el dispositivo (#5).

Desafortunadamente, los fabricantes rara vez proporcionan especificaciones tan detalladas. En muchos casos, todo lo que dan es la especificación #1, que en muchas situaciones es la menos útil. Si los chips pudieran especificar los parámetros n.º 2 y n.º 4, eso haría posible construir circuitos de protección de entrada con resistencias en serie y/o diodos de abrazadera y saber que fueron especificados para funcionar correctamente.

Por cierto, la fuga en los pines de un microcontrolador sin alimentación que es insuficiente para dañarlo o alimentarlo con éxito a menudo será suficiente para evitar que el micro se reinicie de manera confiable en ausencia de un circuito de caída de voltaje o una lógica de reinicio externo. Al cortar la energía a un microcontrolador, a menudo es bueno asegurarse de que su línea de reinicio se reduzca; es posible que pueda compartir el mismo pin de control de E/S para el restablecimiento y la habilitación de energía si el restablecimiento está activo bajo y la habilitación de energía está activa alta.