¿Por qué necesitaría una señal flotante en un tablero?

6

Leí lo siguiente de un libro titulado " Un manual de software integrado " por David E. Simon. (Impresión 23 de noviembre / 2014 - Página 16)

  

Si ninguna parte del circuito está activando una señal, entonces esa señal es   Dicen que está flotando. Su voltaje será indeterminado y podrá cambiar.   mientras el tiempo pasa. Los resultados de una señal flotante varían entre inofensivos.   y desastroso, dependiendo de cómo las partes con entradas conectadas a   La señal flotante hace frente al problema.

Según esto, parece que no hay una buena razón para que un circuito tenga una señal flotante. Si esto es correcto, entonces ¿por qué se permitiría tal señal?

¿Se hace esto debido a un error en el diseño del tablero?

¿Hay escenarios en los que se necesita tal señal?

    
pregunta M. A. Kishawy

4 respuestas

23

Las señales flotantes generalmente no son una buena cosa, pero pueden ser aceptables en algunos casos. En todos esos casos, el valor de la señal no importa.

No todas las señales son relevantes todo el tiempo. Un ejemplo común es la línea MISO de un bus SPI. Esto solo se activa de forma activa cuando se selecciona un dispositivo esclavo (habilitado). Su valor solo es relevante por un corto tiempo alrededor de uno de los bordes del reloj SCK. En cualquier otro momento, la señal puede ser de cualquier estado sin afectar el sistema, ya que el sistema lo ignora.

Entonces, ¿qué sucede con MISO cuando no se selecciona un esclavo, como ocurre cada vez que el bus SPI no está en uso? La respuesta es que no te importa. No importa cuál sea su valor ya que nadie lo está mirando. Dado que MISO solo es manejado por el esclavo seleccionado, todos los esclavos no seleccionados y cualquier otra cosa en esa línea debe ser de alta impedancia. Eso significa que cuando no se selecciona ningún esclavo, la línea se deja flotando como se describe en el pasaje que citó anteriormente. Esto no causa datos erróneos, ya que, de nuevo, el sistema está ignorando la línea en ese momento.

Si bien una línea flotante está bien, lógicamente, cuando nada mira su valor, puede ser un problema eléctrico. Muchas entradas lógicas están diseñadas para que la tensión sea sólidamente baja o sólidamente alta. Los valores intermedios pueden causar corrientes más altas que las especificadas en el circuito de entrada y, en algunos casos, incluso pueden hacer que este circuito oscile.

Por esta razón, a menudo hay una resistencia de extracción o extracción débil en las líneas que podrían flotar. Por lo general uso un menú desplegable de 100 kΩ en MISO, por ejemplo. Cuando se selecciona un esclavo, maneja la línea independientemente de la pequeña corriente extra que se necesita para mantenerla en estado alto. Sin embargo, cuando nada está conduciendo la línea, bajará, lo que evitará las corrientes extra no deseadas y las oscilaciones en cualquier cosa que reciba la señal.

También hay tipos de entradas digitales que pueden manejar cualquier voltaje dentro del rango válido sin características indeseables, como corriente extra u oscilaciones. Los activadores de Schmitt son un ejemplo. Estos tienen histéresis, de modo que después de cambiar de un lado a otro, se necesita un voltaje diferente para cambiar de sentido. Una línea flotante puede hacer que la señal digital se interprete de forma aleatoria a medida que su voltaje flota, pero la entrada digital está diseñada para manejar eso. Por supuesto, el resto del sistema aún debe diseñarse para que no le importe el valor de esa señal digital durante el tiempo que esté flotando.

En general, las señales realmente flotantes son malas, pero pueden abordarse fácilmente con una resistencia débil desplegable o pullup.

    
respondido por el Olin Lathrop
7

Puede tener muchas líneas flotantes en su tablero durante el inicio de un microcontrolador.

Generalmente, la mayoría de los pines de un microcontrolador se inicializan como entrada o incluso como entrada analógica, porque el controlador no puede saber cómo configurar sus pines para la placa en la que se encuentra.

En este escenario, la mayoría de las salidas posteriores están flotando al principio, normalmente solo unos pocos milisegundos hasta que el software inicializa los pines en consecuencia. Todavía hay tiempo suficiente para causar algunos problemas, por lo que en las líneas críticas (protección de escritura en una EEPROM, por ejemplo) usamos resistencias de pull-up o pull-down para tener una secuencia de inicio segura.

Encontré algunos chips en los que la lógica no era tan robusta como sugiere la respuesta de Olins, así que me gusta que mis señales sean corregidas.

Una antena puede verse como una línea flotante que se desea, más o menos ...

    
respondido por el Arsenal
6

Un ejemplo me viene a la mente: las líneas de bus que usan varios puertos en momentos diferentes pueden estar flotando cuando no hay ningún puerto que las esté utilizando actualmente.

Creo que el libro dejó en claro que no los necesita , pero que podrían pasar.

Lo menos que se debe hacer en los sistemas que tienen líneas que pueden flotar (por ejemplo, un bus de datos y direcciones en un sistema de microprocesador) es garantizar que ningún dispositivo utilice la señal de esas líneas como entrada siempre que estén flotando (p. ej., configurando la entrada de habilitación de los componentes de memoria, periféricos, etc. a inactiva).

    
respondido por el Curd
2

El peligro de un pin flotante es que su valor no puede ser predeterminado, pero eso no es un problema en sí mismo. El problema proviene de algo que hace uso de ese valor, o hace suposiciones al respecto.

Muchos chips aceptan y manejan internamente algunos de sus pines, lo que mueve la responsabilidad de los diseñadores de tableros a los diseñadores de chips. Esto es más común en los buses de comunicación, pines multifunción y chips con muchas opciones.

    
respondido por el user117772

Lea otras preguntas en las etiquetas