入力電圧を供給する入力部、前記入力部から前記入力電圧を受けている期間ではエネルギーを蓄積し、前記入力電圧を受けていない期間では前記エネルギーを出力するエネルギー伝達部、制御信号に応じてオンオフすることによって、前記入力部から前記エネルギー伝達部への前記入力電圧の供給を制御するスイッチ部、前記エネルギー伝達部から出力される前記エネルギーを利用して、出力電圧を負荷に供給する出力部、前記出力電圧に基づいてフィードバック信号を生成する出力電圧測定部、及び、前記スイッチ部のオンオフのタイミングを前記制御信号で前記スイッチ部に指示する制御部、を備え、前記制御部は、クロック信号を生成する発振器を有し、前記クロック信号に応じて前記スイッチ部のオンのタイミングを決定し、前記フィードバック信号に基づいて電流閾値を決定して、前記スイッチ部を流れる電流量が前記電流閾値に達したタイミングを電流モード出力信号で表し、前記フィードバック信号に基づいて前記スイッチ部のオンデューティの目標値を、モード切換デューティ信号の示すオンデューティ以上の値に決定して、前記目標値で決まる前記スイッチ部のオフのタイミングを電圧モード出力信号で表し、前記スイッチ部がオンした後に、前記電流モード出力信号の表すタイミングが、前記モード切換デューティ信号の示すオンデューティで決まる前記スイッチ部のオフのタイミングよりも先である場合、前記電流モード出力信号の表すタイミングを前記スイッチ部のオフのタイミングとして決定し、前記電流モード出力信号の表すタイミングが、前記モード切換デューティ信号の示すオンデューティで決まる前記スイッチ部のオフのタイミングよりも後である場合、前記電圧モード出力信号の示すタイミングを前記スイッチ部のオフのタイミングとして決定する、スイッチング電源装置。前記制御部は、前記スイッチ部を流れる電流量を測定する電流測定回路、前記フィードバック信号と、前記電流測定回路によって測定された電流量とに基づいて、前記電流モード出力信号を生成する電流モード制御部、前記モード切換デューティ信号を生成する回路を含み、前記フィードバック信号と前記モード切換デューティ信号とに基づいて、前記電圧モード出力信号を生成する電圧モード制御部、前記電流モード出力信号、前記電圧モード出力信号、及び前記モード切換デューティ信号を用いて選択信号を生成するモード選択部、並びに、前記クロック信号に応じて前記スイッチ部をオンさせるように前記制御信号を制御し、前記選択信号に応じて前記スイッチ部をオフさせるように前記制御信号を制御するスイッチング制御回路、を有する、請求項1に記載のスイッチング電源装置。前記制御部は、前記電流モード出力信号に応じて、前記スイッチ部のオンデューティの上限値を、前記モード切換デューティ信号の示すオンデューティに制限する、請求項1に記載のスイッチング電源装置。前記制御部は、前記電流モード出力信号に応じて、前記モード切換デューティ信号の示すオンデューティを上昇させる、請求項1に記載のスイッチング電源装置。前記制御部は、前記電流モード出力信号に応じて、前記スイッチ部のオンデューティの上限値を、前記モード切換デューティ信号の示すオンデューティに制限し、その後、前記電圧モード出力信号の表すタイミングを前記スイッチ部のオフのタイミングとして決定した場合、前記スイッチ部のオンデューティの上限値に対する制限を外す、請求項1に記載のスイッチング電源装置。前記制御部は、前記スイッチ部を流れる電流量が許容最大値に達したときに、前記スイッチ部をオフさせるように前記制御信号を制御し、前記スイッチ部のオンデューティが低いほど、前記許容最大値を低く設定する、請求項1に記載のスイッチング電源装置。上記のとおり、スイッチング素子のオンデューティを50未満に制限すれば、サブハーモニック発振を抑えることができる。しかし、その場合、入力電圧のスローアップ時、及び瞬停時には、所望の出力電圧が得られないという問題が生じる。一方、スロープ補償を利用すれば、スイッチング素子のオンデューティを50以上に設定しても、サブハーモニック発振を抑えることができる。しかし、その場合、スイッチング素子のオン時間が長いほど、1次電流のピーク値が低く制限される。何故なら、スロープ補償によって、電圧信号VCLのレベルの増加率が1次電流の増加率よりも高く設定されるからである。また、入力電圧が低いほど1次電流の増加が遅いので、電流モード制御ではスイッチング素子のオン時間が長く調節される。従って、スロープ補償を利用した場合、入力電圧が低いほど1次電流のピーク値が低い。すなわち、出力電力が入力電圧に依存するという問題が生じる。スロープ補償にはその他に、次の問題がある。図13に示されている過電流保護部284は実際には、1次電流測定部282によって生成された電圧信号VCLのレベルが基準電圧源284Aによる一定電圧に達してから、第2比較器284Bの出力がHレベルからLレベルへ変化するまでに、ある程度の時間を必要とする。この時間を過電流保護遅れ時間という。図14のcは、過電流保護遅れ時間が無視できない場合における1次電流IDの波形図である。図14のcを参照するに、入力電圧が高いほど、1次電流IDの傾きは大きい。従って、1次電流IDの値が許容最大値ILに達してから過電流保護遅れ時間ΔTLが経過した時点における1次電流IDの値と許容最大値ILとの間の差ΔILは、入力電圧が高いほど大きい。その結果、過電流保護遅れ時間ΔTLが無視できない場合、1次電流IDのピーク値が入力電圧に依存するので、出力電力が入力電圧に依存する問題が生じる。この問題を解消するには、スイッチング素子のオンデューティが低いほど、基準電圧源284Aによる電圧を下げる等によって、許容最大値ILを下げればよい。しかし、その操作では、スロープ補償とは逆に、入力電圧が低いほど1次電流のピーク値が高い。それ故、その操作とスロープ補償とを両立させることができない。本発明の目的は、上記の課題を解決することであって、特に、スロープ補償を利用することなく、サブハーモニック発振を抑えたまま、スイッチング素子のオンデューティを50以上に設定することが可能なスイッチング電源装置を提供することにある。本発明によるスイッチング電源装置は、入力部、エネルギー伝達部、スイッチ部、出力部、出力電圧測定部、及び制御部を備えている。入力部は入力電圧を供給する。エネルギー伝達部は、入力部から入力電圧を受けている期間ではエネルギーを蓄積し、入力電圧を受けていない期間ではそのエネルギーを出力する。スイッチ部は、制御信号に応じてオンオフすることによって、入力部からエネルギー伝達部への入力電圧の供給を制御する。出力部は、エネルギー伝達部から出力されるエネルギーを利用して出力電圧を負荷に供給する。出力電圧測定部は、出力電圧に基づいてフィードバック信号を生成する。制御部は、スイッチ部のオンオフのタイミングを制御信号でスイッチ部に指示する。制御部は、クロック信号を生成する発振器を有し、そのクロック信号に応じてスイッチ部のオンのタイミングを決定する。一方、制御部は、フィードバック信号に基づいて電流閾値を決定して、スイッチ部を流れる電流量が電流閾値に達したタイミングを電流モード信号で表す。制御部はまた、フィードバック信号に基づいてスイッチ部のオンデューティの目標値を、モード切換デューティ信号の示すオンデューティ以上の値に決定して、目標値で決まるスイッチ部のオフのタイミングを電圧モード信号で表す。制御部は更に、スイッチ部がオンした後に、電流モード信号の表すタイミングが、モード切換デューティ信号の示すオンデューティで決まるスイッチ部のオフのタイミングよりも先である場合、電流モード信号の表すタイミングをスイッチ部のオフのタイミングとして決定する。一方、制御部は、電流モード信号の表すタイミングが、モード切換デューティ信号の示すオンデューティで決まるスイッチ部のオフのタイミングよりも後である場合、電圧モード信号の示すタイミングをスイッチ部のオフのタイミングとして決定する。本発明によるスイッチング電源装置は、スイッチ部がオンした後、一定の時間が経過するまでに、スイッチ部を流れる電流量が電流閾値に達しない場合、スイッチ部のオンデューティを目標値に調節する。それにより、このスイッチング電源装置は、スロープ補償を利用しなくても、サブハーモニック発振を抑えたまま、スイッチング素子のオンデューティを50以上に設定することができる。以下、本発明の好適な実施形態について、図面を参照しながら説明する。《実施形態1》図1は、本発明の実施形態1によるスイッチング電源装置のブロック図である。図1を参照するに、このスイッチング電源装置100はフライバック型コンバータであり、入力部、スイッチ部103、トランス104、出力部、出力電圧測定部107、及び制御部108を備えている。入力部は整流器101と入力コンデンサ102とを含み、出力部はダイオード105と出力コンデンサ106とを含む。整流器101はダイオードブリッジ等を利用して、外部の商用交流電源から交流電圧を受けて直流電圧に変換する。入力コンデンサ102は、その直流電圧を平滑化して、実質的に一定の入力電圧Viを生成する。入力コンデンサ102の一端はトランス104の1次巻線141の一端に接続され、他端はスイッチ部103の出力端子に接続されている。スイッチ部103はnチャネルのパワーMOSFETを含む。スイッチ部103はその他に、pチャネルのMOSFET等、他のスイッチング素子を含んでいてもよい。スイッチ部103の入力端子、例えばドレイン端子はトランス104の1次巻線141に接続され、出力端子、例えばソース端子は入力コンデンサ102に接続されている。更に、スイッチ部103の制御端子、例えばゲート端子は制御部108に接続されている。スイッチ部103は、制御部108から制御端子へ印加される制御信号に従ってオンオフする。スイッチ部103がオンしている期間以下、スイッチ部103のオン期間という。では、1次巻線141に対して入力電圧Viが印加されるので、1次巻線141に1次電流IDが流れる。スイッチ部103がオフしている期間以下、スイッチ部103のオフ期間という。では、1次巻線121に対して入力電圧Viが印加されないので、1次電流IDが遮断される。トランス104は1次巻線141と2次巻線142とを含む。2次巻線142の一端にはダイオード105のアノードが接続されている。ダイオード105のカソードは出力コンデンサ106の一端に接続され、出力コンデンサ106の他端は2次巻線142の他端に接続されている。出力コンデンサ106の両端間には更に、外部の負荷LDが接続されている。スイッチ部103が周期的にオンオフするとき、1次巻線141に1次電流IDが周期的に流れる。それにより、2次巻線142の両端間に起電力が誘起される。スイッチ部103のオン期間では、起電力はダイオード105にとって逆バイアスであるので、2次巻線142には2次電流ISが流れない。従って、トランス104には、入力部から供給されるエネルギーが蓄積される。スイッチ部103のオフ期間では、1次電流IDが遮断されることにより、2次巻線142の両端間に誘起される起電力の極性が反転する。従って、ダイオード105がオンするので、2次巻線142に2次電流ISが流れ、エネルギーがトランス104から出力コンデンサ106へ移動する。出力コンデンサ106は、ダイオード105がオンしている間に充電され、オフしている間に放電する。こうして、出力コンデンサ106は、ダイオード105から周期的に印加される直流電圧を平滑化して、実質的に一定の出力電圧Voを生成し、外部の負荷LDへ供給する。それにより、出力コンデンサ106と負荷LDとの間には出力電流Ioが流れる。出力電圧測定部107は、出力電圧Voを測定し、その測定値を示すフィードバック信号FBSを生成する。制御部208は、そのフィードバック信号FBSに応じてスイッチ部103をオンオフさせる。制御部208は単一の半導体装置に実装されている。その半導体装置には更に、スイッチ部103が組み込まれていてもよい。図1を更に参照するに、制御部108は、発振器181、RSフリップフロップ182、NAND回路183、及びインバータ184を含む。発振器181はクロック信号CLKと最大デューティ信号MXDとを生成する。クロック信号CLKと最大デューティ信号MXDとは同じ一定周期の矩形波である。最大デューティ信号MXDはクロック信号CLKよりもパルス幅が十分に長い。クロック信号CLKはRSフリップフロップ182のセット端子Sに送られ、最大デューティ信号MXDはNAND回路183の入力端子の一方に送られる。NAND回路183の入力端子の他方にはRSフリップフロップ182の出力端子Qが接続されている。RSフリップフロップ182は、クロック信号CLKが立ち上がる度に、出力端子Qの電位をHレベルに維持する。そのとき、最大デューティ信号MXDはHレベルであるので、NAND回路183は出力端子の電位をLレベルに維持する。インバータ184はNAND回路183の出力端子とスイッチ部103の制御端子との間に接続され、NAND回路183の出力に応じた制御信号VGT以下、ゲート信号という。をスイッチ部103の制御端子に対して印加する。NAND回路183が出力端子の電位をLレベルに維持するとき、インバータ184はゲート信号VGTをHレベルに維持する。それにより、スイッチ部103がオンする。こうして、クロック信号CLKが立ち上がる度にスイッチ部103がオンする。従って、スイッチ部103のスイッチング周期はクロック信号CLKの周期に等しい。制御部108は更に、1次電流測定部110、制御信号生成部120、電圧モード制御部130、電流モード制御部140、モード選択部150、過電流保護部160、及びAND回路170を含む。1次電流測定部110は、1次電流IDの量を示す電圧信号VCLを生成する。制御信号生成部120は、フィードバック信号FBSの示す出力電圧Voの値に応じて電流閾値を決定し、その電流閾値を示す電圧信号CMC以下、電流モード制御信号という。を生成する。電流モード制御信号CMCは電流モード制御部140へ送られる。制御信号生成部120は更に、フィードバック信号FBSの示す出力電圧Voの値に応じてスイッチ部103のオンデューティの目標値を決定し、その目標値を示す電流信号VMC以下、電圧モード制御信号という。を生成する。電圧モード制御信号VMCは電圧モード制御部130へ送られる。フィードバック信号FBSの示す出力電圧Voの値が低いほど、電流閾値は大きく決定される。また、電流閾値が大きいほど、電流モード制御信号CMCのレベルは高く設定される。図2は、出力電圧Voとスイッチ部103のオンデューティの目標値との間の関係を示すグラフである。図2を参照するに、フィードバック信号FBSの示す出力電圧Voの値が低いほど、オンデューティの目標値は高く決定される。ここで、目標値の上限DMAXは、最大デューティ信号MXDで規定されるオンデューティ、すなわちスイッチング周期に対する最大デューティ信号MXDのパルス幅の割合に等しい。一方、目標値の下限DMCHをモード切換デューティという。モード切換デューティは、サブハーモニック発振が生じないオンデューティ、例えば50に設定される。また、オンデューティの目標値が高いほど、電圧モード制御信号VMCの電流量は小さく設定される。電圧モード制御部130は、電圧モード制御信号VMCに応じて、スイッチ部103のオン期間を規定する電圧信号VMS以下、電圧モード出力信号という。を生成する。電圧モード出力信号VMSは特に、スイッチ部103がオフすべきタイミングでHレベルからLレベルへ変化する。また、電圧モード出力信号VMSによって規定されるスイッチ部103のオンデューティはモード切換デューティよりも高い。電流モード制御部140は、1次電流測定部110によって生成された電圧信号VCLと電流モード制御信号CMCとを比較することにより、1次電流IDの量を電流閾値ITと比較する。1次電流IDの量が電流閾値ITよりも少ないとき、電流モード制御部140は出力信号CMS以下、電流モード出力信号という。をHレベルに維持する。1次電流IDの量が電流閾値IT以上であるとき、電流モード制御部140は電流モード出力信号CMSをLレベルに維持する。モード選択部150は、電流モード出力信号CMSによって規定されるスイッチ部103のオンデューティがモード切換デューティよりも低いとき、電流モード出力信号CMSの立ち下がりに同期して、出力信号SMS以下、選択信号という。をHレベルからLレベルへ変化させる。一方、モード選択部150は、電流モード出力信号CMSによって規定されるスイッチ部103のオンデューティがモード切換デューティ以上であるとき、電圧モード出力信号VMSの立ち下がりに同期して、選択信号SMSをHレベルからLレベルへ変化させる。電流モード出力信号CMSによってはスイッチ部103のオンデューティが規定されないときも同様である。過電流保護部160は、1次電流測定部110によって生成される電圧信号VCLの値を基準電圧と比較する。その基準電圧は、1次電流IDの量が許容最大値ILに達したとき、1次電流測定部110によって生成される電圧信号VCLの値に等しい。従って、電圧信号VCLが基準電圧よりも低いとき、1次電流IDの量が許容最大値ILよりも少なく、電圧信号VCLが基準電圧以上であるとき、1次電流IDの量が許容最大値IL以上である。1次電流IDの量が許容最大値ILよりも少ないとき、過電流保護部160は出力信号ECSをHレベルに維持し、1次電流IDの量が許容最大値IL以上であるとき、過電流保護部160は出力信号ECSをLレベルに維持する。AND回路170は選択信号SMSと過電流保護部160の出力信号ECSとの論理積を計算する。それにより、それらの信号SMS、ECSのいずれかがHレベルからLレベルへ変化したとき、AND回路170は出力信号をHレベルからLレベルへ変化させる。AND回路170の出力信号はRSフリップフロップ182のリセット端子Rに送られる。RSフリップフロップ182は、AND回路170の出力信号がHレベルからLレベルへ変化する度に出力端子Qの電位をLレベルに維持する。それに応じて、NAND回路183は出力端子の電位をHレベルに維持する。従って、インバータ184はゲート信号VGTをLレベルに維持する。それにより、スイッチ部103がオフする。こうして、オンデューティの目標値で決まるスイッチ部103のオフのタイミングで、又は、1次電流IDの値が電流閾値若しくは許容最大値ILに達したタイミングでスイッチ部103がオフする。尚、スイッチ部103がオンした後、RSフリップフロップ182の出力端子Qの電位がLレベルに変化する前に最大デューティ信号MXDがHレベルからLレベルへ変化した場合、その時点でNAND回路183は出力端子の電位をHレベルに変化させるので、スイッチ部103はオフする。それにより、スイッチ部103のオン時間が最大デューティ信号MXDのパルス幅を超えない。図3は、電圧モード制御部130、電流モード制御部140、及びモード選択部150の回路図である。図3を参照するに、電圧モード制御部130は、モード切換デューティ信号生成部131、PMOS132、第1NMOS133、コンデンサ134、第1インバータ135、第2インバータ136、第2NMOS137、第3NMOS138、及び第4NMOS139を含む。モード切換デューティ信号生成部131はモード切換デューティ信号MCDを生成する。図4のaは、モード切換デューティ信号MCDの波形図である。モード切換デューティ信号MCDは、クロック信号CLK及び最大デューティ信号MXDと同じ周期の矩形波であり、立ち下がりがクロック信号CLKの立ち上がりと同期している。すなわち、モード切換デューティ信号MCDの周期はスイッチング周期Tと等しく、スイッチ部103がオンする度に、モード切換デューティ信号MCDはHレベルからLレベルへ変化する。モード切換デューティ信号MCDが連続してLレベルに維持される時間Tminは、スイッチング周期にモード切換デューティを乗じた値に等しく、最大デューティ信号MXDのパルス幅よりも短い。図3を参照するに、PMOS132と第1NMOS133とはCMOSを構成している。各MOSFET132、133のゲート端子はモード切換デューティ信号MCDを受ける。PMOS132のドレイン端子は定電圧Vddを受け、ソース端子は、第1NMOS133のドレイン端子、コンデンサ134の一端、及び第1インバータ135の入力端子に接続されている。第1NMOS133のソース端子は、第2NMOS137と第4NMOS139との各ドレイン端子に接続されている。コンデンサ134の他端は接地されている。第1インバータ135の出力端子はモード選択部150に接続されている。第1インバータ135の出力信号が電圧モード出力信号VMSである。第2インバータ136は最大デューティ信号MXDを反転させて第2NMOS137のゲート端子に対して印加する。第2NMOS137のソース端子は接地されている。第3NMOS138と第4NMOS139とはカレントミラー回路を構成している。第3NMOS138のドレイン端子が、第3NMOS138と第4NMOS139との各ゲート端子に接続されている。第3NMOS138と第4NMOS139との各ソース端子は接地されている。第3NMOS138のドレイン端子は電圧モード制御信号VMCを受ける。モード切換デューティ信号MCDがLレベルに維持されている間、PMOS132がオンして第1NMOS133がオフする。従って、コンデンサ134が定電圧Vddを受けて充電される。モード切換デューティ信号MCDがLレベルからHレベルへ変化するとき、PMOS132がオフして、第1NMOS133がオンする。従って、コンデンサ134が第1NMOS133を通して放電する。このとき、第2NMOS137がオフしていれば、第4NMOS139のドレイン-ソース間を放電電流IEが流れる。第3NMOS138と第4NMOS139とのカレントミラー回路により、放電電流IEの量は電流モード制御信号CMCの電流量に比例する。従って、出力電圧Voが低いほど、放電電流IEの量は少ない。図4のbは、コンデンサ134の両端電圧VCの波形図である。図4のbを参照するに、モード切換デューティ信号MCDがLレベルに維持されている間、コンデンサ134の両端電圧VCはHレベルに維持されている。モード切換デューティ信号MCDがLレベルからHレベルへ変化するとき、コンデンサ134の両端電圧VCは降下する。このとき、放電電流IEが小さいほど、両端電圧VCの降下は遅い。図4のcは、電圧モード出力信号VMSの波形図である。第1インバータ135は、コンデンサ134の両端電圧VCを反転させることによって、電圧モード出力信号VMSを生成する。このとき、両端電圧VCが比較的緩やかに降下する部分は、電圧モード出力信号VMSでは一律にLレベルに設定される。従って、電圧モード出力信号VMSが連続してLレベルに維持される時間Tonは、モード切換デューティ信号MCDが連続してLレベルに維持される時間Tminよりも延長される。すなわち、電圧モード出力信号VMSによって規定されるスイッチ部103のオンデューティは、モード切換デューティよりも高い。更に、出力電圧Voが低いほど、コンデンサ134の両端電圧VCの降下は遅いので、電圧モード出力信号VMSが連続してLレベルに維持される時間Tonは長い。すなわち、出力電圧Voが低いほど、電圧モード出力信号VMSによって規定されるスイッチ部103のオンデューティは高い。尚、最大デューティ信号MXDがHレベルからLレベルへ変化するとき、第2インバータ136は第2NMOS137をオンさせる。それにより、放電電流IEは第4NMOS139に代えて第2NMOS137を流れるので、コンデンサ134の両端電圧VCが急速にLレベルまで降下する。その結果、電圧モード出力信号VMSが連続してLレベルに維持される時間Tonは、最大デューティ信号MXDのパルス幅を超えない。図3を再び参照するに、電流モード制御部140は比較器141を含む。比較器141の反転入力端子は、1次電流測定部110によって生成された電圧信号VCLを受け、非反転入力端子は電流モード制御信号CMCを受ける。比較器141の出力信号は電流モード出力信号CMSとしてモード選択部150に送られる。1次電流測定部110によって生成された電圧信号VCLは1次電流IDの値を表し、電流モード制御信号CMCは電流閾値を表す。1次電流IDの値が電流閾値よりも小さいとき、電流モード出力信号CMSはHレベルに維持され、1次電流IDの値が電流閾値以上であるとき、電流モード出力信号CMSはLレベルに維持される。図4のeは、電流モード出力信号CMSの波形図である。図4のeを参照するに、電流モード出力信号CMSは、図4のaに示されているモード切換デューティ信号MCDがLレベルに維持されている間に、HレベルからLレベルへ変化しうる。また、スイッチ部103がオフするとき、電流モード出力信号CMSはLレベルからHレベルへ変化する。図3を更に参照するに、モード選択部150は、インバータ151、OR回路152、及びAND回路153を含む。インバータ151は電圧モード出力信号VMSのレベルを反転させる。図4のdは、インバータ151の出力信号V1の波形図である。その出力信号V1と、図4のcに示されている電圧モード出力信号VMSとでは、HレベルとLレベルとのそれぞれに維持される期間が逆である。OR回路152はモード切換デューティ信号MCDと電流モード出力信号CMSとの論理和を計算する。図4のfは、OR回路152の出力信号V2の波形図である。図4のfを参照するに、モード切換デューティ信号MCDがHレベルに維持されている間、電流モード出力信号CMSのレベルにかかわらず、OR回路152の出力信号V2はHレベルに維持される。従って、OR回路152は、モード切換デューティ信号MCDがLレベルに維持されている期間にのみ、電流モード出力信号CMSを有効にする。すなわち、その期間にのみ、電流モード出力信号CMSがLレベルへ変化したことが、AND回路153に伝わる。AND回路153はインバータ151の出力信号V1とOR回路152の出力信号V2との論理積を計算して、その結果SMS以下、選択信号という。を送出する。図4のgは、選択信号SMSの波形図である。図4のgを参照するに、モード切換デューティ信号MCDがLレベルに維持されている間に電流モード出力信号CMSがLレベルへ変化するときを除き、選択信号SMSはインバータ151の出力信号V1と同じ波形である。選択信号SMSは、図1に示されているAND回路170を通してRSフリップフロップ182のリセット端子Rへ送られる。図4のhは、ゲート信号VGTの波形図である。図1に示されているRSフリップフロップ182は、リセット端子Rの電位が一旦Lレベルへ変化した後、セット端子Sの電位がHレベルへ変化するまで、出力端子Qの電位をLレベルに維持する。従って、図4のhに示されているように、ゲート信号VGTの立ち上がりはモード切換デューティ信号MCDの立ち下がり、すなわちクロック信号CLKの立ち上がりに同期する。それ故、スイッチ部103は、クロック信号CLKの立ち上がりに同期してオンする。一方、ゲート信号VGTの立ち下がりは、選択信号SMSの立ち下がり、又は過電流保護部160の出力信号ECSの立ち下がりに同期する。それ故、スイッチ部103は、選択信号SMSの立ち下がり、又は過電流保護部160の出力信号ECSの立ち下がりに同期してオフする。特に、モード切換デューティ信号MCDがLレベルに維持されている期間に電流モード出力信号CMSが立ち下がる場合、その立ち下がりに同期してスイッチ部103はオフする。一方、その期間中、電流モード出力信号CMSがHレベルに維持される場合、電圧モード出力信号VMSの立ち上がりに同期してスイッチ部103はオフする。従って、スイッチ部103のオフが電流モード出力信号CMSの立ち下がりに同期する場合、スイッチ部103のオンデューティはモード切換デューティよりも低い。一方、スイッチ部103のオフが電圧モード出力信号VMSの立ち上がりに同期する場合、スイッチ部103のオンデューティはモード切換デューティ以上である。スイッチ部103のオフが電流モード出力信号CMSの立ち下がりに同期することは、1次電流IDの値が電流閾値に達したときにスイッチ部103がオフすることを意味する。このときのスイッチング電源装置100の動作モードを電流モードという。一方、スイッチ部103のオフが電圧モード出力信号VMSの立ち上がりに同期することは、スイッチ部103のオンデューティが目標値に達したときにスイッチ部103がオフすることを意味する。このときのスイッチング電源装置100の動作モードを電圧モードという。図5は、電流モードと電圧モードとのそれぞれにおけるスイッチ部103のオンデューティの範囲を示す図である。電流モードでは、出力電流Ioの増減に合わせて1次電流IDのピーク値が増減するように、スイッチ部103のオフのタイミングが制御される。そのとき、図5に示されているように、スイッチ部103のオンデューティはモード切換デューティDMCHよりも低く、特に50よりも低い。従って、サブハーモニック発振が生じない。電圧モードでは、出力電圧Voが一定値に安定に維持されるように、スイッチ部103のオフのタイミングが制御される。そのとき、図5に示されているように、スイッチ部103のオンデューティはモード切換デューティDMCHよりも高く、特に50を超えてもよい。従って、入力電圧Viのスローアップ時及び瞬停時であっても、十分な電力をトランス104の1次側から2次側へ供給することができる。図6のa-dは、スイッチング電源装置100への電源投入時における、入力電圧Vi、1次電流ID、出力電圧Vo、及び出力電流Ioのそれぞれの波形図である。図6のaに示されているように、入力電圧Viは、電源が投入された時刻T0以後、緩やかに上昇し、第1時刻T1で目標値Vin0に達する。スイッチング電源装置100は、電源投入時刻T0から所定時間ΔTが経過した時点に、スイッチング動作を開始する。図6のbを参照するに、1次電流IDは、スイッチング動作の開始時点T0ΔTから第1時刻T1までの間、スイッチ部103がオンする度に上昇する。しかし、入力電圧Viが低いので、スイッチ部103のオン期間における1次電流IDの増加が遅い。特に、スイッチ部103がオンしてから、モード切換デューティDMCHで決まるスイッチ部103のオン時間が経過するまでの間には、1次電流IDは電流閾値まで到達し得ない。従って、スイッチング電源装置100は電圧モードで動作する。それにより、スイッチ部103のオン時間Tonは、モード切換デューティDMCHで決まるオン時間よりも長い。その結果、図6のc、dに示されているように、出力電圧Voと出力電流Ioとはそれぞれ、スイッチング動作の開始時点T0ΔTから第1時刻T1までに、それぞれの目標値Vo0、Io0に到達する。入力電圧Viが目標値Vi0に到達した後の期間では、スイッチ部103がオンしてから、モード切換デューティDMCHで決まるスイッチ部103のオン時間が経過するよりも先に、1次電流IDは電流閾値まで到達する。従って、スイッチング電源装置100は電流モードで動作する。1次電流IDのピーク値は、図6のbに破線で示されている電流閾値ITに一致するように制御される。それにより、出力電圧Voが目標値Vo0に安定に維持される。特に、負荷LDの変動によって、図6のdに示されているように出力電流Ioが変動する場合、図6のbに示されているように、その変動に合わせて1次電流IDのピーク値が調節される。上記のとおり、本発明の実施形態1によるスイッチング電源装置100は、スイッチ部103がオンした後、モード切換デューティで決まるスイッチ部103のオフのタイミングよりも先に、1次電流IDの量が電流閾値に達した場合、その時点でスイッチ部103をオフする。一方、スイッチ部103がオンした後、モード切換デューティで決まるスイッチ部103のオフのタイミングまでに、1次電流IDの量が電流閾値に達しなかった場合、スイッチング電源装置100は、オンデューティの目標値で決まるタイミングでスイッチ部103をオフする。それにより、スイッチング電源装置100は、スロープ補償を用いなくても、サブハーモニック発振を生じさせることなく、スイッチ部103のオンデューティを50以上に設定することができる。その結果、出力電圧Voと出力電流Ioとが入力電圧Viには依存しない。また、入力電圧Viのスローアップ時及び瞬停時においても、十分な出力電圧Voと出力電流Ioとを確保することができる。《実施形態2》本発明の実施形態2によるスイッチング電源装置は、実施形態1によるものとは、電圧モード制御部130がデューティ制限部を含む点で異なる。その他の構成要素は、実施形態1によるものと同様である。以下、デューティ制限部について説明する。その他の構成要素については、実施形態1についての説明を援用する。図7は、本発明の実施形態2による電圧モード制御部130、電流モード制御部140、及びモード選択部150の回路図である。図7を参照するに、電圧モード制御部130は、図3に示されている構成要素に加えて、デューティ制限部300を含む。デューティ制限部300はRSフリップフロップ301と第5NMOS302とを含む。RSフリップフロップ301のセット端子Sはモード選択部150からOR回路152の出力信号V2以下、電流モード判定信号という。を受ける。RSフリップフロップ301のリセット端子Rは、外部からリセット信号RSTを受ける。リセット信号RSTは例えば、図1に示されている制御部108に対する起動信号又は停止信号である。RSフリップフロップ301の出力端子Qは第5NMOS302のゲート端子に接続されている。第5NMOS302のドレイン端子は第1NMOS133のソース端子に接続されている。第5NMOS302のソース端子は接地されている。図4のfに示されているように、電流モード判定信号V2は、モード切換デューティ信号MCDがLレベルに維持されている期間でのみ変動することができる。従って、その期間でのみ、RSフリップフロップ301のセット端子Sの電位は立ち上がることができる。ここで、その期間における電流モード判定信号V2の変動は、図4のhから明らかなとおり、電流モードにおけるスイッチ部103のオフと同期している。従って、RSフリップフロップ301のセット端子Sの電位は、電流モードにおけるスイッチ部103のオフに同期してLレベルからHレベルへ変化する。そのとき、RSフリップフロップ301の出力端子Qの電位がLレベルからHレベルへ変化するので、第5NMOS302がオンする。それにより、コンデンサ134の両端電圧VCは、モード切換デューティ信号MCDが立ち上がると速やかにLレベルへ降下する。その結果、図4のcから明らかなとおり、電圧モード出力信号VMSが連続してLレベルに維持される時間Tonは、モード切換デューティ信号MCDが連続してLレベルに維持される時間Tminに一致する。以後、リセット信号RSTによってRSフリップフロップ301のリセット端子Rの電位がHレベルからLレベルへ変化しない限り、電圧モード出力信号VMSが連続してLレベルに維持される時間Tonは、モード切換デューティ信号MCDが連続してLレベルに維持される時間Tminに固定される。こうして、一旦、電流モードが開始されれば、電圧モードには戻らない。それにより、ノイズ等に起因して、電流モードと電圧モードとが頻繁に切り換えられることが防止される。その結果、出力電圧Voと出力電流Ioとが安定し、それらの不安定化に起因する部品の損傷が防止される。また、図6に示されている、入力電圧Viが目標値に達する時刻T1における出力電力の最大値を制限することができる。それ故、スイッチング電源装置100の部品に求められる定格値を低減させることができる。《実施形態3》本発明の実施形態3によるスイッチング電源装置は、実施形態1によるものとは、電圧モード制御部130が電圧モード判定部とヒステリシス生成部とを含む点で異なる。その他の構成要素は、実施形態1によるものと同様である。以下、電圧モード判定部とヒステリシス生成部とについて説明する。その他の構成要素については、実施形態1についての説明を援用する。図8は、本発明の実施形態3による電圧モード制御部130、電流モード制御部140、及びモード選択部150の回路図である。図8を参照するに、電圧モード制御部130は、図3に示されている構成要素に加えて、電圧モード判定部310とヒステリシス生成部320とを含む。電圧モード判定部310はAND回路311とインバータ312とを含む。AND回路311は、ゲート信号VGTとヒステリシス生成部320の出力信号MCDHとの論理積を計算する。インバータ312は、AND回路311の出力信号の論理レベルを反転させる。インバータ311の出力信号V3以下、電圧モード判定信号という。はヒステリシス生成部320へ送られる。ゲート信号VGTとヒステリシス生成部320の出力信号MCDHとがいずれもHレベルであるとき、電圧モード判定信号V3はLレベルである。ゲート信号VGTがHレベルに維持される間、スイッチ部103はオン状態を維持している。一方、モード選択部150内のOR回路152は、ヒステリシス生成部320の出力信号MCDHがHレベルに維持されている間、電流モード出力信号CMSをモード選択部150内のAND回路153には伝えない。従って、電圧モード判定信号V3がLレベルであるときはスイッチング電源装置100が電圧モードである。ヒステリシス生成部320は、モード選択部150からは電流モード判定信号V2を受け、電圧モード判定部310からは電圧モード判定信号V3を受ける。ヒステリシス生成部320はそれらの判定信号V2、V3から、スイッチング電源装置100が電流モードと電圧モードとのいずれであるかを判定する。スイッチング電源装置100が電圧モードであるとき、ヒステリシス生成部320は、モード切換デューティ信号MCDと同じ周期、かつ同じパルス幅の矩形波を出力信号MCDHとして、PMOS132と第1NMOS133との各ゲート端子へ送る。スイッチング電源装置100が電流モードであるとき、ヒステリシス生成部320は、モード切換デューティ信号MCDを次のような矩形波に変換する。その矩形波の周期はモード切換デューティ信号MCDの周期と等しい。一方、連続してLレベルに維持される時間は、その矩形波の方がモード切換デューティ信号MCDよりも長い。その矩形波は出力信号MCDHとして、PMOS132と第1NMOS133との各ゲート端子へ送られる。図9は、ヒステリシス生成部320の回路図である。図9を参照するに、ヒステリシス生成部320は、PMOS321、第1NMOS322、コンデンサ323、第1インバータ324、第2インバータ325、第3インバータ326、RSフリップフロップ327、第4インバータ328、第2NMOS329、第3NMOS330、及び定電流源331を含む。PMOS321と第1NMOS322とはCMOSを構成している。各MOSFET321、322のゲート端子はモード切換デューティ信号MCDを受ける。PMOS321のドレイン端子は定電圧Vddを受け、ソース端子は、第1NMOS322のドレイン端子、コンデンサ323の一端、及び第1インバータ324の入力端子に接続されている。第1NMOS322のソース端子は、第2NMOS329と第3NMOS330との各ドレイン端子に接続されている。コンデンサ323の他端は接地されている。第1インバータ324の出力端子の電位変化が出力信号MCDHとして送出される。第2インバータ325は、電圧モード判定信号V3を反転させて、RSフリップフロップ327のリセット端子Rに対して印加する。第3インバータ326は、電流モード判定信号V2を反転させて、RSフリップフロップ327のセット端子Sに対して印加する。RSフリップフロップ327の出力端子Qは第4インバータ328の入力端子と第3NMOS330のゲート端子とに接続されている。第4インバータ328の出力端子は第2NMOS329のゲート端子に接続されている。第2NMOS329のソース端子は接地されている。第3NMOS330のソース端子は定電流源331の一端に接続されている。定電流源331の他端は接地されている。モード切換デューティ信号MCDがLレベルに維持されている間、PMOS321がオンして第1NMOS322がオフする。従って、コンデンサ323が定電圧Vddを受けて充電される。モード切換デューティ信号MCDがLレベルからHレベルへ変化するとき、PMOS321がオフして、第1NMOS322がオンする。一方、RSフリップフロップ327の出力端子Qの電位に応じて、第2NMOS329と第3NMOS330とのいずれかがオンする。従って、コンデンサ323が、オンしたNMOSを通して放電する。第2NMOS329がオンするときは、コンデンサ134の両端電圧は急速に降下する。それにより、第1インバータ324の出力信号MCDHは、モード切換デューティ信号MCDと同じ周期かつ同じパルス幅の矩形波である。一方、第3NMOS330がオンするときは、第3NMOS330のドレイン-ソース間を流れる電流量が、定電流源331によって一定値に維持される。従って、第2NMOS329がオンしたときよりも、コンデンサ323の両端電圧の降下速度が小さい。その結果、第1インバータ324の出力信号MCDHは、モード切換デューティ信号MCDと同じ周期であるがパルス幅の短い矩形波である。特に、第1インバータ324の出力信号MCDHが連続してLレベルに維持される時間は、モード切換デューティ信号MCDが連続してLレベルに維持される時間よりも長い。電圧モードでは、電圧モード判定信号V3がLレベルに維持されるので、第2インバータ325によってRSフリップフロップ327のリセット端子Rの電位がHレベルに維持される。従って、RSフリップフロップ327のセット端子Sの電位にかかわらず、RSフリップフロップ327の出力端子Qの電位がLレベルに維持される。それ故、第2NMOS329がオンして、第3NMOS330がオフする。その結果、第1インバータ324の出力信号MCDHは、モード切換デューティ信号MCDと同じ周期かつ同じパルス幅の矩形波となる。電流モードでは、ヒステリシス生成部320の出力信号MCDHがLレベルに維持されている間に電流モード出力信号CMSがHレベルからLレベルへ変換するので、電流モード判定信号V2がHレベルからLレベルへ変化する。従って、第3インバータ326によってRSフリップフロップ327のセット端子Sの電位がLレベルからHレベルへ変化する。一方、電圧モード判定信号V3はHレベルに維持されるので、第2インバータ325によって、RSフリップフロップ327のリセット端子Rの電位がLレベルに維持される。従って、RSフリップフロップ327の出力端子Qの電位がHレベルに維持されるので、第2NMOS329がオフして、第3NMOS330がオンする。その結果、第1インバータ324の出力信号MCDHは、モード切換デューティ信号MCDと同じ周期であるがパルス幅の短い矩形波となる。図10は、電圧モードと電流モードとのそれぞれにおけるスイッチ部103のオンデューティの範囲を示す図である。電圧モードでは、ヒステリシス生成部320の出力信号MCDHが、モード切換デューティ信号MCDと同じ周期かつ同じパルス幅の矩形波である。従って、実施形態1によるスイッチング電源装置100の電圧モードと同様に、スイッチ部103のオンデューティは、モード切換デューティDMCHから上限値DMAXまでの間に調節される。ここで、上限値DMAXは、最大デューティ信号MXDで規定されるオンデューティである。一方、電流モードでは、ヒステリシス生成部320の出力信号MCDHが、モード切換デューティ信号MCDと同じ周期であるが、パルス幅の短い矩形波である。従って、スイッチ部103のオンデューティの上限DHYSはモード切換デューティDMCHよりも高い。このことは、電流モードから電圧モードへ移行する際の基準とされるオンデューティが、モード切換デューティDMCHよりも高い値DHYSに設定されることを意味する。電圧モードから電流モードへ移行する際の基準とされるオンデューティはモード切換デューティDMCHであるので、モード間の切り換えにヒステリシスが生じる。その結果、オンデューティがモード切換デューティDMCHの近傍で変動を続けても、モードの切り換えが繰り返されることがないので、スイッチング電源装置100の動作が安定化する。《実施形態4》本発明の実施形態4によるスイッチング電源装置は、実施形態2によるデューティ制限部300にリセット信号生成部を追加したものである。その他の構成要素は、実施形態2によるものと同様である。以下、リセット信号生成部について説明する。その他の構成要素については、実施形態2についての説明を援用する。図11は、本発明の実施形態4による電圧モード制御部130、電流モード制御部140、及びモード選択部150の回路図である。図11を参照するに、電圧モード制御部130は、図7に示されている構成要素に加えて、リセット信号生成部330を含む。リセット信号生成部330は、ゲート信号遅延部331とAND回路332とを含む。ゲート信号遅延部331は、ゲート信号VGTを受けて、所定時間保持した後にAND回路332へ送る。その所定時間は、モード切換デューティ信号MCDのパルス幅よりも十分に短く設定される。AND回路332は、ゲート信号遅延部331から受けたゲート信号と、モード切換デューティ信号MCDとの間の論理積を計算し、その結果RST以下、リセット信号という。をRSフリップフロップ301のリセット端子Qへ送る。図4のa、hから明らかなとおり、スイッチ部103が電圧モードでオフするとき、リセット信号RSTがHレベルに維持される期間が生じる。従って、RSフリップフロップ301のリセット端子Qの電位はLレベルからHレベルへ変化する。電流モード判定信号V2によって、RSフリップフロップ301のセット端子Sの電位がLレベルからHレベルへ変化したとき、RSフリップフロップ301の出力端子Qの電位がLレベルからHレベルへ変化する。それにより、第5NMOS302がオンするので、コンデンサ134の両端電圧VCは、モード切換デューティ信号MCDが立ち上がると速やかにLレベルへ降下する。その結果、電圧モード出力信号VMSが連続してLレベルに維持される時間Tonは、モード切換デューティ信号MCDが連続してLレベルに維持される時間Tminに一致する。以後、RSフリップフロップ301のリセット端子Rの電位がHレベルからLレベルへ変化しない限り、電圧モード出力信号VMSが連続してLレベルに維持される時間Tonは、モード切換デューティ信号MCDが連続してLレベルに維持される時間Tminに固定される。すなわち、電流モードが一旦開始された後は、リセット信号RSTがHレベルに変化するまで、電圧モードには移行しない。図12は、入力電圧Viの瞬停時における入力電圧Vi、出力電圧Vo、モード切換デューティ信号MCD、電流モード判定信号V2、電圧モード出力信号VMS、及び1次電流IDの波形図である。入力電圧Viが十分なレベルVi0に維持されている期間P1では、1次電流IDは、モード切換デューティ信号MCDがLレベルに維持されている間に電流閾値まで達する。それにより、電流モード判定信号V2が立ち下がり、スイッチ部103がオフする。すなわち、スイッチング電源装置100は電流モードで動作する。その結果、出力電圧Voは目標値Vo0に維持される。このとき、電圧モード出力信号VMSが連続してLレベルに維持される時間Tonは、モード切換デューティ信号MCDが連続してLレベルに維持される時間Tminに固定されている。第1時刻TAに入力電圧Viの瞬停が開始される場合を想定する。その場合、第1時刻TAの直後にスイッチ部103がオンする第2時刻TBから出力電圧Voが降下し始める。一方、入力電圧Viの降下に伴って1次電流IDの増加が緩やかになり、次にモード切換デューティ信号MCDが立ち上がる第3時刻TCになっても、1次電流IDが電流閾値まで到達しない。従って、第3時刻TCから所定時間が経過したとき、デューティ制限部300はリセット信号RSTをHレベルに変化させるので、RSフリップフロップ301のリセット端子Qの電位がHレベルからLレベルへ変化する。こうして、電圧モード出力信号VMSが連続してLレベルに維持される時間Tonが、モード切換デューティ信号MCDが連続してLレベルに維持される時間Tminよりも延長され、電圧モード出力信号VMSが立ち上がる第4時刻TDにスイッチ部103がオフする。すなわち、スイッチング電源装置100は電圧モードに切り換わる。第4時刻TD以後も入力電圧Viが降下し続ける場合、次にスイッチ部103がオンする第5時刻TE以後も1次電流IDの増加が緩やかである。モード切換デューティ信号MCDが立ち上がる第6時刻TFまでに1次電流IDが電流閾値に到達しない場合には、電圧モード出力信号VMSが連続してLレベルに維持される時間Tonが更に延長される。こうして、スイッチ部103のオンデューティがモード切換デューティよりも高く設定されるので、出力電圧Voの低下が抑えられる。第7時刻TGに入力電圧Viの瞬停が解消され、入力電圧Viが目標値Vi0まで上昇する場合を想定する。その場合、次にスイッチ部103がオンしたとき、1次電流IDは速やかに増加し、モード切換デューティ信号MCDが連続してLレベルに維持される間に電流閾値に達する。従って、電流モード判定信号V2が立ち下がるので、スイッチ部103がオフする。すなわち、スイッチング電源装置100が再び、電流モードで動作する。そのとき、デューティ制限部300はリセット信号RSTをLレベルに変化させるので、RSフリップフロップ301のリセット端子Qの電位がHレベルに維持される。こうして、電圧モード出力信号VMSが連続してLレベルに維持される時間Tonは、モード切換デューティ信号MCDが連続してLレベルに維持される時間Tminに再び固定される。《付記》A図1に示されている過電流保護部160は実際には、過電流保護遅れ時間を必要とする。過電流保護遅れ時間は、1次電流測定部110によって生成された電圧信号VCLのレベルが、許容最大値を示す基準電圧に達してから、比較器の出力がHレベルからLレベルへ変化するまでに必要な時間である。図14のcに示されているように、過電流保護遅れ時間ΔTLが無視できない場合、1次電流IDの値が許容最大値ILに達してから過電流保護遅れ時間ΔTLが経過した時点における1次電流IDの値と許容最大値ILとの間の差ΔILは、入力電圧が高いほど大きい。その結果、1次電流IDのピーク値が入力電圧に依存するので、出力電力が入力電圧に依存する。そこで、過電流保護部160は、スイッチ部103のオンデューティが低いほど、許容最大値ILを下げてもよい。それにより、1次電流IDの値が許容最大値ILに達してから過電流保護遅れ時間ΔTLが経過した時点における1次電流IDの値と許容最大値ILとの間の差ΔILを、入力電圧Viにかかわらず、一定に維持することができる。B本発明の上記の実施形態に基づいて、本発明は以下の観点から特徴づけられても良い。B-1制御部は、電流測定回路、電流モード制御部、電圧モード制御部、モード選択部、及びスイッチング制御回路を有してもよい。電流測定回路は、スイッチ部を流れる電流量を測定する。電流モード制御部は、フィードバック信号と、電流測定回路によって測定された電流量とに基づいて、電流モード出力信号を生成する。電圧モード制御部は、モード切換デューティ信号を生成する回路を含み、フィードバック信号とモード切換デューティ信号とに基づいて、電圧モード出力信号を生成する。モード選択部は、電流モード出力信号、電圧モード出力信号、及びモード切換デューティ信号を用いて選択信号を生成する。スイッチング制御回路は、クロック信号に応じてスイッチ部をオンさせるように制御信号を制御し、選択信号に応じてスイッチ部をオフさせるように制御信号を制御する。B-2制御部は、電流モード出力信号に応じて、スイッチ部のオンデューティの上限値を、モード切換デューティ信号の示すオンデューティに制限してもよい。B-3制御部は、電流モード出力信号に応じて、モード切換デューティ信号の示すオンデューティを上昇させてもよい。B-4制御部は、電流モード出力信号に応じて、スイッチ部のオンデューティの上限値を、モード切換デューティ信号の示すオンデューティに制限し、その後、電圧モード出力信号の表すタイミングをスイッチ部のオフのタイミングとして決定した場合、スイッチ部のオンデューティの上限値に対する制限を外してもよい。B-5制御部は、スイッチ部を流れる電流量が許容最大値に達したときに、スイッチ部をオフさせるように制御信号を制御してもよい。そのとき、制御部は、スイッチ部のオンデューティが低いほど、許容最大値を低く設定する。