会社や家庭で情報処理装置の標準となっているパーソナル・コンピュータ(PC)は、汎用シリアル・バス(USB)を使ってほとんどの周辺機器と通信を行います。標準化されていることや、低コストであること、またソフトウェアの更新や開発ツールを使用する際の使いやすさという点で、今やPCは医療および産業用アプリケーションのホスト・プロセッサ・プラットフォームとして非常に有用な機器となっています。しかし、これらの成長市場で求められる安全性および信頼性の要求(とりわけ電気絶縁)に関しては、これまでPCが普及してきたオフィス環境の場合とは大きく異なります。
初期のPCにおいては、外部に対する標準インターフェースとしてシリアル/パラレル・ポートが使用されていました。こうした以前の規格は、最も初期のメインフレーム・コンピュータから継承されたものです。RS-232通信は標準規格として普及しており、通信速度は遅いものの、医療/産業用アプリケーションに対して高い適合性を有します。それは、必要とされる堅牢な絶縁機能を簡単に実装できるからです。RS-232は入手が容易であることやサポート面で優れているという理由で、低速であることや、1対1でしか使えないという欠点にもかかわらず、広く用いられてきました。
USBは、多くの点で旧規格のシリアル・ポートよりはるかに優れているため、現在ではPCや周辺機器においてRS-232の代わりにUSBが標準ポートとして使用されるようになっています。しかし、USBを用いた場合、一般的に医療/産業用アプリケーションで必要な絶縁性能を簡単に得ることはまだ難しく、かつ費用もかさみます。そのため、これまでは主にポート診断や一時的な接続用途に限って利用されてきました。
本稿では、USBインターフェースにおけるさまざまな絶縁方法について説明します。現在、アナログ・デバイセズは新製品のUSBアイソレータADuM41601 を提供しています。この業界初のUSBアイソレータにより、周辺機器(特にD+/D-のデータ・ライン)との絶縁が容易にかつ低コストで行うことが可能となり、医療/産業用アプリケーションにおいてもUSBを広く利用することができます。
汎用シリアル・バス(USB)について
USBは、その使いやすさからPCに対応した標準シリアル・インターフェースとして広く普及しています。これは一般的な商用オペレーティング・システムのすべてでサポートされており、ハードウェアとドライバのオンザフライ接続を実現します。USBのシステム構成ではハブを含めて最大127台の周辺機器を接続することができます。USBにはいくつかのデータ転送モードがあり、大量のデータを非周期的にやり取りするバルク・データ転送から、ストリーミング媒体へのアイソクロナス・データ転送、そしてマウス動作などの少量データでリアルタイムに応答可能なインタラプト・データ転送などがそれにあたります。またUSBは、ロースピード(1.5Mbps)、フルスピード(12Mbps)そしてハイスピード(480Mbps)という3つのデータ転送速度で動作します。このシステムが開発された当時は、一般消費者向けアプリケーションが主な対象となっていました。そのため、PCとの接続が容易に行えることや、電源が入っている状態での接続・取り外しができることなどが必要とされ、コントローラと物理層によってその複雑さが解消されています。
USBの物理層はわずか4本のラインで構成され、その2つは5V電源とグラウンドを周辺機器に供給し、残り2つのD+とD-は差動データを伝送できるツイスト・ペアを形成しています(図1)。これらのデータ・ラインは、その両方に実装されている受動抵抗(プルアップ/プルダウン抵抗)によりアイドル状態となり、またシングルエンドでのデータ転送も行うことが可能です。デバイスがバスに接続されると、受動抵抗によりデータ・ラインの信号レベルが変化し、通信速度が判定されます。データはデータ・フレームまたはパケットとしてやり取りが行われます。各フレームはクロック同期、データ・タイプ識別子、デバイス・アドレス、伝送誤り検出、パケット終了シーケンスなどの各要素から構成されています。

この複雑なデータ構造の制御は、シリアル・インターフェース・エンジン(SIE)が各ケーブル端で処理しています。この特殊なコントローラ(あるいは、一般にUSBトランシーバを含む大きなコントローラの一部)が、USBプロトコルを管理します。エニュメレーション(Enumeration)中に、周辺機器が最初にケーブルに接続されると、SIEはホストに対してディスクリプタ情報と電源などを供給します。動作中に、SIEは必要なデータ転送タイプに応じて、すべてのデータをフォーマットし、伝送誤りの検出を行います。SIEはバス上のすべての制御フローを処理し、必要に応じてライン・ドライバとライン・レシーバを有効または無効にします。ホスト側では、シーケンスに従って周辺機器との間で転送が行われ、そのときのデータ破損や伝送誤りなどの情報を含んだトランザクションが構成されます。SIEはマイクロプロセッサに組み込むことができるので、周辺機器とはD+ラインとD-ラインだけで接続することができます。しかし、このバスの絶縁にはいくつか課題が存在します。
- アイソレータはほとんどの場合、単方向デバイスとして機能するのに対し、D+およびD-ラインは双方向通信である。
- SIEは、データ伝送方向を判定するための信号を外部に送信しない。
- アイソレータは受動抵抗のプルアップ/プルダウンによる状態を絶縁障壁(アイソレーション・バリア)の内側と外側で一致させる必要がある。
今日までのUSBインターフェースの絶縁方法では、上記で説明した問題を回避するために以下のようなアプローチをとっています。
第1の方法 : 図2のように、USBインターフェースを絶縁する必要があるデバイスの外に完全に移動します。多くのデバイスは汎用シリアル・バスをUSBに接続することができます。この例では、RS-232からUSBへの変換を示しています。SIEは汎用シリアル・インターフェース機能を提供し、絶縁機能は低速のシリアル・ラインに実装されています。しかし、この方法ではUSBの利点を活用することができません。実現されるのは、オンザフライでロードできるシリアル・ポートにすぎません。インターフェース ICをファームウェアの変更で周辺機器を識別できるようにカスタマイズし、また専用ドライバを作製することも可能です。しかし、各周辺機器には専用のアダプタが別途必要となります。アダプタを常に周辺機器に装着しておかない限り、管理に大変な手間がかかります。また、インターフェースの通信速度は標準的なRS-232の速度に制限され、USBのロースピード転送におけるスループットにさえ、はるかに及びません。

第2の方法 : 絶縁の容易なインターフェースを備えたスタンドアロンSIEを使用します(図3)。市場に出回っている一部の製品では、SIEとマイクロプロセッサを接続するためにSPIなどの高速な単方向インターフェースが採用されています。ADuM1401Cなどの4チャネルデジタル・アイソレータを使用することで、SPIバスの完全な絶縁が可能です。こうしたSIEはSPIバスで書き込めるバッファ・メモリを備えているため、SPIの動作速度はUSBの速度に大きく左右されることはありません。最も速い通信可能な速度がSIEとUSBホストとの間で設定されます。そして設定されたバス速度でデータを送信し、バッファ内のデータがなくなるまで送信を続けます。他にも通信すべきデータがあると予測される場合には、ホストにリトライを要請し、SPIインターフェースが次の転送サイクルでデータをバッファに書き込めるよう時間的な余裕を与えます。この方法は非常に有効ですが、一般には周辺機器のマイクロプロセッサに組み込まれた既存のUSB回路の変更や周辺機器ドライバの修正が必要となります。この場合、新たに部品を追加する必要があり、また基板面積も大きくなるため比較的高価なソリューションになってしまいます。

第3の方法: マイクロプロセッサのSIEが外部トランシーバを使用する場合、トランシーバへのデータ・ラインと制御ラインに絶縁機能を追加することができます(図4)。しかし、この場合、SIEとUSBトランシーバ間には9本もの単方向データ・ラインが存在します。そのため、高速デジタル・アイソレータが数個必要となり、大きなコスト要因となります。現在のところデジタル・アイソレータの最高データレートは約150Mbpsで動作しますが、これはUSBのロースピードやフルスピード転送より格段に速いとはいえ、USBインターフェースの速度範囲に制限されるため、これを超える速度でデータを処理することはできません。このソリューションはマイクロプロセッサのSIEに組み込まれているUSBドライバに完全に適合し、開発コストを削減できますが、多くのアイソレーション・チャンネルが必要なため、実装費は高くなります。市場では今後ますます高集積化が進む傾向にあるため、この種のトランシーバ・インターフェースは減少していくことでしょう。

第4の方法 : 必要な絶縁機能をD+およびD-ラインに直接挿入します(図5)。この方法では、ドライバの書換えや冗長性のあるSIEの追加を新たに行うことなく、D+/D-アイソレーションを既存のUSBアプリケーションにそのまま追加できるので、他の方法に比べて、開発コストの削減や開発時間の短縮などの点で大きなメリットがあります。しかし、追加するデバイスはSIEと同様に制御フローを処理する能力が必要であり、またプルアップ/プルダウン抵抗への対応や絶縁障壁の内側と外側にまたがって速度の決定を行えるようにする必要があるため、D+およびD-ラインの絶縁にはいまだ複雑な仕組みが必要となります。

これらの問題は、 USBアイソレータADuM4160を用いて解決することができます(図6)。このアイソレータは、USBのロースピード/フルスピードで動作し、 D+/D-ラインを直接絶縁することが可能な新しいチップスケール・デバイスです。

アナログ・デバイセズのiCoupler®技術2 は、特にUSBアイソレータの構成に最適です。USBアイソレータ開発の第1の課題は、データ伝送の方向、そしてどの時点でドライバを無効にしてアイドル・バス状態を許可するかを正しく判定することでした。USBデータ通信はそもそもパケット方式を採用しているため、SIEの変更なしに簡単な方法でデータ伝送の方向を判定できます。バスがアイドル状態のときには、プルアップ抵抗とプルダウン抵抗によりUSBをアイドル状態に維持します。
ADuM4160はバスのアップストリーム/ダウンストリームをモニタし、いずれか一方の方向からの遷移を待ちます。遷移が検出されると、データはエンコードされ、絶縁障壁を越えて送信されます。その後データはデコードされ、ほかのケーブル上での送信を行うために出力ドライバが有効になります。この最初の遷移からデータ伝送の方向が識別され、逆方向のアイソレータ・チャンネルが無効となります。アイソレータは、データの受信が続いている限り、同じ方向でデータを送信し続けます。USBパケットが完了すると、パケット終了(EOP)シーケンスを示す特別なデータが送信されます。EOPは、どのようなデータ構造にも組み入れられることのない非差動信号を含んでいます。アイソレータは、EOPマーカーと有効なデータを識別します。このマーカーは、バスがアイドル状態に戻ることを知らせます。出力ドライバは無効となり、アイソレータは次の遷移のためにアップストリーム入力とダウンストリーム入力のモニタを再度開始します。この遷移が始まると、次のデータ伝送の方向が設定されます。
ウォッチドッグ・タイマは、バスで何らかのエラーが発生するとアイソレータをアイドル状態に戻します。ADuM4160はiCoupler技術の1つである遷移ベースのアイソレーション伝送方式を利用します。
アイソレータはプルアップ抵抗とプルダウン抵抗もサポートする必要があります。アイソレータの各サイドでは独立してUSBバスをサポートし、これら抵抗はすべてアイドル状態で利用されます。プルアップ抵抗により、バス上の新しいデバイスに対してエニュメレーションと呼ばれる初期化シーケンスが行われます。周辺機器とのデータ転送速度と、プルアップの接続タイミングが伝達されることで、正しい手順でエニュメレーションを開始することができます。アップストリームのプルアップ抵抗の状態には、複数の要素が影響する可能性があります。ADuM4160において使用できるアップストリーム電源電圧とダウンストリーム電源電圧は何通りかの組合せが可能です。このアイソレータは想定される複数の電源電圧の組み合わせにも対応できるように設計されています。周辺機器に対しては、アップストリームのプルアップ抵抗の接続を意図的に遅らせたほうが良い場合があります。たとえば、USBエニュメレーションの開始前にそれ自体のローカル初期設定を完了する必要がある場合などです。ADuM4160はダウンストリーム側で制御ピンを持っているため、周辺機器側でエニュメレーションの開始タイミングを決めることができます。
また、このデバイスは5Vあるいは3.3Vのいずれの電源電圧でも動作するため、周辺機器側で2つの異なる電源を用意する必要はありません。また、ADuM4160は非常に高いシステムレベルでのESD保護機能を備えているため、多くの場合では保護回路を外付けせずにコネクタにD+ピンとD-ピンをホット・プラグで使用できます。
ADuM4160は、以下の3つの用途において適用されることが多いと考えられます。
- アップストリーム・ポートを絶縁する目的で周辺機器に組み込む場合。ADuM4160は、この構成を基本アプリケーションとして設計されており、最もシンプルな電源・制御の構成を実現します(図7)。
- USBハブの絶縁に使用する場合。ハブ以降の周辺機器のすべてを絶縁します(図8)。
- ケーブル・インタフェース絶縁に使用する場合(図9)。
以下の図は、上記の各アプリケーションにおけるADuM4160の接続例をそれぞれ示しています。
周辺機器に専用の電源がある図7のようなアプリケーションでは、USBケーブルからの電源はほとんどの場合で不要です。アイソレータのアップストリーム側とプルアップ抵抗用の電力は約10mWです。周辺機器は単一速度で動作するため、アイソレータは所望の速度(フルスピードまたはロースピード)に設定した上で固定されます。周辺機器ポートがハイスピードに対応している場合、エニュメレーション時にはハイスピード用の「チャープ(Chirp)」プロトコルによって確認されます。通常は、これによってハイスピード動作のための設定が開始されますが、ADuM4160が組み込まれている場合は、このチャープ信号をブロックし、ハイスピード対応の周辺機器がフルスピードで動作するよう自動的に設定されます。専用の電源を備えていない低速の周辺機器を接続する場合には、ADuM5000などの絶縁型DC/DCコンバータが内蔵されたデバイスを使って、USBケーブルから周辺機器やADuM4160に電源を供給することができます。

図8のようにUSBハブのアイソレータとして使用する場合、ADuM4160はハブを周辺機器として扱います。ADuM4160はフルスピードに設定され、その他の手順は、上述した標準的な周辺機器のケースと同様です。アイソレータは同じくチャープ信号をブロックして、ハブがハイスピードではなく、フルスピードで動作するように設定します。USBハブのインタフェースICにより、アイソレータが固定の速度で動作していても、ロースピードとフルスピードで動作しているデバイスが混在する中で接続が可能です。ハブはアイソレータのダウンストリーム・ポートに電源を供給し、エニュメレーションの開始を電源投入と同期させる、または意図的に遅らせることができます。一般にUSBハブは、絶縁型DC/DCコンバータを介してアップストリーム・ケーブルによって供給できる電力量より多くの電力を必要とします。

絶縁USBケーブルを駆動する場合は(図9)、DC/DCコンバータを使ってダウンストリーム・ポートとケーブルの両方に電源を供給する必要があります。USB仕様の条件を満たすには、ケーブルのダウンストリームから5V電源を周辺機器のプルアップ抵抗や回路に供給しなければなりなせん。ADuM5000などの絶縁型DC/DCコンバータはこの電力を供給しても十分に余裕があるので、消費電力の低いダウンストリーム・デバイスに電力を提供できます。図9は、isoPower®と呼ばれる絶縁型DC/DCコンバータを内蔵したデバイス3 ADuM5000の使用例を示しています。このアプリケーションでは、ADuM4160の転送速度設定用のピンがいくらか不要となります。この絶縁ケーブルでは、一度に1つのUSB速度でしか動作しません。速度モードを変更するには、単純にマニュアルでスイッチを操作するか、あるいは専用の回路を使って配線を切り換える必要があります。どのような方法を用いるかは、エンドユーザの使用条件によって異なります。

結論
今日では、USBは広く一般的に普及し、非常に多くの機器で用いられるようになっています。この業界初のUSBアイソレーション製品であるADuM4160を利用すれば、これまで困難であったUSBアプリケーションに対してよりシンプルかつ安価に周辺機器の絶縁機能の組み込みを実現することできます。これによって、USBはポート診断や一時的な接続に限定することなく、医療用/産業用アプリケーションなどのさまざまな領域に広く普及していくでしょう。ADuM4160はD+/D-ラインのアイソレーションに主眼を置いているため、実装はきわめて簡単になります。フルスピードおよびロースピード動作に対応しているので、広範囲のアプリケーションで十分な帯域幅を使用できます。
参考資料
1アナログ・デバイセズの全製品については、www.analog.com/jpをご覧ください。
2www.analog.com/jp/products/interface-isolation/isolation/standard-digital-isolators.html
3www.analog.com/jp/products/interface-isolation/isolation/isopower.html