以下、本発明の一実施形態について図面を参照しながら説明する。
まず、図1および図2を参照して、本発明の一実施形態に係る情報処理装置の構成について説明する。この情報処理装置は、例えば、バッテリ駆動可能なノートブック型の携帯型パーソナルコンピュータ10として実現されている。
図1はコンピュータ10のディスプレイユニットを開いた状態における斜視図である。本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成されている。ディスプレイユニット12には、LCD(Liquid Crystal Display)17から構成される表示装置が組み込まれており、そのLCD17の表示画面はディスプレイユニット12のほぼ中央に位置されている。
ディスプレイユニット12は、コンピュータ本体11に対して開放位置と閉塞位置との間を回動自在に取り付けられている。コンピュータ本体11はバッテリが取り外し自在に装着可能な例えば薄い箱形の筐体を有している。バッテリは、コンピュータ本体11の例えば底面に設けられたバッテリ収容スペースに装着される。
コンピュータ本体11の上面にはキーボード13、本コンピュータ1をパワーオン/オフするためのパワーボタンスイッチ14、およびタッチパッド15などが配置されている。
次に、図2を参照して、本コンピュータ10のシステム構成について説明する。
本コンピュータ10は、図2に示されているように、CPU111、ノースブリッジ114、主メモリ115、グラフィクスコントローラ116、サウスブリッジ117、BIOS−ROM120、ハードディスクドライブ(HDD)121、光ディスクドライブ(ODD)122、各種PCIデバイス123、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)140、電源コントローラ(PSC)141、電源回路142、ACアダプタ(外部電源)143およびバッテリ150等を備えている。
CPU111は本コンピュータ10の動作を制御するために設けられたプロセッサであり、HDD121から主メモリ115にロードされるオペレーティングシステムおよび各種アプリケーションプログラムを実行する。また、CPU111は、BIOS−ROM120に格納されたシステムBIOS(Basic Input Output System)も実行する。システムBIOSはハードウェア制御のためのプログラムである。
ノースブリッジ114はCPU111のローカルバスとサウスブリッジ117との間を接続するブリッジデバイスである。ノースブリッジ114には、主メモリ115をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ114は、PCI Expressバスなどを介してグラフィクスコントローラ116との通信を実行する機能も有している。
グラフィクスコントローラ116は本コンピュータ10のディスプレイモニタとして使用されるLCD17を制御する表示コントローラである。このグラフィクスコントローラ116はビデオメモリ(VRAM)116Aを有しており、OS/アプリケーションプログラムによってビデオメモリ(VRAM)116Aに書き込まれた表示データから、LCD17に表示すべき表示イメージを形成する映像信号を生成する。
サウスブリッジ117はPCIバス1に接続されており、PCIバス1を介してPCIデバイス123との通信を実行する。また、サウスブリッジ117は、ハードディスクドライブ(HDD)121および光ディスクドライブ(ODD)122を制御するためのIDE(Integrated Drive Electronics)コントローラやSerial ATAコントローラを内蔵している。
エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)140は、電力管理のためのエンベデッドコントローラと、キーボード(KB)13およびタッチパッド15を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。このEC/KBC140は、ユーザによるパワーボタンスイッチ14の操作に応じて本コンピュータ10をパワーオン/パワーオフする機能を有している。本コンピュータ10のパワーオン/パワーオフの制御は、EC/KBC140と電源コントローラ(PSC)141との共同動作によって実行される。EC/KBC140から送信されるON信号を受けると、電源コントローラ(PSC)141は電源回路142を制御して本コンピュータ10をパワーオンする。また、EC/KBC140から送信されるOFF信号を受けると、電源コントローラ(PSC)141は電源回路142を制御して本コンピュータ10を電源オフする。
また、電源コントローラ(PSC)141は、コンピュータ本体11にバッテリ150が装着されたか否かを判別する機能、電源コントローラ(PSC)141に予め記憶している各種パラメータ情報(バッテリ残存容量に対応する残充電時間情報、バッテリ残量の閾値、電源回路の温度の閾値、充電電流値等)を読み出して電源回路142に設定する機能、およびコンピュータ本体11に外部電源(ACアダプタ143)が接続されているか否かを判別する機能を有している。判別結果は、電源コントローラ(PSC)141によってEC/KBC140内のステータスレジスタに設定される。さらに電源コントローラ(PSC)141は、バッテリ150の残存容量の情報をシリアルバス2を介して取得する。
電源回路142は、コンピュータ本体11に装着されたバッテリ150からの電力、またはコンピュータ本体11に外部電源として接続されるACアダプタ143からの電力を用いて、各コンポーネントへの動作電源を生成する。コンピュータ本体11に外部電源(ACアダプタ143)が接続されている場合には、電源回路142は、外部電源からの電力を用いて各コンポーネントへの動作電源を生成すると共に、外部電源からの電力を用いてバッテリ150を充電する。また、電源回路142には温度センサ200が内蔵されている。電源コントローラ(PSC)141は、この温度センサ200で測定された温度情報を取得する。
バッテリ150は複数の2次電池および不揮発性メモリ151から構成されている。不揮発性メモリ151には、バッテリ150の能力を示す定格情報が予め格納されている。定格情報は、例えば、バッテリ150の最大放電電流を示す放電電流定格(A)、バッテリ150の定格容量(Ah)、バッテリ150に搭載された2次電池の個数を示すセル数情報、充放電が実行された回数を示すサイクル数、バッテリ150の使用時間の総計値などが含まれている。
EC/KBC140、電源コントローラ(PSC)141、電源回路142、およびバッテリ150は、I2Cバスのようなシリアルバス2を介して相互接続されている。コンピュータ本体11にバッテリ150が装着されている期間中、またはコンピュータ本体11にACアダプタ143が接続されている期間中においては、EC/KBC140および電源コントローラ(PSC)141には、電源回路142から動作電源が常時供給される。
図3は、電源コントローラ(PSC)141および電源回路142を中心とした構成を示したブロック図である。
電源回路142はACアダプタ143から供給される電力をDC/DCコンバータ等により変換し、充電電流を生成する。電源回路142により生成された充電電流によりバッテリ150が充電される。また電源回路142には、温度センサ200が備えられている。電源コントローラ(PSC)141は、制御部300および記憶部301を備える。制御部300は、電源回路142の温度センサ200から温度情報を取得する。また、制御部300は、シリアルバス2を経由してバッテリ150からバッテリ残存容量の情報を取得する。
記憶部301には、バッテリ残存容量、残充電時間情報301a、バッテリ残量の閾値301b、電源回路の温度の閾値301c、充電電流値301d等の各種パラメータが記憶されている。この各種パラメータは、例えばバッテリ150に供給する充電電流値と、充電電流値に対応する時間当たりの温度上昇値と、バッテリ残量に対応する残充電時間とがパラメータとして記憶部301にそれぞれ複数記憶されている。また、電源回路142の温度センサ200から取得される温度が閾値を超えた場合、制御部300は第1の充電電流よりも低い通常の充電電流である第2の充電電流を用いてバッテリ150に電流の供給を行うように制御する。
一方、電源回路142の温度センサ200から取得される温度が閾値を超え、且つ、バッテリ150の残量がバッテリ残量の閾値301bを超えた場合は、急速充電電流である第1の充電電流を用いてバッテリ150に電流の供給を行うように制御する。
さらに、電源回路の温度の閾値として、第1の温度閾値と当該第1の温度閾値よりも高い第2の温度閾値とを設定する場合を考える。電源回路142の温度センサ200から取得される温度が第1の温度閾値を超えた場合は、第1の充電電流(急速充電電流)より低い第2の充電電流(通常の充電電流)を用いてバッテリ150に電流の供給をさせるように電源回路142の制御を行う。一方、第2の温度閾値を超えた場合は電源回路142にバッテリ150への電流の供給を停止させるように制御を行う。
また、第1の温度閾値を超えた場合は、時間当たりの温度上昇値に基づいて残充電時間内に第2の温度閾値を超えない充電電流値を記憶部301から読み出し、読み出した充電電流値に基づいて電源回路142の制御を行う(後述)。さらに、バッテリ残量に対応する残充電時間は、例えば、バッテリ残量(20%、40%、60%、80%等)に対して段階的に設定されている。さらに、第2の温度閾値を超えない充電電流値が記憶部301に記憶されていない場合は記憶部301に記憶されている充電電流値のうち、一番小さい値の充電電流値を用いる(後述)。そして、バッテリ150が満充電と判別した場合は、電源回路142にバッテリ150への充電電流の供給を停止させる。
次に、図4のフローチャートを参照して、バッテリ150を最適に充電するための充電制御処理の手順の例を説明する。
電源コントローラ(PSC)141は、コンピュータ10の電源がONされると(ステップS101)、コンピュータ本体11にバッテリ150が装着されたか否かを判別する(ステップS102)。電源コントローラ(PSC)141は、例えば、コンピュータ本体11内のバッテリ収容スペースに設けられた、バッテリ150との通信用の電極群の一つの電圧値を監視し、電圧値が所定の論理レベルに変化したときに、コンピュータ本体11にバッテリ150が装着されたと判別する。コンピュータ本体11に外部電源(ACアダプタ143)が接続されていない時においても、バッテリ150が装着されると、その時点で電源コントローラ(PSC)141およびEC/KBC140にそれぞれ動作電源が供給される。これにより、たとえコンピュータ本体11に外部電源(ACアダプタ143)が接続されていない時においても、電源コントローラ(PSC)141は、コンピュータ本体11にバッテリ150が装着されたことを検知することができる。
ステップS102で、電源コントローラ(PSC)141によって、コンピュータ本体11にバッテリ150が装着されたと判別された場合は(ステップS102のYES)、電源コントローラ(PSC)141は、記憶部301に記憶されている電源回路142の温度閾値のうち、第1の温度閾値を超えたか否かを判別する(ステップS103)。電源回路142の温度閾値のうち、第1の温度閾値は、例えば50℃、第2の温度閾値は、例えば60℃として設定されているものとする。
ステップS103で、電源コントローラ(PSC)141によって、電源回路142の温度が第1の温度閾値を超えたと判別された場合は(ステップS103のYES)、電源コントローラ(PSC)141は、記憶部301に記憶されている電源回路142の温度閾値のうち、第2の温度閾値を超えたか否かを判別する(ステップS104)。
ステップS104で、電源コントローラ(PSC)141によって、電源回路142の温度が第2の温度閾値を超えたと判別された場合は(ステップS104のYES)、電源回路142にバッテリ150への充電電流の供給を停止させる(ステップS107)。例えば第2の温度閾値が60℃として設定されていた場合は、電源回路142の温度が60℃に達すると、安全のため充電電流の供給を停止させる。一方、ステップS104で、電源コントローラ(PSC)141によって、電源回路142の温度が第2の温度閾値を超えていないと判別された場合は(ステップS104のNO)、バッテリ残存容量が閾値未満であるかを判別する(ステップS105)。ステップS105で、電源コントローラ(PSC)141によって、バッテリ残存容量が閾値未満であると判別された場合は(ステップS105のYES)、各種パラメータ情報(バッテリ残存容量に対応する残充電時間情報、バッテリ残量の閾値、電源回路の温度の閾値)から充電電流値を決定した後に、決定された充電電流値を電源回路142に設定する(ステップS106)。
図5および図6は本実施形態に係るコンピュータによって実行される充電制御処理の際に用いられる各種パラメータの例を示す図である。図5、図6に示されるように各種パラメータ情報が設定されているとして、取得した電源回路142の温度情報が例えば51℃、バッテリ残存容量が40%、急速充電(バッテリの性能に対して一番短い時間で充電可能な充電方法)での充電電流値5.0A(第1の充電電流)である場合について説明する。
取得した電源回路142の温度情報が51℃であるということは、第1の温度閾値50℃以上であり、かつ第2の温度閾値60℃以下である。また、取得したバッテリ残存容量が40%であるということは、図6に示すバッテリ残存容量の閾値である80%未満である。この場合、第2の温度閾値が60℃と現在の電源回路142の温度である51℃との差(9℃)を取り、現在のバッテリ残存容量である40%から満充電に要する時間(2.4h)を例えば充電電流の大きい方(5.0A)から取得し、演算する。充電電流5.0Aの場合は、時間当たりの温度の上昇は、1時間当たり60℃であるので、満充電に要する時間(2.4h)までに電源回路142の温度が9℃以上(60×2.4=144℃)上昇してしまうため、充電電流5.0Aは不適合と判別される。次に、同様にして充電電流4.0Aの場合は、時間当たりの温度の上昇は、1時間当たり40℃であるので、満充電に要する時間(2.4h)までに電源回路142の温度が9℃以上(40×2.4=96℃)上昇してしまうため、充電電流4.0Aは不適合と判別される。続いて、充電電流3.0Aの場合は、時間当たりの温度の上昇は、1時間当たり15℃であるので、満充電に要する時間(2.4h)までに電源回路142の温度が9℃以上(15×2.4=36℃)であるので、充電電流3.0Aは不適合と判別される。さらに、充電電流2.0Aの場合は、時間当たりの温度の上昇は、1時間当たり7℃であるので、満充電に要する時間(2.4h)までに電源回路142の温度が9℃以上(7×2.4=16.8℃)であるので、充電電流2.0Aは不適合と判別される。最後に、充電電流1.0Aの場合は、時間当たりの温度の上昇は、1時間当たり3℃であるので、満充電に要する時間(2.4h)までに電源回路142の温度が9℃未満(3×2.4=7.2℃)であるので、充電電流1.0Aは適合と判別され、充電電流が1.0Aに設定される。このため、充電を停止しなければならないような電源回路142の温度の上昇を防ぐと共に、適切な充電電流値を設定してバッテリの充電を行うことで、一番短い充電時間で充電を完了することができる。なお、第2の温度閾値60℃を超えない充電電流値が記憶部に記憶されていないと判別された場合は(例えば、充電電流が1.0Aとして設定しても9℃以上温度が上昇してしまう場合)、記憶部に記憶されている充電電流値のうち、一番小さい値の充電電流値(図5の場合は1.0A)を読み出して設定する。なお、温度の閾値(=第1の温度閾値)を超えた場合は、第1の充電電流より低い第2の充電電流を用いてバッテリ150に電流の供給を行う。
ステップS105で、電源コントローラ(PSC)141によって、バッテリ残存容量の閾値未満でないと判別された場合は(バッテリ残存容量の閾値である80%以上である場合:ステップS105のNO)、通常の急速充電(例えば、充電電流値5.0A等)を行う(温度の閾値(=第1の温度閾値)およびバッテリ残量の閾値の両方の閾値を超えた場合は第1の充電電流を用いてバッテリ150に供給を行う)。その後に満充電となった場合は、電源回路142にバッテリ150への充電電流の供給を停止させる。すなわち、バッテリ残存容量がバッテリ残量の閾値である80%以上であり、満充電までの時間が短いと予想されるので、急速充電等のバッテリの性能上一番早い充電方法(高い充電電流値)で充電を行う。
以上、上述したように本実施形態によれば、バッテリの電源回路の温度変化と各種パラメータとを用いて適切な充電制御を行うことができる。このため、充電を停止しなければならないような電源回路の温度の上昇を防ぐと共に、適切な充電電流値を設定してバッテリの充電を行うことで、短い充電時間で充電を完了することができる。
また、本実施形態の情報処理装置はコンピュータ10によって実現するのみならず、例えば、PDA(Personal Digital Assistant)のような様々な情報処理装置によって実現することもできる。
また、本発明は、前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。