I2C:3.3Vバスでレベルシフトのない3.3Vおよび5Vデバイス?


12

3.3Vへのプルアップを備えたI2Cバスで5V駆動デバイスを使用する場合、本当にレベルシフターが必要ですか?私の理解では、デバイスはライン(SDA、SCL)をロー(グランド)にプルするだけで、バスへの供給電圧を駆動しません。したがって、すべてのデバイスがプルアップ(3.3V)からの電圧を論理的に高いものとして検出する限り、レベルシフターの理由はわかりません。これは、5Vを電源として使用するデバイスの場合に当てはまります。

私の場合、入力がマスターとして5Vに対応していないICがあり、3.3Vでスレーブに電力を供給できますが、回路で5Vを使用する方が簡単で、スレーブのクロックレートを高くすることができます(内部)。


2
まとめると:-3.3Vへのプルアップを使用してI2CバスでVddとして5Vのデバイスを使用する場合、危険なチップはありません-許容差、内部チップ設計などに応じて、動作する場合と動作しない場合があります...
ジャニス

2
正しい-損傷の危険はありません。正しい動作の保証はありません。
アダムローレンス

回答:


15

仕様のバージョン4にI2Cよると、

「I2Cバスに接続できるさまざまなテクノロジーデバイス(CMOS、NMOS、バイポーラ)により、論理「0」(LOW)および「1」(HIGH)のレベルは固定されず、関連するVDDレベル入力リファレンスレベルはVDDの30%および70%に設定され、VILは0.3VDD、VIHは0.7VDDです。図38のタイミング図を参照してください。 VIH = 3.0 Vですが、すべての新しいデバイスにはこの30%/ 70%の仕様が必要です。電気的仕様についてはセクション6を参照してください。(9ページ)

仕様の詳細では、このが最小ロジック高電圧であることがわかります。0.7×VDD

NXP I2C仕様revからの抜粋  4

5Vシステムの場合:

0.7×5V=3.5V

0.3×5V=1.5V

私にとって、3.3 Vプルアップは、特に5 Vデバイスのいずれかが論理HIGH のの「新しい」標準を使用している場合、限界に見えます。0.7×VDD

走行距離は異なる場合がありますが、可能な限り仕様内に収まることが常に最善です...


クリーンアップstevenvhをありがとう。昨日急いでいた。
アダムローレンス

11

Ceesの答えは、特に「always」と「any」が間違っています。マイクロコントローラーI / Oには、高レベルの最小値として0.6 Vddが必要な場合があり、他の最小値は0.7 Vddであり、MadmangurumanのようにこれがI2Cの標準であることを示します。0.7 Vddは5 V電源で3.5 Vなので、3.3 Vはすでに低すぎます。

しかし、さらに悪いことです。多くの場合、電圧レギュレータの公称出力電圧には5%の許容誤差があるため、最悪の場合5 Vは5.25 Vになり、0.7 Vddは3.675 Vになります。高レベルの最小入力。3.3 Vの許容値がマイナス5%の場合、3.3 Vは3.135 Vになります。許容値を考慮すると、入力は0.5ボルト、つまり15%になる可能性があります。

そう、

したがって、すべてのデバイスがプルアップ(3.3V)からの電圧を論理的に高いものとして検出する限り、レベルシフターの理由はわかりません。これは、5Vを電源として使用するデバイスの場合に当てはまります。

早すぎる結論です。常にデータシートを確認し、計算を行ってください。


-1

他の答えは、ジャニスの質問には本当に答えなかったと思います。彼は、3.3Vバス(おそらく3.3V MCU)で5Vデバイスを使用することについて尋ねました。彼が述べたように、SDA / SCLピンはプルダウンするだけなので、プルアップを3.3Vに接続しても問題ありません。たとえば、マスターデバイスにとって安全です。MCUを過電圧から保護するために、スレーブとマスターが共通のグランド(Vssピンは等電位)を共有する必要があることに注意してください。したがって、Jannisの方法は、レベルシフタなしで機能するはずです。


2
ようこそ!!私はあなたが新しい貢献者であることに気づいたので、あなたが質問への答えを提供していることは6歳以上だと気付いていないかもしれません。システムは常に古い質問を表示するため、これらは改訂されますので、注意してください。
エドガーブラウン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.