2016年7月4日月曜日

R-2RラダーDACのシミュレーション

Google+の電子工作部で以前R-2RラダーというDAコンバートの回路を教えてもらったのでシミュレーションしてみた。

スイッチを並べた鍵盤からアナログ値を取り出すような用途を想定。

またR-2Rラダーの回路には電圧出力型と電流出力型があるようだ。

電圧出力型

回路図

LTSpiceのswコンポーネントは単投しか使えないので、ノーマルONとノーマルOFFの2つのswを並列にして双投として使った。(この使い方もGoogle+で教えてもらいました。感謝です(^q^/)
.model SW1 SW(Ron=1 Roff=10Meg Vt=1)
.model SW2 SW(Ron=10Meg Roff=1 Vt=1)
として、SW1がノーマルOFF、SW2がノーマルONになるようにした。Ron/Roffの値は0が指定できないので1Ω。(デフォルトでも1Ωになっているようだ)

S1/S2などの組み合わせが単極双投のスイッチになる。スイッチを押したらVCC、離したらGNDに繋がるようなイメージ。

V2~V5で周期の違う矩形波を出力して4bit相当の組み合わせを作った。

過渡解析

一番下のV(out)が出力電圧。

最大値は10Vではなく9.375V。いちいち抵抗の分圧を計算していくのはめんどくさいが、4bitなら2^4=16なので
Vcc * (15 / 16)
で求まる。

電流出力型

回路図

電流出力型の回路もGoogle+で教えてもらった。電圧出力型と似てるが微妙に違う。出力は電流なのでRconv=1kΩに流してシミュレーションした。

過渡解析

一番下のI(Rconv)が出力電流。

電流は各bitごとに1/2されていくのでVCCから流れ出す電流をIとするとR1にI/2、R3にはI/4、R5にはI/8、R7とR2にはI/16というふうに電流が流れる。(Rconvは無視)
I = 2 * (VCC / R1) =  2 * (10V / 100kΩ) = 200uA
スイッチがすべてOnのとき、Rconvに流れ込む電流Irconvは、R2に流れ込む電流をIr2とすると

Irconv = I - Ir2 = 200uA - (200uA * (1 / 16)) = 187.5uA

Rconv自体に抵抗があるのでシミュレーションでは少し減っている。