AN-913: I²Cインターフェースのアイソレーション (Rev. 0) PDF

AN-913
アプリケーション・ノート
I2Cインターフェースのアイソレーション
著者:Ronn Kliger
どちらか一方の機能のみを持つデバイスもあります。また、デ
バイスは必要に応じてマスターまたはスレーブとして機能しま
す。マスターはほかのデバイスのアドレスを指定してデータ転
送を開始するデバイスであり、スレーブはマスターによってア
ドレス指定されるデバイスです。
はじめに
I2C®(Inter-Integrated Circuit)バスは、IC間の低速近距離通信
に用いられる2線式双方向バスです。このI2Cは、1980年代初頭
にPhilips1がシングル・ボード上のIC間通信のために開発しま
した。今日、マルチボード・アプリケーションでも I 2 C の使用
が増大していますが、これは新しいバスの機能拡張や制御デバ
イスがそれまでの最大許容負荷容量(400pF)の制約の克服に
役立ったためです。
I2Cバスに2つ以上のデバイスを接続して、複数のマスター/ス
レーブ関係を構築することができます。こういった環境でのバ
ス動作は、 I 2 C 標準に準拠したアービトレーション手順で規定
されています。
ブレード・サーバーやデジタル制御の電力コンバータなどのマ
ルチカード・アプリケーションでは、多くの場合、各インター
フェースをアイソレートすることによりカードのスムーズな着
脱や安全性の確保に対応する必要があります。しかし、 I 2 C バ
スは双方向であるため、 I 2 C のアイソレーションはそれほど簡
単ではありません。この特性は、フォトカプラの単方向動作と
は同等ではありません。
デバイスは、トランスミッタ/レシーバのいずれであっても、
マスターまたはスレーブとして指定できます。たとえば、ス
レーブからのデータ転送を開始するシーケンスでは、マスター
は最初にトランスミッタ(スレーブのアドレスを指定)に、次
にレシーバ(スレーブからデータを受信)に、その後に再度ト
ランスミッタ(転送終了を指示)になります。一方、スレーブ
は最初にレシーバに、次にトランスミッタに、その後レシーバ
になります。
このアプリケーション・ノートでは最初に I 2 C バスの概要を簡
単に説明し(物理層を中心に説明)、次にI2Cインターフェース
のアイソレーションに関する課題を取り上げます。最後に、
I2Cインターフェース・アイソレーションのiCoupler®ソリュー
ションについて説明します。
I 2 C バスは、オープンドレイン/オープンコレクタによるワイ
ヤ AND 機能を使って動作します(図 1 を参照)。バスをロジッ
ク・ハイレベルの状態にするためには、バスに接続されたデバ
イスはすべてロジック・ハイレベルの状態になる必要がありま
す。SDAラインとSCLラインの両方でこの状態が存在するとき、
デバイスはバスを開放状態とみなしてデータ転送を開始できま
す。SDAとSCLは共に双方向ラインなので、デバイスはトラン
スミッタとレシーバの両方の役割を担うことができます。
I2Cの概要
I2Cインターフェースは、NXP Semiconductors社のI2Cバス仕
様バージョン2.1(2000年1月)で規定されています。このイン
ターフェースは、 SDA (シリアル・データ)、 SCL (シリア
ル・クロック)という2 本の線から構成されています。これら
1
の線を使って、バスに接続された固有のアドレスを持つ各デバ
イスに対して情報の送受信を行います。一般にデバイスは必要
に応じてトランスミッタまたはレシーバとして機能しますが、
2006年、Philipsは半導体事業(I2Cポートフォリオを含む)を分社化して新会社
NXP Semiconductorsを設立しました。
+V DD
PULL-UP
RESISTORS
RP
RP
SDA (SERIAL DATA LINE)
SCL (SERIAL CLOCK LINE)
SCLK
SCLKN1
OUT
DATAN1
OUT
SCLKN2
OUT
DATAN2
OUT
SCLK
IN
DATA
IN
SCLK
IN
DATA
IN
DEVICE 1
DEVICE 2
図1.
06751-001
SCLK
2
I Cバス
REV. 0
アナログ・デバイセズ株式会社
本 社/ 〒105-6891 東京都港区海岸1-16-1 ニューピア竹芝サウスタワービル
電話03(5402)8200
大阪営業所/ 〒532-0003 大阪府大阪市淀川区宮原3-5-36 新大阪MTビル2号
電話06(6350)6868
―1―
AN-913
目次
iCoupler I2Cアイソレーション・ソリューション . . . . . . . . . . . . . 4
ADuM1250/ADuM1251使用時の注意 . . . . . . . . . . . . . . . . . . . . . . . 5
はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
I2Cの概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
絶縁型I2Cインターフェースの課題. . . . . . . . . . . . . . . . . . . . . . . . . 3
―2―
REV. 0
AN-913
表1. I2Cのロジック・レベル
Parameter
Symbol
Min
Max
Unit
Comments
Logic Low Input Voltage
VIL
–0.5
0.3 x VDD
V
Standard mode allows for a fixedinput specification (–0.5 V min,
+1.5 V max)
Logic High Input Voltage
VIH
0.7 x VDD
VDD + 0.5 V
VDD > 2 V
VOL1
0
0.4
V
VDD < 2 V
VOL3
0
0.2 x VDD
V
Logic Low Output Voltage (for 3 mA sink current)
Standard mode does not allow for
VDD < 2 V
SDA TAKEN
LOW BY SLAVE
データ転送は、最大 100kbps (標準モード)、最大 400kbps
(ファースト・モード)、最大1Mbps(ファースト・モード・プ
ラス)、または最大 3.4Mbps (ハイスピード・モード)で行う
ことができます。バス制限値である400pFを超えない限り、そ
のバスに接続できるデバイスの数は無制限です。表1に、I2Cの
ロジック・レベルを示します。
SDA PULLED LOW
VIA OPTOCOUPLER IC 1
SDA RELEASED
BY MASTER
SDA RECOVERS
TO LOW STATE
AFER OPTOCOUPLER
PROPAGATION DELAYS
SDA TAKEN
LOW BY MASTER
BUS GLITCH
I 2 C インターフェースの重要な点は、SCL クロック信号がロー
レベルのときにだけ SDA のロジックが変化するということで
SDA
す。また、データ送信を制御するスタート信号とストップ信号
は、 SCL クロック信号がハイレベルのときに発生する SDA ロ
ジック変化です。したがって、バス上の通信障害を避けるには、
ローレベルとハイレベルの両状態でSCL信号を安定させること
が重要です。
OPTOCOUPLER IC 1
OFF
ON
OFF
NODE1
絶縁型I2Cインターフェースの課題
5V
5V
R1
3.3kΩ
R2
2.2kΩ
D1
R3
2.2kΩ
R4
3.3kΩ
ON
フォトカプラを採用したI2Cインターフェースの波形
こういった回路には、望ましくないバス・グリッチが発生する
という別の問題もあります(図3を参照)。
• ハイレベルからローレベルへの変化は SDA で発生します。
この場合、IC1はR2を流れる電流によってオンします。これ
によってノード1がローレベルにプルダウンされ、D2を介し
てSDA'がローレベルにプルダウンされます。
• SDAをローレベルにしておく必要はないため、SDAライン
は開放され、ハイレベルになります。IC1内のLEDはオフに
なります。一定の遅延の後に、IC1のトランジスタがオフに
なります。ノード1 はハイレベルになり、IC 2 のLED がオン
になります。次の遅延の後に、IC2のトランジスタがオンに
なり、SDA がローレベルにプルダウンされて望ましい状態
SDA
D2
06751-002
SLAVE
図2.
図3.
OFF
以外、何も変化しません。
NODE1
OCTOCOUPLER
IC2
OPTOCOUPLER IC 2
• SDA'はローレベルに変化します。D2が動作しなくなること
OCTOCOUPLER
IC1
SDA
MASTER
SDA
06751-003
I 2 C インターフェースは双方向という特性を持つため、バスの
グリッチ/ロックアップ防止に適したアイソレーションを実現
しようとする際に問題が生じます。図2 に、フォトカプラ技術
に基づく回路を示します。フォトカプラは本来単方向性のデバ
イスであるため、フォトカプラを使用して通信を行うためには、
I2Cの各双方向ラインをそれぞれ2本の単方向ラインに分割する
必要があります。図2に、簡略化したSDAラインのみを示しま
す。I2Cインターフェース全体をアイソレートするには、4個の
フォトカプラが必要となります。この方法を採用すると、コス
ト、ボード・スペース、および複雑さが増して、シンプルな低
価格の2線式インターフェースというI2C本来の価値が薄れてし
まいます。
になります。
フォトカプラを採用したI2Cインターフェース
SDAは、IC1がオフになってIC2がオンになるまでの間ハイレベ
ルを維持します。このためにバス上に不要なグリッチが発生し
ます。このグリッチはSDAがハイレベルのときにSDA'がバス
をローレベルにしようとして発生します。
REV. 0
―3―
AN-913
品1個のI2Cアイソレータであり、フォトカプラ採用のソ
リューションでの複雑さ、サイズ、コスト面での問題もありま
せん。
P82B96のデータシートでNXP Semiconductorsが提供している
ソリューションは、同社のデュアル双方向バス・バッファと
4個のフォトカプラから構成されています。このソリューショ
ンにはグリッチやロックアップの問題はありませんが、複数の
部品が必要となるため、ボード・スペースやコスト面で不利で
あり、I2Cインターフェースのメリットが損なわれます。
ADuM1250は双方向データ・ラインと双方向クロック・ライン
とのインターフェースをサポートし、ADuM1251は双方向デー
iCoupler I Cアイソレーション・ソリュー
ション
一方、アナログ・デバイセズのADuM1250/ADuM1251
iCoupler製品は、グリッチやロックアップの問題を解消した部
V DD1
1
DECODE
ENCODE
8
V DD2
SDA 1
2
ENCODE
DECODE
7
SDA 2
SCL 1
3
DECODE
ENCODE
6
SCL 2
GND1
4
ENCODE
DECODE
5
GND2
ADuM1250の機能ブロック図
V DD1
1
DECODE
ENCODE
8
V DD2
SDA 1
2
ENCODE
DECODE
7
SDA 2
SCL 1
3
ENCODE
DECODE
6
SCL 2
GND1
4
5
GND2
図5.
06751-005
図4.
06751-004
タ・ラインと単方向クロック・ラインとのインターフェースを
サポートしています。この2 つの製品は、UL 認定の2.5kVrms
アイソレーション定格を持ち、8ピンSOICパッケージを採用し
ています。
2
ADuM1251の機能ブロック図
―4―
REV. 0
AN-913
ADuM1250/ADuM1251を使用する絶縁型I2Cインターフェー
スはきわめてシンプルです(図6を参照)。これは、わずか1個の
部品と各電源のバイパス・コンデンサから構成されています。
プルアップ抵抗は、すべての I 2 C インターフェースに関係して
います。抵抗値選択のガイドラインは、 I 2 C 仕様に記載されて
います。
1
ADuM1250
8
SIDE 2
SDA
0.4V
SDA
0.9V
0.7V
V DD2
0.3V DD
SCL 1
GND1
図6.
2
7
3
6
4
5
SDA 2
I2C BUS
SCL 2
GND2
図7. ADuM1250/ ADuM1251のサイド1のロジック電圧レベル
サイド1レシーバのロジック・ローレベル出力は最大0.9Vです。
この電圧値は、ほかの標準CMOSデバイスがサイド1になった
場合に、入力ローレベル電圧として読み取ることができるよう
に十分小さな値であると同時に、ロジック・ローレベルのス
レッショールドが0.7V(max)であるサイド1側トランスミッ
タが、ロジック・ローレベルとは解釈しないように十分大きな
値になっています。したがって、サイド1 レシーバからのロー
レベル出力は、バスに接続されたデバイスによって正しく検出
されますが、サイド1トランスミッタによってサイド2に帰還さ
れることはありません。そのため、フォトカプラ・ソリュー
ションに関連するバス問題が回避できると同時に、最大1MHz
のクロック周波数をサポートすることができます。帰還ループ
はサイド1で切断されるため、サイド2で同じことをする必要は
ありません。サイド2 では、標準のロジック電圧レベルが使用
されます。
06751-006
SDA 1
06751-007
V DD1
SIDE 1
ADuM1250を使用した絶縁型I2Cインターフェース
ADuM1250/ADuM1251アイソレータは2本の双方向通信ライ
ンをサポートするために、 I 2 C インターフェースのワイヤード
AND オープンドレイン構成内で 4 チャンネルの単方向アイソ
レーションを内部的に構成しています。デバイスのサイド1 の
特別なロジック電圧レベルは、バスのグリッチまたはラッチ
アップを防止するために使用します。これによって、サイド1
のレシーバからアサートされたロジック・ローレベルがサイド
1のトランスミッタによって入力ローレベルと解釈されること
がなくなり、その結果、サイド1とサイド2間のループが切断さ
れます(図7を参照)。
ADuM1250/ADuM1251使用時の注意
ADuM1250/ADuM1251を使用する場合は、サイド2をI2Cバスに
接続することを推奨します。これらのアイソレータのサイド2は、
標準モード/ファースト・モード動作をサポートする I 2 C 仕様
に完全に準拠しています。サイド1 (I 2 C デバイスと完全互換)
は、バスのラッチアップを防ぐために特別なロジック・ローレ
ベル電圧を使用するため、I2Cに厳密には準拠していません。
REV. 0
―5―
AN-913
GND2
V DD1A
SDA 1A
1
ADuM1250
V DD2
8
2
7
3
6
4
5
SDA 2A
DEVICE A
SCL 1A
GND1A
V DD1B
SDA 1B
1
ADuM1250
SCL 2A
8
2
7
3
6
4
5
SDA 2B
I2C BUS
DEVICE B
SCL 1B
GND1B
V DD1N
SDA 1N
1
ADuM1250
SCL 2
8
2
7
3
6
4
5
SDA 2N
DEVICE N
GND1N
図8.
SCL 2N
06751-008
SCL 1N
I2Cバス上の複数デバイスのアイソレーション
図8に、ADuM1250アイソレータを介して複数のデバイスに接
続されている I 2 C バスを示します。各デバイスは専用の電源を
備えており、 ADuM1250 のサイド 1 に接続されています。各
ADuM1250のサイド2はバスに接続され、共通のVDD2電源から
駆動されます。
ション・チャンネル間の伝播遅延の不一致をよく考慮して、イ
ンターフェースがI2C条件を満たしているか確認してください。
I2Cインターフェースのアイソレータに関して次の2つのタイミ
ング・パラメータがあります。
• SDAセットアップ時間(ファースト・モードで250ns)
I2Cインターフェースについては、デザインがI2C仕様のタイミ
ング条件を満たしているかどうかを確認する必要があります。
特に、アイソレーション・チャンネルの伝播遅延とアイソレー
―6―
• SDAホールド時間(ファースト・モードで300ns)
REV. 0
AN-913
MASTER
SLAVE
tSETUP
tSETUP – ∆ t
tHOLD
SDA
tHOLD – ∆ t
(250ns MIN) (300ns MIN)
ISOLATOR
SDA
CHANNEL-TO-CHANNEL
PROPAGATION DELAY MISMATCH, ∆ t
SCL
図9.
AN06751-0-6/07(0)-J
06751-009
SCL
マスター/書込みモードでのアイソレータ・チャンネル間不一致の影響
MASTER
t0 + tSCL + tRESPONSE + tSDA
SLAVE
tSETUP
tRESPONSE
ISOLATOR
SCL
(TRANSMITTED BY
MASTER)
SCL
(RECEIVED BY
MASTER)
PROPAGATION DELAY, tSCL
tLOW
t0
t0 + tSCL
図10.
スレーブ/書込みモードでのアイソレータ往復伝播遅延の影響
I2Cアイソレータの影響を分析するときは、2つの状況を考える
必要があります。その1 つは、マスター・デバイスがスレーブ
に書込みを行っているときです(図9を参照)。この場合、アイ
スレーブの応答時間を合わせた時間は、SCLロジック・ローレ
ベル期間からセットアップ時間を差し引いた時間より短くする
必要があります。
ソレータのチャンネル間不一致によってスレーブ側で受信する
t0 + tSCL + tRESPONSE < TLOW – TSETUP
SDA信号のセットアップ/ホールド時間が短くなる可能性があ
ります。これを防止するためには、マスターのセットアップ時
間とホールド時間を少なくともチャンネル間不一致分だけ増や
して、受信側のスレーブ・デバイス側で必要なセットアップ時
間とホールド時間を確保できるようにする必要があります。
したがって、スレーブの応答時間に対する制約は次式で表され
ます。
tRESPONSE < TLOW – tSETUP –t0 – tSCL
もう1 つの状況は、スレーブ・デバイスがマスターに書込みを
行っているときです(図10を参照)。この場合、マスターがス
レーブにSCLクロックを送信し、それを使ってSDA信号がマス
ターに書き込まれます。マスターはSCL をローレベルにして、
SCL がロジック・ハイレベルの状態に戻る前(所要のセット
アップ時間が経過する前)にスレーブからSDAエッジを受信す
る必要があります。すなわち、アイソレータの往復伝播遅延と
このいずれのケースでも、理想的な I 2 C アイソレータは伝播遅
延が小さく、チャンネル間で厳密に一致しているという2 つの
特性を持っています。小型、単純さ、低価格というメリットに
加え、ADuM1250/ADuM1251はこうした優れた性能特性も提
供します。これは、本製品が I 2 C インターフェースのタイミン
グにそれほど影響を与えないためです。
© 2007 Analog Devices, Inc. All rights reserved. 商標および登録商標は各社の所有に属します。
REV. 0
SDA
(TRANSMITTED BY
MASTER)
PROPAGATION DELAY, tSDA
06751-010
SDA
(RECEIVED BY
MASTER)
―7―