(57)【要約】【課題】  スパイク状のノイズを低減ないし解消したデジタルコンバータ及びその制御方法を提供する。【解決手段】  コイル及びスイッチング素子を備えた昇圧チョッパと、前記コイルに入力電流を供給する整流回路と、前記スイッチング素子を所定の制御サイクルでＰＷＭ制御するコンピュータ回路とを有するデジタルコンバータにおいて、前記昇圧チョッパと並列にスイッチング回路を設け、前記スイッチング回路は、前記昇圧チョッパのスイッチング素子のＯＮ／ＯＦＦ遷移動作に先行して、ＯＮ動作するよう設定されている。【選択図】      図７
2007288892.tif 000002
【特許請求の範囲】
【請求項１】
コイル及びスイッチング素子を備えた昇圧チョッパと、前記コイルに入力電流を供給する整流回路と、前記スイッチング素子を所定の制御サイクルでＰＷＭ制御するコンピュータ回路とを有するデジタルコンバータにおいて、
前記昇圧チョッパと並列にスイッチング回路を設け、前記スイッチング回路は、前記昇圧チョッパのスイッチング素子のＯＮ／ＯＦＦ遷移動作に先行して、ＯＮ動作するよう設定されていることを特徴とするデジタルコンバータ。
【請求項２】
前記スイッチング回路は、前記整流回路の脈流出力を受ける入力コイルと、前記入力コイルに直列接続されるダイオードと、前記入力コイルと前記ダイオードの接続点とグランドとの間に配置されてＯＮ／ＯＦＦ動作する補助スイッチング素子とを備えて構成される請求項１に記載のデジタルコンバータ。
【請求項３】
前記ダイオードの出力端子は、前記昇圧チョッパのスイッチング素子のＯＦＦ動作時に充電されるコンデンサに接続され、前記コンデンサから、前記昇圧チョッパの直流出力電圧が得られるよう構成された請求項２に記載のデジタルコンバータ。
【請求項４】
連続モードか不連続モードかの判定は、今回の制御サイクルにおける、前記コイルの充電開始電流、前記昇圧チョッパへの交流入力電圧、及び前記昇圧チョッパの直流出力電圧の各計測値と、今回の制御サイクルにおけるＰＭＷ波の制御時間と、前記コイルのインダクタンス値とに基づいて決定される請求項１〜３の何れかに記載のデジタルコンバータ。
【請求項５】
前記コンピュータ回路は、アナログ入力信号をデジタル変換するＡＤ変換部と、各種レジスタへの設定データに基づいて任意のパルス幅のパルス波を自動的に出力可能なタイマ部とを有するワンチップマイコンである請求項１〜４の何れかに記載のデジタルコンバータ。
【請求項６】
前記ＡＤ変換部は、前記タイマ部からの指令に基づいて、一群のアナログ入力信号をデジタル変換するよう構成されている請求項５に記載のデジタルコンバータ。
【請求項７】
請求項１〜６のいずれかの動作を実現するデジタルコンバータの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、昇圧チョッパを用いたデジタルコンバータに関し、特に、スイッチング素子の過渡動作を改善したデジタルコンバータ及びその制御方法に関するものである。
【背景技術】
【０００２】
出願人は先に、大型のコイルを使用しなくても精密なＰＷＭ制御が実現できる装置について提案している（特許文献１）。
【特許文献１】特願２００４−２６８１３５
【０００３】
この特許文献１に記載の発明は、コイル及びスイッチング素子を備えた昇圧チョッパと、コイルに入力電流を供給する整流回路と、スイッチング素子Ｑを所定の制御サイクルでＰＷＭ制御するコンピュータ回路とを有するデジタルコンバータにおいて、コイルへの入力電流が制御サイクル中に途切れない連続モードか、制御サイクルの途中で途絶える不連続モードかを判定しつつ、その判定結果に基づいて異なるアルゴリズムでＰＷＭ制御を行うようにしている。
【０００４】
この発明によれば、簡易な構成でありながら、入力電流の広い範囲で精密なＰＷＭ制御が可能となる。また、全てをソフトウェア制御で実現できるため、ハードウェア制御の場合のような力率改善回路を省略でき、また一般のコイルも使用できるので低コストで装置全体を小型化できるという利点がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、電源の大電流化に伴い、スイッチング素子のＯＮ／ＯＦＦ遷移動作時に発生するスパイク状のノイズが、他の回路に悪影響を与えることがあった。図１８は、特許文献１の昇圧チョッパについて、そこに発生するスパイクノイズＩ１，Ｉ２を図示したものである。図示の通り、スイッチングトランジスタＱがＯＦＦ状態からＯＮ状態に遷移する時、ダイオードＤの少数キャリア蓄積効果によるスパイク状の逆方向電流Ｉ１が流れる。また、スイッチングトランジスタＱがＯＮ状態からＯＦＦ状態に遷移する時にも、スパイク状の電流Ｉ２が流れる。
【０００６】
本発明は、上記の課題に鑑みてなされたものであって、スパイク状のノイズを低減ないし解消したデジタルコンバータ及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するため、本発明に係るデジタルコンバータは、コイル及びスイッチング素子を備えた昇圧チョッパと、前記コイルに入力電流を供給する整流回路と、前記スイッチング素子を所定の制御サイクルでＰＷＭ制御するコンピュータ回路とを有するデジタルコンバータにおいて、前記昇圧チョッパと並列にスイッチング回路を設け、前記スイッチング回路は、前記昇圧チョッパのスイッチング素子のＯＮ／ＯＦＦ遷移動作に先行して、ＯＮ動作するよう設定されている。
【０００８】
図１７は、第一スイッチング素子Ｑ１による昇圧チョッパと、第二スイッチング素子Ｑ２によるスイッチング回路とで構成された本発明の実施態様について、その動作内容を説明するための図面である。このスイッチング回路は、昇圧チョッパと同一回路構成としているが、好ましくは、入力コイルＬ２＜入力コイルＬ１であり、ダイオードＤ２の逆回復電荷ＱｒｒはダイオードＤ１の逆回復電荷より小さく設定される。また、ダイオードＤ２は、好ましくは、逆回復時間の短い素子が選択される。
【０００９】
図示のデジタルコンバータでは、第一スイッチング素子Ｑ１のＯＮ／ＯＦＦ遷移動作に先行して、第二スイッチング素子Ｑ２を短時間だけＯＮ動作させている。したがって、第二スイッチング素子Ｑ２は、殆どの時間帯でＯＦＦ状態であり、このＯＦＦ時間帯に、スイッチング回路が昇圧チョッパのバイパス路として機能してコンデンサを充電する。しかも、第一スイッチング素子のＯＮ動作に先行して、第二スイッチング素子がＯＮ動作するので、ダイオードＤ１の蓄積電荷が低減されてスパイク状の電流の発生を抑制できる。
【００１０】
第一スイッチング素子は、その後、ＯＦＦ状態からＯＮ状態に遷移し、次に、所定時間後にＯＮ状態からＯＦＦ状態に遷移して所定のＰＷＭ制御を実現する。第二スイッチング素子Ｑ２は、第一スイッチング素子Ｑ１のＯＦＦ遷移動作時にも、これに先行してＯＮ動作する（図１７（ｂ））。したがって、第一スイッチング素子がＯＮ状態からＯＦＦ状態に遷移するときにもスパイク状の電流の発生が抑制される。
【００１１】
本発明は、好ましくは、第一昇圧チョッパのコイルへの入力電流が制御サイクル中に途切れない連続モードか、制御サイクルの途中で途絶える不連続モードかを判定しつつ、その判定結果に基づいて異なるアルゴリズムでＰＷＭ制御を行っている。本発明では、連続モードか不連続モードかの判定は、毎回の制御サイクルで行っても良いし、複数回の制御サイクルに一回行ったのでも良い。何れにしても、連続モードか不連続モードかの判定は、好ましくは、今回の制御サイクルにおける、コイル充電開始電流Ｉｖ（ｎ−２）、昇圧チョッパへの交流入力電圧Ｖａｃ（ｎ−１）、及び昇圧チョッパの直流出力電圧Ｖｄｃ（ｎ−１）の各計測値と、今回の制御サイクルにおけるＰＭＷ波の制御時間Ｔｏｎ（ｎ−１）とコイルのインダクタンス値とに基づいて決定される。
【００１２】
ＰＭＷ波の制御時間は、実施例では、制御オン時間Ｔｏｎ（ｎ−１）を意味しているが、特に限定されるものではなく、スイッチング素子のＯＦＦ時間をＰＷＭ制御する場合であれば、制御オフ時間がこれに該当する。また、コイルのインダクタンス値は、コイル電流の計測値に対応して補正されるのが好ましい。
【００１３】
また、本発明は、好ましくは、連続モードか不連続モードかの判定結果に対応する演算式を用いて、ＰＭＷ波の制御時間Ｔｏｎ（ｎ）を決定すべきである。更に好ましくは、次回の制御サイクルにおけるＰＭＷ波の制御時間Ｔｏｎ（ｎ）は、次回の制御サイクルにおける、コイル平均電流の予測値Ｉａｖ（ｎ）を演算要素にして決定される。ここで、コイル平均電流の予測値Ｉａｖ（ｎ）は、前記交流入力電圧の予測値Ｖａｃ（ｎ）と積算パラメータβとの積算で決定され、前記積算パラメータβは、直流出力電圧Ｖｄｃの目標値Ｖｏとの偏差ＶｅｒｒによるＰＩ(Proportional-Integral)制御で決定されるのが好ましい。
【００１４】
また、本発明のコンピュータ回路は、アナログ入力信号をデジタル変換するＡＤ変換部と、各種レジスタへの設定データに基づいて任意のパルス幅のパルス波を自動的に出力可能なタイマ部とを有するワンチップマイコンであるのが好ましい。前記ＡＤ変換部は、前記タイマ部からの指令に基づいて、一群のアナログ入力信号をデジタル変換する構成、言い換えると、ＣＰＵからの指令を経ることなく動作する構成を採るのが好ましい。更に好ましくは、前記ＡＤ変換部は、必要なデジタル変換処理が終われば、その旨をＣＰＵに通知する構成を採るべきである。また、本発明は、請求項１〜６に記載の各技術的要素を具備するデジタルコンバータの制御方法である。
【発明の効果】
【００１５】
以上説明した本発明によれば、昇圧チョッパの過渡動作を改善して高周波ノイズの発生を抑制したデジタルコンバータを実現できる。
【発明を実施するための最良の形態】
【００１６】
以下、実施例に基づいて本発明を更に詳細に説明する。図１は、ソフトウェア制御によるデジタルコンバータ１を示す回路構成図であり、モータ制御システムの一部として組み込まれている。このデジタルコンバータ１では、単相交流電圧（例えば２００Ｖ）が全波整流回路２で整流されて脈流となった後、ワンチップマイコン３によってＰＷＭ(Pulse Width Modulation)制御がされる昇圧チョッパ４Ａ及びその補助動作をするスイッチング回路４Ｂによって所定の直流電圧Ｖｄｃ（例えば３５０Ｖ）に変換される。そして、三相モータＭは、ワンチップマイコン３に制御されるインバータ回路５によって駆動される。なお、全波整流回路２の出力側にはリップル抑制用のコンデンサＣｉｎが接続されている。
【００１７】
昇圧チョッパ４Ａは、整流回路２の脈流出力Ｖａｃを受ける入力コイルＬ１と、入力コイルＬ１に直列接続されるダイオードＤ１と、入力コイルＬ１とダイオードＤ１（アノード端子）の接続点とグランドとの間に配置されてＯＮ／ＯＦＦ動作するスイッチング素子Ｑ１と、ダイオードＤ１（カソード端子）とグランドとの間に接続される平滑コンデンサＣとを中心に構成されている。
【００１８】
スイッチング素子Ｑ１として、この実施例では、絶縁ゲート型バイポーラトランジスタＩＧＢＴ(Insulated Gate Bipolar Transistor)が使用されており、ゲート端子に受けるＰＷＭ波に基づいてＯＮ／ＯＦＦ動作している。そして、スイッチング素子Ｑ１のＯＮ電流は、シャント抵抗ｒから検出されるよう構成されている。
【００１９】
図示の通り、スイッチング回路４Ｂは、回路構成上は、昇圧チョッパ４Ａと同じである。すなわち、スイッチング回路４Ｂは、整流回路２の脈流出力Ｖａｃを受ける入力コイルＬ２と、入力コイルＬ２に直列接続されるダイオードＤ２と、入力コイルＬ２とダイオードＤ２（アノード端子）の接続点とグランドとの間に配置されてＯＮ／ＯＦＦ動作するスイッチング素子Ｑ２とで構成されている。但し、入力コイルＬ２の平均電流は、入力コイルＬ１の平均電流より十分小さく設定されるので、これに対応して、入力コイルＬ２のインダクタンスは、入力コイルＬ１より適宜に小さい。
【００２０】
スイッチング素子Ｑ２は、例えば、絶縁ゲート型バイポーラトランジスタＩＧＢＴで構成され、ゲート端子に受ける制御信号ＣＴＬに基づいてＯＮ／ＯＦＦ動作している。制御信号ＣＴＬは、昇圧チョッパ４Ａが受けるＰＷＭ波に先行するＯＮ信号であり、スイッチング素子Ｑ２は、スイッチング素子Ｑ１に先行して短時間だけＯＮ状態となり、それ以外はＯＦＦ状態となる。したがって、ＯＦＦ状態のスイッチング回路４Ｂは、平滑コンデンサＣへのいわばバイパス路として機能している。
【００２１】
実施例の昇圧チョッパ４は、上記の通りに構成されているので、スイッチング素子Ｑ１がＯＮ動作すると、脈流入力電圧Ｖａｃが、スイッチング素子Ｑ１と、これに直列接続されたコイルＬｉ及びシャント抵抗ｒとで短絡されることになり、コイルＬ１に充電電流が流れることになる。この状態で、スイッチング素子Ｑ１がＯＦＦ状態になると、ダイオードＤ１がＯＮ状態となって、コイルＬ１の放電電流が、コイルＬ１→ダイオードＤ１→平滑コンデンサＣの経路で流れ、平滑コンデンサＣは充電される。
【００２２】
従来の回路構成であれば、このダイオードＤ１のＯＮ遷移時に、スパイク状の電流が流れる（図１８）。しかし、この実施例では、ダイオードＤ１がＯＮ遷移する前のＯＦＦ状態でも、ダイオードＤ２がＯＮ状態であって平滑コンデンサＣを充電しており、且つ、スイッチング素子Ｑ１のＯＦＦ遷移に先立って、スイッチング素子Ｑ２がＯＮ遷移して入力電流を吸収するので、スパイク状の電流は生じない。
【００２３】
次に、ダイオードＤ１がＯＮ状態であって、コイルＬ１→ダイオードＤ１→平滑コンデンサＣの経路で、平滑コンデンサＣが充電されている状態で、スイッチング素子Ｑ１がＯＦＦ状態からＯＮ状態に遷移した場合を考える。従来の回路構成であれば、この時、ダイオードＤ１の蓄積電荷の放電によって逆方向電流が流れるが（図１８）、バイパス路として機能するスイッチング回路４Ｂの存在と、スイッチング素子Ｑ１のＯＮ遷移に先立つスイッチング素子Ｑ２がＯＮ遷移によって、本実施例では、スパイク状電流の発生を抑えることができる。
【００２４】
さて、図１の他の回路構成について説明すると、ワンチップマイコン３には、信号入力部ＩＮ１，ＩＮ３を通して、それぞれエミッタ電流ＩＥ１（＝第一コイルＬ１の充電電流Ｉ）と、入力交流電圧Ｖａｃと、出力直流電圧Ｖｄｃとが入力されており、内蔵されたＡ／ＤコンバータＡＤ１，ＡＤ４によって、それぞれ入力信号がデジタル変換されている。なお、Ａ／ＤコンバータＡＤ１とＡ／ＤコンバータＡＤ４は、第一コイルＬ１の充電電流Ｉを異なるタイミングで取得している。
【００２５】
信号入力部ＩＮ１は、昇圧チョッパ４Ａのシャント抵抗ｒの両端電圧を受けるＯＰアンプ回路で構成されており、シャント抵抗ｒと合わせて、電流検出センサとして機能している。また、信号入力部ＩＮ２及び信号入力部ＩＮ３は、抵抗分圧回路とＯＰアンプ増幅回路とで構成されている。
【００２６】
このような信号入力部ＩＮ１，ＩＮ３及びＡ／ＤコンバータＡＤ１，ＡＤ４を通して取得されたデータは、ワンチップマイコン３によって演算処理されＰＷＭ信号のＯＮ時間（以下、制御オン時間という）が算出される。そして、ワンチップマイコン３は、制御オン時間をパルス幅とするＰＷＭ信号を、ＴＩＯＣＡ＿０端子から出力する。また、これに合せて、ワンチップマイコン３は、ＯＮパルス信号ＣＴＬを、ＴＩＯＣＡ＿１端子及びＴＩＯＣＡ＿２端子とから出力する。なお、ワンチップマイコン３の各出力端子（TIOCA_0，TIOCA_1，TIOCA_2）については、詳細に後述する。
【００２７】
そして、ワンチップマイコン３の各出力端子（TIOCA_0，TIOCA_1，TIOCA_2）から出力された各パルス信号（ＰＷＭ，ＣＴＬ）は、ＯＲ回路やバッファ回路ＤＲを通して、スイッチング素子Ｑ１，Ｑ２のゲート端子に供給される。なお、ワンチップマイコン３は、信号入力部ＩＮ４と信号出力部ＯＵＴ２を介してインバータ回路５に接続されて、三相モータＭをインバータ制御している。
【００２８】
以下、ワンチップマイコン３の具体的な制御動作を説明するに先立って、昇圧チョッパ４Ａに関して、その制御原理から説明する。図２は、ワンチップマイコン３から出力されるＰＷＭ波と、昇圧チョッパ４ＡのコイルＬ１に流れる電流の関係を図示したタイムチャートである。
【００２９】
図示の通り、コイルＬ１にはコイル充電電流とコイル放電電流による三角波が流れるが、コイルＬ１に蓄えられたエネルギーが十分であって連続的に電流が流れる連続モード（図２（ａ）参照）と、エネルギーが不十分であるため、電流が途中で途切れる不連続モード（図２（ｂ）参照）とがある。
【００３０】
本実施例では、何れの動作モードにあるかに応じて、異なるＰＷＭ制御を行っているので、先ず、動作モードを判定する判定式を説明する。図２のタイムチャートにおいて、今現在が、制御サイクル（ｎ−１）であるとする。そして、この制御サイクル（ｎ−１）中の計測値に基づいて、次の制御サイクル（ｎ）における制御オン時間Ｔｏｎ（ｎ）を決定することを考える。なお、交流入力電圧の周波数は５０Ｈｚ又は６０Ｈｚであるが、十分迅速に制御するため、本実施例では、制御周期Ｔを４５．６μＳにしている。
【００３１】
以下、コイルＬ１のインダクタンス値をＬとして、回路方程式を説明する。コイル充電時（スイッチング素子ＯＮ）における回路方程式は、Ｖａｃ（ｎ−１）＝Ｌ×｛Ｉｐ（ｎ−１）−Ｉｖ（ｎ−２）｝／Ｔｏｎ（ｎ−１）・・・（式１）となる。ここで、Ｉｖ（ｎ−２）はコイル充電開始電流、Ｉｐ（ｎ−１）はコイル充電ピーク電流、Ｔｏｎ（ｎ−１）は制御オン時間であり、それぞれ制御サイクル（ｎ−１）における値である。また、Ｖａｃ（ｎ−１）は制御サイクル（ｎ−１）における入力電圧であるが、電源周波数に対して、制御周期Ｔ（＝４５．６μＳ）が十分短いのでＶａｃ（ｎ−１）を一定値とみなすことができる。
【００３２】
一方、コイル放電時（スイッチング素子ＯＦＦ）における回路方程式は、Ｖｄｃ（ｎ−１）−Ｖａｃ（ｎ−１）＝Ｌ×｛Ｉｐ（ｎ−１）−Ｉｖ（ｎ−１）｝／Ｔｏｆｆ（ｎ−１）・・・（式２）となる。ここで、Ｖｄｃ（ｎ−１）はコンデンサＣの両端電圧、Ｉｖ（ｎ−１）は今回の制御サイクル終了時のコイル電流（次回の制御サイクルのコイル充電開始電流）、Ｔｏｆｆ（ｎ−１）はＯＦＦ時間であり、それぞれ制御サイクル（ｎ−１）における値である。
【００３３】
（式１）及び（式２）からＩｐ（ｎ−１）を消去してＩｖ（ｎ−１）について解くと、Ｉｖ（ｎ−１）＝Ｉｖ（ｎ−２）＋Ｔ／Ｌ×［｛Ｖａｃ（ｎ−１）−Ｖｄｃ（ｎ−１）｝＋Ｔｏｎ（ｎ−１）×Ｖｄｃ（ｎ−１）］・・・（式３）となる。なお、制御周期Ｔは、Ｔ＝Ｔｏｎ（ｎ−１）＋Ｔｏｆｆ（ｎ−１）である。
【００３４】
上記の（式３）において、Ｉｖ（ｎ−１）＞０であれば連続モード、Ｉｖ（ｎ−１）＝０であれば不連続モードとなる。但し、（式３）は、今回の制御サイクル（ｎ−１）におけるコイル充電開始電流Ｉｖ（ｎ−２）を用いて、次回の制御サイクル（ｎ）におけるコイル充電開始電流Ｉｖ（ｎ−１）を求めているので、充電開始電流Ｉｖ（ｎ−２）が正確でないと、連続モードか不連続モードかの判定が狂うことになる。すなわち、Ｉｖ（ｎ−２）を一つ手前の制御サイクルにおける制御オン時間（Ｔｏｎ（ｎ−２））などに基づく予測演算によって決定したのでは、（式３）の演算によって誤差が累積されることになり、制御の指示値自体が目標から外れて発散してしまうおそれがある。そこで、この実施例では、制御サイクルごとに、コイル充電開始時の入力電流ＡＤ１を計測するようにしている。
【００３５】
但し、制御サイクル開始時から入力電流の取得時までに不可避的に時間遅れＴｓが生じるので（図８（ｃ）参照）、この時間遅れＴｓを考慮して計測値ＡＤ１を補正してコイル充電開始電流Ｉｖ（ｎ−２）としている。今、制御サイクル（ｎ−１）のＴｓのタイミングにおける電流計測値をＡＤ１とすると、コイル充電電流の傾斜（Δｉ／Δｔ）は、Ｌ×Δｉ／Δｔ＝ｅの関係からΔｉ／Δｔ＝ｅ／Ｌである。ここで、ｅは電圧、ｉは電流、ｔは時間である。
【００３６】
したがって、時間遅れＴｓにおける電流増加量は、Ｖａｃ（ｎ−１）／Ｌ×Ｔｓと算出することができ、この値を用いると、Ｉｖ（ｎ−２）＝ＡＤ１−Ｖａｃ（ｎ−１）／Ｌ×Ｔｓ・・・（式４）となる。そして、この（式４）を（式３）に代入すると、Ｉｖ（ｎ−１）＝ＡＤ１−［Ｖａｃ（ｎ−１）×Ｔｓ＋Ｔ×｛Ｖｄｃ（ｎ−１）−Ｖａｃ（ｎ−１）｝−Ｔｏｎ（ｎ−１）×Ｖｄｃ（ｎ−１）］／Ｌ・・・（式５）となり、今回の制御サイクル（ｎ−１）の最終タイミング（＝次回の制御サイクルの開始タイミング）における入力電流値Ｉｖ（ｎ−１）を、今回の制御サイクル（ｎ−１）の開始タイミングにおける入力電流の計測値ＡＤ１に基づいて正確に決定することができる。
【００３７】
そして、このようにして求めた次回制御サイクルのコイル充電開始電流Ｉｖ（ｎ−１）が正か否かに応じて、連続モードか不連続モードかを正確に判定でき、それに応じた最適な制御が可能となる。すなわち、今回の制御サイクル（ｎ−１）における、交流入力電圧Ｖａｃ（ｎ−１）、直流出力電圧Ｖｄｃ（ｎ−１）、及び入力電流ＡＤ１の各計測値と、前回の制御サイクルで決定された制御オン時間Ｔｏｎ（ｎ−１）とに基づいて、連続モード用の制御をすべきか、不連続モード用の制御をすべきかを確定できる。なお、以上の（式１），（式５）の算出手順については、図１１，図１２に補充説明をしている。
【００３８】
ところで、直流出力電圧Ｖｄｃ（ｎ−１）は、必ずしも、制御サイクル毎に更新される必要はないので、本実施例では、１ｍＳ毎に値が更新されるＶｄｃ（ｉ）を使用している（図９のステップＳＴ３０参照）。したがって、本実施例の判別式は、正確には、Ｉｖ（ｎ−１）＝ＡＤ１−［Ｖａｃ（ｎ−１）×Ｔｓ＋Ｔ×｛Ｖｄｃ（ｉ）−Ｖａｃ（ｎ−１）｝−Ｔｏｎ（ｎ−１）×Ｖｄｃ（ｉ）］／Ｌ・・・（式５’）となる。
【００３９】
更にまた、直流出力電圧として、図９のステップＳＴ３８の処理で算出される過去０．５秒間の平均値Ｖｄｃを使用しても良い。この場合には、Ｉｖ（ｎ−１）＝ＡＤ１−［Ｖａｃ（ｎ−１）×Ｔｓ＋Ｔ×｛Ｖｄｃ−Ｖａｃ（ｎ−１）｝−Ｔｏｎ（ｎ−１）×Ｖｄｃ］／Ｌ・・・（式５’’）の判別式が採用される。
【００４０】
＜不連続モード＞
続いて、各制御サイクル中のコイル平均電流Ｉａｖに基づいて、制御オン時間Ｔｏｎ（ｎ）を算出する方法について説明する。先ず、不連続モードにおける制御オン時間Ｔｏｎ（ｎ）を算出する（図２（ｂ）参照）。
【００４１】
コイル充電時における回路方程式は、Ｖａｃ（ｎ）＝Ｌ×｛Ｉｐ（ｎ）−Ｉｖ（ｎ−１）｝／Ｔｏｎ（ｎ）となるが、不連続モードゆえに、Ｉｖ（ｎ−１）＝０であり、結局、Ｖａｃ（ｎ）＝Ｌ×Ｉｐ（ｎ）／Ｔｏｎ（ｎ）・・・（式６）となる。ここで、Ｖａｃ（ｎ）は交流入力電圧、Ｉｐ（ｎ）はコイル充電ピーク時の電流値、Ｉｖ（ｎ−１）はコイル充電開始時の電流値、Ｔｏｎ（ｎ）は制御オン時間である。
【００４２】
一方、コイル放電時における回路方程式は、Ｖｄｃ（ｎ）−Ｖａｃ（ｎ）＝Ｌ／Ｔｃｕｔ（ｎ）×｛Ｉｐ（ｎ）−Ｉｖ（ｎ）｝となる。なお、Ｔｃｕｔ（ｎ）は、コイル充電ピーク状態の電流値Ｉｐ（ｎ）が、放電されてゼロになるまでの時間である（図２（ｂ）参照）。ここでは不連続モードの回路方程式を問題にしているので、Ｉｖ（ｎ）＝０となり、Ｖｄｃ（ｎ）−Ｖａｃ（ｎ）＝Ｌ／Ｔｃｕｔ（ｎ）×Ｉｐ（ｎ）・・・（式７）となる。また、この制御サイクルにおける入力電流の平均値Ｉａｖ（ｎ）は、Ｉａｖ（ｎ）＝｛Ｉｐ（ｎ）×Ｔｏｎ（ｎ）＋Ｉｐ（ｎ）×Ｔｃｕｔ（ｎ）｝／（２×Ｔ）・・・（式８）となる。
【００４３】
そして、これら（式６），（式８）をＴｏｎ（ｎ）について解くと、Ｔｏｎ（ｎ）×Ｔｏｎ（ｎ）＝｛２×Ｔ×Ｌ×Ｉａｖ（ｎ）×（Ｖｄｃ（ｎ）−Ｖａｃ（ｎ））｝／｛Ｖａｃ（ｎ）×Ｖｄｃ（ｎ）｝・・・(式９）と算出される。なお、（式９）の算出過程は、図１３，図１４に示した。
【００４４】
＜連続モード＞
続いて、連続モードにおける制御オン時間Ｔｏｎ（ｎ）を算出する（図２（ａ）参照）。コイル充電時における回路方程式は、Ｖａｃ（ｎ）＝Ｌ×｛Ｉｐ（ｎ）−Ｉｖ（ｎ−１）｝／Ｔｏｎ（ｎ）・・・（式１０）となる。一方、コイル放電時における回路方程式は、Ｖｄｃ（ｎ）−Ｖａｃ（ｎ）＝Ｌ／Ｔｏｆｆ（ｎ）×｛Ｉｐ（ｎ）−Ｉｖ（ｎ）｝・・・（式１１）となる。ここで、Ｔｏｆｆ（ｎ）＝Ｔ−Ｔｏｎ（ｎ）であり、コイル放電開始から次回の制御サイクルにおけるコイル充電開始までの時間である。
【００４５】
そして、この制御サイクルにおける平均電流Ｉａｖ（ｎ）は、Ｉａｖ（ｎ）＝［｛Ｉｐ（ｎ）＋Ｉｖ（ｎ−１）｝×Ｔｏｎ（ｎ）＋｛Ｉｐ（ｎ）＋Ｉｖ（ｎ）｝×Ｔｏｆｆ（ｎ）］／｛２×Ｔ｝・・・（式１２）となる。ここで、Ｉｐ（ｎ），Ｉｖ（ｎ）を消去しつつ（式１０），（式１２）をＴｏｆｆ（ｎ）について解くと、Ｔｏｆｆ（ｎ）×Ｔｏｆｆ（ｎ）＝［２×Ｔ×Ｌ×｛Ｉｖ（ｎ−１）−Ｉａｖ（ｎ）｝／Ｖｄｃ（ｎ）］＋Ｔ×Ｔ×Ｖａｃ（ｎ）／Ｖｄｃ（ｎ）・・・（式１３）となるので、結局、Ｔｏｎ（ｎ）は、Ｔｏｎ＝Ｔ−Ｔｏｆｆ（ｎ）・・・（式１４）と算出される。なお、（式１４）その他の算出過程は、図１５，図１６に補充説明している。
【００４６】
本実施例では、不連続モードか連続モードかに応じて、（式９）か又は（式１４）を用いて制御オン時間Ｔｏｎ（ｎ）を算出するが、その演算には、次回の制御サイクル（ｎ）における、交流入力電圧Ｖａｃ（ｎ）、直流出力電圧Ｖｄｃ（ｎ）、及び平均入力電流Ｉａｖ（ｎ）の予測パラメータが必要となる。
【００４７】
交流入力電圧Ｖａｃ（ｎ）については、今回の交流入力電圧の計測値Ｖａｃ（ｎ−１）と、前回の交流入力電圧の計測値Ｖａｃ（ｎ−２）に基づいて予測することとし、具体的には、今回の計測値Ｖａｃ（ｎ−１）に、制御サイクル（ｎ−２）と制御サイクル（ｎ−１）計測値の差分を加算して以下の通りとする。Ｖａｃ（ｎ）＝２×Ｖａｃ（ｎ−１）−Ｖａｃ（ｎ−２）・・・（式１５）
一方、直流出力電圧Ｖｄｃ（ｎ）については、直流電圧についての過去の計測値の平均値Ｖｄｃを採用する。平均値Ｖｄｃの算出法は適宜に決定されるが、この実施例では０．５秒毎に実行される平均化処理によって過去０．５秒間の計測値を平均化して、直流出力電圧Ｖｄｃとしている（図９のステップＳＴ３８参照）。この直流出力電圧Ｖｄｃは、メモリの適当なワークエリアに格納されており、このワークエリアの値Ｖｄｃが０．５秒毎に更新されるようになっている。
【００４８】
したがって、この場合には、不連続モードで、Ｔｏｎ（ｎ）×Ｔｏｎ（ｎ）＝｛２×Ｔ×Ｌ×Ｉａｖ（ｎ）×（Ｖｄｃ−Ｖａｃ（ｎ））｝／｛Ｖａｃ（ｎ）×Ｖｄｃ｝・・・(式９’）となり、一方、連続モードでは、Ｔｏｆｆ（ｎ）×Ｔｏｆｆ（ｎ）＝［２×Ｔ×Ｌ×｛Ｉｖ（ｎ−１）−Ｉａｖ（ｎ）｝／Ｖｄｃ］＋Ｔ×Ｔ×Ｖａｃ（ｎ）／Ｖｄｃ・・・（式１３’）、Ｔｏｎ＝Ｔ−Ｔｏｆｆ（ｎ）・・・（式１４’）となる。
【００４９】
但し、０．５秒間の平均値Ｖｄｃを使用するのに変えて、Ａ／ＤコンバータＡＤ３の出力値ＡＤ３を１ｍＳ毎に取得したＶｄｃ（ｉ）の値を使用しても良い。この場合には、不連続モードで、Ｔｏｎ（ｎ）×Ｔｏｎ（ｎ）＝｛２×Ｔ×Ｌ×Ｉａｖ（ｎ）×（Ｖｄｃ（ｉ）−Ｖａｃ（ｎ））｝／｛Ｖａｃ（ｎ）×Ｖｄｃ（ｉ）｝・・・(式９’’）となり、一方、連続モードでは、Ｔｏｆｆ（ｎ）×Ｔｏｆｆ（ｎ）＝［２×Ｔ×Ｌ×｛Ｉｖ（ｎ−１）−Ｉａｖ（ｎ）｝／Ｖｄｃ（ｉ）］＋Ｔ×Ｔ×Ｖａｃ（ｎ）／Ｖｄｃ（ｉ）・・・（式１３’’）、Ｔｏｎ＝Ｔ−Ｔｏｆｆ（ｎ）・・・（式１４’’）となる。なお、図３では、便宜上、Ｖｄｃ（ｉ）を使用する場合を実線で示し、直流出力電圧Ｖｄｃを使用する場合を破線で示している。
【００５０】
また、平均入力電流Ｉａｖ（ｎ）の予測値は、交流入力電圧Ｖａｃ（ｎ）の予測値との関係からＩａｖ（ｎ）＝β×Ｖａｃ（ｎ）とする。ここでゲインβは、直流出力電圧の基準値（目標値）Ｖｏと、上記の平均化された直流出力電圧Ｖｄｃとを比較しながら、その差ＶｅｒｒがゼロになるようにＰＩ制御によって調整する。
【００５１】
すなわち、Ｖｅｒｒ＝Ｖｏ−Ｖｄｃ・・・（式１６）であり、Ｖｏ＝Ｖａｃ（ｐｋ）＋α・・・（式１７）である。ここで、直流出力電圧の基準値Ｖｏは、交流入力電圧（脈流）の波高値Ｖａｃ（ｐｋ）に、コイルＬによる昇圧量αを加算したものに設定する。このように設定することによって、入力電圧値に応じた効率の高い変換が可能となる。また、コイルＬによる昇圧量を小さくできるので、大型化しない適当なサイズで安価で軽量のコイルを選択することが可能となる。なお、コイルＬのインダクタンス最適値は、一般に、Ｌ＝Ｖａｃ×Ｖａｃ×（Ｖｄｃ−Ｖａｃ）／｛γ×Ｐａｃ×Ｖｄｃ／Ｔ｝の設計式に基づいて決定されるが、本実施例では、入力電圧値Ｖａｃに対応して出力電圧値Ｖｄｃを設定するので、コイルのインダクタンス値がほぼ最適値を常に維持する。なお、上記の設計式において、γは入力電流のリプル含有率、Ｔは制御周期、Ｐａｃは最大入力電力、Ｖａｃは入力電圧の瞬時値である。
【００５２】
図３は、上記した制御動作を説明する制御ブロック図である。図示の通り、連続モードか不連続モードかを各制御サイクル毎に判定し、不連続モードであれば（式９’／式９’’）を使用し、連続モードであれば（式１４’／式１４’’）を使用して制御オン時間Ｔｏｎを算出する。そして、算出された制御オン時間Ｔｏｎに等しいパルス幅を有するＰＷＭ波によって昇圧チョッパ４Ａのスイッチング素子Ｑ１をＯＮ動作させる。
【００５３】
以上、図２と図３に基づいて、ＰＷＭ制御の制御原理を説明したので、次に、図３の制御動作を実現するワンチップマイコン３について具体的に説明する。
【００５４】
図４は、ワンチップマイコン３の内部構成図を例示したものであり、ここでは、シングルチップＲＩＳＣマイコンＳＨ７０４６（株ルネサステクノロジー）を使用している。このワンチップマイコン３は、ＣＰＵコア３０と、クロック発生部３１と、ＡＤ変換部３２と、マルチファンクションタイマパルスユニット（ＭＴＵ）３３とを内蔵している。この実施例のクロック発生部３１は、５０ＭＨｚのシステムクロックを発振しており、システムクロックを二分周した２５ＭＨｚの周辺クロックＰΦがＭＴＵ３３に供給されている。そして、この周辺クロックＰΦは、その後分周されることなく、そのまま計数クロック（周波数２５ＭＨｚ）としてＭＴＵ３３のカウンタに供給される。
【００５５】
図５は、ＡＤ変換部３２の内部構成を概略的に図示したものである。このＡＤ変換部３２は、８チャネルのアナログ入力端子ＡＮ８，ＡＮ１５を有しており、入力されたアナログ信号は、逐次比較方式によりＡＤ変換され、ＡＤ変換後のデジタルデータ（分解能１０ビット）は、データレジスタＡＤＤＲ８，ＡＤＤＲ１５に格納される。
【００５６】
この実施例では、昇圧チョッパ４の動作状態を示す各アナログ信号は、信号入力部ＩＮ１，ＩＮ３を経由して、上記したＡＤ変換部３２に供給されており、ＡＤ変換部３２は、実質的に、４チャネルのＡ／ＤコンバータＡＤ１，ＡＤ４として機能している。４チャネルのＡ／ＤコンバータＡＤ１，ＡＤ４は、連続スキャンモードで動作するよう設定されており、ＭＴＵ３３からＡＤ変換開始トリガ（図５参照）を受けると、Ａ／ＤコンバータＡＤ１，ＡＤ４がその順番にＡＤ変換動作を実行するようになっている。
【００５７】
そして、すべてのＡＤ変換動作が完了すると、ＣＰＵコア３０に対して、割込み信号（ＡＤＩ割込み）を出力するよう設定されている。したがって、ＣＰＵコア３０は、ＡＤＩ割込みに起因する割込み処理プログラムにおいて、ＡＤ変換された入力データに基づく演算処理を行い、前述した制御オン時間Ｔｏｎを算出することになる。
【００５８】
図６は、ＭＴＵ（マルチファンクションタイマパルスユニット）３３の内部構成を図示したものである。このＭＴＵ３３は、５チャネル(channel_0〜channel_4)の１６ビットタイマにより構成されており、各種のレジスタへの設定データに基づいて、任意のパルス幅のＰＷＭ波を出力できるようになっている。
【００５９】
本実施例の場合、ＭＴＵ３３の各設定は、以下の通りである。
＜ＡＤ変換部３２に関連する設定＞
ＴＧＲＡ＿０(チャネル０のジェネラルレジスタＡ)のコンペアマッチによりＡＤ変換開始トリガを発生させる。なお、このＡＤ変換開始トリガによって、ワンチップマイコン３のＡＤ変換部３２がＡＤ変換の動作を開始するのは、前述した通りである。
＜ＣＰＵコア３０への割込み要求の設定＞
ＴＧＲＡ＿０(チャネル０のジェネラルレジスタＡ)のコンペアマッチによりＣＰＵコアに割込み要求信号を発生させる。この割込み要求信号に応じて、ＣＰＵコア３０は、ＴＧＲＢ＿０（チャネル０のジェネラルレジスタＢ）、ＴＧＲＡ＿２，ＴＧＲＢ＿２（チャネル２のジェネラルレジスタＡとＢ）に設定値を書込む（図６の「＊」記号参照）。
【００６０】
ここで、ＴＧＲＢ＿０の設定値（Ｔｏｎ）は、ＭＴＵ３３から出力されるＰＷＭ波の立下りタイミングを規定する変数値である。また、ＴＧＲＡ＿２，ＴＧＲＢ＿２の設定値（図６ではＴｏｎ−２０，Ｔｏｎ＋２０と表示）は、第一スイッチング素子Ｑ１のＯＦＦ遷移動作に先立って、第二スイッチング素子Ｑ２をＯＮ動作させるタイミングを規定する変数値である。
＜ＭＴＵ３３の動作に関する設定＞
［設定（１）］  チャネル０〜２の全てを「同期動作」に設定する。そして、チャネル０のカウンタクリア要因を「ＴＧＲＡ＿０（チャネル０のジェネラルレジスタＡ）のコンペアマッチ」に設定し、チャネル１〜２のカウンタクリア要因を「同期クリア」に設定する。したがって、チャネル０〜２のタイマカウンタＴＣＮＴ＿０〜ＴＣＮＴ＿２は、全てＴＧＲＡ＿０のコンペアマッチ時に同期してクリアされる。
［設定（２）］  チャネル０〜２を「ＰＷＭモード１」に設定する。ＰＷＭモード１の場合、チャネル０では、ＴＧＲＡ（ジェネラルレジスタＡ）とＴＧＲＢ（ジェネラルレジスタＢ）をペアで使用することになる。そして、ＴＩＯＣＡ端子（ＭＴＵ３３のＰＷＭ出力端子）からＴＧＲＡとＴＧＲＢのコンペアマッチによるＰＷＭ波が出力される。
【００６１】
そこで、この実施例では、ＴＩＯＣＡ＿０端子（チャネル０のＰＷＭ出力端子）から、ＴＧＲＡ（ジェネラルレジスタＡ：設定値１１４０）及びＴＧＲＢ（ジェネラルレジスタＢ：制御サイクル毎の設定値Ｔｏｎ）の各コンペアマッチによってＰＷＭ波を出力している（図７（ａ）参照）。
［設定（３）］  ＴＧＲＡ＿１，ＴＧＲＢ＿１（チャネル１のジェネラルレジスタＡとＢ）には、初期設定により、ＣＰＵコア３０が１１４０−αとγとを固定的に書込む。ここでは、α＝γ＝２０としているので、ＴＧＲＡ＿１とＴＧＲＢ＿１には、１１２０＝１１４０−２０と、２０が書き込まれる。なお、このαとγは、ＯＮパルス信号ＣＴＬのパルス幅を決定する値であるから、制御サイクル毎にエミッタ電流に基づいて変更しても良く、この場合には、ＴＧＲＡ＿０のコンペアマッチによる割込み要求信号に応答して制御サイクル毎に書き換えることになる。
［設定（４）］  先に、＜ＣＰＵコア３０への割込み要求の設定＞、に関して説明した通り、ＴＧＲＡ＿２，ＴＧＲＢ＿２（チャネル２のジェネラルレジスタＡとＢ）には、ＴＧＲＡ＿０のコンペアマッチによる割込み要求に応じて、ＣＰＵコア３０が、それぞれ、Ｔｏｎ−α、Ｔｏｎ＋γを書込む。なお、Ｔｏｎは、制御サイクル毎に算出される制御オン時間である。図６及び図７では、α＝γ＝２０として記載している。
［設定（５）］  ＴＩＯＣＡ端子（ＭＴＵ３３のＰＷＭ出力端子）の出力レベルは、ＴＧＲＡ（ジェネラルレジスタＡ）のコンペアマッチ時と、ＴＧＲＢ（ジェネラルレジスタＢ）のコンペアマッチ時に変化する。そして、ＴＩＯＣＡ＿０〜ＴＩＯＣＡ＿２の各出力は、各チャネルのＴＩＯＲ（タイマＩＯコントロールレジスタ）への初期設定により、ＴＧＲＡ＿０〜ＴＧＲＡ＿２のコンペアマッチでＨレベルに立ち上がり、ＴＧＲＢ＿０〜ＴＧＲＢ＿２のコンペアマッチでＬレベルに立下るよう設定する。
［設定（６）］  タイマカウンタＴＣＮＴの計数クロックは、周辺クロックＰΦと同じ２５ＭＨｚ（周期４０ｎＳ）とする。
【００６２】
ＭＴＵ３３は、上記のように設定されて動作する。図７（ａ）は、ＭＴＵ３３の動作に関連して、各チャネル０〜２のタイマカウンタＴＣＮＴ(TCNT_0〜TCNT_2)と各ジェネラルレジスタ（TGRA_0,TGRB_0）との関係、ＰＷＭ出力端子(TIOCA_0)から出力されるＰＷＭ波、及び、ＭＴＵ３３の各出力端子（TIOCA_1〜TIOCA_2）から出力されるパルス信号ＣＴＬを図示したものである。
【００６３】
先に説明した通り、本実施例では、固定値１１４０に設定されたＴＧＲＡ＿０のコンペアマッチ時に、チャネル０〜２のタイマカウンタＴＣＮＴ＿０〜ＴＣＮＴ＿２が同期してクリアされる。そのため、各タイマカウンタＴＣＮＴは、０，１１３９を循環する１１４０進カウンタとして機能する。一方、タイマカウンタＴＣＮＴの計数クロックは、２５ＭＨｚ（周期４０ｎＳ）であるから、タイマカウンタは、４５．６μＳ（＝１１４０×４０ｎＳ）を一周期（制御周期Ｔ）として循環動作することになり、ＰＷＭ制御のキャリア周波数は約２２ＫＨｚとなる。
【００６４】
チャネル０、チャネル１の各ジェネラルレジスタ（TGRA_0，TGRA_1，TGRB_1）には、初期設定処理により、それぞれ１１４０、１１４０−α、０＋γが固定的に設定される。一方、チャネル０、チャネル２の各ジェネラルレジスタ（TGRB_0，TGRA_2，TGRB_2）には、チャネル０のＴＧＲＡ（ＴＧＲＡ＿０）のコンペアマッチ時（つまり各タイマカウンタＴＣＮＴの同期クリア時）に生じる割込みにより、ＣＰＵコア３０によって、それぞれＴｏｎ、Ｔｏｎ−α、Ｔｏｎ＋γが書込まれる。
【００６５】
以上の設定のため、タイマカウンタＴＣＮＴがクリアされるのに合わせて、ＴＩＯＣＡ＿０（チャネル０のＴＩＯＣＡ端子）はＨレベルに立ち上がる。その後、チャネル０のタイマカウンタＴＣＮＴ＿０が進行して、ＴＧＲＢ＿０（チャネル０のジェネラルレジスタＢ）の値であるＴｏｎに一致すると、ＴＩＯＣＡ＿０はＬレベルに立下がる。このようなＰＷＭ波のＯＮ／ＯＦＦ遷移動作に先立って、ＴＩＯＣＡ＿１端子とＴＩＯＣＡ＿２端子からは先行してＯＮパルス信号ＣＴＬが出力される。
【００６６】
以上の通り、ＰＷＭ波は、パルス幅Ｔｏｎでスイッチング素子Ｑ１をＯＮ動作させ、且つ、スイッチング素子Ｑ１がＯＮ遷移動作に先立ってスイッチング素子Ｑ２が、ＯＮパルス信号ＣＴＬによってＯＮ状態になる。なお、図７（ｂ）は、スイッチング回路４Ｂに対する駆動回路ＤＲの出力波形を図示したものである。また、図７（ｃ）は、ＴＧＲＡ＿０(チャネル０のジェネラルレジスタＡ)のコンペアマッチに基づくＣＰＵコア３０の割込み処理を図示したものである。先に説明した通り、各制御周期の最初のタイミングで（ＴＧＲＡ＿０のコンペアマッチ時）、ＣＰＵコア３０は、ＭＴＵ３３のＴＧＲＢ＿０（チャネル０のジェネラルレジスタＢ）に、パルス幅が制御オン時間Ｔｏｎとなる設定値を書込む。なお、この制御オン時間Ｔｏｎは、一つ手前の制御サイクルにおいて算出された値である。
【００６７】
図７（ｄ）は、ＴＧＲＡ＿０(チャネル０のジェネラルレジスタＡ)のコンペアマッチによるＡＤ変換開始トリガに関して図示したものである。図示の通り、各制御周期の最初のタイミングで（ＴＧＲＡ＿０のコンペアマッチ時）、ＡＤ変換開始トリガがＭＴＵ３３からＡＤ変換部３２に供給され、これに呼応して、Ａ／ＤコンバータＡＤ１，ＡＤ４が連続スキャンモードで動作して、この順番にＡＤ変換動作を実行する。そして、Ａ／ＤコンバータＡＤ４がＡＤ変換を終了すると、ＣＰＵコア３０に対して、ＡＤ変換終了割込み信号を出力する。
【００６８】
以上の通り、ＭＴＵ３３は、ＣＰＵコア３０及びＡＤ変換部３２と協働して、ＰＷＭ波を、約５０μＳの制御周期Ｔで出力する。図８，図９は、図３の制御動作を実現するワンチップマイコン３の処理内容を示すフローチャートである。図３に示す制御処理は、４５．６μＳ毎に繰り返されるＭＴＵ３３によるＰＷＭ波の出力動作（図７（ａ）、図８（ａ）参照）と、１ｍＳ毎に起動されるタイマ割込みＴＭ＿ＩＮＴ（図９）と、ＡＤ変換動作が完了すると起動されるＡＤ変換終了割込みＡＤ＿ＩＮＴ（図８（ｂ））とを中心に構成されている。
【００６９】
以下、図８（ａ）に基づいて、ＭＴＵ３３の動作内容を確認する。タイマカウンタＴＣＮＴは、４５．６μＳ（＝計数クロックの１１４０個分）毎に同期してクリアされる。このクリア時にＣＰＵコア３０に割込みがかかり、ＣＰＵコア３０は、ＴＧＲＢ＿０，ＴＧＲＡ＿２，ＴＧＲＢ＿２への書込み処理によって各ＰＷＭ波の立下りタイミングと、それに先行するＯＮパルス信号ＣＴＬの動作タイミングとを規定する（図７（ｂ）（ｃ）参照）。また、タイマカウンタＴＣＮＴのクリア時に、ＡＤ変換部３３に対してＡＤ変換開始トリガが供給される（図７（ｄ）参照）。
【００７０】
その後、連続スキャンモードで動作するＡ／ＤコンバータＡＤ１，ＡＤ４のＡＤ変換処理を完了すると、ＣＰＵコア３０に、ＡＤ変換終了割込みがかかる。なお、図８（ｃ）に示すように、制御サイクルが開始されてから最初のＡＤ変換が開始されるまでに時間遅れＴｓがあり、また、１番目のＡＤ変換開始から４番目のＡＤ変換開始までに遅延時間Ｔｄがある。
【００７１】
＜ＡＤ変換終了割込みＡＤ＿ＩＮＴ＞
全てのＡ／ＤコンバータについてＡＤ変換動作が終了すると、図８（ｂ）に示す割込み処理ＡＤ＿ＩＮＴによって制御演算が実行される。先ず、Ａ／ＤコンバータＡＤ１，ＡＤ４の出力値ＡＤ１，ＡＤ４（コイルＬへの入力電流）を取得する（ＳＴ１０）。次に、平均演算（ＡＤ１＋ＡＤ４）／２によって、制御サイクル（ｎ−１）における入力電流の平均値Ｉａｖ（ｎ−１）を算出する（ＳＴ１１）。なお、図８（ｃ）に示すように、入力電流値は、サンプリング点によって変化するので、入力電流の平均値（平均電流）としての精度は高くないが、この平均値Ｉａｖ（ｎ−１）は、次に説明するインダクタンス値の補正に使用するだけであるから、特に問題は生じない。
【００７２】
入力電流の平均値Ｉａｖ（ｎ−１）が求まれば、回路に実装されているコイルＬ１のインダクタンス値を電流値Ｉａｖ（ｎ−１）に基づいて特定する。コイルＬ１は、図１０に示すように、そこに流れる直流重畳電流（平均電流）に応じて、そのインダクタンス値が変化する場合が多い。そこで、この実施例では、回路に実装されているコイルＬ１の特性を予めメモリに格納しておき、入力電流の平均値Ｉａｖ（ｎ−１）に応じたインダクタンス値を、各演算式で使用するようにしている。
【００７３】
そのため、大型で高価なコイルを使用しなくても高精度の制御が可能となる。なお、制御精度を更に高めるためには、平均演算（ＡＤ１＋ＡＤ４）／２によって求まった電流値Ｉａｖ（ｎ−１）を、その制御サイクル（ｎ−１）における制御オン時間Ｔｏｎ（ｎ−１）に応じて補正しても良い（図３参照）。すなわち、２つのサンプリング点ＡＤ１，ＡＤ４が、コイル充電電流ＡＤ１とコイル放電電流ＡＤ４に分かれる場合もあれば、制御オン時間Ｔｏｎ（ｎ−１）が長いために、共にコイル充電電流となる場合もあるので（図８（ｃ）参照）、この点を踏まえて平均電流を補正すれば、より精密な制御を実現できる。
【００７４】
続いて、Ａ／ＤコンバータＡＤ２の出力値ＡＤ２（交流入力電圧Ｖａｃ（ｎ−１））を取得する（ＳＴ１３）。そして、電圧予測式Ｖａｃ（ｎ）＝２×Ｖａｃ（ｎ−１）−Ｖａｃ（ｎ−２）に基づいてＶａｃ（ｎ）を算出する（ＳＴ１４）。次に、Ａ／ＤコンバータＡＤ３の出力値ＡＤ３（直流出力電圧Ｖｄｃ（ｎ−１））を取得する（ＳＴ１５）。
【００７５】
続いて、Ｉａｖ（ｎ）＝β×Ｖａｃ（ｎ）の計算によって、入力電流指令値Ｉａｖ（ｎ）を算出する（ＳＴ１６）。なお。必要な積算パラメータβの値は、図９に示すタイマ割込み処理ＴＭ＿ＩＮＴにおいて１ｍＳ毎に更新されて適宜なワークエリアに格納されている。
【００７６】
次に、Ａ／ＤコンバータＡＤ１からの取得値ＡＤ１と、ステップＳＴ１２の処理で補正されたコイルのインダクタンス値Ｌと、ステップＳＴ１３の処理で取得された交流入力電圧値Ｖａｃ（ｎ−１）と、この制御サイクルにおける制御オン時間Ｔｏｎ（ｎ−１）と、直流出力電圧値Ｖｄｃ（ｉ）とに基づいて、（式５’）の判別式に基づいて、コイル充電開始電流Ｉｖ（ｎ−１）を算出する（ＳＴ１７）。そして、コイル充電開始電流Ｉｖ（ｎ−１）の値（正か否か）に応じて、連続モードとして制御すべきか不連続モードとして制御すべきかを決定する（ＳＴ１７）。なお、（式５’）に代えて（式５’’）の判別式を用いても良いのは、前述の通りである。
【００７７】
ここでＩｖ（ｎ−１）≦０であって不連続モードであった場合には、Ｉｖ（ｎ−１）＝０に設定すると共に（ＳＴ１９）、（式９’）または（式９’’）の演算式に基づいて制御オン時間Ｔｏｎ（ｎ）を算出する（ＳＴ２０）。一方、Ｉｖ（ｎ−１）＞であって連続モードであった場合には、（式１４’）（式１４’’）の演算式に基づいて制御オン時間Ｔｏｎ（ｎ）を算出する（ＳＴ２１）。
【００７８】
そして、算出された制御オン時間Ｔｏｎ（ｎ）について、それが制御上限値と制御下限値を超えていないことを条件に、次回の制御サイクル（ｎ）の制御オン時間としてＰＷＭ用バッファ領域にＴｏｎ（ｎ）の値を設定する（ＳＴ２２，２３）。このようにしてＰＷＭ用バッファに書込まれたＴｏｎ（ｎ）は、次の制御サイクル開始時の割込み時に使用され、ＭＴＵ３３のＴＧＲＡ＿２，ＴＧＲＢ＿２（チャネル２のジェネラルレジスタＡとＢ）に、それぞれ、Ｔｏｎ−α，Ｔｏｎ＋γが書込まれる。但し、算出された制御オン時間Ｔｏｎ（ｎ）が、上限値か下限値を超えている場合には、ＰＷＭ用バッファに、それぞれ制御上限値又は制御下限値を設定する。
【００７９】
＜タイマ割込みＴＭ＿ＩＮＴ＞
続いて、上記したＡＤ変換終了割込みＡＤ＿ＩＮＴとは独立して、１ｍＳ毎に開始されるタイマ割込みＴＭ＿ＩＮＴについて図９のフローチャートに基づいて説明する。
【００８０】
タイマ割込みＴＭ＿ＩＮＴでは、先ず、Ａ／ＤコンバータＡＤ３の出力であるＶｄｃ（ｉ）を取得する（ＳＴ３０）。なお、Ａ／ＤコンバータＡＤ３は４５．６μＳ毎にＡＤ変換動作を実行するが、タイマ割込みＩＮＴ１では、ＡＤ変換された出力直流電圧を１ｍＳ毎に取得することになる。以下、取得した直流電圧をＶｄｃ（ｉ）と表現する。
【００８１】
次に、ＳＵＭ←ＳＵＭ＋Ｖｄｃ（ｉ）の演算を実行して、取得した出力直流電圧Ｖｄｃ（ｉ）の値をワークエリアの平均算出バッファＳＵＭに加算する（ＳＴ３１）。また、Ａ／ＤコンバータＡＤ２の出力である交流入力電圧Ｖａｃ（ｉ）を取得して（ＳＴ３２）、交流入力電圧Ｖａｃ（ｉ）と、メモリに保存されている波高最大値Ｖａｃ（ｐｋ）とを対比する（ＳＴ３３）。
【００８２】
そして、Ｖａｃ（ｉ）＞Ｖａｃ（ｐｋ）であれば、Ｖａｃ（ｐｋ）←Ｖａｃ（ｉ）の演算によって、メモリに記憶されている波高最大値Ｖａｃ（ｐｋ）の値を更新する（ＳＴ３４）。このようにして交流入力電圧の波高値Ｖａｃ（ｐｋ）を求めた後、カウンタＣＴをデクリメント処理（−１）し（ＳＴ３５）、カウンタ値ＣＴがゼロか否かを判定する（ＳＴ３６）。
【００８３】
ここで、カウンタ値ＣＴがＣＴ＝０となると、平均算出バッファＳＵＭの値を１／５００倍することで、出力直流電圧Ｖｄｃ（ｉ）の平均値を求める（ＳＴ３７）。そして、この平均値によって直流出力電圧Ｖｄｃを特定する（ＳＴ３８）。
【００８４】
このようにして直流出力電圧Ｖｄｃが求めれば、平均算出バッファＳＵＭとカウンタＣＴの値を初期設定し（ＳＴ３９）、Ｖｏ←Ｖａｃ（ｐｋ）＋αの演算によって出力直流電圧の基準値（目標値）Ｖｏを算出する（ＳＴ４０）。αは、入力交流電圧の波高値Ｖａｃ（ｐｋ）と比較した場合の、コイルＬにおける昇圧分である。そして、出力基準電圧Ｖｏと、計測値から得られる出力平均電圧Ｖｄｃとの差を算出する（ＳＴ４１）。具体的には、Ｖｅｒｒ（ｉ）←Ｖｏ−Ｖｄｃの演算を行う。
【００８５】
以上の結果に基づき、ＰＩ制御による指令値βを算出してタイマ割込み処理ＩＮＴ１を終える（ＳＴ４２）。ここで、指令値βの算出は、β＝Ｖｅｒｒ（ｉ）×Ｋｐ＋｛Ｖｅｒｒ（ｉ）×Ｋｉ＋Ｖｅｒｒ（ｉ−１）’×Ｋｉ｝の演算式によるが、Ｖｅｒｒ（ｉ−１）’×Ｋｉは、前回（ｉ−１）の積分制御値であって、Ｖｅｒｒ（ｉ−１）’×Ｋｉ＝Ｖｅｒｒ（ｉ−１）×Ｋｉ＋Ｖｅｒｒ（ｉ−２）’×Ｋｉとして算出されていた値である。
【００８６】
なお、以上説明したＡＤ変換終了割込み（図８（ｂ））の内容は、制御ブロック図３に「ＩＮＴ１」と記載している。また、ＡＤ変換部３３の動作には「Ａ／Ｄ」と記載し、ＭＴＵ３３の動作には「ＭＴＵ」と記載している。
【００８７】
以上の通り、実施例に係るデジタルコンバータ１では、スイッチング回路４Ｂが、昇圧チョッパ４Ａに並列に接続されているので、各スイッチング素子Ｑ１，Ｑ２の平均電流が低下して、ＯＮ／ＯＦＦ遷移動作時のスパイクノイズが低減される。しかも、スイッチング素子Ｑ１のＯＮ／ＯＦＦ遷移動作時には、必ずスイッチグ素子Ｑ２がＯＮ状態であるので、この意味でもスパイクノイズの発生が有効に抑制される。
【図面の簡単な説明】
【００８８】
【図１】実施例に係るデジタルコンバータを示す回路ブロック図である。
【図２】制御周期とコイルの充放電動作との関係を説明するタイムチャートである。
【図３】実施例に係るデジタルコンバータの制御動作を説明する制御ブロック図である。
【図４】ワンチップマイコンの内部構成を示すブロック図である。
【図５】ＡＤ変換部の内部構成を示すブロック図である。
【図６】ＭＴＵの内部構成を示すブロック図である。
【図７】ＭＴＵの動作を説明するタイムチャートである。
【図８】ＭＴＵとＡＤ変換割込みの動作内容を示すフローチャートである。
【図９】タイマ割込みの動作内容を示すフローチャートである。
【図１０】コイルのインダクタンス値と平均電流との関係を示す特性図である。
【図１１】（式５）の導出過程を説明する図面である。
【図１２】（式５）の導出過程を説明する図面である。
【図１３】（式９）の導出過程を説明する図面である。
【図１４】（式９）の導出過程を説明する図面である。
【図１５】（式１４）の導出過程を説明する図面である。
【図１６】（式１４）の導出過程を説明する図面である。
【図１７】本発明の動作原理を説明する図面である。
【図１８】従来技術の問題点を説明する図面である。
【符号の説明】
【００８９】
Ｌ１，Ｌ３    コイル
Ｑ１，Ｑ３    スイッチング素子
１            デジタルコンバータ
２            整流回路
３            コンピュータ回路（ワンチップマイコン）
４Ａ    昇圧チョッパ
【図１】
2007288892.tif 000003
【図２】
2007288892.tif 000004
【図３】
2007288892.tif 000005
【図４】
2007288892.tif 000006
【図５】
2007288892.tif 000007
【図６】
2007288892.tif 000008
【図７】
2007288892.tif 000009
【図８】
2007288892.tif 000010
【図９】
2007288892.tif 000011
【図１１】
2007288892.tif 000012
【図１２】
2007288892.tif 000013
【図１３】
2007288892.tif 000014
【図１４】
2007288892.tif 000015
【図１５】
2007288892.tif 000016
【図１６】
2007288892.tif 000017
【図１７】
2007288892.tif 000018
【図１８】
2007288892.tif 000019
【図１０】
2007288892.tif 000020