Resistência 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)

Descrição

O I²C usa saídas de dreno aberto com resistências de pull-up externas para colocar as linhas SDA e SCL ao nível alto. O tempo de subida depende da constante de tempo RC formada pela resistência de pull-up e a capacitância total do barramento, que inclui a capacitância dos pinos de todos os dispositivos ligados, a capacitância das pistas e qualquer circuito de proteção. O fator 0,8473 vem da equação de carga RC resolvida para o tempo de atingir o limiar lógico alto de 0,7×Vdd a partir de 0,3×Vdd. Uma resistência demasiado grande dá tempos de subida lentos que violam a especificação I²C, enquanto uma resistência demasiado pequena excede a capacidade de corrente de sumidouro das saídas de dreno aberto.

Variáveis

  • R — Resistência de pull-up máxima (Ω)
  • t_rise — Tempo de subida máximo permitido (s)
  • C_bus — Capacitância total do barramento (F)

Notas Práticas

O modo padrão I²C permite um tempo de subida de 1000 ns com 400 pF de capacitância máxima do barramento, resultando num pull-up máximo de ~2,95 kΩ. O modo rápido (400 kHz) permite 300 ns, resultando em ~880Ω. Um ponto de partida típico é 4,7 kΩ para o modo padrão e 2,2 kΩ para o modo rápido. A resistência de pull-up mínima é limitada pela especificação de corrente de sumidouro de 3 mA.