¿Por qué mi microcontrolador está pasando una corriente cuando no está conectado?

7

MCU: ATTiny13

Me di cuenta de esto después de intentar depurar por qué presionar mi interruptor (conectado a través de R2, una resistencia desplegable de 507 kOhm) hace que el LED se atenúe cuando se presiona. El interruptor fue alimentado por la misma línea de suministro que la entrada Vcc al microcontrolador.

Al desconectar la entrada Vcc (Pin 8), noté que el LED aún estaba encendido cuando se presionó el interruptor. Si quité una conexión del pin de tierra 4, el LED aún se ilumina, pero es menos brillante.

El siguiente circuito representa lo que observé. El interruptor se elimina para simplificar el problema:

¿Porquésucedeestoycómopuedodetenerlo?Estáinterfiriendoconlasalidacuandosepresionaelbotón.

Aquíhayunafotodelcircuitoenunaplacadepruebas.Lalíneadesuministro(5Veselcablerojo,latierraesnegra):

    
pregunta tgun926

5 respuestas

22

Las entradas de muchos dispositivos CMOS modernos tienen diodos de protección ESD desde los pines de E / S a los rieles de suministro, que esperan desviar las sobretensiones transitorias al suministro antes de que causen daños.

Un efecto secundario de esto es que el chip puede, al menos en cierto grado, alimentarse a través de un pin de E / S, una vez que el pin se levanta lo suficiente contra el suministro (sin suministro) para desviar el diodo hacia adelante. Incluso en tecnologías sin diodos de protección explícitos, podría suceder en cierta medida, aunque a menudo resultó en una operación muy poco confiable (error clásico: olvídate de encender un chip y verlo como que funciona). Lo hice yo mismo con un flash SPI este pasado. Enero, que de alguna manera nunca obtuvo un terreno, y proporcionaría respuestas esperadas hasta que intenté escribir ubicaciones flash).

En general, no desea alimentar un chip de esta manera: está fuera de los valores máximos absolutos, y es posible que el diodo de protección no esté dimensionado para soportar toda la corriente de funcionamiento. Sin embargo, a veces lo ves, tanto en experimentos intencionales, como en RF El emulador de etiquetas RFID de ATTiny se realiza en forma aleatoria, o accidentalmente en casos como intentar medir el consumo de energía de una MCU inactiva y pedirle que extraiga energía de su puerto de depuración en serie en lugar del suministro que está tratando de medir.

    
respondido por el Chris Stratton
8

La hoja de datos de su dispositivo tiene esta tabla:

En esta tabla, VCC significa el voltaje aplicado al pin VCC, no a la red en su circuito que ha etiquetado VCC.

Ya que no ha aplicado ningún voltaje al pin VCC, no debe aplicar más de 0.5V a ningún otro pin. Su conexión PB4 está violando esta regla.

    
respondido por el Ben Voigt
4

Flujos de corriente a través de diodos internos de sujeción.

Los circuitos internos (simplificados) tienen este aspecto:

En este documento de Atmel (nota de aplicación aleatoria que contiene información sobre diodos de sujeción) puede leer:

  

Para proteger el dispositivo de voltajes por encima de VCC y por debajo de GND, el AVR   tiene diodos de sujeción internos en los pines de E / S (consulte la Figura 1). los   Los diodos están conectados desde los pines a VCC y GND y mantienen toda la entrada   señales dentro del voltaje de operación del AVR (ver Figura 2). Cualquier voltaje   más alto que VCC + 0.5V será forzado a VCC + 0.5V (0.5V es el   caída de voltaje sobre el diodo) y cualquier voltaje por debajo de GND - 0.5V será   forzado hasta GND - 0.5V.

    
respondido por el Kamil
1

Solo un apéndice a la respuesta correcta de Chris Stratton.

De hecho, está alimentando el dispositivo a través de los diodos de protección. Hay varias formas de proporcionar protección contra ESD y todas involucran el uso de diodos en los pines para conectarse a un riel en el interior. Por lo tanto, su ruta de conducción y la potencia interna de su chip estarán al menos 1 diodo por debajo de la "potencia" suministrada en el pin.

Puede probar esto midiendo que el pin Vcc será aproximadamente 0.7V más bajo que Vcc.

Cuando desconecta la conexión a tierra, está extrayendo menos corriente a través de los diodos de protección y cambiando el punto de operación de la tensión suministrada al LED. Pero un poco, por lo que esto puede no explicar la diferencia.

Los diodos de protección están diseñados para manejar amperios de corriente durante un ataque ESD, por lo que están bien con este pequeño goteo.

Su peligro al operar el chip de esta manera es que podría provocar un bloqueo hacia arriba, pero la mayoría de los chips están diseñados para que NO puedan engancharse en estas condiciones, por lo que eso no es un problema. Pero una posibilidad.

Otro peligro dependerá de cuál sea la naturaleza exacta de la protección ESD en el chip. Si se trata de un estilo de sujeción y tiene un evento de alta dV / dT, entonces la abrazadera podría dispararse y cortarse el suministro. Pero esto también es poco probable.

    
respondido por el placeholder
0

Probablemente esté alimentando el dispositivo a través de sus diodos de protección PERO lo importante es que está haciendo algo que es "ilegal" y está completamente fuera de las especificaciones. Cualquier cosa puede suceder y no debería sorprenderse si lo hace.

Tu diagrama de circuito es INCORRECTO.
Este es el diagrama de circuito REAL que está utilizando:

Estaesunaversióndehardwarede"basura dentro, basura fuera".

Si haces algo al azar y obtienes un resultado aleatorio, deberías estar feliz, el universo funciona como esperabas.

Más tarde quizás ...

    
respondido por el Russell McMahon

Lea otras preguntas en las etiquetas