I2Cは長距離で使用するようには設計されていませんが、実際に約2メートルの距離で使用されるいくつかのアプリケーションを知っています。彼らがそれに関して問題を抱えていた1つのケースも知っています。
機能することを確認するには、P82B715のようなI2Cバスエクステンダーを使用する必要があります。
ただし、PB2B715のデータシートには、セクション8.2で次のように記載されています。
テレフォニーまたはイーサネット(Cat5e)配線に使用される典型的なツイストペアケーブルまたはフラットケーブルの場合、その容量は約50 pFから70 pF / mであるため、理論的にはケーブルの長さは最大50 mです。実際の経験から、30 mは、示された値を使用して、最大100 kHzまでのこの単純な方法で駆動される安全なケーブル長を証明しています。より長い距離とより速い速度も可能ですが、より慎重な設計が必要です。
そのため、専門家(NXPはI2Cの発明者である元フィリップス)は、30メートルが実行可能な距離であることが証明されていると言います。私の経験では、2メートルは実行可能な距離であり、私に報告された経験は、エクステンダーのないより重いI2Cバスも可能であることを示しています。
長距離で動作するI2Cバスの重要なポイントは次のとおりです。
- 低容量ケーブル(ツイストペア/イーサネット)を使用。
- バス速度の制限。
- 正しいサイズのプルアップを持つ。
プルアップ計算
Texas Instrumentsには、プルアップ計算に関する優れたアプリケーションノート(SLVA689)があります。
- プルアップの下限(最小値)は、バス上の最も弱い周辺機器がプルできる電流と、周辺機器の0を表す最大電圧によって決まります。したがって、1Vがまだ0の場合、VCCは最大3V6であり、最も弱いデバイスは20mAしかプルできません。抵抗は、抵抗器の電圧損失とそのデバイスによってプルされる電流によって決まります:(3.6 V − 1 V) / 20 m個A =130Ω 。
- Rmは、Xが= tr/(0.8473* Cb)trCbCbtrRmは、Xが= 2950 Ω 。TIのアプリケーションノートにはグラフがあり、適切な値をすばやく見つけることができます。
- もちろん、プルアップの値は、並列に結合されたすべてのプルアップの同等の値です。マスターエンド、スレーブエンド、およびバス上の他のスレーブ/マスターにプルアップがあります。
- 「限界」にあるほど、ケーブルの電圧降下などの「寄生」も考慮する必要があります。