Calculadora Pull-up I2C

Calcule valores óptimos de resistencia pull-up I2C basados en capacitancia del bus y modo de velocidad. Soporta Standard, Fast y Fast Mode Plus.

I2CPull-upResistorBusComunicaciónEmbebido

Calculadora

pF

Total SDA/SCL line capacitance

V
       Vcc           Vcc
        │             │
       ┌┴┐           ┌┴┐
       │ │ Rp        │ │ Rp
       └┬┘           └┬┘
        │             │
   SDA ─┼─────────────┼─ SCL
        │             │
     ┌──┴──┐       ┌──┴──┐
     │     │       │     │
     │ IC1 │       │ IC2 │
     │     │       │     │
     └─────┘       └─────┘

Cómo Usar Esta Calculadora

Esta calculadora de resistencias pull-up I2C le ayuda a encontrar los valores óptimos de resistencia pull-up para su bus I2C basándose en la capacitancia del bus, el voltaje de alimentación y los requisitos del modo de velocidad.

  1. Estime la Capacitancia del Bus — Suma de todas las capacitancias de entrada de dispositivos más la capacitancia de pistas/cables
  2. Ingrese el Voltaje de Alimentación — Típicamente 3.3V o 5V
  3. Seleccione el Modo de Velocidad — Estándar (100kHz), Rápido (400kHz) o Modo Rápido Plus (1MHz)
  4. Haga Clic en Calcular — Obtenga el rango de resistencia válido y valores recomendados

Fórmulas de Pull-up I2C

Rmax = tr / (0.8473 × Cbus)
Rmin = (Vcc - Vol) / Iol
Donde tr = tiempo de subida máx., Cbus = capacitancia total

Entendiendo las Restricciones

  • Resistencia Máxima: Limitada por requisitos de tiempo de subida. Mayor capacitancia necesita menor resistencia
  • Resistencia Mínima: Limitada por corriente de sumidero de salida (Iol). No debe exceder la capacidad del dispositivo para tirar la línea a bajo
  • El factor 0.8473: Derivado del tiempo de subida RC para alcanzar 0.7×Vcc (umbral de ALTO lógico)

Modos de Velocidad I2C

ModoFrecuencia Máx.Tiempo Subida Máx.Capacitancia Máx.Corriente Sumidero
Modo Estándar100 kHz1000 ns400 pF3 mA
Modo Rápido400 kHz300 ns400 pF3 mA
Modo Rápido Plus1 MHz120 ns550 pF20 mA
Alta Velocidad3.4 MHz400 pFEspecial

Nota: El modo de alta velocidad requiere pull-ups activos (fuentes de corriente) en lugar de pull-ups resistivos.

Estimando la Capacitancia del Bus

Fuentes de Capacitancia

  • Capacitancia de Entrada del Dispositivo: 3-10 pF por dispositivo (verificar hojas de datos)
  • Pista de PCB: ~1-2 pF/cm para anchos de pista típicos
  • Conector: 2-5 pF por conector
  • Cable: 30-100 pF/metro dependiendo del tipo de cable

Ejemplo de Cálculo

3 dispositivos en una PCB de 10cm:

  • 3 dispositivos × 10 pF = 30 pF
  • 10 cm de pista × 1.5 pF/cm = 15 pF
  • Total: ~45 pF (agregar 20% margen = 54 pF)

Preguntas Frecuentes

¿Puedo usar diferentes valores de pull-up para SDA y SCL?

Típicamente se usa el mismo valor para ambas líneas. Sin embargo, si una línea tiene capacitancia significativamente diferente (ej. pista más larga), podría optimizar cada una independientemente.

¿Qué pasa si mi rango calculado es muy pequeño o inválido?

Esto usualmente significa que su capacitancia de bus es muy alta para el modo de velocidad. Soluciones: reducir el número de dispositivos, acortar pistas, usar un buffer/extensor de bus, o bajar a un modo más lento.

¿Debería usar los pull-ups internos de mi microcontrolador?

Los pull-ups internos (típicamente 20-50kΩ) son usualmente muy débiles para operación I2C adecuada, especialmente a velocidades de Modo Rápido o con capacitancia de bus significativa. Siempre use pull-ups externos para comunicación confiable.

¿Dónde debo colocar las resistencias pull-up?

Coloque los pull-ups en el extremo del dispositivo maestro del bus, o lo más cerca posible del maestro. Use solo un par de pull-ups por bus, no un par por dispositivo.

Verifique su Selección de Componentes

Después de calcular los valores de sus componentes, use Schemalyzer para verificar su diseño de esquemático. Nuestro análisis impulsado por IA detecta errores comunes y sugiere mejoras.

Pruebe la Revisión Gratuita