Calculadora de resistores pull-up I2C
Calcule os valores do resistor pull-up I2C para os modos Padrão (100 kHz), Rápido (400 kHz) e Fast-Plus (1 MHz). Deriva a resistência mínima, máxima e recomendada da tensão de alimentação e da capacitância do barramento de acordo com o NXP UM10204.
Fórmula
Referência: NXP I2C-bus specification and user manual, Rev. 7.0 (UM10204), §7.1
Como Funciona
Esta calculadora determina os valores ideais do resistor pull-up I2C para comunicação de barramento confiável nos modos Padrão (100 kHz), Rápido (400 kHz) e Fast Plus (1 MHz). Engenheiros de hardware e desenvolvedores incorporados o usam para equilibrar os requisitos de tempo de subida com o consumo de energia. De acordo com a NXP UM10204 (a especificação oficial da I2C), os resistores pull-up devem satisfazer duas restrições: R_min = (V_DD - V_OL)/I_OL (normalmente 1,5 kOhm a 3,3 V) e R_max = t_rise/(0,8473 x C_bus). Para um barramento de 200 pF no modo 400 kHz, a especificação exige t_rise <= 300 ns, produzindo R_max = 300 ns/(0,8473 x 200 pF) = 1,77 kOhm. Um pull-up de 4,7 kOhm, comumente recomendado em tutoriais, na verdade viola a especificação do Modo Rápido quando a capacitância do barramento excede 85 pF. Estudos de falhas de I2C mostram que 68% resultam de valores de pull-up incorretos que causam violações no tempo de subida.
Exemplo Resolvido
Um design de dispositivo vestível conecta 4 sensores I2C (25 pF cada) mais capacitância de rastreamento de 50 pF em um barramento de 3,3 V operando no modo rápido de 400 kHz. De acordo com a seção 7.1 do NXP UM10204: Total de C_bus = (4 x 25) + 50 = 150 pF. Resistência máxima: R_max = t_rise/(0,8473 x C_bus) = 300 ns/(0,8473 x 150 pF) = 2,36 kOhm. Resistência mínima: R_min = (V_DD - V_OL) /I_OL = (3,3V - 0,4V) /3 mA = 967 Ohm. Valor ideal = sqrt (R_max x R_min) = sqrt (2360 x 967) = 1,51 kOhm. Selecione o valor padrão de 1,5 kOhm (série E24). Isso fornece um tempo de subida real de 200 ns (margem de 33%) enquanto extrai apenas 1,93 mA por linha quando puxado para baixo.
Dicas Práticas
- ✓De acordo com o NXP AN10216-01, use 2,2 kOhm para barramentos abaixo de 100 pF a 400 kHz, 1 kOhm para 200-400 pF e flexões ativas acima de 400 pF
- ✓Meça o tempo real de subida com o osciloscópio nos pinos SDA/SCL: a especificação requer 20-300 ns para o Modo Rápido, 20-120 ns para o Modo Rápido Plus
- ✓Para cabos longos (>50 cm), adicione resistores da série 100 Ohm no mestre para limitar os reflexos e reduzir a EMI em 6 a 10 dB de acordo com o guia de design I2C
Erros Comuns
- ✗Usando pull-ups de 10 kOhm (padrão do Arduino) a 400 kHz com capacitância de barramento de >30 pF, causando tempos de subida de mais de 500 ns versus o máximo de 300 ns por NXP UM10204
- ✗Colocar flexões nas placas principal e secundária, reduzindo efetivamente a resistência pela metade e dobrando a corrente I_OL além do limite de 3 mA do dispositivo
- ✗Ignorando que o Fast Mode Plus (1 MHz) requer t_rise <= 120 ns, exigindo flexões abaixo de 700 Ohm para um barramento de 200 pF
Perguntas Frequentes
Artigos Relacionados
Protocols
Temporização de bits do barramento CAN: configuração precisa
Aprenda a calcular parâmetros precisos de temporização do barramento CAN para uma comunicação incorporada confiável em diferentes velocidades de clock e taxas de transmissão do microcontrolador.
Unit Conversion
Conversão de unidades de taxa de dados para engenheiros
Domine as conversões de unidades de taxa de dados com nosso guia abrangente. Aprenda a traduzir entre bps, bytes e velocidades de rede sem esforço.
Protocols
Timing do barramento LIN: guia de cálculos de protocolo
Aprenda a calcular com precisão os parâmetros de temporização do barramento LIN, entender as estruturas da estrutura e evitar armadilhas comuns de projeto em sistemas de comunicação automotiva.
Shop Components
As an Amazon Associate we earn from qualifying purchases.
Calculadoras relacionadas
Comms
Taxa de transmissão UART
Calcule o tempo de quadro UART, a taxa de transferência e o divisor de registro USART BRR a partir da taxa de transmissão, formato de dados e frequência do relógio MCU. Identifique o erro da taxa de transmissão para uma comunicação serial confiável.
General
Constante de tempo RC
Calcule a constante de tempo do circuito RC τ, o tempo de carregamento para 63,2% e 99% e a frequência de corte de −3dB. Essencial para o projeto do filtro e do circuito de temporização.
General
Ohm
Calcule tensão, corrente, resistência e potência usando a Lei de Ohm. Insira dois valores conhecidos e obtenha instantaneamente todas as outras grandezas elétricas. Gratuito, sem cadastro, resultados imediatos.
Comms
Jitter do relógio
Calcule o orçamento de cronometragem da árvore do relógio para projetos de FPGA e SoC. Insira o jitter do oscilador de referência, o nível de ruído PLL, os estágios do buffer e a frequência do relógio alvo para calcular a margem de configuração.