AN-2003 : アナログ・デバイセズの AD7380 SAR ADC ファミリにおけるオンチップ・オーバーサンプリング
はじめに
このアプリケーション・ノートでは、逐次比較型(SAR)A/Dコンバータ(ADC)でのオンチップ・オーバーサンプリングについて説明します。オーバーサンプリング技術には、一般的に相加平均と移動平均の 2 つがあります。これらの技術は、AD7380/AD7381 やその高スループット・レート SAR ADC ファミリの内部で実行されます。その結果、平均した変換データが直接利用でき、デジタル・コントローラの負担が軽減されるため、データ・アクイジション・システムにとって利点となります。
高精度のデータ・アクイジション・システムでは、S/N 比と有効ビット数(ENOB)が高ければ高いほど、広帯域ノイズのある中でシステムが信号電力を測定する場合に有利になります。
ノイズが原因でシステム性能が低下する可能性もあります。ノイズを低減するには、システムを Σ-Δ ADC や SAR ADC などの高分解能の ADC に置き換える方法や、オーバーサンプリングしてデジタル・フィルタリング技術を使用する方法などがあります。
オーバーサンプリング技術は、Σ-Δ ADC アーキテクチャ設計の中で使用されてきた歴史があります。Σ-Δ ADC は、Σ変調器と、後段のデジタル信号処理部、つまりデジタル・フィルタから構成されています。Σ変調器は 1 ビット量子化器と同じくらいに小型化が可能で、何千ものサンプルを集め、それらのサンプルをデシメートして高分解能の変換値を得ることができます。平均するサンプル数が多ければ多いほど、ますます分解能が上がり、変換がサンプル値に近づきます。一般的な Σ-Δ アプリケーションとしては、温度監視システムや重量測定システムがあります。
Σ-Δ ADC アーキテクチャは、対象となる帯域幅よりも非常に高いレートで小さな電荷量をサンプリングすることに基づいています。サンプルを多く取れば取るほど、バイト数は小さくなります。代表的な Σ-Δ ADC のオーバーサンプリング範囲は、32 ×最大 1000 × 対象となる信号の間になります。オーバーサンプリングをノイズ・シェーピング(変調方式)と組み合わせると、結果的にインバンド・ノイズを対象となる帯域から移動させることができます。その後、より高い帯域に移動したノイズは、デジタル・フィルタリングによって取り除かれます。この結果、対象となる帯域ではノイズが低減し、分解能が向上します。サンプル値は小さいものの、サンプリングが頻繁に行われるため、Σ-Δ ADC から各変換値が出力されます。
SAR ADC は、逐次比較を使用して値を算出しています。SAR ADC はサンプリングした 1 つの瞬時値をデジタル表現にする場合に、段階的なアプローチを使用して、各ビットがどの値になるかを確定します。SAR は、電荷再配分式コンデンサと D/A コンバータ(DAC)アレイを使用しています。サンプリングされたデータは、バイナリの重み付けされたキャパシタ・アレイのそれぞれの値と比較されます。バイナリの重み付けされたキャパシタの総数が SAR ADC のビット数、つまり分解能を決定します。変換処理は内部の高速クロックと容量性の DAC アレイによって制御され、変化している信号を高速に変換することができます。SAR ADC は、広い帯域幅が要求されるデータ・アクイジション・システムで使用されています。
SAR ADC は、一般に 1 つの標本を時間内に変換し、特定の時点に関わるデジタルの答えを出します。高速の SAR コンバータの出現に伴って、対象となる主要な帯域の分解能を向上させるために、オーバーサンプリングの使用が増加しています。今日、SAR ADC ではオーバーサンプリング技術がよく使用されていますが、この技術はマイクロコントローラやフィールド・プログラマブル・ゲート・アレイ(FPGA)での後処理で用いられます。アナログ・デバイセズは、SAR ADC のシリーズにオーバーサンプリング機能を内蔵して提供しています。このオーバーサンプリング機能は、ノイズ性能を向上させ、インターフェース条件を簡素化し、しかも FPGA やマイクロコントローラに関して設計する必要や、資源を多く使用する平均化を行う必要もないため、すぐに使用することができます。また、オーバーサンプリング機能は、処理しやすいデータ・レートでデータ処理性能を最大限に向上させます。
Input Type | 16-Bit | 14-Bit | 12-Bit |
Differential Single-Ended |
AD7380 AD7386 |
AD7381 AD7387 |
AD7388 |
オーバーサンプリング
A/D 変換中、アナログ信号は ADC によってデジタル化されます。オーバーサンプリングとは、オーバーサンプリングではないソリューションと比較して、必要とするレートよりもはるかに高いレートでアナログ信号をサンプリングし、この信号をデジタルに変換することにより、デジタル化された信号の有効な分解能を上げるために適用される技術のことです。オーバーサンプリングを行うと、より広い帯域幅にわたりコンバータのノイズを平均化することができます。特定の帯域幅に対して平均化やフィルタリングが行われた場合、ノイズが無相関の広帯域(ホワイト)ノイズであって、平均値がゼロ(0)であれば、ノイズは 2 倍のオーバーサンプリングごとに√2、つまり 3dB の割合で改善されます。一方、相関ノイズや高調波などの他のスペクトル成分は、平均化しても低減されません。図 1 に、ADC のノイズ・レベル(濃い灰色)を示します。このノイズは、量子化ノイズ源、熱ノイズ源、およびナイキスト帯域幅にわたって広がるドライバ、クロック、電圧リファレンスなどの外部ノイズ源が合成されたものに由来します。
ナイキスト理論(fSAMPLING ≥(2 × fIN))によると、信号を正確に復元するためには、入力信号を対象となる最高周波数の 2 倍以上のレートでサンプリングする必要があり、またオーバーサンプリングをする場合も同じ基準が存在します。オーバーサンプリングによって信号のノイズが低減し、システムの S/N 比が向上し、その結果、分解能が向上します(大きな歪み成分がないと仮定した場合)。
オーバーサンプリングは、複数のサンプルを集めて平均するというデジタル信号処理の技術です。データ・サンプルの平均化は、ローパス・フィルタのような作用をします。
アナログ・デバイセズの AD7380 ファミリは、同時サンプリング SAR ADC ファミリであり、オンチップ・オーバーサンプリングが可能です。この SAR ADC シリーズは、相加平均と移動平均の 2 つのオーバーサンプリング技術を実行することができます。
相加平均オーバーサンプリング
相加平均オーバーサンプリングにおいて、平均化アルゴリズムは、M 個のサンプルを合計し、この合計を同じ係数 M で割ることによって単純平均を算出します。この方法では、M 個のサンプルの組が新たに集められて各平均値が求められます。
表 2 に、アルゴリズムの機能の仕組みを一般化して示したものです。この例でのデータ数は 12 サンプルです。平均するサンプル数が 2(M = 2)の場合、新たな出力が 2 サンプルごとに行われるため、有効なサンプリング・レートは2分の1になります。この出力値は、サンプル 1 とサンプル 2の平均値、サンプル 3 とサンプル 4 の平均値などとなっていきます。
Sample Number | Sample Result | Averaged Result | |
M = 2 | M = 4 | ||
1 | 0.200 | 0.2500 | 0.2400 |
2 | 0.300 | ||
3 | 0.230 | 0.2350 | |
4 | 0.240 | ||
5 | 0.260 | 0.2300 | 0.2500 |
6 | 0.200 | ||
7 | 0.240 | 0.2700 | |
8 | 0.300 | ||
9 | 0.270 | 0.2600 | 0.2450 |
10 | 0.240 | ||
11 | 0.250 | 0.2300 | |
12 | 0.210 |
同様に、平均化係数 M = 4を適用すると、最初の 4サンプルの組が平均され、続いて次の 4 サンプルの組(サンプル 5~サンプル8)が平均されます。簡略化した相加平均の式を以下に示します。
ここで、
xは、M サンプルの平均値、
M は、平均するサンプル数、
Siは、n 番目にサンプルされた値です。
AD7380 SAR ADC ファミリでは、相加平均オーバーサンプリングはチップ内で実行され、平均するサンプルを最大で 32 個集めることができます。この手法がイネーブルされている限り、AD7380 は自動的に M 個の変換サンプルを集め、平均した変換値をクロックに同期して出力します。変換値をどれだけ利用できるかは、集められたサンプル数 M によって決まり、この値は、AD7380 ファミリの CONFIGURATION1 レジスタ内の OSR ビットのオーバーサンプリング比によって設定されます。M サンプルの変換が完了すると、値が読み出されます。
図 2 に、AD7380 がどのようにアルゴリズム実行するかを示します。この例では、M = 8、つまりオーバーサンプリング比(OSR)を 8 と仮定し、8 サンプルを集めて平均しています。変換が内部で始まると、AD7380 は要求されたサンプル数(M)が完了するまで、一連の変換処理と取得処理を実行します。その後、取得したデータの平均化処理を実行します。その結果、図 2 に示すように、若干の処理遅延が発生し、T1 で平均値が有効になり、クロックに同期して SDOx ピンから出力されます。この時点で新たな平均化演算が始まり、次の M サンプルを取得するための新たな一連の変換が行われます。図 2 に、この技術を適用したことにより、サンプリング・システムの有効な出力データ・レート(ODR)が低下している様子を示します。ODR の低下は、サンプル数(M)、つまり増加した OSR に反比例します。相加平均オーバーサンプリング方式は、最適な性能を必要としつつも ODR の低下は許容できるようなアプリケーションに適しています。
移動平均オーバーサンプリング
移動平均オーバーサンプリング技術では、バッファを使用してサンプルを保存し、平均化処理を行います。移動平均アルゴリズムは、バッファに保存された最新の M サンプルを選択し、この合計を M で割ります。デジタル設計において、記憶容量を増やすには、バッファに空き容量を追加する必要があります。移動平均オーバーサンプリング技術において、小型の ADC ではバッファの記憶容量が限られるため、先入れ先出し(FIFO)アルゴリズムが採用されています。バッファが満杯で、新たなサンプルが利用可能になっている場合、図 3 に示すように、バッファ内の最古のデータが廃棄されます。前項で例示したサンプリング・データを使用して説明すると、最初の 8 サンプル値(S1~S8)は FIFOバッファに満たされています。新たなサンプリング・データ(S9)が利用可能になると、S1 はバッファから廃棄され、S9 がバッファに保存されます。新たなサンプルがバッファに保存されたとき、同じ処理が継続されます。
前述したように、移動平均オーバーサンプリング技術では、最新の M サンプルを合計し、それらを M で割ることにより平均値を算出します。図 3 に示す例では、M = 4 の場合、アルゴリズムは FIFO バッファ内の利用可能な 4 サンプル(最新の 4 サンプルB1~B4)を合計し、その後、この合計を 4 で割ります。次の平均化処理中は、FIFO バッファの同じ位置が平均されますが、これらのバッファの内容は変化しています。M = 8 の場合のシナリオには、FIFO バッファ内の全サンプルを合計する演算と、その後、この合計を 8 で割る演算が組み込まれています。
AD7380 ファミリで移動平均オーバーサンプリングをイネーブルするには、OS_MODEビットをロジック1に設定します。次に、FIFO バッファに最大 8 サンプルまでを保存するために、ゼロでない有効な値を CONFIGURATION1 レジスタの OSR ビット内に設定する必要があります。FIFO バッファは、変換が行われるとすぐに更新されます。移動平均オーバーサンプリングがイネーブルの場合、そのアルゴリズムはFIFOバッファから最新のM個のサンプルを集め、この合計を M で割ります。ここで、M はOSRです。その後、平均値は、AD7380 の SDOx ピンからクロックに同期して出力されます。
図 4 に、バッファ内のサンプルが利用可能になるとすぐに、オーバーサンプリング結果が後続の変換サイクルで利用可能になる様子を示します(M = 8 の例)。したがって、M(サンプル数)が増加した場合でも高い出力データ・レート(ODR)が得られます。移動平均オーバーサンプリング技術は、高い ODR と高い性能が要求されるアプリケーションに適しています。この技術でどれだけ性能を向上できるかは、バッファの利用可能な記憶容量によって決まります。簡略化した移動平均の式を以下に示します。
ここで、
xは、M サンプルの平均値、
M は、平均するサンプル数、
Biは、特定のバッファ位置のサンプルです。
オーバーサンプリングの利点
ノイズの改善
ADC は、オーバーサンプリングを使用してダイナミック・レンジを拡大することができます。オーバーサンプリングは、ノイズ源が無相関で平均値がゼロであると仮定することによって機能します。なぜなら、サンプリングによって、スペクトル全体にわたって一様に分布するホワイト・ノイズ、または隣接するコードを中心とするガウス・ノイズ分布が、平均化によって低減できる信号とみなせるためです。
図 5 は、AD7380 を使用して、オーバーサンプリングをしていない場合と、OSR = 8 で移動平均オーバーサンプリングを適用した場合に描かれた、高速フーリエ変換(FFT)のグラフの例です。
S/N 比の増加に対応して、ノイズ・フロアが大幅に改善している様子を確認してください(図 6 を参照)。この例では、S/N比が相加平均オーバーサンプリングした場合に 96dB に向上し、移動平均オーバーサンプリングした場合に 95dB に向上しています。
オーバーサンプリング技術を適用した場合に S/N 比の向上を推定するには、次式を使用します。
ここで、
N は、ADC の分解能、
fs は、サンプリング周波数、
BW は、対象となる帯域幅、
10log(fs/(2 × BW))は、処理利得、
fs/(2 × BW)は、サンプリング比、つまりナイキスト比です。
2 ×BW以上をサンプリングするオーバーサンプリング処理を追加したことを考慮して、処理利得が含まれていることに注意してください。次式において、係数 k を用いてサンプリング周波数を上げると、S/N 比が上がります。ここで、k は平均するサンプル数、つまりオーバーサンプリング比です。
理論上は、k の値を 2 倍にすると、S/N 比が 3dB 上がります。
様々なオーバーサンプリング比での代表的な相加平均オーバーサンプリングと移動平均オーバーサンプリングが S/N 比に及ぼす影響を表3と表4に列挙します。オーバーサンプリング比が上がると、S/N 比も増加しています。
Oversampling Ratio | SNR (dB) | Output Data Rate (kSPS) | |
Reference Voltage (VREF) = 2.5 V | VREF = 3.3 V | ||
Disabled 2× 4× 8× 16× 32× |
90.8 92.6 94.3 95.8 96.3 96.5 |
92.5 94 95.4 96.3 96.8 97 |
4000 1500 750 375 187.5 93.75 |
Oversampling Ratio | SNR (dB) | Output Data Rate (kSPS) |
Disabled 2× 4× 8× |
90.3 91.7 93.37 94.66 |
4000 4000 4000 4000 |
AD7380 ファミリ製品ではどちらの平均化技術も利用できます。どちらも様々なアプリケーションに適していまが、それぞれの技術には、特定のアプリケーションに対して考慮しなければならない独自の特性があります。相加平均オーバーサンプリング技術には、以下のような特徴があります。
- この技術は平均するデータを追加してサンプリングするため、最適な性能を発揮します。
- サンプル数、つまり OSR が増加するため ODR は低下し、アプリケーションは低い SCLK 周波数を使用できるようになるため、全体のコストは低くなります。
- 信号帯域幅は、変換レートよりも大幅に低下します(図 7を参照)。帯域幅の制限は、実効的なローパス・フィルタに原因があることに注意してください。
移動平均オーバーサンプリング技術には、以下のような特徴があります。
- サンプリング・レートは可変で、CSピンを介してアプリケーションから制御できます。
- 最大 4MSPS の高速なサンプリングが可能です。
- バッファの制約のため、平均するサンプル数が 8 に制限されます。
- 広い信号帯域幅を確保できます(図 7 を参照)。
分解能の向上(N)
前述したように、どちらのオーバーサンプリング技術でも性能が大幅に向上しました。次式によれば、S/N 比は ADC の分解能N に対して制限されています。
N を計算するには、次式を使用します。
理想的な16ビットADCであると仮定してS/N比を計算すると、S/N 比の最大値は 98dB になります。
向上できる S/N 比の最大値は、ADC のビット数によって制限を受け、図 6 に示すように、8 より大きいオーバーサンプリング比を用いても、S/N 比性能が向上することはほとんど、もしくはまったくありません。オーバーサンプリングの利点を活用するには、分解能Nを大きくする必要がありますが、これがAD7380に搭載された分解能増大機能の重要な役割です。
分解能の増強
AD7380 ファミリは制限事項がある場合でも、分解能を実効的に増強することにより、オーバーサンプリングによって達成可能な S/N 比を拡大することができます。オンチップの分解能増強をイネーブルするには、CONFIGRATION1 レジスタの RES ビット(ビット 2)にロジック 1 を書き込みます。
オーバーサンプリングによって S/N 比がどのくらい向上できるかを把握するために、前述の式を使用して 17ビット ADCの S/N比を計算します。その結果、S/N 比は 104.1dB となります。
この値を S/N 比の式に代入すると、分解能を 1 ビット上げるために必要なオーバーサンプリング係数 k が得られます。
分解能を 1 ビット上げるためには、ADC のオーバーサンプリング比を 4 以上にする必要があります。分解能を上げるために必要なオーバーサンプリング係数は、次式のようにまとめられます。
ここで、x は追加する分解能です。
表 5 に、様々なオーバーサンプリング比に対する分解能の増加をまとめています。
Oversampling Ratio | Number of Bits Increased |
2× 4× 8× 16× 32× |
0.5 1 1.5 2 2.5 |
図 8 に、分解能増強がイネーブルされている場合の AD7380 のS/N 比性能を示します。100dB 以上の S/N比性能が得られています。2 ビットの分解能増強を追加したことにより、量子化ノイズが改善され、S/N 比が上がっています。分解能の増強は、高いコストをかけずに 2 ビットの分解能を追加して、システムのダイナミック・レンジを拡大する方法です。この機能の弱点は、平均した変換値をクロックに同期して出力する際に、2 クロック・サイクル分のシリアル・ポート・インターフェース(SPI)SCLK を追加する必要があることです。
アプリケーション例
光エンコーダは、モータ・コントロールのアプリケーションにおいて、正確な位置の測定値を取得するために使用されます。例えば、エンコーダからのサイン出力とコサイン出力は補間され、同時に取得される必要があります。同時サンプリング SARADC(高スループット・レートの AD7380 など)は、このタイプのアプリケーションに適しています。角度位置θ(シータ)は、取得したサイン信号とコサイン信号のアークタンジェントを求めることによって得られます。これらの信号が理想的な信号であれば、測定値は正確になります。実際のアプリケーションでは、これらの信号はノイズの影響を受ける場合があるため、読込み誤差が発生します。これらの誤差によって、エンコーダの角度位置に誤差が生じます。
高精度のエンコーダが要求される例としては、モータの回転速度が低下しているとき、つまり、モータが減速を開始し、その後、目的の位置に到達したときがあげられます。AD7380のオンチップ・オーバーサンプリング技術を使用すると、サイン信号とコサイン信号をデジタル・フィルタリングして、ダイナミック・レンジを拡大することができます。サインとコサインの変換精度が向上すると、角度位置の精度が上がります。この高い精度は、小型部品をプリント回路基板(PCB)に実装するためのピック・アンド・プレース機や、荷物を指定された場所に運んだり、移したりするための産業機械のロボット・アームなどのアプリケーションで必要とされます。
まとめ
オーバーサンプリングは、ADC で正確な変換値を得るためのデータ処理技術です。SAR ADC では、マイクロコントローラ、DSP、FPGA などによる後処理において、この技術が使用されてきた歴史があります。AD7380 などのアナログ・デバイセズの高速 SAR ADC ファミリでは、この機能が相加平均と移動平均の 2つのオンチップ・オーバーサンプリング技術に統合されています。平均した変換値は、SDOx ピンから直ちに直接利用できるため、S/N 比やフル・ダイナミック・レンジなどの ADC パラメータに明らかな影響がすぐに現れます。
相加平均オーバーサンプリング技術は、高性能を必要としつつも、クロック速度と出力データ・レートの低下は許容できるアプリケーションに適しています。移動平均オーバーサンプリング技術は、高速性と高性能が共に要求されるアプリケーションに適しています。
分解能を上げると、オーバーサンプリング性能を向上できます。前述した 2 つのオーバーサンプリング技術と共に、AD7380 ファミリに内蔵された分解能増強機能を使用すると、分解能を直ちに 2 ビット上げることができることに注意してください。AD7380 ファミリは、マイクロコントローラでの追加のデータ処理によって生じる、SPI での負荷を軽減できる高速 SAR ADC です。更に、AD7380 ファミリのデバイスは、ADC の変換精度向上において高い信頼性があります。