(57)【要約】【課題】ビット長の少ない固定小数点演算器により高精度なディジタル電源制御を実現する。【解決手段】制御系１２０は、パワーステージ１１０の出力電圧をＡ／Ｄ変換するＡＤＣ１２１と、変換したディジタルデータに基づいてＭＯＳＦＥＴ１１３をオンする時比率データＤｏｕｔを出力する減算器１２２、およびＤＳＰ１２３からなるディジタル演算器と、時比率データＤｏｕｔに基づいてＭＯＳＦＥＴ１１３を駆動するＰＷＭ信号を生成するＰＷＭ生成部１２４とを有する。ディジタル演算器は、ＡＤＣ１２１のサンプリング周波数に同期して、変換したディジタルデータから指令値Ｖｒｅｆを減算した誤差データＥｏｕｔ、およびディジタル演算器のディジタル演算の内部状態データおよび算出結果データｄａｔａを保持および更新し、算出結果データｄａｔａに加算するオフセットデータｏｆｆｓｅｔを保持する。【選択図】図１
2015027235.tif 000002
【特許請求の範囲】
【請求項１】
ＰＷＭ信号に基づいて、スイッチングを行うスイッチ部を有し、直流の電源電圧を任意の直流電圧に変換するＤＣ／ＤＣコンバータと、
前記ＤＣ／ＤＣコンバータから出力される出力電圧に基づいて、前記ＤＣ／ＤＣコンバータが生成する電源電圧を制御する電圧制御部と、
を備え、
前記電圧制御部は、
前記ＤＣ／ＤＣコンバータから出力される電圧をディジタルデータに変換するＡ／Ｄ変換器と、
前記Ａ／Ｄ変換器が変換した前記ディジタルデータに基づいて、前記スイッチ部をオンする時間的割合を算出し、制御ディジタルデータとして出力するディジタル演算器と、
前記ディジタル演算器が算出した前記制御ディジタルデータに基づいて、前記スイッチ部を駆動する前記ＰＷＭ信号を生成するＰＷＭ生成部と、
を有し、
前記ディジタル演算器は、少なくとも前記Ａ／Ｄ変換器のサンプリング周波数に同期して、前記Ａ／Ｄ変換器が変換したディジタルデータから設定された指令値を減算した誤差データ、前記ディジタル演算器におけるディジタル演算の内部状態データ、およびディジタルフィルタによる計算結果である算出結果データをそれぞれ保持および更新し、前記算出結果データに加算するオフセットデータを保持する、スイッチング電源装置。
【請求項２】
請求項１記載のスイッチング電源装置において、
さらに、前記ディジタル演算器は、前記誤差データの時間的変化に応じて、前記ディジタル演算器が算出した前記制御ディジタルデータを次の算出結果データへの加算値とするように前記オフセットデータに保持し、前記内部状態データをクリアし、クリアした際の前記Ａ／Ｄ変換器から出力される前記ディジタルデータを前記指令値とすることにより前記誤差データをクリアする、スイッチング電源装置。
【請求項３】
請求項２記載のスイッチング電源装置において、
前記ディジタル演算器は、前記誤差データが、設定された期間以上継続してしきい値よりも大きくなると、前記ディジタル演算器が算出した直前の前記制御ディジタルデータを次の前記算出結果データへの加算値とするように前記オフセットデータに保持する、スイッチング電源装置。
【請求項４】
請求項３記載のスイッチング電源装置において、
前記ディジタル演算器は、前記しきい値または前記期間の少なくともいずれかを、前記Ａ／Ｄ変換器が変換した前記ディジタルデータあるいは前記指令値の大きさに応じて算出する、スイッチング電源装置。
【請求項５】
請求項１記載のスイッチング電源装置において、
前記ディジタル演算器は、前記制御ディジタルデータをＩＩＲフィルタにより算出する、スイッチング電源装置。
【請求項６】
請求項１記載のスイッチング電源装置において、
前記ディジタル演算器は、前記ディジタル演算器が算出した直前の前記制御ディジタルデータに係数を乗算したデータを前記オフセットデータとして保持する、スイッチング電源装置。
【請求項７】
請求項６記載のスイッチング電源装置において、
前記ディジタル演算器は、前記係数を前記Ａ／Ｄ変換器から出力される前記ディジタルデータ、あるいは前記指令値の大きさに応じて算出する、スイッチング電源装置。
【請求項８】
ＰＷＭ信号に基づいて、スイッチングを行うスイッチ部を有し、直流の電源電圧を任意の直流電圧に変換するＤＣ／ＤＣコンバータから出力される出力電圧に基づいて、前記ＤＣ／ＤＣコンバータが生成する電源電圧を制御する電圧制御部を備え、
前記電圧制御部は、
前記ＤＣ／ＤＣコンバータから出力される電圧をディジタルデータに変換するＡ／Ｄ変換器と、
前記Ａ／Ｄ変換器が変換した前記ディジタルデータに基づいて、前記スイッチ部をオンする時間的割合を算出し、制御ディジタルデータとして出力するディジタル演算器と、
前記ディジタル演算器が算出した前記制御ディジタルデータに基づいて、前記スイッチ部を駆動する前記ＰＷＭ信号を生成するＰＷＭ生成部と、
を有し、
前記ディジタル演算器は、少なくとも前記Ａ／Ｄ変換器のサンプリング周波数に同期して、前記Ａ／Ｄ変換器が変換したディジタルデータから設定された指令値を減算した誤差データ、前記ディジタル演算器におけるディジタル演算の内部状態データ、およびディジタルフィルタによる算出結果データをそれぞれ保持および更新し、前記算出結果データに加算するオフセットデータを保持する、半導体集積回路装置。
【請求項９】
請求項８記載の半導体集積回路装置において、
さらに、前記ディジタル演算器は、前記誤差データの時間的変化に応じて、前記ディジタル演算器が算出した前記制御ディジタルデータを次の算出結果データへの加算値とするように前記オフセットデータに保持し、前記内部状態データをクリアし、クリアした際の前記Ａ／Ｄ変換器から出力される前記ディジタルデータを前記指令値とすることにより前記誤差データをクリアする、半導体集積回路装置。
【請求項１０】
請求項９記載の半導体集積回路装置において、
前記ディジタル演算器は、前記誤差データが、設定された期間以上継続してしきい値よりも大きくなると、前記ディジタル演算器が算出した直前の前記制御ディジタルデータを次の前記算出結果データへの加算値とするように前記オフセットデータに保持する、半導体集積回路装置。
【請求項１１】
請求項１０記載の半導体集積回路装置において、
前記ディジタル演算器は、前記しきい値または前記期間の少なくともいずれかを、前記Ａ／Ｄ変換器が変換した前記ディジタルデータあるいは前記指令値の大きさに応じて算出する、半導体集積回路装置。
【請求項１２】
請求項８記載の半導体集積回路装置において、
前記ディジタル演算器は、前記制御ディジタルデータをＩＩＲフィルタにより算出する、半導体集積回路装置。
【請求項１３】
請求項８記載の半導体集積回路装置において、
前記ディジタル演算器は、前記ディジタル演算器が算出した直前の前記制御ディジタルデータに係数を乗算したデータを前記オフセットデータとして保持する、半導体集積回路装置。
【請求項１４】
請求項１３記載の半導体集積回路装置において、
前記ディジタル演算器は、前記係数を前記Ａ／Ｄ変換器から出力される前記ディジタルデータ、あるいは前記指令値の大きさに応じて算出する、半導体集積回路装置。
【請求項１５】
請求項８記載の半導体集積回路装置において、
さらに、前記ＤＣ／ＤＣコンバータを有する、半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スイッチング電源装置および半導体集積回路装置に関し、特に、ディジタル制御の負帰還制御による電源制御を行う電源装置に有効な技術に関する。
【背景技術】
【０００２】
スイッチング電源装置として、例えばＤＣ／ＤＣコンバータが知られている。ＤＣ／ＤＣコンバータは、例えばインダクタ、コンデンサ、およびスイッチ素子とからなるパワーステージ回路と、制御系とで構成されている。
【０００３】
パワーステージ回路では、スイッチ素子のオン／オフによってインダクタの磁束エネルギーを充放電させ、コンデンサによって出力電圧を平滑化する。制御系は、コンデンサにより平滑化された出力電圧が目標値と等しくなるようにスイッチ素子のオン／オフ動作を制御することによって電源レギュレータとして動作する。
【０００４】
このとき、スイッチ素子のオン／オフの制御速度は、スイッチング周波数と呼ばれ、高速なほどインダクタの充放電による出力の変動、いわゆるリプルを小さくすることができる。また、スイッチング周波数の１周期内におけるスイッチ素子のオン期間の割合は時比率と呼ばれ、時比率を増減することによって出力の大きさを調整することができる。
【０００５】
スイッチング電源装置の制御系においては、パワーステージ回路の出力と目標値との誤差を打ち消すように時比率を調整する負帰還制御が行われる。
【０００６】
近年、制御系における負帰還制御の方式が、アナログ方式からディジタル方式に代わりつつある。例えば、アナログ方式では、出力電圧と設定電圧との差をエラーアンプ回路によって増幅・積分・微分した負帰還電圧を生成し、この負帰還電圧をのこぎり波とアナログ・コンパレータで比較することでＰＷＭ（Pulse Width Modulation）信号を生成する。
【０００７】
そして、生成したＰＷＭ信号によりスイッチ回路のパワーＭＯＳ−ＦＥＴ（Metal Oxide Semiconductor Field Effect Transistor）の時比率を制御する。この時比率をエラーアンプ回路によって位相補償して変化させることによって出力電圧を変化させ、出力電圧が設定電圧と等しくなるように負帰還制御を行っている。
【０００８】
一方、ディジタル方式では、例えば、増幅・積分・微分といった動作をＤＳＰ（Digital Signal Processor）によるＩＩＲ（Infinite Impulse Response）フィルタに代表されるディジタル信号処理に置き換える。
【０００９】
具体的には、出力電圧をＡＤＣ（Analog to Digital Converter）によりディジタル信号に変換し、ＤＳＰによって目標値から減算した誤差値についてディジタル信号処理を行う。
【００１０】
そして、当該信号処理結果に応じたパルス幅を生成するディジタルＰＷＭ回路によってパワーＭＯＳ−ＦＥＴの時比率を制御することにより、出力電圧が設定電圧と等しくなるように負帰還制御を行う。
【００１１】
このディジタル方式によれば、制御パラメータをソフトウェアにより調整することが可能となり、用途や機能に応じた柔軟性のある電源装置の設計が実現可能である。また、アナログ方式に比べて、制御特性の製造バラツキや環境変動の影響を抑えることが可能となる。
【００１２】
この種のディジタル方式による負帰還制御として、例えば入力電流、温度あるいは出力電圧の変動に応じて制御方法をソフトウェアによって変更することにより出力電圧精度が向上させ、リプルを小さくして低電力化を図る技術がある（例えば特許文献１参照）。
【００１３】
その反面、ディジタル方式には、アナログ方式にはなかった遅延時間、例えば、ＡＤＣによる変換時間やＤＳＰによる演算時間が負帰還ループ内の遅延要素になるといった問題が内在する。
【００１４】
負帰還系路上の遅延は、位相余裕を少なくする要因となり、負帰還利得の制約となるため出力応答性の妨げとなる。一般に、出力応答性と系の安定性とは相反関係にあり、負帰還利得を上げると出力応答性は向上するが位相余裕が低減する。そして、最悪の場合は、負帰還であるべき制御が正帰還になってしまい発振する。発振を抑止するために負帰還利得を小さくすると出力応答性が劣化し、スタートアップ時や大きな負荷変動があった場合のアンダーシュートやオーバーシュートとなる。
【００１５】
この対策としては、例えば、出力電圧に応じた負帰還利得と周波数特性の動的な変更により出力応答性を改善する技術（例えば特許文献２参照）や出力と目標値との誤差に応じて制御量を動的に変更して立ち上がり時間を犠牲にすることなくオーバーシュートを低減するもの（例えば特許文献３参照）などがある。
【００１６】
ところで、上記のディジタル演算器の構成例としては、ＡＤＣ、ＤＳＰ、およびＰＷＭ間のデータ転送がＤＭＡＣで行われることによってＣＰＵ（Central Processing Unit）負荷が軽減でき、消費電力の向上や性能の向上を図る技術がある（例えば特許文献４参照）。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開平１１−２８９７５３号公報
【特許文献２】特開２００４−３０４９６１号公報
【特許文献３】特開２０１２−１１０１２４号公報
【特許文献４】特開２０１３−２５５９０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、上記した特許文献２〜３の技術は、ディジタル化に伴い発生する演算処理に係る遅延時間を克服することに着目したものであって、ディジタル演算器自体を高速化する構成について言及するものではない。
【００１９】
また、ディジタル方式は、一般に、アナログ方式に比べて物理的な回路規模が大きくなるため小型化、低コスト化の観点から部品点数を抑え回路をできる限り小さくする最適化が求められる。そのため、制御系のディジタル演算器の構成としては、浮動小数点演算器よりも回路規模が大幅に小さくてすむ固定小数点演算器、すなわち整数演算器が適する。
【００２０】
しかし、固定小数点演算器にて構成した場合には、特に回路規模を小さくした場合にビット長数不足によるオーバーフロー、いわゆる桁あふれやアンダーフロー、いわゆる桁落ちなどが問題となる。上記いずれの特許文献においてもオーバーフローやアンダーフローを回避するものではない。
【００２１】
また、特許文献４の場合には、ＣＰＵによるシステム処理とＤＳＰによるディジタルフィルタ演算が並行して動作することで負帰還制御系の処理の高速化が可能である。また、ＤＳＰは１６ビット固定小数点演算器で構成され、積和演算結果等を格納するアキュムレータは３６ビットとされ、１６回以内の積和演算であればオーバーフローすることなく演算結果は正確である。ここで、１６回以内の積和演算は、ＩＩＲフィルタ計算では８タップ以内に相当する。
【００２２】
そして、制御パラメータや変数として割り当て可能なメモリ領域としてのレジスタファイルは１６ビットとされ、アキュムレータからレジスタファイルにデータをシフト、すなわち桁あわせする際にオーバーフローした場合は正の最大値、あるいは負の最小値に飽和するように動作し、符号は正確である。
【００２３】
しかしながら、特許文献４におけるオーバーフロー処理は、演算の符号を保証するものであって、一連の演算の手続きをプログラムしたことによって成されるディジタルフィルタ計算について考慮されたものではない。よって、オーバーフローやアンダーフローに起因してディジタルフィルタの出力がスタックしてしまった状態からの回復に係る制御の継続性について検討されていない。
【００２４】
本発明の目的は、ビット長の少ない固定小数点演算器により高精度なディジタル電源制御を実現することのできる技術を提供することにある。
【００２５】
本発明の前記ならびにその他の目的と新規な特徴については、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００２６】
一実施の形態におけるスイッチング電源装置は、ＤＣ／ＤＣコンバータおよびＤＣ／ＤＣコンバータから出力される出力信号に基づいて、該ＤＣ／ＤＣコンバータが生成する電源電圧を制御する電圧制御部を有する。
【００２７】
ＤＣ／ＤＣコンバータは、ＰＷＭ信号に基づいて、スイッチングを行うスイッチ部を有し、直流の電源電圧を任意の直流電圧に変換する。電圧制御部は、ＤＣ／ＤＣコンバータから出力される出力信号に基づいて、ＤＣ／ＤＣコンバータが生成する電源電圧を制御する。
【００２８】
また、電圧制御部は、Ａ／Ｄ変換器、ディジタル演算器、およびＰＷＭ生成部を有する。Ａ／Ｄ変換器はＤＣ／ＤＣコンバータから出力される電圧をディジタルデータに変換する。
【００２９】
ディジタル演算器は、Ａ／Ｄ変換器が変換したディジタルデータに基づいて、スイッチ部をオンする時間的割合を算出し、制御ディジタルデータとして出力する。ＰＷＭ生成部は、ディジタル演算器が算出した制御ディジタルデータに基づいて、スイッチ部を駆動するＰＷＭ信号を生成する。
【００３０】
そして、ディジタル演算器は、少なくともＡ／Ｄ変換器のサンプリング周波数に同期して、Ａ／Ｄ変換器が変換したディジタルデータから設定された指令値を減算した誤差データ、ディジタル演算器におけるディジタル演算の内部状態データ、およびディジタルフィルタによる計算結果である算出結果データをそれぞれ保持および更新し、算出結果データに加算するオフセットデータを保持する。
【発明の効果】
【００３１】
高精度なディジタル電源制御を行うことができる。
【図面の簡単な説明】
【００３２】
【図１】本実施の形態１における電源装置の構成の一例を示す説明図である。
【図２】図１の電源装置が有するＤＳＰにおける構成の一例を示す説明図である。
【図３】ＩＩＲ計算における式５の計算手順を示すブロック線図である。
【図４】ＤＳＰプログラムの一例を示すリストである。
【図５】図４のＤＳＰプログラムのリストにおけるレジスタファイルの割り当ての一例を示す説明図である。
【図６】ＣＰＵによるメインプログラムの処理例を示すフローチャートである。
【図７】図６のステップＳ１０３の処理にて有効化される電源制御割り込みルーチンにおける処理の一例を示すフローチャートである。
【図８】図６のステップＳ２１６の処理におけるＩＩＲ再起処理の一例を示すフローチャートである。
【図９】負荷変動が発生した際のパワーステージにおける出力電圧の変化の一例を示した説明図である。
【図１０】パワーステージのスタートアップにおける出力電圧の変化の一例を示す説明図である。
【図１１】本実施の形態２によるＤＳＰにおける演算器の動作を論理回路にて実現したときのブロック線図の一例を示す説明図である。
【発明を実施するための形態】
【００３３】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。
【００３４】
また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００３５】
さらに、以下の実施の形態において、その構成要素（要素ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。
【００３６】
同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは特に明示した場合および原理的に明らかにそうではないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
【００３７】
また、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。なお、図面をわかりやすくするために平面図であってもハッチングを付す場合がある。
【００３８】
（実施の形態１）
〈概要〉
電源装置１００は、インダクタ１１２とコンデンサ１１５とＭＯＳＦＥＴ１１３とを含んで入力を目標の出力に変換するパワーステージ１１０と、パワーステージ１１０のＭＯＳＦＥＴ１１３を駆動する制御系１２０とにて構成する。
【００３９】
制御系１２０は、パワーステージ１１０の出力をディジタル値に変換するＡＤＣ１２１と、位相補償部としてのＩＩＲフィルタ計算結果にオフセット値を加算してＭＯＳＦＥＴ１１３の時比率とする減算器１２２およびＤＳＰ１２３とで構成するディジタル演算器と、時比率をパルス信号に変換してパワーステージ１１０のＭＯＳＦＥＴ１１３を駆動するＰＷＭ生成部１２４にて構成する。
【００４０】
ディジタル演算器は、ＡＤＣ１２１のサンプリング周期に呼応して、ＩＩＲフィルタ計算を実行し、並行してＣＰＵ１２７は誤差値の時間的変化を監視し、誤差値が所定の許容値以内の場合には指令値を目標値に線形に近づけていき、許容値を超過した場合は指令値を維持し、許容値の超過が所定の許容期間連続した場合は指令値を現在のパワーステージの出力にするとともに、ＩＩＲフィルタのＺバッファの内部状態データを零クリアしてオフセット値を現在の時比率に基づき更新する。
【００４１】
以下、実施の形態を詳細に説明する。
【００４２】
〈電源装置の構成例〉
図１は、本実施の形態１における電源装置の構成の一例を示す説明図である。この図１では、入力電圧を昇圧して出力電圧をレギュレーションする電源装置１００の例を示している。
【００４３】
電源装置１００は、例えば携帯電話やノート型パーソナルコンピュータなどの電子機器に設けられる電源装置であり、電子機器に備えられたバッテリを入力電圧として、電子機器の動作電源電圧となる直流電源を生成して出力するスイッチング電源装置である。
【００４４】
電源装置１００は、この他にも、停電時などにバッテリに蓄えた電力を供給する蓄電システムの電源装置などにも適用することができる。この場合、電源装置１００には、バッテリから供給される直流電源電圧が入力される。
【００４５】
そして、電源装置１００によって、例えば２００Ｖ程度の直流電圧を生成し、電源装置１００の出力部に接続されたインバータ回路などに供給する。インバータ回路では、供給された２００程度の直流電圧を交流１００Ｖ程度の電源に変換して供給する。
【００４６】
電源装置１００は、パワーステージ１１０および電圧制御部である制御系１２０により構成されている。パワーステージ１１０は、入力電源端子１１１、インダクタ１１２、ＭＯＳＦＥＴ１１３、ダイオード１１４、コンデンサ１１５、出力端子１１６、および抵抗１１７，１１８を有する。
【００４７】
また、パワーステージ１１０におけるＭＯＳＦＥＴ１１３、ダイオード１１４、抵抗１１７，１１８、および制御系１２０は、たとえば、半導体集積回路装置内に設けられた回路である。パワーステージ１１０におけるインダクタ１１２およびコンデンサ１１５は、半導体集積回路装置の外部に設けられた回路である。
【００４８】
なお、ここでは、一例としてパワーステージ１１０のＭＯＳＦＥＴ１１３、ダイオード１１４、および抵抗１１７，１１８を半導体集積回路装置内に設けた構成としたが、これらの回路は、半導体集積回路装置の外部に設けるようにしてもよい。
【００４９】
入力電源端子１１１には、外部から直流電圧が入力される。また、インダクタ１１２、ＭＯＳＦＥＴ１１３、ダイオード１１４、およびコンデンサ１１５によって一般的なＤＣ／ＤＣコンバータ回路が構成され、出力端子１１６を介して接続された外部の負荷に対して直流電圧を供給する。ダイオード１１４は、還流ダイオード、すなわちフリーホイールダイオードである。ＤＣ／ＤＣコンバータ回路は、特に制限されないが、図１においては、昇圧コンバータの代表的なトポロジであるブーストコンバータを例示している。
【００５０】
パワーステージ１１０において、スイッチ部となるＭＯＳＦＥＴ１１３のゲートは、制御系１２０が出力するＰＷＭ信号であるゲート信号ＧＳによってドライブされる。なお、ゲート信号ＧＳは、必要に応じてドライバ１０１などを介してＭＯＳＦＥＴ１１３のゲートに入力される。
【００５１】
抵抗１１７および抵抗１１８は、出力端子１１６間に直列接続されている。これら抵抗１１７，１１８によって分圧された信号は、出力電圧モニタ信号ＶＭとして制御系１２０に出力されている。
【００５２】
制御系１２０は、ＡＤＣ１２１、減算器１２２、ＤＳＰ１２３、ＰＷＭ生成部１２４、ＤＭＡＣ（ Direct Memory Access Controller）１２５，１２６、およびＣＰＵ１２７などを有する。また、減算器１２２およびＤＳＰ１２３によってディジタル演算器が構成されている。
【００５３】
制御系１２０において、出力電圧モニタ信号ＶＭは、Ａ／Ｄ変換器であるＡＤＣ１２１によってアナログ信号からディジタルデータに変換され、減算器１２２によって指令値データレジスタ１３１に設定される指令値Ｖｒｅｆから減算した誤差値データＥｏｕｔが計算される。
【００５４】
そして、ＤＳＰ１２３によって位相補償した制御ディジタルデータである時比率データＤｏｕｔが計算され、ＰＷＭ生成部１２４によってパルス幅変調されることでゲート信号ＧＳを生成してパワーステージ１１０を制御する。
【００５５】
ＡＤＣ１２１は、図中省略したが、ＰＷＭ生成部１２４からキャリア周期開始パルス信号が入力されており、該キャリア周期開始パルス信号のエッジにて、出力電圧モニタ信号ＶＭの電圧レベルを保持し、出力モニタディジタルデータＭＤＤに変換して減算器１２２に出力する。
【００５６】
同時に、図中省略したが減算器１２２に対しては変換終了信号が出力されており、ＡＤＣ１２１は、該変換終了信号をアサートする。なお、この変換終了信号は、変換開始時にＡＤＣ１２１がネゲートする。
【００５７】
また、ＡＤＣ１２１には、ＣＰＵ１２７から出力される制御信号が入力され、上述したキャリア周期開始パルス信号と同様に動作する。ここで、ＣＰＵ１２７が出力する制御信号は、例えばＣＰＵ１２７のメモリ空間上にマッピングされた機能レジスタへのビット操作にてアサート／ネゲートする信号である。
【００５８】
減算器１２２は、ＡＤＣ１２１からの変換終了信号がアサートしたことを受けて、指令値データレジスタ１３１の指令値Ｖｒｅｆから、出力モニタディジタルデータＭＤＤを減算して、その結果を誤差値データ計算結果レジスタ１３０に書き込む。
【００５９】
同時に、図中省略したがＤＭＡＣ１２５に対しては転送要求パルス信号を出力する。なお、指令値データレジスタ１３１は、少なくともキャリア周波数でＣＰＵ１２７のプログラムによって書き換え可能なように構成される。
【００６０】
減算器１２２は、例えば１６ビット符号付整数演算器とし、指令値データレジスタ１３１および誤差値データ計算結果レジスタ１３０は、１６ビットにて構成する。
【００６１】
ＤＭＡＣ１２５は、減算器１２２からの転送要求パルス信号のエッジで、誤差値データ計算結果レジスタ１３０の内容を、ＤＳＰ１２３の誤差値データＥｉｎの格納場所に書き込む。
【００６２】
ＤＳＰ１２３は、誤差値データＥｉｎが書き込まれたことに呼応して、予めＤＳＰ１２３にプログラムされているディジタルフィルタ計算であるＩＩＲ計算ＤＦＩを実行する。
【００６３】
そして、ＩＩＲ計算の結果であるデータｄａｔａに、オフセットｏｆｆｓｅｔを加算して時比率計算結果データＤｏｕｔの格納場所に書き込み、同時に図中省略したがＤＭＡＣ１２６に対して転送要求パルス信号を出力する。
【００６４】
本実施の形態において、ＣＰＵ１２７のプログラムは、誤差値データＥｉｎを監視して必要と判断した場合には、予めＤＳＰ１２３にプログラムされたＩＩＲ計算ＤＦＩとは別のルーチンを起動するなどの操作を行い、ＩＩＲ計算の内部状態であるＺバッファ群ＢＦＦの内部状態データを零クリアする。Ｚバッファ群ＢＦＦは、例えばＺ００〜Ｚｋｌである。但し、ｋ＝０〜各セクションｋのタップ数−１、ｌ＝０〜セクション数−１である。
【００６５】
続いて、そのときの時比率計算結果データＤｏｕｔの格納場所の内容にＣＰＵ１２７が与える係数ｍを乗じたデータを新たなオフセットｏｆｆｓｅｔの内容として該オフセットｏｆｆｓｅｔの格納場所に書き込む。
【００６６】
そして、そのときの指令値データレジスタ１３１の内容から誤差値データＥｉｎを減算したデータを新たな指令値データレジスタ１３１の内容として書き込む。その後、ＤＳＰ１２３のプログラムが誤差値データＥｉｎが書き込まれることに呼応したＩＩＲ計算ＤＦＩの起動が可能な状態に戻すように構成される。
【００６７】
ＤＭＡＣ１２６は、ＤＳＰ１２３からの転送要求パルス信号のエッジで、時比率計算結果データＤｏｕｔが格納された番地の内容を、ＰＷＭ生成部１２４内の時比率データレジスタ１５０に書き込む。
【００６８】
ＰＷＭ生成部１２４は、ディジタルＰＷＭで構成され、パワーステージ１１０のスイッチング周波数と同一周波数（以下、キャリア周波数と記載し、その周期をキャリア周期と記載する）の三角波を搬送波として、時比率データレジスタ１５０の内容をパルス幅変調したゲート信号ＧＳを生成する。
【００６９】
〈ＤＳＰの構成例〉
図２は、図１の電源装置１００が有するＤＳＰ１２３における構成の一例を示す説明図である。
【００７０】
ＤＳＰ１２３は、図２に示すように、レジスタファイル２０１、積和演算レジスタ２０２、演算器２０３、コントロールストレージ２０４、およびプログラム実行制御部２０５を有する。
【００７１】
レジスタファイル２０１は、演算器２０３にて演算の対象となるデータ格納領域である。このレジスタファイル２０１は、例えば１６ビットレジスタの１６本からなり、演算器２０３の演算に用いられるデータの格納領域である。
【００７２】
レジスタファイル２０１は、ＣＰＵインタフェース２０６を介してＣＰＵ１２７あるいはＤＭＡインタフェース２０７を介して制御系１２０内のその他の機能モジュール、例えば減算器１２２やＰＷＭ生成部１２４などとのデータアクセスが可能となっている。
【００７３】
レジスタファイル２０１への書き込みが同一アドレスまたは同一時刻で競合した場合は、演算器２０３の演算結果の格納を最優先とされる。次いでＤＭＡインタフェース２０７を優先し、優先順位の低いアクセスは、優先順の高い書き込みが終了するのを待ってから書き込むように、ＤＭＡインタフェース２０７およびＣＰＵインタフェース２０６が構成される。
【００７４】
演算器２０３は、１６ビット固定小数点演算器、すなわち整数演算器である。演算器２０３は、コントロールストレージ２０４に格納されたプログラムの演算命令にしたがって、レジスタファイル２０１に格納された１６ビットデータあるいは最大ビット（ＭＳＢ：Most Significant Bit）側にビット拡張された３６ビットの積和演算レジスタ２０２に格納された３６ビットデータを演算して格納する。
【００７５】
演算器２０３の演算命令は、特に限定されないが、算術加減算命令、算術シフト命令、算術乗算命令、積和演算命令、および３６ビット１６ビット算術シフト命令などを有する。
【００７６】
算術加減算命令は、演算命令で指定されたレジスタファイル２０１上の任意の２データについて１６ビット加減算して指定されたレジスタファイル２０１に格納する。算術シフト命令は、レジスタファイル２０１上の任意データについて算術シフトして指定されたレジスタファイル２０１に格納する。
【００７７】
算術乗算命令は、レジスタファイル２０１上の任意２データについて１６ビット乗算して結果の３２ビットを符号拡張して積和演算レジスタ２０２に格納する。積和演算命令は、レジスタファイル２０１上の任意２データについて乗算して結果の３２ビットを符号拡張して積和演算レジスタ２０２上の３６ビットデータを加算して積和演算レジスタ２０２に格納する。３６ビット１６ビット算術シフト命令は、積和演算レジスタ２０２上の３６ビットデータを算術シフトして指定されたレジスタファイル２０１に格納する。
【００７８】
なお、演算器２０３は、例えば符号付固定小数点演算器にて構成され、小数点位置の管理は例えばＤＳＰプログラムによって行われる。
【００７９】
上記した算術加減算、算術乗算、算術シフト演算によって結果を格納する際、格納先のビット長によりオーバーフローする場合は、符号の最大値のデータを該演算ステップ内で出力することができる。ここで、符号の最大値は、正の場合には最大値であり、負の場合には最小値である。
【００８０】
そして、特に制限はしないが演算精度を向上するために、例えば右シフト演算で切り捨てられるデータについて、出力データの最小ビット（ＬＳＢ：Least Significant Bit）に四捨五入のまるめ（ＬＳＢからの桁上がりを含む）を該演算ステップ内で行うことができる。
【００８１】
コントロールストレージ２０４は、ＤＳＰプログラムを格納するメモリであり、ＣＰＵ１２７によって書き込まれる。プログラム実行制御部２０５は、プログラム実行制御レジスタＣＴＬやプログラムカウンタレジスタＰＣを有する。
【００８２】
このプログラム実行制御部２０５は、ＣＰＵインタフェース２０６を介して、ＣＰＵ１２７がプログラム実行制御レジスタＣＴＬ内のビット操作により、予めＣＰＵ１２７がプログラムカウンタレジスタＰＣに設定したプログラム番地、すなわちコントロールストレージ２０４のアドレスからコントロールストレージ２０４内に格納されたプログラムを実行するように制御する。
【００８３】
すなわち、プログラムカウンタレジスタＰＣが指し示すアドレスに格納されたコントロールストレージ２０４内の命令をデコードする。そして、演算命令の場合には、演算器２０３を該命令で制御してプログラムカウンタレジスタＰＣをインクリメントし、制御命令の場合には、該命令を実行してプログラムカウンタレジスタＰＣを更新していくことでＤＳＰプログラムを実行する。なお、制御命令の場合は、演算器２０３には、何もしないことを意味するＮＯＰ（Non OPeration）が送信される。
【００８４】
制御命令は、特に制限されないが、例えば、wait（待機）命令、goto（分岐）命令、event（転送要求発効）命令などを有する。wait命令は、命令で指定されたレジスタファイル２０１のデータが更新されるまで、すなわちＣＰＵインタフェース２０６またはＤＭＡインタフェース２０７を介したアクセスによって書き換えられるまで、プログラムカウンタレジスタＰＣを保持しつづける。
【００８５】
goto命令は、命令で指定されたアドレスに分岐する。event命令は、ＤＭＡインタフェース２０７を介してＤＳＰ１２３から他の機能モジュールにデータ転送するＤＭＡＣ１２５，１２６に対して、そのタイミングを与えるための転送要求パルス信号を発効する。
【００８６】
以上、パワーステージ１１０の出力電圧モニタ信号ＶＭを負帰還して、ＭＯＳＦＥＴ１１３のゲート信号ＧＳをディジタル制御する構成例について述べた。
【００８７】
〈電源装置の詳細構成および動作〉
次に、本実施の形態に係る動作を実現するための構成の詳細と動作について説明する。
【００８８】
パワーステージ１１０において、ブーストコンバータを構成する回路パラメータは色々な組み合わせが考えられる。ここで、例えば、電源装置１００の仕様を入力電源端子１１１に与える入力電圧が５０Ｖ、出力端子１１６からの出力電圧の目標値が２００Ｖ、最大出力電流が２Ａであるとし、スイッチング周波数を５０ＫＨｚとすれば、インダクタ１１２を０．４ｍＨ、コンデンサ１１５は、２７００μＦとすることができる。
【００８９】
制御系１２０におけるＡＤＣ１２１は、例えば、０Ｖ〜３．３Ｖを入力とし、後述に詳細を説明するＰＷＭ生成部１２４が出力するキャリア周期開始パルス信号のエッジに呼応して出力電圧モニタ信号ＶＭの電圧レベルを保持する。また、オペレーション時間２５０ｎｓで分解能１０ｂｉｔのディジタル値に変換して出力モニタディジタルデータＭＤＤを出力するように構成する。
【００９０】
パワーステージ１１０の分圧抵抗である抵抗１１７，１１８は、０Ｖから目標電圧２００Ｖを含んで変動する出力端子１１６間電圧について、例えば、抵抗１１７を１９８ｋΩ、抵抗１１８をＷｋΩとすることで、出力電圧モニタ信号ＶＭの電圧レベルを制御系１２０のＡＤＣ１２１が変換可能な電圧範囲に分圧する。
【００９１】
減算器１２２、ＤＭＡＣ１２５、ＤＳＰ１２３、およびＤＭＡＣ１２６は、出力モニタディジタルデータＭＤＤが生成されてから、スイッチング周波数の逆数であるキャリア周期の１／２となる１０μｓで減算、ＩＩＲ計算、オフセット加算、およびオフセット更新を行う。
【００９２】
ＰＷＭ生成部１２４4内の時比率データレジスタ１５０を更新するように動作することで、サンプリング周期、スイッチング周期、およびキャリア周期を同一として量子化に係る遅延時間を最短とするスイッチング電源ディジタル制御系を構成する。そのためには、例えば、減算器１２２の減算速度、ＤＳＰ１２３の演算・制御命令実行速度、ＣＰＵ１２７の命令実行速度、およびＤＭＡＣ１２５，１２６のバス速度を５０ＭＨｚにて構成する。
【００９３】
減算器１２２は、ＡＤＣ１２１が出力モニタディジタルデータＭＤＤを出力してから６０ｎｓ以内に整数減算を実行し、結果を誤差値データ計算結果レジスタ１３０に書き込む。なお、出力モニタディジタルデータＭＤＤの１０ビットデータは、例えば、１６ビットデータのＬＳＢ側としてＭＳＢ側６ビットに“０”を補って１６ビット符号付整数演算が行われる。
【００９４】
ＤＭＡＣ１２６は、誤差値データ計算結果レジスタ１３０のデータを８０ｎｓ以内にＤＳＰ１２３内の誤差値データＥｉｎの格納場所に転送する。
【００９５】
ＤＳＰ１２３において、図１における誤差値データＥｉｎ、時比率データＤｏｕｔ、Ｚバッファ群ＢＦＦ、オフセットｏｆｆｓｅｔ、あるいは係数ｍは、図２におけるレジスタファイル２０１に割り当てられる。
【００９６】
そして、図１におけるＩＩＲ計算ＤＦＩおよびオフセットｏｆｆｓｅｔの加算・更新に係る計算は、図２においてコントロールストレージ２０４に格納されたプログラムによってＣＰＵ１２７がプログラム実行制御部２０５内のレジスタのビットを操作することで、１演算当り２０ｎｓの速度にて実行する。
【００９７】
ＩＩＲ計算ＤＦＩは、位相補償器としての動作を実現する計算である。位相補償器の特性は、特に制限しないが、一般に式１に示す３Ｐ２Ｚ型の伝達関数とすることができる。
【００９８】
【数１】
2015027235.tif 000003
【００９９】
ここで、式１において、ｓはラプラス演算子、Ｋは負帰還利得パラメータ、ｆｚ０とｆｚ１は零点周波数パラメータ、ｆｐ０とｆｐ１は極点周波数パラメータである。上述した仕様のパワーステージ１１０に対して、上記パラメータとして、例えば、
【０１００】
【数２】
2015027235.tif 000004
【０１０１】
とすることで、負帰還ループのカットオフ周波数であるクロスオーバ周波数ｆｃを、およそ３６０Ｈｚ近辺として、位相が１８０度にならない、すなわち負帰還が正帰還とならない位相補償器とすることができる。
【０１０２】
式１の伝達関数は、Ｚ変換することで、一般的にディジタル演算に適した離散時間の伝達関数とすることができる。３Ｐ２Ｚ型の伝達関数について、Ｚが最大２次式の要素となるようにＺ変換することで、式５に示すように２セクションからなるＩＩＲ計算式とすることができる。
【０１０３】
【数３】
2015027235.tif 000005
【０１０４】
式５において、Ｚは離散時間のデータ列を表すもので、Ｚの−ｎ乗はｎサンプル前のデータであることを示す。
【０１０５】
図３は、ＩＩＲ計算ＤＦＩにおける式５の計算手順を示すブロック線図である。
【０１０６】
式５および図３において、Ｃ02は、第２セクション（初段）の係数、Ｚ12は第２セクションのＺバッファ、ａ12 ，ｂ12は第２セクションの係数である。
【０１０７】
また、Ｃ01は、第１セクション（後段）の係数、Ｚ11は第１セクションの第１タップのＺバッファ、ａ11，ｂ11は、第１セクションの第１タップの係数である。Ｚ21は第１セクションの第２タップのＺバッファ、ａ21，ｂ21は、第１セクションの第２タップの係数である。
【０１０８】
式５および図３におけるパラメータは、前記伝達関数（式１）のパラーメタ（式２〜式４）としてサンプリング周期を２０μｓとすれば、ＩＩＲのパラメータを、
【０１０９】
【数４】
2015027235.tif 000006
【０１１０】
とする。
【０１１１】
これによって、図３の誤差値データＥｉｎからデータｄａｔａの動作速度、すなわち図３におけるｎを更新する速度を５０ＫＨｚにすることで、パラーメタ（式２〜式４）による前記伝達関数（式１）を等価的に実現できる。
【０１１２】
なお、図３におけるｎは説明の便宜上、離散時間を１進める毎に同時に更新することを示すために記載したものであり、ｎを付した変数は現離散時間のデータのみを保持すればよく、配列とする必要はない。図３において、離散時間を更新した過去の状態ｎ−１およびｎ−２は、Ｚバッファに内部状態データとして保持される。
【０１１３】
ＤＳＰ１２３において、上述したＩＩＲのパラメータ（式６〜式１３）は、レジスタファイル２０１に割り当てられ、予めＣＰＵ１２７によって書き込まれる。そして、ＩＩＲ計算ＤＦＩの計算結果のデータｄａｔａに、オフセットｏｆｆｓｅｔを加算して時比率データＤｏｕｔとして出力する。なお、図３のブロック線図の計算およびオフセットの加算や更新をする際の中間データなども適宜レジスタファイル２０１に割り当てられる。
【０１１４】
ＤＳＰ１２３は、上記したＤＳＰプログラムを実行することにより、誤差値データＥｉｎにデータが書き込まれてから、９．５３μｓ以内に時比率データＤｏｕｔを出力する。
【０１１５】
ＤＭＡＣ１２６は、ＤＳＰ１２３内のレジスタファイル２０１上の時比率データＤｏｕｔを８０ｎｓ以内にＰＷＭ生成部１２４内の時比率データレジスタ１５０に転送する。
【０１１６】
制御系１２０におけるＰＷＭ生成部１２４は、上記スイッチング周波数５０ＫＨｚの搬送波（キャリア周期２０μｓ）で動作するように構成するもので、例えば分解能１ｎｓであり、搬送波を三角波とすれば、１ＧＨｚにて動作する１４ｂｉｔアップ／ダウンカウンタで構成される。
【０１１７】
初期値１０，０００から０までカウントダウンした後、１０，０００（０ｘ２７１０）までカウントアップし、再び０までカウントダウンする動作を反復することで、５０ＫＨｚの三角波としての動作が実現される。
【０１１８】
そして、１４ｂｉｔアップ／ダウンカウンタが時比率データレジスタ１５０の内容未満であるとき、ゲート信号ＧＳをアサートしてパワーステージ１１０のＭＯＳＦＥＴ１１３をオンし、該１４ｂｉｔアップ／ダウンカウンタの内容が時比率データレジスタ１５０の内容以上であるときゲート信号ＧＳをネゲートしてＭＯＳＦＥＴ１１３をオフする。
【０１１９】
これにより、時比率データレジスタ１５０の大きさがキャリア周期内のＭＯＳＦＥＴ１１３のオン期間とするパルス幅に変調される。そして、１４ｂｉｔアップ／ダウンカウンタ値が１０，０００（０ｘ２７１０）となる度に、ＡＤＣ１２１に対するキャリア周期開始パルス信号を出力する。
【０１２０】
〈ＤＳＰプログラムの処理例〉
次に、上記した構成によるＤＳＰプログラムの処理例について説明する。
【０１２１】
図４は、ＤＳＰプログラムの一例を示すリストであり、図５は、図４のＤＳＰプログラムのリストにおけるレジスタファイル２０１の割り当ての一例を示す説明図である。
【０１２２】
図４におけるリストのステップにおいて、「ｓｔｅｐ」には、コントロールストレージ２０４の格納アドレスを示しており、前述の演算速度（１ステップ当り２０μｓ）で動作するものとする。
【０１２３】
また、各ステップに記載した演算命令（上述した制御命令を除く命令）の書式は、特に制限されるものではなく、一般的なＤＳＰにおける演算器構成技術によって容易に実現可能な演算をＣ言語の書式に準じて示している。
【０１２４】
変数ＳＵＭは、積和演算レジスタ２０２（３６ビット）を示し、それ以外の変数は、図５にて示すように割り当てたレジスタファイル２０１上の格納領域（１６ビットデータ）である。
【０１２５】
また、シフト演算の定数は、当該ステップとともにコントロールストレージ２０４に格納された４ビットデータである。制御命令は、前記説明した機能を実行するものであり、その引数は、当該ステップの制御命令とともにコントロールストレージ２０４に格納された定数である。
【０１２６】
初期状態において、プログラム実行制御部２０５内のプログラムカウンタレジスタＰＣは、ステップ０を指し示している。ＣＰＵ１２７によるプログラム実行制御部２０５内のプログラム実行制御レジスタＣＴＬのビット操作によってＤＳＰプログラムが開始されると、プログラム実行制御部２０５は、ｓｔｅｐ０から図４のリストにおけるプログラムの各ステップが順次実行されていく。
【０１２７】
図４のリストのｓｔｅｐ０において、ＤＳＰ１２３は、係数ｍの格納番地（アドレス３）にデータが書きこまれるまで、プログラムカウンタレジスタＰＣをｓｔｅｐ０のまま保持する。
【０１２８】
ＣＰＵ１２７がレジスタファイル２０１のアドレス３（係数ｍ）にデータを書き込むことに呼応して、プログラムカウンタレジスタＰＣは、インクリメントされｓｔｅｐ１以降のプログラムを順次実行していく。
【０１２９】
ｓｔｅｐ１〜ｓｔｅｐ３の実行において、ＩＩＲ計算ＤＦＩの内部状態を保持するＺバッファ群ＢＦＦの内部状態データが零クリアされる。そして、ｓｔｅｐ４〜ｓｔｅｐ５の実行においてオフセットｏｆｆｓｅｔが更新される。
【０１３０】
ｓｔｅｐ６において、ＤＳＰ１２３は、誤差値データＥｉｎの格納番地について、ｓｔｅｐ３同様にプログラムカウンタレジスタＰＣを保持（アドレス２のデータ書き込み待ち状態を保持）し、アドレス２のデータが書き込まれると、次ステップ以降のプログラムに進む。
【０１３１】
ｓｔｅｐ７〜ｓｔｅｐ２４がＩＩＲ計算ＤＦＩであり、図３に示したブロック線図をプログラムしたものである。ｓｔｅｐ７の左４ビットシフトする変数ｘは、図５に示すとおり誤差値データＥｉｎであり固定小数点位置を、（整数ビット.少数ビット）＝（6.10）と見做して、当該ｓｔｅｐからの固定小数点演算がなされる。
【０１３２】
すなわち、ＡＤＣ１２１の出力の１０ビットであるため、出力電圧モニタ信号ＶＭが３．３Ｖ、すなわち、パワーステージ１１０の出力が３３０Ｖに対して１．０、正確には０ｘ３ＦＦ／０ｘ４００となるように固定小数点位置を定める。前述した伝達関数の負帰還利得の計算は、このフィードバック利得（１／３３０）が織り込まれたものになっている。
【０１３３】
そして、前述のＩＩＲパラメタータ（式６〜式１３）は、図４に示すレジスタファイル２０１のアドレス７〜１４に図５に示した固定小数点位置で整数化した初期値がＣＰＵ１２７によって書き込まれている。
【０１３４】
ｓｔｅｐ８〜ｓｔｅｐ２２の桁合わせを含む演算の逐次的な実行により、一時データとしてｔｅｍｐ（アドレス３）に、固定小数点位置（１．１５）の０．０〜１．０に正規化された時比率が計算される。
【０１３５】
ｓｔｅｐ２３〜ｓｔｅｐ２４で、該時比率に前述したＰＷＭ生成部１２４における三角波の最大値１０，０００（０ｘ２７１０）を乗じて、スケールを時比率データＤｏｕｔに出力すべきデータ範囲にスケーリングする。
【０１３６】
その後、ｓｔｅｐ２５にてオフセットｏｆｆｓｅｔを加算して、時比率データＤｏｕｔ（アドレス０）に格納し、ｓｔｅｐ２６においてアドレス０に格納したデータの転送要求を発効する。
【０１３７】
続いて、ｓｔｅｐ２７にてプログラムカウンタレジスタＰＣがｓｔｅｐ６に無条件に分岐し、上記アドレス２のデータ書き込み待ち状態に戻る。なお、Ｚバッファの離散時間の更新は、ｓｔｅｐ１２とｓｔｅｐ２０〜ｓｔｅｐ２１の演算命令で実行される。
【０１３８】
〈ＣＰＵの処理例〉
次に、ＣＰＵ１２７におけるプログラムの処理、いわゆるＣＰＵプログラムの処理について説明する。ＣＰＵ１２７は、ＣＰＵプログラムに基づいて、ＤＳＰプログラムを含む制御系全体の動作を制御する。
【０１３９】
図６は、ＣＰＵ１２７によるメインプログラム５００の処理例を示すフローチャートである。
【０１４０】
まず、ＣＰＵ１２７は、ハードウェア設定処理を実行する（ステップＳ１０１）。このハードウェア設定処理は、ＡＤＣ１２１、減算器１２２、ＤＭＡＣ１２５，１２６、およびＰＷＭ生成部１２４における動作設定処理であり、プログラムデータの書き込み処理および初期値の書き込み処理である。
【０１４１】
プログラムデータの書き込み処理は、ＤＳＰ１２３のコントロールストレージ２０４への図４に示すリストのプログラムデータの書き込みである。初期値の書き込み処理は、レジスタファイル２０１への図５に示した初期値の書き込みを行う処理である。
【０１４２】
続いて、ＣＰＵ１２７が実行するプログラム内の変数の初期化、および制御系１２０内のディジタル処理する機能モジュール内の変数の初期化が行われる（ステップＳ１０２）。このステップＳ１０２の処理において、ＣＰＵ１２７におけるプログラム内の変数および定数のうち、広域変数として用いられる主な変数および定数の初期化は次のとおりである。
【０１４３】
目標値は、電源装置１００の出力電圧の目標値となる出力電圧モニタ信号ＶＭのディジタル変換値である。出力電圧２００Ｖを示す０ｘ０２６Ｃを設定する。
【０１４４】
指令値Ｖｒｅｆは、パワーステージ１１０に対する出力電圧の指令値であり、指令値データレジスタ１３１に設定する変数値である。指令値Ｖｒｅｆの初期化は後述するステップＳ１０４の処理にて実行される。
【０１４５】
異常値は、電源装置１００が規定する出力電圧となる出力電圧モニタ信号ＶＭのディジタル変換値である。例えば出力電圧２００Ｖの１０％とする場合は、２２０Ｖを示す０ｘ０２ＡＡを設定する。
【０１４６】
許容値は、ＩＩＲ計算がスタック状態に陥ったことを検出するための誤差値データＥｉｎの絶対値に対する許容電圧である。例えば出力電圧２００Ｖ±５％とする場合は、１０Vを示す０ｘ００１Ｆを設定する。
【０１４７】
収束値は、ＩＩＲ計算においてパワーステージが定常状態になったか否かを判定するための誤差値データＥｉｎの絶対値に対する収束電圧である。例えば出力電圧２００Ｖ±２％、これはリプル電圧を１％以内としてその４倍とする場合は、４Ｖを示す０ｘ０００Ｃを設定する。
【０１４８】
ΔＶｒｅｆは、スタートアップおよびスタックからの再起時に指令値Ｖｒｅｆを目標値
まで上昇させるための刻み量である。誤差値の絶対値の収束値より大きいとし、例えば５Ｖとする。
【０１４９】
収束カウンタは、ＩＩＲ計算においてパワーステージが定常状態になったことを判定するためのカウンタ変数である。ステップＳ１０２の処理における初期化では、０に設定する。
【０１５０】
収束判定カウント値は、ＩＩＲ計算においてパワーステージが定常状態に収束したと判断する収束カウンタの値であり、キャリア周期の回数で指定する。例えば、指令値Ｖｒｅｆに比例して算出する変数とする。あるいは、例えば２０（４００μｓに相当）とする定数の設定としてもよい。
【０１５１】
スタック検出カウンタは、ＩＩＲ計算がスタック状態に陥ったことを検出するためのカウンタ変数である。ステップＳ１０２の処理の初期化では、０に設定する。
【０１５２】
スタック判定カウント値は、ＩＩＲ計算がスタック状態に陥ったと判断する収束カウンタの値であり、キャリア周期の回数で指定する。例えば２５０（５ｍｓに相当）を設定する。
【０１５３】
異常検出フラグは、電源装置１００の出力電圧が前述した異常値を超過した場合に“１”とする状態変数である。ステップＳ１０２の処理の初期化では、０に設定する。
【０１５４】
また、ステップＳ１０２の処理において、ＰＷＭ生成部１２４内の時比率データレジスタ１５０、および減算器１２２内の誤差値データ計算結果レジスタ１３０と指令値データレジスタ１３１を零（０ｘ００００）に初期化する。そして、ステップＳ１０２の処理において、ＤＳＰ１２３のプログラム実行制御部２０５内のプログラムカウンタレジスタＰＣを零（０ｘ００００）に初期化する。
【０１５５】
そして、電源制御割り込み有効化処理を実行する（ステップＳ１０３）。この電源制御割り込み有効化処理は、電源装置１００におけるスイッチング電源制御方式を、図７に示すキャリア周期単位に実行する電源制御割り込みルーチンにて実現するために、電源制御割り込みルーチンに対する割り込みを有効化する。
【０１５６】
電源制御割り込みルーチンに対する割り込みは、例えば、ＤＭＡＣ１２５における誤差値データＥｉｎへのデータ転送完了毎に割り込み要因を生成するデータ転送完了割り込みとすることができる。
【０１５７】
続いて、ＡＤＣ１２１、減算器１２２、ＤＭＡＣ１２５、およびＤＭＡＣ１２６を動作可能状態にする（ステップＳ１０４）。その後、ＣＰＵ１２７からＡＤＣ１２１への制御信号をアサートしてネゲートすることでＡＤＣ１２１を１度だけ動作させる。
【０１５８】
これにより、減算器１２２およびＤＭＡＣ１２５が動作し、レジスタファイル２０１上の誤差値データＥｉｎにデータが格納された後、該誤差値データＥｉｎをリードし、現在の指令値データレジスタ１３１に設定されている指令値Ｖｒｅｆ（初期値は任意）を減算する。これによって、現在の出力電圧を求めて、求めた出力電圧を指令値Ｖｒｅｆの初期値とするとともに、該初期化した指令値Ｖｒｅｆを指令値データレジスタ１３１に書き込む。
【０１５９】
そして、ＤＳＰ１２３のプログラム実行制御部２０５内のプログラム実行制御レジスタＣＴＬをビット操作して、図４に示すＤＳＰプログラムの実行を開始し、レジスタファイル２０１内の係数ｍ（アドレス３）に零（０ｘ００００）を書き込む。
【０１６０】
これにより、ＡＤＣ１２１、減算器１２２、およびＤＭＡＣ１２５，１２６は、各実行開始を制御する信号待ち状態となり、ＤＳＰ１２３は、ＩＩＲ計算（図４のｓｔｅｐ６以降）をするためのレジスタファイル２０１内の誤差値データＥｉｎ（アドレス２）への書き込み待ち状態となる。その後、ＰＷＭ生成部１２４の実行を開始することで、出力電圧の立ち上がりをなだらかにする制御であるソフトスタートからの昇圧変換が開始される。
【０１６１】
そして、ＣＰＵ１２７は、システム監視処理を実行する（ステップＳ１０５）。システム監視処理は、例えば外部から与えられる停止などのシステム全般の信号制御、あるいは過電流検出などの異常検出の異常処理が行われ、外部からの停止要求や回復不可能なエラーを検出した場合に、ＰＷＭ生成部１２４から出力するゲート信号ＧＳをネゲートして電源装置１００の動作を停止する（ステップＳ１０６）。
【０１６２】
〈電源制御割り込みルーチンの処理例〉
図７は、図６のステップＳ１０３の処理にて有効化される電源制御割り込みルーチンにおける処理の一例を示すフローチャートである。
【０１６３】
電源制御割り込みルーチンは、図６にて説明したとおり、キャリア周期毎の割り込みによって呼び出される。
【０１６４】
図７において、電源制御割り込みルーチンは、異常処理、ＩＩＲ計算のスタックの検出とＩＩＲ再起処理、およびソフトスタート処理が行われる。
【０１６５】
まず、異常処理について説明する。ＤＳＰ１２３の誤差値データＥｉｎがリードされ、現在の指令値Ｖｒｅｆから誤差値データＥｉｎを減算した値、すなわち出力電圧を計算して、これと異常値と比較する（ステップＳ２０１）。
【０１６６】
減算値が異常値以上、すなわち出力電圧が異常電圧である場合は、異常検出フラグを“１”にセットして割り込み処理を終了する（ステップＳ２０２）。異常検出フラグが“１”である場合には、図６におけるステップＳ１０５において処理され、電源装置１００の動作を終了する。
【０１６７】
続いて、ＩＩＲ計算ＤＦＩのスタック検出および再起処理について説明する。
【０１６８】
ステップＳ２０１の処理においてリードした誤差値データＥｉｎの絶対値と許容値とを比較する（ステップＳ２０３）。許容値を超過していた場合は、収束カウンタを零クリアし（ステップＳ２０４）、スタック検出カウンタをインクリメントする（ステップＳ２０５）。
【０１６９】
そして、スタック検出カウンタが比較され（ステップＳ２０６）、スタック判定カウント値未満であれば割り込み処理を終了する。また、スタック判定カウント値に達している場合は、スタック状態に陥ったと判断され、指令値Ｖｒｅｆを更新し（ステップＳ２０７）、ＩＩＲ計算ＤＦＩの再起処理を行った後（ステップＳ２１６）、スタック検出カウンタを零クリアし（ステップＳ２０８）、割り込み処理を終了する。
【０１７０】
ステップＳ２０７の処理では、ＣＰＵ１２７が広域変数で管理する現在の指令値Ｖｒｅｆから誤差値データＥｉｎを減算することでパワーステージ１１０の出力電圧を示すディジタル値を求めて該指令値Ｖｒｅｆを更新する。このとき、該減算した結果が目標値を超過した場合、指令値Ｖｒｅｆが目標値となるように更新する。
【０１７１】
〈ＩＩＲ再起処理の例〉
図８は、図６のステップＳ２１６の処理におけるＩＩＲ再起処理の一例を示すフローチャートである。
【０１７２】
まず、ＤＳＰプログラムの実行を、図４のｓｔｅｐ０に移して係数ｍの書き込み待ち状態にする（ステップＳ３０１）。そして、図６のステップＳ２０７の処理において更新した指令値Ｖｒｅｆを減算器１２２の指令値データレジスタ１３１に書き込む（ステップＳ３０２）。
【０１７３】
そして、係数ｍに書き込む値を通常は１．０（０ｘ７ＦＦＦ）とし（ステップＳ３０３）、図７のステップＳ２０７の処理にて減算が目標値超過した場合にはその度合いに応じて１．０より小さく（ただし、０．０以上）なるように計算する。
【０１７４】
レジスタファイル２０１の係数ｍに係数を書き込むことで、ＤＳＰ１２３は、ＩＩＲ計算ＤＦＩの内部状態であるＺバッファ群ＢＦＦの内部状態データを零クリアし、現在の時比率データＤｏｕｔを乗数ｍしてオフセットｏｆｆｓｅｔとした後、図４のｓｔｅｐ６以降のＩＩＲ計算の実行開始待ち状態になる。
【０１７５】
ステップＳ２０７，Ｓ２１６の処理により、ＩＩＲの内部状態はクリアされるが、パワーステージ１１０の出力電圧を指令値Ｖｒｅｆにすることで引き続き入力する誤差データＥｉｎは零から始まるデータ列となり、オーバーフローすることなく計算可能な状態となる。そして、ＩＩＲの出力をオフセットとして出力に加算することで、ＰＷＭ生成部１２４の時比率データレジスタ１５０への出力を連続にすることができる。
【０１７６】
〈出力電圧の変化による処理例〉
図９は、負荷変動が発生した際のパワーステージ１１０における出力電圧の変化の一例を示した説明図である。
【０１７７】
図９において、目標値と等しい出力電圧に制御されている定常状態から、急激な負荷変動に伴い時比率を大きく変動させるＩＩＲ計算において、オーバーフローあるいはアンダーフローが発生し、これによって、出力電圧が点線にて示す出力電圧変化８０２に示すようにスタックした場合であっても、実線で示す出力電圧変化８０１の動作となるようにスタック状態を解消してＩＩＲ計算を再起させる制御を可能とすることができる。
【０１７８】
また、図７のステップＳ２０７の処理において、指令値Ｖｒｅｆを現在の出力電圧にする際、目標値以下に制限することで、ＩＩＲ計算のオーバーフローやアンダーフローによってパワーステージ１１０の出力電圧が異常値となることを未然に回避することができる。
【０１７９】
〈ソフトスタート処理例〉
次に、ソフトスタート処理について説明する。
【０１８０】
図７において、現在の指令値Ｖｒｅｆと目標値が比較され、目標値未満の場合にステップＳ２１０の処理以降のソフトスタート処理を実行し（ステップＳ２０９）、目標値である場合は、定常状態としてスタック検出カウンタを零クリアし（ステップＳ２０８）、割り込み処理を終了する。
【０１８１】
目標値でない場合は、ステップＳ２０１の処理においてリードした誤差値データＥｉｎの絶対値が収束値と比較され（ステップＳ２１０）、収束値を超過している場合はステップＳ２０３の処理以降のスタック検出と再起処理と同一の処理が行われる。また、収束値以下である場合は、ステップＳ２１１の処理以降の収束判定と指令値Ｖｒｅｆの更新、およびＩＩＲ再起処理を用いたソフトスタートが行われる。
【０１８２】
ステップＳ２１０の処理において、収束値を超過している場合は、リードした誤差値データＥｉｎの絶対値が収束値以内の場合に収束カウンタをインクリメントする（ステップＳ２１１）。
【０１８３】
続いて、収束カウンタが収束判定カウント値以上であるか否かを判断し（ステップＳ２１２）、収束判定カウント値未満であれば割り込み処理を終了する。また、ステップＳ２１２の処理において、収束カウンタが収束判定カウント値に達している場合は、収束したと判断し、現在の指令値ＶｒｅｆにΔＶｒｅｆを加算して指令値Ｖｒｅｆを更新する（ステップＳ２１３）。ステップＳ２１３の処理の加算結果が目標値を超過する場合は、指令値Ｖｒｅｆを目標値とする。
【０１８４】
そして、収束カウンタを零クリアする（ステップＳ２１４）。その後、ステップＳ２１６の処理を行うことにより、スタートアップに伴うＺバッファの増加を抑制し、ＩＩＲ計算のオーバーフローやアンダーフローすることを未然に回避することができる。
【０１８５】
なお、ソフトスタート期間中であっても、誤差値データＥｉｎが許容値を逸脱した場合は、反復的な電源制御割り込みルーチンの実行において、ステップＳ２０３の処理による分岐においてスタック検出および再起処理と同一の処理が行われる。
【０１８６】
また、スタートアップにおいて、急激な時比率の増加は過大な突入電流となる。それを防ぐためには、例えばインタバルカウンタが広域変数として設けられる。そして、ステップＳ２１２の処理では、指令値Ｖｒｅｆの更新から少なくとも必要期間経過後に、ステップＳ２１３の処理を行うための判定が追加され、指令値Ｖｒｅｆの時間的な増加が制限される。
【０１８７】
インタバルカウンタは、電源制御割り込みルーチンが呼び出される都度インクリメントし、ステップＳ２１４の処理の収束カウンタのクリアともに零クリアする。必要期間の経過を判定するインタバル判定カウント値は例えば５００とされる。
【０１８８】
〈スタートアップの出力電圧の変化による処理例〉
図１０は、パワーステージ１１０のスタートアップにおける出力電圧の変化の一例を示す説明図である。
【０１８９】
この図１０において、定常状態の制御に最適化されたビット長の演算器が、スタートアップ時に大きな電圧変化でＺバッファがオーバーフローしてしまう場合には、出力電圧が点線にて示す出力電圧変化９０３となってしまうことになる。
【０１９０】
しかし、パワーステージ１１０では、指令値Ｖｒｅｆの上昇とともに増加するＺバッファの内部状態データを零クリアしながら時比率を上昇させることができるのでオーバーフローを起こすことなく、出力電圧を実線にて示す出力電圧変化９０１となるようにソフトスタートを実現することが可能になる。
【０１９１】
また、ソフトスタート期間中に、温度変化などの外乱によって、ＩＩＲ計算におけるオーバーフローあるいはアンダーフローが発生し、出力がスタックするような場合には、ＩＩＲ計算によるスタックの検出およびＩＩＲ再起処理が実行される。
【０１９２】
これによって、出力電圧は、例えば図１０の一点鎖線に示す出力電圧変化９０２となるようにスタック状態を解消してＩＩＲ計算を再起させる制御を可能とすることができる。
【０１９３】
以上により、誤差値が所定の許容値以内の場合には指令値Ｖｒｅｆを目標値に近づけていくことによってスタートアップのソフトスタート制御を実現することができる。
【０１９４】
また、ＩＩＲ計算に係る変数の格納領域のビット長が桁あふれ（オーバーフロー）または桁落ち(アンダーフロー)を起こして時比率の更新がされない状態に陥っても、指令値Ｖｒｅｆを現在のパワーステージ１１０の出力値に設定する。そして、ＤＳＰ１２３におけるＩＩＲフィルタのＺバッファの内部状態データを零クリアすることで、スタートアップ時同様のＩＩＲ計算が可能な状態に復帰することができる。
【０１９５】
桁あふれ（オーバーフロー）または桁落ち(アンダーフロー)は、スタートアップ時のパワーステージ１１０の過渡状態における突入電流や定常状態を含めた負荷変動や温度変化などの外乱に起因した回路パラメータの変動により、時比率に大きな変更を要したことにより発生する。
【０１９６】
同時に、オフセット値に現在の時比率を設定することで、時比率は連続した動作になるので、線形性を大きく逸脱することなく時比率の制御が可能にできる。
【０１９７】
すなわち、本実施の形態による電源装置１００の制御技術によれば、回路パラメータの変動で時比率に大きな変更があった場合には、ディジタル演算器のオーバーフローあるいはアンダーフローを許容することができる。これによって、ＩＩＲフィルタ計算に係る変数の整数部をパワーステージ１１０の定常状態に演算に必要最低限のビット長とすることができる。
【０１９８】
このことは、パワーステージ１１０の定常状態についてのディジタル制御に、メモリ格納領域のビット長の内の多くの桁数を小数部として割り当てることを可能とさせ、その結果、ビット長の少ない固定小数点演算器にて高精度なディジタル電源制御技術を提供するということができる。
【０１９９】
（実施の形態２）
〈概要〉
本実施の形態２では、ＩＩＲ計算ＤＦＩをハードウェア化したディジタル制御スイッチング電源装置の例について説明する。
【０２００】
前記実施の形態１では、図３の演算器２０３の機能をＤＳＰソフトウェアによって構成したが、演算器２０３は、論理回路によるハードウェアによって構成することもできる。
【０２０１】
〈演算器の構成例〉
図１１は、本実施の形態２によるＤＳＰ１２３における演算器２０３の動作を論理回路にて実現したときのブロック線図の一例を示す説明図である。
【０２０２】
図１１において、ＩＩＲ計算を行う論理回路は、１本の制御信号ｍｏｄｉｆｙが外部から与えられる。制御信号ｍｏｄｉｆｙがアサートすると、Ｚバッファの内部状態データは零クリアされ、オフセットには、ＩＩＲ計算ＤＦＩの出力である時比率データＤｏｕｔに係数ｍを乗じて格納される。
【０２０３】
前記実施の形態１にて説明したＤＳＰ１２３を図１１に示すブロック線図で動作する論理回路に置き換える。そして、図８にて示したＩＩＲ再起処理であるステップＳ２１６の処理において、ステップＳ３０１の処理を省き、ステップＳ３０３の処理の次に図１１の制御信号ｍｏｄｉｆｙを、該論理回路の動作クロックの１クロックだけアサートする実行ステップを設ける。
【０２０４】
これによって、その他の回路構成、ＣＰＵ１２７の制御、制御系１２０の動作、および効果を前記実施の形態１と同様に実現することができる。さらに、回路の最適化が可能になるので、ハードウェアをより小さく実現することができる。
【０２０５】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【０２０６】
なお、本発明は上記した実施の形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【０２０７】
また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
【符号の説明】
【０２０８】
１００  電源装置
１１０  パワーステージ
１１１  入力電源端子
１１２  インダクタ
１１３  ＭＯＳＦＥＴ
１１４  ダイオード
１１５  コンデンサ
１１６  出力端子
１１７  抵抗
１１８  抵抗
１２０  制御系
１２１  ＡＤＣ
１２２  減算器
１２３  ＤＳＰ
１２４  ＰＷＭ生成部
１３０  誤差値データ計算結果レジスタ
１３１  指令値データレジスタ
１５０  時比率データレジスタ
２０１  レジスタファイル
２０２  積和演算レジスタ
２０３  演算器
２０４  コントロールストレージ
２０５  プログラム実行制御部
２０６  ＣＰＵインタフェース
２０７  ＤＭＡインタフェース
ＣＴＬ  プログラム実行制御レジスタ
ＰＣ  プログラムカウンタレジスタ
【図１】
2015027235.tif 000007
【図２】
2015027235.tif 000008
【図３】
2015027235.tif 000009
【図４】
2015027235.tif 000010
【図５】
2015027235.tif 000011
【図６】
2015027235.tif 000012
【図７】
2015027235.tif 000013
【図８】
2015027235.tif 000014
【図９】
2015027235.tif 000015
【図１０】
2015027235.tif 000016
【図１１】
2015027235.tif 000017