[][mobile][Homepage][BBS][Blog][YouTube][asablo]

過去の記事の検索が簡単にできるよ (・∀・) 例 ランチャー9
カスタム検索

I2Cインターフェースで異なる電圧の接続2013/03/02 03:43:34


I2Cを異なる電圧で使う場合の回路

I2CはEEPROMを初め結構色々使われている通信インターフェースの一つ。システム内で使用するとき、同じ電圧で使用する場合では単にプルアップで接続すれば良いのだが、最近では3.3Vと5Vの混在システムも増えてきた。

その場合は、FETを入れるだけで電源を分離することができる。具体的には2N7002などの安価で入手性の良いNchFETを利用することができる。



これは、ある基板を異なる電源のI2Cに接続するために改造した例。



これがその結果。クロックを観測すると、上が5V側、下が3.3Vの波形だ。特に問題なく電圧が変換できている。1.8Vはまだ試していないが、3.3Vと5Vで400KHzであればFETでも長年実績のある回路なので問題はないだろう。

FETの応用として、シリアル通信でも異電圧間のインターフェースに利用が可能だ。但し、通信速度によるスルーレートなどの確認が必要。
9600bps程度では問題はない。 → FETで異なる電圧のインターフェース



ところで、このFETによる異電圧のインターフェースについて、Ver2の旧資料(pdf)(※現在は無し)の41ページにFETを使ったブリッジが記載されていたが現在最新である日本語版最新のI2C仕様書Rev. 5.0J — 2012 年10月 9 日(pdf)には記載されていない。資料によると、バスブリッジが紹介されている。

これはどういう事かが分からなかったのでツイッターで何となく呟いたら、NXPからの回答をいただけた。どうやらFETを使った回路ではスレショルド電圧などに絡んだ問題が起こる場合があるので,仕様書に掲載しなくなったとの事だ。(ツイッターでの回答
  

また、FETを含め独自のレベル変換器を用いる場合は、充分な評価をお願いしたいとの事だった。(ツイッターでの回答) NXPでは保証範囲から外したということだろう。

なるほどそういう事があったのか。ちなみにFETによる回路は、今まで私はよく利用しており、デバイスが1~2個程度では問題に遭遇したことがない。むしろプルアップや直列終端の値や容量が適正に設計されないと問題が起きる事があるので、その辺に神経を使う。


あと、I2CでSDAが固まってバスシステムが止まった場合、SCLを9回叩くとハードリセットする事を知った。尤も、デバイスにハードリセットがあればそれを利用することや、そのデバイスの電源を制御するからくりをつけておいた方が良いのは言うまでもない。
また、Ultra Fast-modeという5MHzは、片方向通信なのでご注意を。(ご本家からご指摘いただきました


今回はツイッターで色々NXPから助言を頂いた。迅速な対応に感謝感謝である。


 I2C仕様書

※2014/8/14リンク修正



コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
全角で「あ」をタイプしてください。Japanese language only.

コメント:

トラックバック





Google
www Blog HP BBS


air_variableサイトをまとめて検索 
カスタム検索
[][admin][mobile][Homepage][BBS][Blog][YouTube][asablo]