¿Qué significa pull up resistor?

Trataré de explicar esto en términos simples .

¿Qué sucede si no tenemos resistencia pull up?


Cualquier controlador esencialmente tendrá dos interruptores, uno para conectarse a VDD y otro para conectarse a GND. Estos interruptores 1,2,3 y 4 están allí en la imagen de arriba para ese propósito. La imagen de arriba muestra dos controladores I2C conectados al mismo bus.
Ahora digamos que el conductor 2 quiere conducir el bus a baja velocidad usando el interruptor 4. Se supone que el conductor 1 está inactivo durante este tiempo. Pero de acuerdo con la lógica de control, uno de los interruptores 1 o 2 debe estar encendido. Eso significa que habrá dos interruptores que conducen el autobús (puede ser 1 y 4 o 2 y 4) al mismo tiempo. Ambos controladores pueden intentar conducir el bus a diferentes valores, lo que puede resultar en una falla en la operación (esto se denomina contención del bus).

Que sucede con la resistencia pull up

Para evitar esto, generalmente los controladores I2C usan resistencias pullup (esto es muy similar a la familia lógica TTL). El controlador I2C solo tendrá interruptores desplegables (2 y 4). Ahora considere el caso anterior donde uno de los dos maestros está manejando el autobús y el otro quiere permanecer inactivo. El primer transistor desplegable del conductor estará apagado, por lo que su presencia no tendrá ningún efecto.
Si ninguno de los maestros está manejando el bus, el bus se elevará a través de la resistencia de pull-up débil. Cuando alguno de los conductores quiere bajar el autobús, sobrepasará la capacidad de conducción de la resistencia.
Elegir el valor de la resistencia pull up
Elegir el valor del valor de resistencia pull up dependerá de la cantidad de dispositivos conectados al bus. Si el número de dispositivos es demasiado, la carga de la tapa en el bus aumentará y, por lo tanto, se recomienda usar un valor de resistencia bajo, ya que no dañará los bordes del reloj / datos.
El límite más bajo en la resistencia pull-up dependerá de la capacidad de hundimiento del transistor pull-down en el controlador. Porque la cantidad de corriente aumenta a medida que usamos menos valor de resistencia.

Espero que esto ayude. No pude dibujar ningún diagrama. Echa un vistazo a las referencias que he mencionado. Se volverá más claro.

Referencias
1. Cómo funciona el hardware I2C
2. resistencia pull-up
3. http://www.ti.com/lit/an/scaa106…

Una resistencia pull-up no es más que una resistencia que “eleva” la línea de datos a alto voltaje.

Imagen cortesía: AVR Tutorial: Cambiar entrada y rebote

Considere la resistencia R2 en el circuito. Mientras el interruptor S1 no está encendido, R2 proporciona una ruta a VCC para el pin de entrada / salida (digamos su microcontrolador AVR). La importancia de esta resistencia radica en la eliminación de ruidos. Digamos que R2 no estaba allí, y cuando S1 estaba apagado, el pin de E / S estaría “flotando” (ya que no tiene un valor definido).

Por lo tanto, los ruidos externos pueden afectar el pin de E / S (por ejemplo, un elemento magnético induce
actual en este pin), y poner algún valor en el pin. Por lo tanto, aunque el S1 esté apagado, aún obtendríamos valores (que reflejan los ruidos) en el pin de E / S, lo que sería indeseable. Por lo tanto, la resistencia pull up R2 se usa para elevar la E / S cuando S1 está apagado. Cuando S1 está activado, proporciona una ruta de ~ 0 ohmios a tierra y, por lo tanto, el pin está conectado a tierra. De esta manera sus datos activos son cero, es decir. cuando enciende S1, obtiene 0V en el pin de E / S.

Verá que en la programación AVR, los pines de entrada están configurados en ALTO predeterminado (para evitar ruidos) y los puertos de salida están configurados en BAJO predeterminado (para que el microcontrolador pueda escribir los datos en ese pin).

Por lo tanto, los datos I2C y las líneas de reloj se extraen por defecto a valores altos, de modo que la ruta de datos no se ve afectada por los ruidos cuando está inactiva. Un voltaje cero en la línea de datos / reloj se vería afectado por el ruido y podría detectarse como un falso 1. En su lugar, simplemente tiramos de las líneas a VCC. El ruido VCC + seguirá estando en ALTO. El ruido cero + podría volverse ALTO, lo que no queremos.

[PS]: También hay resistencias pull-down, que tiran hacia abajo el pin de E / S cuando está inactivo (apagado) y los interruptores proporcionan una ruta de baja resistencia a VCC.

Las resistencias pull-up son resistencias que se utilizan para garantizar que un cable se tire a un nivel lógico alto en ausencia de una señal de entrada.

Las resistencias pull-up son resistencias utilizadas en circuitos lógicos para garantizar un nivel lógico bien definido en un pin en todas las condiciones. Como recordatorio, los circuitos lógicos digitales tienen tres estados lógicos: alto, bajo y flotante (o alta impedancia). El estado de alta impedancia ocurre cuando el pin no se tira a un nivel lógico alto o bajo, sino que se deja “flotando”. Una buena ilustración de esto es un pin de entrada no conectado de un microcontrolador. No está en un estado lógico alto o bajo, y un microcontrolador podría interpretar de manera impredecible el valor de entrada como un alto lógico o un bajo lógico. Las resistencias pull-up se utilizan para resolver el dilema del microcontrolador al llevar el valor a un estado lógico alto, como se ve en la figura. Si no fuera por la resistencia pull-up, la entrada de la MCU estaría flotando cuando el interruptor está abierto y bajada solo cuando el interruptor está cerrado.

Las resistencias pull-up no son un tipo especial de resistencias; son resistencias simples de valor fijo conectadas entre el suministro de voltaje (generalmente + 5V) y el pin apropiado, lo que resulta en la definición del voltaje de entrada o salida en ausencia de una señal de activación. Un valor típico de resistencia pull-up es 4.7kΩ, pero puede variar dependiendo de la aplicación.

Aplicación: Las resistencias pull-up a menudo se usan cuando se conecta un interruptor o alguna otra entrada con un microcontrolador u otras puertas digitales. La mayoría de los microcontroladores tienen resistencias pull-up / down programables incorporadas, por lo que se necesitan menos componentes externos. Es posible interconectar un conmutador con dichos microcontroladores directamente. En general, las resistencias pull-up se usan con más frecuencia que las resistencias pull-down, aunque algunas familias de microcontroladores tienen tanto pull-up como pull-down disponibles.
A menudo se utilizan en convertidores analógicos a digitales para proporcionar un flujo de corriente controlado en un sensor resistivo.
Otra aplicación es el bus de protocolo I2C, donde se utilizan resistencias pull-up para permitir que un solo pin actúe como entrada o salida. Cuando no está conectado a un bus, el pin flota en un estado de alta impedancia.
Las resistencias pull-down también se utilizan en las salidas para proporcionar una impedancia de salida conocida.

Las resistencias pull-up son resistencias simples de valor fijo, que están conectadas entre el suministro de voltaje y el pin en particular. Estas resistencias se utilizan en circuitos lógicos digitales para garantizar un nivel lógico en un pin, lo que da como resultado un estado en el que el voltaje de entrada / salida es una señal de activación inexistente.

Los circuitos lógicos digitales consisten en tres estados como alta, baja y flotante o alta impedancia. Cuando el pin no se tira a un nivel lógico más bajo o alto, entonces ocurre el estado de alta impedancia. Estas resistencias se utilizan para resolver el problema del microcontrolador llevando el valor a un estado alto.

Cuando el interruptor está abierto, la entrada de los microcontroladores estaría flotando y bajando solo cuando el interruptor esté cerrado. Un valor típico de resistencia pull-up es 4.7kilo Ohms, pero puede cambiar dependiendo de la aplicación.

Funcionamiento de resistencias pull-up y pull-down con ejemplos

Una resistencia pull-up es una resistencia conectada entre una fuente positiva y una señal (o pin del controlador) para garantizar que la señal a esa línea sea un nivel lógico válido si se desconectan dispositivos externos o se introduce una alta impedancia.

Con una resistencia pullup , el pin de entrada leerá un estado alto cuando no se presiona el botón. En otras palabras, una pequeña cantidad de corriente fluye entre VCC y el pin de entrada (no a tierra), por lo tanto, el pin de entrada se lee cerca de VCC. Cuando se presiona el botón, conecta el pin de entrada directamente a tierra

Las resistencias pull up (y pull down) se utilizan para definir niveles lógicos cuando pueden existir condiciones de que el nodo sea un “circuito abierto” eléctricamente. Un circuito eléctricamente abierto se define como una resistencia muy alta (puede ser infinita, dependiendo de la corriente de fuga) al suministro de voltaje o a tierra con la capacitancia del nodo que mantiene el nivel de voltaje. Dado que nada define el nivel de voltaje, el nivel de voltaje estará aproximadamente en el nivel definido previamente mantenido solo por la capacitancia del nodo. Es posible que este no sea el nivel correcto como en muchas estructuras de autobuses. Un bus típico utiliza una configuración drian abierta. Se hace para facilitar la conexión de múltiples dispositivos (a veces esto se llama OR-tie). Dado que la configuración de drenaje abierto no proporciona medios para un nivel alto, un nivel alto es efectivamente un circuito abierto. Por lo tanto, se debe usar una resistencia pull-up. Además, si el voltaje de un nodo se mantiene solo por capacitancia, la corriente de fuga y la corriente de ruido pueden hacer que el voltaje se desplace a un estado indefinido que no es deseable. En tales casos, las resistencias pull up y pull down se utilizan para definir el nivel de voltaje o el nivel lógico.

Hay muchas fuentes disponibles en Internet para leer sobre este tema.
Encontré este blog bastante fácil de entender: resistencia pull-up.
Espero que te ayude también.