電源回路設計の安定化の評価と電子回路の事前検証
DC/DCコンバータの安定性評価
スイッチング電源回路(DC/DCコンバータ回路)の設計で課題のひとつとなるのが、帰還ループのゲイン特性と位相余裕です。この2つのパラメータは、負荷変動に対する応答特性を左右するとともに、発振のない安定した動作の確保にとても重要です。
両者を評価するには、横軸に周波数を置いて、縦軸に帰還ループのゲインと位相をプロットしたボード線図(あるいはボーデ線図)を用います
図1において、赤はゲイン(左の目盛)、青は位相(右の目盛)を表します。負帰還ですので、周波数が低い領域では位相は180°ずれていますが、周波数が高くなるに連れて帰還ループの遅れ成分により減少していきます。
このボード線図で重要となるのがゲインが0dBとなる周波数で、これをクロスオーバー周波数(fc)と呼びます。もうひとつがクロスオーバー周波数における位相量で、これを位相余裕と呼びます。また、位相が0°と交わった周波数における利得を利得余裕と呼びます。
図1のグラフからは、クロスオーバー周波数はおよそ76kHz、位相余裕は53°、利得余裕は16dBと読み取れます。
位相余裕と利得余裕から帰還ループの安定度が分かります。あくまで参考値で条件によって異なりますが、位相余裕60°、利得余裕10dB程度が適切とされています。最良の応答が得られるのは、位相余裕45°、利得余裕7dB前後の場合です。位相余裕がこれよりも小さくなると、負荷変動に対して出力電圧のリンギングなどの現象が発生します。

スイッチング電源の帰還ループのボード線図を得るには、FRA(Frequency Response Analyzer:周波数特性分析器)という測定器を用います(図2)。
まず、図2に示すように、出力電圧を帰還ループに与える経路に50Ωから100Ω程度の注入抵抗を直列に挿入します。注入抵抗の下側端子にFRAから与えられた交流信号は、帰還抵抗、誤差アンプ、PWM回路、スイッチング回路、およびフィルタを経由して、注入抵抗の上側端子に現れます。周波数をスイープしながら測定した抵抗両端のそれぞれ電圧と位相から、ボード線図が描かれます。

ループ位相補償とトランジェント特性
位相余裕が少ない場合は帰還ループにRCの位相補償回路を挿入します。位相補償用の専用ピンを備えるDC/DCコンバータデバイスもあります。
ボード線図とスイッチング電源の応答特性の関係を調べてみます。図3はあるスイッチング電源の帰還ループのボード線図(左)と、負荷変動応答に対する電圧変動(右)です。

ループ補償が15kΩと1000pFの直列RC回路のとき、ボード線図から、クロスオーバー周波数は43kHz、位相余裕は応答が最良となる45°であることが分かります。特性を見てみると、電流変化(緑色)に対して電圧の変動応答は高速で、リンギングなどは見られません。
ここで、補償RC回路のうちCの容量を増やすと、位相余裕は大きくなりますが電圧応答は鈍化します。また、Rを大きくすると、クロスオーバー周波数は高くなり、電圧の変動幅(ΔV)は小さくなるという性質を示します。
一般に、電圧応答の変動幅ΔVを小さくするには出力コンデンサ(COUT)の容量を大きくしようと考えがちですが、実はΔVはCOUTの関数ではありません。改善するには補償回路のRを大きくします。
LTspiceでボード線図を描く
FRAが揃えられない場合や電源回路の完成前に検証したい場合などは、LTspiceでもボード線図を描くことができます。
まず、FRAでの計測と同じように、100Ωの注入抵抗(R9)と電圧源(V4)を帰還ループに挿入します(図4)。電圧源(V4)から20kHzから80kHzの範囲の正弦波をループに注入し、注入抵抗の上側(A点)と下側(B点)の電圧値を .measure コマンドを用いて求めます。結果はSPICE Error Logに出力されるので、"Plot .stepped .meas data" メニューからグラフ化することで、ボード線図が得られます(図5)。
ただし、LTspiceでのボード線図の取得にはそれなりの実行時間と手間が必要ですので留意してください。また、DC/DCコンバータデバイスのモデルには周波数成分は組み込まれていませんので、結果はあくまで参考として解釈する必要があります。


LTspiceを用いたコーナーケース解析
セミナーの後半では、電子回路の特性検証で課題になるコーナーケース挙動をLTspiceで解析する方法を説明します。LCRなどの受動部品は、特性のグレードにもよりますが、一般にコンデンサは±10%、インダクタは±20%程度のばらつきを持ちます。設計は公称値で行うにしても、値がばらついたときのコーナーケースを把握しておかなければなりません。
受動部品の個数が少なければ人手で求められますが、部品数が多く、かつ、複雑な回路の場合、どの部品がどうばらついたときにコーナーケースが生じるかがそもそも分かりません。そのため総当り的に求めていく必要があります。
ここでは、インダクタ4個、コンデンサ4個、抵抗2個で構成される、カットオフ周波数1MHzの8次のチェビシェフフィルタを題材として取り上げます(図6)。このうち抵抗は精度1%のものもありますのでばらつきは無視し、インダクタとコンデンサのみのばらつきを考えます。

LTspiceでパラメータを変えるには、ユーザー定義変数をスイープする .step param文を使う方法、モンテカルロ法のmc(x, y)を使う方法、ガウス分布のgauss(x)を使う方法があります。
このうち.step param文は3部品までしかネストできないため、今回のように8部品のパラメータを振りたい場合には対応できません。また、mc(x, y)とgauss(x)は、ばらつきによる特性変化分布はシミュレーションできても、どのパラメータのときにコーナーケースが得られたのかが分からないという制約があります。
LTspiceを用いたコーナーケース解析
そこで、ユーザー定義関数である .func文を用いて、インダクタとコンデンサの8個の部品に対するばらつきの組み合わせ256通りについて、順にシミュレーションを実行する方法を考えてみます。
まず、対象となる8個の部品にindexを振り、それぞれ、マイナスばらつきに対しては0を、プラスばらつきには1を割り当てます。こうすることで256通り(0~255)のrun番号が得られます(図7)。この真理値表はユーザー関数binaryとして次のように定義できます。
.func binary(run,index) floor(run/(2**index))
-2*floor(run/(2**(index+1)))
さらに、この binary 関数によって得られた各素子のrun番号に対する数値(0または1)から、各素子の最小値と最大値を返すユーザー関数 wc を次のように定義します。
.func wc(nom,tol,index)
if(run==numruns,nom,if(binary(run,index),
nom*(1+tol),nom*(1-tol)))
以上の関数を実行すると、ばらつきの組み合わせ256通りと公称値を合わせた257通りの波形が得られます(図8)。ここから、振幅が最小となるrun番号と最大になるrun番号が分かりますので、先ほどの真理値表から各部品の値(マイナス側またはプラス側)を求めます。
チェビシェフフィルタの場合、たとえばカットオフ周波数の2倍の周波数にて減衰特性を調べ、減衰度がもっとも大きいrun番号ともっとも小さいrun番号から、コーナーケースが把握できます。
パラメータを振るこのようなパラメトリック解析の手順については、「LTspice:Worst-Case Circuit Analysis with Minimal Simulations Runs」という技術記事(LTspice:Worst-Case Circuit Analysis with Minimal Simulations Runs 英文)がアナログ・デバイセズのホームページにまとめられていますのでご参照ください。


以上、DC/DCコンバータ回路におけるボード線図を用いた安定性の評価手法と、高次フィルタを題材にLTspiceを使ってコーナーケースを求める方法を説明しました。いずれもページ数の都合から手順の一部を省略していますので、ご不明な点などがあればお問合せください。
著者について
この記事に関して
{{modalTitle}}
{{modalDescription}}
{{dropdownTitle}}
- {{defaultSelectedText}} {{#each projectNames}}
- {{name}} {{/each}} {{#if newProjectText}}
-
{{newProjectText}}
{{/if}}
{{newProjectTitle}}
{{projectNameErrorText}}