電源電圧の異なる機器のI2C接続




今まで配信した,全ての問題がご覧いただけます!

■問題
ディジタル回路

小川 敦 Atsushi Ogawa

 電源電圧が3.3Vのマイコンと電源電圧が5Vの周辺機器の間で,I2Cバスを使用してデータ通信をすることになりました.このようなとき,両者のI2Cバス端子を接続する方法として,最もふさわしい回路は,図1の(a)~(d)のどれでしょうか.
 なお,図1ではSCL端子のみを表示していますが,SDA端子も同様の方法で接続するものとします.


図1 電源電圧の異なる機器間でI2Cバス通信を行うための回路
それぞれのI2Cバス端子を接続する回路として,最もふさわしいのは?

(a)の回路 (b)の回路 (c)の回路 (d)の回路

■ヒント

 電源電圧の異なる機器間を接続する場合,信号がHigh("H")レベルのときに,それぞれの機器の耐圧を越えないようにする必要があります.
 一方,機器がLow("L")レベルを出力した場合は,他方の機器に"L"レベルが着実に伝わる必要があります.これらの点に着目してそれぞれの回路の動作を検討すれば,もっともふさわし回路が分かります.

■解答


(d)の回路

 (a)の回路は,マイコンが"L"レベルを出力しても周辺機器に"L"レベルが伝わらないため動作しません.
 (b)の回路は,5Vの信号がダイオードを経由して,3.3VマイコンのI2C端子に加わるため望ましくありません.
 (c)の回路は,PchMOSトランジスタを使用しています.PchMOSトランジスタが動作するためには,ゲート電圧がソース端子の電圧よりも低くなる必要があります.しかし,(c)の回路では,ゲートが3.3V電源に接続されているため,PchMOSトランジスタは動作しません.
 (d)の回路は,信号が"H"レベルのとき,それぞれのI2C端子の電圧が,それぞれの電源電圧と同じになります.また,一方が"L"レベルを出力すると,NchMOSトランジスタがONし,他方のI2C端子も"L"レベルになります.そのため,もっともふさわし回路は「(d)の回路」ということになります.


■解説

●I2Cバスの基本的な接続方法
 I2Cバスは,2本の信号線だけて複数のデバイスと通信できるため,さまざまなセンサとマイコンの通信でも活用されています.基本的には,それぞれの機器は同じ電源電圧で動作することが前提となっており,図2のように接続します.


図2 I2Cバスの基本的な接続方法

 なお,I2Cバスの出力は図3のようにオープン・ドレインとなっているため,必ずプルアップ抵抗を接続する必要があります.


図3 ICに内蔵されたI2CバスのSCL端子の簡易等価回路
シュミット・トリガとオーブン・ドレインのMOSトランジスタが内蔵されている.

●電源電圧の異なる機器間でI2Cバスを接続する場合
 3.3Vで動作するラズベリー・パイのようなマイコンと,5Vで動作する周辺機器を接続したい場合,図2のように接続することはできません.
 そこで,図4の赤い破線のように,プルアップ抵抗を3.3V電源に接続した場合は,周辺機器側で"H"レベルが安定に受信できません.
 また,図4の青い破線のように,プルアップ抵抗を5V電源に接続した場合,3.3VマイコンのI2Cバス端子に5Vが印加されることになり,望ましくありません.


図4 3.3Vマイコンと5V周辺機器の接続
プルアップ抵抗は,どちらの電源に接続しても望ましくない.

●電源電圧の異なる機器間を接続するロジック・レベル変換回路
 電源電圧の異なる機器間を接続する場合,ロジック・レベル変換回路が必要になります.図5が正解の「(d)の回路」で,ロジックレベル変換回路を使用した接続例です.2本の抵抗と,1個のNchMOSトランジスタを使用した,非常にシンプルな回路です.


図5 電源電圧の異なる機器間を,ロジック・レベル変換回路で接続した回路

 NchMOSトランジスタのゲートが3.3V電源に接続されています.そして,ソースがA点に接続され,ドレインがB点に接続されています.NchMOSトランジスタの,ソースとドレイン間のダイオードはNchMOSトランジスタのボディ・ダイオードを表しています.

▼マイコンと周辺機器が"H"レベル
 3.3Vマイコンと5V周辺機器がともに"H"レベルを出力しているとき,A点の電圧は3.3Vで,B点の電圧は5Vになります.このとき,NchMOSトランジスタはOFF状態です.

▼マイコンが"L"レベル
 3.3Vマイコンが"L"レベルを出力すると,A点の電圧は0V程度に下がります.このとき,NchMOSトランジスタのゲート電圧が3.3Vでソース電圧が0Vなので,NchMOSトランジスタがONし,B点の電圧が0V程度に下がります.つまり,3.3Vマイコンの"L"レベルが5V周辺回路に伝達されたことになります.

▼周辺機器が"L"レベル
 5V周辺機器が,"L"レベルを出力すると,B点の電圧が0V程度に下がります.このときNchMOSトランジスタのゲート電圧が3.3Vで,ドレインの電圧が0Vになります.NchMOSトランジスタはソースとドレインを逆にしてもONすることができるため,NchMOSトランジスタがONし,A点の電圧が0V付近まで下がります.今度は5V周辺機器の"L"レベルが3.3Vマイコンに伝達されたことになります.

 このように,図5の回路を使用することで,電源電圧の異なる機器間でも双方向にデータを伝送することができます.

●ロジック・レベル変換回路の動作をシミュレーションする
 図6は,ロジック・レベル変換回路をシミュレーションするための回路です.M1がロジック・レベル変換用のNchMOSトランジスタです.
 M2とM3がI2Cのオープン・ドレイン出力用のNchMOSトランジスタです.V3とV4がテスト用の信号源で,C点が"H"レベルになると,3.3Vマイコンが"L"レベルを出力したことになり,D点が"H"レベルになると,5V周辺機器が"L"レベルを出力したことになります.


図6 ロジック・レベル変換回路の動作をシミュレーションするための回路
M1がロジック・レベル変換用のNchMOSトランジスタ.

 図7は,図6のシミュレーション結果です.3.3VマイコンのI2C端子に相当するA点の"H"レベルは3.3Vになっています.そして,5V周辺機器のI2C端子に相当するB点の"H"レベルは5Vになっています.
 C点が"H"レベルとなり,3.3Vマイコンが"L"レベルを出力すると,A点,B点ともに"L"レベルとなっています.D点が"H"レベルとなり,5V周辺機器が"L"レベルを出力したときも,A点,B点ともに"L"レベルとなっています.このように,"H"レベルはそれぞれの機器の電源電圧と同じになり,どちらかが"L"レベルを出力すると,両方のI2C端子が"L"レベルとなっており,双方向通信ができていることが分かります.


図7 ロジック・レベル変換回路のシミュレーション結果
どちらかが"L"レベルを出力すると,図6のA点,B点ともに"L"レベルとなっている.

●MOSトランジスタのドレインとソースの向きに注意
 図6のM1のドレインは,必ず電源電圧の高い側のI2C端子に接続する必要があります.逆に接続すると,ボディ・ダイオードが導通し,電源電圧の低い側のI2C端子に過大な電圧を加えてしまうことになります.
 図8は,ドレインとソースの向きを間違えたときの動作をシミュレーションする回路です.M1のドレインが電源電圧の低いマイコン側のI2C端子に接続されています.


図8 ドレインとソースの向きを間違えたときの動作をシミュレーションする回路
ドレインが,電源電圧の低いマイコン側に接続されている.

 図9は,図8のシミュレーション結果です.3.3VマイコンのI2C端子には"H"レベルときに4Vの電圧が印加されています.また,5V周辺機器のI2C端子の"H"レベルときの電圧は,4.4Vに低下しています.どちらもボディ・ダイオードが導通してしまったことによる影響です.


図9 ドレインとソースの向きを間違えたときのシミュレーション結果
どちらのI2C端子も,"H"レベルときの電圧が望ましくない.

 以上,電源電圧の異なる機器のI2C接続について解説しました.今回紹介した方法を実際の機器に使用する場合は,波形の立ち上がり時間などが問題無いか確認する必要があります.


■データ・ファイル

解説に使用しました,LTspiceの回路をダウンロードできます.
LTspice8_027.zip

●データ・ファイル内容
LLC.asc:図6の回路
LLC.plt:図7のグラフを描画するためのPlot settinngsファイル
LLC_NG.asc:図6の回路
LLC_NG.plt:図7のグラフを描画するためのPlot settinngsファイル

■LTspice関連リンク先


(01) LTspice ダウンロード先
(02) LTspice Users Club
(03) LTspice メール・マガジン全アーカイブs
(04) ◆LTspice電子回路マラソン・アーカイブs
(05) ◆LTspiceアナログ電子回路入門アーカイブs
(06) ◆LTspice電源&アナログ回路入門アーカイブs
(07) ◆IoT時代のLTspiceアナログ回路入門アーカイブs
(08) ◆オームの法則から学ぶLTspiceアナログ回路入門アーカイブs
(09) ◆LTspiceエデュケーショナル・ファイルで学ぶアナログ回路アーカイブs
(10) ◆LTspiceドット・コマンドから学ぶアナログ回路アーカイブs

トランジスタ技術 表紙

CQ出版社オフィシャルウェブサイトはこちらからどうぞ

CQ出版の雑誌・書籍のご購入は、ウェブショップで!


CQ出版社 新刊情報



トライアルシリーズ

高精度cm級GPS測位キット実験集

計測器BASIC

改訂新版 ディジタル・オシロスコープ実践活用法

ボード・コンピュータ・シリーズ

MicroPythonプログラミング・ガイドブック

データサイエンス・シリーズ

Pythonが動くGoogle ColabでAI自習ドリル

アナログ回路設計オンサイト&オンライン・セミナ