(57)【特許請求の範囲】
【請求項１】
電力を消費する本体を備え、充電した後に放電して当該本体に対して電力を供給すると共に自らだけではリセットできない電池を接続可能に構成される電気機器であって、
前記電池の不具合発生を前記本体側にて認識する不具合発生認識手段と、
前記不具合発生認識手段による認識に基づき前記本体側からの制御によって前記電池に対してリセット動作を実行するリセット実行手段とを備え、
前記リセット実行手段は、前記電池が備えるＣＰＵに対して前記電池と前記本体との間における信号線を用いてハードウェアリセットをかけること、および/または当該本体側から当該電池に対してソフトウェアリセットコマンドを出力して当該電池にソフトウェアリセットをかけることを特徴とする電気機器。
【請求項２】
電力を消費するシステムと、
前記システムと通信するＣＰＵを備え、充電の後に放電して当該システムに対して電力を供給すると共に自らだけでは当該ＣＰＵをリセットできない電池とを備え、
前記電池が備える前記ＣＰＵがハングアップして動作不可となる場合に、前記システムは、前記電池が備える前記ＣＰＵに対して通信プロトコルを用いたリセットコマンドを出力し、
前記電池が備える前記ＣＰＵは、前記リセットコマンドを実行した後に当該リセットコマンドの完了を前記システムに出力することを特徴とする電気機器。
【請求項３】
前記システムは、前記電池と当該システムとの間における信号線を用いて当該電池が備える前記ＣＰＵに対してハードウェアリセットをかけることを特徴とする請求項２記載の電気機器。
【請求項４】
前記電池は、前記信号線の電圧レベルに基づいて、前記ＣＰＵへのハードウェアリセットを実行することを特徴とする請求項３記載の電気機器。
【請求項５】
充放電を行うと共に自らだけではリセットできない電池を接続可能に構成され、当該電池からシステムに対して電力の供給を行うコンピュータ装置であって、
前記電池を制御すると共に当該電池と通信を行うコントローラと、
前記電池のユーティリティプログラムを実行するＣＰＵとを備え、
前記コントローラは、前記電池との通信に不具合があると認識される場合に、前記ユーティリティプログラムからの指示に基づき当該電池に対してリセット動作を実行させ、当該電池に対して通信プロトコルを用いたソフトウェアリセットを試みた後に正常終了しない場合に、当該電池に対してハードウェアリセットを実行させることを特徴とするコンピュータ装置。
【請求項６】
前記コントローラにより前記電池との通信に不具合があると認識される場合に、前記リセット動作の実行指示をユーザに促すための画面を表示するディスプレイを更に備えたことを特徴とする請求項５記載のコンピュータ装置。
【請求項７】
前記ディスプレイは、前記リセット動作の終了の後、前記電池に対して完全放電を施すリフレッシュ実行指示をユーザに促すための画面を表示することを特徴とする請求項６記載のコンピュータ装置。
【請求項８】
充電の後に放電してシステムに電力を供給すると共に自らだけではリセットできない電池を接続可能なコンピュータ装置であって、
前記電池と所定のプロトコルに基づく通信を行う通信手段と、
前記通信手段による通信に際して所定の不具合がある場合に、当該通信手段を利用して前記プロトコルが拡張されたソフトリセットコマンドを用いて前記電池に対してソフトウェアリセットを実行するソフトウェアリセット実行手段と、
前記システムが前記電池の有無を認識するための端子を用いて当該電池を強制的に初期化するためのハードウェアリセットを実行するハードウェアリセット実行手段と
を備えたことを特徴とするコンピュータ装置。
【請求項９】
電気機器に接続され、充電した後に放電して当該電気機器に電力を供給すると共に自らだけではリセットできないインテリジェント電池であって、
電力を供給するセルと、
当該セルの状態を認識すると共に前記電気機器との通信を実行するＣＰＵと、
前記電気機器に接続された際には当該電気機器からの制御によってのみ前記ＣＰＵをリセット可能にするリセット手段とを備え、
前記リセット手段は、前記ＣＰＵが実行するプログラムをリセットするソフトウェアリセットおよび/または当該ＣＰＵのリセット端子に施されるハードウェアリセットであることを特徴とするインテリジェント電池。
【請求項１０】
電力を消費する本体に接続され充電した後に放電を行い当該本体に対して電力を供給すると共に自らだけではリセットできない電池の制御方法であって、
前記電池と前記本体との所定のプロトコルに基づく通信に際して所定の不具合があるか否かを判断し、
前記所定の不具合があると判断される場合にユーザに対してソフトウェアリセットの指示を促し、
ユーザからソフトウェアリセットの指示がなされた場合に前記本体側から前記電池に対して前記プロトコルが拡張されたソフトリセットコマンドを用いてソフトウェアリセットを実行することを特徴とする電池の制御方法。
【請求項１１】
電力を消費する本体に接続され充電した後に放電を行い当該本体に対して電力を供給すると共に自らだけではリセットできない電池の制御方法であって、
前記電池と前記本体との通信が可能か否かを当該本体側にて判断し、
前記通信が可能でない場合に前記本体側から前記電池に対して当該本体側が当該電池の有無を認識するための端子を用いて当該電池を強制的に初期化するためのハードウェアリセットを実行することを特徴とする電池の制御方法。
【請求項１２】
電力を消費する本体に接続され充電した後に放電を行い当該本体に対して電力を供給すると共に自らだけではリセットできない電池の制御方法であって、
前記電池と前記本体との通信にて所定の不具合があるか否かを当該本体側にて判断し、
前記所定の不具合があるとの判断に基づいて前記本体側からソフトリセットコマンドを用いてソフトウェアリセットを実行し、
前記ソフトウェアリセットが正常終了しない場合に前記本体側から前記電池に対して当該本体側と当該電池との間における信号線を用いてハードウェアリセットを実行することを特徴とする電池の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、充電の後に放電する電池を接続可能に構成された電気機器等に係り、より詳しくは、内部にＣＰＵを備えたインテリジェント電池を接続可能な電気機器等に関する。
【０００２】
【従来の技術】
ノート型パーソナルコンピュータ(ノートＰＣ)に代表される情報端末機器や、ＰＤＡ(Personal Digital Assistant)等のパーソナル機器、各種携帯型オーディオ機器、ビデオカメラ等の各種電気機器では、例えばＡＣアダプタからの電力供給等、商用電源から直接電力を供給する場合の他、充放電を繰り返しながら何度も使用できる電池(蓄電池、２次電池、バッテリ)からの電力供給が行われている。この電池としては、比較的容量も大きく価格も安いニッケル水素電池(ＮｉＭＨ電池)やニッケルカドミウム電池(ニッカド電池)が採用されている。また、ニッケルカドミウム電池に比べて単位重量あたりのエネルギ密度の高いリチウムイオン電池、液体の電解質を利用せずに固体のポリマーを用いるリチウムポリマー電池などが存在する。
【０００３】
ここで、例えば電池パック(バッテリパック)として、電気機器に接続可能に構成される電池では、その内部にＣＰＵを備えた所謂インテリジェント電池が用いられている。このインテリジェント電池のＣＰＵは、例えば、インテリジェント電池内部のセルに対して充放電が行われる際の電流値測定や電圧測定等の結果を受け、また、これらの測定結果により電池容量を把握したり、サイクル数の把握や寿命に関する情報を取得する等、電池に関する各種情報の生成や情報保持等の各種制御を実行している。また、接続されるシステム側のコントローラに接続されて、例えばＳＢＳ(Smart Battery System)に準拠したプロトコルによりシステムとの通信を可能としている。また、ＣＰＵは１つに限られるものではなく、複数のＣＰＵを備えたインテリジェント電池も存在する。
【０００４】
【発明が解決しようとする課題】
しかしながら、例えば、蓄積された静電気による放電によって電子機器や回路を損傷させるＥＳＤ(Electro Static discharge：静電放電)などの理由により、インテリジェント電池のＣＰＵがハングアップして動作不可、動作不能となる場合がある。かかる場合に、このＣＰＵは、電池の各種情報をシステムに正常に送ることができなくなり、通信不成立によるエラーがシステム側のＬＥＤや画面に表示される。
【０００５】
ここで、一般的な装置に設けられるＣＰＵがハングアップした場合には、例えば、電源のオフ/オン等によるリセットをかけることにより回復することが可能であるが、バッテリパックとして形成されるインテリジェント電池の場合には、一般にリセット機能を備えておらず、内蔵されているＣＰＵがハングアップから回復する手段がなかった。かかる場合に、電池自身はハードウェア的なダメージを受けていないにも関わらず、不良電池として扱わざるを得ず、経済上の問題も大きかった。
【０００６】
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的とするところは、動作不良の電池を正常に復帰させ、不良扱いの電池を減らすことにある。
また他の目的は、段階的なリセット作業等によって、電池におけるハングアップ状態からの回復を最適化することにある。
【０００７】
【課題を解決するための手段】
かかる目的のもと、本発明は、電池内部のＣＰＵがハングアップして動作不可/動作不能となった場合に、電池に対してソフトウェアリセットやハードウェアリセットを行うリセット機能を備え、電池のＣＰＵがハングアップした状態から回復させることを可能としている。即ち、本発明は、電力を消費する本体を備え、充電した後に放電してこの本体に対して電力を供給すると共に自らだけではリセットできない電池を接続可能に構成される電気機器であって、電池の不具合発生を認識する不具合発生認識手段と、この不具合発生認識手段による認識に基づいて電池に対してリセット動作を実行するリセット実行手段とを備えたことを特徴している。
【０００８】
また、本発明は、電力を消費するシステムと、このシステムと通信するＣＰＵを備えると共に充電の後に放電してシステムに対して電力を供給すると共に自らだけではＣＰＵをリセットできない電池とを備え、この電池が備えるＣＰＵがハングアップして動作不可となる場合に、ＣＰＵをリセットすることを特徴としている。
【０００９】
ここで、このシステムは、電池が備えるＣＰＵに対して通信プロトコルを用いたリセットコマンドを出力し、電池が備えるＣＰＵは、リセットコマンドを実行した後にリセットコマンドの完了をシステムに出力することを特徴とすれば、ソフトウェアリセットで回復できる所定のトラブルに対して対処することができる点で好ましい。また、このシステムは、電池とシステムとの間における信号線を用いて電池が備えるＣＰＵに対してハードウェアリセットをかけることを特徴とすれば、例えば、ソフトウェアリセットでは回復できないトラブルや、通信自体を行うことのできないトラブルが発生した場合でも、ハングアップしたインテリジェント電池を回復させることができる点で優れている。
【００１０】
一方、本発明は、充放電を行うと共に自らだけではリセットできない電池を接続可能に構成され、この電池からシステムに対して電力の供給を行うコンピュータ装置であって、電池を制御すると共にこの電池と通信を行うコントローラと、電池のユーティリティプログラムを実行するシステムのＣＰＵとを備え、コントローラは、電池との通信に不具合があると認識される場合に、ユーティリティプログラムからの指示に基づき電池に対してリセット動作を実行させることを特徴としている。また更に、このコントローラにより電池との通信に不具合があると認識される場合に、リセット動作の実行指示をユーザに促すための画面を表示するディスプレイを更に備えたことを特徴としている。尚、このディスプレイは、リセット動作の終了の後、電池に対して完全放電を施すリフレッシュ実行指示をユーザに促すための画面を表示することを特徴とすれば、電池の実容量と残容量データとを適合させることができる点で優れている。
【００１１】
また、本発明は、充電の後に放電してシステムに電力を供給すると共に自らだけではリセットできない電池を接続可能なコンピュータ装置であって、電池と所定のプロトコルに基づく通信を行う通信手段と、通信手段による通信に際して所定の不具合がある場合に、この通信手段を利用して電池に対してソフトウェアリセットを実行するソフトウェアリセット実行手段と、電池を強制的に初期化するためのハードウェアリセットを実行するハードウェアリセット実行手段とを備えたことを特徴としている。
【００１２】
ここで、このソフトウェアリセット実行手段は、例えばＳＢＳ等の既存のプロトコルが拡張されたソフトリセットコマンドを用いて電池に対してソフトウェアリセットを実行させることを特徴とすることができる。また、このハードウェアリセット実行手段は、システムが電池の有無を認識するための端子を用いて電池に対するハードウェアリセットを実行することを特徴とすることができる。
【００１３】
他の観点から捉えると、本発明は、電気機器に接続され、充電した後に放電して電気機器に電力を供給すると共に自らだけではリセットできないインテリジェント電池であって、電力を供給するセルと、このセルの状態を認識すると共に電気機器との通信を実行するＣＰＵと、この電気機器に接続された際には電気機器からの制御によってのみＣＰＵをリセット可能にするリセット手段とを備えたことを特徴とすることができる。ここで、このリセット手段は、ＣＰＵが実行するプログラムをリセットするソフトウェアリセットおよび/またはＣＰＵのリセット端子に施されるハードウェアリセットであることを特徴とすることができる。
【００１４】
一方、本発明は、電力を消費する本体に接続され充電した後に放電を行いこの本体に対して電力を供給すると共に自らだけではリセットできない電池の制御方法として捉えることができる。その一つの発明としては、電池と本体との通信にて所定の不具合があるか否かを判断し、所定の不具合があると判断される場合にユーザに対してソフトウェアリセットの指示を促し、ユーザからソフトウェアリセットの指示がなされた場合に電池に対してソフトウェアリセットを実行することを特徴とするものである。また、電池と本体との通信が可能か否かを判断し、通信が可能でない場合に本体側から電池に対してハードウェアリセットを実行することを特徴とすることができる。更に、電池と本体との通信にて所定の不具合があるか否かを判断し、所定の不具合があるとの判断に基づいて本体側からソフトウェアリセットを実行し、ソフトウェアリセットが正常終了しない場合に電池に対して本体側からハードウェアリセットを実行することを特徴とすることができる。
【００１５】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいて本発明を詳細に説明する。
図１は、本実施の形態が適用される電気機器であるコンピュータシステム１０のハードウェア構成を示した図である。このコンピュータシステム１０を備えるコンピュータ装置は、例えば、ＯＡＤＧ(Open Architecture Developer's Group)仕様に準拠して、所定のＯＳを搭載したノートブックＰＣ(ノートブック型パーソナルコンピュータ)として構成されている。
【００１６】
図１に示すコンピュータシステム１０において、ＣＰＵ１１は、コンピュータシステム１０全体の頭脳として機能し、ＯＳの制御下でユーティリティプログラムの他、各種プログラムを実行している。ＣＰＵ１１は、システムバスであるＦＳＢ(Front Side Bus)１２、高速のＩ/Ｏ装置用バスとしてのＰＣＩ(Peripheral Component Interconnect)バス２０、低速のＩ/Ｏ装置用バスとしてのＩＳＡ(Industry Standard Architecture)バス４０という３段階のバスを介して、各構成要素と相互接続されている。このＣＰＵ１１は、キャッシュメモリにプログラム・コードやデータを蓄えることで、処理の高速化を図っている。近年では、ＣＰＵ１１の内部に１次キャッシュとして１２８Ｋバイト程度のＳＲＡＭを集積させているが、容量の不足を補うために、専用バスであるＢＳＢ(Back Side Bus)１３を介して、５１２Ｋ〜２Ｍバイト程度の２次キャッシュ１４を置いている。尚、ＢＳＢ１３を省略し、ＦＳＢ１２に２次キャッシュ１４を接続して端子数の多いパッケージを避けることで、コストを低く抑えることも可能である。
【００１７】
ＦＳＢ１２とＰＣＩバス２０は、メモリ/ＰＣＩチップと呼ばれるＣＰＵブリッジ(ホスト−ＰＣＩブリッジ)１５によって連絡されている。このＣＰＵブリッジ１５は、メインメモリ１６へのアクセス動作を制御するためのメモリコントローラ機能や、ＦＳＢ１２とＰＣＩバス２０との間のデータ転送速度の差を吸収するためのデータバッファ等を含んだ構成となっている。メインメモリ１６は、ＣＰＵ１１の実行プログラムの読み込み領域として、あるいは実行プログラムの処理データを書き込む作業領域として利用される書き込み可能メモリであり、例えば、複数個のＤＲＡＭチップで構成され、例えば６４ＭＢを標準装備し、３２０ＭＢまで増設することが可能である。この実行プログラムには、ＯＳや周辺機器類をハードウェア操作するための各種ドライバ、特定業務に向けられたアプリケーションプログラム、後述するフラッシュＲＯＭ４４に格納されたＢＩＯＳ(Basic Input/Output System：基本入出力システム)等のファームウェアが含まれる。
【００１８】
ビデオサブシステム１７は、ビデオに関連する機能を実現するためのサブシステムであり、ビデオコントローラを含んでいる。このビデオコントローラは、ＣＰＵ１１からの描画命令を処理し、処理した描画情報をビデオメモリに書き込むと共に、ビデオメモリからこの描画情報を読み出して、液晶ディスプレイ(ＬＣＤ)１８に描画データとして出力している。
【００１９】
ＰＣＩバス２０は、比較的高速なデータ転送が可能なバスであり、データバス幅を３２ビットまたは６４ビット、最大動作周波数を３３ＭＨｚ、６６ＭＨｚ、最大データ転送速度を１３２ＭＢ/秒、５２８ＭＢ/秒とする仕様によって規格化されている。このＰＣＩバス２０には、Ｉ/Ｏブリッジ２１、カードバスコントローラ２２、オーディオサブシステム２５、ドッキングステーションインターフェース(Dock Ｉ/Ｆ)２６、miniＰＣＩコネクタ２７が夫々接続されている。
【００２０】
カードバスコントローラ２２は、ＰＣＩバス２０のバスシグナルをカードバススロット２３のインターフェースコネクタ(カードバス)に直結させるための専用コントローラであり、このカードバススロット２３には、ＰＣカード２４を装填することが可能である。ドッキングステーションインターフェース２６は、コンピュータシステム１０の機能拡張装置であるドッキングステーション(図示せず)を接続するためのハードウェアである。ドッキングステーションにノートＰＣがセットされると、ドッキングステーションの内部バスに接続された各種のハードウェア要素が、ドッキングステーションインターフェース２６を介してＰＣＩバス２０に接続される。また、miniＰＣＩコネクタ２７には、ミニＰＣＩ(miniＰＣＩ)カード２８が接続される。
【００２１】
Ｉ/Ｏブリッジ２１は、ＰＣＩバス２０とＩＳＡバス４０とのブリッジ機能を備えている。また、ＤＭＡコントローラ機能、プログラマブル割り込みコントローラ(ＰＩＣ)機能、プログラマブル・インターバル・タイマ(ＰＩＴ)機能、ＩＤＥ(Integrated Device Electronics)インターフェース機能、ＵＳＢ(Universal Serial Bus)機能、ＳＭＢ(System Management Bus)インターフェース機能を備えると共に、リアルタイムクロック(ＲＴＣ)を内蔵している。
【００２２】
ＤＭＡコントローラ機能は、ＦＤＤ等の周辺機器とメインメモリ１６との間のデータ転送をＣＰＵ１１の介在なしに実行するための機能である。ＰＩＣ機能は、周辺機器からの割り込み要求(ＩＲＱ)に応答して、所定のプログラム(割り込みハンドラ)を実行させる機能である。ＰＩＴ機能は、タイマ信号を所定周期で発生させる機能である。また、ＩＤＥインターフェース機能によって実現されるインターフェースは、ＩＤＥハードディスクドライブ(ＨＤＤ)３１が接続される他、ＣＤ−ＲＯＭドライブ３２がＡＴＡＰＩ(AT Attachment Packet Interface)接続される。このＣＤ−ＲＯＭドライブ３２の代わりに、ＤＶＤ(Digital Versatile Disc)ドライブのような、他のタイプのＩＤＥ装置が接続されても構わない。ＨＤＤ３１やＣＤ−ＲＯＭドライブ３２等の外部記憶装置は、例えば、ノートＰＣ本体内の「メディアベイ」または「デバイスベイ」と呼ばれる収納場所に格納される。これらの標準装備された外部記憶装置は、ＦＤＤや電池パックのような他の機器類と交換可能かつ排他的に取り付けられる場合もある。
【００２３】
また、Ｉ/Ｏブリッジ２１にはＵＳＢポートが設けられており、このＵＳＢポートは、例えばノートＰＣ本体の壁面等に設けられたＵＳＢコネクタ３０と接続されている。更に、Ｉ/Ｏブリッジ２１には、ＳＭバスを介してＥＥＰＲＯＭ３３が接続されている。このＥＥＰＲＯＭ３３は、ユーザによって登録されたパスワードやスーパーバイザーパスワード、製品シリアル番号等の情報を保持するためのメモリであり、不揮発性で記憶内容を電気的に書き換え可能とされている。
【００２４】
更にまた、Ｉ/Ｏブリッジ２１は電源回路５０に接続されている。この電源回路５０は、例えばＡＣ１００Ｖの商用電源に接続されてＡＣ/ＤＣ変換を行うＡＣアダプタ５１、充放電を繰り返して使用されるニッケル水素電池やニッケルカドミウム電池等からなるバッテリ(２次電池)としてのインテリジェント電池５２、コンピュータシステム１０で使用される＋１５Ｖ、＋５Ｖ、＋３.３Ｖ等の直流定電圧を生成するＤＣ/ＤＣコンバータ(ＤＣ/ＤＣ)５５等の回路を備えている。このインテリジェント電池５２は、内部にＣＰＵを備え、例えばＳＢＳ(Smart Battery System)に準拠してエンベデッドコントローラ４１(後述)と通信を行うインテリジェント電池である。本実施の形態では、インテリジェント電池５２は、例えばバッテリパックとして、ノートＰＣのシステムに取り付け/取り外しが可能となるように構成されている。
【００２５】
一方、Ｉ/Ｏブリッジ２１を構成するコアチップの内部には、コンピュータシステム１０の電源状態を管理するための内部レジスタと、この内部レジスタの操作を含むコンピュータシステム１０の電源状態の管理を行うロジック(ステートマシン)が設けられている。このロジックは、電源回路５０との間で各種の信号を送受し、この信号の送受により、電源回路５０からコンピュータシステム１０への実際の給電状態を認識する。電源回路５０は、このロジックからの指示に応じて、コンピュータシステム１０への電力供給を制御している。
【００２６】
ＩＳＡバス４０は、ＰＣＩバス２０よりもデータ転送速度が低いバスである(例えば、バス幅１６ビット、最大データ転送速度４ＭＢ/秒)。このＩＳＡバス４０には、ゲートアレイロジック４２に接続されたエンベデッドコントローラ４１、ＣＭＯＳ４３、フラッシュＲＯＭ４４、SuperＩ/Ｏコントローラ４５が接続されている。更に、キーボード/マウスコントローラのような比較的低速で動作する周辺機器類を接続するためにも用いられる。このSuperＩ/Ｏコントローラ４５にはＩ/Ｏポート４６が接続されており、ＦＤＤの駆動やパラレルポートを介したパラレルデータの入出力(ＰＩＯ)、シリアルポートを介したシリアルデータの入出力(ＳＩＯ)を制御している。
【００２７】
エンベデッドコントローラ４１は、図示しないキーボードのコントロールを行うと共に、電源回路５０に接続されて、内蔵されたパワー・マネージメント・コントローラ(ＰＭＣ：Power Management Controller)によってゲートアレイロジック４２と共に電源管理機能の一部を担っている。
【００２８】
図２は、本実施の形態が適用される電源供給回路の回路構成例を示した図であり、電池の有無を判断するＴ端子(ＳＢＳの仕様書では、'T-pin'または'Thermistor'と記述)を使ってハードウェアリセット(ハードリセット)するための第１のハードウェア構成を示している。この図２に示す電源供給回路では、例えば充放電を繰り返して使用されるリチウムイオン電池等からなる２次電池(電池、蓄電池)でありＳＢＳ(Smart Battery System)に準拠したインテリジェント電池５２と、システム(本体)側に設けられ、このインテリジェント電池５２とコミュニケーションを行うエンベデッドコントローラ４１が示されている。インテリジェント電池５２とエンベデッドコントローラ４１との通信は、ＣＬＯＣＫ信号とＤＡＴＡ信号で構成されるＳＭバスにより実現され、エンベデッドコントローラ４１からのソフトリセットコマンド(後述)がこのＳＭバスにより出力されて、インテリジェント電池５２に対するソフトウェアリセット(ソフトリセット)が実行される。また、エンベデッドコントローラ４１とインテリジェント電池５２との間には、ハードウェアリセットのためにＤＥＴＥＣＴ信号の電圧レベルを切り換えるスイッチ８１と、分圧するための抵抗(Ｒ２)８２を備えている。このスイッチ８１は、必ずしも機械的なスイッチのみを意味するものではなく、ＦＥＴなどの電子回路の組み合わせによって実現するのが現実的である。また、抵抗(Ｒ２)８２としては、抵抗値が６.２ＫΩ程度のものが用いられている。
【００２９】
図２に示すように、インテリジェント電池５２は、充放電が行われるバッテリとして複数の単セルからなるセル(電池セル)６１、インテリジェント電池５２を制御すると共にエンベデッドコントローラ４１と通信を行うＣＰＵ６２、セル６１から充放電される電流値を求める電流測定回路６３、および、セル６１の電圧を求める電圧測定回路７０を備えている。このセル６１は、例えば２並列３直列(１.８Ａｈ/セル)の６セルで構成されるリチウムイオン組電池である。
【００３０】
また、ＣＰＵ６２をリセットする回路として、コンパレータ７３、抵抗(Ｒ１)７４を備えている。抵抗(Ｒ１)７４は、例えば１０ＫΩ程度の抵抗値のものが採用されており、エンベデッドコントローラ４１がインテリジェント電池５２の接続を検出する目的に用いられる。尚、抵抗(Ｒ１)７４の代わりに、サーミスタなどの温度検出器で実現することもできる。インテリジェント電池５２が接続されていないときには、抵抗(Ｒ１)７４が存在しないので、ＤＥＴＥＣＴ信号は３.３Ｖになる。インテリジェント電池５２が接続されると、ＤＥＴＥＣＴ信号は３.３Ｖを抵抗(Ｒ１)７４と抵抗(Ｒ２)８２で分圧した電圧値を示す。これにより、エンベデッドコントローラ４１は、電池の有無を検知することが可能となる。
【００３１】
一方、インテリジェント電池５２側では、コンパレータ７３の一方の入力端子(Ｔ端子)にはシステム側のスイッチ８１により切り換えられた電圧を抵抗(Ｒ１)７４および抵抗(Ｒ２)８２で分圧された電圧が入力され、他方の入力端子には基準電圧Ｖrefが入力される。図２に示す回路例では、コンパレータ７３の出力がＨＩＧＨ(ハイ)となることにより、ＣＰＵ６２がリセットされるように構成されている。
【００３２】
インテリジェント電池５２の内部に搭載されたＣＰＵ６２は、電流測定回路６３および電圧測定回路７０から入力された測定結果であるアナログ信号をその内部でＡ/Ｄ(Analog to Digital)変換し、セル６１からの電流値、電圧値を把握している。また、バッテリの容量等、バッテリに関わる各種情報を把握している。把握された出力電流や電池に関わる各種情報は、ＤＡＴＡとＣＬＯＣＫの２つの通信ラインを介し、例えばＳＢＳのプロトコルを用いてシステム側のエンベデッドコントローラ４１に送信している。
【００３３】
電流測定回路６３では、まず、セル６１から流れる電流Ｉによって、抵抗(ＲＳ)６４の両端に電圧Ｉ×ＲＳの電位差が発生する。この電圧は、オペアンプ(ＡＭＰ１)６５によって差動増幅される。また、オペアンプ(ＡＭＰ２)６６とトランジスタ６８によって、オペアンプ(ＡＭＰ１)６５の出力電圧に比例する電流Ｉ１が抵抗(Ｒ１)６７を流れる。最終的にインテリジェント電池５２の電流Ｉの値は、抵抗(Ｒ２)６９に発生する電圧(Ｉ１×Ｒ２)に変換することができる。この電圧(Ｉ１×Ｒ２)はＣＰＵ６２のＡ/Ｄ＃２ポートに入力され、ＣＰＵ６２にてＡ/Ｄ変換される。一方、電圧測定回路７０では、インテリジェント電池５２の電圧が測定される。具体的には、インテリジェント電池５２におけるセル６１の電圧がオペアンプ(ＡＭＰ３)７１によって差動増幅して変換され、一旦、低い電圧に落とされた後にＣＰＵ６２のＡ/Ｄ＃１ポートに入力され、ＣＰＵ６２にてＡ/Ｄ変換される。
【００３４】
図３は、本実施の形態におけるハードウェアリセット動作のタイミング例を示した図である。インテリジェント電池５２の内部にあるＣＰＵ６２にハードウェアリセットをかけるとき、例えば、その設計仕様として、ＣＰＵ６２のリセット端子(ＲＥＳＥＴ)を１００ｍｓの間ハイレベルに設定するものと仮定する。このとき、３.３Ｖを抵抗(Ｒ１)７４および抵抗(Ｒ２)８２で分圧した電圧値は、基準電圧Ｖrefよりも低くなるように設定され、また、５Ｖを抵抗(Ｒ１)７４および抵抗(Ｒ２)８２で分圧した電圧値は、基準電圧Ｖrefよりも高くなるように設定されている。インテリジェント電池５２にハードウェアリセットをかけるとき、図３のタイミング(最上段)に示すように、エンベデッドコントローラ４１は、コントロール信号(ＣＴＲＬ)を１００ｍｓの間、ＬＯＷからＨＩＧＨとし、この期間、スイッチ８１によって、抵抗(Ｒ２)８２が５Ｖに接続される。すると、図３のタイミング(中段)に示すように、コンパレータ７３の一方の入力端子には、１００ｍｓの間、５Ｖを抵抗分圧したものが入力される。このとき、図３のタイミング(最下段)に示すように、１００ｍｓの間、コンパレータ７３の出力がハイレベル(Ｖcc)となる。即ち、リセット信号(ＲＥＳＥＴ)をハードウェア的に出力することができる。かかる動作によって、エンベデッドコントローラ４１は、インテリジェント電池５２をリセットすることが可能となる。
【００３５】
図４は、ハードウェアリセットを実現する他の回路構成を示した図である。図２に示した回路構成と異なるのは、ＣＰＵ６２以外に、インテリジェント電池５２を構成するその他回路８０に対してもリセットをかけることを可能としている点である。インテリジェント電池５２として、ＣＰＵ６２の他に、他のＣＰＵチップを備える場合があり、かかる回路構成を考慮して、その他回路８０に対してもハードウェアリセットをかけることを可能としている。尚、ここでは、その理解を容易にするために、回路構成を簡略化して示している。その他回路８０としては、例えば、保護回路や電流、電圧の測定回路を個別に制御するＣＰＵ等が挙げられる。尚、実際にハードウェアリセットをかける回路の構成は、図２に示すものと同様であり、ここではその詳細な説明を省略する。
【００３６】
図５は、ハードウェアリセットを実現する更に他の回路構成を示した図であり、同様にＴ端子を用いてリセットを実現している。ここでは、システム側に、３.３Ｖに接続される抵抗(Ｒ２)８６と、エンベデッドコントローラ４１からのコントロール信号(ＣＴＲＬ)によって制御される電界効果トランジスタ(ＦＥＴ１)８５が設けられている。また、インテリジェント電池５２におけるコンパレータ７３の出力を反転するインバータ(ＩＶＴ１)７８を備え、このインバータ(ＩＶＴ１)７８の出力がＣＰＵ６２およびその他回路８０のリセット端子(ＲＥＳＥＴ)に入力される。
【００３７】
ここで、エンベデッドコントローラ４１は、通常、コントロール信号(ＣＴＲＬ)にＨＩＧＨレベル(３.３Ｖ)を出力している。このとき電界効果トランジスタ(ＦＥＴ１)８５はオフになるので、コンパレータ７３の−端子には、
３.３ × Ｒ１ /（Ｒ１＋Ｒ２）
の電圧が入力される。コンパレータ７３の＋端子には基準電圧Ｖrefを入力するが、このＶrefの電圧は、下記の条件を満たすような値に設定しておく。
３.３ × Ｒ１ /（Ｒ１＋Ｒ２）＜ Ｖref ＜ ３.３Ｖ
コントロール信号(ＣＴＲＬ)がＨＩＧＨレベルのとき、
３.３ × Ｒ１ /（Ｒ１＋Ｒ２）＜ Ｖref
なので、コンパレータ７３の出力はＨＩＧＨレベルとなる。インバータ(ＩＶＴ１)７８によって出力レベルは反転されるので、ＣＰＵ６２およびその他回路８０のリセット端子(ＲＥＳＥＴ)はＬＯＷレベル(リセットがかかっていない状態)となる。
【００３８】
次に、ＥＳＤ(Electro Static discharge)によるハングアップなど、何らかの理由によりインテリジェント電池５２にハードウェアリセットをかける必要が生じた場合、エンベデッドコントローラ４１は、コントロール信号(ＣＴＲＬ)にＬＯＷレベルを出力する。この結果、電界効果トランジスタ(ＦＥＴ１)８５はオンになり、コンパレータ７３の−端子は３.３Ｖになる。Ｖref ＜ ３.３Ｖなので、コンパレータ７３の出力はＬＯＷレベルになる。インバータ(ＩＶＴ１)７８により信号は反転され、ＨＩＧＨレベルがＣＰＵ６２およびその他回路８０のリセット端子(ＲＥＳＥＴ)に出力される。この結果、インテリジェント電池５２内部の回路に対してリセット信号が供給されることになる。
【００３９】
インテリジェント電池５２の内部回路をリセットするのに十分な時間が経過した後、エンベデッドコントローラ４１は、コントロール信号(ＣＴＲＬ)に通常のＨＩＧＨレベルを出力する。すると、電界効果トランジスタ(ＦＥＴ１)８５はオフ、コンパレータ７３の出力はＨＩＧＨレベル、インバータ(ＩＶＴ１)７８の出力はＬＯＷレベルとなるので、ＣＰＵ６２およびその他回路８０のリセット端子(ＲＥＳＥＴ)はＬＯＷレベルとなり、ハードウェアリセット動作が終了する。この時点でインテリジェント電池５２内部は初期状態に設定されているので、この後はインテリジェント電池５２とエンベデッドコントローラ４１との間で通信を行うことができるようになる。但し、この状態は、強制的に初期化された状態なので、例えば、電池の実容量があっても残容量(Remaining Capacity)＝０ｍＡなどと表示してしまう場合がある。かかる場合は、ユーザにガイドを出した後にユーザの指示に従い、または、自動的に、電池の充電と放電を実施することにより、インテリジェント電池５２のＣＰＵ６２が管理する残容量データと電池の実容量とを一致させることが可能である。
【００４０】
次に、上述したハードウェア構成を用いたリセット処理方法について説明する。図６は、本実施の形態が適用される異常状態回復処理の流れを示したフローチャートである。まず、コンピュータシステム１０の例えばＣＰＵ１１にて実行されるユーティリティプログラムにより、エンベデッドコントローラ４１とインテリジェント電池５２との間で通信が成立するか否かがチェックされる(ステップ１０１)。通信が成り立たないような不具合が発生した場合には、ソフトウェアリセットを働かすことができないので、ステップ１０７へジャンプする。
【００４１】
ステップ１０１にて通信が成立している場合に、通信データに何らかの不具合が発見される場合、エンベデッドコントローラ４１はソフトウェアリセットの必要性をチェックする(ステップ１０２)。不具合が発見されない場合には、処理は終了する。この不具合の例としては、例えば、下記の症状を挙げることができる。
・インテリジェント電池５２が放電しているにも関わらず、インテリジェント電池５２の残容量(Remaining Capacity)データが減少しない。
・通常ではあり得ないような大きな残容量データをインテリジェント電池５２が送ってきた(例えば、ＦＣＣ(Full Charge Capacity)＜残容量(Remaining Capacity))。
・インテリジェント電池５２にキャラクタデータを要求したが、キャラクタコードにないデータをインテリジェント電池５２が送ってきた。
・アラーム(Alarm)またはエラーステータス(Error Status)を示す情報をインテリジェント電池５２が送ってきた。
・通常ではあり得ないような大きい充放電カウント(Cycle Count)データをインテリジェント電池５２が送ってきた。
【００４２】
このような不具合が発見される場合には、何らかの不具合が検知されたことをＣＰＵ１１にて実行されるユーティリティプログラムに表示し、ソフトリセットを実行するかどうかをユーザに問い合わせる(ステップ１０３)。次に、ステップ１０４にて、ユーザがソフトウェアリセットを指示した場合には、ソフトウェアリセットが実行され(ステップ１０５)、指示がない場合には、処理を終了する。ここで実行されるソフトウェアリセットとしては、例えば、ユーティリティプログラムを起動して実行されるリセット動作であり、例えばＳＢＳプロトコルを拡張してソフトリセットコマンドを追加することによって行うことができる。
【００４３】
エンベデッドコントローラ４１がこのソフトリセットコマンドをインテリジェント電池５２に送り、電池内部でリセット動作が正常に完了すると、インテリジェント電池５２は、リセット完了コードであるReturn Codeをエンベデッドコントローラ４１に送る。インテリジェント電池５２から送られてくるReturn Codeをチェックし、正常終了であればステップ１０８の処理、エラーが見つかり正常終了ではない場合にはステップ１０７のハードウェアリセット処理が実行される。即ち、ソフトリセットコマンドをインテリジェント電池５２に送ることができなかったり、リセット完了コードを所定時間内に受信できなかった場合に、エンベデッドコントローラ４１は、インテリジェント電池５２に対してハードリセット動作を起こすように構成されている。
【００４４】
ソフトウェアリセットまたはハードウェアリセットが実施されると、インテリジェント電池５２内部のデータが初期化され、インテリジェント電池５２の実容量と残容量(Remaining Capacity)データとが一致しなくなる。そこで、ユーザにリフレッシュ(一度、電池の完全放電を実施してから電池を１００％充電する操作)を行うようにガイドする(ステップ１０８)。この図６に示すフローのように、リフレッシュの自動実行機能を備えるシステムの場合には、ステップ１０９に示す処理に移行する。リフレッシュの自動実行機能を備えないシステムの場合には、ユーザにリフレッシュを実行するようにガイドを出して処理を終了する。
【００４５】
ステップ１０９で、ユーザによってリフレッシュの自動実行が指示された場合には、リフレッシュ動作を行ってインテリジェント電池５２の実容量と残容量(Remaining Capacity)とを一致させ(ステップ１１０)、一連の処理を終了させる。リフレッシュ指示がなかった場合には、リフレッシュを実行せずに本フローを終了する。尚、リフレッシュの自動実行機能とは、インテリジェント電池５２と電源供給装置(ＡＣアダプタ５１など)とがシステムに接続されている場合に、インテリジェント電池５２でシステムを駆動することによってインテリジェント電池５２をほぼ完全放電状態まで放電し、次に、電源供給装置でシステムを駆動するとともに、インテリジェント電池５２を充電することによって、インテリジェント電池５２の容量を１００％にする機能のことである。
【００４６】
図７は、図６のステップ１０５に示したソフトウェアリセット方法の一例を説明するための図である。ここでは、ＳＢＳコマンドセットの中で、ユーザが自由に定義することのできるOptionalMfgFunction1(コマンドコード0x3f)を使ってＳＢＳを拡張する。OptionalMfgFunction1は、図７に示すように定義される。ユーティリティプログラムでインテリジェント電池５２のリセットが選択されると、エンベデッドコントローラ４１は、インテリジェント電池５２にコマンド0x3fを出す。規定時間(例えば２秒)以内にインテリジェント電池５２から正常終了を示すデータ(ワードデータのビット(bit)１５が“０”、Normal Completion)をエンベデッドコントローラ４１が受け取ると、ソフトウェアリセット動作が正常終了する。この規定時間(例えば２秒)以内にデータを受け取ることができなかったり、エラー終了を示すデータ(ワードデータのビット(bit)１５が“１”、Error found)を受け取ると、インテリジェント電池５２はリセット動作を正常に行うことができなかったことが示される。
【００４７】
尚、ＣＰＵ６２等で実行されるソフトウェアリセットの例としては、例えば、データエリアにチェックサムがある場合に、そのチェックサムが正しいか否かを確認し、正しくない場合にはデータをクリアする態様が挙げられる。また、インテリジェント電池５２の内部に設けられるＥＥＰＲＯＭ等の不揮発性メモリにあるデータをロードする態様等もある。
【００４８】
図８(ａ),(ｂ)は、別のウィンドウを開いてユーザにリセットやリフレッシュの実行を促す画面例を示した図である。図８(ａ)は、図６のステップ１０３で示したソフトウェアリセットをユーザに促す画面例を示しており、ユーザに対して「電池のエラーが検出されました。電池をリセットしてもよいですか？」との質問と、その質問に対するＹｅｓ/Ｎｏを聞くメッセージボックスが表示される。また、図８(ｂ)は、図６のステップ１０８で示したリフレッシュの実行をユーザに促す画面例を示しており、「電池のリフレッシュを実行してもいいですか？」との質問と、その質問に対するＹｅｓ/Ｎｏを聞くメッセージボックスが表示される。これらは、インテリジェント電池５２用のユーティリティプログラムにおける電池診断メニューの１つである。
【００４９】
このように本実施の形態によれば、インテリジェント電池５２における所定の不具合が検出されると、まず、ソフトウェアリセットの実行によって不具合の解消を試み、これで不具合の解消がなされない場合に、ハードウェアリセットを実行するように構成した。インテリジェント電池５２では、本当に重要なデータは例えば内部のＥＥＰＲＯＭに格納されるが、データの一部はハードウェアリセットによって失われることがある。また、サイクルカウントや残容量データ等については、ＥＥＰＲＯＭに書き込まれていないインテリジェント電池５２も多く、ハードウェアリセットによって、保持されていたこれらのデータも消失する場合がある。本実施の形態のように、まず、ソフトウェアリセットを実行することで、これらの問題に対処することが可能となる。
【００５０】
また、本実施の形態では、これらのリセット処理の後に、リフレッシュの行為を促すように構成した。ソフトウェアリセットをかけると記憶している残容量データもクリアされる場合があり、例えば、容量が５０％以上存在しているにも関わらず、「０％」と認識する場合がある。そこで、実容量と現容量とを一致させる意味でリフレッシュさせることが好ましい。尚、残容量データも絶えずＥＥＰＲＯＭ等に書き込む構成とすれば、必ずしもソフトウェアリセットの後にリフレッシュする必要はないが、残容量データと実容量との差を少なくするためには、リフレッシュを施すことが好ましい。更に、本実施の形態では、図８(ａ),(ｂ)に示すような画面表示によってユーザにリセットやリフレッシュを促したが、例えば、ネットワークに接続されたノートＰＣからのＷｅｂアクセス等に基づいて、Ｗｅｂサイトであるサービスセンタから、電池のリセット(ソフトウェアリセット、ハードウェアリセット)やリフレッシュを実行するように、遠隔操作を行うこともできる。
【００５１】
【発明の効果】
以上説明したように、本発明によれば、動作不良の電池を正常に復帰させることが可能となり、不良扱いの電池を減らすことができる。
【図面の簡単な説明】
【図１】  本実施の形態が適用される電気機器であるコンピュータシステムのハードウェア構成を示した図である。
【図２】  本実施の形態が適用される電源供給回路の回路構成例を示した図である。
【図３】  本実施の形態におけるハードウェアリセット動作のタイミング例を示した図である。
【図４】  ハードウェアリセットを実現する他の回路構成を示した図である。
【図５】  ハードウェアリセットを実現する更に他の回路構成を示した図である。
【図６】  本実施の形態が適用される異常状態回復処理の流れを示したフローチャートである。
【図７】  ソフトウェアリセット方法の一例を説明するための図である。
【図８】  (ａ),(ｂ)は、別のウィンドウを開いてユーザにリセットやリフレッシュの実行を促す画面例を示した図である。
【符号の説明】
１０…コンピュータシステム、１１…ＣＰＵ、４１…エンベデッドコントローラ、５０…電源回路、５１…ＡＣアダプタ、５２…インテリジェント電池、５５…ＤＣ/ＤＣコンバータ、６１…セル(電池セル)、６２…ＣＰＵ、７３…コンパレータ、７４…抵抗(Ｒ１)、７８…インバータ(ＩＶＴ１)、８０…その他回路、８１…スイッチ、８２…抵抗(Ｒ２)、８５…電界効果トランジスタ(ＦＥＴ１)、８６…抵抗(Ｒ２)
【図１】
0003900469.tif 000002
【図２】
0003900469.tif 000003
【図３】
0003900469.tif 000004
【図４】
0003900469.tif 000005
【図５】
0003900469.tif 000006
【図６】
0003900469.tif 000007
【図７】
0003900469.tif 000008
【図８】
0003900469.tif 000009