O I2C não foi projetado para ser usado em longas distâncias, mas conheço várias aplicações em que ele é realmente usado a uma distância de cerca de 2 metros. Eu também sei de um caso em que eles tiveram problemas com isso e, eventualmente, foi corrigido através da fixação de laços de terra, acredito.
Para ter certeza de que funcionará, você deve usar um extensor de barramento I2C como o P82B715.
No entanto, a folha de dados do PB2B715 diz o seguinte na seção 8.2:
Para cabos trançados ou pares trançados típicos, como usado para telefonia ou fiação Ethernet (Cat5e), essa capacitância é de cerca de 50 pF a 70 pF / metro para que o cabo possa, em teoria, ter até 50 m de comprimento . Por experiência prática, 30 m provaram um comprimento de cabo seguro para ser acionado de maneira simples, até 100 kHz, com os valores mostrados. Distâncias maiores e velocidades mais altas são possíveis, mas requerem um design mais cuidadoso.
Portanto, os especialistas (o NXP é o ex-Philips, o inventor do I2C) afirmam que 30 metros já foram comprovados. Minha experiência diz que 2 metros é uma distância possível e experiências relatadas para mim indicam que também são possíveis barramentos I2C mais pesados, sem nenhum extensor.
Os pontos principais para o trabalho de barramentos I2C em longas distâncias são:
- Usando um cabo de baixa capacitância (par trançado / Ethernet);
- Limitando a velocidade do barramento;
- Tendo pull-ups que são dimensionados corretamente.
Cálculo de pullup
A Texas Instruments possui uma boa nota de aplicação (SLVA689) sobre cálculo de pull-up .
- ( 3,6 V - 1 V ) / 20 m A =130Ω
- Rm a x= tr/ ( 0,8473 ∗ Cb)trCbCbtrRm a x= 2950 Ω . A nota de aplicação da TI possui gráficos para que você possa encontrar valores apropriados rapidamente.
- Obviamente, o valor da pullup é o valor equivalente de todas as pullups em paralelo combinadas. Você pode ter um pullup no lado mestre, no lado escravo e em qualquer outro escravo / mestre no barramento.
- Quanto mais você estiver "no limite", mais precisará também considerar "parasitas", como a queda de tensão no cabo.