概要
概要本稿では、D/Aコンバータ(DAC)のキャリブレーション方法について解説します。対象にするのは、ATEのピン・エレクトロニクス向けドライバや、コンパレータ、負荷、PMU(Parametric Measurement Unit)、DPS(Digital Power Supply)などで利用されるDACです。DACの直線性を表す指標には、微分非直線性(DNL)や積分非直線性(INL)といったものがあります。これらの性能は、DACのゲインとオフセットを調整することによって最小限に抑えることができます。本稿では、DACによるレベル設定の性能改善に有効な補正方法を中心に置いて解説を進めます。
はじめに
ATE(Automated Test Equipment)とは、自動試験装置、半導体試験装置などと呼ばれる検査装置のことです。この種の装置は、1個または複数個のデバイスを対象とした単一のテストや一連のテストを自動的かつ複数個同時に実行できるように設計されています。ICだけでなく、エレクトロニクス部品や何らかのハードウェアを対象として様々な種類のATEが開発されています。ATEの構成要素としては、タイミング・デバイス、D/Aコンバータ(DAC)、A/Dコンバータ(ADC)、マルチプレクサ、リレー、スイッチなどが挙げられます。それらを組み合わせて構成したピン・エレクトロニクスは、高精度の電圧信号、電流信号、電力を供給する役割を果たします。高精度の信号は、レベルの設定を担うDACを使って生成されます。ピン・エレクトロニクスを構成するデバイスの中には、キャリブレーション用のレジスタを備えているものがあります。一方で、キャリブレーション用の設定情報をデバイス外部に保存するタイプのものも存在します。本稿では、まずDACの主機能や誤差の種類について説明します。その上で、ゲインとオフセットの調整に主眼を置いたキャリブレーション方法について詳しく解説します。
DACの主機能
DACはデータ・コンバータの一種であり、入力されたデジタル・データに対応するアナログ信号を出力します。分解能がNビットのDACであれば、2N個の出力レベルを表現できます。このビット数が多いということは、DACの出力分解能が高いということを意味します。
DACのアーキテクチャには様々な種類があります。図1に示したのはその一例です。分解能がNビットのDACには、Nビットのデジタル・データが入力されます。それらのデータは、シリアル・レジスタに引き渡されます。電圧スイッチと抵抗ベースの加算回路を組み合わせて使用することにより、各デジタル・データに応じた出力レベルのアナログ信号に変換されます。図2に、理想的なDACの入出力応答(伝達関数)を示しました。分解能が3ビットのDACの場合、入力データは23個の値をとることができます。それぞれに対応し、8種のレベルのアナログ出力が生成されます。
DACで生じる誤差
現実のDACは、理想的な挙動は示しません。抵抗値のばらつきや、インターポレーション処理、サンプリング処理に伴って誤差が生じ、DACの伝達関数は図2のような完全な直線ではなくなります。そうした誤差の大きさを表す指標として、DNLやINLが使われます。DNLとは、理想的なステップ・サイズと現実の出力レベルの最大偏差のことを指します。連続する2つの出力電圧レベルの最大偏差がDNLです。一方、INLとは、理想的な伝達関数に対する現実の入出力応答の最大偏差のことを指します。INLの値は、ゲインとオフセットを補正することによって低減することができます。
図3に示したのは、INLが生じている状態の伝達関数の例です。理想的な伝達関数と実際の伝達関数の間に偏差が生じていることがわかります。DACについてはゲイン誤差という指標も使用されます。これは、実際の伝達関数に対応する近似直線の傾きと理想的な伝達関数の傾きがどの程度一致しているのかを表すものだと言えます。ゲインを調整すると、近似直線の傾きも変化します。DACには、もう1つオフセット誤差という指標も存在します。多くの場合、アプリケーションにおいては、オフセットがゼロになることが望ましいポイントが存在します。オフセット誤差とは、そのポイントにおける理想的な出力値と実際の測定値の差を表すものだと言えます。このオフセットを調整すると、近似直線全体が上または下にシフトします。単一のコードに対するINLは、任意の点におけるゲイン誤差とオフセット誤差の和になります。キャリブレーションを実施して、ゲイン誤差とオフセット誤差を最小の値に補正したとします。そうすると、エンド・ポイントの値が補正前の値から変化します。補正後のエンド・ポイントの間を結んだ線が補正後の伝達関数になります。
キャリブレーション用のルーチン
キャリブレーション用のルーチンを確立し、ゲインとオフセットを補正すれば、DACの非線形な特性を改善することができます。以下では、キャリブレーション用のルーチンについて段階的に説明していきます。
まず、分解能がNビットのDACでは、以下の一連の式が成り立ちます。
- ゲイン補正(GC)の手順
一般に、DACでは、入力コード(バイナリ値)が最小値/最大値に近づくと直線性が劣化する傾向があります。そのため、キャリブレーション・ポイント(キャリブレーションの処理を適用するポイント)としては、最小値/最大値から5%~10%の範囲に含まれるポイントか、EC表で推奨されているキャリブレーション・ポイントから5%~10%の範囲に含まれるポイントを選択することが推奨されます。以下では、5%の位置にあるポイントをキャリブレーション・ポイントとして選択すると仮定し、キャリブレーションの手順を示します。
- DAC の入力として、最小値より 5% 上の値を選択します。その値を入力した場合の理想的な DAC の出力電圧を計算し、得られた値を IDEAL1 として記録しておきます。その上で、その値を入力した場合の実際の DAC の出力電圧を測定し、得られた値を MEAS1 として記録しておきます。
- DAC の入力として、最大値より 5% 下の値を選択します。上記と同様に、理論値を IDEAL2 として記録し、実測値をMEAS2 として記録しておきます。
- 各値を使用して、以下の計算を行います。
- 続いて、以下の計算を行います。
- オフセット補正(OC)の手順
オフセットがゼロになることが望まれるポイントは、アプリケーションによって異なります。したがって、個々のアプリケーションにとって最適なキャリブレーション・ポイントを選択するべきです。正確なグラウンド・リファレンス・ポイントを得るために、0Vが選択されることもあるでしょう。あるいは、INLを全体的に最小化するために、動作範囲の中間にあたるポイントが選択されることもあるはずです。
オフセット誤差を補正するためのキャリブレーションは、以下の手順で実施します。
- 電圧とコードの関係を表す式の傾きに DAC のゲイン補正を適用し、ユニティ・ゲインを確立します。
- オフセットがゼロになることが望ましいポイントを選択し、そのポイントにおける理想状態の出力電圧を IDEAL3 として記録しておきます。続いて、電圧とコードの関係を表す式(ゲイン補正を適用したもの)を使用し、コードの値を求めます。得られたコードを現実の DAC に入力し、出力電圧を測定します。その実測値を MEAS3 として記録しておきます。
- 各値を使用して、以下の計算を行います。
- 続いて、以下の計算を実施します。
キャリブレーションの実施例(その1)
ここでは、実際のICを対象としたキャリブレーションの実施例を示します。IC製品としては「MAX32007」を例にとります。MAX32007は、レベル設定用のDACとPMUスイッチを内蔵した8チャンネルのDCL(Driver/Comparator/Load)製品です。VDH、VDL、VDT/VCOM、VCH、VCL、VCPH、VCPLのレベル設定を行うための複数のDACを内蔵しています。それらのDACは、キャリブレーション用のレジスタは備えていません。キャリブレーションの手順は以下のようになります。
- MAX32007 の評価用キット(EV キット)の電源を投入します。その手順については、同キットのデータシートを参照してください。
- SMBコネクタのDATA0AとNTRM0Aを1.2Vに接続します。
- SMB コネクタの NDATA0A と TRM0A を 50Ω の終端抵抗を介してグラウンドに接続します。
- USB ケーブルを使って、Window® 10 が稼働する PC に EVキットを接続します。続いて、EV キットの GUI(Graphical User Interface)ソフトウェアを起動します。
- 以下に示す一連の式を使って、必要な計算を行います。
図4に示すように、DACの電圧レベルとドライバの設定を行います。VDH用のDACの最小動作値は-1.5V、最大動作値は4.5Vであることに注意してください。この例では、オフセットがゼロになるポイントの値は1.5Vです。
続いて、以下のような作業を行います。
- VDH = -1.5V を適用し、出力電圧の値を測定します。
- VDH = 4.5V を適用し、出力電圧の値を測定します。
- [ゲイン補正] = [出力電圧の実測値の差] / [理論値の差]を計算します。例えば、(4.501V - (-1.497V)) / (4.5V - (-1.5V))= 0.999667V といった具合です。
- ゲイン補正を適用すると、以下の式が成り立ちます。
ゲイン補正を適用するには、「Menu」 →「Options」 →「Calibration」を選択します(図5)。
更に、以下の作業を行います。
- VDH = 1.5V(ゲイン補正ありのコード)を適用し、出力電圧の値を測定します。
- [オフセット補正] = [測定した出力値] - [理論値」を計算します。例えば、(1.502V - 1.5V) = 0.002V といった具合です。
- ゲイン補正とオフセット補正を適用すると、以下の式が成り立ちます。
キャリブレーションの実施例(その2)
もう1つ具体的な例を示します。ここでは「MAX9979」を例にとります。このICは、レベルの設定に使用するDACとPMUを内蔵したデュアルDCL製品です。VDH、VDL、VDT、VCH、VCL、VCPH、VCPL、VCOM、VLDH、VLDL、VIN、VIOS、CLAMPHI/VHH、CLAMPLOのレベルを設定するための複数のDACを内蔵しています。また、それらのDACはキャリブレーション用のレジスタを内蔵しています。先ほどの例では、INLが最小になるようにDACの入力コードを調整しました。ここで示す例では、DACの入力コードとしてはそのまま同じ値を使い、キャリブレーション用のレジスタを利用してINLを最小にするように出力段のバッファを調整します(図6)。DACのキャリブレーションは、以下の手順で実施します。
- MAX9979 の EV キットのデータシートを参照し、同キットの電源を投入します。
- SMBコネクタのDATA0AとNTRM0Aを1.2Vに接続します。
- SMB コネクタの NDATA0A と TRM0A を 50Ω の終端抵抗を介してグラウンドに接続します。
- USBケーブルを使用し、Window 10が稼働するPCにEVキットを接続します。続いて、EV キットの GUI ソフトウェアを起動します。
- 以下に示す一連の式を使って、必要な計算を行います。
- 図 7 に示すように、DAC の電圧レベルとドライバの設定を行います。VDH 用 DAC の最小推奨値は -1.5V、最大推奨値は4.5V、オフセットがゼロのポイントにおける値は 1.5V であることに注意してください。
続いて、以下の作業を行います。
- VDH = -1.45V を適用し、出力電圧の値を測定します。
- VDH = 6.5V を適用し、出力電圧の値を測定します。
- [ゲイン補正] = [出力電圧の実測値の差] / [理論値の差]を計算します。例えば、(6.501V - (-1.455V)) / (6.5V - (-1.45V)) = 1.0007V といった具合です。
- ゲイン補正を適用すると、以下の式が成り立ちます。
- VDH = 1.5V(ゲイン補正ありのコード)を適用し、出力電圧の値を測定します。
- [オフセット補正] = [測定した出力値] - [理論値」を計算します。例えば、(1.502V - 1.5V) = 0.002V といった具合です。
- ゲイン補正とオフセット補正を適用すると、以下の式が成り立ちます。
ゲインとオフセットの補正を適用するには、「Menu」→「Options」→「Change」→「Calibration」を選択します(図8)。ゲイン/オフセットの補正内容を、ゲインとオフセットのコードに変換する方法については、MAX9979のデータシートをご覧ください。