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.
Calculadora
Total SDA/SCL line capacitance
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.
- Estime la Capacitancia del Bus — Suma de todas las capacitancias de entrada de dispositivos más la capacitancia de pistas/cables
- Ingrese el Voltaje de Alimentación — Típicamente 3.3V o 5V
- Seleccione el Modo de Velocidad — Estándar (100kHz), Rápido (400kHz) o Modo Rápido Plus (1MHz)
- Haga Clic en Calcular — Obtenga el rango de resistencia válido y valores recomendados
Fórmulas de Pull-up I2C
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
| Modo | Frecuencia Máx. | Tiempo Subida Máx. | Capacitancia Máx. | Corriente Sumidero |
|---|---|---|---|---|
| Modo Estándar | 100 kHz | 1000 ns | 400 pF | 3 mA |
| Modo Rápido | 400 kHz | 300 ns | 400 pF | 3 mA |
| Modo Rápido Plus | 1 MHz | 120 ns | 550 pF | 20 mA |
| Alta Velocidad | 3.4 MHz | — | 400 pF | Especial |
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