DAC80-CBI-V 12bit DAコンバータ

投稿日 2025年05月18日

BURR-BROWN(TI)のDAC80-CBI-V
パラレル入力の12bit DAコンバータ
24ピンのセラミックパッケージ
背景はTI社 DAC80のデーターシート

DAC80-CBI-V

DAC80はBB(BURR-BROWN)のR-2R方式12bit DAコンバーターです。DAC80にはセラミックパッケージと、プラスチックパッケージがあります。出力形式は電圧と電流のモデルがあります。DAC80-CBI-Vはセラミックパッケージの電圧出力モデルです。24ピンのあずき色パッケージに金色のダイ・カバーは見てても惚れ惚れします。当局所有のDAC80-CBI-Vはある機器から外したものです。

最近のDAコンバータは小型で、マイコンとのインターフェースはシリアルのI2CやSPIで通信するかたちになっていますが、DAC80のデジタル値の入力は12ビットパラレルです。24ピンの片側12ピン(1ピン MSBから12ピン LSB)がすべてデジタル入力ピンになっています。現在は、このようなパラレル入力のDAコンバーターはまず使いませんが、簡単に扱えるので簡易電圧発生器のようなものを作っておこうかという発想で、勉強がてら少しいじってみました。

DAC80の仕様をかいつまんで

データシートを自分なりに読み込んでみました。DAコンバータやADコンバータの仕様には、精度と温度によるドリフトがふたつの大きな仕様です。精度は負のフルスケール(-FS Full Scale)または0Vから、正のフルスケール(+FS)までの理想直線性からのずれ。ドリフトは、ここでは0℃から70℃の範囲の温度による変動です。

DAC80のレゾリューション(Resolution)は12bitです。計算上の1LSBは10VFSR(Full Scale Range)で0.00244V(2.44mV)、20VFSRで0,00488V(4.88mV)となります。

デジタル入力はパラレル式で論理1(High)が+2~+16.5VDC、0(Low)が0V~+0.8VDCです。これは一般的なTTLレベルと言えます。実験ではオープン(プルアップなし)で論理1と認識しました。

精度(ACCURACY (at +25°C))の項目で、
(積分)直線性誤差((Integral) Linearity Error ILE)は最大±1/2LSBで、これは20VFSRの±10Vレンジでは最大で±0.0024Vを超えません。ILEは負のフルスケールと正のフルスケールを結ぶ理想直線から、各コードの出力値がどの程度ずれているかを表すものです。
微分直線性誤差(Differential Linearity Error DLE)は最大±3/2LSBです。(データシートの±3/4LSBは誤りと思われます) 20VFSRの±10Vレンジでは、最大で±0.0073Vを超えません。DLEは、隣接する2つのコード間の電圧が、計算上の1LSBとどれだけずれるかを表すものです。±FS±1LSB(メジャーキャリー)が最も厳しい条件です。
25℃での値(at +25°C)とのことですが、これが0℃から70℃の範囲で保障されるのかはわかりませんが、ACCURACYの説明のほうで、「DAC80では、0°Cから+70°Cの範囲における単調性が保証されており、アナログ出力は増加するデジタルコードに対して、増加するか同じままであることが保証されています。」と書かれています。この「同じまま」という意味がミッシングのことかどうかは不明です。

ゲイン誤差(Gain Error)は最大±0.3%です。(% of FSRと思われる) 20VFSRの±10Vレンジでは、±0.06V程度です。
オフセット誤差(Offset Error)は最大±0.15% of FSRです。20VFSRの±10Vレンジでは、±0.03V程度です。
ゲイン誤差はバイポーラでは-FSにおける入力コード1ビット分の出力電圧差と+FSの1ビット分の出力電圧差との傾きを求めて理想直線と比較します。これにはオフセット誤差は含まれません。オフセット誤差は、-FSにおける誤差です。

以上のILE、DLE、ゲイン誤差、オフセット誤差は製造時に組み込まれる誤差ですが、ゲイン誤差とオフセット誤差については注釈に「ゲイン誤差とオフセット誤差は外部に設けたポテンショメーターで電圧を与えることによって0にできる。」とあります。

ドリフト(DRIFT (0°C to +70°C))の項目で、
ユニポーラ全誤差(Unipolar Total Error)は、最大±0.15% of FSRです。10VFSRの0 ~ +10Vレンジでは、±0.015V程度です。
バイポーラ全誤差(Bipola Total Error)は、最大±0.12% of FSRです。20VFSRの±10Vレンジでは、±0.012V程度です。
これらにはゲイン、オフセット、直線性ドリフトの影響が含まれています。ゲイン、オフセットを25℃で外部から0に調整した場合。ユニポーラ全誤差は、実際の出力電圧と、理想出力電圧との差(ゼロ・スケール誤差、ゲイン誤差、積分線形性誤差、微分線形性誤差など)の合計値です。バイポーラ全誤差は、ユニポーラ全誤差に加えて、ゼロ点付近での誤差(ゼロ・スケール誤差)が大きく影響します。

変換スピード(CONVERSION SPEED, VOUT Models)は、負荷によって、およびOPアンプのフィードバック抵抗によって異なるようです。2kΩ 500pF負荷で、10KΩのとき最大4μs、5KΩのとき3μsとなっています。これはFSRの±0.01%の変化あった場合のようです。20VFSRで±0.002Vです。1LSB つまり20VFSRで0.0048488Vでは1μsです。これは最上位ビットが変わる点(0111...11から1000...00)、つまり最悪の安定時間で計測されています。DAC80には変換トリガーはありませんので、これらの変化があったときのVoutへの反映速度(出力が最終値近辺の誤差範囲内に収束するまでの時間)ということと思います。             

アナログ電圧出力(ANALOG OUTPUT, VOUT Models) レンジはバイポーラ ±2.5V, ±5V, ±10V, ユニポーラ +5V, +10。出力電流は ±5mAです。

リファレンス電圧出力(REFERENCE VOLTAGE OUTPUT)は、最小6.23V、標準6,30V、最大6.37Vです。

電源(POWER SUPPLY REQUIREMENTS)は±11.4VDCから±16.5VDCです。

電源感度(POWER SUPPLY SENSITIVITY)は、VCC = ±12VDC or ±15VDCで、標準±0.002% FSR/ % VCC、最大±0.006% FSR/ % VCCです。

温度範囲(TEMPERATURE RANGE)は、仕様上は0℃から+70℃、動作温度は-25℃から+85℃、保管温度はセラミック・パッケージの場合-65℃から+150℃です。仕様は0℃から+70℃でのものですから0℃以下で使う場合は仕様から逸脱するかも知れないということかも知れません。

DAC80の回路構成とピン配置

DAC80のブロック図
電圧出力型(左)と電流出力型(右)

DAC80は電圧出力と電流出力の二つのタイプがありますが、今回のDAC80-CBI-V 電圧出力モデルは図の左のようになっています。24ピンの左側1ピンから12ピンはデジタル・コードの入力ピンで、1ピンがMSB、12ピンがLSBとなっています。TTLレベルで扱えます。

電源は正側が22ピン(+Vcc)、負側が14ピン(-Vcc)です。GNDは21ピン(Common)です。電源電圧範囲は±11.4Vから±16.5Vです。図のように6.3Vのリファレンス電圧を内蔵しており、24ピン(6.3V Ref.Out)に出ています。通常は24ピンと16ピン(Ref. Input)をつないで使います。 17ピン(Bipola Offset)の6.3KΩを通して21ピン(Common)に落とすか、20ピン(Summing Junction)につなぐかで、ユニポーラかバイポーラが決まります。アナログ出力はOPアンプで増幅して15ピン(Vout)から出力されています。このOPアンプにはフィードバック抵抗として5KΩふたつが直列になっており、19ピン(20V Range)に出ています。その中点は18ピン(10V Range)に出ています。アナログ出力とこれらとのつなぎ方でOPアンプの増幅度を決めます。アナログ出力の15ピンを18ピンにつなげばFSR10Vレンジ。つまりユニポーラの0 ~ +10V、またはバイポーラの±5Vレンジとなり、19ピンにつなげばFSR20Vレンジ バイポーラの±10Vレンジとなります。23ピン(Gain Adjust)に電圧を与えて、ゲインを調整します。

電源電圧(±11.4Vから±16.5Vの範囲)が±11.4Vに下がっても、±2.5mAの負荷電流が制限されている場合、±10Vの全範囲をスイングすることができます。±12Vを超える電源を使用する場合、出力は最大±5mAまで負荷をかけることができます。±5V以下の出力スイングの場合、出力電流は全てのVCC範囲にわたって最小±5mAとなります。

コーディング・スキームとデジタルコード - アナログ出力の対応

デジタル・コードとアナログ電圧との対応はいくつかの組み合わせがあります。デジタル入力コードは、ユニポーラのCSB 出力電圧レンジは0 ~ +10V、0 ~ +5V、バイポーラのCOBまたはCTCで±10V、±5V、±2.5Vが使えます。

コーディング・スキーム
注: CTCの100000000000は+Full Scaleの間違い

以下4ビットで表現します。(12ビットでも同じです)

DAC80では使いませんがUSB(Unipola Straight Binary)というコードがあり、0000がZero、1111が+FS(+アナログフルスケール-1LSB)に対応する一番わかりやすいコードです。名前のとおりユニポーラ専用です。DAC80で使用するCSB(Complementary Straight Binary)はUSBの1の補数です。つまりUSBを反転させたコードで、1111がZero、0000が+FS(+アナログフルスケール-1LSB)です。0 ~ +10Vで対応付けると、1111が0V、0000が+9.375Vです。(4ビットの1LSBは10/2^4 = 0.625V)

COB(Complementary Offset Binary)は0000のとき+FS(+アナログフルスケール-1LSB)で、1111のとき-FS(+アナログフルスケール)のバイポーラ出力です。0111のときBipola Zero(BPZ)です。MSBを符号とみなして0のとき負、1のとき正として扱えます。±5Vで対応付けると、1111が-5V、0000が+4.375V、0111が0Vです。

CTC(Complementary Two's Complement)は0000のときBPZ-1LSBで、1111のときBPZです。0111のとき-FS(-アナログフルスケール)です。1000のとき+FS(+アナログフルスケール-1LSB)です。MSBが符号ビット(1が正、0が負)となり、そのほかのビットは、正または負の方向に増加させます。±5Vで対応付けると、0000が-0.625V、1111が0V、0111が-5V、1000が+4.375Vです。CTCはCOBのMSBを反転させたものです。このため、実際にはCOBの設定で、外部でMSBを反転させてCOBとして与えます。

以上を12ビットに対応付けしてまとめたものが下表です。それぞれの1LSBは、アナログ電圧幅(FSR)で決まるので、

±10Vレンジ 20V / 2^12 = 0.0049V
0 ~ +10Vレンジ 、±5Vレンジ 10V / 2^12 = 0.0024V
0 ~ +5Vレンジ、±2.5Vレンジ 5 V/ 2^12 = 0.0012V

デジタル・コードとアナログ出力
(CTCはCOBのMSBを反転させたものと同じ)

DAC80を使用する手順

大まかには、まずユニポーラ(0 ~ +10V、0 ~ +5V)で使うか、バイポーラ(±10V、±5V、±2.5V)で使うかと、レンジを結線(下図)で決めます。つぎにユニポーラの場合はOffset Adjustで0Vを調整し、Gain Adjustで+FSを調整します。バイポーラの場合はOffset Adjustでバイポーラ・ゼロ(BPZ)を0Vに調整し、Gain Adjustで+FSを調整します。(Offset AdjustとGain Adjustは無調整でも使えます)

〇Common(21ピン)をグランドに接続する
〇+Vcc (22ピン)と-Vcc (14ピン)に電源に接続する デカップリング・コンデンサ(1uF)をピンの近くに接続する
〇デジタル入力コード(レベルはTTL)をMSB(1ピン)からLSB(12ピン)に接続する 
〇リファレンス出力 6.3V Ref. Out(24ピン )をリファレンス入力 Ref Input(16ピン)に接続する
〇アナログ出力 Vout (15ピン)を±10Vレンジの場合は20V Range(19ピン)へ、そのほかのレンジは10V Range(18ピン)に接続する
〇ユニポーラ(CSB)の場合はBipolar Offset(17ピン)をCommon(21ピン)に落とし、バイポーラ(COBまたはCTC)の場合は、Bipolar Offset(17ピン)をSumming Junction(20ピン)に接続する
〇Offset Adjustでオフセットを設定する。
   CSBの場合は111111111111を入力して、Voutを0Vに合わせる。
   COBまたはCTCの場合は-FSを合わせる。
      COB ±10V場合は、111111111111を入力して-10Vに合わせる。
      COB ±5V場合は、-5Vに合わせる。
      COB ±2.5V場合は、-2.5Vに合わせる。
      CTCはMSBを反転させてCOBとして与えます。
〇Gain Adjustでゲインを設定する。CSB、COB、CTCそれぞれで+FSを合わせる。
   CSB 0 ~ +10Vの場合は000000000000を入力して9.9976Vに合わせる。
   CSB 0 ~ +5Vの場合は4.9988Vに合わせる。
   COB ±10Vの場合は000000000000を入力して9.9951Vにに合わせる。
   COB ±5Vの場合は4.9976Vにに合わせる。
   COB ±2.5Vの場合は2.4988Vに合わせる。
   CTCはMSBを反転させてCOBとして与えます。

オフセットとゲインの調整は負荷を駆動した状態で行ったほうがよいようです。

変動する負荷のためにアナログ出力にバッファを設けたほうがよい場合があります。

また、電源のリプルにも気を使うべきです。

DAC80の接続
内部リファレンスを使用し、オフセットとゲインをポテンショメーターで調整できるようにしている
バイポーラ・オフセットを与えるか否かでユニポーラかバイポーラかを、
OPアンプのフィードバック抵抗のつなぎ方でゲインを決めている

オフセット調整は、アナログ出力電圧の起点(固定点)の調整です。通常ユニポーラでは起点は0Vであり、バイポーラでは-FSです。ゲインは起点から延びる+FSまでの線の傾きを決めることと言えます。通常ユニポーラでは+10Vまたは+5Vであり、バイポーラでは+10V、+5V、+2.5Vです。(実際にはアナログ・フルスケール-1LSB)

ブレッドボードで動作確認

ブレッドボードで回路を組んでみました。DAC80のデジタル入力は12ビット・パラレルなのでマイコン等を使わずに配線だけでテストができます。ユニポーラ(CSB) 0 ~ +10V、0 ~ +5V、バイポーラ(COB) ±10V、±5V、±2.5Vをそれぞれ実測してみました。バイポーラ(CTC)はCOBのMSBを反転させたコードですので省略しました。

電源電圧は±12.00xVとしました。

COB ±2.5Vレンジで000000000001 +FS-1LSB(2.4988 - 0.0012 = 2.4976V)を計測

ユニポーラの0 ~ +10V、0 ~ +5VをCSBコードで実測しました。バイポーラの±10V、±5V、±2.5VをCOBコードで計測しました。

計算値と実測値の比較
青色セルの右の実測値はその電圧になるようオフセットを調整
オレンジ色セルの右の実測値はその電圧になるようゲインを調整

各レンジでDLEのメジャーキャリーになる+FS-1LSB、-FS+1LSBをみると、+FSまたは-FSとの差は、ユニポーラ 0V~+10Vレンジ DLE 0.0036Vに対して実測0.003V [0.003V]。0V~+5Vレンジ DLE 0.0018Vに対して実測0.0012V [0.0013V]です。バイポーラ ±10Vレンジ DLE 0.0073Vに対して-0.005V [-0.005V]、+0.005V [+0.005V]。±5Vレンジ DLE 0.0036Vに対して-0.0024V [0.0024V]、+0.0025V [+0.0024V]。±2.5Vレンジ DLE 0.0018Vに対して-0.0007V [-0.0012V] 、+0.0011V [+0.0013V]です。計測はゲイン誤差、オフセット誤差を外部のポテンショメーターで与える電圧を調整して0にして行っています。[ ]内はそれらを外してゲイン誤差、オフセット誤差を調整しない状態での計測です。室温は約22℃) いずれも仕様を満足しています。

以下は256ステップ毎の計算と実測の比較です。誤差はいずれもDLE 3/2LSB内に収まっています。

ユニポーラ 0 ~ 10V、0 ~ 5Vレンジの計算と実測の比較
オフセットとゲインは外部から調整して計測
誤差はいずれもDLE内に収まっている

ユニポーラ(CSB) 0 ~ 10V、0 ~ 5Vレンジの計算と実測の比較
計算と実測は完全に重なっている
誤差は計算と実測の差を強調したもの

バイポーラ ±10V、±5V、±2.5Vレンジの計算と実測の比較
オフセットとゲインは外部から調整して計測
誤差はいずれもDLE内に収まっている

バイポーラ(COB) ±10V、±5V、±2.5Vレンジの計算と実測の比較
計算と実測は完全に重なっている
誤差は計算と実測の差を強調したもの

外部からゲイン誤差とオフセット誤差を調整して0にしない場合の、いわゆる内在する誤差については、実測して仕様内に収まっていることを確認しました。

DAC80で自作電子負荷を制御

DAC80で自作電子負荷を制御
約2A流して実験中
DAC80をユニポーラ +5Vに設定 CSB 111110101100で約0.1Vを生成
50W自作電子負荷で降圧レギュレータに2Aの負荷を与える
左 DAC80、中央 電子負荷、右 LM2596降圧レギュレータ

自作電子負荷はパワーMOSFETを2個使用した50Wの電子負荷です。電流検出用のシャント抵抗は0.1Ωを使用しているため、両端に0.1Vが現われば1A流れていることになり、FET2個で2Aです。DAC80の出力電圧約0.1Vとエラーアンプで比較してFETを制御しています。

ここではエラーアンプの入力は十分インピーダンスが高いので、DAC80の出力にバッファ・アンプは入れていませんが保護の意味では必要です。また、シャント抵抗の電圧を増幅することなくエラーアンプで比較しているので、DAC80から生成する電圧は微小です。

今回はDAC80をマイコン制御せず、入力のデジタルコードは配線でパラレルコードを入れています。マイコン制御すればいろいろ多彩な制御ができます。

これは、DAC80のデーターシートを個人的に解釈し、動作確認を行ったものです。正確な情報、および最新の情報は別から得てください。

(JF1VRR)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA