I2C 3.3から5.0 Vへの変換


35

3.3VI 2 Cデバイスを5V Arduino に接続しようとしています。

SCLラインに問題はありません。単純な分圧器を使用できますが、双方向であるためSDAラインに問題があります。

私はこれをどのように扱うのか全く分かりません。私は、スレーブ入力側に分圧器を備え、マスター入力に余分なものを備えないダイオードのペアを追加する必要があります。

他の解決策はありますか?


将来の読者は、OPが一方向でのみSCLを使用する可能性がある場合でも、I2Cでは通常、SCLを双方向にすることができることに注意する必要があります。
ザフォトン

回答:


25

主題に関する良い文書は、双方向レベルシフターとして単一のMOSFETを使用するI2Cバスおよび他のシステム用の双方向レベルシフターです。


私はフィリップス回路が好きです。賢い。I2C出力がすべてのプルアップからのすべての電流をシンクする必要がなければ、いくつかの点でより良いかもしれませんが、アクティブなI2Cリピータの設計は困難です。リピーターは、I2Cデバイスよりも前に立ち上がりエッジを検出し、それに反応する必要があるため、通常のロジックでは実行できないと思います。
supercat

2
リンクが切れています!
ジマーノ

14

sivuの答えを拡張するために、これは基本的に論理制御されたMOSFETであるいわゆる「バススイッチ」の一般的な使用法です。ディスクリートMOSFETの使用にはいくつかの欠点(寄生容量/容量結合の1つ)があり、適切なMOSFETを選択するのは難しい場合があります。バススイッチは、高速論理回路での使用に最適化されています。

Fairchild、TI、IDT、Pericomなど、いくつかのメーカーがそれらを製造しています。見てくださいNC7SZ384を

とりわけ、次のappnoteを参照してください。


8

多くのArduinoには3.3 Vで実行するためのオンボードサポートがあります。実際には、すべてが3.3 Vで実行でき、FTDIチップの回路図では例で説明しています。Teensy USB Arduinoを作ったPaulは、USBケーブルを開いて接続し、ケーブルのV CCラインの代わりに3.3 Vの電圧を供給することを提案していました。これを試すことができます。しかし、他のオプションもあります。

  1. Arduinoのロジックレベルを確認します。5 VソースのAtmelでも、ロジックHIGHとして3.3 Vをサポートしていると思います。SparkFunの記事には、「* 3.3 Vデジタル出力ピンを5 V入力ピンに接続することは、多くの場合簡単です。ほとんどのデバイスは、デジタル高値として受け入れる最小電圧にかなり耐性があります。たとえば、ほとんどのAtmelマイクロコントローラー0.6 * V CC以上の高さを受け入れるため、3.3 Vデバイスは3 V(0.6 * 5 V)以上のレベルを出力する必要があります。* "
  2. 3.3 Vおよび5 VセレクターをジャンパーしたArduinoクローンのいずれかを購入します。供給ケーブルFTDIチップを3.3 Vに設定したRBBBクローンを使用します。しかし、実際に3.3 Vの構成オプションを持つ他の多くのものがあります。彼のArduinoプラグインでTeensy USBを使用し、彼のサイトの指示に従って3.3 Vレギュレーターをインストールすることもできます
  3. USBケーブルを接続し、USBケーブルのV CCラインの代わりに、実験室の電源品質の3.3 V電源を提供します。ポールが示唆したように、それは低電流でなければなりません。したがって、いずれかの高品質の電圧源。いくつかのバッテリーを直列に接続して、目的の電圧を得ることができます。
  4. 興味がある場合は、Arduinoの回路図を調べてみてください。おそらく、3.3 Vを可能にするFTDI構成に変更を加えることができます。

最後に、Chiphackerでこれについて電圧降下の単方向および双方向ソリューションについて興味があるかもしれない議論があります。todbotが言及したSparkFun に関するこの記事は、SparkFun からリンクされている双方向整流MOSFETの記事に関する議論と同様に有用です。SparkFunの記事を要約するには:

  • インライン抵抗。単方向。降圧のみ-電流を削減し、ICのI / Oクランプダイオードは最大入力を制限できます。
  • 直列抵抗。単方向。ステップダウンのみですが、詳細です。
  • ダイオード。単方向。降圧。より安全。5 Vからの高電圧はダイオードをブロックします。その後、3.3 V側が高に接続されます。しかし、ダイオード構成を逆にすると、ステップアップもできませんか?
  • MOSFET。双方向。ステップダウンまたはステップアップ。
  • コメント:光学的分離の例:4N25。大電流。
  • コメント:ツェナーダイオードの例:1N4728A
  • コメント:74HC244 / 125単方向

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.