Resistencias Pull Up y Pull Down en Circuitos Digitales

Las resistencias denominadas Pull up y Pull down, muy empleadas en circuitos electrónicos digitales, no son ningún tipo de resistencia o componente electrónico especial por su construcción, se trata de resistencias comunes que reciben este nombre por su cometido dentro del circuito. Estos nombres son una forma de referirse a ellas de manera corta, a lo que tan aficionado es el mundo técnico y especialmente si se habla en inglés.

¿Qué son las resistencias Pull Up?

Las resistencias Pull-up son utilizadas en circuitos digitales para asegurar en cualquier circunstancia un nivel lógico seguro y definido en una determinada entrada o pin digital. Cabe recordar que en electrónica digital existen tres estados lógicos:

  • Alto (High): Representa la presencia de voltaje eléctrico, también llamado Uno Lógico.
  • Bajo (Low): Representa la ausencia de voltaje eléctrico, también llamado Cero Lógico.
  • Flotante (Floating): Estado de Alta Impedancia (Hi-Z). Desconectado del resto del circuito electrónico.

 

El estado de Alta Impedancia se utiliza cuando deseamos inhibir determinadas salidas digitales, por ejemplo, en Buses de Comunicación. Eléctricamente es igual que si no estuviera conectado, por lo tanto, no interfiere el funcionamiento eléctrico del resto de circuitos. No todos los circuitos digitales disponen en sus salidas de los tres estados, a las salidas digitales dotadas de esta característica se les denomina tri-state. Los circuitos digitales de tecnología TTL suelen integrar para conseguirlo un par de transistores conectados en configuración Totem Pole.

SalidaTTL_TotenPole.png

Pero lo que en una salida digital puede ser útil, ya que nos permite conectar distintas salidas digitales a un solo cable y en cada momento decidir cual de ellas controla el estado lógico de todas las entradas conectadas (eso es un bus digital), para una entrada digital es inadmisible, ya que solo puede reconocer estados Altos y Bajos. Una entrada digital no conectada, o en Alta Impedancia, recogerá todo el ruido eléctrico ambiental, lo que dará lugar a errores debidos a que ese ruido será interpretado como bruscas modificaciones de estados lógicos. Además, producirá sobreconsumos y oscilaciones eléctricas indeseadas. Todo ello, producirá comportamientos no esperados que se manifestarán en forma de averías aleatorias que, en ocasiones, pueden llegar a causar daños irreversibles en la electrónica de la entrada digital.

Ruido_electrico.png

Por ejemplo, un microcontrolador con un pin al aire (sin conectar) o conectado a un interruptor abierto, ¿a qué valor lógico estaría conectado?

Para resolver esta indeterminación solo deberemos conectar la entrada digital, mediante una resistencia, a la tensión de alimentación (presencia de voltaje = estado lógico Alto). A esta resistencia se le dará un valor suficientemente alto como para que cuando debemos poner esa entrada en estado Bajo, pueda soportar la corriente eléctrica que circule por ella. (Ley de Ohm)

En el caso de una entrada manual mediante interruptor, sería algo así:

Por lo tanto, una resistencia Pull-up no es otra cosa que una resistencia de valor fijo, conectada entre la alimentación eléctrica (normalmente +5v) y la entrada digital en la deseamos asegurar un valor lógico Alto. Con ella, eliminamos cualquier posibilidad de indeterminación en su estado eléctrico producida por las salidas digitales o mecánicas (pulsadores, interruptores, etc.) a las que se conecta.

Las resistencias Pull-up son resistencias que se utilizan para asegurar el nivel lógico Alto en caso de ausencia de señales digitales.

 

¿Qué son las resistencias Pull Down?

Las resistencias Pull-down tienen el mismo cometido que las Pull-up, pero en lugar de asegurar el valor lógico Alto, aseguran el nivel lógico Bajo.

Vemos en el siguiente ejemplo, con una entrada digital conectada a un interruptor, que cuando el interruptor está cerrado, la entrada digital tiene un estado lógico Alto (+5V). Y cuando el interruptor está abierto, aseguramos un estado lógico Bajo (0v) a través de la resistencia Pull-down conectada a GND.

 

¿Qué valor deben tener las resistencias Pull Up y Pull Down?

Depende de dos factores. El primero es la disipación térmica y consumo eléctrico de la propia resistencia. Un valor de resistencia demasiado bajo dará lugar a una corriente eléctrica elevada (Ley de Ohm) que calentará la resistencia y consumirá más energía de la posiblemente sea necesaria. Un valor de resistencia demasiado alto puede hacer que la corriente que debe asegurar el estado Bajo o Alto sea insuficiente, por lo que no cumpliría su cometido de asegurar el valor lógico en caso de indeterminación eléctrica.

La desventaja de usar resistencias demasiado altas es que la respuesta de las entradas digitales a los cambios de voltaje se vuelven más lentas.

Como regla general se debe usar una resistencia de valor 10 veces menor a la impedancia de la entrada digital, lo que no suele ser ningún problema, ya que normalmente las entradas digitales tienen una impedancia igual o superior a 1MΩ. Y para evitar el calentamiento y sobreconsumo eléctrico, si la alimentación es a 5 voltios, se suelen emplear resistencias de entre 1KΩ y 10KΩ (corriente entre 5mA y 0,5 mA) dependiendo de la inmunidad al ruido eléctrico y características propias de la entrada digital que especifique el fabricante.

En caso de duda, se puede empezar probando con una resistencia de 4,7KΩ, y para circuitería CMOS (la más habitual actualmente) probar con 10KΩ, aunque debido a la pequeña corriente y alta impedancia de entrada con la que trabaja la tecnología CMOS se podría llegar a 1MΩ. La desventaja de usar resistencias demasiado altas es que la respuesta de las entradas digitales a los cambios de voltaje se vuelven más lentas, además de disminuir su inmunidad al ruido eléctrico.

 

Aplicaciones típicas de las resistencias Pull Up y Pull Down

Como se puede deducir de las anteriores explicaciones, son prácticamente obligatorias cuando se usan interruptores o pulsadores manuales conectados a entradas digitales, pero también se utilizan cuando debemos conectar distintas salidas tri-state a una entrada digital, o cuando un solo pin digital puede funcionar como entrada y salida. En general, se utilizarán siempre que necesitemos garantizar un determinado valor lógico de manera permanente o durante tránsitos rápidos de estados lógicos donde además facilitan la descargar de las capacidades parásitas que aparecen en el circuito (Descarga de Condensador).

…para evitar circuitería exterior, muchos circuito integrados ya disponen de resistencias Pull-up o Pull-down en su interior.

Cabe destacar que para evitar circuitería exterior, muchos circuitos integrados ya disponen de resistencias Pull-up o Pull-down en su interior, y en el caso concreto de los Microcontroladores, es muy habitual que la conexión o no de sus resistencias Pull-up o Pull-dowm interiores sea configurable mediante programación. Así, por ejemplo en las placas Arduino, la función pinMode() permite utilizar la constante INPUT_PULLUP para configurar un pin de entrada conectado a la resistencia Pull-up integrada en el microcontrolador.

Un ejemplo de uso muy habitual son la típicas resistencias (normalmente de 4K7) empleadas en los buses de comunicación I2C.

 

5 comentarios en “Resistencias Pull Up y Pull Down en Circuitos Digitales

  1. Mas claro que el agua destilada mi amigo, te felicito por tu pedagogía; así entiende hasta el que no quiere entender

Deja un comentario