(57)【特許請求の範囲】
【請求項１】
直列に接続された複数の電池セルを有する電池セルグループを、さらに複数個直列に接続して構成した電池モジュールと、
前記電池モジュールの各電池セルグループに対応して設けられ、対応する電池セルグループが有する各電池セルの端子電圧の検出および診断を行う複数の集積回路と、
前記複数の集積回路に指令を出すとともに、前記複数の集積回路の検出結果および診断結果を受信するバッテリコントローラと、を有する電池システムにおいて、
前記電池システムは、書き込み可能な不揮発性メモリを有し、
前記不揮発性メモリには、前記電池モジュールの最大電圧または最大電流を含む電池モジュールの使用環境を表すデータと、前記電池モジュールの使用経過に基づいた履歴データとを保持し、且つ、前記不揮発性メモリの記憶領域には、前記使用環境を表すデータおよび前記履歴データを記憶するための第１記憶ブロックおよび第２記憶ブロックが設定されており、
前記第１記憶ブロックおよび前記第２記憶ブロックの内、後に書き込まれた記憶ブロックが前記第２記憶ブロックである場合は、前記不揮発性メモリからのデータの読み出しに際し、前記第２記憶ブロックに保持されたデータを読み出し、
前記読み出されたデータが正常か否かを判断し、前記読み出されたデータが正常と判断された場合には、データの次の書き込みは、前記第１記憶ブロックおよび前記第２記憶ブロックの内、データを読み出した記憶ブロックとは異なる前記第１記憶ブロックに対して行われることを特徴とする電池システム。
【請求項２】
請求項１に記載の電池システムにおいて、
前記不揮発性メモリの前記第２記憶ブロックから読み出されたデータが異常と判断された場合には、前記不揮発性メモリへの次のデータの書き込みが、前記異常と判断されたデータを読み出したブロックと同じ前記第２記憶ブロックに対して行われることを特徴とする電池システム。
【請求項３】
請求項１に記載の電池システムにおいて、
前記不揮発性メモリの前記第２記憶ブロックから読み出されたデータが異常と判断された場合には、前記不揮発性メモリへの新たなデータの書き込みが、前記第１記憶ブロックと前記第２記憶ブロックの両方に対して行われることを特徴とする電池システム。
【請求項４】
請求項１に記載の電池システムにおいて、
前記不揮発性メモリには更に第３記憶ブロックが設定されており、
前記不揮発性メモリの前記第２記憶ブロックから読み出されたデータが異常と判断された場合には、前記不揮発性メモリへの次のデータの書き込みに際し、前記第３記憶ブロックに、前記次のデータを書き込み、前記不揮発性メモリからの次のデータの読み出しに際し、前記不揮発性メモリの前記第３記憶ブロックから記憶されているデータを読み出すことを特徴とする電池システム。
【請求項５】
請求項１に記載の電池システムにおいて、
前記不揮発性メモリには更に第３記憶ブロックが設定されており、
前記不揮発性メモリの前記第２記憶ブロックから読み出されたデータが異常と判断された場合には、前記不揮発性メモリへの次のデータの書き込みに際し、前記第２記憶ブロックと前記第３記憶ブロックの両方に、前記次のデータを書き込むことを特徴とする電池システム。
【請求項６】
請求項１から請求項５のいずれか一項に記載の電池システムにおいて、
前記履歴データとして、前記電池モジュールの使用経過を表す累積値が所定条件を満たす状態での前記電池セルの状態を表すデータを、消去しない保存データとし、前記不揮発性メモリに保持する際に、前記消去しない保存データとして、前記不揮発性メモリに設定されている記憶ブロックに保存することを特徴とする電池システム。
【請求項７】
請求項１から請求項５のいずれか一項に記載の電池システムにおいて、
前記履歴データとして、前記電池モジュールの電流の積算値が所定の値に達する毎に前記電池セルの状態を表すデータを、消去しない保存データとし、既に記憶されている消去しない保存データに追加して、前記不揮発性メモリに保持することを特徴とする電池システム。
【請求項８】
請求項１から請求項５のいずれか一項に記載の電池システムにおいて、
前記履歴データとして、前記電池モジュールの運転時間に関する積算値が所定の値に達する毎に前記電池セルの状態を表すデータを、消去しない保存データとし、既に記憶されている消去しない保存データに追加して、前記不揮発性メモリに保持することを特徴とする電池システム。
【請求項９】
請求項１から請求項５のいずれか一項に記載の電池システムにおいて、
前記履歴データとして、前記電池モジュールの運転回数に関する積算値が所定の値に達する毎に前記電池セルの状態を表すデータを、消去しない保存データとし、既に記憶されている消去しない保存データに追加して、前記不揮発性メモリに保持することを特徴とする電池システム。
【請求項１０】
請求項１から請求項５のいずれか一項に記載の電池システムにおいて、
前記各電池セルの充電状態の均一化を図るための回路を備えており、
前記履歴データとして、前記各電池セルの充電状態の均一化を計るための動作時間を表すデータを、消去しない保存データとし、既に記憶されている消去しない保存データに追加して、前記不揮発性メモリに保持することを特徴とする電池システム。
【請求項１１】
請求項１から請求項１０のいずれか一項に記載の電池システムにおいて、
さらに加えて揮発性メモリを有しており、
動作開始時に前記不揮発性メモリに保持されていた前記使用環境を表すデータおよび前記履歴データを前記不揮発性メモリから読み出して前記揮発性メモリに書込み、動作中に前記揮発性メモリに書込まれたデータを更新し、動作終了時に前記揮発性メモリに保持されている更新されたデータを再び前記不揮発性メモリに書込み、保持することを特徴とする電池システム。
【請求項１２】
請求項１１に記載の電池システムにおいて、
前記各電池セルの端子電圧を運転開示時に検知し、検知された運転開示時の端子電圧から充電状態のバラツキまたは偏差を求め、求められた前記バラツキまたは前記偏差と前記不揮発性メモリに保持されていた充電状態のバラツキまたは偏差とを比較し、充電状態のバラツキまたは偏差が増大している場合に、異常と判断することを特徴とする電池システム。
【請求項１３】
請求項１１に記載の電池システムにおいて、
前記各電池セルの端子電圧を運転開示時に検知し、検知された運転開示時の端子電圧から充電状態均一化のための放電時間を求め、求められた放電時間と前記不揮発性メモリに保持されていた放電時間とを比較し、放電時間が増大している場合に、異常と判断することを特徴とする電池システム。
【請求項１４】
請求項１１に記載の電池システムにおいて、
前記各電池セルの端子電圧を運転開示時に検知し、検知された電池セルの端子電圧と前記不揮発性メモリに保持されていた前記各電池セルの端子電圧とを比較し、端子電圧が増大している場合に、異常と判断することを特徴とする電池システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、書き換え可能な不揮発性メモリに電池に関する情報を保持する電池システムに関する。
【背景技術】
【０００２】
近年車載用電池システムとして、より信頼性の高い電池システムへの要求は高く、特に単位体積当たりの蓄積電力が大きい、例えば、リチウム電池を使用する電池システムにおいて、より信頼性の向上が望まれている。信頼性を向上するために診断機能を向上した電池システムが提案されている。例えば特許文献１には信頼性を向上するために、電池システムにおける異常状態の発生の有無について診断する診断回路を備えた、車載用電池システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１８３０２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記特許文献１では、電池システムにおける異常状態の発生の有無について診断回路を用いて診断する技術を開示しており、これらの診断技術は電池システムの信頼性の向上に寄与している。しかし上記特許文献は、電池システムの使用時間の経過に基づく電池の状態変化を監視し、この監視に基づいて信頼性の向上を図ることについて触れていない。
本発明の目的は、電池システムの信頼性をより向上させることである。
【課題を解決するための手段】
【０００５】
電池システムの信頼性の向上を図るための一つの方法は、電池システムに関する使用経過に基づく履歴を表す情報を保存するようにしたことである。使用経過の項目の一つとしては、例えば電池システムの電流の積算値である。電池システムに設けられている電池セルの劣化などは供給電流に依存するところが大きい。従って電流の積算値が予め決められた値に達した時の電池セルなどの状態を表すデータを履歴データとして保持し、上記履歴データの変化を監視することで異常を検知あるいは予測できる。【０００６】
使用経過の項目の他の一つは電池システムの運転時間あるいは電池の使用時間である。電池システムの運転時間あるいは電池の使用時間が予め決められた値に達した時の電池セルなどの状態を表すデータを履歴データとして保持し、上記履歴データの変化を監視することで異常を検知あるいは予測できる。【０００７】
電池システムの信頼性の向上を図るための他の方法は、書き換え可能な不揮発性メモリに検知データを保持する保持動作におけるデータの消失を低減したことである。例えば以下に記載の実施の形態では、書き換え可能な不揮発性メモリの記憶領域を複数の領域に分け、交互に記憶するようにしている。このようにメモリを複数の領域に分けて使用することで、仮に前回記憶したデータに異常が生じた場合に、更にその前に記憶したデータである前々回の記憶データを使用することができる。あるいは仮に前回記憶したデータに異常が生じた場合に、新たなデータを異常が生じた領域に記憶する、あるいは新たなデータを異常が生じた領域と他の領域に記憶することで、異常が生じた領域に記憶したデータが再び異常となっても他の領域のデータを使用することができる。【０００８】
（１）本発明の第１の態様は電池システムであって、この電池システムは、直列に接続された複数の電池セルを有する電池セルグループを、さらに複数個直列に接続して構成した電池モジュールと、電池モジュールの各電池セルグループに対応して設けられ、対応する電池セルグループが有する各電池セルの端子電圧の検出および診断を行う複数の集積回路と、複数の集積回路に指令を出すとともに、複数の集積回路の検出結果および診断結果を受信するバッテリコントローラと、を有し、この電池システムは、書き込み可能な不揮発性メモリを有し、書き込み可能な不揮発性メモリには、電池モジュールの最大電圧あるいは最大電流を含む電池モジュールの使用環境を表すデータと、電池モジュールの使用経過に基づいた履歴データとを保持する。
（２）本発明の第２の態様によると、第１の態様の電池システムにおいて、履歴データとして、電池モジュールの使用経過を表す累積値が所定条件を満たす状態での電池セルの状態を表すデータを、消去しない保存データとし、不揮発性メモリに保持する際に消去しない保存データとして、前記不揮発性メモリに設定されている記憶ブロックに保存することが好ましい。
（３）本発明の第３の態様によると、第１の態様の電池システムにおいて、履歴データとして、電池モジュールの電流の積算値が所定の値に達する毎に電池セルの状態を表すデータを、消去しないデータとし、既に記憶されている消去しない保存データに追加して不揮発性メモリに保持することが好ましい。
（４）本発明の第４の態様によると、第１の態様の電池システムにおいて、履歴データとして、電池モジュールの運転時間に関する積算値が所定の値に達する毎に電池セルの状態を表すデータを、消去しない保存データとし、既に記憶されている消去しない保存データに追加して不揮発性メモリに保持することが好ましい。
（５）本発明の第５の態様によると、第１の態様の電池システムにおいて、履歴データとして、電池モジュールの運転回数に関する積算値が所定の値に達する毎に電池セルの状態を表すデータを、消去しないデータとし、既に記憶されている消去しない保存データに追加して不揮発性メモリに保持することが好ましい。
（６）本発明の第６の態様によると、第１の態様の電池システムにおいて、電池システムは各電池セルの充電状態（ＳＯＣ）の均一化を図るための回路を備えており、履歴データとして、電池セルの充電状態（ＳＯＣ）の均一化を計るための動作時間を表すデータを、消去しない保存データとし、既に記憶されている消去しない保存データに不揮発性メモリに保持することが好ましい。
（７）本発明の第７の態様によると、第１の態様乃至第６の態様のいずれか一つの電池システムにおいて、電池システムは揮発性メモリを有しており、動作開始時に不揮発性メモリに保持されていた使用環境を表すデータおよび履歴データを不揮発性メモリから読み出して揮発性メモリに書込み、動作中に揮発性メモリに書込まれたデータを更新し、動作終了時に揮発性メモリに保持されている更新されたデータを再び不揮発性メモリに書込み、保持することが好ましい。
（８）本発明の第８の態様によると、第１の態様乃至第６の態様のいずれか一つの電池システムにおいて、不揮発性メモリの記憶領域に、上記使用環境を表すデータおよび履歴データを記憶するための少なくとも第１記憶ブロックと第２記憶ブロックが設定されており、  不揮発性メモリの第１あるいは第２記憶ブロックの内、後に書き込まれた記憶ブロックが第２記憶ブロックである場合に、不揮発性メモリからのデータの読み出しに際し、第２ブロックに保持されたデータを読み出し、読み出されたデータが正常かどうかを判断し、読み出されたデータが正常と判断された場合には、データの次の書き込みは、第１あるいは第２記憶ブロックの内、データを読み出した記憶ブロックとは異なる第１記憶ブロックに対して行われることが好ましい。
（９）本発明の第９の態様によると、第８の態様の電池システムにおいて、不揮発性メモリの第２記憶ブロックから読み出されたデータが異常と判断された場合には、不揮発性メモリへの次のデータの書き込みが、異常と判断されたデータを読み出したブロックと同じ第２記憶ブロックに対して行われることが好ましい。
（１０）本発明の第１０の態様によると、第８の態様の電池システムにおいて、不揮発性メモリの第２記憶ブロックから読み出されたデータが異常と判断された場合には、不揮発性メモリへの新たなデータの書き込みが、第１記憶ブロックと第２記憶ブロックの両方に対して行われることが好ましい。
（１１）本発明の第１１の態様によると、第８の態様の電池システムにおいて、不揮発性メモリに更に第３記憶ブロックが設定されており、不揮発性メモリの第２記憶ブロックから読み出されたデータが異常と判断された場合には、不揮発性メモリへの次のデータの書き込みに際し、第３記憶ブロックに、次のデータを書き込み、不揮発性メモリからの次のデータの読み出しに際し、不揮発性メモリの第３記憶ブロックから記憶されているデータを読み出すことが好ましい。
（１２）本発明の第１２の態様によると、第８の態様の電池システムにおいて、不揮発性メモリに更に第３記憶ブロックが設定されており、不揮発性メモリの第２記憶ブロックから読み出されたデータが異常と判断された場合には、不揮発性メモリへの次のデータの書き込みに際し、第２記憶ブロックと第３記憶ブロックの両方に、次のデータを書き込むことが好ましい。
（１３）
本発明の第１３の態様によると、第７の態様の電池システムにおいて、電池セルの端子電圧を運転開示時に検知し、検知された運転開示時の端子電圧からＳＯＣのバラツキあるいは偏差を求め、求められたＳＯＣのバラツキあるいは偏差と不揮発性メモリに保持されていたＳＯＣのバラツキあるいは偏差とを比較し、ＳＯＣのバラツキあるいは偏差が増大している場合に、異常と判断することが好ましい。
（１４）
本発明の第１４の態様によると、第７の態様の電池システムにおいて、電池セルの端子電圧を運転開示時に検知し、検知された運転開示時の端子電圧からＳＯＣ均一化のための放電時間を求め、求められた放電時間と不揮発性メモリに保持されていた放電時間とを比較し、放電時間が増大している場合に、異常と判断することが好ましい。
（１５）
本発明の第１５の態様によると、第７の態様の電池システムにおいて、電池セルの端子電圧を運転開示時に検知し、検知された電池セルの端子電圧と不揮発性メモリに保持されていた電池セルの端子電圧とを比較し、端子電圧が増大している場合に、異常と判断することが好ましい。
【発明の効果】
【０００９】
本発明によれば電池システムの経時変化を管理することができ、電池システムの信頼性を向上することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施例である電池システムの構成を示すブロック図。
【図２】セルコントローラの概要を示すブロック図。
【図３】セルコントローラＩＣ間の接続異常に関する情報の伝送を説明する説明図。
【図４】セルコントローラの処理タイミングを説明する説明図。
【図５】セルコントローラのステージ信号の発生回路を説明するブロック図。
【図６】セルコントローラの構成を説明するブロック図。
【図７】リチウム電池システムを説明するためのブロック図。
【図８】セルコントローラＩＣあるいはバッテリコントローラ不揮発性メモリの記憶内容。
【図９】リチウム電池システムの動作を説明するフロー図。
【図１０】モニタ装置のブロック図。
【図１１】モニタ装置の動作を説明するフロー図。
【図１２】不揮発性メモリを備えた電子制御装置のブロック図。
【図１３】不揮発性メモリの書き込み動作を説明するフローチャート。
【図１４】他の実施の形態を示す書き込み動作を説明するフローチャート。
【図１５】さらに他の実施の形態を示す書き込み動作を説明するフローチャート。
【図１６】本発明の一実施の形態に係る予備記憶ブロックのブロック図。
【図１７】バックアップ書き込みモードを有する動作を説明するフローチャート。
【図１８】ブロック機能置換手段を有する場合のフローチャート。
【図１９】故障ブロック排斥手段を有する場合のフローチャート。
【図２０】初期値データを使用する場合のフローチャート。
【図２１】図１３に示す動作を説明するための不揮発性メモリの状態遷移図。
【図２２】図１３に示すデータ異常の場合の不揮発性メモリの状態遷移図。
【図２３】図１５に示す動作を説明するための不揮発性メモリの状態遷移図。
【図２４】図１６に示す動作を説明するための不揮発性メモリの状態遷移図。
【図２５】図１７に示す動作を説明するための不揮発性メモリの状態遷移図。
【図２６】図１８に示す動作を説明するための不揮発性メモリの状態遷移図。
【図２７】図１９に示す動作を説明するための不揮発性メモリの状態遷移図。
【図２８】電池モジュールを２つ備えた電池システムの構成を示すブロック図。
【図２９】電池モジュールに異常電池セルがある場合に、電池セルのＳＯＣの均一化のための動作時間の、電池モジュールの使用経過による変化を示す。
【図３０】電池モジュールに異常電池セルがある場合に、電池セルのＳＯＣの特性バラツキの、電池モジュールの使用経過による変化を示す。
【図３１】図２９と図３０に示す異常検知方法における動作フローを示す。
【図３２】図２９と図３０に示す、三角印のタイミングで行われる履歴データの保持動作のフローを示す。
【図３３】電池モジュールに異常電池セルがある場合に、所定の周期で実施される診断プログラムを実行した際に発生した警報の発生回数の、電池モジュールの使用経過による変化を示す。
【図３４】図３３で示す警報を発生する診断動作を実行するプログラムの動作フローを示す。
【発明を実施するための形態】
【００１１】
以下で説明する実施の形態は、上述の発明が解決しようとする課題の欄や課題を解決するための手段の欄、発明の効果の欄に記載の内容だけでなく、その他にも色々な課題を解決し、色々な効果を奏している。上述の発明が解決しようとする課題の欄や課題を解決するための手段の欄、発明の効果の欄に記載の内容と重複する部分もあるが、以下で説明する実施の形態により解決される課題および効果について、その幾つかを以下に列挙する。また以下の実施の形態の説明の中では、以下に列挙する解決しようとする課題や効果を説明すると共に、それ以外の解決される課題および効果についても具体的に説明する。
なお、以下の実施の形態は、車両に搭載されるリチウム電池システムを代表例として説明しているが、車両に搭載されるリチウム電池システムに限られるものではない。上述の発明および以下に述べる効果を奏する発明は、車両以外の分野、例えば産業の分野や家庭の分野など、広い分野で実施可能である。
【００１２】
〔リチウム電池セルの異常あるいは劣化状態についての検出精度の向上〕
以下の実施の形態ではリチウム電池システムの電流値の積算値、すなわち出力した電流の積算値、あるいは充電電流の積算値、あるいは出力電流と充電電流の両方の積算値を、使用経過を表すパラメータとして使用し、上記パラメータに基づく各リチウム電池セルの状態の変化を検出し、この状態の変化からリチウム電池セルの異常の検知あるいは異常につながる現象を求める。電流の積算値をパラメータとしているので、リチウム電池セルの異常あるいは劣化の検出精度を向上することができる。
【００１３】
具体的には、上記の電流値の積算を常時行い、電流の積算値が予め定めた値に達する毎に、リチウム電池システムの全体に関わる状態、あるいは各リチウム電池セルの状態を表すデータを保存する。保存されたデータを使用し、あるいは保存されたデータを基にさらに新たに検知した情報を使用し、リチウム電池システムの全体に関わる異常状態あるいは各リチウム電池セルの異常状態を求める。あるいは保存されたデータを使用し、あるいは保存されたデータを基にさらに新たに検知した情報を使用し、リチウム電池セルの劣化状態の予測、あるいは寿命を推定する。
【００１４】
上記履歴データを保存するための使用経過を表すパラメータとしては、上述の電流値の積算値が最適であるが、それ以外に使用時間の積算値や使用回数を利用することができる。リチウム電池システムの使用状態、例えば車に搭載された状態では、略同じような条件で繰り返し使用されることが多く、リチウム電池システムの運転中の電流値が略同じ値となることが多い。従ってリチウム電池システムの電流の積算値と、リチウム電池システムの使用時間の積算値とが相関関係を示す場合が多い。このような理由からは、使用時間の積算値をパラメータとして使用することができる。同様にリチウム電池システムの運転回数の積算値をパラメータとして使用することができる。
【００１５】
上記パラメータに基づき保存される履歴データの一つは、リチウム電池システムが有する各リチウム電池セルの充電状態を表す数値（ＳＯＣ）のばらつき状態である。この履歴データにより、上記パラメータが表す使用経過に基づいて、数値（ＳＯＣ）のばらつき状態がどのように変化したかが分かり、異常が発生したリチウム電池セルの検知や劣化の検知精度の向上が可能となる。リチウム電池システムが新しい状態では各リチウム電池セルの充電状態を表す数値（ＳＯＣ）はお互いに近い値を示す。劣化が進むにつれて各リチウム電池セルの充電状態（ＳＯＣ）が、他のリチウム電池セルの充電状態を表す数値（ＳＯＣ）と異なる値を示す。劣化の進んだリチウム電池セルは正常なリチウム電池セルに比べ、リーク電流が増大する現象を示し、このリーク電流の増大は非常に微少な値であるため、従来検知することが難しい課題があった。しかし各リチウム電池セルの充電状態（ＳＯＣ）のばらつき、あるいは平均値からの差異が使用経過に従ってどのように変化したかを調べることにより、リチウム電池セルの微少リーク比較的容易に検知できることが分かった。また上記パラメータに対する充電状態（ＳＯＣ）のばらつきあるいは平均値からの差異が急激に大きくなる現象を捉えることで、リチウム電池セルの劣化を早期に検出できることが分かった。また上記充電状態（ＳＯＣ）のばらつきあるいは平均値からの差異の今後の変化を推定することができ、電池セルの寿命を予測することができることがわかった。
【００１６】
以下に説明する実施の形態では、各リチウム電池セルの充電状態（ＳＯＣ）のばらつきを抑え、更には均一化を図るための制御が行われている。具体的には、充電状態（ＳＯＣ）の値の大きいリチウム電池セルに対して放電のためのバイパス回路を形成して放電することにより、充電状態（ＳＯＣ）の値の小さいリチウム電池セルの充電状態（ＳＯＣ）に近づける制御が行われている。この充電状態の均一化の制御に要する時間は、各リチウム電池セルの充電状態（ＳＯＣ）のばらつきの程度が大きくなるほど、長くなる。すなわちこの充電状態の均一化の制御に要する時間は、リチウム電池セルの劣化が進むにつれて長くなることが、発明者らの研究で明らかになった。従って履歴データとして充電状態の均一化制御の動作時間を保持し、この値をリチウム電池セルの異常検知や劣化検知に利用することができる。また上記値のパラメータに対する今後の変化を推定することで、リチウム電池セルの寿命を予測することができる。
【００１７】
〔電池セルの異常の早期発見〕
他の課題として、多くの電池セルの中から異常状態のリチウム電池セルを異常状態の早期の段階で検地することが電池システムの信頼性向上の観点で重要である。以下の実施の形態で説明するように、電池システムの運転終了時の各リチウム電池セルの端子電圧を検出して各リチウム電池セルの充電状態（ＳＯＣ）を求め、前記各リチウム電池セルの充電状態（ＳＯＣ）を書き換え可能な不揮発性メモリに保持する。次に上記電池システムが運転を開始した状態で、各リチウム電池セルの端子電圧を検出して各リチウム電池セルの充電状態（ＳＯＣ）を求める。運転開始時の各リチウム電池セルの充電状態（ＳＯＣ）と以前に記憶しておいた各リチウム電池セルの充電状態（ＳＯＣ）とを比較することで、各リチウム電池セルについて運転終了時と運転開始時の充電状態（ＳＯＣ）の差を比較する。上記充電状態（ＳＯＣ）の差が大きい場合は、其のリチウム電池セルは、微少短絡などの異常が生じていると判断することができる。
【００１８】
〔異常電池セルの検知精度の向上〕
以下に説明の実施の形態では、リチウム電池全体の充電状態（ＳＯＣ）に対する各リチウム電池の偏差を保存し、上記各リチウム電池の偏差が変化したかどうかを検知し、この偏差が変化に基づいて偏差の変化が特異なリチウム電池セルを検知する。この方法により、異常状態のリチウム電池セルをさらに高精度に検知することができる。高精度にリチウム電池セルの異常状態を検知する具体的な方法としては、リチウム電池セルの端子電圧を検出して各リチウム電池セルの充電状態（ＳＯＣ）を求め、さらに各リチウム電池セルの充電状態（ＳＯＣ）の偏差を求める。偏差としては例えばリチウム電池システムの平均充電状態（ＳＯＣ）からの各リチウム電池セルの充電状態（ＳＯＣ）のずれを使用する。
【００１９】
次の各リチウム電池セルの充電状態（ＳＯＣ）の偏差を演算により求め、それぞれ記憶されていたリチウム電池セルの充電状態（ＳＯＣ）の偏差と比較する。各リチウム電池セルの充電状態（ＳＯＣ）に関する偏差の変化の状態をそれぞれ演算し、基準値を超える偏差の変化が大きいリチウム電池セルを選定する。上記偏差の変化が基準を超えて大きいリチウム電池セルは微少リークなどの異常状態が生じていると判断することができる。
【００２０】
比較の対象となる各リチウム電池の偏差の一例は、前回の運転終了時の偏差と次の運転再開時の偏差である。車の運転終了時の各リチウム電池セルの充電状態（ＳＯＣ）の偏差を演算により求め、書き込み可能な不揮発性メモリに保持する。車を数時間あるいは数日駐車状態としてリチウム電池システムを非運転状態に維持すると、各リチウム電池セルの充電状態（ＳＯＣ）は徐々に低下する。正常なリチウム電池セルのリーク電流は非常に微少であり、しかも各リチウム電池セルに対して運転停止時間が同じなので、各リチウム電池セルの充電状態（ＳＯＣ）が略同じ状態で変化し、各リチウム電池セルの充電状態（ＳＯＣ）の偏差はほとんど変化しない。一方微少短絡などの異常が発生しているリチウム電池セルのリーク電流は正常なリチウム電池セルのリーク電流に対して大きく、充電状態（ＳＯＣ）の変化率が大きい。従って時間の経過と共に正常なリチウム電池セルにくらべ異常リチウム電池セルの偏差は大きくなる。
【００２１】
重要な特徴は、各リチウム電池セルの充電状態（ＳＯＣ）と全体のリチウム電池セルの充電状態（ＳＯＣ）との偏差を利用することである。運転停止時の各リチウム電池セルの充電状態（ＳＯＣ）は、色々な要因で変化する。例えば要因としては時間や温度などが有り、である。運転停止時が不規則であれば運転停止前と運転再開時の各リチウム電池セルの充電状態（ＳＯＣ）の差は運転停止時間により変化するが、各リチウム電池セルの充電状態（ＳＯＣ）と全体のリチウム電池セルの充電状態（ＳＯＣ）との偏差に着目すると、あまり変化しない。同様に運転停止時の各リチウム電池セルが置かれている温度が変化しても、上記偏差を使用すれば、温度変化の影響が少なくなる。
【００２２】
一方、電池システムが有するリチウム電池セルの中で異常が発生しているリチウム電池セルは極めて少ない数であり、存在しているとしても１個多くて２個である。ほとんどのリチウム電池セルは正常であるため、正常なリチウム電池セルの充電状態（ＳＯＣ）の変化とリチウム電池システムの平均充電状態（ＳＯＣ）の変化は非常に似かよった特性を示す。異常のリチウム電池セルとリチウム電池システムの平均充電状態（ＳＯＣ）との偏差が際立って変化する傾向が見られる。このため、各リチウム電池セルの充電状態（ＳＯＣ）の偏差をリチウム電池システムの運転終了時に書き換え可能な不揮発性メモリに保存し、運転再開時の各リチウム電池セルの充電状態（ＳＯＣ）の偏差と比較することで、見つけ難い微少短絡などの異常状態のリチウム電池セルを高精度で検出することが可能となる。
【００２３】
上述のリチウム電池セルの充電状態（ＳＯＣ）の検出は、検出精度向上の観点から以下の理由により、運転開始時あるいは運転停止時が最適である。そのため各リチウム電池セルの充電状態（ＳＯＣ）のばらつきの算出は、運転開始時あるいは運転停止時に検出した充電状態（ＳＯＣ）を使用することが望ましい。リチウム電池セルの充電状態（ＳＯＣ）はリチウム電池セルの端子電圧と相関関係があるためリチウム電池セルの端子電圧を検出し、検出された端子電圧に基づいてリチウム電池セルの充電状態（ＳＯＣ）を演算する。しかし、負荷電流が流れている状態では等価的な内部抵抗の影響などにより、端子電圧と充電状態（ＳＯＣ）との間の前記相関関係が変わってしまう。リチウム電池セルの充電状態（ＳＯＣ）の検知精度を向上するには、運転開始状態において、リチウム電池システムからの負荷電流の供給が開始される前に各リチウム電池セルの端子電圧を測定し、この測定結果である、負荷への電流供給前の各リチウム電池セルの端子電圧を使用して各リチウム電池セルの充電状態（ＳＯＣ）を演算することが望ましい。また運転停止状態でリチウム電池システムからの負荷電流の供給が停止された後に各リチウム電池セルの端子電圧を計測し、各リチウム電池セルの充電状態（ＳＯＣ）を演算することが望ましい。もちろんリチウム電池システムの運転開始時あるいは運転停止時でなくても、負荷電流の供給を停止している状態であって上述した各リチウム電池セルの充電状態の均一化の制御が行われていない状態であれば各リチウム電池セルの端子電圧を計測し、各リチウム電池セルの充電状態（ＳＯＣ）を演算することが可能である。
【００２４】
〔データの更新や保存に関する信頼性の向上〕
解決しようとする他の課題として、履歴データあるいはリチウム電池モジュールの使用環境をあらわすデータ保存動作の信頼性の向上があり、以下の実施の形態では、データの保存に関する信頼性の向上が図られている。書込み可能な不揮発性メモリに保存されている履歴データあるいは使用環境をあらわすデータ（以下不揮発性メモリに保存されているデータを総称して保存データと記す）を読み出し、これら保存データを更新し、更新された保存データを再び書き込む動作（以下更新保存動作と記す）が繰り返し行われる。この更新保存動作において書き込み動作の不具合などで保存データが失われると電池システムの信頼性確保が困難となる。以下の実施の形態では次に説明の方法により、限られた記憶容量を有効に利用して更新保存動作の信頼性を向上している。書き換え可能な不揮発性メモリに少なくとも２つの記憶領域である第１と第２の記憶領域（以下記憶ブロックと記す）を設定し、前記第１あるいは第２記憶ブロックの内後に書き込まれた記憶ブロックが第２記憶ブロックである場合に、第２記憶ブロックの保存データを読み出し、前記読み出された保存データが正常かどうかを判断し、前記保存データが正常と判断された場合には、更新された保存データの次の書き込みは、前記第１あるいは第２記憶ブロックの内、データを読み出した記憶ブロックとは異なる第１記憶ブロックに対して行われるようにしている。上記読み出された保存データが正常かどうかの判断は例えばパリティチェックなどの手法で行われる。
【００２５】
なお第２記憶ブロックから読み出されたデータが異常と判断された場合には、他の記憶ブロックである第１記憶ブロックの保存データに基づいて保存データの更新を行い、次の書き込み時に、先に読み出されたデータが異常と判断された第２記憶ブロックに更新された保存データを書き込む。このように更新保存動作を行うことにより、第１記憶ブロックの正常なデータを保持しつつ、更新された保存データを第２記憶ブロックに書き込むことにより、次の更新保存動作が最後に書き込まれた第２記憶ブロックの保存データに基づいて行うことができ、更新保存動作を正常な繰り返し動作に戻すことができる。保存データの書き込み時にノイズなどによる異常が一時的に生じたとしても、異常な更新保存動作を最小限にとどめ、正常な更新保存動作に速やかに戻すことができる。また使用するメモリ容量の増加を抑えつつ更新保存動作の高い信頼性を維持できる。
【００２６】
以下の実施の形態には、更に他の更新保存動作が記載されている。後に書き込まれた記憶ブロックである第２ブロックの保存データを読み出し、前記読み出された保存データが正常と判断された場合に、次の書き込みが第１記憶ブロックに対して行われる動作は、上述の動作と同じである。上述の動作と相違する点は次の点である。第２記憶ブロックから読み出されたデータが異常と判断された場合に、第１の記憶ブロックに保持されていた保存データに基づいて更新され、次の書き込み時に、読み出されたデータが正常であった第１記憶ブロックと読み出されたデータが異常であった第２記憶ブロックの両方の記憶ブロックに書き込み動作を行う。この方法では、非常に稀であるが、書き換え可能な不揮発性メモリ自身に異常か生じた場合であっても、更新保存動作を継続することができる。使用するメモリ容量の増加が抑えられる効果を奏することは、上述の方法と同じである。
【００２７】
〔使用状態や動作状態の検証、故障原因の解析と適切なあるいは迅速な修理〕
以下に記載の実施の形態では、不揮発性メモリにリチウム電池システム、特にリチウム電池セルの使用状態を示す使用環境データや、使用経過に沿ったリチウム電池セルの状態変化や特性の変化、などの履歴を表す履歴データが保存されている。これらの保存データは外部に取り出すことができる、また表示装置に表示させることができる。仮に異常が発生した場合に、この機能により、異常原因の解析が可能となり、更に信頼性を向上させるためのシステムの改善にこれらのデータを利用することができる。また故障の原因を正確に、迅速に究明でき、修理が容易となり、信頼性が向上する効果がある。またこれらの記憶されているデータをシステムの診断に利用することで、精度の高い診断が可能となる。記憶データを一般の人が自由に読み出すことは必ずしも適切でない場合があり、以下の実施の形態で説明のように、保存データを記憶しているシステムはセキュリティの機能を有している。
【００２８】
〔更にその他の課題解決〕
なお、上述したいろいろな方法において、保持されていた保存データの不揮発性メモリからの読み出しおよび次の更新されたデータの書き込みタイミングは、電池システムの運転開始時および運転終了時が望ましいことは、先に述べた通りである。また上述の方法および以下の実施の形態で説明する方法は、リチウム電池以外の電池を使用した電池システムにも使用できるが、高い信頼性が望まれているリチウム電池を使用したシステムに使用するとより大きな効果が得られる。
【００２９】
以下に上記の電池システムの管理方法に適した装置の構成例について図を引用して説明する。まず装置全体の概略を説明し、さらに第１から第３の実施形態について説明する。
以下の実施の形態では、更に他の課題を解決する実施例や、更新保存動作の信頼性を改善する実施例を説明する。また、以下の実施の形態には、電池システムに保持されている保存データを含む保持データを電池システムから外に取り出す構成および動作を記載している。これにより電池システムの点検や修理のため、あるいは異常に関する発生原因の究明や劣化原因の究明、電池モジュールの再利用のために電池システムに保持されているデータを使用することができる。以下の実施の形態では、データの信頼性を高めるため、第三者がこれら保存データに対して操作することを困難とする機能を備えており、これらについては以下の実施の形態の中で説明する。
【００３０】
〔第１の実施形態〕
本実施の形態に記載の電池システムは、車両に搭載する電源システムとして使用するのに最適であるが、電車あるいは産業機械用の電源システムにも利用できる。これらの電源システムの内、最適である車両用電源システムに使用される電池システムを代表例として説明する。なお、上記説明あるいは以下に記載の説明で、用語「演算」は、計算する動作だけでなく、予め計算した内容をメモリに保持し、メモリに保持されたデータを読み出す動作や、実験により適した値を求めてメモリに保持し、実験により求めた値をメモリから読み出す動作も含める意味として使用する。
【００３１】
〔電池システムの構成〕
図１は本発明による電池システムの構成の一例をブロック図で示す。この電池システムは、複数のリチウム電池セル（本実施例では４個）を直列接続した電池セルグループを複数個直列接続した電池モジュール１０と、セルコントローラ（以下、Ｃ／Ｃと略称する場合がある）８０、バッテリコントローラ２０、電流計ＳＡ、電圧計ＳＶを有している。実際の電池システムでは、このような電池モジュールが複数個直並列に接続されて構成されている。また、電池モジュール１０およびセルコントローラ８０の詳細については後述する。
【００３２】
バッテリコントローラ２０は、車両に搭載された、例えば１４ボルト系電源のごとく、低電圧系直流電源１４からの低電圧電力を受けて動作する。またバッテリコントローラ２０は車載用の電池システムに対して、外部の上位制御装置を含む外部コントローラ１１１、等と伝送路１１２を介して情報の送受を行う。
【００３３】
前記電池モジュール１０は、直列接続された複数個のグループＧＢ１，…ＧＢＭ，…ＧＢＮを有していて、前記各グループはそれぞれ直列接続された複数個のリチウム電池セルＢＣ１〜ＢＣ４を有している。この実施の形態では各グループは４個のリチウム電池セルを有していて、前記グループＧＢ１，…ＧＢＭ，…ＧＢＮに対応して、各グループを構成する電池セルＢＣ１〜ＢＣ４の各端子電圧の検出や診断を行うための集積回路（以下ＩＣと記す場合がある）３Ａ、３Ｌ、３Ｎが設けられている。なお、各グループを構成するリチウム電池セルの数を４個に限る必要は無く、各グループＧＢ１，…ＧＢＭ，…ＧＢＮが６個の電池セルを有していても良いし、更に他の数であっても良い。また前記各グループが有するリチウム電池セルの数がグループ毎に異なっていてもよく、例えばあるグループが４個のリチウム電池セルを有し、他のグループが６個のリチウム電池セルを有するようにしても良い。
【００３４】
各グループＧＢ１，…ＧＢＭ，…ＧＢＮが有するリチウム電池セルの数は、各リチウム電池セルの端子電圧と集積回路以下ＩＣと記す場合がある）の耐圧との関係を考慮して決められていて、４個ないし６個あるいは１０個程度が望ましい。電池モジュール１０の有するリチウム電池セルの数は電気負荷が使用する電力や電気負荷に供給する電圧を考慮して決められ、直列に接続された電池モジュール１０のリチウム電池の数は、例えば数十個から数百個である。リチウム電池モジュール１０に使用される全個数をグループに分けることで、各グループを構成するリチウム電池セルの数が定まる。グループに対応して集積回路がそれぞれ設けられており、グループを構成するリチウム電池セルの数が増えると、そのグループの端子電圧が大きくなり、集積回路に加わる電圧が高くなる。
【００３５】
各リチウム電池セルの端子電圧はそのリチウム電池セルの充電状態（ＳＯＣ）で変化し、例えば３０％程度の充電状態（ＳＯＣ）では端子電圧は約３.３ボルト程度、充電状態（ＳＯＣ）が７０％程度では約３.８ボルト程度となる。正常な動作範囲を超えて放電した過放電状態では、リチウム電池セルの端子電圧は例えば２.５ボルト以下になる場合があり、また正常な動作範囲を超えて充電された過充電状態では端子電圧が４.２ボルト以上になる場合がある。なお、上記充電状態（ＳＯＣ）はリチウム電池セルの無負荷状態の端子電圧と相関関係を有しており、各リチウム電池セルＢＣ１〜ＢＣ４の端子電圧を計測することによりそれぞれの充電状態（ＳＯＣ）を把握できる。
【００３６】
グループを４個のリチウム電池セルの直列接続で構成した場合に、上記過充電状態のグループのグループ端子間の電圧は１６．８ボルトとなり、６個のリチウム電池セルの直列接続でグループを構成した場合には、リチウム電池セルのグループ端子間の電圧は２５．２ボルトとなる。グループを構成するリチウム電池セルの数を大きくすると集積回路の耐圧を高くすることが必要となり、各グループを構成するリチウム電池セルの数が集積回路の耐圧との関係で定まる。本発明の実施形態では集積回路の耐圧との関係で、あるいは前記各電池セルＢＣ１〜ＢＣ４の端子電圧の計測を行い易くするなどの理由で、各グループを構成するリチウム電池セルの数を４個乃至６個、多くても１０個としている。
【００３７】
図１でグループＢＧ１やグループＧＢＬ，グループＧＢＮをそれぞれ電池セルＢＣ１〜ＢＣ４で構成し、グループＢＧ１とグループＧＢＬとの間およびグループＧＢＬとグループＧＢＮとの間にはさらにグループが存在しているが、これらのグループはそれぞれ同様の構成であり、説明の煩雑さを避けるために省略する。
【００３８】
セルコントローラ８０は、電池モジュール１０を構成する各リチウム電池セルのグループに対応して集積回路３Ａ，…３Ｌ，…３Ｎを有し、各集積回路は対応するグループを構成するリチウム電池セルの端子電圧をそれぞれ検出するために、電圧検出用の端子Ｖ１，Ｖ２，Ｖ３，Ｖ４，およびＧＮＤを備えており、各集積回路の各端子Ｖ１〜Ｖ４乃至ＧＮＤは、各グループを構成する各リチウム電池セルの正極および負極にそれぞれ接続されている。また各集積回路３Ａ〜３Ｎは信号伝送のための送受信端子（ＲＸ、ＴＸ、ＦＦＩ、ＦＦＯ）を有しており、これら各集積回路の送受信端子は隣の集積回路３Ａ〜３Ｎの送受信端子と、以下に説明するように電気的に直列接続され、信号伝送路１１２（図１参照）を介して各集積回路３Ａ〜３Ｎとバッテリコントローラ２０との信号伝送が行われる。このように信号伝送路を直列接続することで、各集積回路３Ａ〜３ＮのベースとなるＧＮＤ端子の電位が徐々に変化し、隣接する集積回路の送受信端子間の電位差は、リチウム電池セルのグループのグループ端子電圧となる。
【００３９】
各集積回路３Ａ〜３Ｎは、それぞれ対応する各グループＧＢ１〜ＧＢＮを構成する各電池セルＢＣ１〜ＢＣ４の電圧を検出するとともに、全グループの全電池セルの充電状態ＳＯＣ（State Of Charge）を均一化するために、各集積回路３Ａ〜３Ｎが対応する各リチウム電池セルＢＣ１〜ＢＣ４のＳＯＣを個別に調整するための制御端子Ｂ１〜Ｂ４を有している。後で詳細に説明するが（図２）、各リチウム電池セルＢＣ１〜ＢＣ４に並列に、充電状態を調整するための抵抗Ｒ１〜Ｒ４と半導体素子で作られるスイッチ素子１２９Ａ〜１２９Ｂでそれぞれ形成される直列回路が接続される構成となっている。各集積回路３Ａ〜３Ｎは充電状態の大きい電池セルと並列に接続されている前記直列回路のスイッチ素子１２９Ａ〜１２９Ｂを導通することにより、充電状態の大きい電池セルの保持電力を充電状態調整用の抵抗を介して放電することにより、充電状態の均一化を図る。
【００４０】
前記集積回路３Ａ，３Ｌ，３Ｎはそれぞれ、各グループＧＢ１〜ＧＢＮの内の対応するグループを構成する各リチウム電池セルＢＣ１〜ＢＣ４の異常状態を検出する機能を有している。これらの集積回路は何れも同じ構造を有しており、各集積回路は各電池セルの端子電圧計測回路と充電状態調整回路と異常状態検出回路を有している。各集積回路３Ａ〜３Ｎで検知する異常状態とは、リチウム電池セルの過充電や過放電、温度の異常上昇、各集積回路の内部動作の異常である。その他の異常は、後述するように、バッテリコントローラ２０で検出され、代表的なものとしてリチウム電池セルの微少短絡やその他のリチウム電池セル内部の劣化、各リチウム電池の端子と各集積回路３Ａ〜３Ｎの接続回路の断線、信号伝送路の断線がある。各集積回路の異常判断の閾値はバッテリコントローラ２０から設定でき、リチウム電池セルの過充電や過放電状態に対して許容範囲を有して異常判断が行えるように各集積回路の異常状態の検出条件を設定する。各集積回路がリチウム電池セルの異常を検出した場合でも、電池システムの破損等の可能性に対しては上記許容範囲を有する状態であり、まだ破損には至っていない状態であることを意味している。
【００４１】
〔電池システムの信号伝送路〕
半導体で作られている集積回路３Ａ〜３Ｎとバッテリコントローラ２０との接続および動作の関係は、図７に示すように、バッテリコントローラ２０に対して２組の電池モジュール１０と２組のセルコントローラ８０が設けられており、図１にその内の一方を記載する。集積回路３Ａ〜３Ｎとバッテリコントローラ２０との間の信号伝送は、通信ハーネス５０と入力側インタフェースＩＮＴ（Ｅ）および出口側インタフェースＩＮＴ（Ｏ）を備えるインタフェースを介して行われる。
【００４２】
〔集積回路間の情報の伝送〕
前記バッテリコントローラ２０は車両の車体を基準電位とする低電圧直流電源１４からの電力によって動作するので、車両の車体の電位を基準電位とする１２Ｖ以下の低電圧、例えば５ボルトで動作する（図１参照）。一方各集積回路３Ａ〜３Ｎは、上述の車体の電位とは異なる電源系である、リチウム電池セルの対応するグループからの電力で動作し、各グループの電位が異なるためそれぞれ基準電位（グランド電位）が異なっている。さらに各リチウム電池セルの端子電圧は充電状態ＳＯＣに基づき変化するので、電池モジュール１０の各グループの電位は充電状態ＳＯＣに基づいて変化し、その結果各集積回路３Ａ〜３Ｎの電位の関係は常に変化する。各集積回路３Ａ〜３Ｎは電池モジュール１０の中の対応するグループを構成しているリチウム電池セルの端子電圧を検出し、あるいは対応するグループの電池セルの充電状態ＳＯＣの調整のための放電制御などを行う。これらの動作を行う電力は対応するグループを構成するリチウム電池セルから供給される。本実施例では関係するグループの電位に基づいて集積回路の基準電位が定まる。各集積回路の基準電位となるＧＮＤ端子は対応する各グループの最低位電位となるリチウム電池セルの負極端子に接続されており、各集積回路は対応するセルグループの最低位電位となるリチウム電池セルの負極端子の電位を基準電位（グランド電位）として動作する。
【００４３】
バッテリコントローラ２０の電源系とセルコントローラ８０の電源系とは異なっている。バッテリコントローラ２０に接続される通信ハーネス５０は、集積回路３Ａ〜３Ｎ内の直列接続されている伝送路５２、５４と電気的に絶縁されることが必要で、伝送路５２，５４の入口側と出口側とにそれぞれ絶縁回路として作用する入口側インタフェースＩＮＴ（Ｅ）と出口側インタフェースＩＮＴ（Ｏ）が設けられている。これら各インタフェースＩＮＴ（Ｅ）やＩＮＴ（Ｏ）では、電気信号が一旦光信号に変換され、その後再び電気信号に変換される回路構成を有するフォトカプラを使用しているので、バッテリコントローラ２０の伝送路とセルコントローラ８０の伝送路との間は電気的な絶縁が維持される。
【００４４】
バッテリコントローラ２０の送信端子ＴＸから命令情報やデータ情報が送信され、送信された情報は入口側インタフェースＩＮＴ（Ｅ）内のフォトカプラＰＨ１を介して集積回路３Ａの受信端子ＲＸで受信され、集積回路３Ａの送信端子ＴＸから上記受信情報に基づく情報が次の集積回路に送られ、そして集積回路３Ｌの受信端子ＲＸで受信され、集積回路３Ｌの送信端子ＴＸから送信された情報は順に集積回路を通過し、集積回路３Ｎの受信端子ＲＸで受信され、集積回路３Ｎの送信端子ＴＸから送信されて出口側インタフェースＩＮＴ（Ｏ）のフォトカプラＰＨ３を介してバッテリコントローラ２０の受信端子ＲＸで受信される。このようにループ状の通信路が設けられており、このループ状の通信路を介してシリアル通信が行われ、各電池セルの端子電圧や温度，各電池セルの診断結果、各集積回路の内部の状態、あるいは各集積回路と電池セルとの接続に関する診断結果、などの計測値や診断結果がバッテリコントローラ２０に受信される。
【００４５】
さらに各集積回路３Ａ〜３Ｎは同じ構造をしており、電池システムの最初の立ち上げ時に各集積回路３Ａ〜３Ｎのアドレスを決定することが必要である。バッテリコントローラ２０は必要に応じて、アドレス割付コマンド情報を送信端子ＴＸから送信すると各集積回路３Ａ〜３Ｎはこのコマンド情報を受信し、自分のアドレスを特定し、このコマンド情報を隣の各集積回路に送信する。このコマンド情報の伝送により、順にアドレス割付が行われ、次の集積回路に命令情報を伝達し、すべてのアドレス割付が行われ、コマンド情報がバッテリコントローラ２０の受信端子ＲＸに戻ると、アドレス割付動作の終了が確認される。このことにより、各集積回路３Ａ〜３Ｎの回路構造を同じ構造にすることができ、修正回路の量産性が向上し、配線の煩雑さが解消される。
【００４６】
また電池システムの動作停止時は電力消費を抑えるために各集積回路３Ａ〜３Ｎはスリープ状態にあり、電池システムの動作開始時にバッテリコントローラ２０は各集積回路３Ａ〜３Ｎにこの伝送路を介してウエイクアップ（Ｗａｋｅ Ｕｐ）のコマンド情報を送り、自動的にスリープ状態からウエイクアップ（Ｗａｋｅ Ｕｐ）状態に遷移するようにつくられている。従ってバッテリコントローラ２０から通信コマンド２９２が伝送されると、各集積回路３Ａ〜３Ｎはそれぞれスリープ状態から動作状態に状態遷移する。
【００４７】
本実施の形態では電池システム内の伝送路はバッテリコントローラ２０から送信されて集積回路３Ａ〜３Ｎを通り再びバッテリコントローラ２０に戻るループを形成している。この実施の形態ではバッテリコントローラ２０の送信端子ＴＸから送信された情報が再び伝送ループを介してバッテリコントローラ２０の受信端子ＲＸに戻るので、命令情報が正しく伝送されたかどうかが確認でき、信頼性が向上する。もし、命令情報の伝送の途中でノイズなどの影響で異常が発生すると、正しい命令情報がバッテリコントローラ２０の受信端子ＲＸに戻らないので、異常の発生を容易に検知できる。仮に信頼性向上を少し低下させてもよければ、伝送路はループ形状を形成しなくても良く、バッテリコントローラ２０から集積回路３Ａを通り、集積回路３Ｎに伝達されて、この集積回路３Ｎで伝送動作が終わるようにしても良い。また伝送時間が長くなるが、この集積回路３Ｎに伝達された情報をこの集積回路３Ｎからバッテリコントローラ２０に戻すのではなく、再び集積回路３Ａに戻し、この集積回路３Ａからバッテリコントローラ２０へ戻すようにしても良い。
【００４８】
〔異常信号の高速伝送路〕
各集積回路３Ａ〜３Ｎは対応するグループを構成するリチウム電池セルＢＣ１〜ＢＣ４の診断および自分自身の内部動作の診断を所定周期で繰り返し行い、その診断結果を、上記の伝送路とは別の、バッテリコントローラ２０からの指令を受けなくても自動的に異常情報を高速に報告するための伝送路を備えており、この伝送路を介して異常の有無を表す１ビット情報がバッテリコントローラ２０に伝送される。この伝送路では、各集積回路３Ａ〜３Ｎが対応するグループのリチウム電池セルＢＣ１〜ＢＣ４の異常を検知した場合、および自分自身の回路の異常を検知した場合、さらに伝送路の前に位置する集積回路から異常を表す信号送られてきて受信端子ＦＦＩで異常信号を受信した場合に、送信端子ＦＦＯから異常信号を次の集積回路に送信する。一方既に受信端子ＦＦＩで受信していた異常を表す信号が消え場合、あるいは自分自身の異常判断の内容が変わり、異常状態ではなくなった場合に、送信端子ＦＦＯから伝送する信号は異常信号から正常信号に切り替わる。この異常信号は１ビット信号であるが、ビット数を増やしても良い。原則的にはバッテリコントローラ２０から各集積回路３Ａ〜３Ｎに異常信号を送信しないが、異常信号の伝送路が正しく動作していることを確認することが重要であり、伝送路の診断のために擬似異常信号であるテスト信号をバッテリコントローラ２０の端子ＦＦＴＥＳＴから送信し、バッテリコントローラ２０の端子ＦＦ擬似異常信号を受信できるかを確認することで、上記異常信号の伝送路が正常かどうかを診断することができる。
【００４９】
上記異常信号の伝送路は、バッテリコントローラ２０の送信端子ＦＦＴＥＳＴから入口側インタフェースＩＮＴ（Ｅ）のフォトカプラＰＨ２を介して集積回路３Ａの受信端子ＦＦＩにつながり、集積回路３Ａの送信端子ＦＦＯから図示しない各集積回路を通り、集積回路３Ｌの受信端子ＦＦＩにつながる。さらにこのように順次接続され、集積回路３Ｎの受信端子ＦＦＩにつながり、送信端子ＦＦＯから出口側インタフェースＩＮＴ（Ｏ）のフォトカプラＰＨ４を介してバッテリコントローラ２０の受信端子ＦＦにつながる回路である。上記異常信号の伝送路がループ形状を成しているので、バッテリコントローラ２０から擬似異常信号を送受することで伝送ルートの診断ができ、システムの信頼性が向上する。また上述のとおり、バッテリコントローラ２０からの送信命令が無くても、異常状態を検知した集積回路が次の集積回路に異常信号を送ることで、速やかに異常状態がバッテリコントローラ２０に伝達されので、異常の発生に速やかに対応できる効果がある。
【００５０】
電池モジュール１０から負荷に供給される電流は電流計ＳＡで検出され、バッテリコントローラ２０は電流計ＳＡの出力を受け、電池モジュール１０からの出力電流を検知する。また電池モジュール１０の全体の端子電圧は電圧計Ｖｄにより測定され、電圧計Ｖｄの出力から電池モジュール１０は負荷に供給する総電圧を検知することができる。これらの電圧計及び電流計から電池モジュール１０がどのような状態で使用されているのか、使用環境を検知でき、その情報を書き換え可能な不揮発性メモリに保存できる。特に最高電圧や最大電流を書き換え可能な不揮発性メモリに保存することで、電池モジュール１０の使用環境を後に検証でき、特に電池モジュール１０が異常な状態で使用されている場合には、その状態が後述する電池モジュール１０やセルコントローラ８０に内蔵される各集積回路の揮発性メモリ（以下ＲＡＭと記す）に一次保管され、次に例えば車のキースイッチのＯＦＦ操作などに基づき、書き換え可能な不揮発性メモリに記憶される。
【００５１】
〔セルコントローラ８０のセルコントローラＩＣの概要〕
図２は集積回路３Ａの一実施例を示す電子回路のブロック図である。各集積回路３Ａ〜３Ｎはそれぞれ同一の回路構成であり、代表例として集積回路３Ａについて説明する。集積回路３Ａの入力側端子Ｖ１〜Ｖ４は、対応するグループＧＢ１を構成する各リチウム電池セルＢＣ１〜ＢＣ４の正極端子にそれぞれ接続されており、ＧＮＤ端子は最下位のリチウム電池ＢＣ４の負極側に接続されている。各リチウム電池セルＢＣ１〜ＢＣ４の端子電圧は、各入力端子Ｖ１〜Ｖ４とＧＮＤを介して選択回路１２０にそれぞれ入力される。選択回路１２０はマルチプレクサによって構成され、スイッチ１２０Ａ〜１２０Ｅを有している。このスイッチ１２０Ａ〜１２０Ｅの接続を所定の順番で切り換えることにより、各リチウム電池セルＢＣ１〜ＢＣ４の端子電圧が電圧検出回路１２２に入力され、電圧検出回路１２２によってデジタル値に変換される。
【００５２】
対応するグループＧＢ1の端子電圧が集積回路３Ａの入力端子Ｖ１とＧＮＤに入力され、このグループＧＢ1の端子電圧が電源回路１２１に供給される。電源回路１２１はＤＣ／ＤＣコンバータ等を備えており、供給された電圧を所定の定電圧に変換し、この定電圧を集積回路３Ａ内の各回路に電源電圧として供給する。また状態を判断するためのアナログ比較回路に比較基準電圧として供給する。前記電源管理回路１２４は前記電源回路１２１における状態を管理するように構成されている。
【００５３】
前記電圧検出回路１２２によってデジタル値に変換されたセルグループＧＢ１の各端子電圧はＩＣ制御回路１２３に入力され、内部の記憶回路１２５に保持される。このＩＣ制御回路１２３は、演算回路を有すると共に、記憶回路１２５や電源管理回路１２４，各種電圧の検知や状態診断を周期的に行うためのタイミング制御回路２５２を有している。前記記憶回路１２５は、例えばレジスタ回路で構成される揮発性メモリ（ＲＡＭ）や書き換え可能な不揮発性メモリを有しており、前記電圧検出器１２２で検出した各リチウム電池セルＢＣ１〜ＢＣ４の各端子電圧を各リチウム電池セルＢＣ１〜ＢＣ４に対応づけて記憶する、さらにその他の検出値を予め定められたアドレスに読出し可能に保持する。
【００５４】
集積回路は、上記計測値や後述する異常判定回路１３１による診断結果を一次的に揮発性メモリＲＡＭに保管し、さらにその内容を書き換え可能な不揮発性メモリ、例えばＥＥＰＲＯＭに書き込み、これらのデータを保持する。上記書き換え可能な不揮発性メモリには、対応するグループのリチウム電池セルＢＣ１〜ＢＣ４の使用環境を表すデータ、および使用経過を表すパラメータに基づく履歴データが保存される。これらの保存方法については後述する。使用環境を表すデータとしては、例えば各リチウムセルの最大端子電圧や最小端子電圧、最大温度、使用時間、使用回数、などがある。履歴データとしては、前回運転終了時の各種データや上記パラメータに基づく各リチウムセルの端子電圧、充電状態ＳＯＣ、充電状態の偏差、などがある。前記ＩＣ制御回路１２３や揮発性メモリあるいは書き換え可能な不揮発性メモリは、通信回路１２７が接続され、この通信回路１２７を介しバッテリコントローラ２０に伝送される。
【００５５】
この集積回路３Ａは、命令やデータなどの信号を送受信するための通信回路１２７およびその入出力端子を備えている。例えば前記バッテリコントローラ２０から、前記入口側インタフェースＩＮＴ（Ｅ）のフォトカプラＰＨ１を介し、ＲＸ端子で通信コマンドを受信する。前記通信コマンドは通信回路１２７からＩＣ制御回路１２３に送られ、ここで通信コマンドの内容が解読され、通信コマンド内容に応じた処理が行われる。例えば前記通信コマンドとしては、各リチウム電池セルＢＣ１〜ＢＣ４の端子電圧の計測値を集積回路３Ａに要求する通信コマンド，各電池セルＢＣ１〜ＢＣ４の充電状態を調整するための放電動作を集積回路３Ａに指示する通信コマンド，集積回路３Ａの動作の開始を支持する通信コマンド（Wake Up），集積回路３Ａの動作の停止を指示する通信コマンド（スリープ），アドレス設定を集積回路３Ａに要求する通信コマンド、等を含んでいる。集積回路３Ａに更に上記揮発性メモリの記憶内容を報告させる命令や書き換え可能な不揮発性メモリの記憶内容を報告させる命令が含まれている。  
【００５６】
〔ＳＯＣの均一化動作〕
前記リチウム電池セルＢＣ１の正極端子は、抵抗Ｒ１を介して入力端子Ｂ１に接続され、この入力端子Ｂ１はバランシングスイッチ１２９Ａの動作状態検出回路１２８Ａの一方の端子に接続され、またこのスイッチ１２９Ａの動作状態検出回路１２８Ａの他方の入力端子は端子Ｖ２を介して電池セルＢＣ１の負極端子に接続されている。さらに、抵抗Ｒ１とバランシングスイッチ１２９Ａとの直列回路がリチウム電池セルＢＣ１の端子間に接続されている。このバランシングスイッチ１２９Ａは放電制御回路１３２によって開閉が制御される。同様に、リチウム電池セルＢＣ２の正極端子は、抵抗Ｒ２を介して入力端子Ｂ２に接続され、この入力端子Ｂ２はバランシングスイッチ１２９Ｂの動作状態検出回路１２８Ｂの一方の端子に接続されており、このスイッチの動作状態検出回路１２８Ｂの他方の端子は端子Ｖ３を介してリチウム電池セルＢＣ２の負極端子に接続されている。さらに、抵抗Ｒ２とバランシングスイッチ１２９Ｂとの直列回路がリチウム電池セルＢ２の端子間に接続されている。このバランシングスイッチ１２９Ｂは放電制御回路１３２によって開閉が制御される。同様にリチウム電池セルＢＣ３の正極端子は、抵抗Ｒ３を介して入力端子Ｂ３に接続され、この端子Ｂ３はバランシングスイッチ１２９Ｃの動作状態検出回路１２８Ｃの一方の端子に接続されており、このスイッチ１２９Ｃの動作状態検出回路１２８Ｃの他方の端子は端子Ｖ４を介してリチウム電池セルＢＣ３の負極端子に接続されている。抵抗Ｒ３とバランシングスイッチ１２９Ｃとの直列回路がリチウム電池セルＢＣ３の端子間に接続されている。このバランシングスイッチ１２９Ｃは放電制御回路１３２によって開閉制御される。リチウム電池セルＢＣ４の正極端子は、抵抗Ｒ４を介して入力端子Ｂ４に接続され、この入力端子Ｂ４はバランシングスイッチ１２９Ｄの動作状態検出回路１２８Ｄの一方の端子が接続されており、該スイッチの動作状態検出回路１２８Ｄの他方の端子は端子ＧＮＤを介してリチウム電池セルＢＣ４の負極端子に接続されている。前記抵抗Ｒ４とバランシングスイッチ１２９Ｄとの直列回路が電池セルＢＣ４の端子間に接続されている。このバランシングスイッチ１２９Ｄは前記放電制御回路１３２によって開閉が制御される。
【００５７】
前記バランシングスイッチ１２９Ａ〜１２９Ｄの動作状態検出回路１２８Ａ〜１２８Ｄは、それぞれ各バランシングスイッチ１２９Ａ〜１２９Ｄの両端電圧を所定周期で繰り返し検出し、各バランシングスイッチ１２９Ａ〜１２９Ｄが正常であるかどうかを検出する。前記バランシングスイッチ１２９Ａ〜１２９Ｄは電池セルＢＣ１〜電池セルＢＣ４の充電状態を調整するスイッチで、これらスイッチが異常の場合、各電池セルの充電状態を制御できなくなり、電池セルが過充電あるいは過放電になる恐れがある。
【００５８】
各バランシングスイッチ１２９Ａ〜１２９Ｄの異常検出は例えば、あるバランシングスイッチが導通している状態にも拘わらず、対応するバランシングスイッチの端子電圧が電池セルの端子電圧を示す場合である。この場合は、このバランシングスイッチが制御信号に基づく導通状態になっていないこととなる。一方あるバランシングスイッチの制御信号がこのバランシングスイッチを開放状態とするものであるにも拘わらず、対応するバランシングスイッチの端子電圧が電池セルの端子電圧に比べて低い値である場合、この場合は、このバランシングスイッチはこの制御信号に関係なく導通していることとなる。これらスイッチ１２９Ａ〜１２９Ｄの動作状態検出回路１２８Ａ〜１２８Ｄとしては、差動アンプ等で構成される電圧検出回路が用いられ、後述の異常判断回路１３１で上記判断を行う所定電圧と比較される。
【００５９】
バランシングスイッチ１２９Ａ〜１２９Ｄは、たとえばＭＯＳ型ＦＥＴで構成され、スイッチを閉状態とすることによって、それぞれ対応するリチウム電池セルＢＣ１〜ＢＣ４に蓄積された電力を放電させる。多数の電池セルが直列接続されている電池モジュール１０に対してインバータなどの電気負荷が接続され、これらの電気負荷に対する電流の供給は直列接続された多数の電池セルの全体で行われる。また電池モジュール１０が充電される、例えば回生状態では、電気負荷からの回生電流の供給は直列接続された多数の電池セルの全体に対して行われる。直列接続された多数の電池の電流の供給は多数の電池セルの内の最も放電状態にある、すなわちＳＯＣの最も低い電池セルの状態により制限される。一方、電気負荷から回生電流が供給される場合、多数の電池セルの内の最も充電されている、すなわちＳＯＣの最も高い電池セルによって前記電流の供給が制限される。このため直列接続された多数の電池セルの内、例えば平均状態を越えた充電状態にある電池セルに対して、この電池セルに接続されているバランシングスイッチ１２９を導通状態とし、直列接続されている抵抗を介して放電電流を流す。これにより直列接続された電池セルの充電状態が互いに同程度となる方向に制御されることとなる。また他の方法として、最も放電状態にある電池セルを基準セルとし、この基準セルとの差に基づき他の電池セルの放電を行う方法がある。他にも充電状態ＳＯＣを調整する色々の方法がある。各電池セルの充電状態は電池セルの端子電圧を基に演算で求めることができる。電池セルの充電状態とその電池セルの端子電圧とは相関関係が有るので、各電池セルの端子電圧を同程度とするようにバランシングスイッチ１２９の開閉を制御することで、電池セルの充電状態を同程度とすることができる。
【００６０】
バランシングスイッチ１２９Ａ〜１２９Ｄの動作状態検出回路１２８Ａ〜１２８Ｄによって検出される各ＦＥＴのソースとドレーン間の電圧は、電位変換回路１３０に出力される。各ＦＥＴのソースとドレーンの電位は集積回路３Ａの基準電位に対してそれぞれ異なっており、このままでは比較判断が難しいので、差動アンプ等で構成される電位変換回路１３０で電位差に変換し、次に異常判定回路１３１で異常判定する。電位変換回路１３０はまた診断すべきバランシングスイッチ１２９をＩＣ制御回路１２３からの制御信号に基づき選択する機能も有している。選択されたバランシングスイッチ１２９の電圧が異常判定回路１３１に送られ、異常判定回路１３１はＩＣ制御回路１２３からの制御信号に基づき、電位変換回路１３０からの信号である診断すべきバランシングスイッチ１２９の端子電圧を判定電圧と比較し、各バランシングスイッチ１２９Ａ１〜１２９Ｄが異常か否かを判定する。
【００６１】
図１のバッテリコントローラ２０から各集積回路３Ａ〜３Ｎに対して、対応するグループを構成するリチウム電池セルの内、放電が必要なリチウム電池セルおよびその放電に必要なの導通時間に関する情報が伝送路を介して送られてくる。各集積回路に送られてきたバッテリコントローラ２０からの指令に基づき、ＩＣ制御回路１２３は  放電制御回路１３２に対して、放電させるべき電池セルに対応したバランシングスイッチ１２９を導通させるための指令信号を送り、この指令信号に基づき放電制御回路１３２はＭＯＳ型ＦＥＴからなるバランシングスイッチ１２９Ａ〜１２９Ｄの導通を行うためのゲート電圧を加え、導通動作を実行する。
【００６２】
異常判定回路１３１において、バランシングスイッチ１２９Ａ〜１２９Ｄの異常が検出された場合、放電制御回路１３２からの信号によって、どのバランシングスイッチ１２９Ａ〜１２９Ｄに異常があるかを特定し、その情報が前記ＩＣ制御回路１２３に出力される。さらに検出された異常信号は集積回路内の揮発性メモリＲＡＭに保持される。上記ＩＣ制御回路１２３は、バランシングスイッチ１２９Ａ〜１２９Ｄの異常を通信回路１２７の１ビット送信端子ＦＦＯから出力し、次の集積回路の通信回路１２７へおくり、最終的に異常を表す１ビット情報はバッテリコントローラ２０に送られる。また、バッテリコントローラ２０の指令に基づき、ＩＣ制御回路１２３は、バランシングスイッチ１２９Ａ〜１２９Ｄの異常と、その異常であるバランシングスイッチを特定する情報を、通信回路１２７の送信端子ＴＸを介して前記バッテリコントローラ２０に送信する。バッテリコントローラ２０は受信した異常信号をバッテリコントローラ２０の内部の揮発性メモリＲＡＭに一次的に保持する。集積回路やバッテリコントローラ２０の揮発性メモリＲＡＭに保持された測定値や診断結果を示すデータは書き換え可能な不揮発性メモリ（ＥＥＰＲＯＭ）に保持される。この保持タイミングとして例えば、車のキースイッチＯＦＦ時が適切である。
【００６３】
〔通信手段・伝送路の説明〕
図３は、前記各集積回路３Ａ〜３Ｎ間の信号の送受信方法を示した説明図である。図３（ａ）は、集積回路３Ａの端子ＲＸが受信する信号３Ａ−ＲＸおよび集積回路３Ａの端子ＴＸから送信される信号３Ａ−ＴＸ、さらに次の集積回路３Ｂの端子ＲＸが受信する信号３Ｂ−ＲＸおよび次の集積回路３Ｂの端子ＴＸから送信される信号３Ｂ−ＴＸ、さらにまた次の集積回路３Ｃの端子ＲＸが受信する信号３Ｃ−ＲＸおよびその集積回路３Ｃの端子ＴＸから送信される信号３Ｃ−ＴＸを示している。信号３Ａ−ＴＸは集積回路３Ａ内の抵抗ＲＡと集積回路３Ｂ内の抵抗ＲＢとで分圧されて信号３Ｂ−ＲＸが形成され、信号３Ｂ−ＴＸは集積回路３Ｂ内の抵抗ＲＢ′と集積回路３Ｃ内の抵抗ＲＣで分圧されて信号３Ｃ−ＲＸが形成される。以下直列接続された通信路において集積回路の内部の各抵抗により分圧されて受信信号の電位が定まる。
【００６４】
図３（ｂ）は、信号３Ａ−ＲＸ，３Ａ−ＴＸ，３Ｂ−ＲＸ，３Ｂ−ＴＸ，３Ｃ−ＲＸ、および３Ｃ−ＴＸのそれぞれの電位レベルを示している。このように、電圧レベルの最上位のグループＧＢ１より下流側のグループに向けて、閾値の電圧は、電池セル４個分の加算電圧と電池セル２個分の加算電圧との中間の電圧に設定するようにしている。このようにした理由は、集積回路３Ｂが管理する電池セルの各電圧を基準に集積回路３Ａと同様な閾値で集積回路３ＡのＴＸ端子からの信号を判定しようとした場合、前記信号のＬｏｗレベルが集積回路３Ｂに掛かる総電圧の１／２となってしまう不都合を回避させるためである。なお上記信号レベルは高電位側から低電位側への送信を前提として説明したが、低電位側から高電位側への送信も同様に抵抗分割によるレベルシフトを行うことで可能となる。
【００６５】
〔診断および計測、（１）動作スケジュール概要〕
図１に示す各集積回路３Ａ〜３Ｎによるリチウム電池セル電圧の計測回路および動作について図４乃至図６を用いて説明する。図４は計測動作のタイミングを説明する図である。各集積回路３Ａ〜３Ｎは計測動作と共に診断動作を行う機能を有しており、図４に記載の動作タイミングで繰り返し計測を行い、この計測に同期して診断が実行される。図６は、図２に示す、各集積回路３Ａ〜３Ｎの選択回路１２０や電圧検出回路１２２および検出された電圧を保持する記憶回路１２５の詳細回路、さらに診断を行う詳細回路、さらに本発明による、重要な診断結果や計測結果を一次保管する揮発性メモリＲＡＭ１１０７や書き換え可能な不揮発性メモリ（ＥＥＰＲＯＭ）１１０６を示す。
【００６６】
なお、図１および図２は電池モジュール１０を構成する各グループが、４個のリチウム電池セルを有している実施例である。しかし、図４乃至図６に示す集積回路は６個の電池セルに対応できる回路となっている。従って図１および図２の実施の形態では電池モジュール１０を構成する各グループはそれぞれ４個のリチウム電池セルを備えているが、前記各グループを構成するリチウム電池セルの数を６個に増やすことが可能となり、同様の考え方で更に多くのリチウム電池セルに増やすことができる。上記各グループを何個のリチウム電池セルで構成するかは、全体のリチウム電池セルの数や計測および診断の処理速度などで決められる。
【００６７】
図４は計測動作のタイミングを説明する図である。上記計測動作のタイミングおよび測定周期、あるいは診断動作は、起動回路２５４と第１ステージカウンタ２５６および第２ステージカウンタ２５８からなるステージカウンタとにより管理される。上記ステージカウンタは通常のカウンタであっても良いし、シフトレジスタであっても良い。シフトレジスタの場合はその段数が、ステージの種類の数となり、この実施の形態では１０段となる。
【００６８】
起動回路２５４は、（１）伝送路から送られてくるWake Upを要求する通信コマンドを端子ＲＸで受信すると、あるいは（２）集積回路の電源電圧の供給が所定の電圧に達すると、（３）あるいは車のスタータスイッチ（キースイッチ）が投入されたことを表す信号を受信すると、前記第１と第２のステージカウンタへリセット信号を出力して各ステージカウンタ２５６と２５８を初期状態とし、次に所定の周波数でクロック信号を出力する動作を行う。従って上記（１）乃至（３）の条件の内の１つを満足すると各集積回路は計測動作および診断動作を実行する。一方伝送路１１２（図１参照）からＳｌｅｅｐを要求する通信コマンド２９２を受信するとあるいは通信コマンド２９２を所定時間以上受信出来ないと、起動回路２５４は前記ステージカウンタがリセット状態すなわち初期状態に戻ったタイミングで、クロックの出力を停止する。このクロックの出力停止によりステージの進行が停止されるので、上記計測動作および診断動作の実行は停止状態となる。
【００６９】
第１ステージカウンタ２５６は起動回路２５４からのクロック信号を受け、各ステージ内の処理タイミングを制御する計数値を出力し、デコーダ２５７でステージ内の処理タイミングを制御するタイミング信号ＳＴＧ１を発生する。第２ステージカウンタ２５８の計数値は、動作表２６０の行２６０Ｙ１に示すステージの種類に対応し、計数値が進むにつれて対応するステージが動作表２６０の行２６０Ｙ１の左から右に切り替る。各ステージを特定するステージ信号ＳＴＧ２がデコーダ２５９から出力される。最初はリセット状態、すなわち第１ステージカウンタ２５６と第２ステージカウンタ２５８が初期状態で、第２ステージカウンタ２５８はステージＳＴＧＣａｌを特定する計数値を有し、デコーダ２５９の出力であるステージ信号ＳＴＧ２はステージＳＴＧＣａｌを選定する信号となる。第１ステージカウンタ２５６の計数動作に基づいて、ステージ内の処理が行われ、次に第２ステージカウンタ２５８の計数が１つ進むと、第２ステージカウンタ２５８の計数内容は動作表２６０の行２６０Ｙ１の左から２列目のステージであるＳＴＧＣＶ１を示す値となり、デコーダ２５９の出力であるステージ信号ＳＴＧ２はＳＴＧＣＶ１を示す信号となる。このステージＳＴＧＣＶ１では電池セルＢＣ１の計測と診断が行われる。同様に第２ステージカウンタ２５８の計数が進むにつれて、動作表２６０の行２６０Ｙ１の欄に記載のステージが左から右に切り替る。ステージＳＴＧＣＶ１で電池セルＢＣ１の計測と診断が行われ、次のステージＳＴＧＣＶ２で電池セルＢ２の計測と診断が行われ、次のステージＳＴＧＣＶ３で電池セルＢ３の計測と診断が行われ、次のステージＳＴＧＣＶ４で電池セルＢＣ４の計測と診断が行われる。
【００７０】
図１〜３で示す実施例では、電池モジュール１０の各グループＧＢ１〜ＧＢＮは４個の電池セルで構成されるので、ステージＳＴＧＣＶ５とステージＳＴＧＣＶ６は使用されない、あるいはスキップされてステージＳＴＧＣＶ５とステージＳＴＧＣＶ６は存在しない。この動作の詳細は後述する。このため次のステージＳＴＧＣＶ４の次は集積回路内の電源回路１２１の出力を計測および診断するステージＳＴＧＶＤＤとなり、その次は温度センサの出力を計測および診断するステージＳＴＧＴＥＭとなる。さらにその次は集積回路内で使用される基準電圧を計測および診断するステージＳＴＧ基準電源となる。ステージＳＴＧ基準電源の次は第２ステージカウンタ２５８の計数値が初期状態に戻り、再びステージＳＴＧＣａｌに対応した値となるので、デコーダ２５９の出力信号ＳＴＧ２は再びステージＳＴＧＣａｌを特定する信号となる。このように第２ステージカウンタ２５８の計数動作に基づき、動作表２６０の行２６０Ｙ１の各ステージを左から右に実行し、これを繰り返す。なお、強制的に第２ステージカウンタ２５８の内容を特定の値とするとその値に対応したステージの処理を実行する。各ステージ内の処理内容は後で詳述する。
【００７１】
〔診断および計測、（２）電池セル数の切り換え〕
上述のとおり、集積回路が対応する各グループを構成するリチウム電池セル数が４個であるか６個であるかに応じ、診断動作および計測動作の実行内容が選択される。具体的な回路を図５に示す。起動回路２５４からのクロック信号に基づき第１ステージカウンタ２５６は計数動作を繰り返し、第１ステージカウンタ２５６が規定の計数値に達すると第２ステージカウンタ２５８の計数値が１つ進む。
【００７２】
図５は、第２ステージカウンタ２５８の構成例を示す。ここでは第２ステージカウンタ２５８は、１０個のレジスタから構成されている。最初状態ではシフト回路１のみが状態１、他のシフト回路２〜１０は状態ゼロであり、デコーダ２５９の出力ＳＴＧ２はステ―ジ信号ＳＴＧＣａｌを出力する。第１ステージカウンタ２５６の計数値が所定値に達すると次のシフト回路１に状態１がシフトし、シフト回路１およびシフト回路３〜１０は状態ゼロとなる。このようにして状態１が順にシフトシフト回路１〜４およびシフト回路６〜１０が状態ゼロとなると、デコーダ２５９はステージ信号ＳＴＧＣＶ４を出力する。
【００７３】
関連するグループを構成する電池セル数が６の場合はレジスタ２５８２に外部からの通信コマンド２９２で６がセットされる。一方関連するグループを構成する電池セル数が４の場合は通信コマンド２９２により電池セル数４がレジスタ２５８２にセットされる。レジスタ２５８２に電池セル数として６がセットされている場合は、シフト回路５が状態１となりデコーダ２５９からステージ信号ＳＴＧＣＶ４が出力された後、次にシフト回路６が状態１となりステージ信号ＳＴＧＣＶ５が出力され、更に次にシフト回路７が状態１となりステージ信号ＳＴＧＣＶ６が出力される。そしてシフト回路７が状態１となった後、シフト回路８が状態１となりステージ信号ＳＴＧＶＤＤがデコーダ２５９から出力される。レジスタ２５８２に電池セル数４がセットされている場合、ロジック回路２５８４とロジック回路２５８６との動作に基づき、シフト回路６とシフト回路７がスキップされ、シフト回路５が状態１となった後、シフト回路８が状態１となる。この結果シフト回路６とシフト回路７に対応するステージ信号ＳＴＧＣＶ５とステージ信号ＳＴＧＣＶ６がデコーダ２５９から出力されず、ステージ信号ＳＴＧＣＶ４の後、ステージ信号ＳＴＧＶＤＤがデコーダ２５９から出力される。
【００７４】
〔〔診断および計測、（３）各電池セルの端子電圧の計測と各電池セルの診断〕
図４で動作表２６０の行２６０Ｙ１に記載の各ステージでの計測および診断の内容を次に説明する。計測および診断は大きく２種類に分けられ、その内の一つはセンサとしての計測と計測対象が異常状態になっていないかどうかの診断であり、行２６０Ｙ２にその計測スケジュールを記載する。前記２種類の内の他の一つは集積回路を含む制御装置、すなわち図２に記載の計測系あるいはこの計測系に伴い診断回路自身の診断であり、電池セルの放電制御系の自己診断も含まれる。
【００７５】
計測動作は時間経過に従い２つの部分に分けられ、計測対象の診断は前半の部分，ＲＥＳと記載した部分で、自己診断は前半のＲＥＳと記載した部分であり、後半部分の計測と記載した部分では計測と計測結果に伴う各電池セルの診断を行う。各ステージの前半部分ＲＥＳでは自己診断を行うだけでなく、計測のために使用するアナログデジタル変換器１２２Ａの初期化を行う。本実施例ではノイズの影響を少なくするためにコンデンサを使用した積分型のアナログデジタル変換器１２２Ａを使用する、前の動作時に前記コンデンサに蓄えられた電荷の放電などもこの前半部分ＲＥＳのタイミングで実施する。行２６０Ｙ２の各ステージの後半部分「計測」では、前記アナログデジタル変換器１２２Ａを使用した計測の実行や計測された値に基づく被測定対象の診断を行う。
【００７６】
ステージＳＴＧＣａｌでは行２６０Ｙ３〜行２６０Ｙ９に示す自己診断を主に行い、ステージ前半のＲＥＳモードでは、行２６０Ｙ６に記載するマルチプレクサである選択回路１２０自身の診断，行２６０Ｙ７に記載する選択回路１２０などの切り替え動作を行う切り替え回路の診断、更に行２６０Ｙ９に記載する項目である、集積回路内部のデジタル比較動作を行う部分の選択信号の診断（図６の現在値記憶回路２７４や基準値記憶回路２７８の選択信号）などの診断を行う。ステージＳＴＧＣａｌの後半「計測」では、行２６０Ｙ３に記載する項目である、電池セルの充電状態の調整のためのバランシングスイッチ１２９の端子電圧の計測と前記バランシングスイッチ１２９の診断を行い、さらに合わせて行２６０Ｙ５に記載する項目である、集積回路内部のデジタル比較回路の診断を行う。行２６０Ｙ７に記載する診断項目と行２６０Ｙ９に記載する項目は全てのステージの前半および後半のいずれにおいても診断を行う。ただし、この診断実施周期は一例であり、毎回診断するのではなく、もって長い間隔で行っても良い。行２６０Ｙ８に記載する診断では、各電池セルがオーバーチャージ（過放電）の状態になった場合にそれを検知するための閾値を発生する回路が正常かどうかを診断する。仮に閾値を発生する回路が異常になると正しい過放電診断を行えなくなる。
【００７７】
ステージＳＴＧＣＶ１からステージＳＴＧＣＶ６は順に電池セルの端子電圧を計測し、さらに計測された値から各電池セルが過充電や過放電の状態にならないかを診断するステージである。実際に過充電や過放電の状態になると電池システムの故障の原因となるので、過充電や過放電の診断は安全性の幅を取って設定している。図１や図２に示すような、グループの電池セルが４個の場合は、図５で説明したように、ステージＳＴＧＣＶ５とステージＳＴＧＣＶ６はスキップされる。ステージＳＴＧＶＤＤでは電源回路１２１の出力電圧が計測され、ステージＳＴＧＴＥＭでは温度計の出力電圧が測定される。ステージＳＴＧＴＥＭでは、行２６０Ｙ４に記載する診断項目である集積回路内部のアナログ回路およびアナログデジタル変換器，基準電圧発生回路が総合的に正常化どうかが診断される。前記基準電圧発生回路から出力される電圧は既知の電圧値であり、その電圧値の計測結果が所定に範囲に入っていない場合には上記回路のいずれかが異常と判断でき、制御を正しく実行できるかどうかが診断できる。
【００７８】
〔診断および計測、（４）計測回路と診断回路〕
図６は各集積回路３Ａ〜３Ｎの内部の計測回路および診断回路、記憶回路を示す。集積回路３Ａによる電池モジュール１０のグループＧＢ１の各電池セルの端子電圧の計測動作を説明する。図４に記載のステージ信号ＳＴＧＣＶ１で選択回路１２０は端子Ｖ１と端子Ｖ２を選択し、この選択により図１と図２に記載の電池セルＢＣ１の端子電圧が選択回路１２０から電圧検出回路１２２に出力される。電圧検出回路１２２は差動増幅器２６２とアナログデジタル変換器１２２Ａとを有している。差動増幅器２６２は演算増幅器１２２ＯＰと抵抗１２２Ｒ１〜抵抗１２２Ｒ４で構成されている。差動増幅器２６２はそれぞれ異なる電位を調整する機能、すなわちレベルシフトの機能を有し、各入力端子のベース電位関わりなく、選択された２つの入力端子間の電圧差に基づくアナログ出力を発生する。その結果、直列接続されたリチウム電池セル間の基準電位の違いに対する電位差の影響が取り除かれ、リチウム電池セルＢＣ１の端子電圧に基づくアナログ出力が得られる。
【００７９】
アナログデジタル変換器１２２Ａにより前記差動増幅器２６２の出力がデジタル変換され、平均化回路２６４に出力される。平均化回路により所定回数の測定結果の平均値が求められその平均値がリチウム電池セルＢＣ１の場合には現在値記憶回路２７４のＢＣ１に保持される。平均値回路２６４は平均化制御回路に保持された測定回数の平均値を演算しその出力を上述の現在値記憶回路２７４に保持する。平均化制御回路に１を指令すれば、アナログデジタル変換器１２２Ａの出力は平均化されないでそのまま現在値記憶回路２７４のＢＣ１に保持される。平均化制御回路に４を指令すれば、電池セルＢＣ１の端子電圧の４回の計測結果が平均化されて上記現在値記憶回路２７４のＢＣ１に保持される。４回の平均を演算するには最所は図４のステージによる計測を４回行うことが必要となるが、４回目以降は最新の測定結果の中から４個の測定値を演算に使用することで、各測定毎に平均化回路２６４の平均化演算が可能となる。
【００８０】
上述のとおり、所定回数により測定結果を平均化することで、ノイズの悪影響を除去できる。図１に示すバッテリモジュール９の直流電力はインバータ装置に供給され、交流電力に変換される。インバータ装置による直流電力から交流電力への変換の際に電流の導通や遮断動作が高速に行われる。この電流の導通あるいは遮断動作により大きなノイズが発生する。平均化回路ではそのようなノイズの悪影響を少なくできる効果がある。
【００８１】
デジタル変換された電池セルＢＣ１の端子電圧のデジタル値は現在値記憶回路２７４のレジスタＢＣ１に保持される。上記計測動作が図４のステージＳＴＧＣＶ１の計測として示す時間内で行われる。さらに前記ステージＳＴＧＣＶ１の計測として示す時間内で続けて診断動作が行われる。診断動作としては過充電診断と過放電診断である。先ず電池セルＢＣ１の端子電圧のデジタル値は現在値記憶回路２７４のレジスタＢＣ１に保持され、次にステージ信号ステージＳＴＧＣＶ１とＳＴＧ１とに基づいてデジタルマルチプレクサ２７２が現在値記憶回路２７４のレジスタＢＣ１から電池セルＢＣ１の端子電圧を読み出しデジタル比較器２７０に送る。さらにデジタルマルチプレクサ２７６が基準値記憶回路２７８から過充電の判断基準値ＯＣを読み出しデジタル比較器２７０へ送る。
【００８２】
前記デジタル比較器２７０は前記レジスタＢＣ１からの電池セルＢＣ１の端子電圧と過充電の判断基準値ＯＣとを比較し、もし電池セルＢＣ１の端子電圧が過充電の判断基準値ＯＣより大きい場合には、フラグ記憶回路２８４に異常を表すフラグ診断ｆｌａｇをセットする。またＯＣｆｌａｇもセットする。実際には過充電状態が生じないように制御しており、このような状態はほとんど生じない。しかし、もし生じると非常に危険であり、診断を繰り返し実行する。
【００８３】
過充電診断で異常が出るとフラグ記憶回路２８４にセットされた異常フラグは次に揮発性メモリＲＡＭに送られ異常回数が加算される。またフラグ記憶回路２８４の値は過去の履歴として診断結果の項目に保持され、特に電池セルに異常についてはバッテリ情報の欄に保持される。
【００８４】
過充電診断に続いて、さらに過放電の診断を行う。デジタルマルチプレクサ２７２が現在値記憶回路２７４のレジスタＢＣ１から電池セルＢＣ１の端子電圧を読み出しデジタル比較器２７０に送る。またデジタルマルチプレクサ２７６が基準値記憶回路２７８から過放電の判断基準値ＯＤを読み出しデジタル比較器２７０へ送る。前記デジタル比較器２７０は前記レジスタＢＣ１からの電池セルＢＣ１の端子電圧と過放電の判断基準値ＯＤとを比較し、もし電池セルＢＣ１の端子電圧が過放電の判断基準値ＯＤより小さい場合には、フラグ記憶回路２８４に異常を表すフラグ〔診断ｆｌａｇ〕をセットする。また〔ＯＤｆｌａｇ〕もセットする。上述の過放電の場合と同様、実際には過放電状態が生じないように制御しており、このような過放電の状態はほとんど生じない。しかし、もし生じると電池システムの故障の原因となるため、診断を繰り返し実行する。
【００８５】
診断結果はフラグ記憶回路２８４に保持するだけでなく、揮発性メモリ１１０７の履歴データの項目の診断結果の項目に履歴データとして保持される。揮発性メモリ１１０７の該履歴データには、異常が発生したときのリチウム電池セルの諸条件が保持される。更に異常発生回数の過去の値に今回の回数１が加算されてその数値が保持される。
【００８６】
上記説明は図４のステージＳＴＧＣＶ１での電池セルＢＣ１に関する計測と診断である。同様に次のステージＳＴＧＣＶ２では図６の選択回路１２０は電池セルＢＣ２の端子電圧を選択して電圧検出回路１２２へ出力する。電圧検出回路１２２はデジタル変換し、平均化回路２６４で平均値を演算し、現在値記憶回路２７４のレジスタＢＣ２に保持する。デジタルマルチプレクサ２７２によってレジスタＢＣ２から読み出された電池セルＢＣ２の端子電圧を上記過充電の判断基準値ＯＣと比較し、次に前記電池セルＢＣ２の端子電圧を過放電の判断基準値ＯＤと比較する。上記過充電の判断基準値ＯＣとの比較や過放電の判断基準値ＯＤとの比較で異常状態の判断を行う。もし異常状態であればフラグ記憶回路２８４に異常を表すフラグ〔診断ｆｌａｇ〕をセットし、異常の原因である〔ＯＣｆｌａｇ〕あるいは〔ＯＤｆｌａｇ〕をセットする。
【００８７】
以下同様に図４のステージＳＴＧＣＶ３で電池セルＢＣ３の端子電圧の計測と過充電や過放電の診断を行い。ステージＳＴＧＣＶ４で電池セルＢＣ４の端子電圧の計測と過充電や過放電の診断を行う。診断履歴および診断結果は、さらに、揮発性メモリ１１０７に保持される。
【００８８】
〔診断および計測、（５）電池セル端子電圧の計測と初期データの保持〕
図１に示す電池システムでは、車両が運転停止しており、運転者が運転を開始する前は、電池モジュール１０からインバータ装置への電流供給が行われていない。各リチウム電池セルの充放電電流が流れていない状態で計測された各電池セルの端子電圧を使用すると、各電池セルの充電状態（ＳＯＣ）が正確に求められるので、前記実施例では、車両のキースイッチの操作やバッテリコントローラ２０からのWake Upなどの通信コマンド２９２に基づき、集積回路は自動的に計測動作を開始する。
【００８９】
図６で説明した計測動作が各集積回路において計測と電池セルの診断動作が開始され、平均化制御回路２６３に保持された回数の測定が行われると、平均化回路２６４で測定値の平均化を求める演算が行われる。その演算結果は先ず現在値記憶回路２７４に保持される。各集積回路はそれぞれ独立してその集積回路が関係しているグループの電池セル全てに対して測定計測および計測結果の平均値の演算を行い、それぞれの集積回路の現在値記憶回路２７４のレジスタＢＣ１〜レジスタＢＣ６に保持する。
【００９０】
揮発性メモリ１１０７には以下に示す情報（１）〜情報（５）が記憶される。情報（１）は電圧計ＳＶのゲインや電圧計ＳＶの誤差である電圧オフセット、あるいは電流計ＳＡのゲインや電流計ＳＡの誤差である電流オフセット、あるいはアナログデジタル変換機の補正データである。情報（１）は、各集積回路３Ａ〜３Ｎの計測精度を向上するために使用する補正データである。情報（２）はリチウム電池セルおよび集積回路自身の診断結果、情報は項目別の診断回数と項目別の異常件数、あるいは後述するリチウム電池セルＢＣ１〜ＢＣ４の充電率のばらつきなどの情報である。すなわちリチウム電池モジュールあるいはリチウム電池セルの履歴データである。情報（３）はリチウム電池の使用環境に関する情報である。情報（４）は対象製品の情報、例えば搭載される車の情報である。情報（５）はセキュリティ情報で、記憶されているデータを第３者から保護する情報である。
【００９１】
上記情報（１）〜（５）は各集積回路に保持されなくても、バッテリコントローラ２０が保持していれば良い情報であるが、何らかの理由でバッテリコントローラ２０が取り外された場合またはバッテリコントローラ２０に異常が発生した場合のために、本実施の形態では、バッテリコントローラ２０だけでなく、各集積回路にも保持されている。
【００９２】
各集積回路３Ａ〜３Ｎが書き換え可能な不揮発性メモリ１１０６を有し、それぞれの集積回路特有の補正に関する情報（１）を保持することで、例えば電圧検出回路１２２に関する補正値を保持することで、検出精度や診断精度を向上できる。特にリチウム電池セルの場合に温度の影響で電気的な特性がいろいろ変化し、診断精度の向上に対する障害となる。電圧検出回路１２２の補正だけでなく、検出および診断対象の特性変化を補正できれば、検出精度や診断精度の向上につながる。情報（２）については後述する。
【００９３】
情報（３）はリチウム電池セルの使用環境を知るための情報であり、ある基準を超える状態での使用がどれくらいあったか、また最大端子電圧や最小端子電圧も保持される。その他に最大負荷電流や最大充電電流も保持される。この最大負荷電流や最大充電電流は集積回路では検知できない値であり、この値はバッテリコントローラ２０から送られてくる。一方各電池セル毎の最大端子電圧や最低端子電圧は集積回路で検知され、その結果が集積回路で保持されると共に、バッテリコントローラ２０に送られ、バッテリコントローラ２０でも保持される。更に電池モジュール１０の温度も履歴として記憶される。
【００９４】
情報（４）の対象製品の情報は、例えば搭載される車両の型式やバージョン情報、更に使用される仕向け地の情報であり、この情報を読み出すことにより、この電池システムの搭載される車両が明らかとなり、メンテナンスなどでの搭載誤りを防止できる。この情報はバッテリコントローラ２０にとって常用であり、各集積回路ではそれほど重要な情報ではないが、バッテリコントローラ２０のバックアップとして記憶されている。情報（５）のセキュリティ情報は記憶している情報の読み出しや書き込み時に使用される。メンテナンス時などで、セキュリティ情報を設けることで、誤って他の情報が書き込まれるなどを防止できる。
【００９５】
本実施の形態では、バッテリコントローラ２０にも略同様の情報が保持されるが、異なる情報を保持するようにしても良い。また電池セルを制御する集積回路には情報の保持機能を持たせないで、バッテリコントローラ２０のみがデータを保持するようにしても良い。電池セルを制御する集積回路とバッテリコントローラ２０とに記憶内容をそれぞれに関係する情報に分けて、保持しても良いことは当然である。特に電池セルを制御する集積回路については対応するそれぞれのグループについての測定結果や診断結果に特化しても良い。このようにすれば電池モジュール１０を構成している各電池セルのそれぞれについて、過去の使用状態を履歴として保持でき、上記の履歴を分析等に使用できる。
【００９６】
〔車両用電源システム〕
図７は、図１に記載の電池システムをハイブリッド自動車や電気自動車などの走行用回転電気の直流電源として使用した、車両用回転電機の電源システム１の回路図であり、モータ２３０は車両の走行に使用する回転電機である。図１で説明した電池モジュール１０を、図７に示す電源システム１では、高電位側電池モジュール１０Ａと低電位側電池モジュール１０Ｂの２組使用しており、それぞれ直列接続されたリチウム電池セルで構成されている。高電位側電池モジュール１０Ａと低電位側電池モジュール１０Ｂとは遮断スイッチ６を介して直列接続されている。遮断スイッチ６は保守や点検時に安全のために設けられたサービスディスコネクトスイッチ（以下ＳＤスイッチと記す）で、電源システム１の外側を覆う金属ケースを開く前にＳＤスイッチ６が開放され、ＳＤスイッチ６が開放されることでこの金属ケースを開くことができる構造となっている。
【００９７】
高電位側電池モジュール１０Ａの正極端子は正極強電ケーブル８１とリレーＲＬＰとを介してインバータ装置２２０の正極端子に接続されている。また低電位側電池モジュール１０Ｂの負極端子は負極強電ケーブル８２とリレーＲＬＮとを介してインバータ装置２２０の負極端子に接続されている。前記高電位側電池モジュール１０Ａと前記低電位側電池モジュール１０ＢはＳＤスイッチ６を介して直列接続され、例えば公称電圧３４０Ｖ，容量５.５Ａｈの強電バッテリ（２つの電池モジュール１０が直列接続された電源システム１のバッテリ）を構成している。なお、ＳＤスイッチ６には機械的な断路機だけでなくヒューズが設けられており、例えば、定格電流が１２５Ａ程度である。このように保守点検作業時に必ずＳＤスイッチ６が開放されるので、仮に正極強電ケーブル８１や負極強電ケーブル８２の一方にのみ作業者の体が触れても閉回路が形成されないため感電を防止できる、などの理由で、高い安全性を維持できる。
【００９８】
前述のとおり、低電位側電池モジュール１０Ｂの負極端子とインバータ装置２２０との間にリレーＲＬＮが設けられ、また高電位側電池モジュール１０Ａの正極端子とインバータ装置２２０の正極端子との間に、電流計ＳＡとして作用する２つの電流計ＳＡ１とＳＡ２とリレーＲＬＰとが設けられている。さらに前記リレーＲＬＰと並列に、抵抗ＲＰＲＥとプリチャージリレーＲＬＰＲＥとの直列回路が接続されている。前記電流計ＳＡ１は前記高電位側電池モジュール１０Ａの正極端子と前記正極側メインリレーＲＬＰとの間に設けられ、前記電流計ＳＡ２は前記正極側メインリレーＲＬＰと前記インバータ装置２２０との間に設けられて、電流計ＳＡ１と電流計ＳＡ２との出力線はバッテリコントローラ２０に導かれ、リチウム電池システムから供給される電流量を、前記電流計ＳＡ１とＳＡ２とでモニタできるようになっている。
【００９９】
システムが正常な場合には、電流計ＳＡ１と電流計ＳＡ２との値は同じ値のはずである。しかし漏電などの異常が発生すると、前記電流計ＳＡ１と前記電流計ＳＡ２との値は異なってくる。従ってこの構成は漏電などの異常の発生を検知できる。また、前記リレーＲＬＰやリレーＲＬＮが正常に動作していれば、前記リレーＲＬＰやリレーＲＬＮの導通や遮断に応じて、電流計ＳＡ１とＳＡ２との出力は何れも変化するはずであり、これらリレー動作と電流計ＳＡ１とＳＡ２の測定値をモニタすることで、リレーの動作や電流計の計測機能を診断できる。
【０１００】
電源システム１から出力される電流値の測定精度を向上するために、電流計ＳＡ１とＳＡ２の有する誤差が出荷前に予め測定され、出荷前に誤差の補正値が記憶されている。バッテリコントローラ２０が有する書き換え可能な不揮発性メモリ１１１６には図８に示すデータが記憶されており、この記憶データのＫＤ１ファイルのデータＤ５が電流計ＳＡ１とＳＡ２のゲイン情報やオフセット情報である。また図８に示す記憶内容は電源システム１の運転開始時にそのまま揮発性メモリ１１１７に読み込まれ、揮発性メモリ１１１７に同様のデータが保持される。
【０１０１】
電流計ＳＡ１とＳＡ２の出力はバッテリコントローラ２０に取り込まれ、バッテリコントローラ２０の揮発性メモリＲＡＭに保持された電流計のゲイン情報やオフセット情報に基づいて補正され、計測された電流値の精度の向上が図られ、この値が用いられて、端子電圧に基づき、高電位側電池モジュール１０Ａや低電位側電池モジュール１０Ｂが出力している電力あるいは充電される電力が演算される。これらの計算結果はバッテリ情報としてバッテリコントローラ２０の揮発性メモリ（ＲＯＭ）１１１７に書き込まれ、その後書き換え可能な不揮発性メモリ（ＥＥＰＲＯＭ）１１１６に保存される。
【０１０２】
上記演算結果の内、予め定めた基準を超える値や最も高い価はさらに項目を別して記憶される。電流計ＳＡ１とＳＡ２とにより計測された電流は積算され、図８のファイルＫＤ２のデータＤ１１やファイルＫＤ３のデータＤ３５の記憶領域に保持される。
【０１０３】
さらに上記電流値を使用しさらに各リチウム電池セルの端子電圧から、高電位側電池モジュール１０Ａや低電位側電池モジュール１０Ｂを構成している各電池セルの出力電力あるいは充電電力が計算される。上記計算された演算された結果は、電池セルに対応する各集積回路の揮発性メモリ１１０７や書き換え可能な不揮発性メモリ１１０７（図６参照）、あるいはバッテリコントローラ２０の揮発性メモリ１１１７や書き換え可能な不揮発性メモリ１１１６（図７参照）に保持される。
【０１０４】
インバータ制御回路２２２は運転開始時に、外部コントローラ１１１からのモータ制御指令を受け、モータ２３０の駆動開始のため、負極側のリレーＲＬＮを開状態から閉状態とし、その後にプリチャージリレーＲＬＰＲＥを開状態から閉状態とし、平滑キャパシタ２２８を充電し、その後に正極側のリレーＲＬＰを開状態から閉状態として電源システム１のリチウム電池システムからインバータ装置２２０への電力の供給を開始する。
【０１０５】
インバータ装置２２０は、パワーモジュール２２６が発生する交流電力の位相を、モータ２３０の回転子の磁極位置に対し、進み位相あるいは遅れ位相に制御することにより、モータ２３０を、回転トルクを発生するモータとして、あるいは交流電力を発生するジェネレータとして動作させる。ハイブリッド車や電気自動車の青銅運転時にはモータ２３０をジェネレータとして動作させる回生制動運転を行い、車両の運動エネルギーを電力に変換する。ブレーキ操作が為されたとき、モータ２３０をジェネレータとして運転することにより、車には性動力が発生し、モータ２３０により発電された電力はリチウム電池システムの電池モジュール１０Ａと１０Ｂに戻され、これら電池モジュール１０Ａと１０Ｂを充電する。また、電池モジュール１０Ａと１０Ｂの充電状態ＳＯＣが基準状態より低下した場合、充電状態ＳＯＣの値が外部コントローラ１１１に送られ、外部コントローラ１１１からインバータ制御回路２２２に運転指令が送られ、インバータ装置２２０はモータ２３０をできるだけジェネレータとして運転するようにパワーモジュール２２６を制御する。この制御により上記モータ２３０は、エンジンで発生した運動エネルギーを交流電力に変換し、パワーモジュール２２６により交流電力は直流電力に変換され、電池モジュール１０Ａと１０Ｂを充電する。
【０１０６】
〔車両用電源システム１における検出，診断，記憶動作について〕
図９は、リチウム電池システムの動作フローを示す図である。以下、手順に従って説明する。なお、図の左から右に時間の経過を示している。また図９の上側がバッテリコントローラ２０の動作，下側が集積回路３Ａ〜３Ｎの動作を示す。
【０１０７】
ステップ８０２で、運転停止状態にある車両のキースイッチが操作されると車両が始動され、ステップ８０６に遷移し、バッテリコントローラ（図でＢＣと記す）２０が起動される。このステップ８０６では、必要な初期化などの動作を行うと共に図１に示すバッテリコントローラ２０の端子ＴＸからコマンド情報を送信し、伝送路５２（図１参照）を通り、端子ＲＸで受信する伝送路を介してＣＡＮ通信を開始する。また各集積回路３Ａ〜３Ｎは異常診断結果を伝送する伝送路５４を備えている（図１参照）。
【０１０８】
バッテリコントローラ２０は、図１に示す端子ＦＦＴＥＳＴから擬似異常信号を送信し、伝送路５４を介して再びバッテリコントローラ２０の端子ＦＦで受信する異常信号の伝送路の通信を開始し、伝送路５２と５４が正常かどうかを確認する。バッテリコントローラ２０はＷａｋｅ  Ｕｐコマンド情報を各集積回路３Ａ〜３Ｎに送信し、このＣＡＮ通信に基づき各集積回路３Ａ〜３ＮはＳｌｅｅｐ状態からＷａｋｅ  Ｕｐ状態に動作モードが遷移する（図９のステップ８８２に示す）。
【０１０９】
次のステップ８１０で、書き換え可能な不揮発性メモリ１１１６に保持されていた図８に示すデータを読み出し、揮発性メモリＲＡＭ１１１７へ移す。書き換え可能な不揮発性メモリ１１１６はデータの読み出しや書き込み速度が遅いとの理由、および書き込み回数が増加すると信頼性が低下する傾向があるとの理由で、保持されていた図８に示すデータを書き換え可能な不揮発性メモリ１１１６から揮発性メモリ１１１７に移して保持する。移されたデータは電源システムの運転中に、演算などの処理に利用され、また更新される。この動作は、各集積回路３Ａ〜３Ｎに設けた書き換え可能な不揮発性メモリ１１０６や揮発性メモリＲＡＭ１１０７についても同じであり、ステップ８８４で、各集積回路３Ａ〜３Ｎの書き換え可能な不揮発性メモリ１１０６の記憶情報は揮発性メモリ１１０７へ移される。
【０１１０】
ステップ８１４で、図１に示す電圧計ＳＶで計測された電圧値や図１あるいは図７に示す電流計ＳＡ１やＳＡ２で計測された電流値は、バッテリコントローラ２０によって補正され、電源システムから供給する電力の電圧値や電流値の正確な値が求められる。なお、図７で高電位側電池モジュール１０Ａだけでなく低電位側電池モジュール１０Ｂの端子電圧も検出されるが、低電位側電池モジュール１０Ｂの端子電圧を検出する電圧計は基本的に図１に示す電圧計ＳＶと同じであり、図示を省略する。
【０１１１】
ステップ８１４で検出された電圧および電流は、次のステップ８１０で書き換え可能な不揮発性メモリから揮発性メモリＲＡＭに移された保持データの内の図８に示すファイルＫＤ１の電圧計のゲインやオフセットを示すデータＤ３あるいは電流計のゲインやオフセットを示すデータＤ５の情報に基づいて、修正され、計測値の精度が高められる。
電流計ＳＡ１およびＳＡ２や電圧計ＶＤの出力は、温度に依存する僅かな非線形を持つ。さらに回路特性のばらつきなどによりオフセット特性が異なる。このように電圧計または電流計に使用するセンサ特有の特性に基づく補正データを、バッテリコントローラ２０の書き換え可能な不揮発性メモリ１１１６に記憶しており、このデータが揮発性メモリ１１１７に移され、計測の精度を向上するための補正に使用される。
【０１１２】
図８に示す保存データは、図６に記載の各集積回路３Ａ〜３Ｎの書き換え可能な不揮発性メモリ１１０６に保持されているデータ、あるいはバッテリコントローラ２０の書き換え可能な不揮発性メモリ１１１６に保持されるデータを示す。各集積回路３Ａ〜３Ｎの書き換え可能な不揮発性メモリ１１０６に保持されるデータは、バッテリコントローラ２０の書き換え可能な不揮発性メモリ１１１６に保持されているデータと基本的に同じであるが、電圧計のゲインやオフセットの代わりに、各集積回路に内蔵された作動増幅器２６２で示す増幅器のばらつき補正や、アナログデジタル変換器１２２Ａのオフセット値としても良い。
【０１１３】
このように各集積回路の計測や診断に使用するデータを各集積回路の書き換え可能な不揮発性メモリに保持することで、更に計測精度や診断精度を向上することができる。また、上述したように計測および診断の対象であるリチウム電池セルは、温度や電流値に依存して種々の特性が他の電池よりも大きく変化する。従って計測および診断の対象であるリチウム電池セルの特性に基づいて計測や診断の精度向上のための補正に使用する情報を書き換え可能な不揮発性メモリ１１１６に保持し、運転中にこれら情報を使用して補正することにより、計測や診断の精度をより向上させることが可能となる。
【０１１４】
ステップ８８４で、図６に示す書き換え可能な不揮発性メモリ１１０６のデータが揮発性メモリ１１０７に保持される。さらにステップ８８４で、各集積回路３Ａ〜３Ｎはそれぞれ対応するグループの電池セルの計測および過充電や過放電その他所定の項目の診断を行い、異常があれば各集積回路３Ａ〜３Ｎからバッテリコントローラ２０に伝送路５４を介して報告する。このとき各集積回路３Ａ〜３Ｎは対象の電池セルの診断だけでなく、各集積回路３Ａ〜３Ｎ内部の主要回路の自己診断を行い、異常を検出した場合には異常の発生を示す信号を伝送路５４を介して報告する。ステップ８１８で、各集積回路３Ａ〜３Ｎからの診断結果の報告を伝送路５４を介して受け、異常がないことを確認し、ステップ８２２で図７のリレーＲＬＰＲＥやリレーＲＬＰおよびＲＬＮを閉じ、電源システムは電力供給状態となる。
【０１１５】
その後ステップ８３２で、バッテリコントローラ２０は電池セルの端子電圧の測定結果に基づき、各集積回路３Ａ〜３Ｎを構成するすべての電池セルの充電状態ＳＯＣを演算し、各電池セルの充電状態ＳＯＣを均一化するための、図２に示す放電時間や、充電状態ＳＯＣのバラつき状態の演算、各電池セルの充電状態ＳＯＣの偏差の演算を行う。さらに図８に示すファイルＫＤ２の履歴データＤ１５，Ｄ１７，Ｄ１９あるいは履歴データＤ１６，Ｄ１８，Ｄ２０に基づき、各電池セルの劣化度を判定する。一方各集積回路３Ａ〜３Ｎはステップ８８６で、所定の周期で、電池セルの端子電圧の計測や診断を行いまた集積回路自身の内部回路の診断を行い、通信回線を介してデータの送受信が行われる。
【０１１６】
なお、バッテリコントローラ２０や集積回路３Ａ〜３Ｎの周期的な計測や診断においてバッテリが使用されている温度や出力電力，充電電力，基準値を超えた回数，最大値など図８に記載のファイルＫＤ３の使用環境を表すデータが順次更新され、揮発性メモリＲＡＭに保持される。この処理は運転中の所定周期ごとに実行される通常処理として示したステップ８３２やステップ８８６で繰り返し実行される。
【０１１７】
次に車両の運転が終了し、キースイッチが遮断されると、ステップ８４６でバッテリコントローラ２０は集積回路３Ａ〜３Ｎに処理終了および揮発性メモリ１１０７のデータの書き込み可能な不揮発性メモリ１１０６への書き込み指示を出す。さらにステップ８４８で図７に示すリレーＲＬＰおよびＲＬＮを遮断する。
【０１１８】
ステップ８５２で電池モジュール１０の電気負荷がなくなった状態すなわち供給電流および充電電流がゼロの状態の電圧計ＡＶの出力を取り込む。漏電などが無い正常な場合は、無付加状態の端子電圧が検出できる。この値は先ずバッテリコントローラ２０の揮発性メモリ１１１７に保持される。
【０１１９】
ステップ８８８で各集積回路３Ａ〜３Ｎはそれぞれ終了モードの動作に入り、各集積回路３Ａ〜３Ｎは対応するリチウム電池セルＢＣ１〜ＢＣ４の無負荷状態の端子電圧をステップ８９２で検出する。この検出値である無負荷状態の端子電圧は各集積回路３Ａ〜３Ｎが有する揮発性メモリ１１０６に保持される。
【０１２０】
通常制御で行われるステップ８８６によるデータの更新やステップ８９２による測定結果は各集積回路３Ａ〜３Ｎの揮発性メモリ１１０７に保持されており、ステップ８９４で揮発性メモリ１１０７に保持されていたデータがバッテリコントローラ２０に送信され、バッテリコントローラ２０はステップ８５６でこれらを先ず揮発性メモリ１１１７に記憶する。これらデータはステップ８６０で書き換え可能な不揮発性メモリ１１１６に書き込まれる。
【０１２１】
ステップ８９４で各集積回路３Ａ〜３Ｎは揮発性メモリ１１０７のデータを書き換え可能な不揮発性メモリ１１０６に書き込み，データを保持する。
【０１２２】
バッテリコントローラ２０はステップ８６０のあと、ステップ８６４で各集積回路３Ａ〜３Ｎをスリープ状態とする命令を出し、その後自分の電源を遮断する。
【０１２３】
各集積回路３Ａ〜３Ｎはバッテリコントローラ２０からのスリープ命令に基づきステップ８９６でそれぞれスリープ状態となる。図１や図２に示すように、各集積回路３Ａ〜３Ｎにはリチウム電池セルが接続され、常時電圧が印加されている。しかしできるだけ電力を消費しないことが望ましい。このため各集積回路３Ａ〜３Ｎはスリープ状態となり、電力の消費を少なくする。
【０１２４】
本実施の形態で、書き換え可能な不揮発性メモリ１１０６あるいは書き換え可能な不揮発性メモリ１１１６は例えばＥＥＰＲＯＭである。上記実施の形態では、リチウム二次電池を使用した電源システム１の運転開始時に書き換え可能な不揮発性メモリ１１０６あるいは書き換え可能な不揮発性メモリ１１１６の保持データを揮発性メモリ１１０７や１１１７に書き込みし、揮発性メモリ１１０７や１１１７の保持データを更新し、電源システム１の運転終了時に更新された揮発性メモリ１１０７や１１１７の保持データを書き換え可能な不揮発性メモリ１１０６あるいは書き換え可能な不揮発性メモリ１１１６に再び保存する。このような動作により、運転状態において揮発性メモリ１１０７や１１１７のデータを使用するので演算処理や診断動作を高速で行うことができる。また書き換え可能な不揮発性メモリ１１０６や１１１６の書き込み回数を低減でき、これらの不揮発性メモリの信頼性低下を低減できる。
【０１２５】
電源システム１が電力を供給していない無負荷状態で、各リチウム電池セルの端子電圧を検出し、この無負荷状態の各リチウム電池セルの端子電圧に基づいて充電状態ＳＯＣを演算しており、精度の高い充電状態ＳＯＣを得ることができる。
【０１２６】
図１０は外部の装置として、リチウム電池システムの使用環境を表す図８のファイルＫＤ３や履歴データであるファイルＫＤ２を読み出すためのモニタ装置９０４を電源システムに接続したモニタシステムを示すシステムブロック図である。図１１は図１０に示すモニタ装置９０４に書き換え可能な不揮発性メモリ１１１６や１１０６に保持されたデータを読み出すためのフロー図である。電源システム１は図７に示す電源システム１と同じものである。ただし、電池モジュール１０やセルコントローラ８０が動作状態にない場合でもバッテリコントローラ２０のみが動作可能であれば、バッテリコントローラ２０とモニタ装置９０４を通信回線で接続することにより、バッテリコントローラ２０からの記憶データの読み出しが可能である。
【０１２７】
上述のとおりモニタシステムは電源システム１とモニタ装置９０４とを有していて、前記モニタ装置９０４は表示部９０６と操作部９０８とを備え、内部にコンピュータからなる処理回路を有している。モニタ装置９０４の処理回路は図１１に示すよう動作を成す。
【０１２８】
図１１に示すステップ１００２で、表示部９０６の表示メニューから操作部９０８により保持データの読み出しを選択すると、ステップ１００４に移り、セキュリティデータの入力要求が表示部９０６に表示される。このセキュリティデータはパスワードとして動作し、セキュリティデータを操作部９０８から入力すると、入力されたデータが図７に示す書き換え可能な不揮発性メモリ１１１６に保持されているセキュリティデータである図８のデータＤ４１と照合され、一定の予め定められた関係が存在すると、次のステップ１００６に移る。
【０１２９】
ステップ１００６で表示部９０６に読出しデータの内容に対するメニューが表示される。読み出したい情報が、本電源システム１が使用される対象製品に関する製品情報Ｄ２１(図８)なのか、電池が使用された環境情報ＫＤ３なのか、各種診断情報を含む履歴データＫＤ２なのか、これらのメニュー中から読み出し情報を選択する。
【０１３０】
バッテリコントローラ２０の書き換え可能な不揮発性メモリ１１１６以外の各集積回路３Ａ〜３Ｎに内蔵された書き換え可能な不揮発性メモリ１１０６に保持されたデータから保持データを読み出す場合には、ステップ１００８で、読み出したいデータの記憶場所を選択する。もし、バッテリコントローラ２０にしかデータが保持されていない場合には、あるいは、各集積回路３Ａ〜３Ｎが接続されていない場合には、このステップ１００８は不要である。なお、集積回路３Ａ〜３Ｎが書き換え可能な不揮発性メモリ１１１６を備えていない製品の場合、あるいは各集積回路３Ａ〜３Ｎが接続されていない場合、または図１の各集積回路３Ａ〜３Ｎとバッテリコントローラ２０とをつなぐ例えば伝送路５２や５４に異常が生じた場合など、各集積回路３Ａ〜３Ｎのデータが読み出せない場合には、読み出せないとのメッセージがモニタ装置９０４の表示部９０６に表示される。
【０１３１】
次にステップ１０１０では、選択されたデータが表示部９０６に表示される。電子データでの出力が必要な場合には、図１０には示していないが、外部メモリ手段に電子データが出力される。
【０１３２】
ステップ１０１２で更に出力したいデータがあるかどうか、すなわち読出し作業を終了するかどうかの表示を表示部９０６に行い、読み出したい情報があれば再びステップ１００６に戻る。ステップ１０１２で終了のための入力操作をモニタ装置９０４の操作部９０８から行うとステップ１０１４に移り一連の作業が終了する。
【０１３３】
図１２〜図１５および図２１から図２３を参照して、ＥＥＰＲＯＭを使用したバッテリコントローラ２０に内蔵されている書き換え可能な不揮発性メモリ１１１６のデータ保存方法を説明する。この方法は、各集積回路３Ａ〜３Ｎに内蔵された書き換え可能な不揮発性メモリ１１０６に、図８に示すデータを保持する場合にも同様に利用できる。この方法をさらに、リチウム電池セルを有する一般の産業機械用の電源設備に関するデータの保存にも使用でき、書き換え可能な不揮発性メモリを使用したデータ保存システムにおいて、データの書き込みおよび保存の信頼性が向上する。
【０１３４】
上述の通り、以下のデータ保存方法は、書き換え可能な不揮発性メモリ１１０６と１１１６の両方に使用可能であるが、バッテリコントローラ２０に内蔵された書き換え可能な不揮発性メモリ１１１６を代表して説明する。
【０１３５】
図１２は、書き換え可能な不揮発性メモリ１１１６とＣＰＵ１１０４、ＲＡＭ１１１７、ＲＯＭ１１１０、入出力インタフェース１１１２を備えるバッテリコントローラ２０のブロック図を示す。本構成は一般的なリチウム電源システムにも利用でき、電池制御に必要な情報を高い信頼性で保存でき、非常に大きな効果が得られる。電源１４から自己遮断型スイッチ１１０２を介して、図７に示す電源システム１の内部に設けられたバッテリコントローラ２０に１４ボルト系の低圧電力が供給される。なおここで説明する書き込みおよび読み出し内容は、先に図８で説明の通りであり、また書き込みおよび読み出し時期は、先に図９を用いて説明したとおりである。なお、書き込みおよび読み出し内容あるいは書き込み及び読み出し時期に関わらず、説明する書き込みおよび読み出し方法は信頼性の向上において、大変有効である。
【０１３６】
不揮発性メモリへのデータ書込およびデータ更新の実施例について、更に詳細な動作を図１３や図２１〜図２３を用いて説明する。
〔不揮発性メモリへのデータ書き込みおよびデータ読み出しの実施例１〕
図１３は図９の一部を更に詳細に示したものである。図１３の上側のＳＴＡＲＴからＥＮＤは図９の始動制御でのステップ８１０またはステップ８８４における、不揮発性メモリの読み書き動作の確認および読み書き動作に不具合が見つかった場合の対応動作のフローである。下側のＳＴＡＲＴからＥＮＤは、図９の終了制御時のステップ８６０またはステップ８８６に対応している。これら２つのＳＴＡＲＴからＥＮＤのフローに挟まれたステップは図９の通常制御時のステップ８３２または８３６に対応している。これら以外のステップについては図９と同様であるので省略している。
【０１３７】
図１３の上側のＳＴＡＲＴからＥＮＤのフローのステップ１２０２では、上述の図９のステップ８１０の説明のように、書き換え可能な不揮発性メモリ１１１６に保持されている保存データを読出し、ステップ１２０３で、揮発性メモリＲＡＭ１１１７へ書き込む。
【０１３８】
ステップ１２０４で、読み出された保存データの情報が正しいかどうかのチェックを行う。このチェックは例えばパリティチェック方式を使用して行われる。図７に示す、リチウム電池を使用した電源システム１において、記憶すべき情報の主なものは図８に示す情報である。書き換え可能な不揮発性メモリ１１１６は、図１２に示すように、その記憶領域に第１記憶ブロック１１１８と第２記憶ブロック１１２０の少なくとも２つの記憶ブロックが設定されている。
【０１３９】
ここで図２１（ａ）を参照して第１記憶ブロック１１１８と第２記憶ブロック１１２０の動作について説明する。
なおここでは、図２１は図１３に対応している。すなわち図９の始動制御の最後のステップ８８４が図２１（ａ）に対応している。また説明を簡単にするため、図２１では、図９の始動制御で最初にデータを読み出す不揮発性メモリ（ステップ８１０）は図２１の第１記憶ブロック１１１８であるとしている。
以下の説明で参照している図２１から図２７はすべて図９の始動制御のステップ８１０または８８４における不揮発性メモリの読み書き動作の確認および読み書き動作に不具合が見つかった場合の対応動作のフローであり、これ以外の動作については省略してある。また後述するように、始動制御で最初にデータを読み出す不揮発性メモリのブロックは、電池システムの終了状態により１１１８でなく１１２０あるいは他のブロックでもよい。
【０１４０】
始動制御でデータを最初に第１記憶ブロックから読み出すとしたので、以下に詳述するように、始動制御の最後のステップ８８４において（図２１（ａ））、書き換え可能な不揮発性メモリ１１１６に最後に保存データが書き込まれる記憶領域は、第２記憶ブロック１１２０となる。上記ステップ１２０２では、図２１（ｂ）に示すように、最後に書き込まれた記憶ブロックである、第２記憶ブロック１１２０から保存データを読み出し、ステップ１２０３で揮発性メモリ１１１７に書き込む。
【０１４１】
図１３の説明に戻り、ステップ１２０４では、揮発性メモリ１１１７に書き込まれた保存データである、書き換え可能な不揮発性メモリ１１１６から読み出された情報に誤りが無いかどうかを診断する。この診断には例えば上述のようにパリティチェック方式を使用する。ステップ１２０４で、誤りが無く正しいと判断されると、読み出し動作（ステップ８１０や８８４）は終了し（ＥＮＤ、１２１２）、始動制御が終了すると図９に示すように通常制御に移る。
【０１４２】
ここでステップ８３２あるいは８８６での処理と同じ処理を行い、揮発性メモリに読み出されたデータを電源システム１の運転中に更新する。
【０１４３】
パリティチェックを用いる方法とは、データの書き込みや読み出し等が正常に行われたかどうかを診断するための一つの手法であり、データを構成する基本単位のビット数毎に誤りの有無を検査する方式である。各データが、８ビットを基本単位として構成していると仮定し、この基本単位を複数組み合わせて構成されていると仮定する。前記基本単位毎に誤りの有無を検査するために、各基本単位にパリティビットが１ビット追加されている。各基本単位において、各ビットの値が２進数の「１」または「０」のどちらかであり、例えば「１」の値を示すビットの数が奇数か偶数かを、前記パリティビットが示すように、前記パリティビットの値を決める。前記基本単位毎に実際の基本単位の「１」の数が示す奇数か偶数の内容と前記パリティビットの値とが一致していれば、データは正しいと診断する。逆に一致しなければデータは誤りと診断する。
【０１４４】
電源システム１の運転が終了時には、図９の下側のＳＴＡＲＴからＥＮＤのフローのステップ８６０や８９４の書き換え可能な不揮発性メモリ１１１６への保存動作が行われ、ステップ１２０７において、図２１（ｃ）に示すとおり、書き換え可能な不揮発性メモリ１１１６の読み出し記憶ブロック１１２０とは異なる第１記憶ブロック１１１８に、更新された揮発性メモリ１１１７の保持データを書き込む。なお、この図１３のステップ１２０７は図９のステップ８６０やステップ８９４に対応する。図１３のステップ１２１４で書き込み動作を終了する。次にたとえば車両の再始動の際に、再び図１３のフローを実行する場合には、図１３のステップ１２０２では、図２１（ｄ）に示すとおり、最後に書込みが行われた第１記憶ブロック１１１８に保存されているデータが読み出される。
【０１４５】
図１３のステップ１２０４で、誤りがあると診断された場合の処理について、図２２を参照して説明する。
【０１４６】
図２２（ａ）の第２記憶ブロック１１２０から読出したデータに、図２２（ｂ）に示すように誤りがあると診断された場合、ステップ１２０４からステップ１２０５に進み、図２２（ｃ）に示すように他の記憶ブロックである第１ブロックに記憶されている保存データが読み出される。読み出される保存データは上述のとおり図８に示す情報である。保存データの読み出し動作がステップ１２１２で終了する。次に、電源システム１の運転中に図９のステップ８６０や８９４に示すように、上記読み出した保存データを更新する動作である図９のステップ８３２や８８６に移る。
【０１４７】
次に電源システム１の運転が終了し、図９のステップ８６０や８９４の動作である、揮発性メモリ１１１７に保持されている更新された保存データを書き換え可能な不揮発性メモリ１１１６への保存動作に移る。この場合は、最後にステップ１２０５で読み出された記憶ブロックが第１記憶ブロック１１１８であるため、図１３のステップ１２０８において、異常を検出したデータを読み出した第２記憶ブロック１１２０へ、揮発性メモリ１１１７に保持されている更新されたデータを書き込む（図２２（ｄ））。これは、第２記憶ブロック１１２０からの読出し情報に誤りがあるため、誤りである過去の情報が消えてもよいからである。新しい情報を書き込むことで過去の誤った情報が新しい情報に置き換わることになる。なお、第１記憶ブロック１１１８の情報は書き込み回数で数回前の保存データであるが使用可能な保存データであり、もし今回書き込みに失敗した場合に利用できる情報である。
【０１４８】
ステップ１２０４の診断における読み出し情報の誤りは、書き換え可能な不揮発性メモリのハード構成の異常に起因する可能性は極めて低く、ほとんどの場合ノイズ等の要因による。したがって、ステップ１２０８で第２記憶ブロック１１２０に更新された保存データを書き込むことで、以後第１記憶ブロック１１１８と第２記憶ブロック１１２０に交互に更新データが書き込まれる正常な状態に戻ることになる。
【０１４９】
〔不揮発性メモリへのデータ書き込みおよびデータ読み出しの実施例２〕
もう１つの、不揮発性メモリへのデータ書込方法およびデータ更新の実施例について図１４と図２３を参照して説明する。なお、図１３と同じ符号は同じ構成および機能または、同じ動作を行うことを示す。
なお、書き換え可能な不揮発性メモリ１１１６の保存データを読み出し、読み出されたデータに異常が見られない場合は、図１３のフローおよび図２１と同様に、ステップ１２０７によって更新されたデータが再び保存データとして、書き換え可能な不揮発性メモリ１１１６に書き込まれる。
【０１５０】
図１４に記載の方法では、書き換え可能な不揮発性メモリ１１１６の保存データをステップ１２０２で読み出し、揮発性メモリ１１１７へ読み出した保存データを移すためのステップ１２０２から１２１２の動作は、図１３に記載の動作と同じである。図２３は、図１４に記載の動作を図示したものである。図２３（ａ）、（ｂ）、（ｃ）は、図１３の動作を図示する図２２における図２２（ａ）、（ｂ）、（ｃ）と同じである。
【０１５１】
図１４のステップ１２０４で読み出されたデータが異常と診断された場合の保存データの書き込み方法は、図１３（ステップ１２０８）図１４（ステップ１３１０）とで異なる。図１４の方法は、更新された揮発性メモリの保持データを再び書き換え可能な不揮発性メモリ１１１６に書き込む際に、ステップ１３１０に示すように、正常でないデータを読み出した第２記憶ブロック１１２０に更新された新たなデータを書き込むだけでなく、第１記憶ブロック１１１８と第２記憶ブロック１１２０の両方に保持すべきデータを書き込む（図２３（ｄ））ことである。なおこの場合、次のたとえば車両の再始動の際に、保存データ読み出しは図２３（ｅ）に記載のように、異常と判定された場合の第２記憶ブロック（１１２０）ではなく、不揮発性メモリへのデータ書込方法およびデータ更新の実施例１で説明したような（図２１）正常な場合の動作となり、第１記憶ブロックに保持されたデータを読み出す。
【０１５２】
上述のとおり、両方の記憶ブロック（１１１８、１１２０）に書き込むので、仮に第２記憶ブロック１１２０の記憶エリアに異常があっても第１記憶ブロック１１１８にデータが正常に記憶されているので、高い信頼性が得られる。
【０１５３】
〔不揮発性メモリへのデータ書き込みおよびデータ読み出しの実施例２の変形例〕
図１４に記載の方法と基本的には同じであるが、より効果的な不揮発性メモリへのデータ書き込み方法を図１５と図２３（ｄ）を用いて説明する。
【０１５４】
図１５に示すフローで、図１３や図１４と同じ符号は、同じ構成で同じ動作を示す。図１４と図１５とで、相違するところはステップ１３１０とステップ１４１０である。更新された揮発性メモリ１１１７を不揮発性メモリの２つのブロック（１１１８、１１２０）に保存データとして書き込む点は同じであるが、図２３（ｄ）に図解するように、読み出したデータが異常であった方の記憶ブロックに先に書き込みことである。この実施の形態では、第２記憶ブロック１１２０から読み出したデータに誤りがあったので、誤りのあった記憶ブロックである第２記憶ブロック１１２０に先に更新されたデータを書き込み、次に残りのブロックである第１記憶ブロック１１１８に書き込み動作を行う。
【０１５５】
前述のように、次回の保存データの読み出し時には、最後に書き込まれた記憶ブロックから読み出されるので、図２３（ｅ）に図示するように、第１記憶ブロックから読み出すこととなり、その後交互に読み出しが繰り返されることとなり、正常な動作に戻ることとなる。第１と第２の使用頻度も均等化され、書き換え可能な不揮発性メモリ１１１６の利用における信頼性を向上できる。このような動作が可能な理由は、メモリの読み出しデータに誤りがある場合は、メモリそのものに異常があることが極めて少なく、たまたま書き込み時のノイズなどの影響によることがほとんどであり、再度誤りが発生する可能性は、非常に低いからである。
【０１５６】
〔第２の実施形態〕
図１６の構成はバッテリコントローラ２０の不揮発性メモリの構成のもう１つの実施例であり、図１２に示す不揮発性メモリの構成の変形例である。図１２と同じ符号は同じ構成で同じ動作を為す。図１２と比較し、図１６では書き換え可能な不揮発性メモリ１１１６が、第１記憶ブロック１１１８と第２記憶ブロック１１２０に加え、予備記憶ブロック１５２２を有することである。図１６に示す構成の不揮発性メモリを用いたデータの読み出し／書き込み動作を図１７、図２４、図２５を参照して説明する。
【０１５７】
〔第２の実施形態の不揮発性メモリへのデータ書き込みおよびデータ読み出しの実施例１〕
図１７はデータの読み出し／書き込み動作のフロー図で、図１３〜図１５に対して同じ符号は、図１７においても同じ動作を示す。特に図１７のフロー図の全体の構成および動作は、先に説明した図１３のフロー図と基本的な部分はほぼ同じである。従って、図１３のフロー図との異なる点のみを説明する。また図１７のフローに対応したメモリブロックへの書き込みおよびメモリブロックからの読み出しの動作を図２４（読み出したデータが正常な場合）と図２５（読み出したデータが異常な場合）に示す。
【０１５８】
図１７に示すフローのステップ１２０２と１２０３で、第２記憶ブロック１１２０は図２４（ａ）に示すように、更新されたデータが最も遅く書き込まれた記憶ブロックが第２記憶ブロック１１２０である場合は、第２記憶ブロック１１２０から保持データを読み出し、揮発性メモリ１１１７に記憶する。、図１７のステップ１２０４では、読み出したデータに異常がないかを診断する（図２４（ｂ））。この診断は上述のとおり、パリティチェックを利用する方法で行われる。
【０１５９】
読み出しデータが正常である場合は、図２４に示すように、次の書き込み動作時（ステップ１２０７）には、図１７のステップ８３２またはステップ８９４で更新されたデータを、最後に読み出したブロックとは異なる他のブロックである第１記憶ブロック１１１８の方に書き込み（図２４（ｃ））、終了となる。従って、たとえば車両を再始動した際に、ステップ１２０２で保持データを書き込み可能な不揮発性メモリ１１１６から読み出す時は、図２４（ｄ）に示すように、第１記憶ブロック１１１８から読み出すこととなる。
【０１６０】
図１７の動作フローにおいて、ステップ１２０４の診断で、読み出したデータに誤りがあった場合（図２５（ｂ））は、ステップ１２０５に記載のとおり、第１記憶ブロック１１１８の保存データを読み出し（図２５（ｃ））、揮発性メモリ１１１７に書き込む（ステップ１２０６）。次に揮発性メモリ１１１７に書き込まれたデータに基づき、データの更新が行われる。ここまでの動作は、図１３〜図１５の動作フローと同じである。図１７の動作フローの相違点は、次に書き込み可能な不揮発性メモリ１１１６に更新データを保存するときに、ステップ１６１０が実行されることである。
【０１６１】
この場合、図２５に示すように、更新されたデータの新たな書き込み先を、第２記憶ブロック１１２０でなく、予備記憶ブロック１５２２とし、ステップ１６１０で予備記憶ブロック１５２２に書き込み（図２５（ｄ））、終了となる。このように予備ブロックに書き込むことで、たとえば車両を再始動した際にステップ１２０２が実行すると、最後に書き込まれた予備記憶ブロック１５２２に記憶されている保存データが読み出され（図２５（ｅ））、揮発性メモリ１１１７に記憶される。このようにすることで、仮に第２記憶ブロック１１２０のハードウエアに異常が発生した場合でも、この異常を解決でき、信頼性が向上する。
【０１６２】
〔第２の実施形態の不揮発性メモリへのデータ書き込みおよびデータ読み出しの実施例１の変形例１〕
図１８の動作フローは、図１７の動作フローの変形例であり、図１７と同じ符号は同じ機能を示す。また図１８のフローに対応したメモリブロックへの書き込みおよびメモリブロックからの読み出しの動作を図２４（読み出したデータが正常な場合）と図２６（読み出したデータが異常な場合）に示す。
【０１６３】
ステップ１２０４で、書き換え可能な不揮発性メモリ１１１６からの読み出しデータに誤りがない場合には、図１８のステップ１２０２と１２０３，１２０７は、図１７のそれらと同じ機能、同じ動作である。したがってこの場合の動作は、図２４に示すようなものとなる。また図１７と同様に、ステップ１２０３で揮発性メモリ１１１７に書き込まれたデータをステップ８３２あるいはステップ８８６で更新し、次の書き込み可能な不揮発性メモリ１１１６に更新データを保持するステップ１２０７で、最後に書き込まれた記憶ブロックと異なる、つまりステップ１２０２で今回読み出した記憶ブロックとは異なる記憶ブロックに書き込みを行う。
【０１６４】
次にステップ１２０４で読み出しデータに誤りを検出した場合（図２６（ｂ））、図１７の動作フローと同様にステップ１２０５と１２０６で、２組の記憶ブロックの内、データ誤りの有った記憶ブロックと異なる記憶ブロックのデータを読み出しし（図２６（ｃ））、揮発性メモリ１１１８に保持する。ステップ８３２あるいはステップ８８６で保存データの更新を行った後、ステップ１７１２で再び書き込み可能な不揮発性メモリ１１１６に更新された保存データを書き込む。このとき、さらに誤りのあるデータが読み出された記憶ブロックと予備記憶ブロック１５２２とを交換し、保存データを交互に記憶するための２組の記憶ブロックを構成する。
【０１６５】
図２６（ａ）で第２記憶ブロック１１２０に保存データが書き込まれ、図２６（ｂ）に示すように、最後に書き込まれた第２記憶ブロック１１２０から読み出したデータに誤りがあった場合（図２６（ｃ））、図２６（ｄ）に示すように図１８のステップ１２０７の書き込み先を予備記憶ブロック１５２２とし、さらに図２６（ｅ）に示すように、誤りのあるデータが読み出された第２記憶ブロック１１２０と予備記憶ブロック１５２２とを交換し、２組の記憶ブロックの構成を第１記憶ブロック１１１８と予備記憶ブロック１５２２とする。
【０１６６】
このステップ１７１２の動作後、図１８のステップ１２０２や１２０７、１２０５では、２組の記憶ブロックの構成が第１記憶ブロック１１１８と予備記憶ブロック１５２２とであるとして、動作する。即ち図２６（ｅ）に示すように、第２記憶ブロックが予備記憶ブロック１５２２となり、予備記憶ブロックが第２記憶ブロック１１２０として以後動作することとなる。ここで更にステップ１２０４の誤り診断動作で、読み出したデータの誤りが発見されると、その後のステップ１７１２の動作で、使用されていなかった予備記憶ブロックの状態にある図２６（ｅ）に示すように、予備記憶ブロックと読み出したデータの誤りが発見された第２記憶ブロックとが入れ替わる。このように誤りの発生する記憶ブロックを予備記憶ブロックとすることで、結果的に異常発生件数の多い記憶ブロックが保存データを記憶する記憶ブロックから外されることとなり、信頼性が向上する。
【０１６７】
〔第２の実施形態の不揮発性メモリへのデータ書き込みおよびデータ読み出しの実施例１の変形例２〕
図１９に示す動作フローは、図１７や図１８示す動作フローの更に他の変形例である。図１９に示すステップ１２０２および１２０３、１２０４、１２０５、１２０６、１２１２は既に説明の同一符号のステップと動作や機能が同じである。またステップ８３２、８８６１２０７、１７１２も既に説明の同一符号のステップと動作や機能が同一である。また図１９のフローに対応したメモリブロックへの書き込みおよびメモリブロックからの読み出しの動作を図２４（読み出したデータが正常な場合）と図２７（読み出したデータが異常な場合）に示す。
【０１６８】
図１８に記載のフローが繰り返し実行されると、第１および第２、予備の３つの記憶ブロックの内、２つの記憶ブロックが正常であれば、正常な２つの記憶ブロックが選定されて、正常な２つの記憶ブロックに交互に保存すべき保存データが書き込まれる。しかし、３つの記憶ブロックの内、２つの記憶ブロックが異常となると、２組の記憶ブロックの内1つは正常な記憶ブロックが選ばれるが、残りの記憶ブロックは異常な記憶ブロックが選定される。そして、異常な２つの記憶ブロックが交互に予備記憶ブロックとなる。
【０１６９】
図１９で示す動作フローは異常な２つの記憶ブロックを使用する記憶ブロックの対象から外す機能を有している。すなわち、図１９の動作フローは、新たなステップ１８１４と１８１６を備えており、異常な２つの記憶ブロックが交互に予備記憶ブロックとなるための図１８や図１９のステップ１７１２の入れ替えの動作と共に、記憶ブロックの交換回数を計数し、その計数値が予め定めた回数を達したあるいは超えたことにより、２つの記憶ブロックに異常が発生していると判断する。そしてステップ１８１６で使用対象から外す。この場合、残りの正常な記憶ブロックを繰り返し使用することとなる。
このような動作フローにより、単にノイズによる誤りかそれとも前記ブロックの回路に関係する修復不可能な原因に基づく誤動作かを確認できる。誤り回数が規定値を超えた場合に修復不可能な原因に基づく誤動作と判断し、そのブックを使用対象から外すことが可能となる。
【０１７０】
図２７に図１９に示す動作の図解を示す。図２７（ｂ）で、図１９のステップ１４０４による読み出しデータの異常の有無が診断される。この診断結果に伴ってステップ１８１４で異常診断の回数が計測され、異常の検出回数が所定値に所定値を超えると、ステップ１８１６により、図２７（ｄ）に示すように、２つの異常な記憶ブロックが使用対象から外される。図２７では２つの異常な記憶ブロックが第２記憶ブロックと予備記憶ブロックであり、第１記憶ブロックが正常な記憶ブロックであるとしている。この状態では、第１記憶ブロックが保存データの記憶ブロックとして使用され続ける。
【０１７１】
〔第２の実施形態の不揮発性メモリへのデータ書き込みおよびデータ読み出しの実施例１の変形例３
図２０は変形例の一つを示すフロー図で、データ保存に使用する記憶ブロックが２以上ある場合に適用できる。図１７〜図１９と同じステップ番号は同じ機能および同じ動作を示す。ステップ１２０２で書き換え可能な不揮発性メモリ１１１６の所定のブロックから保存データを読出し、揮発性メモリ１１１８に書き込む。ステップ１２０４で、上記読み出したデータが正常かどうかを診断する。データが正常と判断された場合には、上述のとおり、更新されたデータを次に書き込む場合には、ステップ１２０７で、既に説明したとおり、ステップ１２０２で読み出した記憶ブロックと異なる記憶ブロックに書き込む。ステップ１２０２、１２０３、８３２、８８６、１２０７は上述の説明と同じである。
【０１７２】
一方ステップ１２０４による読み出しデータの診断で、読み出した保存データが異常と判断された場合にはステップ１２０５に進む。このステップ１２０５では記憶ブロックを予め定めた順に従って次の異なる記憶ブロックに替えて、保持している保存データを読み出し、揮発性メモリ１１１８に保持する。読み出されたデータは、ステップ２０１４で正常かどうかの診断がなされる。正常な場合には揮発性メモリ１１１８に保持したデータをステップ８３２や８８６で更新する。そしてステップ１９１６で、既に説明した方法、即ちステップ１２０８や１３１０、１４１０、１６１０、１７１２で説明の方法で書き込み可能な不揮発性メモリ１１１７に保存する。
【０１７３】
図２０のステップ２０１４で読み出したデータに再び誤りがあると判断された場合には、ステップ２０２０に進み、更に所定の順序に従って他の記憶ブロックのデータの読出しの設定を行い、ステップ１２０５で新たに設定された記憶ブロックの保存データが読み出され、ステップ１２０６で揮発性メモリ１１１７に書き込まれる。
【０１７４】
ステップ１２０５とステップ１２０６とステップ２０１４とステップ２０２０のループを繰り返しても、読み出したデータが正常なデータではないと診断され、新たに読み出すべき記憶ブロックが無くなった場合には、ステップ２０２０からステップ２０２２へ進み、書き込み不可能な不揮発性メモリである、一般にＲＯＭと呼ばれるメモリに保持していた更新前の製品出荷時の初期データを読み出してこれを使用する。なお上記データは例えばバッテリコントローラ２０の処理プログラムを保持しているメモリである。ステップ２０２２で揮発性メモリ１１１７に初期データを書き込み後、このデータは図９の通常制御のモードで説明したステップ８３２やステップ８８６に基づいてデータを更新する。更新したデータはステップ１９１６に基づき書き換え可能な不揮発性メモリ１１０６に書き込まれる。ステップ２０２０で全ての読出しデータが正常でないことが分かっても、この異常が書き換え可能な不揮発性メモリの回路そのものに起因することが少なく、次の書き込み時には正常に動作する可能性が非常に高い。従って、ステップ１９１６で書き換え可能な不揮発性メモリに書き込んだ場合に、次回から正常に動作する可能性が高い。
【０１７５】
図１から図２０を使用して説明した実施の形態で、図１２から図２０は書き換え可能な不揮発性メモリ１１０６の使い方に関する。この使い方は、リチウム電池システムに使用すると大きな効果が有るが、一般の制御にも適用可能である。図１２から図２０で説明した書き換え可能な不揮発性メモリ１１０６の使い方を、一般の制御に適用した場合の特徴について、次に記載する。
【０１７６】
図１２から図２０に記載の電子制御装置はバッテリコントローラ２０あるいは集積回路３Ａ〜３Ｎに該当し、前記電子制御装置は、書き換え可能な不揮発性メモリと、電子制御装置の動作中は前記書き換え可能な不揮発性メモリに保存されている保存データを読み出して一時保存すると共に前記保存データを更新するために使用する揮発性メモリと、を備えている。前記書き換え可能な不揮発性メモリは更に、前記保存データを保持するために、前記書き換え可能な不揮発性メモリの記憶領域内に前記保存データを記録するために、複数の記憶ブロックを設定している。前記電子制御装置において、前記記憶ブロックから読み出した保存データの正常あるいは異常状態の診断を行う診断手段を備え、前記診断手段で正常と判定された場合は、更新データの書き込みを前回書き込んだ記憶ブロックと異なる記憶ブロックに対して行う、正常時の書き込みモードと、前記診断手段で異常と診断された場合は、更新データ書き込みを前回書き込んだ記憶ブロックと同一の記憶ブロックに対して行う異常時の書き込みモードと、を有することを一つの特徴とする。
【０１７７】
また書き換え可能な不揮発性メモリと、該不揮発性メモリ内にデータを記録する複数の記憶ブロックを有し、運転停止後電源遮断までに該記憶ブロックへ更新された保存データの書き込みを行う電子制御装置において、前記記憶ブロックから読み出した保存データの正常あるいは異常状態の診断を行う診断手段と、この診断手段で正常と判定された場合は、更新されたデータの書き込みを前回書き込んだ記憶ブロックと異なる記憶ブロックに対して行う正常時の書き込みモードと、該診断手段で異常と診断された場合は、保存データの書き込みを少なくとも２つ以上の記憶ブロックに対して行う異常時の書き込みモードと、を有することを特徴とする。
【０１７８】
また前回の保存データ書き込みが上述のように２つ以上の記憶ブロックに対して行われた場合は、前記正常時の書き込みモードは更新された保存データの書き込みを所定の１つの記憶ブロックに対して行うことを特徴とする。
【０１７９】
前記２つ以上の記憶ブロックへの書き込みモードは、前記異常と診断されたデータを存在する記憶ブロックに先に今回の更新されたデータの書き込みを行うことを特徴とする。
【０１８０】
書き換え可能な不揮発性メモリと、該不揮発性メモリ内にデータを記録する複数の記憶ブロックと、正常時はデータの記録を行わない予備記憶ブロックを有する電子制御装置において、前記記憶ブロックから読み出した前回のデータの正常あるいは異常状態の診断を行う診断手段と、該診断手段で正常と判定された場合は、今回の保存データの書き込みを前回書き込んだ記憶ブロックと異なる記憶ブロックに対して行う正常時の書き込みモードと、該診断手段で異常と診断された場合は、今回のデータ書き込みを前記予備記憶ブロックに対して行うバックアップ書き込みモードと、を有することを特徴とする。
【０１８１】
前記バックアップ書き込みモードは、前記異常と診断されたデータが存在する記憶ブロックを予備記憶ブロックとし、前記予備記憶ブロックを記憶ブロックとして扱う記憶ブロックの変更手段を有することを特徴とする。
【０１８２】
前記ブロックの変更手段が所定回数以上実施された場合、以降の書き込み対象から前記ブロック変更手段の対象となって変更された記憶ブロックを外し、前記対象とならなかった記憶ブロックを書き込み対象の記憶ブロックとする記憶ブロックの排斥手段を有することを特徴とする。
【０１８３】
前記診断手段で異常と判定された場合は、該読み出したデータに替えて他方の前記記憶ブロックから読み出したデータを使用することを特徴とする。  前記複数の記憶ブロックから読み出したデータがいずれも前記診断手段で異常と診断された場合は、書き換え不可能な不揮発性メモリに予め記憶しておいた初期値データを使用することを特徴とする。
【０１８４】
前記データの読み出しは前記電子制御装置の起動処理において行い、運転中に前記読み出したデータを更新することを特徴とする。前記データの書き込みは前記電子制御装置の終了処理の中で行うことを特徴とする。
【０１８５】
さらにまた、書き換え可能な不揮発性メモリを使用する電子制御装置は次の特徴を備えている。
〔第１の特徴を有する電子制御装置〕：
書き換え可能な不揮発性メモリと、該不揮発性メモリ内にデータを記録する複数の記憶ブロックを有し、前記記憶ブロックから読み出した前回の保存データの正常あるいは異常状態の診断を行う診断手段と、該診断手段で正常と判定された場合は、今回のデータの書き込みを前回書き込んだ記憶ブロックと異なる記憶ブロックに対して行う正常時の書き込みモードと、該診断手段で異常と診断された場合は、今回のデータ書き込みを前回書き込んだ記憶ブロックと同一の記憶ブロックに対して行う異常時の書き込みモードと、を有することを特徴とする電子制御装置。
【０１８６】
〔第２の特徴を有する電子制御装置〕：
書き換え可能な不揮発性メモリと、該不揮発性メモリ内にデータを記録する複数の記憶ブロックを有し、前記記憶ブロックから読み出した前回のデータの正常あるいは異常状態の診断を行う診断手段と、該診断手段で正常と判定された場合は、今回のデータ書き込みを前回書き込んだ記憶ブロックと異なる記憶ブロックに対して行う正常時の書き込みモードと、該診断手段で異常と診断された場合は、今回のデータ書き込みを少なくとも２つ以上の記憶ブロックに対して行う重複書き込みモードと、を有することを特徴とする電子制御装置。
【０１８７】
〔第３の特徴を有する電子制御装置〕：
前記第１あるいは第２の特徴を有する電子制御装置において、前回のデータ書き込みが前記重複書き込みモードだった場合は、次の書き込み時の正常時の書き込みモードは、データを書き込みを所定の一つの記憶ブロックに対して行うことを特徴とする電子制御装置。
【０１８８】
〔第４の特徴を有する電子制御装置〕：
前記第１乃至第３の特徴を有する電子制御装置において、前記重複書き込みモードは、前記異常と判定されたデータが存在する記憶ブロックに先に更新されたデータの書き込みを行うことを特徴とする電子制御装置。
【０１８９】
〔第５の特徴を有する電子制御装置〕：
書き換え可能な不揮発性メモリと、該不揮発性メモリ内にデータを記録する複数の記憶ブロックと、通常時はデータの記録を行わない予備記憶ブロックを有し、前記記憶ブロックから読み出した前回のデータの正常あるいは異常状態の診断を行う診断手段と、該診断手段で正常と判定された場合は、今回のデータ書き込みを前回書き込んだ記憶ブロックと異なる記憶ブロックに対して行う正常時の書き込みモードと、該診断手段で異常と判定された場合は、今回のデータの書き込みを前記予備記憶ブロックに対して行うバックアップ書き込みモードと、を有することを特徴とする電子制御装置。
【０１９０】
〔第６の特徴を有する電子制御装置〕：
前記第５の特徴を有する電子制御装置において、前記バックアップ書き込みモードは、前記異常と診断されたデータが存在する記憶ブロックを予備記憶ブロックとし、前記予備記憶ブロックを記憶ブロックとして以後扱う、記憶ブロック変更手段を有することを特徴とする電子制御装置。
【０１９１】
〔第７の特徴を有する電子制御装置〕：
前記第６の特徴を有する電子制御装置において、前記記憶ブロック変更手段が所定回数以上記憶ブロックの変更を実施された場合、以降の書き込み対象の記憶ブロックから前記変更対象となった記憶ブロックを外し、前記対象とならなかった記憶ブロックを書き込み対象の記憶ブロックとする故障記憶ブロックを排斥する手段を有することを特徴とする電子制御装置。
【０１９２】
〔第８の特徴を有する電子制御装置〕：
前記第１乃至第７に記載の特徴を有する電子制御装置において、前記診断手段で異常と判定された場合は、該読み出したデータに替えて他方の前記記憶ブロックから読み出したデータを使用することを特徴とする電子制御装置。
【０１９３】
〔第９の特徴を有する電子制御装置〕：
前記第１乃至第７に記載の特徴を有する電子制御装置において、前記複数の記憶ブロックから読み出したデータがいずれも前記診断手段で異常と診断された場合は、初期値データを使用することを特徴とする電子制御装置。
【０１９４】
〔第１０の特徴を有する電子制御装置〕：
前記第１乃至第９に記載の特徴を有する電子制御装置において、前記データ読み出しは前記電子制御装置の起動処理の中で行うことを特徴とする電子制御装置。
【０１９５】
〔第１１の特徴を有する電子制御装置〕：
前記第１乃至第１１に記載の特徴を有する電子制御装置において、前記データ書き込みは前記電子制御装置の終了処理の中で行うことを特徴とする電子制御装置。
上記図１から図２０に記載の実施の形態は、一般制御装置に適用した場合に有効であるが、さらに電池システムに適用すると大変効果的であり、特に使用環境が信頼性に大きく影響するリチウム電池システムに使用すると大きな効果が得られる。
【０１９６】
〔履歴データ〕
次に図６に示す書き換え可能な不揮発性メモリ１１０６あるいは図７に示す書き換え可能な不揮発性メモリ１１１６に記憶されて保存される保存データの内の履歴データについて説明する。
【０１９７】
この保存データの一例を図８に示す。上述のとおり、ファイルＫＤ１には、アナログデジタル変換機１２２Ａのオフセット電圧などを補正するための補正値、他の色々な計測計の補正値が保持されている。これらは製品の出荷時に記憶される情報である。またファイルＫＤ２には以下で説明する履歴データが保持されている。その他にファイルＫＤ３があり、電源システム１や電池システムの使用環境を示す情報が保持されている。ファイルＫＤ２やファイルＫＤ３は、電源システム１や電池システムの使用に伴いデータが更新される。
【０１９８】
上記ファイルＫＤ２の履歴データについて、図１に示す電源システム、あるいは図１より複雑な構成を有する図２８の電源システムを用いて説明する。図２８は既に説明した図１の電池モジュール１０を二組有しており、電池モジュール１１および電池モジュール１２はそれぞれ図１の電池モジュール１０と同様な構成であり、同様に動作する。また図1の電池モジュール１０の監視および制御を行うための既に説明した集積回路３Ａ〜集積回路３Ｎと同様な構成で同様に動作する集積回路３１Ａ〜集積回路３１Ｎが電池モジュール１１に対して設けられており、同じく集積回路３２Ａ〜集積回路３２Ｎが電池モジュール１２に対して設けられている。各集積回路３１Ａ〜集積回路３１Ｎおよび集積回路３２Ａ〜集積回路３２Ｎは上述の集積回路３Ａ〜集積回路３Ｎに付いて説明したのと同様に動作し、バッテリコントローラ２０とそれぞれ伝送路５２および５４で繋がっている。
【０１９９】
図１および図２８の電池システムでは、これらのシステムでどのようなデータを履歴データとして保存するかについて同様であるので、代表して図２８の電池システムを例として説明する。なお、電池アッセンブリ１６は、電池モジュール１１と、電池モジュール１１を構成する各リチウム電池セルの端子電圧の計測や診断さらに各リチウム電池セルのＳＯＣの均一化を図るための集積回路３１Ａ〜３１Ｎで構成されている。また電池アッセンブリ１７は、電池モジュール１２と、電池モジュール１２を構成する各リチウム電池セルの端子電圧の計測や診断さらに各リチウム電池セルのＳＯＣの均一化を図るための集積回路３２Ａ〜３２Ｎで構成されている。電流計ＳＡ１および電流計ＳＡ２はそれぞれ電池モジュール１１および電池モジュール１２の出力電流あるいは充電電流を計測し、バッテリコントローラ２０に出力する。また電池モジュール１１および電池モジュール１２の電池モジュール全体の端子電圧は電圧計ＳＶで計測され、バッテリコントローラ２０へ出力される。
【０２００】
図２９は各リチウム電池セルのＳＯＣの均一化のための動作時間が、電池モジュールの使用経過、即ち電池システムの使用経過に従ってどのように変化したかを示すグラフである。先に図２を用いて説明したとおり、例えばリチウム電池セルＢＣ１〜ＢＣ４のＳＯＣにバラツキがあると、特にＳＯＣ均一化動作の項目で詳述したように、リチウム電池セルの充電が十分に行えなくなる。そのため図２に示すバランシングスイッチ１２９（図２では１２９Ａ〜Ｄ）を動作させてＳＯＣの大きいリチウム電池セルに蓄えられている電気量を放電し、ＳＯＣの小さいリチウム電池セルのＳＯＣにリチウム電池セルのＳＯＣを揃えるようにする。電池モジュールが劣化するにつれて、あるいは微少リークなどの異常が一部のリチウム電池セルに生じると、電池モジュール内のＳＯＣのバラツキが大きくなり、バランシングスイッチ１２９の動作時間が長くなる。
【０２０１】
図２９の横軸は電池モジュールの使用経過を表すパラメータで、例えば電池モジュールの出力電流の積算値、あるいは充電電流の積算値、あるいは充電および出力電流の合計の積算値などの電流の積算値を示す。上記積算値が所定の値に達する毎に上記バランシングスイッチ１２９の動作時間を履歴を表す図８の保存データとしてとして記憶する。図２９の横軸に沿った下側の三角マークが、電流の積算値が所定の値に達した状態の記憶タイミングを示しており、図８の保存データＤ１６の記憶タイミングとなっている。上記バランシンググスイッチ１２９の動作時間は図８の保存データＤ１５として更新され、上述の三角の表示のタイミングでのＤ１５の値が保存データＤ１６としてに追加記憶される。そして電源システムの運転重要時に図８に記載のデータは全て、書き換え可能な不揮発性メモリ１１１６に保存される。
【０２０２】
また図２９のグラフが描く曲線は、図８のＤ１５の更新状態の値を示す。またグラフに沿って表示された丸印は、車の運転終了による書き換え可能な不揮発性メモリ１１１６への記憶タイミングであり、図９のステップ８６０や８９４の実行タイミングを表す。なお、実際のステップ８６０や８９４の実行タイミングが頻繁に発生して、図２９に忠実に書き込むと非常に煩雑になるため、一部のみを記載している。
【０２０３】
ここで縦軸は電池モジュール単位のリチウム電池セルに対するバランシングスイッチ１２９の導通時間の合計である。この例では、電池モジュール１１のバランシングスイッチ１２９の導通時間が使用経過Ｔ１の後、急激に増大している。この状態は電池モジュール１１の劣化が急激に進行している、あるいは一部のリチウム電池セルに微少電流のリークなどの異常が生じたことを示している。このため使用経過Ｔ２の状態で、電池モジュール１１を有する電池アッセンブリ１６が取り替えられ、図２９では使用経過Ｔ２の時点で新しく交換された状態を示している。このグラフはバランシングスイッチ１２９の電池モジュール単位での動作時間の合計であるが、この合計の代わりに、電池モジュールの中でバランシングスイッチ１２９の導通時間の最も長い値あるいは比較的長い値を示すバランシングスイッチの導通時間を用いても良い。放電回路を形成するバランシングスイッチの導通時間の最も長い、あるいは導通時間が比較的長いリチウム電池セルは正常なリチウム電池セルであると判断できる。正常な電池セルの放電時間が長くなることは、逆にリーク電流の大きくなりつつある、異常なリチウム電池セルが電池モジュール内に存在することを示している。
単に電池モジュール１１や１２を構成するリチウム電池セルＢＣ１〜ＢＣ４の端子電圧の変化状態を診断するだけでは、リーク電流が大きいなど異常状態が進行し、不具合が大きくなってからでないと、異常なリチウム電池セルの存在を見つけることができない。しかし図２９に記載のように、正常なリチウム電池セルのバランシングスイッチ１２９の動作時間の変化率、あるいは変化幅の変化率を調べることで、微少なリーク電流が生じた段階の早期の異常状態のリチウム電池セルの存在を検知できる。図２９の方法は、異常なリチウム電池セルそのものを特定できないが、異常状態のリチウム電池セルの存在を検知できることで、種々の対応策が可能となり、安全性、信頼性を向上できる。
【０２０４】
使用経過を表すパラメータとしては、上述の電流の積算値の他に、運転時間即ち電池モジュールの動作時間の積算値、あるいは運転回数の積算値が利用できる。リチウム電池セルの劣化は電流の積算値に関係するところが大きく、使用経過を表すパラメータとしては電流の積算値が特に好ましい。しかし自動車などの使用においては、同じような動作（始動、運転、終了等）が繰り返されるので、運転時間や運転回数の積算値と電流の積算値とが似通った傾向を示す場合が多く、運転時間や運転回数の積算値を使用しても上述の効果が得られる。
【０２０５】
図３０に示すグラフは、図２９で説明した方法の代案を説明するためのグラフである。図９のステップ８８４で取り込まれた無負荷状態の各リチウム電池セルの端子電圧が図６のレジスタ２７５に記憶されている。即ち図９のステップ８８２で各集積回路３Ａ〜３Ｎがそれぞれスリープ状態から立ち上がると、図４および図５に示すステージ信号がステージカウンタ２５６と２５８からデコーダ２５７と２５９を介して出力され、図４に示すステージに沿ってリチウム電池セルＢＣ１から順に、リチウム電池セルＢＣ２、リチウム電池セルＢＣ３、リチウム電池セルＢＣ４と、その端子電圧が図６のアナログデジタル変換機１２２Ａに入力され、各リチウム電池セルＢＣ１〜ＢＣ４セルの端子電圧が順に計測される。各リチウム電池セルの無負荷状態の端子電圧は特別に測定結果がレジスタ２７５のＢＢＣ１からＢＢＣ６に記憶され、電源システム１の運転が停止されるまでその値が保持される。レジスタ２７５のＢＢＣ１からＢＢＣ６は６個の電池セルまで対応可能なように設けられており、本例ではリチウム電池セルＢＣ１〜ＢＣ４に対応してＢＢＣ１からＢＢＣ４までが使用される。なお、その後のリチウム電池セルＢＣ１〜ＢＣ４の端子電圧の測定結果はレジスタ２７４に保持される。
【０２０６】
図４の各ステージの動作はステージカウンタ２５６と２５８によって繰り返し、実行されるので、リチウム電池セルＢＣ１〜ＢＣ４の端子電圧は図４のステージに従って繰り返し計測され、レジスタ２７４の保持値が繰り返し更新される。レジスタ２７５および２７４の保持データは、上述のとおり、診断回路２７０により、基準値記憶回路２７８の記憶値と比較され、過充電や過放電、その他の異常の発生の有無が診断される。異常が検知されるとフラグ記憶回路２８４に異常の発生が保持される。異常を示すフラグは、ＯＲ論理回路２８８から出力端子ＦＦＯを介してバッテリコントローラ２０へ異常信号として伝達される。
【０２０７】
図３０は、使用経過を示すパラメータに対するＳＯＣのバラツキ状態の変化、あるいは使用経過を示すパラメータに対するＳＯＣの偏差の変化を表している。微少リークの現象が現れたリチウム電池セルは、単に単独のリチウム電池セルのＳＯＣを見ただけでは、ＳＯＣの変化が微少リーク起因するのか、リチウム電池セルの置かれている環境に起因するのかはっきりしないため、精度の高い検知が難しい。一方他の多くのリチウム電池セルのＳＯＣの変化に対して特定のリチウム電池セルのＳＯＣが特異な変化を示していないかを検査することで、リチウム電池セルの置かれている環境に起因するＳＯＣの影響を取り除くことができる。即ち、電池モジュールの中の異常を生じるリチウム電池セルの割合は非常に少ないことが発明者の研究で明らかになっており、電池モジュールの中のほとんどのリチウム電池セルは正常である。このためほとんどのリチウム電池セルのＳＯＣは、置かれている環境が略同じなので、同じような変化を示す。したがって、得意なＳＯＣの変化を示すリチウム電池セルは置かれている環境以外の要因で変化していると見ることができる。その要因が微少リークである確率が非常に高い。このことからＳＯＣの相対的な変化を検査することで、異常なリチウム電池セルを高い精度で検知できる。
【０２０８】
異常検知を説明するためのグラフである図２９と図３０、および図２９と図３０に示す異常検知方法を示す図３１の動作フローを用いて、前記バッテリコントローラ２０の動作を説明する。図９のステップ８８４で各集積回路３Ａ〜３Ｎは、無負荷状態のリチウム電池セルＢＣ１〜ＢＣ４の端子電圧を計測し、各集積回路３Ａ〜３Ｎのレジスタ２７５（図６）に計測した端子電圧を保持する。バッテリコントローラ２０は繰り返し、図９のステップ８３２を実行するが、ステップ８３２の最初の実行で、無負荷状態の各リチウム電池セルＢＣ１〜ＢＣ４の端子電圧の値から、各リチウム電池セルＢＣ１〜ＢＣ４のＳＯＣを演算し、各リチウム電池セルＢＣ１〜ＢＣ４の放電回路を形成するバランシングスイッチ１２９の導通時間を演算する。このように無負荷状態の各リチウム電池セルＢＣ１〜ＢＣ４の端子電圧の計測値に基づく処理を図３１を用いて説明する。
【０２０９】
図３１で、無負荷状態の各リチウム電池セルＢＣ１〜ＢＣ４の端子電圧の計測値に基づく処理を行う、最初のステップ８３２（図９）では、ステップ１３５１からステップ１３５３にバッテリコントローラ２０の実行が移る。無負荷状態の処理を行った後のステップ８３２（図９）の実行では、バッテリコントローラ２０の実行がステップ１３５１からステップ１３５２に移る。ステップ１３５２での動作の説明は省略する。
【０２１０】
今各集積回路３Ａ〜３Ｎが測定した無負荷状態の電源システム全体の各リチウム電池セルＢＣ１〜ＢＣ４の端子電圧を、各集積回路３Ａ〜３Ｎのレジスタ２７５から、ステップ１３５３でバッテリコントローラ２０が取り込み、図８のファイルＫＤ２のＤ１３に保持する。データＤ１３は具体的には全てのリチウム電池セルの端子電圧を有している。ステップ１３５３で、無負荷状態の各リチウム電池セルの端子電圧からそれぞれのリチウム電池セルのＳＯＣを演算し、図８に示すＤ１５のデータとしてバッテリーコントローラ２０の揮発性メモリ１１１７に書き込み、保持する。
【０２１１】
次にステップ１３５４で、既に記憶していた各リチウム電池セルＢＣ１〜ＢＣ４の過去の端子電圧と比較し、端子電圧そのものが大きく変化していないかを診断する。
例えば車が駐車状態で数日間放置された場合に、微少なリークが生じている異常な電池セルの端子電圧は、他の正常なリチウム電池セルに比べて電圧の低下が大きくなる。前回の運転終了時に記憶した各リチウム電池セルの端子電圧に対して、その変化をそれぞれステップ１３５４で演算し、先ず端子電圧の低下の大きい電池セルを検査する。もし端子電圧の低下の大きい電池セルがあれば（ステップ１３５６）異常と判断する。
【０２１２】
さらに電池セルの端子電圧のバラツキを保存してある以前の値と比較する。各電池セルが正常であれば、互いに同じように端子電圧が低下するので、バラツキの増大は少ない。ここでバラツキとは各電池モジュールに含まれる、複数のリチウム電池セルの端子電圧のバラツキである。このバラツキが拡大していることは、微少リークが生じている異常な電池セルが存在している可能性が高いこととなる。このようなバラツキの拡大が基準値以上である場合に、ステップ１３５５に実行が移り、異常と判断する。さらにこの上を運転者に知らせるために警告表示を行うと共に、関係する制御装置に連絡される。
上記ばらつきの代わりに偏差の拡大を検査しても良い。ここで偏差とは平均値に対する各電池セルの測定値の差である。各電池セルは、駐車中は、同じ時間、比較的同じ条件で放置されるので、正常な電池セルは同じように変化するはずである。偏差が拡大する電池セルは異常と判断することができる。
【０２１３】
次にステップ１３５４で各電池セルの無負荷状態の端子電圧からＳＯＣをそれぞれ演算する。ＳＯＣのバラツキあるいは偏差は、図３０に示すように、正常な電池セルであれば変化が小さい。この変化が大きい電池セル、あるいは電池モジュールは異常な電池セルが存在すると考えられる。ステップ１３５６で、ばらつきの大きい電池モジュールが検知されるとステップ１３５５へ実行が移り、異常と判断する。さらにこの上を運転者に知らせるために警告表示を行うと共に、関係する制御装置に連絡される。ここで、ばらつきとはＳＯＣの大きい値とＳＯＣの小さい値との差である。またＳＯＣの偏差とは各リチウム電池セルと電池モジュールの平均のＳＯＣとの差である。図３０に示す如く、異常な電池セルはＳＯＣのバラツキおよび偏差が拡大する。ＳＯＣのバラツキあるいはＳＯＣの偏差の拡大を調べることにより、電池モジュール単位の異常を診断を高精度に行うことができ、微細な異常が発生したリチウム電池セルを早期に検知できる。ステップ１３５６でのＳＯＣのバラツキの拡大あるいはＳＯＣの偏差の拡大の検査の後、正常であれば、ステップ１３５７に実行が移る。
【０２１４】
次に各リチウム電池セルＢＣ１〜ＢＣ４の無負荷状態の端子電圧の値から求めたＳＯＣのバラツキに基づき、ＳＯＣの大きい電池セルに対する図２のスイッチ１２９を導通させて放電回路を形成するための、スイッチの導通時間を演算で求める。このスイッチ１２９の導通時間を積算し、ステップ１３５８で以前の値に対して増大していないかどうかを検査する。増大している場合には、ステップ１３５５を実行する。このようにして異常あるいは異常に繋がる電池セルの劣化を検知する。
【０２１５】
図８に記載の、書き換え可能な不揮発性メモリのデータは、運転開始時に図９のステップ８８４やステップ８１０において、揮発性メモリーに書き込まれる。運転の開始および終了時の無負荷状態のリチウム電池セルの端子電圧により、ＳＯＣを正確に検知できるので、図８Ａ欄のデータのＤ１３，Ｄ１５，Ｄ１７のデータは、運転の開始および終了時の無負荷状態のそれぞれの値が揮発性メモリに保持される。図２９および図３０に示す丸印は運転終了時の揮発性メモリから書き換え可能な不揮発性メモリへの書き込みタイミングと書き込みデータの値、および書き換え可能な不揮発性メモリから揮発性メモリへ移されるデータを示している。実際は車の駐車中にリチウム電池は放電するので、運転開始時の測定値は運転終了時の記憶値に対して少し変化しているが、グラフが煩雑になるので、省略している。
【０２１６】
また図２９と図３０に記載の三角印は、図８のＢ欄に記憶して履歴データとする保持タイミングを示している。この三角印のタイミングは、前記使用経過を示すパラメータが所定の値になる毎に発生し、この三角で示すタイミングで繰り返しデータが追加保存され、上述の履歴データが蓄えられていく。図３２に示す動作フローを用いて使用経過を示すパラメータの上記三角印のタイミングで行われる履歴データの保持動作について説明する。
【０２１７】
図３２に示す動作フローは、所定時間毎に例えば数百ミリ秒毎に実行される。ステップ１３６２で、各種計測データおよび演算データに基づいて、図８のＡ欄のデータを、現在の状態を表すデータに更新する。例えば図８のデータＤ１１，Ｄ１３，Ｄ１５，Ｄ１７，Ｄ１９，Ｄ２１，Ｄ２３を更新する。次にステップ１３６４で、使用経過を示すパラメータの積算の演算を行う。パラメータとしては、上述のリチウム電池モジュールの電流値、あるいは電池システムの運転時間、あるいは電池システムの運転回数、などが使用可能である。次にステップ１３６６で積算された使用経過を示すパラメータの値が、履歴データの保持条件に相当する、図２９や３０に示す三角印のタイミングかどうかを判断し、図２９や３０に示す三角印のタイミングである履歴データの保持条件である場合に、図８のＡ欄のデータＤ１１，Ｄ１３，Ｄ１５，Ｄ１７，Ｄ１９を、Ｄ１２，Ｄ１４，Ｄ１６，Ｄ１８，Ｄ２０のデータとして、ステップ１３６８で図８のＢ欄に追加保存し、以後保存データとして保持する。もしステップ１３６６で図２９や図３０のタイミングでなければ、ステップ１３７８に移り、図３２の動作フローは終了する。
【０２１８】
次にステップ１３７０で劣化あるいは異常の有無を診断する。具体的には三角のタイミングで追加保存した過去の履歴データを基に、上述の新たな履歴データと、その一つ前の三角で示すの使用経過パラーメータの保持条件に基づく履歴データとの間の変化率をそれぞれ演算する。さらにその前の三角のタイミング間の変化率を順次計算する。次のステップ１３７４で、新たなタイミングでの変化が過去の変化に比べ、急激に増加しているかどうかを判断し、前記変化の変化率が基準値である定数を超えて増大して場合に、ステップ１３７６で劣化あるいは異常と判断する。ステップ１３７４で、変化率が小さい場合には、異常なリチウム電池セルが存在しないと判断し、ステップ１３７８に移り、図３２の動作フローは終了する。
【０２１９】
図３３は図２９や図３０に記載のリチウム電池セルの異常を検知する方法の代案を説明するグラフであり、所定の周期で実施される診断プログラムを実行した際に発生した警報の発生回数を図示したものである。
図１の電池モジュール１０を診断する集積回路３Ａ〜３Ｎ、あるいは図２８の電池モジュール１１を診断する集積回路３１Ａ〜３１Ｎ、あるいは電池モジュール１２を診断する集積回路３２Ａ〜３２Ｎの診断動作により発せされる警報回数を、使用経過を表すパラメータに沿って示している。図２９や図３０と同様、横軸は使用経過であり、縦軸は上述の警報発生回数であり、図３３中に記載の丸印や三角印は図２９や図３０と同様の意味である。
【０２２０】
図３３に記載の例は、図２９に記載の内容と同様、使用経過Ｔ１の後、電池モジュール１１の警報の発生件数が急激に増加している。この状態は電池モジュール１１の劣化が急激に進行している、あるいは一部のリチウム電池セルに微少電流のリークなどの異常が生じたことを示している。このため使用経過Ｔ２の状態で、電池モジュール１１を有する電池アッセンブリ１６が、新しい電池モジュールに取り替えられた状態を示している。
【０２２１】
図３４は図３３で説明した診断動作を実行する動作フローを示し、所定時間毎に実行される。この動作フローは図６のデジタル比較器２７０で上述したようにセルの異常が検知され、集積回路の出力端子ＦＦＯからバッテリコントローラ２０に伝送路５４および絶縁回路であるフォトカプラＰＨ４を介して送られてくる診断結果を含む信号を基に、リチウム電池セルの劣化あるいは異常を検知する動作を実行する。ステップ１４０２で、バッテリーコントローラ２０のＦＦ１およびＦＦ２の端子（図２８）に伝送路５４および絶縁回路であるフォトカプラＰＨ４を介して送られてくる診断結果を含む信号を受信する。次にステップ１４０４でＦＦ１およびＦＦ２の信号に異常信号が含まれているかどうか判断し、異常信号が含まれている場合、ステップ１４０６で異常フラグを立てる。一方伝送路が正常であるかどうかを検査するための検査信号の場合など、異常を表す信号でない場合は、ステップ１４２１に移り、診断プログラムの実行を終了する。
【０２２２】
バッテリコントローラ２０はステップ１４０８で異常の原因を調べるため各集積回路に図６のレジスタ２７５や２７４、ＲＡＭ１１０７の保持データ、さらに図６に示す各集積回路のフラグ記憶回路２８４の情報のバッテリコントローラ２０への送信を、伝送路５２を介して命令する。ステップ１４１２で各集積回路から送られてきた上記データである測定値やフラグ情報に基づいて、異常信号の発生原因を調べる。ステップ１４１３で、異常信号の発生原因を基に、通常運転を続けるか、運転停止あるいは縮退運転するかを判断する。運転停止あるいは縮退運転の場合はステップ１４１６に実行が移り、関係する制御装置に電源システムの運転停止あるいは縮退運転の要求を連絡する。この場合は次のステップ１４２０で、図８にこの状態を記憶する。上記運転停止あるいは縮退運転の要求を連絡する関係する制御装置とは、例えば、モータを制御する図７のインバータ装置２２０の制御回路２２２や、車全体の運転を制御する外部コントローラ１１１である。その他、回生ブレーキ制御にも影響するので、車両のブレーキ装置にも連絡し、縮退運転のモードなどに移る。
【０２２３】
異常信号の発生にも関わらず、運転を継続する場合は、ステップ１４１４で警告発生の回数を積算して積算値を求め、図８のＡ欄のデータＤ１９として警告回数を記憶する。さらに図８のＢ欄の履歴データＤ２０を利用して、ステップ１４１４で警告件数の増加割合を算出する。計算された増加の割合が基準値より大きいかどうかをステップ１４１５で判断し、増加割合が多い場合はステップ１４１６に実行が移り、運転停止の要求あるいは縮退運転の要求を関係する制御装置に送信すると共に、運転者に警告表示する。さらにステップ１４２０でその内容が図８の保存データに保存される。警告件数の増加割合が基準値を超えない場合はステップ１４２１に実行が移り、実行を終了する。なお、図８のＡ欄のデータＤ１９は、図３２に示すステップ１３６８の実行により、履歴データとして図８のＢ欄の履歴データＤ２０として保存される。
【０２２４】
図３３は、異常信号の発生頻度を示しており、頻度の急激な増加を上述の図３４の動作フローにより、異常信号の発生頻度の増加を検知することにより、リチウム電池セルＢＣ１〜ＢＣ４の劣化あるいは異常状態の発生、あるいは電池モジュールの劣化あるいは異常状態の発生を高い精度で検知できる。
【０２２５】
上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【０２２６】
次の優先権基礎出願の開示内容は引用文としてここに組み込まれる。
日本国特許出願２００９年第２２１８２５号（２００９年９月２８日出願）。
【図１】
0005529877.tif 000002
【図２】
0005529877.tif 000003
【図３】
0005529877.tif 000004
【図４】
0005529877.tif 000005
【図５】
0005529877.tif 000006
【図６】
0005529877.tif 000007
【図７】
0005529877.tif 000008
【図８】
0005529877.tif 000009
【図９】
0005529877.tif 000010
【図１０】
0005529877.tif 000011
【図１１】
0005529877.tif 000012
【図１２】
0005529877.tif 000013
【図１３】
0005529877.tif 000014
【図１４】
0005529877.tif 000015
【図１５】
0005529877.tif 000016
【図１６】
0005529877.tif 000017
【図１７】
0005529877.tif 000018
【図１８】
0005529877.tif 000019
【図１９】
0005529877.tif 000020
【図２０】
0005529877.tif 000021
【図２１】
0005529877.tif 000022
【図２２】
0005529877.tif 000023
【図２３】
0005529877.tif 000024
【図２４】
0005529877.tif 000025
【図２５】
0005529877.tif 000026
【図２６】
0005529877.tif 000027
【図２７】
0005529877.tif 000028
【図２８】
0005529877.tif 000029
【図２９】
0005529877.tif 000030
【図３０】
0005529877.tif 000031
【図３１】
0005529877.tif 000032
【図３２】
0005529877.tif 000033
【図３３】
0005529877.tif 000034
【図３４】
0005529877.tif 000035