¿Es realmente una mala idea dejar un pin de entrada MCU flotante?

28

He oído que dejar un pin flotando en una MCU cuando se configura como una entrada (en comparación con la salida predeterminada) es malo para el pin, y eventualmente puede causar que falle prematuramente. ¿Es esto cierto? Nota: en mi caso, el pin está flotando en algún lugar entre 0.3V y 1.3V debido a una señal de video entrante. Esto a veces cae en la zona de nadie de 0.8V - 2.0V cuando opera desde 3.3V.

Thomas O
fuente
1
¿Ha revisado la hoja de datos y la documentación de la familia MCU? Deberían tener algunas respuestas bastante definidas y puedes ver cómo se implementan los pines internamente.
XTL
@XTL, los escaneé, pero no encontré ninguna referencia. Dicen que los pines flotantes pueden entrar en estados indefinidos, pero no mencionan si podría causar problemas.
Thomas O
Hay una diferencia entre una entrada digital flotante y una entrada definida como analógica. Parece que esta es una entrada analógica.
Martin
@ Martin No puedo hacer que el pin sea una entrada analógica. Tengo un intervalo de tiempo de ~ 125ns para cada píxel en el video (reloj de instrucciones de 25ns), así que no puedo gastar un solo nanosegundo más.
Thomas O
2
¿Qué MCU estás usando que predetermina todos los pines a la salida ? Eso suena como una receta para el desastre.
Connor Wolf

Respuestas:

31

Problema:
Dejar un pin configurado como entrada flotante es peligroso simplemente porque no puede estar seguro del estado del pin. Como mencionó, debido a su circuito, su pin a veces era BAJO o a veces en tierra de nadie o a veces podía ir a ALTO.

Resultado:
Esencialmente, la entrada flotante definitivamente causará un funcionamiento errático del chip o un comportamiento impredecible. He notado que algunos chips se congelaron simplemente moviendo mi mano más cerca del tablero (no llevaba una pulsera ESD) o algunos tendrían un comportamiento de inicio diferente cada vez que el tablero se enciende.

Por qué:
Esto sucede simplemente porque si hay ruido externo en ese pin, el pin oscilaría, lo que agotaría la energía como las puertas lógicas CMOS drenan la energía cuando cambian de estado.

Solución: la
mayoría de los micros de hoy en día también tienen pullups internos, por lo que podría evitar que ocurra este comportamiento. Otra opción sería configurar el pin como salida para que no afecte los componentes internos.

IntelliChick
fuente
3
Si lo está utilizando como entrada, definitivamente causará entradas erráticas, pero ¿realmente afectará a otras partes del chip y causará problemas de inicio?
endolito el
3
Si ignoro el pin y no lo uso para ningún periférico, ¿seguiría causando problemas?
Thomas O
@endolith y Thomas - ¡Creo que mikeselectricstuff ha respondido esto por ti! Podría causar problemas simplemente introduciendo ruido en otras partes del sistema. Sé que fue por el pin flotante, porque tan pronto como lo configuré para una salida, ¡los problemas desaparecieron!
IntelliChick
2
No entiendo cómo una pieza de metal flotante puede introducir ruido en otras partes del sistema. Recoge ruido, sin duda, pero si no está prestando atención a la entrada, eso no debería importar. ¿Los problemas con agitar las manos cercanas están realmente relacionados con las entradas flotantes no utilizadas ?
endolito el
Los pernos flotantes TIL no son inofensivos. Gracias IntelliChick y @Yann!
Nick Johnson el
13

Es un poco peor que simplemente estar en un estado desconocido o alternar innecesariamente. Los circuitos digitales hoy en día son en su mayoría de tipo CMOS, con transistores que cambian los lados alto y bajo; cuando tenemos claros 1s y 0s, están apagados o saturados, los dos estados más eficientes para que estén los transistores. Sin embargo, en el medio hay una región de operación lineal; se usa para amplificadores analógicos, pero no es tan eficiente como los extremos, lo que significa que se desperdicia más energía que el calor en el transistor. En el peor de los casos, tanto los transistores del lado alto como del bajo tienen fugas (porque el pin no es ni alto ni bajo), y luego pueden combinarse para causar una corriente notable dentro del chip cuando intentan elevar el estado interno. y bajo, posiblemente haciendo lo mismo con la siguiente puerta en una reacción en cadena. El calor podría convertirse en un problema incluso si el poder no lo es. Las soluciones de IntelliChick todavía se aplican.

Para los pines también conectados a los ADC, algunos microcontroladores ofrecen la función de deshabilitar el búfer de entrada digital, para evitar que este problema y las fugas distorsionen la señal.

Yann Vernier
fuente
Las entradas no tienen histéresis?
endolito el
3
Las entradas de disparador Schmitt lo hacen, pero generalmente no.
Yann Vernier el
6

En la práctica, el efecto principal es un mayor consumo de energía. Si un pin está realmente flotando en lugar de estar conectado a una fuente de voltaje indeterminada, es posible que ocurra una oscilación, lo 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 usarse para un ADC o entrada de comparación tendrá la facilidad de desconectar el búfer de entrada digital para evitar este problema. (DIDR en AVR, ADCON1 / ANSEL en PIC)

mikeselectricstuff
fuente
¿Qué oscilaría exactamente y por qué?
endolito el
@endolith: el búfer de entrada en el pin. Piense en un búfer inversor con un condensador entre la entrada y la salida.
Connor Wolf
@FakeName: ¿Pero dónde está el inversor? ¿Dónde está la salida que se retroalimenta a la entrada?
endolito el
3
Básicamente, todos los pines IC IO pasan a través de un búfer (a menudo un inversor) en el dado IC . Como el búfer tendrá cables para la entrada y la salida, puede haber un acoplamiento capacitivo entre la entrada y la salida. Por lo tanto, si la entrada es suficientemente alta impedancia, una transición en la salida del inversor puede causar la entrada del inversor al cambio, haciendo que la salida para cambiar de nuevo, etc ....
Connor Lobo
4

En general, es una mala idea dejar el pin de entrada tan flotante como esto puede causar:

a) Problemas funcionales: estado de entrada desconocido, alternar (por ejemplo, puede provocar una interrupción con ISR indefinido que bloqueará 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 rieles (por ejemplo, a la mitad del suministro), la corriente cruzada significativa fluirá constantemente.

c) Si fluye la corriente cruzada, el fenómeno conocido como inyección de portador caliente puede en realidad disminuir la vida útil del dispositivo. La puerta de entrada puede estar diseñada solo para una conmutación normal, no una conducción continua, por lo que el dispositivo puede fallar catastróficamente. Sin embargo, tenga en cuenta que uno necesitaría colocar el dispositivo en tales condiciones durante muchos cientos de horas a temperatura elevada para que esto suceda.

Tenga en cuenta que a) yb) son problemas reales que uno muy probablemente encontrará. En cuanto a c) es menos probable que ocurra un problema, pero ¿por qué arriesgarse?

mazurnificación
fuente
3

La entrada alternará entre 0 y 1 según cualquier EMI. No estoy seguro de si hará que la entrada falle, pero hará que se use más potencia porque las transiciones de 0 a 1 a 0.

Ajústelo a una salida y termine con él.

Robert
fuente
1
Si lo configuro en una salida, 0 o 1, conectará a tierra la señal de video y causará una pérdida de video.
Thomas O
¿Puedes habilitar un pull-up interno y terminar con esto?
endolito
Habilitar el pull-up interno debería ser bueno. El punto es ponerlo en un estado conocido y dejarlo allí.
Robert
2

Algunos dispositivos CMOS de alta velocidad pueden destruirse si una entrada se deja flotando, pero el problema más común que se observa es el aumento del consumo de corriente. En los microcontroladores de la serie PIC, la corriente adicional es del orden de cientos de microamperios por pin flotante. No es suficiente para causar daños en el dispositivo, pero sí lo suficiente como para afectar gravemente la vida útil de la batería en una aplicación que de otro modo consumiría 5uA. Algunos chips tienen opciones para deshabilitar una entrada digital; Si una entrada está deshabilitada, puede dejarse flotando libremente.

Super gato
fuente