(57)【特許請求の範囲】
【請求項１】
電池で動作することが可能な電子機器であって、
操作信号を受け取って第１のクロック周波数または該第１のクロック周波数より低い第２のクロック周波数で動作することが可能なプロセッサと、
前記電池の放電電流を検出してフィードバック電流を出力する検出部と、
前記放電電流に対する目標電流値を設定する目標値設定部と、
前記目標電流値に基づいて交流波形の参照信号を生成する発振器と、前記参照信号と前記フィードバック電流を入力したときに前記プロセッサが前記第１のクロック周波数で動作する時間と前記第２のクロック周波数で動作する時間をＰＷＭ制御するための前記操作信号を出力するコンパレータとを含む比較制御部と
を有する電子機器。
【請求項２】
前記参照信号の周期に対する前記操作信号のデューティが１になるときの前記フィードバック電流で動作しない設定値で動作する前記電池に対する過電流保護装置を有する請求項１に記載の電子機器。
【請求項３】
前記目標値設定部が、前記目標電流値に基づいて前記参照信号の中心値を設定する請求項１に記載の電子機器。
【請求項４】
前記目標値設定部は、前記電池の温度に応じて前記目標電流値の値を変更する請求項１に記載の電子機器。
【請求項５】
操作信号を受け取ってプロセッサのクロック周波数を制御して電池の放電電流を許容値未満に維持する方法であって、
前記電池の放電電流を検出してフィードバック電流を生成するステップと、
前記放電電流に対する目標電流値を設定するステップと、
前記目標電流値に基づいて交流波形の参照信号を生成するステップと、
前記参照信号と前記フィードバック電流の大きさを比較して２値の前記操作信号を出力するステップと、
前記プロセッサが、一方の前記操作信号を受け取ったときに第１のクロック周波数で動作し、他方の前記操作信号を受け取ったときに前記第１のクロック周波数より低い第２のクロック周波数で動作するステップと、
を有する方法。
【請求項６】
前記目標電流値を前記電池の温度に応じて変更するステップを有する請求項５に記載の方法。
【請求項７】
操作量を受け取って第１のクロック周波数と該第１のクロック周波数より低い第２のクロック周波数で動作することが可能なプロセッサと、
クロック周波数に応じて変化する制御量を測定してフィードバック量を出力する検出部と、
前記制御量に対する目標値を設定する目標値設定部と、
前記目標値に基づいて交流波形の参照信号を生成する発振器と、前記参照信号と前記フィードバック量を入力したときに前記プロセッサが前記第１のクロック周波数で動作する時間と前記第２のクロック周波数で動作する時間をＰＷＭ制御するための前記操作量を出力するコンパレータとを含む比較制御部と
を有するクロック周波数制御システム。
【請求項８】
前記制御量が前記プロセッサに電力を供給する電源の電流または電力である請求項７に記載のクロック周波数制御システム。
【請求項９】
前記制御量が前記プロセッサのクロック周波数に応じて変化する温度である請求項７に記載のクロック周波数制御システム。
【請求項１０】
請求項７から請求項９のいずれかに記載のクロック周波数制御システムを含む電子機器。
【請求項１１】
操作量を受け取って第１のクロック周波数または該第１のクロック周波数より低い第２のクロック周波数で動作することが可能なプロセッサの動作を制御する方法であって、
クロック周波数に応じて変化する制御量を測定してフィードバック量を生成するステップと、
前記制御量に対する目標値を設定するステップと、
前記目標値に基づいて交流波形の参照信号を生成するステップと、
前記参照信号と前記フィードバック量の大きさを比較して２値の前記操作量を生成するステップと、
前記プロセッサが、一方の前記操作量を受け取ったときに前記第１のクロック周波数で動作し、他方の前記操作量を受け取ったときに前記第２のクロック周波数で動作するステップと、
を有する方法。
【請求項１２】
前記操作量を生成するステップが、前記フィードバック量が所定値よりも小さいときに前記第１のクロック周波数だけで動作する操作量を生成するステップを含む請求項１１に記載の方法。
【請求項１３】
前記操作量を生成するステップが、前記フィードバック量が所定値よりも大きいときに前記第２のクロック周波数だけで動作する操作量を生成するステップを含む請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプロセッサのクロック周波数を制御する技術に関し、さらに詳細にはパフォーマンスの低下を抑制しながらプロセッサの消費電力を低減する技術に関する。
【背景技術】
【０００２】
コンピュータの中心的な処理装置である中央演算処理装置（ＣＰＵ）や画像描画処理をするグラフィックス・プロセッシング・ユニット（ＧＰＵ）は、他のデバイスに比べて消費電力が大きい。ＣＰＵの消費電力は動作するときのクロック周波数にほぼ比例して増大する。ノートブック型パーソナル・コンピュータ（ノートＰＣ）は、ＡＣ／ＤＣアダプタまたは電池パックを電力源として動作する。電池パックやＡＣ／ＤＣアダプタには定格出力電力が設定されている。
【０００３】
従来からノートＰＣの消費電力が一定値を越えたときにＣＰＵやＧＰＵのクロック周波数を低下させる制御が行われている。特許文献１は、消費電力が閾値を超えた場合にＣＰＵのクロック周波数を下げるスロットル制御を行う技術を開示する。特許文献２は、消費電力が所定値を越えたときにＣＰＵのクロック・レートを低下させて電源の小型化を図る技術を開示する。特許文献３は、プロセッサの消費電力および温度を測定し閾値を超えたときに最大動作周波数を段階的に低減してパフォーマンスの低下を抑制する技術を開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−７２９６２号公報
【特許文献２】特開２００７−７２９６２号公報
【特許文献３】特開２００７−２３３７８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＣＰＵのクロック周波数を下げると消費電力は低下するが処理能力（パフォーマンス）も低下する。電池の放電電流を許容値未満に維持するためにＣＰＵのクロック周波数を制御する場合には、放電電流を許容値未満に維持しながらできるだけクロック周波数を下げないようにすることが望ましい。これまでのクロック周波数の制御方法では、消費電力が閾値を越えたときにクロック周波数を下げるというものであった。この種の制御系は閉ループ回路ではあるがシーケンス制御の範疇に属しており、制御量が閾値に対する２値で制御対象の動作も２値であるためパフォーマンスを過剰に低下させていた。
【０００６】
そこで本発明の目的は、パフォーマンスの低下を抑制したクロック周波数の制御方法を提供することにある。さらに本発明の目的はクロック周波数を制御してプロセッサのパフォーマンスの低下を抑制しながら電池の放電電流を許容値未満に維持する方法を提供することにある。さらに本発明の目的は、そのような方法を実現するクロック周波数制御システムおよび電子機器を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の第１の態様では、電池から電力の供給を受けるプロセッサの動作を制御する方法を提供する。電池の放電電流を検出してフィードバック電流を生成する。つぎにフィードバック電流に対する目標電流値を設定する。つづいて、フィードバック電流と目標電流値を比較して操作信号を生成する。操作信号を受け取ったプロセッサが第１のクロック周波数または第１のクロック周波数より低い第２のクロック周波数で動作する。制御する物理量は電流に代えて電力としてもよい。
【０００８】
このような構成により、クロック周波数を制御して電池の放電電流を許容値未満に維持することができる。操作信号は、第１のクロック周波数で動作する時間と第２のクロック周波数で動作する時間をＰＷＭ制御するように生成することができる。そして、フィードバック電流の増大に応じて第２のクロック周波数で動作する時間が第１のクロック周波数で動作する時間より長くなるように操作信号を生成すれば、フィードバック電流が一定の閾値を越えたときに第２のクロック周波数で動作させる制御方法よりもパフォーマンスの低下を抑制することができる。目標電流値を電池の温度に応じて変更すれば。電池温度により許容される放電電流が変化する場合にも電池の安全を確保することができる。
【０００９】
本発明の第２の態様は、第１のクロック周波数または第１のクロック周波数より低い第２のクロック周波数で動作することが可能なプロセッサの動作を制御する方法を提供する。クロック周波数に応じて変化する制御量を測定してフィードバック量を生成する。つぎに目標値を設定する。つぎに目標値とフィードバック量を比較して、フィードバック量の増大に応じて第２のクロック周波数で動作する時間が第１のクロック周波数で動作する時間よりも長くなる操作量を生成する。操作量を受け取ったプロセッサは、第１のクロック周波数または第２のクロック周波数で動作する。
【００１０】
目標値を示す信号は交流信号とすることができる。フィードバック量が所定値よりも小さいときに第１のクロック周波数だけで動作する操作量を生成することができる。この場合、フィードバック量が所定値よりも小さいときは第１のクロック周波数だけで動作し、所定値を越えてからクロック周波数をＰＷＭ制御することができる。また、フィードバック量が所定値よりも大きいときに第２のクロック周波数だけで動作する操作量を生成することができる。この場合、第２のクロック周波数を維持すればプロセッサの電力源の保護装置が動作しないようにすることができる。
【発明の効果】
【００１１】
本発明により、パフォーマンスの低下を抑制したクロック周波数の制御方法を提供することができた。さらに本発明によりクロック周波数を制御してプロセッサのパフォーマンスの低下を抑制しながら電池の放電電流を許容値未満に維持する方法を提供することができた。さらに本発明により、そのような方法を実現するクロック周波数制御システムおよび電子機器を提供することができた。
【図面の簡単な説明】
【００１２】
【図１】ノートＰＣに搭載したクロック周波数制御システム１０の構成を示す機能ブロック図である。
【図２】負帰還制御部１００の構成を示す機能ブロック図である。
【図３】温度テーブル１３の構成を示す図である。
【図４】負帰還制御部１００の動作を説明する図である。
【図５】目標電流値とクロック周波数の関係を示す図である。
【図６】クロック周波数制御システム１０の動作手順を説明するフローチャートである。
【図７】クロック周波数制御システム１０によるＧＰＵ２７のパフォーマンスをオン／オフ制御方式と比較して説明する図である。
【図８】フィードバック電流に重畳された交流成分の影響を説明する図である。
【図９】比較制御部の別の構成を示す図である。
【発明を実施するための形態】
【００１３】
図１は、ノートＰＣに搭載したクロック周波数制御システム１０の構成を示す機能ブロック図である。電池パック１１はＳＢＳ（Smart Battery Specification）規格に適合しておりノートＰＣの電池ベイに収納されて、図示しないＡＣ／ＤＣアダプタとともにノートＰＣの電力源として機能する。電池パック１１は、温度テーブル１３、長時間過電流保護回路（ＯＣＰ＿Ｌ）１５、短時間過電流保護回路（ＯＣＰ＿Ｈ）１７、電池セル１９、温度センサ２１、およびＭＰＵ２２などの周知の要素を含んで構成されている。
【００１４】
温度テーブル１３は、電池セル１９の表面温度に対する放電電力の許容値を定めたデータでＭＰＵ２２の不揮発性メモリに記録されている。温度テーブル１３の構成を図３に示す。表面温度がＴ≦Ｔ１の間は、許容放電電力に制限はないが、表面温度Ｔが閾値Ｔ１より高くなると、放電中の安全を確保するために、表面温度Ｔが上昇するに従って放電電力を低下させる必要がある。
【００１５】
図３は表面温度Ｔ１から表面温度Ｔ２までは単調減少関数で許容放電電力が低下し、表面温度Ｔ２を越えると放電を停止する必要があることを示している。ＭＰＵ２２は定期的に温度テーブルと温度センサ２１が検出した温度から放電電流を許容値未満に納めるための目標電流値Ｉｔを計算する。ＭＰＵ２２は、電池セルの温度ＴがＴ≦Ｔ１の範囲では、一定の目標電流値Ｉｔ１をレジスタに設定する。ＭＰＵ２２は、電池セルの温度ＴがＴ＞Ｔ１の範囲では、セル温度Ｔに応じて決まる可変の目標電流値Ｉｔ２をレジスタに設定する。
【００１６】
図１に戻って、ＯＣＰ＿Ｌ１５は、ＭＰＵ２２が実行するファームウェアとスイッチ回路で構成され、一例として放電電流が連続して４秒間以上設定値Ｉｍを越えたときに電池セル１９の放電を停止する保護回路である。ＯＣＰ＿Ｈ１７はハードウェアで構成され、一例として放電電流が連続して１２ミリ秒間以上設定値Ｉｓ(Ｉｓ＞Ｉｍ)を越えたときに電池セル１９の放電を停止する保護回路である。本実施の形態においては設定値Ｉｍ、Ｉｓは電池セルの仕様に適合するように固定値として設定される。
【００１７】
電池セル１９は、一例としてリチウムイオン電池セルであるが、本発明を適用するに当たっては電池セルの種類は問わない。温度センサ２１は、電池セル１９の表面温度を測定するセンサである。ＭＰＵ２２は、電池パック１１の充放電の動作を制御したり、残容量を計算したり、エンベデッド・コントローラ（ＥＣ）３１と通信したりする。ＭＰＵ２２は充電電流の設定値もレジスタに設定する。
【００１８】
センス抵抗２３は、電池パック１１がＧＰＵ２７に供給する放電電流を電圧に変換する。ＤＣ／ＤＣコンバータ２５は、電池パック１１の出力電圧を所定の電圧に変換してＧＰＵ２７に電力を供給する。クロック生成器２９は、ＧＰＵ２７に一例として２７ＭＨｚのベース・クロックを送る。ＧＰＵ２７は、ノートＰＣの図示しないディスプレイに表示する画像データを処理する。ＧＰＵ２７は、ベース・クロックから内部クロックを生成して高周波数モード（ＨＦＭ）または低周波数モード（ＬＦＭ）のいずれかの動作モードで動作する。ＧＰＵ２７は、離散的な複数のクロック周波数で動作するものであってもよい。一例として、ＨＦＭのクロック周波数（ＨＦＭ（ｆ））は１０８０ＭＨｚで、ＬＦＭのクロック周波数（ＬＦＭ（ｆ））は２７０ＭＨｚである。
【００１９】
ＥＣ３１は、ノートＰＣのＣＰＵとは独立して動作するマイクロ・プロセッサを備え、ＬＰＣで図示しないチップ・セットに接続されており、ノートＰＣの電源管理および温度管理などを行う。ＥＣ３１は、ＳＭバスで電池パック１１に接続されおり、電池パック１１のレジスタから定期的に目標電流値Ｉｔを受け取って負帰還制御部１００に参照信号Ｉｒｅｆを設定する。
【００２０】
負帰還制御部１００は、ＧＰＵ２７、センス抵抗２３、およびＥＣ３１に接続されている。負帰還制御部１００は、センス抵抗２３の検出したフィードバック電流ＩｆｂおよびＥＣ３１が設定した参照信号Ｉｒｅｆに基づいてＧＰＵ２７をＨＦＭまたはＬＦＭのいずれかの動作モードで動作させるための操作信号Ｈ／Ｌを出力する。ＧＰＵ２７は操作信号Ｈを受け取った期間はＬＦＭで動作し、操作信号Ｌを受け取った期間または操作信号Ｈを受け取らない期間はＨＦＭで動作する。あるいは、ＧＰＵ２７は操作信号Ｌを受け取った期間はＬＦＭで動作し、操作信号Ｈを受け取った期間または操作信号Ｌを受け取らない期間はＨＦＭで動作するように構成してもよい。
【００２１】
ＧＰＵ２７の消費電力は、実際に動作するクロック周波数（実クロック周波数）に比例する。ＨＦＭ（ｆ）、ＬＦＭ（ｆ）は実クロック周波数である。負帰還制御部１００は、フィードバック電流Ｉｆｂが所定値を越えると、動作モードをＨＦＭとＬＦＭの間で遷移させる。ＧＰＵ２７がＨＦＭで動作する期間をＨＦＭ期間といい、ＬＦＭで動作する期間をＬＦＭ期間という。
【００２２】
負帰還制御部１００は、ＨＦＭ期間＋ＬＦＭ期間を一定値としたときに、フィードバック電流Ｉｆｂの大きさに反比例するように、
ＬＦＭ期間／（ＨＦＭ期間＋ＬＦＭ期間）
の値を変化させる。このときＧＰＵ２７のクロック周波数はフィードバック電流の大きさに反比例するように擬似的に低下する。擬似的とはＧＰＵ２７の消費電力およびパフォーマンスの視点で表現することをいい、擬似的に変化するクロック周波数を擬似クロック周波数ということにする。負帰還制御部１００はＨＦＭとＬＦＭをパルス幅変調（ＰＷＭ）制御してＧＰＵ２２を擬似クロック周波数で動作させる。ＧＰＵ２７の消費電力は擬似クロック周波数にも比例する。
【００２３】
図２は、負帰還制御部１００の構成を示す機能ブロック図である。図２（Ａ）に示すように負帰還制御部１００は、比較部１０３、制御部１０５および検出部１０７で構成されている。負帰還制御部１００は、物理量を電圧で処理するがここでは説明をわかりやすくするために電流で説明する。比較部１０３は、目標値となる参照信号Ｉｒｅｆと検出部１０７の出力であるフィードバック電流Ｉｆｂの差ΔＩを検出して動作信号として制御部１０５に送る。制御部１０５は、動作信号から操作信号Ｈ／Ｌを生成して制御対象であるＧＰＵ２７に送る。
【００２４】
検出部１０７は、制御量である電池セル１９の放電電流から参照信号Ｉｒｅｆと比較できる物理量に変換したフィードバック電流Ｉｆｂを生成する。ＧＰＵ２７は実クロック周波数だけでなく、アイドル・プロセスと処理命令の実行割合を示す使用率によっても消費電力が変化する。ＧＰＵの負荷が増大すると使用率は高くなる。使用率が同一でも実クロック周波数の変化により電池セル１９の放電電流は変化する。使用率の変化は制御系に対してＧＰＵ２７の消費電力すなわち放電電流に対する外乱として作用する。なお、外乱はＧＰＵ２７以外のデバイスの消費電力の変化によっても発生する。
【００２５】
図２（Ｂ）に示すように本実施の形態では、比較部１０３と制御部１０５で構成された比較制御部１０１を三角波発振器１２１とコンパレータ１２３で構成している。コンパレータ１２３は、フィードバック電流Ｉｆｂと参照信号Ｉｒｅｆを比較して、Ｉｆｂ＞Ｉｒｅｆのときは操作信号Ｈを出力し、Ｉｆｂ≦Ｉｒｅｆのときは操作信号Ｌを出力する。ＧＰＵ２７は操作信号Ｈを受け取った期間はＬＦＭで動作し、操作信号Ｌを受け取った期間または操作信号Ｈを受け取らない期間はＨＦＭで動作する。
【００２６】
三角波発振器１２１は、一例として周波数が２５ＫＨｚの三角波の参照信号Ｉｒｅｆを生成する。参照信号Ｉｒｅｆの周波数を高くすると操作信号のパルス幅が小さくなってＧＰＵ２７が動作モードを変更できなくなる。他方で参照信号Ｉｒｅｆの周波数を低くすると一定の閾値で制御する方法に近付いてＰＷＭ制御によるパフォーマンスの改善効果が低くなる。さらに、基板やセラミック・コンデンサなどの振動で騒音が発生しないようにするために、参照信号Ｉｒｅｆの周波数は可聴周波数帯域に入らないように設定する必要がある。したがって、参照信号Ｉｒｅｆの周波数はこれらを勘案して決定する。参照信号Ｉｒｅｆのピーク・ツー・ピーク値（Ｐ−Ｐ値）はＯＣＰ＿Ｌ１５の設定値Ｉｍと制御系の特性に基づいて決定することができる。参照信号Ｉｒｅｆの中心値は目標電流値Ｉｔに一致するようにＥＣ３１が設定する。
【００２７】
図４は、ＧＰＵ２７の実クロック周波数をＰＷＭ制御して擬似クロック周波数で動作させるときの負帰還制御部１００の動作を説明する図である。ライン２０９は、ＯＣＰ＿Ｈ１７の設定値Ｉｓを示す。ライン２０５は、三角波の参照信号Ｉｒｅｆの最大値に一致し、ライン２０７は参照信号Ｉｒｅｆの最小値に一致する。参照信号ＩｒｅｆのＰ−Ｐ値は電池パック１１が保有している。ライン２１１は、参照信号Ｉｒｅｆの中心値でＴ≦Ｔ１のときの目標電流値Ｉｔ１に一致する。ライン２１３は、新たな目標電流値Ｉｔ２を示す。ライン２１５は、ＯＣＰ＿Ｌ１５の設定値Ｉｍを示す。
【００２８】
ライン２０１は、ＧＰＵ２７が最大値未満の使用率でかつＨＦＭで連続的に動作するときの電池セル１９の放電電流を示す。ライン２０３は、ライン２０１と同じ使用率でかつＬＦＭで連続的に動作するときの電池セル１９の放電電流を示す。ライン２０１、２０３は、負帰還制御部１００がフィードバック制御をしていないときの仮想的な放電電流に相当する。
【００２９】
目標電流値Ｉｔ１とライン２０５の間には残留誤差α＋が存在し、目標電流値Ｉｔ１とライン２０７の間には残留誤差α−が存在する。目標電流値Ｉｔ１は、設定値Ｉｓとライン２０５の間にはマージンβが存在するように設定されている。ライン２０１の仮想的な放電電流をフィードバック制御したときのフィードバック電流Ｉｆｂは以下のように生成される。時刻ｔ０以前では、Ｉｆｂ≦Ｉｒｅｆであるため、コンパレータ１２３が操作信号Ｌを出力し、ＧＰＵ２７はＨＦＭで動作している。
【００３０】
時刻ｔ０でＩｆｂ＞Ｉｒｅｆとなるため、コンパレータ１２３が操作信号Ｈを出力してＧＰＵ２７はＬＦＭに遷移する。Ｉｆｂ＞Ｉｒｅｆの期間にコンパレータ１２３が操作信号Ｈを出力してＧＰＵ２７をＬＦＭに遷移させることをクリップするということにする。電力系はキャパシタンスおよびインダクタンスの成分を含むため、クリップされたときのフィードバック電流Ｉｆｂは時刻ｔ０から時刻ｔ１までのライン２０３の放電電流に近付くようにほぼライン２０７まで低下する。時刻ｔ１ではＩｆｂ≦Ｉｒｅｆとなってクリップが解除され、ＧＰＵ２７はＨＦＭで動作して、フィードバック電流Ｉｆｂは時刻ｔ１から時刻ｔ２までのライン２０１の放電電流に近付くように徐々に上昇する。以後、時刻ｔ３、ｔ４、ｔ５で同様にＧＰＵ２７の動作モードが変化して、ライン２０１の仮想的な放電電流はフィードバック電流Ｉｆｂに制御される。
【００３１】
このとき参照信号Ｉｒｅｆの１周期Ｐについて、操作信号Ｈを出力する時間ｘ１＋ｘ２＝ｘとすると、ｘ／Ｐで計算した値がコンパレータ１２３のデューティｘとなる。ＧＰＵ２７の１周期当たりの平均的なクロック周波数すなわち擬似クロック周波数ＣＬＫは、
ＣＬＫ＝ＬＦＭ（ｆ）×ｘ＋ＨＦＭ（ｆ）×（１−ｘ）
として計算することができる。
【００３２】
直流であると想定したフィードバック電流Ｉｆｂがライン２０５に一致するときにｘ＝１になり、ライン２０７に一致するときにｘ＝０になる。擬似クロック周波数ＣＬＫは、ＧＰＵ２７のパフォーマンスおよび消費電力に比例する特質を備えている。ライン２０１の仮想的な放電電流に対するフィードバック電流Ｉｆｂの平均値は、参照信号Ｉｒｅｆの周波数、Ｐ−Ｐ値、ＨＦＭ（ｆ）およびＬＦＭ（ｆ）でのＧＰＵ２７の消費電力、フィードバック電流Ｉｆｂが含む交流成分ならびに電源系統のリアクタンスなどで決まる。
【００３３】
参照信号Ｉｒｅｆがフィードバック電流Ｉｆｂをクリップしている間は０＜ｘ＜１となる。仮想的な放電電流２０１が増大するにしたがって、フィードバック電流Ｉｆｂの平均値は上昇するがｘも増加するため、その上昇の程度は緩慢になる。さらに仮想的な放電電流２０１が増大すると、参照信号Ｉｒｅｆはフィードバック電流Ｉｆｂを連続的にクリップしてｘ＝１となりＧＰＵ２７はＬＦＭで連続的に動作する。フィードバック電流Ｉｆｂは、クリップされるたびにライン２０７の近辺まで低下するため、ＯＣＰ＿Ｌ１５は設定値Ｉｍをｘ＝０の近辺に設定しても動作しない。また、ＧＰＵ２７の使用率が小さくなって参照信号Ｉｒｅｆがフィードバック電流Ｉｆｂを完全にクリップしなくなると、ｘ＝０になってＧＰＵ２７は常時ＨＦＭで動作する。
【００３４】
放電電流が上限側の所定値を越えたときにＧＰＵ２７をＬＦＭで動作させ、ヒステリシスを持たせて設定した下限側の所定値未満になったときにＨＦＭに戻すようなオン／オフ制御方式でもＯＣＰ＿Ｌ１５が動作しないようにＧＰＵ２７の動作を制御することはできる。この方式に対して負帰還制御部１００は、フィードバック電流Ｉｆｂが擬似クロック周波数で動作する期間が存在するため図７で後に説明するようにパフォーマンスの低下を抑制することができる。また、短時間だけＧＰＵ２７の負荷が増大するような場合にも、オン／オフ制御方式では一旦ＬＦＭに移行するとＧＰＵ２７の負荷が軽くなってＨＦＭに移行するまで時間がかかるが、負帰還制御部１００は負荷の増減に対して擬似クロック周波数を連続的に変化させるため一層パフォーマンスの低下を抑制することができる。
【００３５】
ＭＰＵ２２は、セル温度ＴがＴ＞Ｔ１になると、セル温度Ｔに応じた新たな目標電流値Ｉｔ２をレジスタに設定する。ＥＣ３１は、定期的にレジスタを参照して新たな目標電流値Ｉｔ２を取得する。ＥＣ３１は前回取得した目標電流値Ｉｔと異なる目標電流値を取得したときに三角波発振器１２１の設定を変更する。ＥＣ３１が三角波発振器１２１の設定を変更するのは、前回または今回の少なくとも一方の目標電流値Ｉｔが設定されたときのセル温度ＴがＴ＞Ｔ１のときである。
【００３６】
ＥＣ３１は、参照信号Ｉｒｅｆの中心値を新たな目標電流値Ｉｔ２に一致するように平行移動させる。中心値が目標電流値Ｉｔ２（Ｉｔ２＜Ｉｔ１）の新たな参照信号Ｉｒｅｆは、同じ放電電流２０１に対してｘがより大きくなるため、ＧＰＵ２７がＬＦＭで動作する時間はより長くなる。その結果フィードバック電流Ｉｆｂの平均値は小さくなる。電池セル１９の温度が上下するに従って目標電流値Ｉｔ２およびフィードバック電流Ｉｆｂが変化するため、図３で設定した特性に基づく電池セル１９の安全性を確保することができる。
【００３７】
図５は図４で説明した動作を、目標電流値とクロック周波数の関係として示す図である。図５（Ａ）はセル温度ＴがＴ≦Ｔ１の範囲での動作を示し、図５（Ｂ）はＴ１＜Ｔ≦Ｔ２の範囲での動作を示している。図５（Ａ）において目標電流値Ｉｔ１を中心値とするＩｒｅｆが設定され、フィードバック電流Ｉｆｂが、ｘ＝０に対応する値より小さいときはＧＰＵ２７が実クロック周波数ＨＦＭ（ｆ）で動作する。フィードバック電流Ｉｆｂが０＜ｘ＜１の範囲で制御されているときは、擬似クロック周波数ＣＬＫがｘに反比例して低下する。フィードバック電流Ｉｆｂがｘ＝１に対応する値より大きいときはＧＰＵ２７が実クロック周波数ＬＦＭ（ｆ）で動作する。図５（Ｂ）においては、目標電流値Ｉｔ２（Ｉｔ２＜Ｉｔ１）を中心値とするＩｒｅｆが設定されて、擬似クロック周波数で動作する範囲はフィードバック電流Ｉｆｂが小さくなる方向に平行移動している。
【００３８】
図６は、クロック周波数制御システム１０の動作手順を説明するフローチャートである。ブロック３０１でＡＣ／ＤＣアダプタが取り外されたノートＰＣは、電池パック１１を電力源として動作を開始する。最初に電池セル１９の表面温度Ｔは、Ｔ≦Ｔ１でＧＰＵ２７はＨＦＭまたはＬＦＭのいずれかで動作している。ブロック３０３でＭＰＵ２２は目標電流値Ｉｔ１をレジスタに設定する。
【００３９】
ＥＣ３１は、電池パック１１のレジスタから所定の周期で目標電流値Ｉｔ１を取得する。ＥＣ３１は電池パック１１から取得した目標電流値Ｉｔ１に基づいて三角波発振器１２１に参照信号Ｉｒｅｆ１を設定する。ブロック３０５で検出部１０７がセンス抵抗２３の出力からフィードバック電流Ｉｆｂを生成する。ブロック３０７では、コンパレータ１２３の正端子に、検出部１０７からフィードバック電流Ｉｆｂが入力され、負端子に三角波発振器１２１から参照信号Ｉｒｅｆ１が入力される。
【００４０】
ブロック３０９でコンパレータ１２３は、フィードバック電流Ｉｆｂの瞬時値と参照信号Ｉｒｅｆ１の瞬時値の大きさを比較する。Ｉｆｂ＞Ｉｒｅｆ１のときはブロック３１３で参照信号Ｉｒｅｆ１がフィードバック電流Ｉｆｂをクリップしてコンパレータ１２３は操作信号Ｈを出力する。その結果、ＧＰＵ２７はＬＦＭで動作する。Ｉｆｂ≦Ｉｒｅｆのときはブロック３１１でコンパレータ１２３は操作信号Ｌを出力する。その結果、フィードバック電流ＩｆｂはクリップされないためＧＰＵ２７はＨＦＭで動作する。
【００４１】
ブロック３１５でＥＣ３１は、目標電流値Ｉｔが前回の値から変更されかた否かを判断する。目標電流値が変更されていないときはブロック３０７に戻ってブロック３０９に移行し、ＧＰＵ２７はＨＦＭまたはＬＦＭのいずれかで動作する。ここまでの動作手順では、ＧＰＵ２７の擬似クロック周波数または実クロック周波数が図５（Ａ）のように変化する。ブロック３１５で前回または今回の少なくとも一方のセル温度ＴがＴ＞Ｔ１の範囲にあるときは目標電流値が変化する場合がある。
【００４２】
目標電流値が変化したときはブロック３１７でＥＣ３１は電池パック１１から新たな目標電流値Ｉｔ２を取得して、三角波発振器１２１に参照信号Ｉｒｅｆ２を設定する。これ以降の動作は、先に説明したとおりであるが、参照信号Ｉｒｅｆ２が下側にシフトしたときは、０＜ｘ＜１の範囲において同一のフィードバック電流Ｉｆｂに対する擬似クロック周波数が低下し、参照信号Ｉｒｅｆ２が上側にシフトしたときは擬似クロック周波数が上昇する。
【００４３】
図７は、本実施の形態にかかるクロック周波数の制御方式（ＰＷＭ制御方式）をオン／オフ制御方式と比較して説明する図である。図７（Ａ）は、オン／オフ制御方式による動作モードを示し、図７（Ｂ）はＰＷＭ制御方式による動作モードを示している。オン／オフ制御方式でＧＰＵ２７の実クロック周波数をＨＦＭとＬＦＭのいずれかに制御する場合には、ＬＦＭからＨＦＭに切り換わるときのフィードバック電流に対する切換値Ｉｓｗ１とＨＦＭからＬＦＭに切り換わるときのフィードバック電流に対する切換値Ｉｓｗ２との間にヒステリシスを設ける必要がある。また、切換値Ｉｓｗ１は、ＨＦＭで動作するＧＰＵ２７の負荷が急激に増加した場合でも制御の遅れでＯＣＰ＿Ｌ１５が動作しないようにするために、設定値Ｉｍに対して所定のマージンを設定する必要がある。
【００４４】
図７（Ａ）に示すようにオン／オフ制御方式では、切換値Ｉｓｗ１、Ｉｓｗ２のヒステリシスのために、ＧＰＵ２７はフィードバック電流が実質的にその中間値Ｉａｖよりも小さい範囲ではＨＦＭで動作し、大きい範囲ではＬＦＭで動作するといえる。これに対して図７（Ｂ）に示すようにＰＷＭ制御方式では、ｘ＜０のときにＨＦＭ（ｆ）で動作していたＧＰＵ２７は、０＜ｘ＜１の範囲ではｘに反比例して擬似クロック周波数が低下して、ｘ＝１のときにＬＦＭ（ｆ）で動作する。したがって、領域４０１と領域４０３は、フィードバック電流が増加したときに、ＰＷＭ制御方式がオン／オフ制御方式よりも高いパフォーマンスでＧＰＵ２７を制御できる範囲に相当することになる。
【００４５】
ここで、フィードバック電流Ｉｆｂが参照信号Ｉｒｅｆによりクリップされるようなフィードバック制御の状態のときに、フィードバック電流に重畳する交流成分について検討する。図４でフィードバック電流Ｉｆｂがライン２０７に一致するときは、クリップされないためＧＰＵ２７はＨＦＭで連続的に動作する。また、フィードバック電流Ｉｆｂがライン２０５に一致するときに、ＧＰＵ２７は参照信号Ｉｒｅｆの全期間でクリップされてＬＦＭで連続的に動作する。フィードバック電流Ｉｆｂが交流成分を含まないときは、フィードバック制御の間のフィードバック電流Ｉｆｂは参照信号ＩｒｅｆのＰ−Ｐ値の間に収まる。このとき、残留誤差α＋、α−だけ目標電流値Ｉｔとフィードバック電流Ｉｆｂの間に差が生ずる。
【００４６】
実際にはフィードバック電流はさまざまな交流成分を含む。フィードバック制御される直前のフィードバック電流が交流成分を含むと、交流成分の大きさ、周波数および参照信号に対する位相によっては、フィードバック制御後のフィードバック電流の平均値に対する残留誤差α＋、α−は交流成分を含まない場合よりも大きくなる。フィードバック制御中のある瞬間におけるフィードバック電流Ｉｆｂが図８（Ａ）のような参照信号Ｉｒｅｆと位相が一致する交流成分を含むと、参照信号Ｉｒｅｆはフィードバック電流Ｉｆｂをまったくクリップしなくなる。そのためフィードバック制御されたフィードバック電流Ｉｆｂの平均値は交流成分を含まないフィードバック電流よりも大きな値になる。
【００４７】
ｘ＝１の近辺では、交流成分を含まないときはｘ＝１になるフィードバック電流はライン４５１になるが、交流成分を含むときはｘ＝１になるフィードバック電流の平均値がライン４５３になり残留誤差α＋が増大する。これとは逆にフィードバック制御中のある瞬間におけるフィードバック電流Ｉｆｂが図８（Ｂ）のような参照信号Ｉｒｅｆと位相が１８０度ずれた交流成分を含むと、参照信号Ｉｒｅｆは交流成分を含まないフィードバック電流よりも過剰にクリップする。そのためフィードバック制御されたフィードバック電流Ｉｆｂの平均値は交流成分を含まないフィードバック電流よりも小さな値になる。
【００４８】
ｘ＝０の近辺では、交流成分を含まないときはｘ＝０になるフィードバック電流はライン４５５になるが、交流成分を含むときはｘ≧０になるフィードバック電流の平均値がライン４５７になり残留誤差α−が増大する。このように交流成分を含むフィードバック電流Ｉｆｂの平均値は、交流成分を含まないフィードバック電流に比べて、残留誤差α＋、α−が大きくなる可能性がある。
【００４９】
残留誤差α＋が大きくなると、ＯＣＰ＿Ｈ１７が動作する可能性が生じてくる。これに対して、目標電流値Ｉｔを小さくしてマージンβを大きくすることで対処することができる。残留誤差α−が大きくなると、クリップを開始するフィードバック電流の平均値が小さくなるため、パフォーマンスの改善効果が低下する。実際にはフィードバック電流は、さまざまな位相の交流成分を含むため制御誤差α＋、α−は相殺され、オン／オフ制御方式よりもパフォーマンスの低下を抑制することができる。図８（Ａ）のように参照信号がフィードバック電流をクリップしないことにより発生する制御誤差α＋は、参照信号の周波数を高くすることでも小さくすることができる。ただし、参照信号の周波数を高くしすぎるとＧＰＵの動作モードを変更するのに必要な操作信号のパルス幅を十分に確保できなくなる。
【００５０】
図９は、参照信号の周波数を高くしないでクリップの確率を増加させることができる比較制御部の構成を説明する図である。図９（Ａ）は、比較制御部の構成を示し、図９（Ｂ）は動作波形を示す図である。三角波発振器５０１は、コンパレータ５０３の負端子に参照信号Ｉｒｅｆ１を出力し、コンパレータ５０５の負端子に参照信号Ｉｒｅｆ２を出力する。参照信号Ｉｒｅｆ１と参照信号Ｉｒｅｆ２は、位相が１８０度シフトしており周波数とＰ−Ｐ値は等しい。
【００５１】
コンパレータ５０３、５０５の正端子にはそれぞれフィードバック電流Ｉｆｂが入力される。コンパレータ５０３、５０５の出力はＯＲ論理素子５０７に出力される。ＯＲ論理素子５０７の出力は操作信号としてＧＰＵ２７に接続される。フィードバック電流Ｉｆｂに対してコンパレータ５０３は操作信号５２１を出力し、コンパレータ５０５は操作信号５２３を出力するため、ＯＲ論理素子５０７は合成された操作信号５２５を出力する。
【００５２】
コンパレータ５０３、５０５は、相互に補完しあってさまざまな位相の交流成分を含むフィードバック電流Ｉｂをクリップする。コンパレータ５０３、５０５はクリップするたびにＨＦＭとＬＦＭをＰＷＭ制御する。この比較制御回路は、コンパレータが１個の比較制御回路に対して、操作信号のパルス幅を同等に確保でき、かつ残留誤差α＋を低減することができるためマージンβを小さくしてよりパフォーマンスを改善することができる。コンパレータ５０５は、コンパレータ５０３に対して補助的な役割を担うものであるため、参照信号Ｉｒｅｆ２は参照信号Ｉｒｅｆ１と位相を１８０度シフトさせるだけでなく、中心値をシフトさせるようにしてもよい。また、三角波以外の他の波形を組み合わせてもよい。また３台以上のコンパレータを並列に接続して補助的な参照信号を２個以上にしてもよい。
【００５３】
これまで制御量を電池セルの放電電流に限定して説明してきたが本発明はこれに限定する必要はない。たとえば、軽量化した持ち運び用のＡＣ／ＤＣアダプタには、定格電力がシステムの最大消費電力より小さいものがある。この場合、システムの消費電力が増大したときにプロセッサのクロック周波数を低下させる制御が行われる。制御量としてＡＣ／ＤＣアダプタの出力電流を採用すれば、本実施の形態と同様に擬似クロック周波数をＰＷＭ制御することで、パフォーマンスの低下を抑制しながらＡＣ／ＤＣアダプタの出力電流を許容値未満に維持することができる。
【００５４】
また負帰還制御システム１０は、プロセッサの温度やノートＰＣの筐体内部の温度を制御量にして、温度が上昇したときにクロック周波数を下げて温度を許容値未満に維持するような制御にも適用することができる。なお、負帰還制御システム１０は、ＧＰＵ２７に変えてＣＰＵに適用することもできる。参照信号は三角波に限定するものではなく、本発明はフィードバック電流の増大に応じてｘが小さくなるような変化をする交流信号全般に適用することができる。
【００５５】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【００５６】
１０  クロック周波数制御システム
２３  センス抵抗
１００  負帰還制御部
１０１  比較制御部
Ｉｔ１、Ｉｔ２  目標電流値
Ｉｒｅｆ１、Ｉｒｅｆ２  参照信号
Ｉｍ  短時間過電流保護回路（ＯＣＰ＿Ｌ）の設定値
Ｉｆｂ  フィードバック電流
ｘ  デューティ
Ｐ  参照信号の周期
ＨＦＭ  高周波数モード
ＰＷＭ  パルス幅変調モード
ＬＦＭ  低周波数モード
Ｔ  セル温度
【図１】
0005602170.tif 000002
【図２】
0005602170.tif 000003
【図３】
0005602170.tif 000004
【図４】
0005602170.tif 000005
【図５】
0005602170.tif 000006
【図６】
0005602170.tif 000007
【図７】
0005602170.tif 000008
【図８】
0005602170.tif 000009
【図９】
0005602170.tif 000010