TNJ-002:OPアンプの開ループ・シミュレーション
2013年6月19日 公開
はじめに
アナログ・デバイセズでは、SPICEシミュレーション・ソフトウェアNI Multisim Analog Devices Edition(※)をリリースしております。
Analog Devices Editionということで、使用可能素子数に制限はありますが、SPICE解析をイメージしなくても、信号源やオシロスコープ、ボーデ・プロッタなどを仮想的に接続して、波形観測ができるという優れものです!(製品版も20万円ちょっとからです。業務で使用するのであれば、それほど高くありません!)
またアナログ・デバイセズのかなりの製品のSPICEモデルが使えるようになっています。
少しこれを使って遊んでみようと思います。
どんなツールがあるか
波形観測できるツール群を紹介しましょう。これらは「仮想測定器」というツール群です。SPICE解析上での面倒な解析パラメータを入れることなく、SPICEで言う、いわゆるProbe機能の設定をほとんどせずに、まるで半田付けして測定器で測定する感覚でシミュレーションできます。上の左から、マルチメータ、ファンクション・ジェネレータ、電力計、オシロ(2CH, 4CH)、ボーデ・プロッタ、ワード・ジェネレータ、ロジアナ(!)、カーブトレーサです。これ以外にもツールがあります。
SPICEツールが使われるシーン
回路設計はまずブロック図でシステムを構築しますが、それを実際の回路に置き換えたあたりで、定数を決定するとか、周波数特性や応答特性の基本的評価をする際にSPICEを使います。「とっかえひっかえ」半田ごてで部品を載せかえて、オシロで測定しながら…というプロセスが省けますので、とても良いと思います。
とはいえそのあたりが微妙で、経験の少ないエンジニアだと、不適切な定数を設定してシミュレーションしてしまい、実機でうまく動作しない、ということが往々にしてあります。そのため実機でいろいろ経験し、「経験 + 理解」をベースにシミュレーションをかける、ということが重要だと思います。
最後には実機評価はかならず必要
その後に(やはり)ブレッドボードとか試作基板できちんと動作を「実機評価」することも大事です。高速とか高精度だと、きちんと本番の基板と同じもので確認しておかないと、ろくな結果になりません。シミュレーションでは出てこなかった問題点が露呈することが、まま(いや…定常的に)あります。
経験を積んで、うまく併用する
ということで、「経験 + 理解 + シミュレーション + 実機測定」をうまく併用することが、そして経験をさらに積んでピンポイントでシミュレーション結果を実機に落せるようになることが、成功の近道だと思います。
ちょっとおふざけ
ちょっとふざけてデジタル回路のシミュレーションで遊んでみました(笑)。次はアナログ回路をやってみますが…。
図2はNI Multisim(※)上で作ってみた3ビットのSynchronous(同期)UP Counterです。図3のように8ステートで元に戻っています。シミュレーション開始時にF/Fを初期化していませんので、ロジアナで(複数回トリガして)見てみると、そのときのF/Fの値が横軸0時間のときに出ています。本来であればF/Fはリセットしましょう(笑…カスタムICではサインオフができませんね)。
図2. NI Multisim(※)上で作った3ビット同期カウンタ回路
OPアンプの開ループをシミュレーション
OPアンプのループを開いたときの利得(オープンループ・ゲイン/開ループゲイン/一巡伝達関数などとも言う)を、シミュレーションで確認してみたので示してみます。
OPアンプは理想モデルを作って
図4は実際に作ってみたシミュレーション回路図です。ここでは実際のOPアンプではなく、理想モデルを複数の素子を使って作ってみました。利得が10000倍、カットオフは159Hzのモデルにしてみました。
電圧源を出力からフィードバック経路に挿入する
出力からフィードバック経路に電圧源V1を挿入します。そうするとこの測定系で、アンプの利得Aと帰還系の帰還量βの掛け算であるAβ、つまりOPアンプのループを開いたときの利得(オープンループ・ゲイン/開ループゲイン/一巡伝達関数)を
V1の「+端子」~ GNDの電圧
Aβ = -----------------------------------------
V1の「端子」~ GNDの電圧
として測定できます。それぞれの電圧をベクトルで読めば位相も計算できます。R4は実際の測定の場合は、トランスを使ってフローティングで電圧を供給するため必要なものですが、SPICEシミュレーションでは電圧源は抵抗ゼロなので、不要ともいえるでしょう。
なぜこのように測定する?
「開ループ特性を測定するなら、ループを開けばいいのでは?」と思うのも当然と思います。しかしシミュレーション、実機、どちらでも同じ結果になりますが、正しい測定を行うことができません。
それは、OPアンプの入力のオフセットがそのまま開ループ利得倍されて出てくるため、出力がどちらかに張り付いてしまい、正しい出力が得られないからです。
結果はボーデ・プロッタを使って表示させる
上記で示したAβは、仮想計測器の「ボーデ・プロッタ」を使って表示させることができます。図4の上側の部品がそれです。ボーデ・プロッタは横軸を周波数として、縦軸をOUT/INの比としてシミュレーションできます。
反転/非反転端子はVOLUTAGE_SUMMERで実現する
利得Aは10000倍 = 80dB、帰還量βはβ = 1/(1 + 9) = 1/10 = -20dBです。図4中に+記号が3つある、A3というものは、図5のように設定するVOLUTAGE_SUMMER(電圧加算器)で、このようにA入力をマイナス1倍(反転入力端子に相当)、C入力をプラス1倍(非反転入力端子に相当)としてOPアンプの差動入力を模倣することができます。
図5. VOLUTAGE_SUMMERの設定
シミュレーション結果
シミュレーション結果を図6に示します。仮想計測器ボーデ・プロッタで得られる表示です。Aβ=60dBの計算どおりで、-3dB周波数もマーカ読みで156Hzになっています。関心するほど良く出来た測定方法なわけですね。
ではこのβの帰還量を小さく(-ndBのnを大きく)していけば、どんな利得の高いホンモノのOPアンプもオープンループ・ゲインが測定できますね!…といいたいところですが、クローズドループ・ゲインが1/βになりますので、入力のオフセットが飽和してしまい、結局はその測定しようとしても、もとの木阿弥なのでした…(適度なところまでは実現可能)。
とはいえ、実際の動作時のAβを、この計測方法で、きちんと求めることができるわけなのですね。
2次系にすれば…
この実験系を2次系(もう一つCRを増やす)にすれば、位相余裕とステップ応答のオーバシュートの実験も出来ますので、別途、別の技術ノートでやってみたいと思います。
電圧源V1の+/-端子の電圧はどうなる?
それでは「付加した電圧源V1の+端子、-端子それぞれの電圧のようすはどうなるの?」という疑問に答える形で、Aβ= 20dBの条件(f = 15.5kHz)とAβ= 0dBの条件(f = 155kHz)をシミュレーションしてみました。
仮想オシロスコープを接続して確認する
今度はV1の両端子に仮想オシロスコープを接続して確認してみました。
Aβ= 20dBの条件(f = 15.5kHz, 図7)では、-端子(上)の電圧設定は200mV/div.で、+端子(下)の電圧設定は2V/div.にしています。
Aβ= 0dBの条件(f = 155kHz, 図8)では、-端子(上)の電圧設定は1V/div.で、+端子(下)の電圧設定も1V/div.にしています。
それぞれの差分量はpeak 1Vになっていることがわかります。電圧源V1はpeak 1Vで設定しているので、当たり前といえば当たり前の結果ですが、このように動いているわけです。
またここでAβ = 0dBの条件、つまり上の波形と下の波形が同じ振幅になったときの位相差が、位相余裕と関係しています。
図7. Aβ=20dBの条件f = 15.5kHz
図8. Aβ=0dBの条件f = 155kHz
位相について考えてみる
位相について考えてみます。図9はボーデ・プロッタに接続しなおして、位相を求めたものです。
図中の一番上が+180°、一番下が0°です。高域で+90°にとどまっていることがわかります。一番下が正帰還(位相ゼロ)になるところですので、Aβ = 0dBのところで、ここからどれだけ上にあるかで位相余裕が決まります。周波数が低いところで+180°なのは、
angle(A) = 180°(反転増幅、-Aなので)angle(β) = 0°
ということで、系として波形が反転するので(負帰還なので)こうなるわけです。それが周波数が上昇してくると、だんだん位相が遅れてきて、170…160となってきます。その結果最大90°遅れて、Aβ= 0dBのときに、一番下の0°のところから見れば90°余裕があるのだ、と考えれば良いということですね。
なお、参考書によっては、このプロットの一番上の位置を0°として示してあるものもあるので、ご注意ください。
※NI Multisim Analog Devices Editionの提供は終了しております。この資料ではNI Multisimを用いていますが、本内容はADIsimPEなど他のSPICEシミュレータでも同様にご活用いただけます。
著者について
デジタル回路(FPGAやASIC)からアナログ、高周波回路まで多...
この記事に関して
{{modalTitle}}
{{modalDescription}}
{{dropdownTitle}}
- {{defaultSelectedText}} {{#each projectNames}}
- {{name}} {{/each}} {{#if newProjectText}}
- {{newProjectText}} {{/if}}
{{newProjectTitle}}
{{projectNameErrorText}}