¿Es seguro controlar los pines de E / S de un AVR ATmega328P sin alimentación? [duplicar]

4

¿Es seguro conducir los pines de este chip AVR mientras está sin alimentación?

Por ejemplo, si compartiera un controlador de motor de modo que pueda ser accionado por dos microcontroladores, ¿se dañaría uno de los microcontroladores mientras que el otro no está encendido, pero se ven los voltajes de señal en sus pines del otro microcontrolador? / p>

EDITAR: Debido a que esto se marcó como un duplicado, aquí hay algunas aclaraciones. El MCU especificado aquí es diferente de un fabricante diferente. Aunque no estoy seguro, su funcionamiento y límites ciertamente diferirán. Esta pregunta no fue sobre si 'debilitará' el MCU sino sobre si es seguro hacerlo en primer lugar. El debilitamiento de la OMI significaría que es posible, pero con el tiempo degradará el rendimiento de la MCU.

    
pregunta electrophile

7 respuestas

16

Puede interesarle el video de EEVBlog sobre alimentar una MCU sin conectar los pines de alimentación . Si maneja los pines de E / S en la MCU, puede terminar encendiendo la MCU a través de sus diodos de protección.

Si, después de la caída del diodo, su VCC termina por debajo o por encima del voltaje mínimo requerido para conducir su MCU (o consume más corriente de lo que pueden manejar los diodos internos), entonces no funcionará correctamente. Por supuesto, esto es asumiendo que su VCC está en circuito abierto y no cortocircuitado a tierra (o cero voltios).

Aquí hay un diagrama del circuito equivalente para su Atmega328p:

Tenga en cuenta los diodos de tierra a VCC.

De cualquier manera, la hoja de datos no explícitamente especifica el comportamiento exacto de conducir el Atmega328p desde un pin de E / S.

Sin embargo, sí dice que el voltaje máximo absoluto que puede aplicar a un pin de E / S (que no sea RESET) es Vcc + 0.5V. Como mbrig señaló en los comentarios, si usted alimenta de forma fantasma el chip, es probable que la caída del diodo provoque que el voltaje en el pin de E / S sea mayor que Vcc + 0.5V.

La hoja de datos indica que operar el ATmega328p fuera de sus clasificaciones máximas absolutas puede causar daños permanentes, por lo que recomendaría no hacerlo.

    
respondido por el tangrs
9

De la hoja de datos:

ATmega328pHojadedatos:"Características eléctricas: Clasificación máxima absoluta"

El voltaje máximo en cualquier pin que no sea _RESET se especifica como "Vcc + 0.5V". Si el chip no está encendido, Vcc es 0, por lo que no, no puede aplicar ningún voltaje por encima de 0.5V.

Si desea compartir una E / S entre dos partes, donde una de ellas puede estar sin alimentación, necesita algún tipo de interruptor.

    
respondido por el duskwuff
4

No es seguro tanto para AVR como para la otra MCU. El AVR intentará para encenderse cuando la otra MCU accione su pin de E / S "alto". No es bueno para AVR: está diseñado para encenderse desde su pin de suministro dedicado. De lo contrario pueden pasar cosas malas. Dado que el fabricante dice explícitamente "no hagas esto", el fabricante no está obligado a decir qué "cosas malas" puedes encontrar. Mi experiencia es que "malo" varía de muy extraño a fumar .
Dado que el AVR puede parecer un cortocircuito a tierra, la otra MCU (que intenta sacar su pin de salida a la altura) se encontrará con una carga pesada. Puede fallar al tirar tan alto como debería, y hacer que fluya demasiada corriente (lo que lo pone en riesgo). En riesgo también está su controlador de motor, especialmente si es PWM. No saber si debe ser "alto" o "bajo" (en algún punto intermedio), puede sobrecalentarse.
Así que arriesgas todo .

    
respondido por el glen_geek
4

No.

En la entrada de la mayoría de los pines de un dispositivo como el AVR ATmega328 hay diodos para proteger el chip de la descarga electrostática (ESD). Estos diodos se conectan al riel de alimentación del dispositivo.

Si conduce una señal lógica en un pin cuando el dispositivo no está encendido, intentará alimentarse a través del diodo. Esto puede no causar daños, pero a menudo afectará los circuitos de encendido y restablecimiento, por lo que el dispositivo no se encenderá correctamente cuando haya energía disponible. A menudo es la causa de un consumo inesperado de energía en los circuitos alimentados por batería.

Debe colocar un multiplexor para seleccionar qué MCU impulsa el controlador de su motor o disponer que ambas MCU tengan alimentación, pero la que no está diseñada para operar el motor mantiene sus puertos de E / S en un estado de alta impedancia ( por ejemplo, como una entrada).

    
respondido por el Kevin White
2

De acuerdo con la especificación V ih = V CC + 0.5 V, por lo tanto, no.

Sin embargo, si V CC está realmente "abierto", la alimentación de los pines de E / S aplicará un fantasma V CC al dispositivo, por lo que realmente no será off, así que eso niega el problema anterior, pero abre una lata de gusanos completamente nueva.

Incluso si lo anterior no fuera un problema, no hay ninguna garantía de que realmente sea capaz de conducir un pin de E / S alto cuando se apague el dispositivo. Puede encontrar que la salida es extremadamente baja resistencia a tierra.

El último problema también se aplica a pines de entrada , por cierto. Suponiendo que los chips V CC se hayan desintegrado a tierra, la entrada representará un diodo a un condensador a tierra en cualquier señal que esté tratando de medir con el otro dispositivo.

Básicamente ... no lo hagas.

    
respondido por el Trevor_G
1

Aunque no está en la hoja de datos, la regla de oro es que los diodos de protección ESD internos pueden tener 1 mA para un chip AVR de 8 bits. Los diodos permiten más corriente, pero el máximo recomendado es 1 mA.
Cuando se hace un divisor de voltaje con dos resistencias, este 1mA se puede usar para calcular el voltaje máximo permitido para el divisor de voltaje.

La nota de aplicación Atmel AVR182 menciona el 1mA.

Una corriente positiva en un pin fluye a VCC y podría alimentar el chip AVR y / o el circuito. Eso podría resultar en un comportamiento impredecible cuando el chip AVR se está ejecutando cerca de su límite de voltaje más bajo.
Con suficiente voltaje y corriente, incluso podría elevar el voltaje muy por encima de los 5,5 V y destruir el chip AVR. Especialmente cuando el chip AVR está en modo de suspensión. Por lo tanto, es peligroso de usar, pero se puede hacer.

Siempre tenga cuidado al aplicar voltajes a un pin. Use una resistencia de protección para limitar la corriente. Eso también es más seguro para la operación normal. Eso significa que cuando dos chips AVR 5V están conectados entre sí, debería haber 4k7 resistencias entre ellos para limitar la corriente a aproximadamente 1 mA cuando un chip AVR no tiene energía. Dependiendo del circuito, ese 4k7 podría influir en las señales.

Puede haber incluso más consecuencias, no estoy seguro de que las haya mencionado todas.

    
respondido por el Jot
-1
  

¿Es seguro conducir los pines de este chip AVR mientras está sin alimentación?

lo que es seguro o no es relativo.

la alimentación fantasma de un dispositivo puede ser útil - > básicamente en la demanda de energía. por ejemplo, puede tener una configuración en la que los esclavos tengan alimentación fantasma y normalmente estén apagados. El maestro puede enviar algunos pulsos en la línea de transmisión para activarlo y, una vez que finaliza la transmisión, el dispositivo se apaga solo.

pero como todo en la vida, tiene sus propios riesgos que deben ser reconocidos y administrados adecuadamente.

por lo que es incorrecto decir categóricamente que la alimentación fantasma es una buena o mala práctica.

    
respondido por el dannyf

Lea otras preguntas en las etiquetas