バス・スイッチは、高速デジタル・バスにおける信号の制御に使用されるデバイスです。デジタル・スイッチとも呼ばれています。伝搬遅延がナノ秒未満に抑えられており、スイッチングが高速であることを特徴とします。また、ノイズやDC的な消費電力を増加させることもありません。そのため、電圧変換、ホット・スワップ、ホット・プラグ、バスまたは容量の隔離/分離など、多くのアプリケーションで理想的なデバイスとして使用されています。加えて、その設計は、多くのアナログ・アプリケーションに対しても親和性を持ちます。実際、オン抵抗、容量値、伝搬遅延が小さいことから、バス・スイッチは多様なアプリケーションで利用できます。本稿では、バス・スイッチの構造や特徴について詳しく説明した上で、様々な使い方を紹介することにします。
バス・スイッチとは?
バス・スイッチの基本構造は、図1のようなものになります。主要な要素はNチャンネルのFETであり、それをCMOSロジックによって制御します(図1)。バイラテラル・スイッチとして、ソース端子とドレイン端子のうちいずれかを信号の入力端子、他方を出力端子として使用できます。バス・スイッチをディスエーブルの状態にするには、FETのゲート電圧を0Vに維持します。それにより、ソースとドレインの間はオープン・サーキットの状態になります。
![図1. バス・スイッチの基本構造](/jp/_/media/images/analog-dialogue/en/volume-36/number-2/articles/bus-switches-for-speed-safety-efficiency/bus-fig-01.gif?h=149&w=250&rev=0d13c950dccb441289300513b1cd6b0a&sc_lang=ja)
図1の回路において、BEをロー(0V)に設定すると、インバータの出力がハイ(VCC)になります。つまり、スイッチとして機能するFETのゲート電圧がVCCに駆動されます。その結果、バス・スイッチはイネーブルの状態になります。ゲート‐ソース間電圧VGS(またはゲート‐ドレイン間電圧VGD)、つまりはVCC - VINがトランジスタの閾値電圧(通常は約1V)よりも高くなると、スイッチのチャンネルがオンになります(VINは入力電圧)。その際、スイッチのオン抵抗は数Ω程度になります。ただ、VGSが閾値電圧に近づくにつれ、スイッチは飽和領域に近づきます。その結果、抵抗値がかなり高い状態になります。図2は、オン抵抗と入力電圧の関係をVCCの関数として示したものです。これはアナログ・デバイセズのバス・スイッチ「ADG3257」の例ですが、バス・スイッチの標準的な特性だと言えます。スイッチが飽和状態になると、出力電圧はVCC - VTHに制限されます(VTH は閾値電圧)。
![図2. バス・スイッチのオン抵抗と入力電圧(VA またはVB)の関係。ADG3257の例を示しています。](/jp/_/media/images/analog-dialogue/en/volume-36/number-2/articles/bus-switches-for-speed-safety-efficiency/bus-fig-02.gif?h=246&w=325&rev=eb8aa0d05b2a4f7bbbcf7bc40b33a7fe&sc_lang=ja)
図3は、標準的なバス・スイッチの入力電圧VINと出力電圧VOUTの関係を示したものです。これは、電源電圧が5V前後の場合の例になります。VGSが約1Vよりも低くなると、スイッチのチャンネルが飽和し始め、VOUTはVCC - VTHにクランプされます。VCCが5Vの場合、VOUTは約4Vまで入力に追従します。VINがそれ以上になると、VOUTはVCC - VTHに制限されます。バス・スイッチが非常に便利である理由は、このようなクランプ特性にあります。そのメリットと活用法については、後ほど詳しく説明します。
![図3. バス・スイッチの入力電圧と出力電圧の関係。ADG3257のVCC を5V前後に設定した場合の例を示しています。](/jp/_/media/images/analog-dialogue/en/volume-36/number-2/articles/bus-switches-for-speed-safety-efficiency/bus-fig-03.gif?h=255&w=325&rev=7857ed2593e54ca296257dd93e50376f&sc_lang=ja)
バス・スイッチの各種特性の中で特にアプリケーションに影響を及ぼすものは、オン抵抗、チャンネルに関連する容量、伝搬遅延です。バス・スイッチのオン抵抗の値は一般的に非常に小さく、通常は数Ω程度になります。チャンネルに関連する容量値については、できるだけ小さいことが求められます。その値は、一般的にはスイッチがオンの状態で10pF未満となります。容量とオン抵抗は、いずれも伝搬遅延に影響を及ぼします。
オンの状態のバス・スイッチを低インピーダンスの電圧源によって駆動している(信号を入力している)ケースを考えます。その場合の伝搬遅延は、スイッチのオン抵抗と負荷容量により生じる遅延(つまりRC遅延)によってほぼ決まります。その値は一般的にナノ秒未満のレベルに抑えられます。その時間は、駆動信号の立上がり/立下がり時間よりもはるかに短いはずです。システムにおいて、バス・スイッチの伝搬遅延は、同スイッチを駆動する回路(信号を入力する回路)のインピーダンスと、スイッチによって駆動される負荷との相互作用によって決まります。
バス・スイッチの用途
バス・スイッチは、ある瞬間において、バスの駆動には不要な機能やバスで駆動する必要がない機能を隔離(分離)するために使用されます(もちろん、その瞬間がすぎて再度接続が必要になれば、それにも対応できます)。それにより、信号の伝送速度を高めたりノイズを抑えたりすることが可能になります。例えば、PCのドッキング・ステーションや、PCカード、電源管理アプリケーションにおいて、電流パスを遮断したり、回路のリーク電流を防いだりするために使用されます。バス・スイッチは、本質的に自己消費電力(静止電力)が非常に少ないデバイスです。例えば、アナログ・デバイセズの「ADG324x/ADG325xファミリ」の場合、スイッチングしていないときの消費電流は1nA程度(最大で1μA)です。そのため、ノート型PCなどのように、消費電力を抑えたいアプリケーションでの使用に最適です。バスにおける隔離を実現する機能は、ホット・スワップやホット・プラグの用途にも適しています。つまり、追加のカードやモジュールを挿し込む際の望ましくない事象を防ぐことが可能になるということです。更に、2種類の異なる電源電圧で動作するシステムを接続しなければならないケースでも役に立ちます。以下、そうした各種のアプリケーションについて詳しく説明します。
バスにおける負荷の隔離
バスのアーキテクチャに共通する要件として、バスの容量負荷を小さく抑えるというものが挙げられます。その種のシステムには、仕様の範囲を超えることなく負荷の数を増やせるようにするために、バスをブリッジするデバイスが必要になります。その時点で使われていないバス上の負荷はすべて切り離し、容量性負荷の総量を抑えてそれに関する仕様を満たせるようにすることが理想です。バス・スイッチは、本質的にはこの目的を達成するために設計されています。つまり、後で接続する必要はあるかもしれませんが、その時点では駆動したり、駆動されたりする必要のない機能を隔離する役割を担います。それにより、任意の時点における容量性負荷の総量を最小化します。
バス・スイッチを、バスとそれに接続された負荷の間に配置したとします(図4)。その場合、スイッチがディスエーブルになると、その負荷はバスから分離されます。バス・スイッチは、イネーブルである際にはどちらの方向にも大量の電流を流すことができます。また、通過する信号に大きな伝搬遅延が加わることもありません。そのため、バス上の負荷の隔離の問題に対する有効なソリューションになります。なお、図4は汎用的な状況を表したものです。
![図4. バス・スイッチの役割。負荷Bをバスから隔離しています。](/jp/_/media/images/analog-dialogue/en/volume-36/number-2/articles/bus-switches-for-speed-safety-efficiency/bus-fig-04.gif?h=102&w=275&rev=5b72b80097ba40aaa003dbff986a66da&sc_lang=ja)
多重化
共通のバスによって数多くの信号をやり取りするシステムを設計する際には、2つの問題に直面することになります。1つは、アドレス・バスとデータ・バスの信号を同時にスイッチングすることにより、システム内でノイズが発生することです。もう1つは、バスの容量性負荷に起因してシステム内で大きな遅延が生じることです。
図5は、そうした問題に対処する方法を示したものです。ここでは、メモリ・バンクの駆動に関する課題に、マルチプレクサ/デマルチプレクサで構成されるADG3257を使うことで対処しています。同製品が内蔵する2:1のマルチプレクサ(4個)を使用することにより、課題を克服しています。以下、その詳細について説明します。図5aのメモリ・バンクのアレイにおいて、各アドレス信号とデータ信号には大きな負荷が接続された状態になります。つまり、個々の負荷が合算された状態になるということです。この問題を回避するために、図5bに示すようにバス・スイッチを適用します。すると、アドレス信号/データ信号に対する容量性の出力負荷は1/2に削減されます。スイッチによって追加される伝搬遅延は無視できるレベルなので、容量性負荷が削減される効果によって、選択されたバンクのデータ伝送速度はほぼ2倍になります。加えて、バスのノイズも大きく低減されます。
![図5. メモリ・バンクの負荷を低減する例。5aの構成では、すべてのメモリ・バンクが常にバスに接続されています。それにより、アドレス線とデータ線に大きな負荷が接続されている状態になります。一方、5bではADG3257を適用しています。それらによって、異なるメモリ・バンクのペアの間を切り替えるようにすれば、アクセス時間とノイズを低減できます。](/jp/_/media/images/analog-dialogue/en/volume-36/number-2/articles/bus-switches-for-speed-safety-efficiency/bus-fig-05.gif?h=166&w=390&rev=ebe36c46adf844929ef78d8f98ad459d&sc_lang=ja)
電圧レベルの変換
異なる電源電圧で動作する2つのデバイスの間を接続するケースを考えます。その場合、高い電圧を使用するデバイスからのデジタル信号を、低い電圧を使用するデバイスに引き渡すためには、安全性を確保するための方策が必要になります。つまり、低い電圧で動作するデバイスの最大定格値を超えないように、高い電圧で動作するデバイスからの電圧出力を低下させなければなりません。これについては、対象となる信号に直列にバス・スイッチを挿入することで簡単に対応できます(図6)。
![図6. バス・スイッチによる電圧変換。ADG3257を使用することで、3.3Vで動作するコントローラと5Vで動作するコンバータ類の信号の切り替え処理と電圧レベルの変換を同時に実現します。](/jp/_/media/images/analog-dialogue/en/volume-36/number-2/articles/bus-switches-for-speed-safety-efficiency/bus-fig-06.gif?h=162&w=325&rev=5f21a194c1644d9ba24b5841047d4c91&sc_lang=ja)
先述したとおり、VGSが1Vよりも低くなると、スイッチのチャンネルは飽和し始めて出力電圧はVCC - VTHにクランプされます。つまり、出力はこの電圧の付近までは入力に追従しますが、入力電圧がそれ以上になると、VCC - VTHに制限されるということです。図7に、スイッチの入力電圧と出力電圧の関係を示しました。図3と同様のものですが、VCCとして3.3V前後の値を使用しています。このような動作を示すことから、バス・スイッチはレベル変換を必要とするアプリケーションに非常に適しています。
![図7. バス・スイッチの入力電圧と出力電圧の関係。ADG3257のVCC が3V前後である場合の例を示しています。](/jp/_/media/images/analog-dialogue/en/volume-36/number-2/articles/bus-switches-for-speed-safety-efficiency/bus-fig-07.gif?h=250&w=325&rev=d50bbb96ef7d460a866cae90b7e3681a&sc_lang=ja)
ここでもう一度図6をご覧ください。この例では、5Vの電源で動作するA/Dコンバータ(ADC)やD/Aコンバータ(DAC)などのアナログICと3.3Vの電源で動作するDSP/マイクロコントローラを組み合わせています。こうしたケースでは、マイクロコントローラの入力部が、5Vの電源で動作するICの出力レベルに耐えられるようにしない限り適切な通信は行われません。図3、図7で取り上げたADG3257を電圧変換器として挿入すれば、低い電圧で動作するデバイスに損傷を与えるリスクを排除しつつ、双方向の通信を実現することができます。5Vの電源に直列に接続されたダイオードと、クランプ動作を示すバス・スイッチを組み合わせることによって、(右から左への)3.3Vの通信を妨げることなく、(左から右への通信に必要な)5Vから3.3Vにかなり近い電圧までの変換を実現することが可能です。
同様に、バス・スイッチを使用すれば、電源電圧として3.3Vと2.5Vを使用するシステムの間のレベル変換も実現できます。2.5V出力のためのLVTTL(Low Voltage Transistor Transistor Logic)におけるVOHのレベルは2Vになります。一方、2.5Vのデバイスに求められるLVTTLのVIHのレベルは1.7Vとなります。したがって、低い電源電圧で動作する5Vのバス・スイッチによって、その要件を簡単に満たすことができます。
バス・スイッチは、シンプルなFETです。そのため、双方向の信号パスを実現できます。つまり、入力と出力は交換が可能です。但し、常に情報を双方向に伝送できるというわけではありません。それが可能であるかどうかは電源電圧によります。ここで表1をご覧ください。この表から、5Vと3.3V、3.3Vと2.5Vの間であれば、異なる電源電圧で動作するデバイスの間の双方向通信を実現できることがわかります。一方で、他の2つの変換(2.5Vから1.8V、3.3Vから1.8V)については、両方向には適用できないことがわかります。詳細については、「ADG3247」のデータシートをご覧ください。
表1. バス・スイッチのレベル変換機能
品番 | 機能 | レベル変換 | ||||
5↔3.3 | 3.3↔2.5 | 2.5→1.8 | 3.3→1.81 | |||
ADG3245 |
8ビットのバス・スイッチ | X | ✓ | ✓ |
✓ |
|
ADG3246 | 10ビットのバス・スイッチ | X |
✓ |
✓ |
✓ |
|
ADG3247 | 16(2×8)ビットのバス・スイッチ | X |
✓ |
✓ |
✓ |
|
ADG3257 | 2:1のクワッド品(4ビット、2:1) | ✓2 |
✓ |
X |
X |
1 SELピンは、論理レベルのローに設定します。SELピンの詳細については、ADG3245/6/7のデータシートをご覧ください。
2 外付けのダイオードが必要です。
先述したとおり、VTHは約1Vです。そのため、2.5Vの電源を使用する場合、バス・スイッチの最大出力は1.5Vとなります。つまり、2.5Vのデバイスの入力に求められる1.7VのVIHという要件を満たしません(図8)。同様に、3.3Vと1.8Vの間の変換においても、バス・スイッチの最大出力は1.5Vとなり、3.3Vのデバイスでハイと認識される電圧レベルには達しません。これらのケースにおいて、バス・スイッチを使用した信号パスでは、単方向でしか信頼できる通信を実現できないということです。
![図8. 様々な電源電圧に対する論理レベル](/jp/_/media/images/analog-dialogue/en/volume-36/number-2/articles/bus-switches-for-speed-safety-efficiency/bus-fig-08.gif?h=280&w=465&rev=6186b84bacb7467d92d32d391d4da5f3&sc_lang=ja)
バス・スイッチにおけるビット数
バス・スイッチにおけるビット数とは、デバイスが備えるチャンネル数のことを指します。例えば、16ビットのデバイスであるADG3247には16個のチャンネルが存在します。バス・スイッチでは、様々なビット幅を構成できます。本稿執筆の時点で、アナログ・デバイセズは、それぞれ8ビット、10ビット、16ビットをサポートする「ADG3245」、「ADG3246」、ADG3247を提供しています。加えて、2:1のマルチプレクサ/デマルチプレクサを備えるクワッド品として、ADG3257(4ビット、2ポート)も提供しています。今後も、製品ラインアップの拡充を図る予定です。
バス・スイッチは、アナログ信号にも対応できるのか?
バス・スイッチの中核を成すのは、シンプルなNチャンネルのFETです。それに対し、標準的なアナログ・スイッチでは、レールtoレールのアナログ信号に対応するために、PチャンネルのFETが並列に接続されています。バス・スイッチの設計では、オン抵抗の値を小さくし、オン/オフの動作に関連するチャンネル容量を小さくすることが目標になります。それにより、アナログ・スイッチと比べて高い周波数性能が得られるようになっています。実際、容量の値を抑えることにより、標準的なアナログ・スイッチよりもチャージ・インジェクションがかなり小さく抑えられます(図9)。それにより、バス・スイッチの優れた性能が実現されています。
![図9. 標準的なバス・スイッチ(ADG3257)のチャージ・インジェクション特性](/jp/_/media/images/analog-dialogue/en/volume-36/number-2/articles/bus-switches-for-speed-safety-efficiency/bus-fig-09.gif?h=249&w=325&rev=4879ef3e6ace4fbeaa88a8ecfdc902ab&sc_lang=ja)
バス・スイッチの適用範囲は、バスやデジタル信号の切り替えに限定されるものではありません。VCC - VTHという制約の範囲内であれば(多くの場合、この制約は重要な問題にはなりません)、アナログ信号の切り替えにも広く使用することができます。
ホット・スワップ機能にバス・スイッチを利用する
ホット・スワップとは、電源が投入された状態のシステムにおいて、プラグイン型の回路の挿入/取り外しを行うことです。ホット・スワップの機能が必要なアプリケーションの例としては、ノート型PCのドッキング・ステーションや、通信用スイッチのライン・カードなどが挙げられます。ホット・スワップを行う際、バック・プレーンのコネクタは機能が維持された状態にあります。したがって、アドオン・カードはその状態に対処できなければなりません。そのカードを挿入する前にバスを隔離することができれば、ホット・スワップに関する制御を行いやすくなります。その隔離は、アドオン・カード上のコネクタとチップセットの間にバス・スイッチを適切に配置することで実現できます(図10)。カードを挿入する際には、他の信号や電源ピンよりも先に、アドオン・カードのグラウンド・ピンをバック・プレーンのグラウンド・ピンに接続することが重要です。逆に、アドオン・カードを取り外す際には、そのグラウンド・ピンを最後に切り離します。
![図10. ホット・スワップにおけるバス・スイッチ(ADG3246)の利用例](/jp/_/media/images/analog-dialogue/en/volume-36/number-2/articles/bus-switches-for-speed-safety-efficiency/bus-fig-10.gif?h=285&w=275&rev=1bf640497fb2442e8de19f5dac7949a2&sc_lang=ja)
ホット・プラグでも利用が可能
非常に重要性の高いシステムの場合、シャットダウンすることは決して許されません。例えば、ADSL(Asymmetric Digital Subscriber Line)、製造施設の制御、サーバー、航空機の予約などに使われるシステムがこれにあたります。プラグイン型のモデムといったハードウェアが新たに必要になった場合にも、システムを稼働させたまま追加しなければなりません。このように、停止させることが許されないシステムにハードウェアを追加する処理のことをホット・プラグと呼びます。バス・スイッチは、この処理をスムーズに実行することにも役立ちます。そのためには、同スイッチをコネクタと内部バスの間に接続します(図11)。ホット・プラグを行う際には、同スイッチをオフにすることにより、特定の回路を隔離することができます。
![図11. ホット・プラグにおけるバス・スイッチ(ADG3247)の利用例](/jp/_/media/images/analog-dialogue/en/volume-36/number-2/articles/bus-switches-for-speed-safety-efficiency/bus-fig-11.gif?h=174&w=275&rev=e0942df61627474f9fddfe917c9a5319&sc_lang=ja)
フロースルー・ピン配置がもたらすメリット
アナログ・デバイセズのバス・スイッチの多くは、ある便利な構造を採用しています。その構造とは、論理的なフロースルー・ピン配置です。これは、各入力に対応する出力をチップの反対側に配置するというものです(図12)。それにより、パターンの交差や遮断を回避できます。つまり、プリント回路基板のレイアウトにおいて、入力信号/出力信号のルーティングが格段に容易になるということです。また、フロースルー・ピン配置を採用していることから、伝搬遅延のマッチングも容易に行えることになります。
![図12. フロースルー・ピン配置](/jp/_/media/images/analog-dialogue/en/volume-36/number-2/articles/bus-switches-for-speed-safety-efficiency/bus-fig-12.gif?h=178&w=125&rev=fdddc9cdc263412db7d9d7bf5bb5b36d&sc_lang=ja)
まとめ
バス・スイッチは、広範な用途に適用できるデバイスです。高い性能が求められる今日の様々なアプリケーションで使用できます。本稿では、バスの隔離、電圧変換、アナログ信号の切り替え、ホット・スワップ、ホット・プラグなどのアプリケーションにおけるバス・スイッチの使い方を簡単に紹介しました。また、それら以外の多くのアプリケーションでもバス・スイッチを利用できることを明らかにしました。加えて、バス・スイッチについて寄せられる多くの疑問を解消することを意識して執筆しました。本稿により、バス・スイッチの主な仕様、動作、使い方についてご理解いただけたはずです。
参考資料
ADG3245、ADG3246、ADG3247、ADG3257のデータシート
EIA/JEDEC for power supply voltages and interface standards(EIA/JEDECの電源電圧/インターフェース規格)
Compact PCI Hot Swap Specification R1.0(Compact PCIにおけるホット・スワップの仕様)
PCI Hot-Plug Specification R1.0(PCIにおけるホット・プラグの仕様)
謝辞
本稿の執筆を支援してくれたアナログ・デバイセズのバス・スイッチ・チームに感謝します。