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―