Ir para o conteúdo

Resistor de pull-up do I2C e capacitor de debounce RC

Informe a tensão, a velocidade e a capacitância do barramento I2C: veja o resistor de pull-up mínimo e máximo; informe o tempo e o resistor do debounce para achar o capacitor.

  • Roda no seu navegador

Entrada

Tensão de alimentação do barramento.

Velocidade do barramento

Define o tempo de subida máximo.

Soma de fios, trilhas e pinos; o máximo é 400 pF.

Valor típico, ajuste pela chave que você usa: não há fonte única para 5 a 20 ms.

O resistor da rede RC do botão.

Resultado

O resultado aparece aqui.

A faixa do resistor de pull-up do I2C

Rp máx. = tr ÷ (0,8473 × Cb) | Rp mín. = (Vcc − 0,4 V) ÷ 3 mA

O tempo de subida tr do barramento vale no máximo 1000 ns a 100 kHz e 300 ns a 400 kHz, e o 0,8473 vem do tempo de subida entre 30% e 70% de Vcc num circuito RC. A corrente de saída em nível baixo é de 3 mA com tensão de até 0,4 V. A capacitância Cb do barramento vai até 400 pF. Entre o mínimo e o máximo ficam os valores possíveis de Rp.

Quatro barramentos

Em 3,3 V a 100 kHz com 100 pF, o resistor pode ir de 0,97 kΩ a 11,8 kΩ. A 400 kHz e 5 V com 200 pF, a faixa é de 1,53 a 1,77 kΩ. Com 400 pF a 400 kHz, o máximo cai para 0,89 kΩ e o mínimo de 1,53 kΩ não cabe: a faixa deixa de existir. Em 1,8 V a 100 kHz com 20 pF, vai de 0,47 a 59,01 kΩ.

Vcc (V)VelocidadeCb (pF)Rp mín. (kΩ)Rp máx. (kΩ)
3,3100 kHz1000,9711,8
5400 kHz2001,531,77
5400 kHz4001,530,89

Debounce RC de um botão

C = t ÷ R (t em ms, R em kΩ, C em µF)

Para um tempo de debounce de 10 ms com 10 kΩ, o capacitor é de 1 µF. Com 5 ms e 4,7 kΩ, são 1,0638 µF. O tempo de debounce é um valor típico e editável: não há fonte única para a faixa usual de 5 a 20 ms. Ajuste pela chave que você usa e confirme as especificações do barramento na norma do I2C.

Perguntas frequentes

Como calcular o resistor de pull-up do I2C?

O máximo é Rp = tr ÷ (0,8473 × Cb) e o mínimo, (Vcc − 0,4) ÷ 3 mA. Em 3,3 V a 100 kHz com 100 pF, vai de 0,97 a 11,8 kΩ.

Como calcular o capacitor do debounce RC?

Divida o tempo de debounce pelo resistor: C = t ÷ R. Com 10 ms e 10 kΩ, são 1 µF. O tempo é um valor típico editável.

Qual a capacitância máxima do barramento I2C?

A especificação do I2C limita o barramento a 400 pF nos modos Standard e Fast. Quanto maior a capacitância, menor o resistor de pull-up máximo que cumpre o tempo de subida.