長距離でI2C / TWIを行うための最良の方法


9

長距離(30〜40メートル)でI²C/ I2C / TWIを実行する必要があるプロジェクトがあります。

私が想定しているような長いラインの静電容量の影響を軽減するために、クロックレートを500 Hz前後のどこかに下げることを提案している人を見かけましたか?私が使用しているコンポーネントには、少なくとも標準の100 kHzクロックレートが必要です。さらに調査を行ったところ、別の質問への回答の中から、P82B96レベルシフターを使用することを提案しました。データシート:彼らはさらに100メートルライン上でそれらを使用する例を与える

I2C_longDistance

私が通ってレベルシフトする別の方法に遭遇してきたadafruitからブレークアウトボードいずれかの(2つだけプルアップ抵抗を有するMOSFET(bss138)であり、両側/電圧)。彼らはからアイデアを得ましたNXP(AN10441)のアプリケーションノート、およびそこにある2つのチャネルは次のように使用できます。

mosfetレベルシフト

今私は疑問に思います:どの解決策が最善ですか?または私が見落としているものはありますか?また、良好な接続を確保するには5Vで十分ですか?12Vのようなさらに高い電圧を使用する利点はありますか?


書かれているように、あなたの質問はおそらくこのサイトのフォーマットには広すぎるでしょう。質問を絞り込み、非常に具体的にしてください。
ジョー・ハース

要約を追加しましたが、それは狭くて具体的ですか?
DaJF 2014年

また、センサーまでの最大ワイヤー長を指定し、「低コスト」が何を意味するのかを説明する必要があります。同じケーブルでセンサーに電力を供給することを期待していますか?
ジョーハス2014年

@JoeHass質問は今十分に狭くなっていますか?そうでない場合、さらに何をする必要がありますか?
DaJF 2014年

こんにちは、私はこれが古い質問であることを知っていますが、結局何をしましたか?私はあなたとまったく同じ質問があります。同様の距離が必要で、最低100kHzのクロックレートです。ありがとうございます。何が効果的だったか知りたいと思います。
pcdev 2018

回答:


1

NXP P82B96のようなものであなたは正しい軌道に乗っていると思います。図14と関連するテキストを見ると、データシートでは、データレートが100 kHzを超える最大250 mのケーブルの使用について説明しています。

キャリブレーションや追加のアナログ回路なしで摂氏数度の精度を提供できる多くのI2C温度センサーが利用可能です。とにかく処理のためにデータを戻すので、ノイズの除去は非常に簡単です。

配線容量が心配な場合は、シールドされたケーブルではなく、シールドされていないツイストペアを使用した方がよい場合があります。


P82B96を代替のmosfetに置き換えることはできますか?1つのP82B96の価格で、文字通り100 bss138 mosfetを購入できます(必要に応じて、リンクを提供できます)。確かに、あなたが言ったように、私は適切な温度センサーのようなものを見つけました:LM75A。シールドされたケーブルとシールドされていないケーブルのどちらを選択するかについては、どの問題が問題であるように思われます:考えられる干渉(シールドなし)またはラインキャパシタンス(シールド)、これは正しい仮定ですか?1つは他より目立っていますか?これをどのように決定するか私にはわかりません。ありがとうございます!
DaJF 2014年

P82B96を長いラインのMOSFETに置き換えることはできないと思います。リピーターICが実際に増幅を提供しているように見えますが、MOSFETは主に電圧レベルのシフトを提供しています。ケーブルの呼び出し方がわからないのですが、NXPアプリケーションノートAN255を参照してください。彼らはツイストペア配線の使用について話していますが、シールドについては触れていません。デジタル信号の場合、ノイズは静電容量よりも問題が少ない可能性があります。
ジョーハス2014年

2

おそらく、シールドされたCAT5または同様のケーブルを使用することで、DS18B20センサーを回避できます。これは熱測定にすぎないため、一部の読み取り値が破損した場合、それを処理するのに十分なほどプログラムを堅牢にすることができます(とにかく良い習慣です)。

チェーンレストランで使用するために、複数のパッシブセンサーで動作するRTU(ルーフトップユニット)コントロールと呼ばれるものを設計しました(これらは交換可能な NTCサーミスタを使用しており、快適な暖房のためのキャリブレーションは必要ありません)。パッシブセンサーからノイズを除去する方がはるかに簡単です。別の設備セット(北米の主要な自動車複合施設)では、信号調整器付きのプラチナRTDを使用していました。非常に正確で安定したデバイスです。最初にセンサーを決定し、次にそれがどのようにインターフェースされるかを確認する必要があります。これらのセンサーオプションのいずれかがアプリケーションに適しています(ただし、RTDはやり過ぎかもしれません)。

はっきりしない場合は、プロセッサ周辺のセンサーの「スター」構成を提案します。

本当に「バス」(1線またはI2C以外)を使用したい場合は、両端にスマートが必要になります。これは、何らかの形のプロセッサを意味します。完全に独り占めする場合は、地域で合法なISM帯域を介して通信するワイヤレスセンサーの使用を検討することをお勧めします。または、Piごとに1つのセンサーを使用して、WiFiイントラネットを介して互いに通信させることもできます。


現在、私は「何を買うかを決定する」段階にいるので、バスかセンサーのどちらかが他方を決定で​​きます。これらについて私が持っている唯一の要件は、使いやすく拡張可能です。バスを選択する理由は、各センサーにケーブルを接続しないことです(これは、あなたが提案しているように見えるか、または「スター」を間違って解釈したのですか?)。I²Cは、30M / 90FTのケーブルで使用できる有効なプロトコルですか?
DaJF 2014年

はい、それがコントローラーから各センサーへの「星」線です。30mでのI2C ..ええと..非常に低速でも可能だという主張を聞いたことがありますが、うまく機能するとは思えません。
Spehro Pefhany 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.