以下、本発明の実施の形態を図面を参照して詳細に説明する。
図1は、本発明の実施形態に係る充電装置及びバッテリーパックの内部構成を示すブロック図である。
図1において、充電装置101は、バッテリーパック128に充電を行う充電装置である。バッテリーパック128は、充電装置101に着脱可能に構成され、繰り返し充電が可能な二次電池を備える。また、バッテリーパック128は、後述するデジタルカメラやPDA(Personal Digital Assistant)等の電子機器に着脱可能に構成され、当該電子機器の電源として機能する。
充電装置101において、AC入力部102は外部のAC(Alternating Current:交流)電源に接続し、該AC電源からACの供給を受ける。フィルタ回路103は、AC入力部102から入力されたACに含まれるノイズを低減する。ブリッジダイオード104は、ACを半波に整流する。一次電解コンデンサ105は、半波整流されたACをDC(Direct current:直流)に変換する。トランス106は、DCを変圧する変圧器である。スイッチングコントロール部107は、フォトカプラ108からの信号に基づいてトランス106の二次側出力を安定化する。フォトカプラ108は、トランス106の二次側の充電電圧/充電電流の状態を一次側に伝達する。整流ダイオード109及び整流コンデンサ110は、トランス106からの出力を整流する。
レギュレータ111は、充電制御マイコン118に規定のDCを供給すると共に、オペアンプ112,115に基準電圧を印加する。オペアンプ112は、バッテリーパック128への充電電圧を帰還するためのものである。オペアンプ115は、バッテリーパック128への充電電流を帰還するためのものである。抵抗器113,114は、バッテリーパック128への充電電圧を帰還するために設けられた抵抗である。抵抗器116,117は、所定の充電電流を設定するために設けられた抵抗である。
充電制御マイコン118は、不揮発性のRAM(Random Access Memory)やROM(Read Only Memory)を備える制御回路である。充電制御マイコン118は、バッテリーパック128への充電電圧及び充電電流を測定し、またバッテリーパック128内のサーミスタ134で温度を測定することができる。また、バッテリーパック128内の不揮発性メモリ133から図2に示すデータやテーブル情報を読み出し、これらに基づいてバッテリーパック128の充電状態を判定する。また、充電制御マイコン118は、バッテリーパック128内の不揮発性メモリ133にアクセスして各種データの書き込み又は更新を行う。
充電スイッチ回路119は、充電出力をON/OFFするスイッチ回路である。電流検知抵抗120は、充電制御マイコン118が充電電流を測定するための抵抗である。抵抗器121,122は、充電制御マイコン118が充電電圧を測定するための抵抗である。抵抗器123は、不揮発性メモリ133に所定の電圧を印加するための抵抗である。表示部139は、複数のLEDによって構成され、それらの点灯又は点滅によりバッテリーパック128の充電状態を表す。
+端子124は、バッテリーパック128が充電装置101に装着されたときにバッテリーパック側の+端子129と接触して電気的に接続する。通信(D)端子125は、バッテリーパック128が充電装置101に装着されたときにバッテリーパック側の通信(D)端子130と接触して電気的に接続する。温度(T)端子126は、バッテリーパック128が充電装置101に装着されたときにバッテリーパック側の温度(T)端子131と接触して電気的に接続する。−端子127は、バッテリーパック128が充電装置101に装着されたときにバッテリーパック側の−端子132と接触して電気的に接続する。
サーミスタ134は、温度変化を抵抗値に変換する温度測定素子である。充電制御マイコン118は、互いに接続された温度(T)端子126,131を介してサーミスタ134から二次電池セル138の温度を測定することができる。電池保護回路135は、バッテリーパック128の充電時及び放電時において、電圧/電流を監視して過充電や過放電にならないように二次電池セル138を保護する。充電保護FET136は、充電時に異常が発生した場合、回路を遮断するスイッチであり、電池保護回路135により制御される。放電保護FET137は、放電時の異常が発生した場合、回路を遮断するスイッチであり、電池保護回路135により制御される。二次電池セル138はリチウムイオン二次電池等から成る。
AC入力部102にACが入力されると、フィルタ回路103、ブリッジダイオード104、一次電解コンデンサ105を介してトランス106に電力が供給される。トランス106の二次側出力電圧は、整流ダイオード109、整流コンデンサ110で整流される。そして、抵抗器113,114、オペアンプ112、フォトカプラ108を介してバッテリーパック128の充電電圧に設定される。
バッテリーパック128が充電装置101に装着されると、充電装置101の+端子124がバッテリーパック128の+端子129に接続され、充電装置101の−端子127がバッテリーパック128の−端子132に接続される。同時に、充電装置101の通信(D)端子125がバッテリーパック128の通信(D)端子130に接続され、充電装置101の温度(T)端子126がバッテリーパック128の温度(T)端子131に接続される。そして、抵抗器116及び抵抗器117により充電電流が設定され、電流検知抵抗120、オペアンプ115、フォトカプラ108を介して定電圧/定電流充電が行われる。
バッテリーパック128への充電は、充電制御マイコン118によって制御される。充電制御マイコン118は、電流検知抵抗120の両端に発生する電位差により充電電流を測定すると共に、抵抗器121,122により充電電圧を測定する。さらに、充電電圧の上昇及び充電電流の低下を測定する。
図2は、バッテリーパック128内の不揮発性メモリ133に格納された各種データ及びテーブル情報を示す図である。
不揮発性メモリ133には、識別データ、充電特性データ、充電状態データ1,2、充電カウントデータ、満充電容量データ、充電時温度データ、充電温度特性データ、充電履歴データ、放電特性データ、充電サイクル劣化補正テーブルが予め格納されている。また、不揮発性メモリ133には、充電放置劣化補正テーブル、及び放電温度負荷特性データテーブルが予め格納されている。これらのうち、識別データ、充電特性データ、放電特性データ、充電温度特性データ、充電サイクル劣化補正テーブル、及び充電放置劣化テーブルは固定値である。
識別データは、バッテリーパック128の種別を表すデータであって、バッテリーパックの種別毎に設定された固有のデータである。充電特性データは、後述する充電時充電状態データテーブルを作成するためのデータであり、充電時温度、充電電圧、充電電流、満充電容量比率、及び充電容量の数値データが選択的に含まれる。
充電状態データ1,2は、バッテリーパック128の充電状態を表すデータである。充電カウントデータは、充電状態データ1が書き換えられる毎にカウントされ、バッテリーパック128の充電サイクルを管理するためのデータである。本実施の形態では、充電状態データ1が12回書き換えられたときに1サイクルとするか、又は充電状態データ2が100回書き換えられたときに1サイクルとしている。
満充電容量データは、バッテリーパック128の満充電時における充電可能容量を示すデータである。充電時温度データは充電時の温度情報である。充電温度特性データは、充電時温度における満充電容量の補正を行うためのデータである。
充電履歴データは、バッテリーパック128の充電履歴を示すデータフラグである。充電履歴データは、バッテリーパック128が充電装置101により充電されたときには「1」がセットされ、後述する電子機器301に装着され、電源として使用されたときには「0」がセットされる。放電特性データは、後述する放電時充電状態データテーブルを作成するためのデータであり、放電時温度、出力電圧、放電負荷、満充電容量比率、及び残容量の数値データが選択的に含まれる。
充電サイクル劣化補正テーブルは、図16に示すように、充電サイクル数に応じて満充電容量データを補正するための補正テーブルである。充電放置劣化補正テーブルは、図15に示すように、所定の充電状態時での放置に応じて満充電容量データを補正するための補正テーブルである。放電温度負荷特性データテーブルは、放電時の温度によって消費電力量を補正するための補正テーブルである。放電温度負荷特性データテーブルは、図33に示すように、放電時温度25℃で0.5W放電時の放電効率を1として、放電時温度と放電電力効率との関係によって消費電力量を補正する補正値が定義されている。
次に、充電装置101によるバッテリーパック128への充電処理を図3〜図17を参照して説明する。
図3及び図4は、充電装置101によるバッテリーパック128への充電処理を示すフローチャートである。
図3において、充電制御マイコン118は、バッテリーパック128の装着を検出すると(ステップS102)、通信端子125,130を介してバッテリーパック128内の不揮発性メモリ133から識別データを読み出す(ステップS103)。不揮発性メモリ133から識別データを読み出す際には、図5に示すデータの読出し処理が実行される。
図5において、ステップS501では、充電制御マイコン118は、不揮発性メモリ133上のデータアドレスを指定する。図3のステップS103では、識別データが格納されている不揮発性メモリ133上のデータアドレスが指定される。次に、ステップS502では、不揮発性メモリ133にデータ要求を送信する。つづいて、ステップS503では、送信したデータ要求に対する返信データを充電制御マイコン118内のRAMに格納して、メインフローへリターン(RET)する。図3のステップS103では、返信データとして識別データが充電マイコン118内のRAMに格納される。
図3に戻り、ステップS104では、充電制御マイコン118は、ステップS103で読み出した識別データが当該充電制御マイコン118内のROMに格納(登録)されているかを判断する。この結果、充電制御マイコン118内のROMに識別データが登録されていない場合は、ステップS105に移行する一方、登録されている場合にはステップS108に移行する。
充電制御マイコン118内のROMには、バッテリーパックのモデル毎に識別データと当該識別データに関連付けられた充電時充電状態データテーブルとが予め格納されている。そこで、充電制御マイコン118は、ステップS103で読み出した識別データに基づいて、当該充電制御マイコン118内のROMに格納された当該識別データに対応する充電時充電状態データテーブルを読み出す。
一方、充電制御マイコン118内のROMに識別データと該識別データに関連付けられた充電時充電状態データテーブルが格納されていない場合、ステップS105〜ステップS107の処理を行う。これは、充電装置101の発売後に新規にバッテリーパックが商品化された場合、充電制御マイコン118内のROMには新規に商品化されたバッテリーパックの識別データと充電時充電状態データテーブルが格納されていないためである。
ステップS105では、充電制御マイコン118は、バッテリーパック128内の不揮発性メモリ133から充電特性データを読み出す。充電特性データの読出し時には、図5に示したデータの読出し処理が実行される。次に、ステップS106では、充電制御マイコン118は、ステップS105で読み出した充電特性データに基づいて充電時充電状態データテーブルを作成する。充電特性データは、図11(a)に示すような充電時温度、充電電圧、充電電流等の数値データである。充電制御マイコン118は、充電特性データとして読み出した数値を空のデータテーブルに当てはめて充電時充電状態データテーブルを作成する。
次に、ステップS107では、充電制御マイコン118は、ステップS103で読み出した識別データとステップS106で作成した充電時充電状態データテーブルとを関連付けてRAMに登録(格納)し、ステップS108へ移行する。
なお、充電制御マイコン118内のROMに予め充電時充電状態データテーブルを登録することなく、バッテリーパック128内の不揮発性メモリ133から充電特性データを読み出して、充電時充電状態データテーブルを作成する構成であってもよい。この方式では、充電制御マイコン118に不揮発性のRAMは不要である。
ここで、充電時充電状態データテーブルについて説明する。
図11(a)〜図11(c)及び図12は、充電時充電状態データテーブルの一例を示す図である。図13は、バッテリーパック128の充電特性と充電状態データ1,2との関係を示す図である。図示の充電特性は、充電時温度25℃時の充電電流と充電電圧である。図14は、温度変化による充電特性の変化を示す図である。
充電時充電状態データテーブルは、バッテリーパック128の充電状態を表す充電状態データ1,2と充電特性データとを対応させたデータテーブルである。
図11(a)〜図11(c)に示す充電時充電状態データテーブルは、充電時温度毎に異なるテーブルが設定されている。具体的には、充電時温度が15℃未満の場合は図11(b)に示す充電時充電状態データテーブルが使用される。また、充電時温度が15℃以上35℃未満の場合は図11(a)に示す充電時充電状態データテーブルが使用される。また、充電時温度が35℃以上の場合は図11(c)に示す充電時充電状態データテーブルが使用される。これは、バッテリーパック128の充電電圧及び充電電流が、図14に示すように、充電温度によって変化するためである。すなわち、充電時温度が低い(5℃)場合、常温(25℃)と比較して充電電圧の立ち上がりが早く、充電電流の減少が早く発生し、満充電状態までの充電時間が長くかかる傾向にある。一方、充電時温度が高い(35℃)場合、常温と比較して充電電圧の立ち上がりが緩やかであり、充電電流の減少が遅く発生し、満充電状態までの充電時間が短い傾向にある。
また、充電時充電状態データテーブルは、バッテリーパック128の充電状態を放電状態であるLB(Low Batteryの略)、状態1〜10、Fullの12段階に分けたものを充電状態データ1として定義している。充電状態データ1のLBから状態8までの各範囲は、充電特性の充電電圧に基づいて設定されている。一方、状態9からFullまでの各範囲は、充電特性の充電電流に基づいて設定されている。これは、充電電圧は満充電が近くなると変化がなくなることから、満充電に近い範囲では充電状態を適切に示すことが困難であり、一方、満充電が近くなるとそれまで一定だった充電電流に変化が出てくる。そこで、LBから状態8までは充電電圧が変化するので、充電電圧によって充電状態を判断し、状態9からFullまでは充電電流が変化するので、充電電流によって充電状態を判断している。
さらに、充電時充電状態データテーブルは、図12に示すように、充電状態データ1の各段階をさらに細分化して充電状態データ2として定義している。充電状態データ2では、充電状態データ1の状態2〜9がそれぞれ10分割されているのに対して、状態1とLBとを合わせたものが10分割されている。そして、充電状態データ1の状態10とFullとを合わせたものが10分割されている。充電状態データ1,2により、バッテリーパック128の充電状態を100段階で表すことができる。したがって、1%単位で充電状態を管理している。
充電状態データ1において充電電圧に基づいて設定されているLBから状態8までの範囲では、図13に示すように、充電状態データ2の範囲も充電電圧に基づいて設定される。また、充電電流に基づいて設定されている状態9からFullまでの範囲では、充電状態データ2の範囲も充電電流に基づいて設定される。
図3に戻り、ステップS108では、充電制御マイコン118は充電を開始する。次に、ステップS109では、バッテリーパック128内の不揮発性メモリ133から満充電容量データを読み出す。つづいて、ステップS110では、不揮発性メモリ133から充電状態データ1及び2を読み出し、ステップS111では、不揮発性メモリ133から充電履歴データを読み出す。ステップS109〜S111における各データの読出し時には、図5に示したデータの読出し処理が実行される。読み出されたデータは充電制御マイコン118内のRAMに格納される。
次に、ステップS112では、充電制御マイコン118は、バッテリーパック128内のサーミスタ134によりバッテリーパック128の温度を測定する(バッテリーパック温度測定処理)。
図7は、図3のステップS112におけるバッテリーパック温度測定処理の詳細を示すフローチャートである。
図7において、ステップS701では、充電制御マイコン118は、サーミスタ134に抵抗(不図示)を介して一定の電圧を加え、サーミスタ134の抵抗値を電圧レベルに変換する。次に、ステップS702では、ステップS701で変換した電圧レベルに基づいて、予め設定された電圧データテーブル(不図示)を参照する。この電圧データテーブルは充電制御マイコン118内のROMに格納されている。電圧データテーブルは、温度とサーミスタの抵抗値の関係により設定され、電圧レベルから温度を推定するためのデータテーブルである。
ステップS703では、充電制御マイコン118は、参照した電圧データテーブルにおいて、ステップS701で変換した電圧レベルに対応するサーミスタの温度を特定して、メインフローにリターンする。
図3に戻り、ステップS113では、充電制御マイコン118は、ステップS112で測定したバッテリーパックの温度を充電時温度データとして、バッテリーパック128内の不揮発性メモリ133に書き込み、充電時温度データを更新する。充電時温度データを書き込む際には、図6に示すデータの書き込み処理が実行される。
図6において、ステップS601では、充電制御マイコン118は、バッテリーパック128内の不揮発性メモリ133に書き込むデータを指定する。図3のステップS113の場合には充電時温度データである。次に、ステップS602では、不揮発性メモリ133のデータアドレスを指定する。図3のステップS113の場合には充電時温度データのデータアドレスである。次に、ステップS603では、バッテリーパック128内の不揮発性メモリ133の所定のアドレスにデータ(ここでは充電時温度データ)を書き込み、メインフローにリターンする。
図3に戻り、ステップS114では、充電制御マイコン118は、充電状態データ算出処理を行う。
図8は、図3のステップS114における充電状態データ算出処理の詳細を示すフローチャートである。
図8において、ステップS801では、充電制御マイコン118は、抵抗器121,122を介してバッテリーパック128への充電電圧を測定する。次に、ステップS802では、電流検知抵抗120の両端に発生する電位差によりバッテリーパック128への充電電流を測定する。
次に、ステップS803では、充電制御マイコン118は、ステップS103で読み出した識別データに関連付けられた充電時充電状態データテーブルのうち、ステップS112で測定した温度に対応する充電時充電状態データテーブルを参照する。参照される充電時充電状態データテーブルは、充電制御マイコン118内のROMに格納されていたものか、ステップS105〜S107で作成されたものである。次に、ステップS804では、ステップS801で測定した充電電圧及びステップS802で測定した充電電流に基づき、ステップS803で参照した充電時充電状態データテーブルから充電状態データ1,2を算出して、メインフローにリターンする。
図11(a)及び図12は、充電時温度が25℃で、満充電容量が700mAhのバッテリーパックの充電時充電状態データテーブルの一例を示す図である。例えば、充電電圧Vbが3.930〔V〕である場合、図11(a)では充電状態データ1が状態2となる。そして、図12では充電状態データ2は8となり、満充電容量比率は18%、充電容量は126mAhであることを示している。
図3に戻り、ステップS115〜S118は、バッテリーパックを満充電状態で放置した場合に生じる充電容量の劣化を満充電容量データに反映させる一連の処理である。リチウムイオン二次電池等は満充電状態で放置すると、電子機器で使用しない状態であっても充電可能な容量が低下する。この充電容量の低下を充電放置劣化と呼ぶ。
ステップS115では、充電制御マイコン118は、ステップS111で読み出した充電履歴データが「0」か否かを判断し、「0」の場合には図4のステップS119に移行する。一方、「1」の場合にはステップS116に移行する。
次に、ステップS116では、充電制御マイコン118は、ステップS110で読み出した充電状態データ1とステップS114で算出した充電状態データ1とを比較し、充電放置劣化補正が必要か否かを判断する。データを比較した結果、充電状態データ1が一致した場合、充電制御マイコン118は充電放置劣化補正が必要でないと判断し、図4のステップS119に移行する。一方、充電状態データ1が一致しない場合、充電制御マイコン118は充電放置劣化補正が必要と判断し、ステップS117に移行して充電放置劣化補正処理を行う。
図9は、図3のステップS117における充電放置劣化補正処理の詳細を示すフローチャートである。
図9において、ステップS901では、充電制御マイコン118は、バッテリーパック128内の不揮発性メモリ133から充電放置劣化補正テーブルを読み出す。充電放置劣化補正テーブルの読出し時には、図5に示したデータの読出し処理が実行される。
次に、ステップS902では、充電制御マイコン118は、読み出した充電放置劣化補正テーブルに基づいて満充電容量データを補正する。ここでは、ステップS114で算出された充電状態データに対応する充電放置劣化補正値を充電放置劣化補正テーブルから特定し、満充電容量データから該充電放置劣化補正値を減算する。充電放置劣化補正テーブルの一例を図15に示す。
図15において、充電放置劣化補正テーブルでは、不揮発性メモリ133に格納されている充電状態データ1がFullである場合の方が、不揮発性メモリ133に格納されている充電状態データ1が状態10である場合より劣化量が大きいことを示している。これは、リチウムイオン二次電池では、満充電に近いほど放置による劣化が大きくなることに対応するためである。
充電放置劣化補正テーブルでは、バッテリーパック128の不揮発性メモリ133に格納されている充電状態データ1とステップS114で算出した充電状態データ1に対応した充電放置劣化補正値が設定されている。例えば、図15では、不揮発性メモリ133に格納されている充電状態データ1がFullで、ステップS114で算出した充電状態データ1がFull又は状態10の場合、充電放置劣化は発生せず、充電放置劣化補正値は0となる。その結果、図9のステップS902では、満充電容量データの値はそのままである。
一方、不揮発性メモリ133に格納されている充電状態データ1がFullで、ステップS114で算出した充電状態データ1が状態9の場合、充電放置劣化補正値が1となる。その結果、満充電容量が1〔mAh〕劣化するため、ステップS902では、満充電容量データの値から1〔mAh〕を減算する。同様に、不揮発性メモリ133に格納されている充電状態データ1がFullで、ステップS114で算出した充電状態データ1が状態8の場合、ステップS902では、満充電容量データの値から2〔mAh〕を減算する。
図3に戻り、ステップS118では、充電制御マイコン118は、バッテリーパック128内の不揮発性メモリ133に格納されている満充電容量データを、ステップS117にて補正した満充電容量データに書き換え、図4のステップS119に移行する。ステップS118における満充電容量データの不揮発性メモリ133への書き込みには、図6に示したデータの書き込み処理が実行される。ステップS115〜ステップS118の一連の処理により、充電状態での放置に伴う二次電池の劣化を補正することができると共に、より正確な残量表示を行うことができる。なお、満充電容量データを書き換えても、充電カウントデータの書き換えについては行わない。
図4のステップS119では、充電制御マイコン118は、バッテリーパック128内の不揮発性メモリ133に格納された充電状態データの書き換えが必要か否かを判断する。ここでは、ステップS114にて算出した充電状態データが不揮発性メモリ133から読み出した充電状態データを上回ったか否かが判断される。この結果、ステップS114にて算出した充電状態データが不揮発性メモリ133から読み出した充電状態データを上回っていない場合には、書き換えが必要でないと判断して、図3のステップS109に移行する。一方、上回った場合にはステップS120に移行する。
ステップS120では、充電制御マイコン118は、当該充電制御マイコン118内のRAMに読み出された充電履歴データに「1」をセットする。次に、ステップS121では、バッテリーパック128内の不揮発性メモリ133に格納されている充電履歴データのデータアドレスに「1」を書き込む。この充電履歴データの書き込みには、図6に示したデータの書き込み処理が実行される。
ステップS122〜ステップS127では、充放電の繰り返しによるバッテリーパック128の満充電容量の劣化を満充電容量データに反映させる一連の処理である。二次電池は、一般に、充放電を繰り返すことにより充電可能な容量が低下する。この充電容量の低下を充電サイクル劣化と呼ぶ。本実施の形態では、バッテリーパック128に対して充放電が1サイクル行われたときに満充電容量が劣化した分を満充電容量データに反映させている。
ステップS122では、充電制御マイコン118は、バッテリーパック128内の不揮発性メモリ133から充電カウントデータを読み出す。充電カウントデータの読出し時には、図5に示したデータの読出し処理が実行される。次に、ステップS123では、ステップS122で読み出した充電カウントデータに1を加算する。つづいて、ステップS124では、加算後の充電カウントデータをバッテリーパック128内の不揮発性メモリ133に書き込み、充電カウントデータを更新して、ステップS125へ移行する。この充電カウントデータの書き込みには、図6に示したデータの書き込み処理が実行される。
ステップS125では、充電制御マイコン118は、充電カウントデータにて充電状態データの書き換え回数をカウントすることで、1サイクルに相当する充電を行ったか否かを判断する。例えば、充電カウントデータが10カウントで1サイクルの充電を行ったと判断する。ステップS125の判断の結果、充電制御マイコン118は、充電サイクル数が1サイクル未満である場合、充電サイクル劣化補正が必要でないと判断して、ステップS128に移行する。一方、充電サイクル数が1サイクル以上である場合、充電サイクル劣化補正が必要と判断して、充電サイクル劣化補正処理を行う(ステップS126)。ステップS122〜ステップS127の一連の処理により、充電サイクルに伴う二次電池の劣化を補正することができると共に、より正確な残量表示を行うことができる。
バッテリーパック128内の不揮発性メモリ133に格納されている充電サイクル劣化補正テーブルを参照する。充電サイクル劣化補正テーブルの一例を図16に示す。
図16において、充電サイクル劣化補正テーブルでは、充電サイクル数が1〜50の範囲にあるときは、1サイクルの充電における充電サイクル劣化補正値(満充電容量の劣化量)が0.42〔mAh〕となる。また同様に、51〜100の範囲にあるときは充電サイクル劣化補正値が0.7〔mAh〕となる。また、101〜150の範囲にあるときは充電サイクル劣化補正値が0.98〔mAh〕となる。
図10は、図4のステップS126における充電サイクル劣化補正処理の詳細を示すフローチャートである。
図10において、充電制御マイコン118は、バッテリーパック128内の不揮発性メモリ133から満充電容量データと充電サイクル劣化補正テーブルを読み出す(ステップS1001,S1002)。データの読出し時には、図5に示したデータの読出し処理が実行される。
次に、ステップS1003では、読み出した充電サイクル劣化補正テーブルに基づいて満充電容量データを補正する。ここでは、充電カウントデータから求めた充電サイクル数に対応する充電サイクル劣化補正値を充電サイクル劣化補正テーブルから特定し、満充電容量データから該充電サイクル劣化補正値を減算する。例えば、充電サイクル数が1〜50のときは、1サイクルの充電につき0.42〔mAh〕を満充電容量データから減算する。なお、本実施の形態では、満充電容量データから固定された補正値を減算することによりサイクル劣化補正を行う方法について説明したが、近似式を用いてサイクル劣化特性曲線を再現し、サイクル劣化量を決定する方法でもよい。
図4に戻り、ステップS127では、充電制御マイコン118は、バッテリーパック128内の不揮発性メモリ133に格納されている満充電容量データを、ステップS126にて補正した満充電容量データに書き換え、ステップS128へ移行する。ステップS126における満充電容量データの不揮発性メモリ133への書き込みには、図6に示したデータの書き込み処理が実行される。ステップS122〜ステップS127の一連の処理により、充電サイクルに伴う二次電池の劣化を補正することができると共に、より正確な残量表示を行うことができる。
ステップS128では、充電制御マイコン118は、バッテリーパック128内の不揮発性メモリ133にある充電状態データ1,2のデータアドレスに、ステップS114で算出した充電状態データ1,2を書き込む。充電状態データの不揮発性メモリ133への書き込みには、図6に示したデータの書き込み処理が実行される。
次に、ステップS129では、充電制御マイコン118は、ステップS114で算出した現在の充電状態データ1,2に基づいて、充電装置101の表示部139にバッテリーパック128の充電状態を表示するように制御する。
図17は、充電装置101の表示部139に表示される充電状態の表示例を示す図である。
図17において、表示部139が5灯のLEDで構成される場合には、図17のLED表示1の通り表示される。また、表示部139が3灯のLEDで構成される場合には、図17のLED表示2の通り表示される。
LED表示1の表示例では、LBから状態2まではLED1のみ点灯する。状態3から状態4まではLED1とLED2を点灯する。状態5から状態6まではLED1からLED3を点灯する。状態7から状態8まではLED1からLED4を点灯する。状態9からFullまではLED1からLED4を点灯する。
LED表示2の表示例では、LBから状態2まではLED1のみ点灯する。状態3から状態4まではLED1を点滅して表示する。状態5から状態6まではLED1を点灯し、LED2を点滅して表示する。状態7から状態8まではLED1とLED2を点灯し、LED3を点滅して表示する。状態9からFullまでは全てのLEDを点灯して表示する。LEDの点滅状態を組み合わせることで、より詳細の表示を行うことも可能である。
図4に戻り、ステップS130では、充電制御マイコン118は、充電電圧及び充電電流が充電終了条件に一致するか否かにより充電終了を判断し、一致していないときにはステップS109に移行して充電を継続する。一方、充電電圧及び充電電流が充電終了条件を満たす場合には充電を終了する。
次に、本発明の実施形態に係る電子機器について説明する。
図18は、本発明の実施形態に係る電子機器及びバッテリーパックの内部構成を示すブロック図である。なお、図1に示した実施の形態と同じ構成部分については同一の符号を用いてその説明を省略する。
図18において、電子機器301は、バッテリーパック128を電源とするデジタルカメラやデジタルビデオカメラ等の電子機器である。
電子機器301において、+端子302は、バッテリーパック128が電子機器301に装着されたときにバッテリーパック側の+端子129に接触して電気的に接続する。通信(D)端子303は、バッテリーパック128が電子機器301に装着されたときにバッテリーパック側の通信(D)端子130に接触して電気的に接続する。温度(T)端子304は、バッテリーパック128が電子機器301に装着されたときにバッテリーパック側の温度(T)端子131と接触して電気的に接続する。−端子305は、バッテリーパック128が電子機器301に装着されたときにバッテリーパック側の−端子132と接触して電気的に接続する。
レギュレータ(REG)306は、制御マイコン308に規定のDCを供給する。抵抗器307は、プルアップ抵抗である。抵抗器311,312は、バッテリーパック128の出力電圧を測定するための分圧抵抗である。電子負荷309は、動作モード毎に変化する電子機器301の負荷を表している。動作モードとは、電子機器301が実行可能な動作の種類である。本実施の形態では、電子機器301をデジタルカメラと想定しているので、画像を撮影する撮影モード(RECモード)、撮影した画像を再生する再生モード(PLAYモード)等が考えられる。
制御マイコン308は、不揮発性のRAMやROMを備える制御回路である。制御マイコン308は、抵抗器311,312によりバッテリーパック128の出力電圧を測定し、またバッテリーパック128内のサーミスタ134で温度を測定することができる。また、バッテリーパック128内の不揮発性メモリ133から図2に示すデータやテーブル情報を読み出し、これらに基づいてバッテリーパック128の充電状態を判定する。また、制御マイコン308は、バッテリーパック128内の不揮発性メモリ133にアクセスして各種データの読出し或いは書き込み処理を行う。
さらに、制御マイコン308は、電子機器301に設定された動作モードを検出すると共に、当該動作モードに対応する動作を行ったときの動作時間を計測する。そして、計測した動作時間と制御マイコン308内のROMに格納されている動作モード毎の消費電力データテーブルとにより消費電力量を算出する。さらに、算出した消費電力量に基づいて、バッテリーパック128内の不揮発性メモリ133に格納されている充電状態データ1,2を書き換える。
トランジスタ310は、制御マイコン308がバッテリーパック128の出力電圧を測定する際にONするスイッチである。なお、図示では、トランジスタ310を使用しているが、より精度の高い測定が必要な場合にはFETスイッチを使用する。表示部313は、LCD(Liquid Crystal Display)、CVF(Color View Finder)、LED(Light Emitting Diode)等から成る。表示画面314は、表示部313に表示される画面の一例である。表示画面314には、バッテリーパック128の残容量として、連続使用可能時間や実使用可能時間が表示される。
バッテリーパック128が電子機器301に装着されると、電子機器301の+端子302がバッテリーパック128の+端子129に接続され、電子機器301の−端子305がバッテリーパック128の−端子132に接続される。同時に、電子機器301の通信(D)端子303がバッテリーパック128の通信(D)端子130に接続され、電子機器301の温度(T)端子304がバッテリーパック128の温度(T)端子131に接続される。そして、バッテリーパック128の出力電圧がレギュレータ306に印加されると、該レギュレータ306により制御マイコン308に安定した電圧が印加される。
図19及び図20は、バッテリーパック128の装着後の電子機器301における動作処理を示すフローチャートである。
図19において、制御マイコン308は、バッテリーパック128の装着を検出すると(ステップS202)、通信端子303,130を介してバッテリーパック128内の不揮発性メモリ133から識別データを読み出す(ステップS203)。不揮発性メモリ133からの識別データの読み出し時には、図5に示したデータの読み出し処理が実行される。
次に、ステップS204では、制御マイコン308は、ステップS203で読み出した識別データが当該制御マイコン308内のROMに格納(登録)されているかを判断する。この結果、制御マイコン308内のROMに識別データが登録されていない場合は、ステップS205に移行する一方、登録されている場合にはステップS208に移行する。
制御マイコン308内のROMには、バッテリーパックのモデル毎に識別データと当該識別データに関連付けられた放電時充電状態データテーブルとが予め格納されている。そこで、制御マイコン308は、ステップS203で読み出した識別データに基づいて、当該制御マイコン308内のROMに格納された当該識別データに対応する放電時充電状態データテーブルを読み出す。
一方、制御マイコン308内のROMに識別データと該識別データに関連付けられた放電時充電状態データテーブルが格納されていない場合、ステップS205〜ステップS207の処理を行う。これは、電子機器301の発売後に新規にバッテリーパックが商品化された場合、制御マイコン308内のROMには新規に商品化されたバッテリーパックの識別データと放電時充電状態データテーブルが格納されていないためである。
ステップS205では、制御マイコン308は、バッテリーパック128内の不揮発性メモリ133から放電特性データを読み出す。放電特性データの読出し時には、図5に示したデータの読み出し処理が実行される。
次に、ステップS206では、制御マイコン308は、ステップS205で読み出した放電特性データに基づいて放電時充電状態データテーブルを作成する。制御マイコン308は、放電特性データとして読み出した数値を空のデータテーブルに当てはめて放電時充電状態データテーブルを作成する。
次に、ステップS207では、制御マイコン308は、ステップS203で読み出した識別データとステップS206で作成した放電時充電状態データテーブルとを関連付けてRAMに登録(格納)し、ステップS208へ移行する。
なお、制御マイコン308内のROMに予め放電時充電状態データテーブルを登録することなく、バッテリーパック128内の不揮発性メモリ133から放電特性データを読み出して、放電時充電状態データテーブルを作成する構成であってもよい。この方式では、制御マイコン308に不揮発性RAMは不要である。
図26(a)〜図26(c)及び図27は、放電時充電状態データテーブルの一例を示す図である。図28は、バッテリーパック128の放電特性(温度)と充電状態データ1との関係を示す図である。図示の放電特性は、放電時温度5℃及び25℃時のバッテリー(BP)電圧である。図29は、バッテリーパック128の放電特性(負荷)と充電状態データ1との関係を示す図である。
放電時充電状態データテーブルは、バッテリーパック128の充電状態を表す充電状態データ1,2と放電特性データとを対応させたデータテーブルである。
図26(a)〜図26(c)に示す放電時充電状態データテーブルは、満充電容量700〔mAh〕、放電時温度25℃、5℃、35℃、放電出力1W時の充電状態データ1と出力電圧、満充電容量に対する比率、残容量の関係を示している。放電時充電状態データテーブルは、放電時温度毎に異なるテーブルが設定されている。
放電時充電状態データテーブルでは、バッテリーパック128の充電状態をLB、状態1〜10、Fullの12段階に分けたものを充電状態データ1として定義している。例えば、満充電容量700mAh、充電温度25℃、放電出力1W、放電温度5℃で充電状態データ1が状態3の場合、出力電圧(Vb)は3.36V≦Vb<3.44V、満充電容量比率は21〜30%、残容量は132.3〜189mAhと判断する。25℃充電の満充電容量効率が1(図30参照)、5℃/1W放電時の放電温度負荷特性データテーブルの補正値が0.9(図33参照)であるため、満充電容量比率が100%時の残容量は、700×0.9=630mAhである。(仮に5℃充電である場合、630×0.92=579.6mAhと算出する)。
また、放電時充電状態データテーブルは、図27に示すように、充電状態データ1の各段階をさらに細分化して充電状態データ2として定義している。放電時充電状態データテーブルと充電時充電状態データテーブルとは、充電状態データ1,2が充電時と放電時とで一致するように定義されている。図27の放電時充電状態データテーブルは、図12の充電時充電状態データテーブルと同じように、充電状態データ1が状態2〜9でそれぞれ10分割され、状態1とLBを合わせたものが10分割され、充電状態10とFullを合わせたものが10分割されている。
図28において、放電特性は、放電負荷が定電力1W時において、放電時温度が5℃時と25℃時の出力電圧の特性を示す。401はバッテリーパック128の満充電時の開放電圧である。LB電圧は電子機器301が正常に動作するために必要な下限電圧である。
図中aは、放電時温度:25℃、放電出力:1Wで放電された場合のバッテリーパック128の放電特性グラフである。一方、図中bは、放電時温度:5℃、放電出力:1Wで放電された場合のバッテリーパック128の放電特性グラフである。図中Aは、放電特性グラフaに対応する放電時充電状態データテーブルであり、Bは放電特性グラフbに対応する放電時充電状態データテーブルである。このように、放電時温度が低いほど同じ負荷(放電出力)でもバッテリーパック128の使用可能時間が短くなってしまうので、放電時温度に合わせてバッテリーパック128の充電状態を示す範囲が設定されている。
図29において、放電特性は、放電時温度が25℃において、放電負荷が定電力1W時と定電力2W時の出力電圧の特性を示す。図中aは、放電時温度:25℃、放電出力:1Wで放電された場合のバッテリーパック128の放電特性グラフである。一方、図中cは、放電時温度:25℃、放電出力:2Wで放電された場合のバッテリーパック128の放電特性グラフである。図中Aは、放電特性グラフaに対応する放電時充電状態データテーブルであり、Cは放電特性グラフcに対応する放電時充電状態データテーブルである。このように、負荷(放電出力)が大きくなるほどバッテリーパック128の使用可能時間が短くなってしまうので、負荷に合わせてバッテリーパック128の充電状態を示す範囲が設定されている。
図19に戻り、ステップS208では、制御マイコン308は、バッテリーパック128内の不揮発性メモリ133から充電状態データ1,2を制御マイコン308内のRAMに読み出す。この充電状態データ1,2の読み出し時には、図5に示したデータの読出し処理が実行される。
ステップS209では、制御マイコン308は、抵抗器311,312を介してバッテリーパック128の出力電圧Vbを測定する。ステップ210では、制御マイコン308は、バッテリーパック128内のサーミスタ134によりバッテリーパック128の温度を測定する(バッテリーパック温度測定処理)。この温度測定時には、図7に示したバッテリーパック温度測定処理が実行される。
ステップS211からステップS213では、自己放電補正を行う。自己放電とは、バッテリーパックを使用しない状態での放置やバッテリーパックを電子機器に装着したままの状態で放置したときに、バッテリーパック128内の二次電池セル138の内部抵抗や電子機器へのリーク電流により自然に充電容量が減少することである。バッテリーパック128に自己放電が発生した場合、充電容量の減少により、バッテリーパック128内の不揮発性メモリ133に格納されている充電状態データと現在の充電状態データとが一致しない状態となる。
そこで、本実施の形態では、バッテリーパック128の出力電圧Vbから求めた充電状態データ1が、不揮発性メモリ133内の充電状態データ1と一致しない場合、バッテリーパック128の不揮発性メモリ133に格納されている充電状態データ1を更新する。これにより、バッテリーパック適正な充電状態データを保持することができる。
ステップS211では、温度毎の放電時充電状態データテーブルを参照し、ステップS209で測定した出力電圧Vbに対応する充電状態データ1,2を算出する。放電時充電状態データテーブルは、制御マイコン308内のROMに格納されていたものか、ステップS205〜S207で作成されたものである。
次に、ステップS212では、制御マイコン308が、ステップS208で読み出した充電状態データ1とステップS211で算出した充電状態データ1とを比較し、一致するか否かを判断する。この結果、充電状態データ1が一致する場合は、ステップS214に移行する一方、一致しない場合はステップS213に移行する。
ステップS213では、制御マイコン308は、不揮発性メモリ133内の充電状態データ1,2のデータアドレスに、ステップS211で算出した充電状態データ1,2を書き込み、不揮発性メモリ133内の充電状態データ1,2を更新する。不揮発性メモリ133への充電状態データの書き込みには、図6に示したデータの書き込み処理が実行される。なお、図示はしないが、ステップS211からステップS213の自己放電補正はバッテリーパック装着後の初回のみ行い、2回目移行の処理は行わない。これは消費電力量による残容量の算出を優先するためである。
次に、ステップS214では、制御マイコン308は、バッテリーパック128内の不揮発性メモリ133から満充電容量データを読み出す。この満充電容量データの読み出し時には、図5に示したデータの読み出し処理が実行される。
ステップS215では、制御マイコン308は、バッテリーパック128内の不揮発性メモリ133に格納されている充電時温度データを読み出す。次に、ステップS216では、バッテリーパック128内の不揮発性メモリ133から充電温度特性データを読み出す。ステップS215〜S216における各データの読出し時には、図5に示したデータの読出し処理が実行される。
図30は、充電温度特性データの一例を示す図である。
図30において、充電温度特性データは、充電時温度によってバッテリーパック128の満充電容量が変化するのを補正するためのデータである。本実施の形態では、充電時温度25℃のときの満充電容量を1として、充電時温度5℃のときの満充電容量効率が0.92、充電時温度35℃のときの満充電容量効率が1.02となる。
図19に戻り、ステップS217では、制御マイコン308は、満充電容量データ、温度、充電時温度データ、充電温度特性データ、及び充電状態データ1,2に基づいて、バッテリーパック128の残容量を算出する(残容量算出処理)。
図21は、図19のステップS217における残容量算出処理の詳細を示すフローチャートである。
図21において、ステップS2101では、制御マイコン308は、ステップS213で読み出した満充電容量データを参照する。次に、ステップS2102では、ステップS215で読み出した充電時温度データを参照する。次に、ステップS2103では、ステップS216で読み出した充電温度特性データを参照する。
次に、ステップS2104では、制御マイコン308は、バッテリーパック128内の不揮発性メモリ133に格納されている充電状態データ1,2を参照する。次に、ステップS2105では、放電時充電状態データテーブルを参照する。
次に、ステップS2106では、制御マイコン308は、充電温度特性データから充電時温度データに対応する満充電容量効率を特定し、満充電容量データから該満充電容量効率を乗算して、満充電容量データを補正する。そして、充電状態データ1,2に基づいて、放電時温度に対応する放電時充電状態データテーブルからバッテリーパック128の残容量を算出して、メインフローにリターンする。
図19に戻り、ステップS218では、制御マイコン308は、バッテリーパック128の連続使用可能時間の算出を行う(連続使用可能時間算出処理)。
図22は、図19のステップS218における連続使用可能時間算出処理の詳細を示すフローチャートである。
図22において、ステップS2201では、制御マイコン308は、電子機器301に設定された動作モードを検出する。ステップS2202では、制御マイコン308内のROMに格納されている消費電力データテーブルを参照し、ステップS2201で検出した動作モードに対応する消費電力を算出する。消費電力データテーブルの一例を図31に示す。消費電力データテーブルでは、電子機器301の動作モード毎に単位時間当たりの消費電力が定義されている。
次に、ステップS2203では、ステップS217で算出したバッテリーパック128の残容量を、ステップS2202で算出した消費電力で除算することで、動作モードにおける連続使用可能時間を算出して、メインフローにリターンする。
図19に戻り、ステップS219では、制御マイコン308は、ステップS218で算出した連続使用可能時間から実使用可能時間の算出を行う(実使用可能時間算出処理)。
図23は、図19のステップS219における実使用可能時間算出処理の詳細を示すフローチャートである。
図23おいて、ステップS2301では、ステップS218で算出した連続使用可能時間を参照する。次に、ステップS2302では、制御マイコン308内のROMに予め格納されている実使用可能時間係数データテーブルから適切な実使用可能時間係数を選択して、選択した実使用可能時間係数を連続使用可能時間に乗算することで実使用可能時間を算出する。そして、メインフローにリターンする。
実使用可能時間係数は、例えば、撮影モードにおいて一般的に行われる撮影待機、ズーム操作等の消費電力量を定数化したものである。制御マイコン308内のROMに格納されている実使用可能時間係数データテーブルの一例を図32に示す。実使用可能時間係数データテーブルでは、動作モード毎に実使用可能時間係数が定義されている。
図19に戻り、ステップS220では、制御マイコン308は、ステップS218で算出した連続使用可能時間とステップS219で算出した実使用可能時間とを電子機器301の表示部313に表示するように制御する。
図20において、ステップS221では、制御マイコン308は、電子機器301に設定された動作モードに対応する動作を開始する。本実施の形態では、電子機器301はデジタルカメラであるので、動作モードが撮影モードであれば撮影動作を開始し、動作モードが再生モードであれば、再生動作を開始する。次に、ステップS222では、バッテリーパック128内の不揮発性メモリ133に格納されている充電履歴データのデータアドレスに「0」を書き込む。この充電履歴データの書き込みには、図6に示したデータの書き込み処理が実行される。
ステップS224〜ステップS226では、制御マイコン308は、ステップS211で動作開始された動作モードの動作時間をタイマーで計測する。なお、タイマーは制御マイコン308内に内蔵されているものとする。
次に、ステップS227では、制御マイコン308は、消費電力量の算出を行う(消費電力量算出処理)。
図24は、図20のステップS227における消費電力量算出処理の詳細を示すフローチャートである。
図24において、ステップS2401では、制御マイコン308がバッテリーパック128内の不揮発性メモリ133に格納されている放電温度負荷特性データテーブルを参照する。この放電温度負荷特性データテーブルは、図33に示すように、放電時の温度によって消費電力量を補正するための補正テーブルである。
次に、ステップS2402では、制御マイコン308が電子機器301の現在の動作モードを検出する。次に、ステップS2403では、図31に示した、制御マイコン308内のROMに格納されている消費電力データテーブルを参照し、ステップS2402で検出した動作モードに対応する消費電力を特定する。そして、ステップS2404では、ステップS2403で特定した消費電力に、ステップS224からステップS226で計測した動作時間を掛けて、動作モードの消費電力量を算出する。そして、ステップS2401で参照した放電温度負荷特性データテーブルに基づいて該消費電力量の補正を行い、メインフローにリターンする。
図20に戻り、ステップS228では、充電状態データ算出処理を行う。
図25は、図20のステップS228における充電状態データ算出処理の詳細を示すフローチャートである。
図25において、ステップS2501では、ステップS217にて算出した残容量を参照する。ステップS2502では、ステップS227で算出した消費電力量を参照する。ステップS2503では、残容量から消費電力量を減算して動作モード終了後のバッテリーパック128の残容量を算出する。ステップS2504では、ステップS210で測定した温度に対応する放電時充電状態データテーブルを参照する。ステップS2505では、ステップS2503で算出された残容量に基づいて、ステップS2504で参照した放電時充電状態データテーブルから動作モード終了後の充電状態データ1,2を算出して、メインフローにリターンする。
図20に戻り、ステップS229では、制御マイコン308は、不揮発性メモリ133内の充電状態データ1,2とステップS228で算出した充電状態データ1,2とを比較し、充電状態データの書き換えが必要か否かを判断する。データを比較した結果、充電状態データが一致した場合、制御マイコン308は充電状態の書き換えが不要と判断し、ステップS208に移行する。一方、充電状態データが一致しない場合は、制御マイコン308は充電状態データの書き換え必要と判断して、ステップS230に移行する。
ステップS230では、制御マイコン308は、バッテリーパック128内の不揮発性メモリ133にある充電状態データ1,2のデータアドレスに、ステップS228で算出した充電状態データ1,2を書き込む。充電状態データの書き込みには、図6に示したデータの書き込み処理が実行される。
次に、ステップS232では、制御マイコン308は、バッテリーパック128の脱却検出を行い、電子機器301からバッテリーパック128が外されると本処理を終了する。バッテリーパック128が外されていない場合には、ステップS208に移行する。なお、脱却検出には、例えば、電子機器側の温度(T)端子304がオープンになった場合に、バッテリーパック128が取り外されたと判断する。
上記実施の形態によれば、充電装置101によるバッテリーパック128の充電時の充電状態を精度よく管理することができる。また、電子機器301におけるバッテリーパック128の残容量を精度よく管理することができ、より正確な残量表示を行うことができる。また、充電時の温度特性や放電時の温度特性をバッテリーパック128の残量表示に反映させることが可能となり、残量表示精度を向上させることができる。また、電流値を測定するための素子を電源ラインに設けることなく、小型・低コストで電力効率の良い残量表示を行うことができる。
上記実施の形態では、充電時及び放電時の使用温度範囲を3分割して管理する例を示したが、より細分化して温度毎のデータを記憶することも可能である。またメモリ容量が限られている場合、温度範囲毎の充電特性データ及び放電特性データを補間計算により算出し、充電時充電状態データテーブル及び放電時充電状態データテーブルを作成することも可能である。このことにより、より高精度に残容量状態を管理することが可能になる。
上記実施の形態では、電子機器301は、デジタルカメラやデジタルビデオカメラに限らず、携帯電話やノートパソコン、PDA等の情報端末であってもよい。また、バッテリーパック128は、サーミスタ134を備えているが、温度の測定が可能であれば、これに限定されるものではない。
また、上記実施の形態では、バッテリーパック128に温度測定素子であるサーミスタ134を設けているが、当該サーミスタが省略されていてもよい。その場合、図3のステップS112が省略される。そして、充電制御マイコン118内のROMには常温時の充電時充電状態データテーブルのみが格納されることになる。
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを格納した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを格納した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行う場合である。