Resistencia de pull-up I²C

R_max = t_rise / (0.8473 × C_bus)

Calculadora

Resultado

Fórmula

R_max = t_rise / (0.8473 × C_bus)

Descripción

I²C utiliza salidas de drenador abierto con resistencias de pull-up externas para llevar las líneas SDA y SCL a nivel alto. El tiempo de subida depende de la constante de tiempo RC formada por la resistencia de pull-up y la capacitancia total del bus, que incluye la capacitancia de los pines de todos los dispositivos conectados, la capacitancia de las pistas y cualquier circuito de protección. El factor 0.8473 proviene de la ecuación de carga RC resuelta para el tiempo necesario para alcanzar el umbral lógico alto de 0.7×Vdd partiendo de 0.3×Vdd. Una resistencia demasiado grande produce tiempos de subida lentos que violan la especificación I²C, mientras que una resistencia demasiado pequeña excede la capacidad de corriente de sumidero de las salidas de drenador abierto.

Variables

  • R — Resistencia de pull-up máxima (Ω)
  • t_rise — Tiempo de subida máximo permitido (s)
  • C_bus — Capacitancia total del bus (F)

Notas prácticas

El modo estándar de I²C permite un tiempo de subida de 1000 ns con una capacitancia de bus máxima de 400 pF, lo que da un pull-up máximo de ~2.95 kΩ. El modo rápido (400 kHz) permite 300 ns, dando ~880Ω. Un punto de partida típico es 4.7 kΩ para el modo estándar y 2.2 kΩ para el modo rápido. La resistencia de pull-up mínima está limitada por la especificación de corriente de sumidero de 3 mA.