O barramento I²C é amplamente utilizado em sistemas embarcados pela sua simplicidade, baixo custo e capacidade de interligar múltiplos dispositivos utilizando apenas duas linhas: SDA (dados) e SCL (clock). No entanto, apesar de sua popularidade, o I²C é um barramento sensível a ruído, capacitância de cabos, falhas de dispositivos e travamentos ocasionados por curtos em um único módulo. Em aplicações reais — especialmente quando vários sensores estão distribuídos em cabos longos, ramificações (“stubs”) ou em ambientes eletricamente ruidosos — confiar no I²C sem mecanismos adicionais de proteção pode comprometer a integridade do sistema inteiro.
Para mitigar esses problemas, diversos projetistas implementam técnicas de robustez que vão além do básico. Entre elas, destaca-se a combinação de resistores em série e diodos Schottky, aplicada individualmente em cada ramificação de módulo. Essa técnica protege contra curtos, limita corrente, reduz interferências eletromagnéticas, desacopla capacitâncias parasitas e, sobretudo, isola falhas de forma que nenhum módulo pode travar o barramento completo.
A topologia analisada neste artigo é ilustrada no circuito abaixo, no qual um Arduino Uno R3 se comunica com quatro dispositivos I²C (U1 a U4). Cada dispositivo é conectado por meio de um resistor em série (R1 a R4) e um diodo Schottky (D1 a D4), formando uma estrutura de proteção individual por ramificação. Essa abordagem aumenta significativamente a confiabilidade do barramento, mesmo na presença de cabos longos, dispositivos de procedência variada ou ambientes sujeitos a picos eletromagnéticos.

Resistores em Série no Barramento I²C (R1–R4)
Quando olhamos para o esquema, vemos que cada módulo I²C (U1, U2, U3, U4) não está ligado “direto” ao barramento SDA/SCL. Em vez disso, há sempre um resistor em série (R1, R2, R3, R4) entre o barramento principal e o pino correspondente do módulo.
Isso não é um mero detalhe: é uma escolha de projeto importante para proteção, estabilidade de sinal e robustez do sistema.
1.1 Função básica: limitar corrente em falhas
O I²C é um barramento “open-drain/open-collector”:
- Os dispositivos apenas puxam a linha para o nível baixo (0).
- O nível alto é obtido por meio dos resistores de pull-up.
Se, por algum motivo, um módulo entrar em falha e curto-circuitar SDA ou SCL para GND (ou mesmo para VCC), sem resistor série a corrente seria limitada somente pela resistência interna dos transistores – o que pode facilmente danificar o módulo, o microcontrolador ou ambos.
Com o resistor série, a corrente máxima é aproximada por:
\[
I_{máx} \approx \frac{V_{CC}}{R_{série}}
\]
Exemplo típico:
- \( V_{CC} = 5,\text{V} \)
- \( R_{série} = 220,\Omega \)
\[
I_{máx} = \frac{5}{220} \approx 22{,}7,\text{mA}
\]
Esse valor é alto, mas muitíssimo menor do que dezenas ou centenas de miliampères que poderiam circular num curto direto.
Na prática, essa limitação:
- Protege o driver de saída do Arduino.
- Impede que uma falha em um único módulo destrua o barramento todo.
- Dá tempo para o sistema detectar o problema (via watchdog, varredura de dispositivos, etc.) sem dano físico imediato.
1.2 Função de “damping”: redução de reflexões e ringing
Fisicamente, o conjunto fio + trilha + entrada do CI se comporta como um sistema RLC distribuído, com:
- Resistência série (do fio e do driver)
- Indutância parasita do cabo
- Capacitância parasita entre condutores e para o terra
Quando o driver muda o nível lógico (especialmente em bordas rápidas), o sinal pode “oscilar” (ringing), produzir overshoot e undershoot, ou mesmo reflexões ao longo do cabo.
O resistor em série aumenta a resistência vista pelo circuito e, em conjunto com a impedância característica do cabo ((Z_0)), ajuda a amortecer essas oscilações:
- sem resistor: \( R_{\text{total}} \approx R_{\text{driver}} \)
- com resistor: \( R_{\text{total}} \approx R_{\text{driver}} + R_{série} \)
Se fizermos:
\[
R_{\text{total}} ;\approx; Z_0
\]
o sistema tende a ficar criticamento amortecido, minimizando reflexões.
Não é preciso calcular (Z_0) exatamente em projetos simples, mas entender a ideia é importante: o resistor em série está “matando” parte da energia de alta frequência que causaria problemas de integridade de sinal.
1.3 Controle da constante de tempo RC por módulo
Cada ramificação do barramento possui sua capacitância própria:
- Capacitância dos pinos SDA/SCL do CI
- Capacitância do cabo local
- Parasitismos de trilha e conector
Sem resistor série, toda essa capacitância é vista diretamente pelo barramento.
Com o resistor série, criamos um pequeno filtro RC:
\[
\tau_{\text{ramo}} = R_{série} \cdot C_{\text{ramo}}
\]
Exemplo:
- \( R_{série} = 220,\Omega \)
- \( C_{\text{ramo}} = 20,\text{pF} \)
\[
\tau_{\text{ramo}} = 220 \cdot 20\times10^{-12} = 4{,}4,\text{ns}
\]
Esse valor é desprezível frente ao tempo de subida típico em I²C padrão (ordem de centenas de nanosegundos a microssegundos). Ou seja:
- Não atrapalha a velocidade de 100 kHz ou 400 kHz.
- Ajuda a “desacoplar” capacitâncias de cada módulo, evitando que um único dispositivo com capacitância alta degrade todo o barramento.
Na prática, escolhemos (R_{série}) num compromisso:
- Grande o suficiente para limitar corrente e amortecer ringing.
- Pequeno o suficiente para não degradar o tempo de subida global do barramento.
Valores usuais: 100 Ω a 470 Ω por linha e por módulo.
1.4 Efeito sobre o tempo de subida do barramento
O tempo de subida do I²C é dominado pelos resistores de pull-up e pela capacitância total vista pelo barramento:
\[
t_r \approx 0{,}8473 \cdot R_{pullup} \cdot C_T
\]
onde:
- \(C_T = C_{cabos} + \sum C_{entradas}\)
Os resistores em série quase não alteram diretamente essa equação, pois o pull-up continua ligado ao barramento principal.
O que eles fazem é:
- Reduzir o quanto da capacitância de cada ramo é de fato “sentida” nas bordas rápidas.
- Atuar como “isoladores suaves” entre o barramento comum e os módulos.
Resultado prático: maior número de módulos e cabos podem ser usados sem violar os tempos de subida especificados para o modo de operação (Standard, Fast, etc.).
1.5 Justificativa da escolha de valor (exemplo 220 Ω)
Vamos supor:
- I²C a 100 kHz
- VCC = 5 V
- Pull-up de 4,7 kΩ
- Múltiplos módulos, cada um com 20–30 pF
- Cabos com 100–200 pF no total
Queremos:
- Corrente segura em falha
- Com 220 Ω, vimos que o máximo é ~23 mA em curto.
- Muitos CIs aguentam picos dessa ordem sem queimar instantaneamente.
- Damping razoável
- 220 Ω + resistência do driver (~20–30 Ω) já é suficiente para amortecer a maioria dos cabos curtos/médios.
- Impacto mínimo na forma de onda em operação normal
- O resistor só “aparece” quando há transição ou curto.
- Durante nível estável, a queda de tensão é pequena, pois a corrente é baixa (corrente de pull-up).
Assim, o valor típico de 220 Ω é um bom compromisso entre:
- Proteção
- Integridade de sinal
- Simplicidade de cálculo
- Custo e disponibilidade (valor comercial padrão)
Diodos Schottky de Proteção no Barramento I²C (D1–D4)
Cada módulo I²C do circuito possui um diodo Schottky ligado entre o ramo individual do módulo e o barramento principal SDA/SCL.
O conjunto resistor série + diodo Schottky cria um mecanismo de proteção inteligente que aumenta a robustez do barramento, evitando travamentos e reduzindo efeitos de falhas.
Este capítulo explica em profundidade por que o diodo está ali, por que ele é do tipo Schottky, como ele se comporta eletricamente, e como sua escolha impacta a confiabilidade do sistema.
2.1 Motivação principal: evitar que um módulo defeituoso derrube o barramento inteiro
Em um barramento I²C padrão, se um único dispositivo entrar em falha e “grudar” SDA ou SCL em nível baixo (0 V), todo o sistema deixa de funcionar.
Isso é chamado de:
bus hanging ou bus lock
O diodo Schottky foi colocado justamente para impedir isso.
Suponha que o módulo U2 trave seu SDA em 0 V (falha interna).
Sem o diodo:
- O 0 V se propaga diretamente para o barramento.
- Todos os outros dispositivos ficam impedidos de enviar ou receber dados.
- O Arduino perde o controle de todo o barramento.
Com o diodo Schottky na configuração típica (ânodo no módulo, cátodo no barramento):
módulo ---- R ----+---- barramento
|
D (Schottky)
|
GND (via módulo)
A linha do módulo pode cair a 0 V, mas o barramento só cai até a queda direta do diodo (~0,2 a 0,3 V).
Como o nível “LOW” em I²C é aceito até aproximadamente:
\[
V_{IL} \leq 0{,}3 \cdot V_{CC}
\]
E com Vcc=5 V:
\[
V_{IL} \leq 1{,}5,\text{V}
\]
Então, se o barramento cair para apenas 0,2 V, isso ainda é um LOW válido, e o master consegue recuperar o controle — especialmente se houver mecanismos como clock stretching ou re-varredura de dispositivos.
Em outras palavras:
A falha fica confinada apenas ao ramo do módulo defeituoso, e não contamina todo o barramento.
2.2 Como o Schottky atua eletricamente no instante da falha
Suponha:
- O módulo trava SDA em 0 V.
- O barramento está em nível alto (puxado por Rpull-up, ~5 V).
- A linha do módulo (lado depois do resistor) vai instantaneamente a 0 V.
A diferença de tensão passa a ser:
\[
V_{barramento} – V_{ramo} = 5,\text{V}
\]
Quando:
\[
V_{barramento} – V_{ramo} > V_f
\]
Onde \(V_f\) (queda direta) é:
- ~0,2–0,3 V (Schottky)
- ~0,6–0,7 V (diodo de silício comum)
Assim que essa condição se estabelece, o diodo conduz imediatamente, drenando para o módulo grande parte da corrente que iria para o barramento — ou seja:
- Protege o barramento
- Protege os outros módulos
- Minimiza a queda de tensão que o barramento sofre
O efeito prático é:
O barramento não vai a zero — fica “abaixo do ideal”, mas ainda dentro da faixa aceitável para LOW I²C.
2.3 Por que Schottky e não diodos comuns?
A escolha do Schottky é essencial por três características físicas:
1) Baixíssima queda de tensão direta ((V_f))
Enquanto um diodo de silício comum tem (V_f \approx 0{,}6) a 0,7 V:
\[
V_{f,\text{Si}} \approx 0.7,\text{V}
\]
O Schottky tem:
\[
V_{f,\text{Schottky}} \approx 0.2\text{–}0.3,\text{V}
\]
No contexto do I²C:
- Uma queda de 0,7 V derrubaria o barramento para valores próximos de LOW marginal.
- Já 0,2 V mantém o barramento operando dentro das margens elétricas com total segurança.
A norma I²C permite aproximadamente:
\[
V_{OL,max} = 0{,}4,\text{V}
\]
Portanto, o Schottky é a única escolha que garante operação dentro da especificação.
2) Corrente de saturação rápida e baixa capacitância
Schottys possuem:
- Capacitância muito baixa
Importante para não prejudicar o tempo de subida SDA/SCL. - Resposta extremamente rápida
Essencial para proteger contra transientes.
Em I²C:
- Bordas não são rápidas como SPI, mas ainda assim a transitória causada por ruído ou falha precisa ser drenada antes de causar erro de leitura ou travamento.
3) Corrente reversa maior, mas controlável
Schottkys têm corrente reversa (leakage) maior, porém esse valor é:
- Da ordem de µA
- Bem pequeno comparado às correntes naturais de pull-up
- Completamente seguro dentro da operação I²C
O resistor série ajuda ainda a limitar qualquer efeito adverso dessa corrente reversa, tornando a combinação “R série + Schottky” ideal.
2.4 Análise matemática do efeito do diodo sobre o barramento
Suponha:
- Barramento em nível alto: (5,\text{V})
- Módulo em falha em (0,\text{V})
- Diodo conduz com (V_f = 0{,}25,\text{V})
- Resistor série em 220 Ω
A queda do barramento depende do divisor dinâmico formado por:
- Rpull-up
- Resistência efetiva do diodo (muito menor)
- Resistência série
Quando o diodo conduz, ele apresenta uma resistência dinâmica (r_d) pequena (alguns ohms).
O barramento sente algo como um divisor:
\[
V_{barramento} \approx \frac{R_{pull-up}}{R_{pull-up} + r_d + R_{série}} \cdot V_{CC}
\]
Se tomarmos, por exemplo:
- \(R_{pull-up} = 4700,\Omega\)
- \(R_{série} = 220,\Omega\)
- \(r_d = 5,\Omega\)
Então:
\[
V_{barramento} = \frac{4700}{4700 + 220 + 5} \cdot 5
= \frac{4700}{4925} \cdot 5
\approx 4{,}77,\text{V}
\]
O barramento praticamente não cai nada – a queda ocorre no ramo do módulo defeituoso.
Isso confirma matematicamente que:
O Schottky mantém o barramento íntegro mesmo com falha em um dos dispositivos.
2.5 Função adicional: proteção contra picos de tensão e ruído
Cabos longos, EMI e ESD podem gerar picos de tensão:
\[
V_{transiente} > V_{CC}
\]
O diodo Schottky, polarizado da forma como está, absorve excesso de tensão sempre que:
\[
V_{ramo} > V_{barramento} + V_f
\]
Ou seja, ele atua também como:
- Clamper contra sobretensão local
- Equalizador entre barramento e ramos
- Proteção coletiva contra ruído em qualquer módulo
2.6 Como o diodo interage com o resistor série
O par R + Schottky forma um circuito de proteção complementar:
- O resistor limita corrente.
- O diodo define um caminho seguro de desvio.
Se o módulo entra em curto:
- O resistor impede correntes destrutivas.
- O diodo impede o módulo de derrubar o barramento.
Se há ruído ou transiente:
- O diodo absorve picos.
- O resistor suaviza a energia e amortiza pulsos rápidos.
Se há capacitância excessiva num módulo:
- O resistor reduz o impacto no barramento.
- O diodo mantém a integridade do barramento caso a capacitância gere oscilações.
Essa combinação é muito usada em:
- Barramentos I²C industriais
- Sensores distribuídos
- Sistemas robustos tolerantes a falhas
- Aplicações automotivas de baixa velocidade
Conclusão
Os diodos Schottky desempenham três funções fundamentais:
- Isolamento de falhas – evitando travamento total do barramento.
- Clamping de tensão – protegendo contra picos ou ruído.
- Proteção cooperativa com o resistor – mantendo o barramento íntegro.
Sua escolha é motivada por:
- Baixa queda direta (essencial para I²C)
- Alta velocidade
- Baixa capacitância
- Comportamento previsível em transientes
Essa estratégia permite que o sistema opere com vários módulos, longos cabos e falhas eventuais, sem travamento nem danos físicos.
Modelagem do Sistema, Síntese Técnica e Diretrizes de Dimensionamento
Tendo entendido separadamente o papel dos resistores em série e dos diodos Schottky, podemos agora consolidar o raciocínio em um modelo único que descreve matematicamente o comportamento do barramento, justificando cada escolha de componente e permitindo dimensionar adequadamente valores para aplicações reais. Este capítulo funciona como síntese técnica e guia de projeto.
3.1 Modelo elétrico equivalente de cada ramificação
Cada módulo I²C é visto pelo barramento principal através de três elementos:
- R_série (220 Ω típico)
- Diodo Schottky
- Capacitância parasita + carga do CI
Um modelo simplificado pode ser representado assim:
┌───────────── Barramento SDA/SCL
│
R_série
│
+─── C_módulo (entrada CI)
│
D Schottky (ânodo no ramo, cátodo no barramento)
│
GND (referência do módulo)
Sob operação normal, o diodo fica reversamente polarizado e praticamente invisível.
A comunicação ocorre através do RC formado por:
\[
\tau = R_{série} \cdot C_{módulo}
\]
Nas transições, esse pequeno RC desacopla a capacitância do módulo e melhora a integridade de sinal.
Sob falha, o diodo passa a conduzir, criando um caminho alternativo que impede o módulo de derrubar o barramento.
3.2 Análise dos três estados possíveis
Estado 1 – Operação normal
- Correntes muito pequenas fluem no ramo.
- O resistor série é praticamente transparente.
- O diodo fica bloqueado.
- O tempo de subida é dominado por:
\[
t_r = 0{,}8473 \cdot R_{pull-up} \cdot C_{total}
\]
e não por R_série.
Estado 2 – Transientes / ruído
Se o ramo sofre sobretensão:
\[
V_{ramo} > V_{barramento} + V_f
\]
O Schottky conduz e “equaliza” tensões, evitando picos, protegendo o CI e melhorando EMC.
Se o barramento sofre ruído negativo (undershoot), o resistor série limita a corrente e remove energia do pulso.
Estado 3 – Falha em módulo (curto para GND)
- A linha do ramo fica em 0 V.
- O barramento tentaria cair a 0 V, mas o diodo entra na condução reversa:
\[
V_{barramento} \approx V_f = 0{,}2 \sim 0{,}3 V
\]
Esse valor ainda é considerado LOW válido pela especificação I²C.
O resistor série limita a corrente:
\[
I = \frac{V_{CC}}{R_{série}}
\]
Impedindo danos e mantendo o barramento operável.
3.3 A queda de tensão no barramento durante falha (análise mais precisa)
Para entender exatamente o quanto o barramento abaixa em caso de curto, podemos modelar como um divisor entre:
- Rpull-up
- Resistência dinâmica do diodo (r_d, típica 3 a 10 Ω)
- R_série
A tensão final é:
\[
V_{barr} \approx \frac{R_{pull-up}}{R_{pull-up}+R_{série}+r_d} \cdot V_{CC}
\]
Exemplo realista:
- (R_{pull-up} = 4{,}7 k\Omega)
- (R_{série} = 220 \Omega)
- (r_d = 5 \Omega)
- (V_{CC} = 5 V)
V_{barr} = \frac{4700}{4700 + 220 + 5} \cdot 5
\approx 4{,}77 V
]
Ou seja:
O barramento praticamente NÃO cai, mesmo com o módulo em curto!
E esta é a beleza da topologia: fixamos a queda no ramo, não no barramento.
3.4 Dimensão ideal dos resistores série
Regras práticas:
(1) Proteção contra falha
Para limitar a corrente a menos de 25 mA no pior caso:
\[
R_{série} \geq \frac{V_{CC}}{0{,}025}
\]
Para 5 V:
\[
R_{série} \geq 200\ \Omega
\]
Por isso 220 Ω é um valor tão comum.
(2) Impacto no tempo de subida
Para que o resistor série não atrapalhe a velocidade do I²C (até 400 kHz):
\[
R_{série} \cdot C_{entrada} \ll t_r
\]
Com:
- \(C_{entrada} \approx 15\text{–}30 pF\)
- \(t_r \approx 300\text{–}1000 ns\)
Então:
\[
R_{série} \ll \frac{t_r}{C_{entrada}}
\]
Exemplo:
\[
\frac{300 ns}{30 pF} = 10 k\Omega
\]
220 Ω está muito abaixo desse limite, logo não interfere no tempo de subida.
(3) Redução de ringing
Para cabos com:
- \(L \approx 500 nH\)
- \(C \approx 50 pF/m\)
Impedância característica aproximada:
\[
Z_0 \approx \sqrt{\frac{L}{C}}
\approx \sqrt{\frac{500 nH}{50 pF}}
\approx 100\ \Omega
\]
O resistor série deve ser da mesma ordem de grandeza.
Como o driver já oferece ~20–40 Ω internos, usamos:
\[
R_{série} \approx 100\Omega – R_{driver}
\]
E chegamos novamente a valores entre 100 e 220 Ω.
3.5 Dimensionamento ideal do diodo Schottky
Critérios:
(1) Baixa queda direta (V_f)
Deve atender:
\[
V_f < V_{OL,max}
\]
Na prática:
- I²C admite até 0,4 V para LOW
- Schottky típico oferece 0,2–0,3 V
(2) Capacitância baixa
Evitar impacto nas bordas:
\[
C_D < 20\ \text{pF}
\]
(3) Corrente de pico segura
Em falhas, a corrente é:
\[
I = \frac{V_{CC}}{R_{série}}
\approx 23 mA
\]
O diodo deve suportar isso confortavelmente, com folga.
(4) Tempo de resposta muito rápido
Absorver transientes antes que eles atinjam os CIs.
Diodos recomendados:
- BAT54
- 1N5819 (para correntes maiores, mas capacitância mais alta)
- RB751
- PMEG2010
3.6 Comparação com outras técnicas de proteção
| Técnica | Protege contra curto? | Protege contra ruído? | Mantém barramento ativo? | Custo | Comentário |
|---|---|---|---|---|---|
| Somente pull-up | Não | Não | Não | Baixo | Padrão básico, frágil |
| Somente R série | Parcial | Parcial | Não | Baixo | Não evita bus lock |
| Somente Schottky | Não | Sim | Parcial | Médio | Corrente pode ser alta demais |
| R série + Schottky (este circuito) | Sim | Sim | Sim | Médio | Melhor relação custo/benefício |
| Buffer I²C dedicado | Sim | Sim | Sim | Alto | Solução profissional para longas distâncias |
| Isolador digital | Sim | Sim | Sim | Muito alto | Aplicações industriais e alta EMC |
A solução adotada no circuito analisado é uma das mais equilibradas para:
- projetos maker,
- sensores distribuídos,
- robótica,
- telemetria,
- automação residencial,
- painéis e cabos longos.
Diretrizes Práticas de Projeto, Recomendações de Uso e Exemplos de Dimensionamento
Este capítulo final reúne regras práticas, cenários de aplicação e exemplos concretos de cálculo para orientar o uso correto da topologia resistor série + diodo Schottky em projetos reais com barramento I²C.
Aqui é onde a teoria se traduz em procedimentos de engenharia aplicáveis ao dia a dia.
4.1 Quando essa topologia é recomendada
O uso de resistores série e diodos Schottky é extremamente útil quando o barramento I²C opera sob uma ou mais das seguintes condições:
✔ Múltiplos dispositivos distribuídos em cabos longos
Tipicamente mais de 30–40 cm por ramificação.
✔ Ambientes com ruído elétrico significativo
Como motores, solenoides, inversores, relés, rádios ou fontes chaveadas próximas.
✔ Alta confiabilidade é necessária
Sistemas que não podem parar caso um único módulo apresente falha.
✔ Uso de sensores ou placas com qualidade variável
Módulos de baixa procedência podem sofrer falhas de linha ou travamentos esporádicos.
✔ A topologia física contém ramificações (“stubs”) no barramento
Cada stub adiciona capacitância, reflexões e risco de travamento.
✔ Há troca frequente de módulos (plug and play)
Evita danos causados por ligações incorretas ou conexões intermitentes.
4.2 Quando não é necessário usar esta topologia
A solução é exagero se:
- O barramento é muito curto (poucos centímetros).
- O número de dispositivos é baixo (1 ou 2).
- A aplicação é extremamente sensível ao tempo de borda (raríssimo em I²C ≤ 400 kHz).
- Há buffers dedicados I²C (P82B96, TCA4311, PCA9515, etc.)
Em tais casos, resistores série podem até trazer pequenas vantagens, mas não são indispensáveis.
4.3 Guia completo para escolher o valor de R_série
A escolha correta depende de três fatores:
(1) corrente máxima aceitável,
(2) qualidade de sinal,
(3) capacitância do ramo.
4.3.1 Critério de segurança (corrente de curto)
Queremos:
\[
I_{máx} \le 25,mA
\]
Logo:
\[
R_{série} \ge \frac{V_{CC}}{0,025}
\]
Para:
| VCC | R_série mínimo |
|---|---|
| 3,3 V | ≥ 132 Ω |
| 5,0 V | ≥ 200 Ω |
4.3.2 Critério de integridade de sinal (amortecimento)
Se o cabo do ramo tem:
- Indutância típica: 500 nH/m
- Capacitância típica: 40–60 pF/m
Impedância característica aproximada:
\[
Z_0 \approx \sqrt{\frac{L}{C}} \approx 100,\Omega
\]
O resistor deve ser próximo de:
\[
R_{série} + R_{driver} \approx Z_0
\]
Como o driver do microcontrolador já tem ~20–50 Ω, adicionamos:
\[
R_{série} \approx 100 – R_{driver} \approx 100 – 30 = 70,\Omega
\]
Mas como precisamos também do critério de segurança (≥200 Ω), optamos por:
✔ Valor ideal: 150 a 330 Ω
O valor clássico é 220 Ω pelo excelente compromisso.
4.3.3 Critério de atraso
O resistor não deve comprometer o tempo de subida:
[R_{série} \cdot C_{ramo} \ll t_r
]
Com I²C Standard Mode (t_r ≈ 1000 ns) e C=30 pF:
[R_{máx} \ll \frac{1000ns}{30pF} \approx 33k\Omega
]
Ou seja, 220 Ω está muito longe de prejudicar o desempenho.
4.4 Guia completo para escolher o diodo Schottky
Critérios fundamentais:
1) Queda direta deve ser menor que o LOW permitido
\[
V_f < 0{,}4,V
\]
Schottky típico: 0,2–0,3 V → atende perfeitamente.
2) Capacitância baixa
\[
C_D < 20\ pF
\]
Para não “roubar” corrente do pull-up e nem prejudicar bordas.
3) Corrente de pico suficiente
Suporta:
\[
I_{pico} \approx \frac{V_{CC}}{R_{série}} \approx 23,mA
\]
Qualquer Schottky padrão SMD atende.
4) Velocidade de comutação muito alta
Diodos comuns sofrem com recuperação reversa (reverse recovery), causando:
- Overshoot
- Oscilações
- Correntes negativas
O Schottky não apresenta recuperação reversa — ideal para I²C.
4.4.1 Diodos recomendados
| Modelo | Capacitância | V_f | Observação |
|---|---|---|---|
| BAT54 | 10 pF | 0.25 V | Melhor custo/benefício |
| RB751 | 5 pF | 0.22 V | Baixíssima capacitância |
| PMEG2010 | 40 pF | 0.24 V | Correntes maiores |
| 1N5819 | 110 pF | 0.3 V | Serve, mas capacitância maior |
Para I²C, BAT54 é o mais popular.
4.5 Exemplo completo de dimensionamento
Sistema hipotético:
- 4 módulos I²C (cada um com 25 pF)
- 1 metro de cabo por módulo (~50 pF/m)
- Tensão de operação: 5 V
- I²C a 100 kHz
1) Capacitância do ramo
\[
C_{ramo} = 25pF + 50pF = 75pF
\]
2) Resistência série (critério de segurança)
\[
R_{série} \ge \frac{5V}{25mA} = 200Ω
\]
Escolhemos 220 Ω.
3) Verificação de atraso:
\[
\tau = R_{série} \cdot C_{ramo}
= 220 \cdot 75pF = 16,5ns
\]
Muito menor que o limite (~1000 ns) → OK.
4) Verificação de amortecimento:
Impedância aproximada do cabo:
\[
Z_0 \approx 100Ω
\]
Com Rdriver ≈ 30 Ω:
\[
R_{total} = R_{driver} + R_{série}
= 30Ω + 220Ω
= 250Ω
\]
Acima de Z0 → subamortece levemente, o que é bom para ruído, sem risco de overshoot.
5) Escolha do diodo
Usamos BAT54:
- V_f = 0.24 V
- C_D = 10 pF
- Isup ≈ 200 mA (muito acima dos 23 mA de falha)
Resultado
Sistema robusto, tolerante a falhas, com integridade de sinal excelente.
4.6 Recomendações profissionais finais
✔ Sempre usar resistores série ao conectar vários módulos distribuídos
Especialmente se os cabos forem longos ou de má qualidade.
✔ Usar Schottky de baixa capacitância
Evite modelos “gordos” como 1N5819 quando puder.
✔ Para cabos muito longos (>2 m), considerar buffers I²C
Como PCA9515 ou TCA9517.
✔ Evitar “estrelas” em alta velocidade
Barramentos com muitos stubs podem exigir resistência maior.
✔ Proteger fisicamente os cabos
Amarrar os pares SCL/SDA juntos reduz acoplamento de ruído.
✔ Sempre medir a forma de onda com osciloscópio
A validação visual das bordas é parte essencial do processo.
4.7 Conclusão Final
A arquitetura do circuito analisado — resistores em série combinados com diodos Schottky — representa uma solução elegante e eficiente para aumentar a robustez do barramento I²C sem elevar muito o custo ou a complexidade. Esse método protege contra:
- Curto nos módulos
- Picos de tensão
- Capacitância excessiva
- Falhas internas de CI
- Ruído em cabos longos
- Travamentos (bus lock)
E tudo isso com impacto mínimo no desempenho elétrico e no tempo de subida do barramento.