« あけましておめでとうございます | トップページ | AD9717の出力を±1V振る »

2019.01.02

TINAを使ってAD9717用の完全差動アンプをシミュレートする

ADコンバータ「AD9717」の出力バッファにふさわしい回路を設計しようと思って、TINAというシミュレータを使ってみました。

AD9717はAnalog Devices社の電流出力タイプのDACで、DACの値は2つの端子から出る電流の差とで出てきます。これをTexas Insturments社の完全作動アンプTHS4520でバッファします。

そこで、シミュレーションでは2つの電流源を使ってAD9717を模擬します。

まず、現在の回路を示します。

Ad9717outbuf

現在の回路では、AD9717のリファレンスには16kΩを使っているので、Iodiff=2mAとなります。DAC値が16383のとき、PとNから出る電流の差が2mAになるということです。

TINAでは、変化する電流源を作るには「電流ジェネレータ」を使えばよいようです。

電流ジェネレータを使うには、DCレベルで電流源のDC成分を決めて、

Param1_2

このシグナルというところをクリックするとダイアログが開いて電流波形の詳細を決められます。

シグナルエディタで、交流の振幅と周波数を決めます。2つある電流源のうちN側の電流ジェネレータは位相を180degにしておきます。

Param2_2

これで1mAを中心に0~2mAまで振れる差動電流源ができました。

この状態で、とりあえず電圧を確認してみましょう。

青が回路の入力(Vip)の電圧で、緑が出力電圧(Vop)。差動ではなくGNDを基準にしたシングルで見ています。

Vio

入力端子の電圧(Vip)は、電流源のソースにあるコモン電圧(図ではGND)が何Vであっても、同じ値を中心に振れます。

なぜならば、OPアンプの入力端子はVipとVopの両方から499Ωでつながっているので一定値となり、入力電圧(vip)は、その電圧+Iip*Riとなるためでしょう。

それゆえ、電流源が何Vでドライブされるかは気にしなくてよいようです。

今回の回路では、DACがIodiff=2mAで振ったときに、出力電圧は-0.5V~+0.5Vまで振れることがわかりました。これは実機と一致しています。

12月30日の検証では、RSETの抵抗値を32kΩにしてIofs=1mAに減らしたほうが歪が減ることがわかりました。

この場合もシミュレーションしてみましょう。

Ad9717outbuf_1ma_circuit

結果、入力電圧は1.0Vを中心に±0.25V振れ、出力電圧は0Vを中心に±0.25Vで振れることがわかりました。

Ad9717outbuf_1ma

振幅が半分になったので計算どおりですが、汎用のDACとしては少し出力振幅が小さく、使いづらいものになってしまいます。

そこで、THS4520のゲインを上げることにします。この回路ではR1,R2はゲインには影響せず、R3,R4がゲイン(トランスインピーダンスゲイン)に影響することがわかっています。

ぶっちゃけ、差動出力電圧はVodiff=Iodiff×R3となります。

DACの出力が差動で測って±1mAなので、図の回路では±1mA×499≒±0.5Vとなります。

出力電圧を差動で測ってみた結果を示します。確かに差動で測って±0.5Vで振れています。

Ad9717outbuf_1ma_vod

実機をシングルエンドで測ると±0.25Vとなって、一致することが確かめられています。

R3,R4の抵抗を上げればゲインが上がることがわかったので、上げられるところまでゲインを上げてみましょう。ここではR3、R4を2.49kΩにしてみます。

本当にゲインは5倍になるでしょうか。

Ad9717outbuf_gainup

とりあえず、R1とR2はゲインに寄与しないことがわかったので0Ωにしました。

その結果、差動出力電圧は±2.5V、シングルエンドでは±1.25Vで計算どおりの答えが出ました。

Ad9717outbuf_gainup_tran

しかし、4.99kΩにしても最大で振幅は4.5Vまでしか上がらない。OPアンプは完全に電源電圧までは出せないのでその限界なのでしょう。また、電源電圧近くでは歪も増すので、このOPアンプのゲインを決める抵抗は2.49kΩくらいにしておくのが無難といえるでしょう。

ゲインを上げる弊害はないのでしょうか。あります。

ゲインを上げると周波数特性が犠牲になります。

TINAで周波数特性を測るには、入力となる電圧源が必要なようです。

下の図がその測定用の回路図です。

Ad9717outbuf_gainup_ac

TINAでは2つの電圧計を配置し、Vidと書かれたほうのプロパティをIOステート Inputにすると、Vod/Vidをグラフにしてくれるのだろうと思われます。

Vid_input

TINAでAC解析をしようとすると、「入力が必要です」というエラーが良く出るのですが、入力となる電圧計(または電圧源)を1つ決めておけばよいのではないかと思います。

まずは、帰還抵抗499Ω//3pFのときのデフォルトの回路。100MHzまで増幅しても-2.6dBなので、かなり優秀です。

Gain499_3pf

ところが、トランスインピーダンスゲインを稼ごうとして帰還抵抗2.49kΩ//1pFにすると、100MHzでのゲインは25dBも下がってしまいました。

Gain2490_1

最終的に決まった回路は次の図のとおりです。

Ad9717_last_circuit

OPアンプの入力にあるR1とR2の抵抗を100Ωにしました。

R1とR2はDCゲインには影響しないのですが、ACゲインには影響するようです。今回は電流-電圧アンプとして使っているのですが、電圧-電圧アンプではR1、R2が小さいと大きなゲインを求めることになるので、OPアンプの周波数特性が低下する。同じことが電流-電圧アンプでも起きているのでしょう。

しかし、R1、R2が大きくすると、電流源のソースとなる電圧を大きく振らなければならないので、DACの出力電圧の限界もあるのであまり大きくすることはできません。

その中庸として100Ωを選びました。DAC出力に必要な電圧は約2.5Vとなりました。この2.5VをAD9717が出力してくれるかどうかは実機で検証する必要がありそうです。

いずれにせよ、シングルエンドで±1.25V、差動で±2.5V出るようになりました。

Ad9717_last_wave

また、帰還抵抗に並列に入れたコンデンサを減らすことで、100MHzでのゲインは9dBほどのダウンに抑えられました。

THS4520の周波数特性は600MHzだったと思うので、こんなものかもしれません。

Ad9717_last

3dBダウンとなる周波数は60MHz程度で、アンチエイリアシングフィルタだと思えば丁度よいくらいに仕上がりました。

|

« あけましておめでとうございます | トップページ | AD9717の出力を±1V振る »

コメント

コメントを書く



(ウェブ上には掲載しません)




« あけましておめでとうございます | トップページ | AD9717の出力を±1V振る »