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.
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?
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:
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.
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:
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:
Si el voltaje en un pin se mantiene por debajo de cierto umbral, no fluirán corrientes de fuga en exceso a ninguna parte.
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).
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.
chris stratton
vladimir cravero
glen_geek