He oído que dejar un pin flotando en una MCU cuando se configura como entrada (frente a la salida por defecto) es malo para el pin, y puede llegar a causar que falle prematuramente. ¿Es esto cierto? N.B. en mi caso el pin está flotando en algún lugar entre 0,3V y 1,3V debido a una señal de vídeo entrante. Esto a veces cae en la zona de nadie de 0,8V - 2,0V cuando se opera desde 3,3V.
Respuestas
¿Demasiados anuncios?El problema:
Dejar un pin configurado como entrada flotante es peligroso simplemente porque no se puede estar seguro del estado del pin. Como mencionaste, debido a tu circuito, tu pin a veces estaba en LOW o a veces en tierra de nadie o a veces podía pasar a HIGH.
Resultado:
Esencialmente, la entrada flotante causará definitivamente un funcionamiento errático del chip o un comportamiento imprevisible. He notado que algunos chips se congelan simplemente acercando mi mano a la placa (no llevaba una pulsera ESD) o algunos tendrían un comportamiento de arranque diferente cada vez que la placa se encendiera.
Por qué:
Esto sucede simplemente porque si hay ruido externo en ese pin, el pin oscilaría, lo que drenaría energía como las puertas lógicas CMOS drenan energía cuando cambian de estado.
Solución:
La mayoría de los micros de hoy en día también tienen pullups internos, lo que podría evitar que se produzca este comportamiento. Otra opción sería configurar el pin como una salida para que no afecte a los internos.
Es un poco peor que estar en un estado desconocido, o alternar innecesariamente. Los circuitos digitales de hoy en día son en su mayoría del tipo CMOS, con transistores que conmutan tanto en el lado alto como en el bajo; cuando tenemos 1s y 0s claros, están apagados o saturados, los dos estados más eficientes para que los transistores estén en ellos. En medio, sin embargo, hay una región de funcionamiento lineal; se utiliza para los amplificadores analógicos, pero no es tan eficiente como los extremos, lo que significa que se desperdicia más energía en forma de calor en el transistor. En el peor de los casos, tanto los transistores del lado alto como los del lado bajo pierden así (porque el pin no es, de hecho, ni alto ni bajo), y pueden entonces combinarse para causar una corriente notable dentro del chip al tratar de conducir el estado interno tanto alto como bajo - posiblemente haciendo lo mismo a la siguiente puerta en una reacción en cadena. El calor podría convertirse en un problema incluso si la potencia no lo es. Las soluciones de IntelliChick siguen siendo válidas.
En el caso de los pines conectados también a los ADC, algunos microcontroladores ofrecen la función de desactivar el búfer de entrada digital, para evitar tanto este problema como las fugas que distorsionan la señal.
En la práctica, el principal efecto es un mayor consumo de energía. Si un pin está realmente flotando en lugar de estar conectado a alguna fuente de tensión indeterminada, es posible que se produzca una oscilación, que además de aumentar el consumo de energía puede introducir ruido en otras partes del sistema. Cualquier pin que tenga la capacidad de ser utilizado para una entrada de ADC o comparador tendrá la facilidad de desconectar el buffer de entrada digital para evitar este problema. (DIDR en AVR, ADCON1/ANSEL en PIC)
Generalmente es una mala idea dejar el pin de entrada como flotante ya que esto puede causar:
a) Problemas funcionales - estado de la entrada desconocido, conmutación (por ejemplo, puede desencadenar una interrupción con un ISR indefinido que colgaría el procesador)
b) Mayor consumo de energía: lo más probable es que la puerta de entrada sea similar al inversor CMOS. Con esta estructura, cuando la entrada está lo suficientemente lejos de cualquiera de los dos carriles (por ejemplo, a la mitad de la alimentación), fluye constantemente una corriente cruzada significativa.
c) Si la corriente transversal fluye el fenómeno conocido como inyección de portador en caliente puede realmente disminuir la vida útil del dispositivo. La puerta de entrada puede estar diseñada sólo para la conmutación normal y no para la conducción continua, por lo que el dispositivo puede fallar catastróficamente. Sin embargo, hay que tener en cuenta que se necesitaría colocar el dispositivo en tales condiciones durante muchos cientos de horas a una temperatura elevada para que esto ocurra.
Obsérvese que las letras a) y b) son problemas reales con los que muy probablemente uno se encontrará. En cuanto a c), es un problema menos probable, pero ¿por qué arriesgarse?
- Ver respuestas anteriores
- Ver más respuestas