はじめに
現在は、IoT(Internet of Things)やビッグ・データ、クラウド・コンピューティングといった技術に大きな注目が集まっている状況にあります。実際、これらの技術については話題に事欠くことはなく、数々のメディアで連日のように様々な情報が取り上げられています。ただ、そうした新たな技術を支えているのは、アナログ信号をデジタル・データに変換するという基本的な技術であるということも忘れてはなりません。このA/D変換技術がどれほどの進化を遂げているのかということにも目を向ける必要があります。例えば、アナログ信号として得た情報をクラウドに送信するには、A/Dコンバータ(ADC)を使って必ずデジタル・データに変換しなければならないからです。ADCはアナログ領域とデジタル領域の間を取り次ぐデバイスであり、ビッグ・データを扱う場合にも、その質と精度を左右する重要な要素となります。ADCの設計手法が進化したことから、身の周りのアナログ情報を正確にデジタル・データとして表現する技術の限界がより高く押し上げられています。実際、速度や分解能の面で、従来のベンチマークを軽々とクリアする数多くの製品が提供されるようになっています。
高い精度を誇るADCは、多様なアプリケーション領域に広く浸透しています。プロセス制御、プログラマブル・コントローラ、電気モータの制御、電気エネルギーの分配といった用途は、その代表的な例です。また、計測分野においても、高精度のA/D変換を拠り所として、あらゆる種類の技術のテスト、研究、開発、評価が実施されています。通常、高い精度が求められるADCは、そのアーキテクチャ(変換方式)として逐次比較(SAR)型またはシグマ・デルタ(ΣΔ)型を採用しています。どちらが選択されるのかは、ニーズに依存します。SAR ADCは、24ビット以上の分解能で数MSPSのサンプリング・レートを達成できます。一方、ΣΔ ADCは、32ビットの分解能で数百kSPSのサンプリング・レートを達成可能です。
これだけの分解能と精度を備えるADCは、100dBFS(フルスケール)の大台を軽々と突破します。その性能を引き出すためには、アナログ入力信号用のコンディショニング回路とアンチエイリアシング(折返し誤差防止)フィルタの設計が大きな課題になります。ここ20年の間に、サンプリング・レートは著しく向上しました。それと同時にフィルタリングの手法も大きく進化しました。現在では、アナログ・フィルタとデジタル・フィルタを組み合わせることにより、性能と複雑さの間で適切にバランスをとれるようになっています。

図1に示したのは、データ・アクイジション・システムの標準的な構成例です。複数に分割(パーティション)された回路ブロックを組み合わせて実現されていることがわかります。差動/非差動の信号に対するコンディショニング回路(増幅、スケーリング、適合、レベル変換など)に続き、ADCの前段にナイキスト基準を満たすためのフィルタを適用しています。ADCでオーバーサンプリングを行う場合、そのレートとアクイジション・システムの仕様に応じて、デジタル・フィルタが追加されます。
上述した多くのアプリケーションでは、非常に広い入力ダイナミクス(入力ダイナミック・レンジ)が求められるようになってきました。そのことが、分解能の高い最先端のADCが選ばれる理由の1つです。ダイナミクスを向上できれば、システム性能の改善に加え、アナログ信号用のコンディショニング回路の小型化、過密な実装の回避、消費電力の削減、部品/材料のコストの低減を実現できる可能性が高まります。
オーバーサンプリングがもたらすメリット
分解能が高く非常に高速なADCが登場する前は、ダイナミクスの問題は、コンディショニング回路のレベルで、高速なプログラマブル・ゲイン・アンプ、更に高速なコンパレータ、複数の並列ADCを使用することによって解決していました。これに適切なデジタル処理を組み合わせることで、振幅を高めた信号をA/D変換し、ノイズ・レベルに近い小さな信号も適切に抽出できるようにしていました。ただ、その複雑な回路は開発が難しく、直線性、帯域幅、サンプリング周波数の面で制約がありました。そのため、現在ではそのアーキテクチャはあまり使われていません。それに代わって、今日ではサンプリング・レートが高く経済的な最新式のADCを使用し、オーバーサンプリングを活用するようになってきました。ナイキスト理論で決まる最低周波数よりも高いFSEのレートで信号をサンプリングすることにより、ゲインに関する操作を可能にし、エンコーダにおけるS/N比を高め、有効ビット数を増やすことが可能になります。オーバーサンプリングを適用すれば、量子化ノイズと熱ノイズは、ナイキスト領域全体を含む広範な帯域に均等に分散するホワイト・ノイズと同化します。オーバーサンプリングを実施した後、フィルタによって有効帯域を制限し、必要最小限のサンプル・レート(2 × BW)に厳密に適合させる(間引きする)ことにより、帯域を1オクターブ減らすごとに、帯域内のノイズのエネルギーを3dB低減することができます(図2)。仮に4倍のオーバーサンプリングを実施したとしたら、理論上、S/N比は6dB向上します。次式に示すように、これは分解能を1ビット増やすのと同等の効果が得られるということを意味します。

オーバーサンプリングには、2 つのメリットがあります。1つはS/N比が向上することです。もう1つは、ADCの前段に配置するアンチエイリアシング・フィルタ(アナログ・フィルタ)の要件が緩和されることです。

アンチエイリアシング・フィルタ:パーティションにおけるジレンマ
理想的には、ADCに付随するフィルタ、特に帯域のエイリアスの問題に対処するためのフィルタは、ADCの精度に見合う優れた特性を備えている必要があります。つまり、帯域幅の範囲内でできるだけ平坦な振幅応答を備え、ダイナミクスに対して十分な帯域外減衰特性を実現できるものでなければなりません。通過域から阻止域への遷移領域では、できるだけ急峻な減衰特性が必要になります。アンチエイリアシング・フィルタ(ローパス・フィルタ)には、寄生イメージ、ノイズ、その他のスプリアス・トーンを除去できるだけの特性が求められます。アプリケーションによっては、位相応答にも十分に注意しなければなりません。過剰な位相シフトが生じるのであれば、それを補償する必要があります。推奨事項の多くは、基本的な事柄だと言えるレベルのものです。しかし、それらについては、積分非直線性(INL)誤差をごくわずかに抑え、優れたスタティック/ダイナミック性能を発揮する24ビット、32ビットのADCに求められる要件と併せて検討しなければなりません。結果として、アンチエイリアシング・フィルタの実装は非常に難易度の高い作業になります。
先述したように、オーバーサンプリングを適用すると、S/N比が向上するだけでなく、アンチエイリアシング・フィルタのカットオフ周波数の仕様も緩和されます。後者のメリットは、非常に重要です。オーバーサンプリングを適用した場合、-3dBのカットオフ周波数から阻止域の始端までの遷移域が図3cのように広がるからです。アナログ・アンチエイリアシング・フィルタに求められる次数は、オーバーサンプリング比に反比例します。稿末の表1 には、目標とする除去性能を得るために必要なオーバーサンプリング比とアンチエイリアシング・フィルタの次数の関係を示しています。

高精度のSAR ADCでは、最新の技術を活用することによって、サンプリング・レートが大幅に高まっています。1MSPSのレベルは既に超えており、分解能が18ビットの場合でも、最高で15MSPSに対応可能です。一方、広帯域に対応するΣΔ ADCの場合、オーバーサンプリング比が非常に高く設定され、スループットは低いものの、より高い分解能が実現されます。分解能が18ビットのΣΔ ADCで数百kHzの入力帯域幅に対応するには、内蔵デジタル・フィルタによって、機能を追加する必要があります。
言い換えると、内蔵デジタル・フィルタを適切に選択すれば、分解能が同等のΣΔ ADCによって、数百kHzの入力帯域幅に対応することができます。そうしたADCは、基本的に、その全般的な測定精度によって特徴づけられます。測定精度はスタティック(DC)な特性とダイナミック(AC)な特性の両方に関連します。したがって、そのようなシステムで使われるADCとそれに付随するアナログ・コンディショニング回路には、最高レベルの仕様が求められます。
その一方で、デジタル・フィルタを内蔵するSAR ADCはほとんど存在しません。その例外となるのが、アナログ・デバイセズのオーバーサンプリング型SARADC「LTC2512」と「LTC2500-32」です。一般に、デジタル・ローパス・フィルタを追加すると、演算の精度、通過帯域のリップル、遮断領域の減衰量、伝搬時間、消費電力の間で妥協を強いられることになります。両製品においても、あらかじめ内蔵しているデジタル・フィルタを取り除くことはできないわけですが、そのローパス・フィルタ機能によって動作が妨げられたり制約を受けたりすることはありません。なお、「AD7768-1」など、広帯域に対応する一部の新たなΣΔ ADCは、より高い柔軟性を備えています。具体的には、デジタル・フィルタの係数をユーザがある程度プログラムすることができるようになっています。
LTC2378-20:業界最高レベルの20ビットSAR ADC
性能を巡る競争が繰り広げられていた頃、Linear Technology( 現在はアナログ・デバイセズの傘下)は、20ビットの分解能と高い直線性を備える初のSARADC「LTC2378-20」の提供を開始しました。同ADCは、サンプリング・レートが同等のレベルにあるどの競合品にも引けを取らない優れた製品です。
一方で、アナログ・デバイセズは、それとは少し異なる手法を採用した「AD4020」を提供していました。同ICは、アナログ・デバイセズとしては初となる分解能が20ビットのSAR ADCです。低ノイズ、低消費電力であることに加え、顧客にとってシグナル・チェーンが簡素化されるように設計されています。1.8MSPSにおけるノイズと消費電力は、従来の流れをくんで低く抑えられています。それ以外にも、ハードウェア設計者がより容易に必要な性能を達成できるようにするための工夫が加えられています。その一例が、アナログ・フロント・エンドでサンプリングを行う際に生じるキックバックを抑える機能です。ADCがアクイジションのフェーズに遷移する際に入力部で生じるキックバック(充放電)は、従来から常に難しい問題として存在していました。そして、一般的に、この問題に対処するには、非常に高速な駆動用アンプが必要でした。一方、AD4020の高インピーダンス・モードを使用すれば、対象とする実際の信号帯域幅に基づいて低消費電力で高精度なアンプを選択しても、高い測定精度を得ることができます。変換時間を350ナノ秒に抑えていることから、アクイジション時間を長くとることが可能になり、アンプの選択も容易になります。また、デジタル機能の面では、シリアル・インターフェースによるデータの読み出しに、低速なシリアル・データ・クロックを使用できます。特に、絶縁型のアプリケーションでは、シリアル・クロックが低速であるほどEMI(電磁妨害)を抑制でき、アイソレータの消費電流を少なく抑えられます。パッケージは、「AD7980ファミリ」や「AD40xxファミリ」の他の16~ 18ビット品と同様、10ピンのMSOPまたは10ピンのQFNです。そのため、ハードウェア設計者は、設計に使用するプラットフォームを簡単にアップグレードすることが可能です。電源電圧は1.8Vで、1.8MSPS動作における消費電力はわずか15mWです。このように、IC自身の消費電力が少ないことに加え、シグナル・チェーンを構成する補助ブロックの消費電流を低減する機能も備えています。そのため、放熱を最小限に抑えつつ、卓越した性能を達成することができます。
LTC2378-20とAD4020のサンプリング・レートは、それぞれ1MSPS、1.8MSPSです。したがって、オーディオ帯域や、それ以上の帯域に対してオーバーサンプリングを適用することが可能です。ただし、その場合には、外付けのFPGAやDSPによってカスタムのデシメーション・フィルタを実装する必要があります。遅延を最小限に抑えたい場合には、フィルタをバイパスすることになるでしょう。それぞれのICのサンプリング・レートを使えば、0~25kHzの帯域に対して、それぞれ16倍、32倍のオーバーサンプリングを適用可能です。処理利得は12~18dBとなります。その結果、ナイキスト理論に厳密に従うアンチエイリアシング・フィルタではなく、より簡素化したものを使用できるようになります。
ADCからDSPへのリンク:すべてをシリアルで
最近では、ICのサイズを縮小することがより強く求められるようになっています。実際、ICのピン数は削減され、ほぼすべてのデジタル入力/出力としてシリアル形式が採用されるようになりました。ICのシリアル入出力は、SPI(Serial Peripheral Interface)バスや同期シリアル・ポートなどに接続することになります。本稿で対象としている高精度のSAR ADCにも、A/D変換後のデータの出力と、ADCの各機能を制御するための入力に使うインターフェースが必要になります。それらもシリアル・インターフェースとして実現されています。そうしたインターフェースについては、SPIやDSPのシリアル・ポートと互換性を持つと謳われていることがあります。ただ、実際には完全な互換性を持っているわけではありません。せいぜい、変換後のデータの出力に使うクロック信号のリズムを整えるためのシフト・レジスタをデバイスから隠したり、構成時にそれらを有効にしたりしているにすぎません。そうしたあらゆるSAR ADCと同様に、LTC2378-20とAD4020において公称サンプリング・レートで20ビットのデータを復元するためには、シリアル・クロック(SCK)の周波数についての要件を満たす必要があります。データを読み出すフェーズは、300ナノ秒程度のアクイジション時間の間に必ず完了させなければなりません。そのため、変換処理を行っている間は、IC外部へのアクセスを伴うデジタル処理は完全に停止させる必要があります。また、1MSPSというサンプリング・レートを維持しつつ、割り当てられた時間内にサンプリング結果である全ビットのデータを出力するには、60MHz以上のクロック周波数が必要です。このことが理由となり、ADCの出力データの収集を担うコントローラには、インターフェースの面で厳しい制約が課せられます。そのようなクロック周波数を生成するだけでなく、時間に関する受信側の仕様も満たさなければならないからです。LTC2378-20では、SCKの周波数として最低でも64MHzが必要です。ということは、汎用マイクロコントローラや、同期シリアル・ポート(SPORT)の最高周波数が50MHzを超えるかどうかというレベルのほとんどのDSPは使用できないということを意味します。使用できるのは、90Mbpsに対応可能な「ADSP-BF533」や「ADSP-BF561」といった、Blackfin®ファミリの一部のプロセッサ製品のみです。これらのプロセッサを使わない場合には、ジッタの小さいクロック生成回路を備える大規模なCPLDやFPGAを使用しなければなりません。シリアル出力を備えるSAR ADCの場合、そのデジタル・インターフェースのほとんどは、図4に示すようなほぼ同様のタイミング仕様とロジック信号パターンを採用しています。ADCの制御/設定に使用する入力(SDI)は、カスケード・モード以外では、かなり低い周波数を使用します。ADCのサンプリングにかかるサイクル時間は、次の式で表されます。

一方、最高サンプリング周波数は、次の式で定義されます。

アクイジション時間は、出力データの読出しレートに依存します(以下参照)。


AD4020は変換時間が325ナノ秒と非常に短いので、サンプリング・レートが1MSPSの場合、アクイジション時間として675ナノ秒を確保できます。そのため、シリアル・データの読み出しに必要な周波数を33MHz未満まで抑えることができます。これであれば、SHARC®ファミリのDSP「ADSP-21479」などが備える同期シリアル・ポートの周波数に適合します。また、消費電力も非常に少なく抑えられます。
オーバーサンプリング型のSAR ADCであるLTC2512とLTC2500-32では、何回か変換処理を行った後に、フィルタの出力データを格納するレジスタの内容を読み出せるようになっています。それにより、シリアル・データの読み出し処理に必要な周波数を低く抑えています。広帯域に対応するΣΔ ADCでは、A/D変換の最中にインターフェースを停止しなくて済むようにすることで、シリアル・インターフェースのクロックに関するタイミングの要件をさらに緩和しています。
超低消費電力のマルチチャンネル・アクイジション・システム
消費電力や精度に加え、動作モードの選択に関する柔軟性、更には商業的な理由から、多くの場合、FPGAの使用を前提としたソリューションを採用することはできません。ADCからの20ビットのシリアル出力を処理し、最適なデシメーション・フィルタを実現できるのは、浮動小数点演算に対応するDSP製品のみです。
今日では、いくつものチャンネルで同時にサンプリングを行うデータ・アクイジション・システムが数多く存在します。その場合、多数のADCが共通のコントローラによって制御され、並列に動作します。コントローラは、データを収集し、その後に行われる解析に向けてメモリに保存する処理も担います。
ADSP-21479や、その高速バージョン(クロック周波数は450MHz)である「ADSP-21469」、「ADSP-21489」を使用し、SAR ADCをベースとしてシステムを構築すれば、性能、開発時間、消費電力、サイズの面で最も優れた結果が得られます。これらのプロセッサは、同期シリアル・インターフェースだけでなく、異なるクロック信号や変換用トリガの生成なども含めて、8個のA/D変換チャンネルのサポートに必要なあらゆる機能とペリフェラルを備えています。ADSP-21479は、浮動小数点に対応する32/40ビットのDSPです。このような仕様でリーク電流を抑えた65nm CMOSプロセスで製造される製品は、SHARCファミリの中でADSP-21479だけです。その65nm CMOSプロセスには、リーク電流やスタティック電流が非常に少ないという長所があります。ジャンクション温度に関しても、飛躍的に進歩しています。ダイナミック電流は、プロセッサとペリフェラルの動作周波数と、具体的な動作の関数として表されます。このダイナミック電流も、標準的なCMOSプロセスや高速CMOSプロセスよりも少なくなります。ただし、CPUの最高周波数は他のプロセスを使う場合と比べて約30~40%低下します。それでも、本稿で取り上げているようなアプリケーションのニーズはほぼ満たされます。
ADSP-21479は数多くのペリフェラルを備えています。その中に、シリアル入力ポート(SIP:Serial Input Port)と呼ばれる特殊なブロックがあります。このブロックにより、8個の外部シリアル・ポートから送信されてくるストリームを、クロック信号と同期信号を使って同期をとりながら、同時に受信することができます。実際、このインターフェース(つまりはプロセッサ)には、AD4020のようなADCを8個、直接接続することが可能です。図5に示すように、8個のチャンネルには、それぞれ独自のクロック信号(IDP_CLK)、同期信号(IDP_FS)、入力信号(IDP_DAT)が用意されています。データはデシリアライズされた後、32ビット、8ワードのFIFO(FirstIn, First Out)メモリで自動的に多重化されます。続いて、64ビットのDMA(Direct Memory Access)パケットか、CPUによる読出しの実行によって、ADSP-21479の内部RAMに転送されます。DMAの転送動作において、SIPは、ダブルインデックス式DMAチャンネルの自動ピンポン・モードの動作によって支えられます。また、ADSP-21479は、高精度(低ジッタ)のクロック発生器(PCG)を4個備えています。そのため、内部ソースまたは外部ソース(TCXO)を基に、クロック信号と同期信号の独立したペアを生成することが可能です。このスティミュラスの周波数、周期、パルス幅、位相は、20ビットの内部分周器をプログラミングすることによって設定できます。各PCGxユニットによって生成したCLK/FS信号のペアは、2個のAD4020で共有されます。ただ、変換フェーズの間はクロックを停止させる必要があります。同期信号とクロック信号を結合してSCK信号を生成するロジック回路が存在するのはそのためです。図5の右上に示したタイミング図を見ると、変換時間tconvが経過した後、現在のサンプルから20ビット分をできるだけ早く(つまり33.3MHzのレートで)読み出さなければ、1MSPSというサンプリング・レートを維持できないことがわかります。約600ナノ秒後に、データはSIPの1つのバッファに転送され、新たな変換サイクルを開始できる状態になります。AD4020の変換処理は、同期信号またはCNV信号をトリガとして開始されます。最大325ナノ秒という変換時間から、CNV信号のパルス幅はクロック信号(IDP_CLK)の20周期分、つまりは360ナノ秒となります。以上の内容をまとめると、図5のタイミング図に示すように、スキャンのサイクル全体としてクロック信号の32周期分、つまり計960ナノ秒が必要で、サンプリング・レートは最高で1.040MSPSとなります。

同様に、LTC2378-20にはADSP-21489を組み合わせることができます。ADSP-21489は表1に示すように、最高50MHzというより高いペリフェラル・クロック周波数で動作が可能です。その場合、サンプリング・レートとしては、900kSPSを達成できます。ただ、残念ながら、スタティック電源電流Iddintやリーク電流が、ダイナミック電流よりもはるかに多くなります。つまり、この構成では、消費電力が許容できないレベルに達してしまいます。
デシメーション・フィルタ
LTC2378-20やAD4020をオーバーサンプリング・モードで使用する場合、先述した性能要件を満たしつつ、対象とする帯域に適合させるために、デシメーション・フィルタを併用する必要があります。その際には、必要な演算能力や消費電力の面で、DSPに与える影響を最小限に抑えなければなりません。現在では、サンプリング・レートの変更は、標準的なデジタル信号処理の範疇にあります。その際には、インターポレータやデジタル・デシメータが使用されます。デシメーション・フィルタ(ローパス・フィルタ)には、線形の位相応答が得られるという理由から、FIR(有限インパルス応答)フィルタが使用されます。どれだけの効率が求められるかによって、次のような選択肢がありえます。
- 直接型、またはデシメーション用に最適化されたFIRフィルタ
- カスケード型のマルチレートFIRフィルタ(ハーフ・バンド)
- 多相FIRフィルタ
FIR型であるかIIR(無限インパルス応答)型であるかにかかわらず、多相フィルタは、デシメーション・フィルタまたはインターポレーション・フィルタの非常に効率的な実装方法の1つです。それでも、そのデジタル処理においては、デシメーション処理の前にフィルタリングを行うことが必須となります。例えば、1/Mのデシメーションを実現するフィルタの場合、ローパス・フィルタの後に、サンプリング周波数を低下させる段が配置されます(図6a)。帯域内のエイリアスを回避するために信号を事前にフィルタリングしたうえで、M - 1のレートでサンプルを周期的に除去します。しかし、除去されるサンプルが数十~数百ものMAC(積和演算)によって得られた結果であることを考えると、一般的なFIR型のデシメーション・フィルタをそのまま実装するのは、リソースの無駄だと言えます。そこで、図6bに示すような構成が考えられます。複数のフィルタ(またはデシメーション用に最適化されたフィルタ)バンクで構成される多相フィルタを使用すれば、効率化を実現するための論理に基づくフィルタを構築できます。

ADSP-21479は、SIMD(Single Instruction Multiple Data)のアーキテクチャを採用しています。また、FIRフィルタ専用のハードウェア・アクセラレータやデジタル信号処理用に最適化された命令セットを備えています。そのため、上記のようなフィルタの実装に最適です。各SHARCプロセッサは、演算ユニット(Processing Element)として、266MHzのCPUクロック周波数で毎秒533回の固定小数点演算または浮動小数点対応のMAC演算を実行可能な32/40ビットの積和演算器を備えています。しかし、(ルーム・イコライゼーションやサウンド効果の処理で生じる)大きな遅延を伴う一部のアプリケーションに対しては、演算能力を高めて、FIR、IIR、FFTベースのフィルタリングなど、集中的かつ持続的に実行される乗算処理からコアを解放する必要があります。これらのタスクは、専用のハードウェア・アクセラレータによって実行されます。そのため、ユーザは、非常に高度な命令セットを必要とするより複雑なアルゴリズムの計算に、CPUを自由に活用することができます。FIRフィルタ専用のアクセラレータは、データや係数を保存するための専用のローカル・メモリを備えています。その種のアクセラレータには、次のような特徴があります。
- IEEE 754の浮動小数点または固定小数点の32ビット算術フォーマットをサポート
- 並列に動作する4個の積和演算ユニットを装備
- モノレート/マルチレートの処理モードで動作が可能(デシメーションまたはインターポーレーション)
- シンプルな繰り返し処理によって、計1024個の係数を使用する最大32個のFIRフィルタに対応可能
ADSP-21479のアクセラレータは、システム・クロック、またはCPUのクロック周波数(CCLK)の1/2となるペリフェラル・クロック(PCLK)で動作します。具体的には133MHzで動作し、トータルの演算能力としては533MAC/秒が得られます。アクセラレータは、命令の実行を必要としません。特定のレジスタに設定を書き込むことによって動作し、DMA転送だけを使って内部/外部のメモリとデータをやり取りします。
このアクセラレータを使えば、マルチレートのフィルタ(インターポーレーションまたはデシメーション)を最適な形で実装できます。シンプルなデシメーション・フィルタは、M個の入力信号に対して1個の出力しか生成しません。つまり、出力レートは入力レートの1/Mになります。一方、多相フィルタ・バンクには多数のメモリ・ポインタが必要であり、実装が複雑です。そのため、ADSP-21479では、その洗練された構造は採用していません。それとは別の方法で、最適化されたFIRフィルタを実装しています。それは、M - 1個のサンプルからの出力に近い設定を利用し、余計な計算の実行を回避して、有効なサンプルを生成するデータだけを使って演算を行うというものです。これによって無駄が省かれ、演算回数は1/M - 1(この例では1/15)に減少します。つまり、CPUのサイクルを大幅に節約することができます。しかし、このようなデシメーション・レシオと短い演算ウィンドウに対し、このアクセラレータは2個の演算ユニットを備えるコアと比べて有用なものだとは言えません。フィルタから次のフィルタへと推移する際に再プログラムされるDMAチャンネルからの悪影響を受けるからです。SISD(SingleInstruction Single Data)モードの単一の演算ユニットによって実装される場合、CCLKのサイクル数という観点から見たこのフィルタのコストは、次のように表されます。

ここで、Nはフィルタの係数の数、Mはデシメーション・レシオです。
このようなデシメーション・フィルタは、1 回の繰り返しに対してFIRフィルタの約150サイクル分を費やす形で実装されます( アセンブリ・ソースで21K分) 。62.5kSPSのサンプル・レートに対し、帯域内リップル(0~24kHz)は±0.00001dB、阻止域減衰量は-130dBとなります。図7に、「MATLAB® Filter Designer」によって求めたこのフィルタの周波数応答を示しました。このフィルタは、(IEEE 754の浮動小数点形式に従い32ビットで量子化された)97個の係数を持ちます。接続されているSIPまたはADCのアクティブな各チャンネルに対し、このサンプリング・レートで発生するDMAの割込みごとに、このフィルタ演算が繰り返されます。

リアルタイムの負荷/DSPの負荷に対し、フィルタの動作は62.5kSPSのレートで繰り返されます。これは、CCLKのサイクルで言えば937万5053回分に相当します。ADCの変換チャンネルは8個なのに、8倍よりも少し多いのは、ADSP-21479のデータ・アドレス・ジェネレータに格納される各フィルタのメモリ・ポインタの値を保存/復元する必要があるからです。これは、DSPのSISDモードで言えば80MIPS(毎秒8000万実行サイクル)、2つの演算ユニットで並列に処理を実行するSIMDモードで言えばその半分に相当します。ADSP-21479のクロック・レートが266MHzである場合、2つのモードにおいて、8個のデシメーション・フィルタ(FIRフィルタ)の処理が全体に占める割合はそれぞれ30%と15%となります。
消費電力に関する情報
ADCの消費電力は、その仕様を基に非常に容易かつ正確に評価できます。一方、プロセッサの消費電力の評価はそれよりも困難です。消費電力に関連するパラメータの数が多く、リアルタイムに関する制約や動作モードに応じて、かなりのばらつきが生じるからです。ADSP-21479をはじめ、ADSP-214xxの各製品における消費電力の見積もり値については、技術資料をご覧ください。機能ブロックの動作、スタティック電流に対するジャンクション温度、電源電圧、使用する入出力ピンの数、様々な外部周波数、容量性負荷などについて考慮されています。図5に示した機能を実行するデシメーション・フィルタ用DSPの消費電力が、DSPとADCの複数の組み合わせについて示されています。機能、適切な入出力数、プロセッサの演算能力、ADCの全般的な性能に応じ、4個または8個のADCを各DSPに組み合わせています。スタティック電流が非常に少ないことから、ADSP-21479と8個のSARADCを組み合わせたソリューションでは、あらゆるフィルタのアルゴリズムやその他のデジタル機能を選択することが可能です。全般的な性能が最も高いのにもかかわらず、消費電力は最も少なくなります。
本稿で示したマルチチャンネルのデータ・アクイジション・システムでは、デジタル信号処理を行うためにFPGAが必ず必要だというわけではありません。特に消費電力が重要な問題になる場合には、浮動小数点に対応するDSPの方が、高精度のSAR ADCに適しているということも示しています。
表1. 各種SAR ADCの比較。DSPと組み合わせた場合の比較結果も示しています。パラメータ | AD4020およびADSP-21479 | LTC2378およびADSP-21489 | AD4020およびADSPBF532 | LTC2378およびADSPBF532 | LTC2512 -24 | LTC2500 -32 | AD7768-1(中間モード) | AD7768-1(高速モード) |
変換方式 | SAR | SAR | SAR | SAR | SAR | SAR | WB-Σ-Δ | WB-Σ-Δ |
分解能 | 20 | 20 | 20 | 20 | 24 | 24 + 8 | 24 | 24 |
オーバーサンプリング | 可 | 可 | 可 | 可 | 可 | 可 | 可 | 可 |
帯域内リップル〔dB〕 | ±0.00001 | ±0.00001 | ±0.00001 | ±0.00001 | ±0.001 | ±0.001 | ±0.003(プログラム可能) | ±0.003(プログラム可能) |
阻止域減衰量〔dB〕 | <–130 | <–130 | <–120 | <–120 | <–65 | <–65 | -110(プログラム可能) | -110(プログラム可能) |
デシメーション・フィルタ | FIR(オプション) | FIR(オプション) | FIR(オプション) | FIR(オプション) | FIR | FIR | FIR | FIR |
サンプリング・レート〔MSPS〕 | 1 | 0.91 | 1.8 | 1 | 1.0 | 1 | 4 | 8 |
実効オーバーサンプリング比 | 16 | 16 | 32 | 16 | 16 | 16 | 128 | 256 |
第1エイリアシング領域〔MHz〕 | 1 | 1 | 2 | 1 | 1 | 1 | 8 | 16 |
デシメーション後のレート〔kSPS〕 | 62.5 | 62.5 | 62.5 | 62.5 | 62.5 | 62.5 | 62.5 | 62.5 |
-110dBのエイリアシング除去比の達成に必要なAAFの次数 | 5 | 5 | 4 | 5 | 5 | 5 | 3 | 3 |
上記次数のAAFによるエイリアシング除去比〔dB〕 | –123.4 | –123.4 | –123.4 | –123.4 | –123.4 | 62.5 | –130 | –147.5 |
5Vのリファレンスを使用した場合の3kHzにおけるS/N比〔dBFS〕 | 112 | 116 | 115 | 116 | 114 | 116 | 113.7 | 116.9 |
2kHzにおけるSFDR〔dBc〕 | 122 | 128 | 122 | 128 | 120 | 128 | 128 | 128 |
20kHzにおけるTHD〔dBFS〕 | 122 | 128 | 122 | 128 | 120 | 128 | –120 | –120 |
デジタル・フィルタのバイパス | 可 | 可 | 可 | 可 | 可 | 可 | 不可 | 不可 |
SCK/SDOの周波数〔MHz〕 | 33.3 | 50 | 61.5 | 64.1 | 1.5 | 1.5 | 1.5 | 1.5 |
ADCの消費電力〔mW〕 | 10.8 | 24.8 | 15 | 24.8 | 32 | 30 | 19.7 | 36.8 |
DSPの消費電力〔mW〕 | 185 | 832 | 70 | 75 | ||||
チャンネル数 | 8 | 8 | 4 | 4 | 1 | 1 | 1 | 1 |
総消費電力(Tj = 55°Cにおける標準値)〔mW〕 | 272 | 1030 | 130 | 175 | ||||
チャンネル当たりの消費電力〔mW〕 | 34 | 129 | 33 | 43 | 32 | 30 | 19.7 | 36.8 |
ADCの動作温度範囲〔°C〕 | -40~125 | -40~85 | -40~125 | –-40~85 | -40~85 | --40~85 | -40~125 | –-40~125 |
参考資料
ADSP-21000「Family Applications Handbook Vol.1(ADSP-21000ファミリ・アプリケーション・ハンドブック Vol.1)」Analog Devices
N. J. Fliege「Multirate Digital Signal Processing: Multirate Systems―Filter Banks―Wavelets(マルチレートのデジタル信号処理:マルチレート・システム、フィルタ・バンク、ウェーブレット)」Wiley、1999年
Frederic J. Harris「Multirate Signal Processing for CommunicationsSystems(通信システム向けのマルチレートの信号処理)」Prentice Hall、2004年
P. P. Vaidyanathan「Multirate Systems and Filter Banks(マルチレート・システムとフィルタ・バンク)」PrenticeHall、1993年