要約
フラッシュ型のA/Dコンバータ(フラッシュADC)は、そのアーキテクチャの特徴からパラレルADCとも呼ばれています。そのアーキテクチャ(変換方式)により、最も高速にアナログ信号をデジタル信号に変換することができます。つまり、非常に広い帯域幅を必要とするアプリケーションに最適なADCです。但し、フラッシュADCでは、他のアーキテクチャを採用したADCよりも消費電力が多くなります。また、非常に高い分解能を実現するのは容易ではなく(現実的ではなく)、一般的には8ビット程度までに制限されます。本稿では、このフラッシュADCの動作原理や特徴などについて詳しく説明します。その上で、他のアーキテクチャを採用したADCとの比較を行います。
はじめに
上記のとおり、フラッシュADCを使用すれば最も高い変換速度を得ることができます。そのため、広帯域幅のアプリケーションに適しています。但し、フラッシュADCには欠点も存在します。消費電力が多く、分解能が比較的低いことに加え、価格がかなり高めになるといった具合です。したがって、フラッシュADCの用途は、他の種類のADCでは対応できないレベルの変換速度が求められるケースに限られます。代表的な例としては、データ・アクイジション・システム、衛星通信システム、レーダー機器、サンプリング・オシロスコープ、高密度のディスク・ドライブなどが挙げられます。
以下では、まずフラッシュADCについて詳しく説明します。その上で、他のアーキテクチャを採用したADCとの比較を行います。
フラッシュADCのアーキテクチャ
図1は、フラッシュADCの一般的な構成を示したものです。ご覧のとおり、数多くの高速コンパレータを並べて配置することによって実現されます。分解能がNビットである場合、2N - 1個のコンパレータが使われます。また、各コンパレータに供給するリファレンス電圧は抵抗分圧器を使用して生成します。分解能がNビットである場合、2N個の抵抗が必要になります。各コンパレータのリファレンス電圧は、すぐ下のコンパレータのリファレンス電圧よりも1LSBに相当する分だけ高くなっています。各コンパレータは、印加されたリファレンス電圧と比べてアナログ入力電圧(入力信号)の方が高い場合、1を出力します。そうでない場合、コンパレータの出力は0になります。例えば、アナログ入力電圧がVX4とVX5 の間にある場合、コンパレータX1~X4は1を出力し、残りのコンパレータは0を出力します。あるコンパレータのリファレンス電圧よりも入力信号が低ければ、そこから上のコンパレータの出力はすべて0になります。
このアーキテクチャのエンコーディング手法は温度計コードと呼ばれています。このような名称が使われているのは、その振る舞いが水銀温度計に似ているからです。水銀温度計では、実際の温度に対応する目盛りまで水銀柱が上昇し、その目盛りより上の部分には水銀は存在しない状態になります。それと同様に、フラッシュADCのコンパレータの出力も00011111のようになり、0と1が交互に現れることはありません。この温度計コードは、コンパレータの後段のデコーダにより、一般的なデジタル出力コード(バイナリ・コード)に変換されます。
通常、コンパレータは帯域幅が広いゲイン段として実現されます。ただ、そのゲインは高くはありません。その理由は、周波数の高い領域で高いゲインを実現するのが難しいからです。実際、広い帯域幅と高いゲインの両立は容易ではありません。また、各コンパレータは、オフセット電圧を小さく抑えることを目指して設計されます。具体的には、ADCのLSBよりも入力オフセット電圧を小さくすることが目標になります。この条件が満たされていない場合、そのオフセットによりコンパレータは誤ってトリップしてしまうかもしれません。結果として、温度計コードではないデジタル出力コードが生成される可能性があります。各コンパレータは出力部に再生ラッチ(regenerative latch)を備えています。それにより結果が保持されます。このラッチには正帰還がかかっており、最終的な状態は強制的に1または0になります。
以上がフラッシュADCのアーキテクチャの概要です。このような基本を踏まえた上で、実際の製品にはアーキテクチャを最適化するための調整が施されます。
スパークル・コード
先述したように、フラッシュADCのコンパレータの出力は00011111のような温度計コードになります。ただ、実際には、このコードが出力されるはずなのに、誤差が原因となって00010111といったコードが出力されることがあります。つまり、出力結果に誤った0が含まれているということです。この不適切な0をスパークルと呼びます。スパークルは、入力のセトリングが不完全な場合やコンパレータのタイミングが不適切である場合に生じます。この種の誤差が生じると、変換結果として大きく誤った値が生成される可能性があります。そこで、「MAX109」や「MAX104」といったフラッシュADCには、スパークル・コードを抑制するためのエンコード手法が適用されています。また、ADCの入力部にはトラック&ホールド(以下、T/H)回路が配置されています。
メタスタビリティ
コンパレータからのデジタル出力が曖昧(1でも0でもない)な場合、その出力はメタステーブル(準安定)であると表現されます。メタスタビリティは、再生(regeneration)のための時間を増やすことで低減することができます。また、出力が一度に1ビットしか変化しないようにするグレイ・コード・エンコーディングを利用すれば、メタスタビリティは大幅に改善されます。その場合、コンパレータの出力は、まずグレイ・コード・エンコーディングで変換され、その後、必要に応じてバイナリ・データとしてデコードされます。
メタステーブルな出力によって2つの異なる回路を駆動すると、次のような問題が発生します。すなわち、一方の回路が入力は1であると認識したのに、もう一方の回路はそれを0だと認識する可能性があるということです。そうすると、重大な誤差が発生することになるでしょう。このような競合を避けるためには、1つの回路だけによってメタステーブルである可能性のある出力を検知するべきでしょう。
入力信号の周波数依存性
すべてのコンパレータの処理が完了する前に入力信号が変化したとします。すると、フラッシュADCの性能には悪影響が及びます。最も深刻なのは、入力信号の周波数が高くなるにつれて信号/ノイズ + 歪み(SINAD)が悪化することです。
ADCの性能を表す代表的な指標としては、スプリアスフリー・ダイナミック・レンジ(SFDR)が挙げられます。ADCで得られる有効ビット数(ENOB)は、入力信号の周波数に依存して変化します。これについては、ADCの入力部にT/H回路を追加することによって改善できます。ここで図2をご覧ください。これは、MAX104のデータシートから引用したものです。T/H回路を適用すると、特に入力周波数がナイキスト周波数に近づくと劇的な改善が得られることがわかります。T/H回路を備えていないADCでは、SFDRが大幅に低下します。
クロック・ジッタ
ADCのS/N比(Signal to Noise Ratio)は、サンプリング・クロックにジッタが生じていると低下します。入力信号の周波数が高い場合には、特に影響が顕著になります。精度の高い変換結果を得るためには、サンプリング・クロックの供給源としてジッタの小さいものを使用することが非常に重要です。
各アーキテクチャで生じるトレードオフ
ADCは、様々なアーキテクチャに基づいて実装することができます。当然のことながら、どのアーキテクチャを採用した場合にも様々なトレードオフが伴います。以下、主なトレードオフについて説明します。
- 変換が完了するまでに必要な時間(変換時間):フラッシュADCでは、分解能が高くても低くても変換時間に大きな差はありません。それに対し、逐次比較レジスタ(SAR)型のADC(SAR ADC)やパイプライン型のADC(パイプラインADC)の変換時間は、分解能の高さに依存してほぼ直線的に長くなります。これについては図3(a)をご覧ください。なお、積分型のADCでは、分解能が1ビット増加するごとに変換時間が2倍になります。
- 回路内の部品のマッチング:先述したように、フラッシュADCの分解能は8ビット程度に制限されます。同ADCを構成する部品のマッチングに限界があることがその理由の1つです。製品によっては、キャリブレーションとトリミングによってマッチングを改善することでADC全体としての精度を高めています。部品のマッチングに関する要件は、分解能を1ビット増やすごとに2倍厳しくなります。ただ、これが当てはまるのは、フラッシュADC、SAR ADC、パイプラインADCです。積分型のADCには当てはまりません。積分型のADCでは、分解能を高めても部品のマッチングに関する要件が顕著に厳しくなることはありません。これについては図3(b)をご覧ください。
- ダイのサイズ、コスト、消費電力:フラッシュADCでは、分解能を1ビット増やすごとにコア部分の回路のサイズがほぼ2倍になります。それだけでなく、消費電力も倍増します。一方、SAR型、パイプライン型、デルタシグマ型のADC(以下、ΣΔ ADC)の場合、分解能の向上に伴ってダイのサイズが直線的に増加します。これについては図3(c)をご覧ください。積分型のADCでは、分解能を高めても、コアの部分のダイ・サイズは大きく変化しません。よく知られているように、ダイのサイズの増大はコストの増加につながります。
他のアーキテクチャを採用したADCとの比較
ここからは、フラッシュADCと他のアーキテクチャのADCを比較していきます。
フラッシュADC vs. SAR ADC
SAR ADCでは、高速/高精度のコンパレータを1個使用します。それにより、一度に1ビットずつ、MSBからLSBまでの値を決定していきます。その際には、アナログ入力信号とD/Aコンバータ(DAC)の出力を比較するということが行われます。このDACの出力は、それまでに決定されたビット・データによって更新され、アナログ入力信号を順次近似していきます。SAR ADCの場合、この逐次的な動作の性質により、変換速度が数Msps以下に制限されます。それに対し、フラッシュADCでは1Gspsを超える変換速度を実現できます。
SAR ADCの場合、分解能は最高16ビットまで高められます。そのような製品の例としては「MAX1132」が挙げられます。それに対し、フラッシュADCの分解能は8ビット程度が限界です。消費電力については、SAR ADCの方がはるかに少なくなります。SAR ADCの場合、最高変換速度が遅いため、そのような違いが出ます。例えば、分解能が8ビットのSAR ADC「MAX1106」では、電源電圧が3.3V、変換速度が25kspsという条件において、消費電流は100μAになります。一方、MAX104(8ビットのフラッシュADC)の消費電力は5.25Wに達します。この値は、MAX1106の約1万6000倍に相当します。ただ、MAX104の最高サンプリング・レート(変換速度)はMAX1106の4万倍に達します。
SAR ADCは、フラッシュADCより安価です。MAX1106の販売価格は1米ドル強(1000個購入時の単価)ですが、MAX104の販売価格は数百米ドルに達します。また、フラッシュADCの場合、パッケージのサイズが大きくなります。ダイのサイズが大きいので、パッケージも大きくなければならないということです。それだけでなく、フラッシュADCの場合、大きなパッケージを採用することで、より多くの熱を放散させなければなりません。加えて、シグナル・インテグリティを確保するために、数多くの電源ピンとグランド・ピンが必要になります。このような理由から、MAX104のパッケージのサイズは、MAX1106と比べて50倍以上に達します。
フラッシュADC vs. パイプラインADC
パイプラインADCは、1ビットから数ビットの連続するサンプルを各段が同時に処理する並列構造を採用しています。この設計によって高い変換速度を得るためには、消費電力とレイテンシを犠牲にしなければなりません。それでも、パイプラインの各段の動作はフラッシュADCと比べてはるかに遅くなります。パイプラインADCでは、DAC用のアンプと、各段の間に配置するアンプにおいて高い精度で増幅が行われるようにしなければなりません。また、各段では、望ましいレベルの直線性が得られるようにセトリングを実現する必要があります。一方、フラッシュADCの場合、コンパレータのオフセットは小さく抑えられています。また、必要な機能は、入力信号のレベルを判定し、それに応じたデジタル値を出力することだけです。そのため、セトリング時間が直線性に影響を及ぼすことはありません。ただ、フラッシュADCの場合、コンパレータを駆動するためのプリアンプを必要とする製品も存在します。その場合、ゲインの直線性については注意深く仕様を決定しなければなりません。
分解能が8~14ビットのパイプラインADCでは、約100Mspsの変換速度が得られます。そのような製品の例としては「MAX1449」が挙げられます。このパイプラインADCの分解能は10ビットで変換速度は105Mspsです。同程度の分解能を備えるパイプラインADCとフラッシュADCを比較すると、パイプラインADCの変換速度はフラッシュADCと比べて1/10程度にとどまります。ただ、パイプラインADCは、10ビット以上の分解能と100Mspsまでの変換速度が求められる場合には最適な選択肢になるはずです。分解能が10ビット以下で数百Msps以上の変換速度が必要なアプリケーションでは、主にフラッシュADCが使用されることになるでしょう。
ちなみに、他のアーキテクチャを採用しているADCでは、速度を向上させるために、内部でフラッシュADCが利用されていることがあります。
フラッシュADC vs. 積分型ADC
シングルスロープ/デュアルスロープ/マルチスロープ型のADC(積分型ADC)であれば、16ビット以上の分解能を達成することができます。また、比較的安価で、消費電力も非常に少なく抑えられます。但し、その種のADCでは、数百sps未満という非常に低い変換速度しか実現できません。計測器や産業用機器で使われていますが、その用途の多くはDC信号を監視することです。積分型ADCは、ΣΔ ADCと競合するものだと言えます。
フラッシュADC vs. ΣΔ ADC
フラッシュADCは、ΣΔ ADCとは競合しません。なぜなら、両者が達成可能な変換速度は最大で2桁も異なるからです(本稿執筆の時点)。通常、ΣΔ ADCは、1MHz未満の帯域幅、12~24ビットの分解能が求められるアプリケーションに適しています。様々なアーキテクチャのADCの中でも最高の分解能を実現できるものだと言えるでしょう。ΣΔ ADCを使用する場合、必要に応じて、入力信号の帯域制限を行うためにシンプルなアンチエイリアシング(折り返しノイズ防止)フィルタを適用します。
ΣΔ ADCでは、オーバーサンプリングを利用することにより、速度と引き換えに高い分解能を実現します。A/D変換を行った後のデータに対しては、ノイズを低減するためのフィルタ処理が適用されます。ΣΔ ADCは、マルチチャンネルのアプリケーションでは必ずしも効率的なものではありません。このアーキテクチャの実装では、変調器と呼ばれるサンプリング・データ用のフィルタ、または連続時間型のフィルタが使用されます。連続時間型のアーキテクチャを採用した場合、6~8ビットの分解能しか必要なければ数百Mspsのレベルの変換速度を達成できる可能性があります。ただ、本稿執筆の時点では、この手法は研究段階ないしは初期の開発段階にあります。それでも、変換速度が低くても構わない場合にはフラッシュADCと競合する可能性があります。
ちなみに、フラッシュADCは、変換速度を高めるために、ΣΔ ADCの構成要素として使用されることがあります。
サブレンジング型のADC
より高い分解能のADCが必要な場合や、所定の分解能を満たしつつダイ・サイズと消費電力を削減したい場合には、マルチステージの変換方式が使用されます。このアーキテクチャは、サブレンジング型のADCとして知られています。あるいは、マルチステップ型、ハーフ・フラッシュ型などと呼ばれることもあります。サブレンジ型のアーキテクチャは、SAR型とフラッシュ型の概念を組み合わせたものだと言えます。
サブレンジング型のADCでは、最終的に必要なビット数(分解能)をいくつかのグループに分割して扱います。各グループは、少ないビット数で構成されることになります。そして、各グループの信号を分解能の低いフラッシュADCに引き渡します(図4)。この手法により、コンパレータの数を減らすことができます。また、フラッシュADCと比べてロジックの複雑さが軽減されます。そのトレードオフとして、フラッシュADCと比べて変換速度が遅くなります。
ここでは、サブレンジング型のADCの例として「MAX153」を取り上げます。その分解能は8ビットであり、1Mspsの変換速度を達成します。この製品の場合、2段階のA/D変換を実行します。1つ目の段階では、4ビットのADCによる変換を実施します。それによって得られる4ビットの変換結果を8ビット精度のDACによりアナログ信号に変換します。続いて、そのアナログ信号を入力信号から差し引きます。2つ目の段階として、その結果を4ビットのADCによって変換します。1回目と2回目の結果を結合することで、最終的な8ビットのデジタル・データを出力します。
プロセス技術
本稿執筆の時点で、フラッシュADCで実現可能な変換速度は1Gspsを上回っています。2.2Gspsに対応するMAX109は、高度なシリコン・ゲルマニューム(SiGe)プロセスで製造されています。「MAX108」(1.5Gsps)、MAX104(1Gsps)、「MAX106」(600Msps)といった8ビットのフラッシュADCは、Maxim独自のGST-2バイポーラ・プロセス(ギガ・スピード・シリコン・バイポーラ・プロセス)で製造されています。
CMOSのフラッシュADCは、バイポーラをベースとするADCと比べて変換速度が遅くなります。通常、CMOSのフラッシュADCは、より大規模なCMOS回路と統合することを目的として開発されます。CMOS/BiCMOS/バイポーラの各技術は今後も発展を続けるはずです。その結果、より高い変換速度が実現されることになるでしょう。
まとめ
数百MHzのサンプリング周波数、8ビット程度の分解能でA/D変換を行う必要があるアプリケーションでは、フラッシュADCが唯一の現実的な選択肢となります。ADCの本来の性能を引き出すためには、クロックのジッタを小さく抑えなければなりません。アナログ入力信号の周波数が高いアプリケーションでは、T/H回路を内蔵するフラッシュADC製品を選択する必要があります。