簡単な構成で高精度なA-Dコンバータ
図1は,直流電圧計などに使用される2重積分型A-Dコンバータのブロック図です.8ビット・カウンタとスイッチ・コントローラには10kHzのクロック信号が供給されています.このA-Dコンバータに,ある正の電圧(入力電圧:Vin)を加えたとき,カウント値(A-D変換されたデジタル値)が「154」となった場合,入力電圧の値は,(a)~(d)の何Vと表示すればよいでしょうか.
ただし,Ref端子の基準電圧(Vref)は-5Vで,入力電圧(Vin)は,このA-DコンバータでA-D変換可能な電圧範囲内にあるものとします.
カウンタの値が「154」となる入力電圧の値は?
(a)1V (b)2V (c)3V (d)4V
このA-Dコンバータは,A-D変換を開始すると,まずスイッチ(S1)を閉じてC1の電荷を放電し,カウンタをリセットして0にします.このとき,スイッチ(S2)は,In側(Vin:入力電圧)に接続されています.
次にS1を開き,カウンタのカウントをスタートさせます.カウント数が増加していき,8ビット・カウンタが最大カウント値(255)を超えて,再び0に戻った瞬間に,S2をRef側(Vref:基準電圧)に接続し,カウントを継続します.そして,オペアンプ(U1)の出力(S端子)の電圧が0Vになったところで,カウントをストップします.このときのカウンタの値が,A-D変換されたデジタル値になります.
図1でオペアンプ(U1)およびR1,C1による積分回路は,8ビットカウンタが最大カウント値を超えて,0に戻るときまで入力電圧を積分します.カウント値が0に戻ったときの,S端子の電圧は,入力電圧に比例した値になります.次にRef端子の-5Vで積分し,S端子の電圧が0Vになるまでカウントします.カウントを停止したときの,カウント値は,入力電圧に対応した値になります.この動作をもとに考えると,カウント値から入力電圧を計算することができます.
2重積分型A-Dコンバータの入力電圧は,スイッチ(S2)が入力に接続されているときのカウント数(N1)とS2がVrefに接続されているときのカウンタの値(N2)から,求めることができます.N1は,8ビットカウンタが最大カウント値(255)を超えて,0に戻るときまでのカウント数なので256(255+1)です.
一方問題文より,N2は154です.入力電圧(Vin)は,N1とN2の比(N2/N1)に,基準電圧(Vref)の絶対値(5V)をかけたものなので「Vin=(154/256)*5=3.01」と計算できます.そのため,正解は(C)の3Vです.
●2重積分型A-Dコンバータの特徴と原理
A-Dコンバータには,色々な方式があります.2重積分型A-Dコンバータは,比較的簡単な構成で,高精度なA-Dコンバータを作ることができます.ただし,変換速度は遅いため,直流電圧を測定する,測定器のような用途に向いたA-Dコンバータです.
図2は,2重積分型A-Dコンバータで入力電圧をA-D変換するときの,積分回路の動作を表しています.
T1とT2を測定することで,入力電圧を知ることができる.
最初に,入力電圧を積分します.ここで,入力電圧は正の電圧のため,反転アンプを使用した積分回路の出力端子(S点)の電圧は徐々に下がっていきます.このとき,tという時間のS点の電圧(VS)は式1で表すことができます.
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(1)
そして,T1という時間だけ積分したあと,スイッチ(S2)を基準電圧(Vref)側に切り替えます.基準電圧は,-(マイナス)の電圧となっているため,反転アンプを使用した積分回路の出力端子(S点)の電圧は徐々に上昇し,T2時間あとに,0Vになります.
T1のときの電圧をVST1とすると,スイッチ(S2)が基準電圧側に切り替わってからの,S点の電圧(VS)はVrefの絶対値を使用して式2で表すことができます.
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(2)
T2時間経過後に,S点の電圧が0Vになっているため,式2は式3のように変形できます.
・・・・・・・・・・・・・・・・・・・・・・・・・・(3)
式3からVinを求めると,式4のようになります.
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・(4)
つまり,2重積分型A-DコンバータはT1とT2を測定することで,入力電圧を知ることができます.式4には,R1,C1の項が無いため,抵抗やコンデンサの値は測定精度には影響しません.
時間を測定するためには,カウンタを使用することができます.カウンタ用のクロックの周期をTCKとし,T1のカウント値をN1,T2のカウント値をN2とすると「T1=TCK*N1」「T2=TCK*N2」となり,式4は式5のように変形することができます.
・・・・・・・・・・・・・・・・・(5)
このように,入力電圧はカウント数の比で表されます.精度はカウンタの分解能で決まるため,カウンタのビット数を増やすことで,比較的簡単に高精度なA-Dコンバータとすることができます.
●LTspiceで2重積分型A-Dコンバータをシミュレーションする
図3は,図1の2重積分型A-Dコンバータをシミュレーションするための回路です.LTspiceに内蔵されている論理素子を使用しており,その論理振幅は1Vになります.V3は,10kHzの矩形波でカウンタのクロック信号になります.V3の出力がアンド・ゲート(A1)に入力されていますが,これはコンパレータ(U2)の出力がロー・レベルになったときに,カウンタに入力するクロック信号を止めるためのものです.
LTspiceに内蔵されている論理素子を使用しており,その論理振幅は1Vとなっている.
コンパレータ(U2)の出力に接続されたダイオード(D1)は,G端子が負の電圧にならないようにするためのもので,D2,D3はG端子の電圧を1.2V程度にクランプし,コンパレータの応答速度を速くするためのものです.
8ビット・カウンタ(8bit_Counter)のQ7出力は,インバータ(A2)を経由して,フリップ・フロップ(A3)のCLK端子に接続されています.これは,8bit_Counterが最大カウント値を超えて,0に戻るタイミングで,フリップ・フロップ(A3)を反転させるためです.
フリップ・フロップ(A3)のQ出力でスイッチ(S2)をコントロールし,Qの反転出力でスイッチ(S3)をコントロールしています.このようにすることで,測定開始時にスイッチ(S2)がONし,カウンタが最大カウント値を超えて0に戻ったあとは,スイッチ(S3)がONすることになります.
スイッチ(S2)には3Vの入力信号が接続され,スイッチ(S3)には基準電圧の-5Vが接続されています.V4はリセット信号で,シミュレーション開始1msだけ1Vを出力するようになっています.
図4は,図3で使用している8bit_Counterの内部回路です.Dフリップ・フロップを8個従属接続して8ビットのカウンタを構成しています.
Dフリップ・フロップを8個従属接続して8ビットのカウンタを構成している.
図5は,図3の2重積分型A-Dコンバータのシミュレーション結果です.下段が積分回路出力(S点)の波形で,上段が8bit_Counteのカウント値の出力波形です.上段は8bit_CounteのQ0~Q7の出力電圧を表示しています.しかし,重ね書きすると見ずらいため,それぞれの出力電圧に,n*1.1Vの電圧を加算して表示しています.
カウウントがストップしたときの出力は「10011010」となっている.
リセットが解除されると,S点の電圧は,8bit_Counteが最大カウント値(255)を超えて再び0になる(256カウントする)まで,下降していきます.その後,S点の電圧は上昇していき,S端子の電圧が0Vを越えると,8bit_Counteのカウントがストップします.
図5より,カウントがストップしたときの8bit_Counteの出力は「10011010」となっていることが分かります.「10011010」は10進数に変換すると,154になります.なお,2進数と10進数の変換は,Windows付属電卓の,「プログラマー」モードを使うと簡単に変換できます.
式5に今回のシミュレーション結果「256」「154」と基準電圧(Vref)の絶対値「5V」を代入すると,式6のように入力電圧(Vin)は,3Vに近い値となることが分かります.
・・・・・・・・・・・・・・・・・・・・・・・・(6)
以上,2重積分型A-Dコンバータについて解説しました.2重積分型A-Dコンバータは変換速度が遅いという欠点がありますが,入力信号を積分するため,ノイズの影響を受けにくいという特長があります.積分時間を,商用交流周波数の周期の整数倍とすれば,ハム・ノイズの影響を受けにくくなります.
解説に使用しました,LTspiceの回路をダウンロードできます.
LTspice8_017.zip
●データ・ファイル内容
Dual_Slope_A-D.asc:図3の回路
Dual_Slope_A-D.plt:図5のグラフを描画するためのPlot settinngsファイル
8bit_Counter.asc:図4の回路
8bit_Counter.asy:8bit_Counteのシンボル・ファイル
■LTspice関連リンク先
(01) LTspice ダウンロード先
(02) LTspice Users Club
(03) LTspice メール・マガジン全アーカイブs
(04) ◆LTspice電子回路マラソン・アーカイブs
(05) ◆LTspiceアナログ電子回路入門アーカイブs
(06) ◆LTspice電源&アナログ回路入門アーカイブs
(07) ◆IoT時代のLTspiceアナログ回路入門アーカイブs
(08) ◆オームの法則から学ぶLTspiceアナログ回路入門アーカイブs
(09) ◆LTspiceエデュケーショナル・ファイルで学ぶアナログ回路アーカイブs
(10) ◆LTspiceドット・コマンドから学ぶアナログ回路アーカイブs