"蓄電池に設けられた複数の電池の電圧を計測し、その計測結果に基づいて電圧値が正常範囲か否かを診断する集積回路と、前記集積回路の計測結果および診断結果に基づいて蓄電池の状態を監視する上位コントローラとを備えた蓄電池監視装置であって、前記集積回路は、複数の電池の電圧を計測する計測部と、前記計測部で計測された電圧計測値が記憶される第1記憶部と、前記電圧計測値が正常範囲か否かを判定するための判定基準値が記憶される第2記憶部と、二つの値の大小関係を比較する比較回路と、を有し、前記第2記憶部に記憶されている値および前記第1記憶部に記憶された電圧計測値を前記比較回路に入力して、該電圧計測値が正常範囲か否かを診断する第1の診断を行い、前記上位コントローラは、前記第2記憶部に記憶されている前記判定基準値を、前記第1記憶部に記憶されている電圧計測値よりも大きなまたは小さな値に書き換えて、その書き換えた値と前記第1記憶部に記憶されている電圧計測値とに基づく前記第1の診断に基づいて、前記比較回路が正常に動作しているか否かを判定することを特徴とする蓄電池監視装置。請求項1に記載の蓄電池監視装置において、前記集積回路は、前記第1の診断を所定時間間隔で繰り返し行い、前記上位コントローラは、前記書き換え後に前記集積回路により得られる前記第1の診断に基づいて判定を行うとともに、前記第2記憶部に記憶されている前記電圧計測値を前記判定基準値に書き換えることを特徴とする蓄電池監視装置。請求項1に記載の蓄電池監視装置において、前記集積回路は、前記第2記憶部に記憶されている値よりも所定値だけ異なる値を演算する演算回路を備え、前記第2記憶部に記憶されている値と前記演算回路の演算結果とを前記比較回路に入力して、前記演算回路が正常動作しているか否かを診断する第2の診断を行い、前記上位コントローラは、前記第2記憶部に記憶されている前記判定基準値を、前記第1記憶部に記憶されている電圧計測値よりも大きなまたは小さな値に書き換えて、その書き換えた値と前記演算回路の演算結果とに基づく前記第2の診断に基づいて、前記演算回路が正常に動作しているか否かを判定することを特徴とする蓄電池監視装置。請求項3に記載の蓄電池監視装置において、前記集積回路は、前記第1および第3の診断を所定時間間隔で繰り返し行い、前記上位コントローラは、前記書き換え後に前記集積回路により得られる前記第1および第2の診断に基づいて前記比較回路および演算回路に関する前記判定を行うとともに、前記第2記憶部に記憶されている前記電圧計測値を前記判定基準値に書き換えることを特徴とする蓄電池監視装置。請求項3または4に記載の蓄電池監視装置において、前記集積回路は、第1の診断の診断結果を記憶する第3記憶部と、第2の診断の診断結果を記憶する第4記憶部と、を備え、前記上位コントローラは、前記第3記憶部および第4記憶部に記憶されている診断結果に基づいて、前記比較回路および演算回路が正常に動作しているか否かを判定することを特徴とする蓄電池監視装置。請求項3乃至5のいずれか一項に記載の蓄電池監視装置において、前記上位コントローラは、前記判定基準値の前記書き換えを所定時間間隔で繰り返し行うことを特徴とする蓄電池監視装置。請求項3乃至5のいずれか一項に記載の蓄電池監視装置において、前記上位コントローラは、前記判定基準値の前記書き換えを蓄電池監視装置の始動直後に行うことを特徴とする蓄電池監視装置。請求項1乃至7のいずれか一項に記載の蓄電池監視装置において、前記判定基準値は、前記電池の過放電閾値または過充電閾値であることを特徴とする蓄電池監視装置。しかしながら、上述した従来の蓄電池監視装置では、集積回路の自己診断結果が本当に正しいのか、上位コントローラは確かめることができないという問題があった。本発明に係る蓄電池監視装置は、蓄電池に設けられた複数の電池の電圧を計測し、その計測結果に基づいて電圧値が正常範囲か否かを診断する集積回路と、集積回路の計測結果および診断結果に基づいて蓄電池の状態を監視する上位コントローラとを備える。そして、集積回路は、複数の電池の電圧を計測する計測部と、計測部で計測された電圧計測値が記憶される第1記憶部と、電圧計測値が正常範囲か否かを判定するための判定基準値が記憶される第2記憶部と、二つの値の大小関係を比較する比較回路と、を有し、第2記憶部に記憶されている値および第1記憶部に記憶された電圧計測値を前記比較回路に入力して、該電圧計測値が正常範囲か否かを診断する第1の診断を行い、上位コントローラは、第2記憶部に記憶されている判定基準値を、第1記憶部に記憶されている電圧計測値よりも大きなまたは小さな値に書き換えて、その書き換えた値と前記第1記憶部に記憶されている電圧計測値とに基づく第1の診断に基づいて、比較回路が正常に動作しているか否かを判定することを特徴とする。本発明によれば、集積回路とその上位コントローラを備える蓄電池監視装置おいて、集積回路の自己診断結果が正しいか否かを上位コントローラ側で診断可能となり、蓄電池監視装置の信頼性を更に向上させることができる。以下、図を参照して本発明を実施するための形態について説明する。本発明に係る蓄電池監視装置は様々な形態の蓄電池に適用可能であるが、以下に述べる実施の形態では、ハイブリッド自動車や電気自動車などの車両用回転電機の駆動システムに用いられる蓄電池監視装置を例に説明する。まず、図1~6を用いて、車両用回転電機の駆動システムにおける蓄電池監視装置の概略を説明し、図7、8を参照してより詳細に説明する。図1は車両用回転電機の駆動システムを示すブロック図である。図1に示す駆動システムは、電池モジュール9、電池モジュール9を監視する蓄電池監視装置100、電池モジュール9からの直流電力を3相交流電力に変換するインバータ装置220、車両駆動用のモータ230を備えている。モータ230は、インバータ装置220からの3相交流電力により駆動される。インバータ装置220と蓄電池監視装置100とはCAN通信で結ばれており、インバータ装置220は蓄電池監視装置100に対して上位コントローラとして機能する。また、インバータ装置220は、さらに上位のコントローラ不図示からの指令情報に基づいて動作する。インバータ装置220は、パワーモジュール226と、MCU222と、パワーモジュール226を駆動するためのドライバ回路224とを有している。パワーモジュール226は、電池モジュール9から供給される直流電力を、モータ230を駆動するための3相交流電力に変換する。なお、図示していないが、パワーモジュール226に接続される強電ラインHV,HV-間には、約700μF~約2000μF程度の大容量の平滑キャパシタが設けられている。この平滑キャパシタは、蓄電池監視装置100に設けられた集積回路に加わる電圧ノイズを低減する働きをする。インバータ装置220の動作開始状態では平滑キャパシタの電荷は略ゼロであり、リレーRLを閉じると大きな初期電流が平滑キャパシタへ流れ込む。そして、この大電流のためにリレーRLが融着して破損するおそれがある。この問題を解決するために、MCU222は、さらに上位のコントローラからの命令に従い、モータ230の駆動開始時に、プリチャージリレーRLPを開状態から閉状態にして平滑キャパシタを充電し、その後にリレーRLを開状態から閉状態として、電池モジュール9からインバータ装置220への電力の供給を開始する。平滑キャパシタを充電する際には、抵抗RPを介して最大電流を制限しながら充電を行う。このような動作を行うことで、リレー回路を保護すると共に、電池セルやインバータ装置220を流れる最大電流を所定値以下に低減でき、高い安全性を維持できる。なお、インバータ装置220は、モータ230の回転子に対するパワーモジュール226により発生する交流電力の位相を制御して、車両制動時にはモータ230をジェネレータとして動作させる。すなわち回生制動制御を行い、ジェネレータ運転により発電された電力を電池モジュール9に回生して電池モジュール9を充電する。電池モジュール9の充電状態が基準状態より低下した場合には、インバータ装置220はモータ230を発電機として運転する。モータ230で発電された3相交流電力は、パワーモジュール226により直流電力に変換されて電池モジュール9に供給される。その結果、電池モジュール9は充電される。一方、モータ230を力行運転する場合、MCU222は上位コントローラの命令に従い、モータ230の回転子の回転に対して進み方向の回転磁界を発生するようにドライバ回路224を制御し、パワーモジュール226のスイッチング動作を制御する。この場合は、電池モジュール9から直流電力がパワーモジュール226に供給される。また、回生制動制御により電池モジュール9を充電する場合には、MCU222は、モータ230の回転子の回転に対して遅れ方向の回転磁界を発生するようにドライバ回路224を制御し、パワーモジュール226のスイッチング動作を制御する。この場合はモータ230から電力がパワーモジュール226に供給され、パワーモジュール226の直流電力が電池モジュール9へ供給される。結果的にモータ230は発電機として作用することとなる。インバータ装置220のパワーモジュール226は、導通および遮断動作を高速で行い直流電力と交流電力間の電力変換を行う。このとき、大電流を高速で遮断するので、直流回路の有するインダクタンスにより大きな電圧変動が発生する。この電圧変動を抑制するため、上述した大容量の平滑キャパシタが設けられている。電池モジュール9は、直列接続された2つの電池ブロック9A,9Bで構成されている。各電池ブロック9A,9Bは、直列接続された16セルの電池セルを備えている。電池ブロック9Aと電池ブロック9Bとは、スイッチとヒューズとが直列接続された保守点検用のサービスディスコネクトSDを介して直列接続される。このサービスディスコネクトSDが開くことで電気回路の直接回路が遮断され、仮に電池ブロック9A,9Bのどこかで車両との間に1箇所接続回路ができたとしても電流が流れることはない。このような構成により高い安全性を維持できる。又、点検時に人間がHVとHV-の間を触っても、高電圧は人体に印加されないので安全である。電池モジュール9とインバータ装置220との間の強電ラインHVには、リレーRL,抵抗RPおよびプリチャージリレーRLPを備えた電池ディスコネクトユニットBDUが設けられている。抵抗RPとプリチャージリレーRLPとの直列回路は、リレーRLと並列に接続されている。蓄電池監視装置100は、主に各セル電圧の測定、総電圧の測定、電流の測定、セル温度およびセルの容量調整等を行う。そのために、セルコントローラとしてのIC集積回路1~IC6が設けられている。各電池ブロック9A,9B内に設けられた16セルの電池セルは、それぞれ3つのセルグループに分けられ、各セルグループ毎に一つの集積回路が設けられている。IC1~IC6は、通信系602と1ビット通信系604とを備えている。セル電圧値読み取りや各種コマンド送信のための通信系602においては、絶縁素子例えば、フォトカプラPHを介してデイジーチェーン方式でマイコン30とシリアル通信を行う。1ビット通信系604は、例えば、セル過充電が検知されたときの異常信号を送信する。図1に示す例では、通信系602は、電池ブロック9AのIC1~IC3に対する上位の通信経路と、電池ブロック9BのIC4~IC6に対する下位の通信経路とに分けられている。各IC1~IC6は異常診断を行い、自分自身が異常と判断した場合、あるいは前のICから異常信号を受信端子FFIで受信した場合に、送信端子FFOから異常信号を送信する。一方、既に受信端子FFIで受信していた異常信号が消えたり、あるいは自分自身の異常判断が正常判断となったりした場合には、送信端子FFOから伝送される異常信号は消える。この異常信号は本実施形態では1ビット信号である。マイコン30は異常信号をICに送信しないが、異常信号の伝送路である1ビット通信系604が正しく動作することを診断するために、擬似異常信号であるテスト信号を1ビット通信系604に送出する。このテスト信号を受信したIC1は異常信号を通信系604へ送出し、その異常信号がIC2によって受信される。異常信号はIC2からIC3、IC4、IC5、IC6の順に送信され、最終的にはIC6からマイコン30へと返信される。通信系604が正常に動作していれば、マイコン30から送信された擬似異常信号は通信系604を介してマイコン30に戻ってくる。このように擬似異常信号をマイコン30が送受することで通信系604の診断ができ、システムの信頼性が向上する。電池ディスコネクトユニットBDU内にはホール素子等の電流センサSiが設置されており、電流センサSiの出力はマイコン30に入力される。電池モジュール9の総電圧および温度に関する信号もマイコン30に入力され、それぞれマイコン30のAD変換器ADCによって測定される。温度センサは電池ブロック9A,9B内の複数箇所に設けられている。図2は、図1の電池ブロック9Aに関するIC1~IC3の部分を示す図である。なお、説明は省略するが、電池ブロック9Bに関しても同様の構成となっている。電池ブロック9Aに設けられている16セルの電池セルは、4セル、6セル、6セルの3つにセルグループに分かれており、各セルグループに対応してIC1,IC2,IC3が設けられている。IC1のCV1~CV6端子は電池セルのセル電圧を計測するための端子であり、各ICは6セルまで計測することができる。6セルを監視するIC2,IC3の場合、CV1~CV6端子の電圧計測ラインには、端子保護及び容量調整の放電電流制限のための抵抗RCVがそれぞれ設けられている。一方、4セルを監視するIC1の場合には、CV3~CV6端子の電圧計測ラインに、端子保護及び容量調整の放電電流制限のための抵抗RCVがそれぞれ設けられている。各電圧計測ラインはセンシング線LSを介して各電池セルBCの正極または負極に接続されている。なお、電池セルBC6の負極には、IC2,IC3のGNDS端子が接続されている。例えば、電池セルBC1のセル電圧を計測する場合には、CV1-CV2端子間の電圧を計測する。また、電池セルBC6のセル電圧を計測する場合には、CV6-GNDS端子間の電圧を計測する。IC1の場合には、CV3~CV6端子およびGNDS端子を用いて電池セルBC1~BC4のセル電圧を計測する。電圧計測ライン間には、コンデンサCv,Cinは、ノイズ対策として設けられている。電池モジュール9の性能を最大限に活用するためには、32セルのセル電圧を均等化する必要がある。例えば、セル電圧のばらつきが大きい場合、回生充電時に最も高い電池セルが上限電圧に達した時点で回生動作を停止する必要がある。この場合、その他の電池セルのセル電圧は上限に達していないにもかかわらず、回生動作を停止して、ブレーキとしてエネルギーを消費することになる。このようなことを防止するために、各ICは、マイコン30からのコマンドで電池セルの容量調整のための放電を行う。図2に示すように、各IC1~IC3は、CV1-BR1,BR2-CV3,CV3-BR3,BR4-CV5,CV5-BR5およびBR6-GNDSの各端子間にセル容量調整用のバランシングスイッチBS1~BS6を備えている。例えば、IC1の電池セルBC1の放電を行う場合には、バランシングスイッチBS3をオンする。そうすると、電池セルCV1の正極→抵抗RCV→CV1端子→バランシングスイッチBS3→BR3端子→抵抗RB→電池セルCV1の負極の経路でバランシング電流が流れる。RBまたはRBBはバランシング用の抵抗である。IC1~IC3間には、上述したように通信系602,604が設けられている。マイコン30からの通信コマンドは、フォトカプラPHを介して通信系602に入力され、通信系602を介してIC1の受信端子LIN1で受信される。IC1の送信端子LIN2からは、通信コマンドに応じたデータやコマンドが送信される。IC2の受信端子LIN1で受信された通信コマンドは、送信端子LIN2から送信される。このように順に受信および送信を行い、伝送信号は、IC3の送信端子LIN2から送信され、フォトカプラPHを介してマイコン30の受信端子で受信される。IC1~IC3は、受信した通信コマンドに応じて、セル電圧等の測定データのマイコン30への送信や、バランシング動作を行う。さらに、各IC1~IC3は、測定したセル電圧に基づいてセル過充電を検知する。その検知結果異常信号は、信号系604を介してマイコン30へ送信される。図3はIC内部ブロックの概略を示す図であり、6つの電池セルBC1~BC6が接続されるIC2を例に示した。なお、説明は省略するが、他のICに関しても同様の構成となっている。IC2には、電池状態検出回路としてのマルチプレクサ120やアナログデジタル変換器122A,IC制御回路123,診断回路130,伝送入力回路138,142,伝送出力回路140,143,起動回路254,タイマ回路150,制御信号検出回路160,差動増幅器262およびOR回路288が設けられている。電池セルBC1~BC6の各端子の電位は、CV1端子~CV6端子およびGNDS端子を介してマルチプレクサ120に入力される。マルチプレクサ120はCV1端子~CV6端子およびGNDS端子のいずれかを選択して、各端子の電位を差動増幅器262に入力する。CV1~CV6,GNDS端子に入力される各電池セルBC1~BC6の端子電位は、IC2のグランド電位に対して直列接続された電池セルの端子電圧に基づく電位でバイアスされている。上記差動増幅器262により上記バイアス電位の影響が除去され、各電池セルBC1~BC6の端子間電圧アナログ値がアナログデジタル変換器122Aに入力される。アナログデジタル変換器122Aは、差動増幅器262の出力されたアナログ値をデジタル値に変換する。デジタル値に変換された端子間電圧はIC制御回路123に送られ、内部のデータ保持回路125に保持される。IC制御回路123は、演算機能を有すると共に、データ保持回路125と、電圧測定や状態診断を周期的に行うタイミング制御回路126と、診断回路130からの診断フラグがセットされる診断フラグ保持回路128とを有している。IC制御回路123は、伝送入力回路138から入力された通信コマンドの内容を解読し、その内容に応じた処理を行う。コマンドとしては、例えば、各電池セルの端子間電圧の計測値を要求するコマンド、各電池セルの充電状態を調整するための放電動作を要求するコマンド、当該ICの動作を開始するコマンドWakeUP、動作を停止するコマンドスリープ、アドレス設定を要求するコマンド、等を含んでいる。診断回路130は、IC制御回路123からの計測値に基づいて、各種診断、例えば過充電診断や過放電診断を行う。データ保持回路125は、例えばレジスタ回路で構成されており、検出した各電池セルBC1~BC6の各端子間電圧を各電池セルBC1~BC6に対応づけて記憶し、また、その他の検出値を、予め定められたアドレスに読出し可能に保持する。IC2の内部回路には、少なくとも2種類の電源電圧VCC,VDDが使用される。図3に示す例では、電圧VCCは直列接続された電池セルBC1~BC6で構成される電池セルグループの総電圧であり、電圧VDDは定電圧電源134によって生成される。マルチプレクサ120および信号伝送のための伝送入力回路138,142は高電圧VCCで動作する。また、アナログデジタル変換器122A、IC制御回路123、診断回路130、信号伝送のための伝送出力回路140,143は低電圧VDDで動作する。IC2の受信端子LIN1で受信した信号は伝送入力回路138に入力され、受信端子FFIで受信した信号は伝送入力回路142に入力される。伝送入力回路142は、伝送入力回路138と同様の回路構成となっている。伝送入力回路138は、隣接する他のICからの信号を受信する回路231とフォトカプラPHからの信号を受信する回路234とを備えている。図2に示すように、最上位のIC1の場合には、フォトカプラPHからの信号が受信端子LIN1に入力され、他のIC2,IC3の場合には、隣接ICからの信号が受信端子LIN1に入力される。そのため、回路231および234のどちらを使用するかは、図3の制御端子CTに印加される制御信号に基づき、切換器233により選択される。制御端子CTに印加された制御信号は、制御信号検出回路160に入力され、切換器233は制御信号検出回路160からの指令により切り替え動作を行う。すなわち、ICの伝送方向最上位のICである場合、すなわち、ICの受信端子LIN1に上位コントローラマイコン30からの信号が入力される場合には、切換器233は下側接点が閉じ、回路234の出力信号が伝送入力回路138から出力される。一方、ICの受信端子LIN1に隣接ICからの信号が入力される場合には、切換器233は上側接点が閉じ、回路232の出力信号が伝送入力回路138から出力される。図3に示すIC2の場合、伝送入力回路138には隣接IC1からの信号が入力されるので、切換器233は上側接点が閉じる。上位コントローラマイコン30からの出力と隣接ICの送信端子LIN2からの出力とでは出力波形の波高値が異なるため、判定する閾値が異なる。そのため、制御端子TCの制御信号に基づいて、回路138の切換器233を切り換えるようにしている。なお、通信系604についても同様の構成となっている。受信端子LIN1で受信された通信コマンドは、伝送入力回路142を通ってIC制御回路123に入力される。IC制御回路123は、受信した通信コマンドに応じたデータやコマンドを伝送出力回路140へ出力する。それらのデータやコマンドは、伝送出力回路140を介して送信端子LIN2から送信される。なお、伝送出力回路143も、伝送出力回路140と同様の構成である。端子FFIから受信した信号は、異常状態過充電信号を伝送するために使用される。端子FFIから異常を表す信号を受信すると、その信号は伝送入力回路142およびOR回路288を介して伝送出力回路143に入力され、伝送出力回路143から端子FFOを介して出力される。また診断回路130で異常を検知すると、端子FFIの受信内容に関係なく、診断フラグ保持回路128からOR回路288を介して伝送出力回路143に異常を表す信号が入力され、伝送出力回路143から端子FFOを介して出力される。隣接ICまたはフォトカプラPHから伝送されてきた信号を起動回路254により受信すると、タイマ回路150が動作し、定電圧電源134に電圧VCCを供給する。この動作により定電圧電源134は動作状態となり、定電圧VDDを出力する。定電圧電源134から定電圧VDDが出力されるとIC2はスリープ状態から立ち上がり動作状態となる。前述したように、IC内には、電池セルBC1~BC6の充電量を調整するためのバランシングスイッチSB1~SB6が設けられている。本実施形態では、バランシングスイッチBS1,BS3,BS5にはPMOSスイッチが用いられ、バランシングスイッチBS2,BS4,BS6にはNMOSスイッチが用いられている。これらのバランシングスイッチSB1~SB6の開閉は、放電制御回路132によって制御される。マイコン30からの指令に基づいて、放電させるべき電池セルに対応したバランシングスイッチを導通させるための指令信号が、IC制御回路123から放電制御回路132に送られる。IC制御回路123は、マイコン30から各電池セルBC1~BC6に対応した放電時間の指令を通信により受け、上記放電の動作を実行する。診断および計測:動作スケジュール概要図4は、図3に示すタイミング制御回路126で行われる計測動作のタイミングを説明する図である。図2に示す各ICは計測動作と共に診断動作を行う機能を有しており、図4に記載の動作タイミングで繰り返し計測を行い、この計測に同期して診断を実行する。なお、上述した図2ではIC1のセルグループは4個の電池セルを有していたが、IC1~IC3は6個の電池セルに対応できる回路となっている。従って、各セルグループを構成する電池セルの数は、最大6個まで増やすことが可能である。そのため、図4の動作タイミングを示す図においても、電池セルが6個を前提として構成されている。IC1~IC3には、それぞれに対応して設けられたセルグループを構成する電池セル数がそれぞれセットされる。それにより、各IC1~IC3は関係付けられたセルグループの電池セル数に対応したステージ信号を発生する。このように構成することで、各セルグループを構成する電池セル数を変えることが可能となり設計の自由度が増大すると共に、高速の処理が可能となる。図4は上述のとおり、診断動作と計測動作のタイミングを説明する図である。上記計測動作のタイミングおよび測定周期、あるいは診断動作は、起動回路254と第1ステージカウンタ256および第2ステージカウンタ258からなるステージカウンタとにより管理される。ステージカウンタ256,258は、集積回路全体の動作を管理する制御信号タイミング信号を発生する。ステージカウンタ256,258は、実際には分離されていないが、ここでは理解しやすくするためにあえて分離して示した。ステージカウンタは通常のカウンタであっても良いし、シフトレジスタであっても良い。起動回路254は、1伝送路から送られてくるWakeUPを要求する通信コマンドを受信端子LIN1で受信すると、あるいは2ICの電源電圧が供給され所定の電圧に達すると、3あるいは車のスタータスイッチキースイッチが投入されたことを表す信号を受信すると、第1と第2のステージカウンタ256,258へリセット信号を出力して各ステージカウンタ256,258を初期状態とし、所定の周波数でクロック信号を出力する。すなわち上記1乃至3の条件でIC1は計測動作および診断動作を実行する。一方、伝送路からSleepを要求する通信コマンドを受信すると、あるいは該通信コマンドを所定時間以上受信出来ないと、起動回路254はステージカウンタ256,258がリセット状態すなわち初期状態に戻ったタイミングで、クロックの出力を停止する。このクロックの出力停止によりステージの進行が停止されるので、上記計測動作および診断動作の実行は停止状態となる。起動回路254からのクロック信号を受け、第1ステージカウンタ256はステージSTG2の各期間後述する[STGCalのRES]期間~[STGPSBGの計測]期間のそれぞれ内の処理タイミングを制御する計数値を出力し、デコーダ257は、ステージSTG2の各期間内の処理タイミングを制御するタイミング信号STG1を発生する。第2ステージカウンタ258の計数値が進むに従い、対応する期間が動作表260の左から右に切り替わる。第2ステージカウンタ258の計数値に応じて、各期間を特定するステージ信号STG2がデコーダ259から出力される。第1ステージカウンタ256は下位のカウンタであり、第2ステージカウンタ258は上位カウンタである。第2ステージカウンタ258の計数値が0000で、第1ステージカウンタ256の計数値が0000~1111の間は、ステージSTGCalのRES期間以下では、[STGCalRES]期間と称するを表す信号がデコーダ259から出力される。そして、[STGCalRES]期間に行われる種々の処理は、第1ステージカウンタ256の計数値0000~1111に基づいて出力されるデコーダ257の信号に基づいて実行される。なお、図4では、第1ステージカウンタ256は4ビットカウンタのように簡略して記載しているが、例えば、第1ステージカウンタ256が8ビットカウンタである場合には、1カウント毎に異なる処理動作が行われるとすると、256種類の処理が可能となる。第2ステージカウンタ258についても第1ステージカウンタ256の場合と同様であって、多数の計数を可能とすることで多数の処理が可能である。第1ステージカウンタ256の計数値が1111となると[STGCalのRES]期間が終了し、第2ステージカウンタ258の計数値が0001となって[STGCalの計測]期間となる。そして、第1ステージカウンタ256が計数値0001である[STGCal計測]期間においては、第1ステージカウンタ256の計数値0000~1111に基づいてデコーダ257から出力される信号に基づいて種々の処理が実行される。そして、第1ステージカウンタ256の計数値が1111となると[STGCalの計測]期間が終了し、第2ステージカウンタ258の計数値が0010となって[STGCV1RES]期間となる。この[STGCV1RES]期間において第1ステージカウンタ256の計数値が1111となると[STGCV1RES]期間を終了し、第2ステージカウンタ258の計数値が0011となって[STGCV1計測]期間が開始される。このように、図4の[STGCalRES]期間からスタートし、第2ステージカウンタ258の計数に従い順に動作期間が右側に移動し、[STGPSGB計測]期間の終了で基本動作が終了する。この次に第2ステージカウンタ258が計数アップすると、再び[STGCalRES]期間がスタートする。なお、図2に示す例では、IC1には4個の電池セルが接続されているので、表260のステージSTGCV5とステージSTGCV6は使用されない、あるいはスキップされてステージSTGCV5とステージSTGCV6は存在しない。また、強制的に第2ステージカウンタ258の内容を特定の計数値とすると、その計数値に対応した期間内の処理が実行される。各ステージにおける診断と計測図4に示す各ステージのRES期間では、計測のために使用するアナログデジタル変換器122Aの初期化を行う。本実施の形態では、ノイズの影響を少なくするためにコンデンサを使用した充放電型のアナログデジタル変換器122Aを使用する、前に行われた動作時にコンデンサに蓄えられた電荷の放電などもこのRES期間で実施する。行260Y2の各ステージの計測期間では、アナログデジタル変換器122Aを使用した計測の実行や、計測された値に基づく被測定対象の診断を行う。ステージSTGCV1~ステージSTGCV6の計測期間では順に電池セルの端子電圧を計測し、さらに計測された値から各電池セルが過充電や過放電の状態にならないかを診断する。実際に過充電や過放電の状態にならないように、過充電や過放電の診断は安全性の幅を取って設定している。なお、図2に示すようにICに接続される電池セルの数が4個の場合は、ステージSTGCV5とステージSTGCV6はスキップされる。ステージSTGVDDの計測期間では図3に示す定電圧電源134の出力電圧が計測される。ステージSTGTEMの計測期間では温度計の出力電圧が測定される。ステージSTGPSBGの計測期間では基準電圧が測定される。電池セルの端子電圧計測図5に示すブロック図は、図3に示したIC内部ブロックのデジタル回路部分を詳しく示したものである。マルチプレクサ120には、図4に示したデコーダ257,259から信号STG1,STG2が入力され、その信号に基づいてマルチプレクサ120による選択動作が行われる。例えば電池セルBC1の電圧を計測する場合には、端子CV1と端子CV2とを選択すると、端子CV1、CV2の電位がマルチプレクサ120から差動増幅器262に出力される。ここでは、電池セルの端子電圧計測について説明する。なお、電池セルBC1~BC4または、BC1~BC6は直列接続されているので、各端子電圧の負極電位が異なっている。そのため、基準電位IC1~IC3内のGND電位をそろえるために差動増幅器262を使用している。差動増幅器262の出力はアナログデジタル変換器122Aによりデジタル値に変換され、平均化回路264に出力される。平均化回路264は所定回数の測定結果の平均値を求める。その平均値は、電池セルBC1の場合には現在値記憶回路274のレジスタCELL1に保持される。なお、図5の現在値記憶回路274、初期値記憶回路275、基準値記憶回路278は、図3のデータ保持回路125に対応する。平均化回路264は、平均化制御回路263に保持された測定回数の平均値を演算し、その出力を上述の現在値記憶回路274に保持する。平均化制御回路263が1を指令すれば、アナログデジタル変換器122Aの出力は、平均化されないでそのまま現在値記憶回路274のレジスタCELL1に保持される。平均化制御回路263が4を指令すれば、電池セルBC1の端子電圧の4回の計測結果が平均化され、その平均値が上記現在値記憶回路274のレジスタCELL1に保持される。4回の平均を演算するには、最初は図4のステージによる計測を4回行うことが必要となるが、4回目以降は最新の測定結果の中から4個の測定値を演算に使用することで、各測定毎に平均化回路264の平均化演算が可能となる。上述のとおり、所定回数の平均化を行う平均化回路264を設けることで、ノイズの悪影響を除去できる。なお、平均化制御回路263に保持されている測定回数は、マイコン30からの通信コマンド292で変えることができる。図1に示す電池モジュール9の直流電力はインバータ装置に供給され、交流電力に変換される。インバータ装置による直流電力から交流電力への変換の際に電流の導通や遮断動作が高速に行われ、そのときに大きなノイズが発生するが、平均化回路264を設けることで、そのようなノイズの悪影響を少なくできる効果がある。デジタル変換された電池セルBC1の端子電圧のデジタル値は現在値記憶回路274のレジスタCELL1に保持される。上記計測動作が図4の[STGCV1の計測]期間で行われる。過充電の診断その後、ステージSTGCV1の計測として示す期間内において、計測値に基づく診断動作が行われる。診断動作としては過充電診断と過放電診断である。この診断に入る前にマイコン30から診断のための基準値が各集積回路に送信され、過充電の診断基準過充電閾値Vocが基準値記憶回路278のレジスタOCに、また過放電の診断基準過放電閾値Vodが基準値記憶回路278のレジスタODにそれぞれ保持される。デジタルマルチプレクサ272は、図4の第1ステージカウンタ256や第2ステージカウンタ258の出力に基づいてデコーダ257やデコーダ259により作られた選択信号STG1STG2信号により、現在値記憶回路274のレジスタCELL1から電池セルBC1の端子電圧を読み出してデジタル比較回路270に送る。また、デジタルマルチプレクサ276は、上記デコーダ257やデコーダ259により生成された選択信号により、基準値記憶回路278から過充電閾値Vocを読み出しデジタル比較回路270へ送る。デジタル比較回路270は、レジスタCELL1からの電池セルBC1の端子電圧と過充電閾値Vocとを比較する。デジタル比較回路270は、電池セルBC1の測定値が過充電閾値Vocより大きい時に異常を示す比較結果を出力する。デジタルマルチプレクサ282は、上記デコーダ257やデコーダ259により生成された選択信号によりデジタル比較回路270の出力の記憶先を選択する。電池セルBC1の診断結果がもし異常であれば、フラグ記憶回路284のレジスタOCflagにその異常診断結果が保持される。すなわち、過充電を表すフラグ[OCflag]がセットされる。フラグがセットされると、異常信号1ビット信号が通信回路127の端子FFOから出力され、マイコン30に伝えられる。実際には過充電状態が生じないように制御しており、このような状態はほとんど生じない。しかし、信頼性を担保するため、診断を繰り返し実行する。通信回路127は通信コマンドの送受信を行うものであり、上述した伝送入力回路138,142や伝送出力回路140,143が含まれている。なお、伝送入力回路142および伝送出力回路143は図示を省略した。過放電の診断過充電診断に続いて、ステージSTGCV1の計測の期間でさらに過放電の診断を行う。デジタルマルチプレクサ272は、現在値記憶回路274のレジスタCELL1から電池セルBC1の端子電圧を読み出しデジタル比較回路270に送る。また、デジタルマルチプレクサ276は、基準値記憶回路278から過放電の判断基準値である過放電閾値Vodを読み出しデジタル比較回路270へ送る。デジタル比較回路270は、レジスタCELL1からの電池セルBC1の端子電圧と過放電閾値Vodとを比較し、もし電池セルBC1の端子電圧が過放電閾値Vodより小さい場合には、フラグ記憶回路284のレジスタODflagに過放電を表すフラグ[ODflag]をセットする。フラグがセットされると、異常信号1ビット信号が端子FFOから出力され、マイコン30に伝えられる。上述の過充電の場合と同様、実際には過放電状態が生じないように制御しており、このような過放電の状態はほとんど生じない。しかし、信頼性を担保するため、診断を繰り返し実行する。選択回路286の機能はマイコン30からの通信コマンド292で変えることができ、端子FFOから出力されるフラグをどのフラグまで含めるかを選択的に変更できる。ODflagを端子FFOから出力するかどうかは選択回路286の設定条件で決まるようにすることが可能である。この場合は、設定条件をマイコン30から変更できるので、多様な制御に対応できる。上記説明は、図4のステージSTGCV1の計測期間での電池セルBC1に関する計測と診断である。同様に、ステージSTGCV2の計測期間で電池セルBC2の端子電圧の計測と過充電や過放電の診断を行い、ステージSTGCV3の計測期間で電池セルBC3の端子電圧の計測と過充電や過放電の診断を行い、ステージSTGCV4の計測期間で電池セルBC4の端子電圧の計測と過充電や過放電の診断を行う。それぞれのステージにおいて、異常が検出されれば、フラグ記憶回路284に異常の原因を表すフラグ[OCflag]あるいはフラグ[ODflag]をセットする。なお、上記各項目の診断でMFflagがセットされた場合には、そのフラグは、OR回路288を介して1ビット出力端FFOから出力され、マイコン30に送信される。初期データの保持図1に示すシステムでは、車両が運転停止状態であって、運転者が運転を開始する前は、電池モジュール9からインバータ装置への電流供給が行われていない。各電池セルの充放電電流が流れていない状態で計測された各電池セルの端子電圧を使用すると、各電池セルの充電状態SOCが正確に求められるので、車両のキースイッチの操作やマイコン30からのWakeUpなどの通信コマンド292に基づき、各集積回路は独自に計測動作を開始する。図4で説明の計測動作が各集積回路において計測と電池セルの診断動作が開始され、平均化制御回路263に保持された回数の測定が行われると、平均化回路264で測定値の平均化を求める演算が行われる。その演算結果は先ず現在値記憶回路274に保持される。各集積回路はそれぞれ独立してその集積回路が関係しているセルグループの電池セル全てに対して測定計測および計測結果の平均値の演算を行い、演算結果を、それぞれの集積回路の現在値記憶回路274のレジスタCELL1~レジスタCELL6に保持する。各電池セルの充電状態SOCを正確に把握するために、各電池セルの充放電電流が流れていない状態で各電池セルの端子電圧を計測することが望ましい。上述のごとく各集積回路は独自に計測動作を開始することにより、電池モジュール9からインバータ装置への電流供給前に、各集積回路はそれぞれ関係する電池セル全ての端子電圧を計測し、現在値記憶回路274のレジスタCELL1~レジスタCELL6に保持する。現在値記憶回路274に保持された計測値はその後の新たな計測結果により書き換えられてしまうので、電流供給開始前の測定結果は現在値記憶回路274のレジスタCELL1~レジスタCELL6から初期値記憶回路275のレジスタBCELL1~レジスタBCELL6に移され、初期値記憶回路275に保持される。このように電池モジュール9からインバータ装置への電流供給を開始する前の計測値を初期値記憶回路275に保持するので、充電状態SOCの演算などの処理を後回しにして、優先度の高い診断のための処理を優先的に実行できる。優先度の高い処理を実行して、電池モジュール9からインバータ装置への電流供給を開始した後、初期値記憶回路275に保持された計測値に基づいて各電池セルの充電状態SOCを演算し、正確な状態検知に基づいて充電状態SOCを調整するための制御を行うことが可能となる。車両の運転者はできるだけ早く運転を開始したいとの希望を持つ場合があり、上述のとおりインバータ装置への電流供給を早く可能にすることが望ましい。図5に示す例では、上述のごとく電気負荷であるインバータ装置に電流供給を始める前の計測値が現在値記憶回路274に保持されたタイミングで、デジタル比較回路270により過充電や過放電の診断、更には漏洩電流などの診断を実施できる。このためインバータ装置への直流電力の供給前に異常状態を把握することができる。もし、異常状態が発生していれば電流供給前に前記診断で異常を検知でき、インバータ装置への直流電力の供給を行わないなどの対応策が可能となる。さらに電流供給前の測定値は現在値記憶回路274の保持値を初期値記憶回路275に移して専用の初期値記憶回路275に保持し続けることができるので、安全性の向上や正確な充電状態SOCの把握において優れた効果がある。通信コマンド図6は、IC1内における通信コマンドの送受信動作を説明する図である。なお、この送受信動作は、他のICにおいても同様に行われる。マイコン30からIC1の受信端子LIN1に送られてくる通信コマンドは、8bitを1単位として全部で5つの部分を有し、5バイトを1つの基本構成としている。ただし以下に説明のとおり、5バイトより長くなる場合があり、特に5バイトに限定されるものではない。通信コマンドは受信端子LIN1から受信レジスタ322に入力され、保持される。なお、この受信レジスタ322はシフトレジスタであり、受信端子LIN1からシリアルに入力される信号が受信レジスタ322に入力された順にシフトされ、通信コマンドの先頭部分がレジスタの先頭部であるブレークフィールド部324に保持され、以下順次保持される。上述のように、受信レジスタ322に保持される通信コマンド292は、その先頭の8bitは信号が来たことを示す信号からなるブレークフィールド324、2番目の8bitは同期をとるための働きをする信号からなるシンクロナスフィールド326、3番目の8bitはIC1~IC4のうちいずれの集積回路なのか、さらに命令の対象となる回路はどこかを示す対象アドレス、及指令の内容を示すアイデンティファイア328である。4番目の8bitは、通信内容制御内容を示すデータ330で前記命令を実行するために必要なデータを保持している。この部分は1バイトとは限らない。5番目の8bitは送受信動作の誤りの有無をチェックするためのチェックサム332であり、ノイズなどで正確に伝達できなかった場合の有無を検知できる。このように、マイコン30からの通信コマンドは、ブレークフィールド324、シンクロナスフィールド326、アイデンティファイアIdentifier328、データ330、およびチェックサム312の5つの部分から構成され、それぞれが1バイトで構成たれた場合は、通信コマンドは5バイトとなり、5バイト構成を基本としているが、データ330は1バイトに限らず、必要に応じてさらに増加する場合がある。シンクロナスフィールド326は送信側の送信クロックと受信側の受信クロックとの同期を合わせるために使用され、シンクロナスフィールド326の各パルスが送られてくるタイミングを同期回路342が検知し、同期回路342の同期をシンクロナスフィールド326の各パルスのタイミングに合わせ、この合わせられたタイミングで受信レジスタ322はそれに続く信号を受信する。このようにすることで、送られてくる信号と信号の真理値を判断する閾値との比較タイミングを正確に選択でき、送受信動作の誤りを少なくできる効果がある。通信コマンド292は、図2に示す通信系602を介してマイコン30から最上位のIC1の受信端子LIN1に送られ、IC1の送信端子LIN2から次のIC2の受信端子LIN1に送られ、さらにIC2の送信端子LIN2から最下位のIC3の受信端子LIN1に送られ、IC3の送信端子LIN2からマイコン30の受信端子LIN1不図示に送られる。このように、通信コマンド292は、各IC1~IC3の送受信端子を直列にループ状に接続した通信系602を介して伝送される。電池ブロック9BのIC4~IC6に関しても同様である。各集積回路を代表してIC1の回路で説明するが、上述のとおり他の集積回路も構成や動作が同じである。IC1の受信端子LIN1に通信コマンド292が送信され、各集積回路は受信した通信コマンド292を次の集積回路に対して送信端子LIN2から送信する。上記動作において、受信した通信コマンド292の指示対象が自分自身かを図6のコマンド処理回路344で判断し、自分自身の集積回路が対象の場合に通信コマンドに基づく処理を行う。上述の処理が各集積回路で通信コマンド292の送受信に基づき順次行われる。従って、受信レジスタ322に保持された通信コマンド292がIC1と関係しない場合であっても、受信した通信コマンド292に基づき次の集積回路への送信を行うことが必要となる。受信した通信コマンド292のアイデンティファイア328の内容をコマンド処理回路344が取り込み、IC1自身が通信コマンド292の指令対象かどうかを判断する。IC1自身が通信コマンド292の指令対象でない場合は、アイデンティファイア328およびデータ330の内容をそのまま送信レジスタ302のアイデンティファイア308やデータ310の部分に移し、また送受信誤動作チェックのためのチェックサム312を入力して送信レジスタ302内の送信信号を完成し、送信端子LIN2から送信する。送信レジスタ302も受信レジスタ322と同様にシフトレジスタで作られている。受信した通信コマンド292の対象が自分である場合、通信コマンド292に基づく指令を実行する。以下実行について説明する。受信した通信コマンド292の対象が自分を含む集積回路全体に関する場合がある。例えばRESコマンドやWakeUPコマンド、Sleepコマンドがこのようなコマンドである。RESコマンドを受信するとコマンド処理回路344でコマンド内容を解読しRES信号を出力する。RES信号が発生すると、図5の現在値記憶回路274や初期値記憶回路275、フラグ記憶回路284の保持データが全て初期値であるゼロになる。図5の基準値記憶回路278の内容はゼロにならないが、ゼロになるようにしても良い。もし基準値記憶回路278の内容をゼロに変更すると、RES信号の発生後に図4に示す測定と診断が各集積回路で独自に実行されるので、診断の基準値となる基準値記憶回路278の値を速やかにセットすることが必要となる。この煩雑さを避けるために、基準値記憶回路278の内容はRES信号で変更されないように回路が構成されている。基準値記憶回路278の値は頻繁に変更される属性のデータではないので、以前の値を使用しても良い。もし変更の必要があれば他の通信コマンド292で個々に変更できる。RES信号で平均化制御回路263の保持値は所定値、例えば16となる。すなわち通信コマンド292で変更されなければ、16回の測定値の平均を演算するように設定される。WakeUPコマンドがコマンド処理回路344から出力されると図4の起動回路254が動作を開始し、計測と診断動作が開始される。これにより、集積回路自身の消費電力は増加する。一方、Sleep信号がコマンド処理回路344から出力されると図4の起動回路254の動作が停止し、計測と診断動作が停止する。これにより、集積回路自信の消費電力は著しく減少する。次に通信コマンド292によるデータの書き込みおよび変更を、図6を参照して説明する。通信コマンド292のアイデンティファイア328は選択すべき集積回路を示している。データ300が、アドレスレジスタ348や基準値記憶回路278へのデータ書き込み命令、あるいは平均化制御回路263や選択回路286へのデータ書き込み命令の場合は、コマンド処理回路344は命令内容に基づき書き込み対象を指定し、データ330を書き込み対象のレジスタに書き込む。アドレスレジスタ348は集積回路自身のアドレスを保持するレジスタであり、この内容により自分のアドレスが決まる。RES信号でアドレスレジスタ348の内容はゼロとなり、集積回路自身のアドレスはゼロアドレスとなる。新たに命令によりアドレスレジスタ348の内容が変更されると、集積回路自身のアドレスは変更された内容に変わる。通信コマンド292によりアドレスレジスタ348の記憶内容の変更の他に、図5に記載の基準値記憶回路278やフラグ記憶回路284平均化制御回路263、選択回路286の保持内容を変更できる。これらに関し変更対象が指定されると、変更値であるデータ330の内容がデータバス294を介して変更対象の回路に送られ、保持内容が変更される。図5の回路はこの変更された内容に基づき動作を実行する。通信コマンド292には集積回路内部に保持されているデータの送信命令が含まれている。アイデンティファイア328の命令で送信対象データの指定が行われる。例えば現在値記憶回路274や基準値記憶回路278の内部レジスタが指定されると、指定されたレジスタの保持内容がデータバス294を介して送信レジスタ302のデータ310の回路に保持され、要求されたデータ内容として送信される。このようにして、図1に示すマイコン30は、通信コマンド292により必要な集積回路の測定値や状態を表すフラグを取り込むことが可能となる。デジタル比較回路270の診断ところで、上述した過充電や過放電の診断の信頼性を確保するためには、デジタル比較回路270が正常に動作していることを確認する必要がある。そのため、図4に示す[STGCalRES]期間においてデジタル比較回路270の診断を行うようにしている。この診断動作の概略は以下の通りである。デコーダ257,259の出力に基づき、デジタルマルチプレクサ272は、増加方向演算回路281で求められた増加演算値Voc1を選択し、デジタル比較回路270に入力する。この増加演算値Voc1は、基準値記憶回路278に保持されている基準値に所定値を加算して得られた値である。ここではレジスタOCに保持されている過充電判定用の基準値過充電閾値Vocに1を加算して得られる値が、増加演算値Voc1として用いられている。一方、デジタルマルチプレクサ276は、基準値記憶回路278のレジスタOCに保持されている過充電閾値Vocを選択し、デジタル比較回路270に比較対象として入力する。そして、デジタル比較回路270が過充電閾値Vocよりも増加演算値Voc1の方が大きいと判断した場合には、デジタル比較回路270は正しく動作していることになる。同様に、減少方向演算回路280で演算された減少方向演算値Voc-1を用いてデジタル比較回路270の診断が行われる。このように、図4の[STGCalRES]期間においてデジタル比較回路270の動作が正常か否かを診断している。マイコン30は、IC側から出力されたデータに基づいてデジタル比較回路270の動作が正常かどうかを判断することになる。そのため、診断動作に関係する部分に不具合が生じた場合、例えば、基準値記憶回路278のレジスタOCに保持されている過充電閾値Vocが何らかの原因で正しくない値になっていたり、増加方向演算回路281や減少方向演算回路280が正常に動作しなかったりした場合、正しい診断を行うことができないことになる。そのため、デジタル比較回路270が正常に動作しないにも係わらず正常と誤診断されたり、逆に、正常に動作しているにも係わらず異常と誤診断されたりするおそれがある。そして、そのようなことは、上位コントローラであるマイコン30側からは確認することができない。そこで、本実施の形態では、上述した自己診断に加えて、外部のマイコン30側からデジタル比較回路270の診断に用いる値を与えて行う外部診断モードを実行するようにした。図7,8は、外部診断モードの一例を説明する図である。図7はマイコン30において実行される外部診断モードの処理手順を示すフローチャートである。図8は、各処理の実行タイミングを示すタイミングチャートである。なお、図7、8に示す処理はIC1~IC6のそれぞれについて実行されるものであり、以下ではIC1~IC6と記載する代わりに、それらを代表してICと記載することにする。図8aは、外部診断モードを行わなかった場合のタイミングチャートを示したものである。丸印Aは図4に示す計測診断処理が行われるタイミングを示しており、装置始動後、所定周期T1で繰り返し実行される。一方、×印Bは、ICで行われた計測結果がマイコン30に読み込まれるタイミングを示している。マイコン30による計測値読み出しのタイミングBは、所定周期T1よりも長い周期T2で繰り返し行われている。その読み出しの際には、計測値の送出を指令する通信コマンド292がIC1~IC6に送信され、それに返信する形でIC1~IC6から計測値が通信系602を介してマイコン30へ送信される。なお、ICで行われた診断の結果は、異常と診断されたときに1ビット通信系604によってマイコン30へ送信される。図8bは外部診断モードを行う本実施の形態の場合のタイミングチャートを示したものであり、外部診断に関係する部分を拡大して示したものである。なお、符号Aについては、処理順にA1,A2,A3と書き換えた。本実施の形態では、マイコン30による計測値の読み込みの祭に外部診断を行うようにしている。図8bの符号C1~C4は、マイコン30での処理のタイミングを示したものである。以下では、図7および図8bを参照して、外部診断モードの処理手順について説明する。ステップS101では、計測結果セル電圧等をICから送信させるための通信コマンド292をICに送信しタイミングC1、計測結果を取得する。この処理は、図8aに示すタイミングBでの読み出し処理を同一の処理である。ICは、この送信コマンド292を受信すると、計測結果を送信回路127を介してマイコン30へ送信する。ステップS102では、マイコン30は、計測結果であるセル電圧値に対して1LSBだけ小さい値を算出し、その算出値でICの基準値記憶回路278のレジスタOCの値を書き換えるタイミングC2。ここでは、電池セルBC1のセル電圧値Vcに対して1LSBだけ小さい値を算出することとし、その値をVc-1と表すことにする。すなわち、レジスタOCの値は、既に記憶されていた過充電閾値Vocから値Vc-1に書き換えられる。ただし、この値はVc-1は一例であって、デジタル比較回路270において、確実に過充電と判断されるような大きさの値であれば良い。上述したように、ICは、デコーダ257,259の出力に基づいて所定時間間隔で計測診断を繰り返している。そのため、レジスタOCの値をタイミングBで書き換えた後のタイミングA2で実行される計測診断においては、レジスタOCの値はVc-1になっている。そのため、値Vc-1を基準として過充電診断が行われるとともに、値Vc-1とその増加方向演算値とを用いて、デジタル比較回路270を含む診断系についての診断を行われる。また、減少方向演算回路280を用いた診断系の診断についても同様に行われる。このように、レジスタOCの値がVc-1で書き換えられるため、タイミングA2で得られる診断結果は、タイミングA1で得られる通常の診断結果とは内容が異なっている。特に、レジスタCELL1に記憶されているセル電圧値Vc’とレジスタOCの値Vc-1とを用いて行われる過充電診断の場合、デジタル比較回路270が正常に動作していれば必ず過充電と診断されることになる。また、値Vc-1とその増加方向演算値とがデジタル比較回路270に入力して行う診断系に関する診断においては、増加方向演算回路281が正常に動作していれば、デジタル比較回路270による比較結果は正常と診断される。仮に、増加方向演算回路281に異常が生じていてデジタル比較回路270による比較結果が異常を示している場合には、フラグ記憶回路284のレジスタMFflagにフラグMFflagがセットされる。また、減少方向演算回路280を用いた診断系の診断に関しても同様である。ICにおいては、デジタル比較回路270の比較結果に基づいて過充電の診断を行う。上述したように、デジタル比較回路270が正常に動作している場合には必ず過充電と診断され、フラグ記憶回路284のレジスタOCflagにフラグOCflagがセットされる。また、減少方向演算回路280または増加方向演算回路281が異常な場合には、レジスタMFflagにフラグMFflagがセットされる。なお、電池モジュール9を使用している時には、タイミングA1で計測される電池セルBC1の電圧計測値VcとタイミングA2で計測される電池セルBC1の電圧計測値Vc’とは、必ずしも同じにはならない。そのため、ステップS102で書き換える値としては、上述の過充電診断において、デジタル比較回路270が正常なときに必ず過充電と診断されるような値を選ぶのが好ましい。マイコン30は、タイミングC2から適当な時間を待って、ステップS103を実行し、診断結果レジスタMFflagおよびレジスタOCflagの内容の送出を指令する通信コマンド292を、ICに送信する。なお、書き換えた値Vc-1を用いた過充電診断はタイミングA2において行われるので、上述の通信コマンド292の送信がタイミングA2よりも後となるように適当な時間を待って、ステップS103を実行するタイミングC3。マイコン30からの上記通信コマンド292を受信したICは、診断結果であるレジスタMFflagおよびレジスタOCflagの内容を、通信回路127から通信系602を介してマイコン30へ送信する。診断結果を受信したマイコン30は、ステップS104において、デジタル比較回路270および増加方向演算回路281が正常に動作しているか否かを判定する。なお、ステップS101で計測診断結果を読み込んだ後に車両運転状態が大きく変化して、ステップS103で読み込まれたレジスタCELL1の電圧計測値Vc’がVcに比べて大きく解離している場合には、ステップS103の計測診断結果の読込を繰り返し、電圧計測値Vc’がVcと同程度の場合のデータを用いてステップS104以下の処理を行うようにしても良い。本実施の形態では、マイコン30は、通信コマンド292によりレジスタMFflagおよびレジスタOCflagのセット内容を読み出すことにより、以下のような判定を行うことができる。a1フラグOCflagがセットされ、フラグMFflagがセットされていない場合には、デジタル比較回路270、減少方向演算回路280および増加方向演算回路281は正常であると判定できる。a2フラグMFflagがセットされ、フラグOCflagがセットされていない場合には、減少方向演算回路280および増加方向演算回路281の少なくとも一方と、デジタル比較回路270は異常であると判定できる。a3フラグOCflagおよびフラグMFflagがセットされている場合には、デジタル比較回路270は正常であるが、減少方向演算回路280および増加方向演算回路281の少なくとも一方は異常であると判定できる。a4フラグOCflagおよびフラグMFflagの両方ともセットされていない場合には、デジタル比較回路270は異常であるが、減少方向演算回路280および増加方向演算回路281は正常であると判定できる。ステップS104において、上記1のように結果が得られた場合には、デジタル比較回路270、減少方向演算回路280および増加方向演算回路281は正常であると判定し、ステップS105へ進む。ステップS105では、マイコン30は、基準値記憶回路278のレジスタOCに記憶されている値Vc-1を過充電閾値Vocに書き換える通信コマンド292をICに送信するタイミングC4。また、ステップS101で読み込んだ計測診断結果に基づいて、所定の電池監視処理を実行する。これにより、レジスタOCは本来の過充電閾値Vocに書き換えられ、その後のタイミングA3で行われるICの計測および診断では、本来の自己診断が行われる。図8bに示すようにタイミングC1からタイミングC4までの期間が外部診断モードの期間となる。一方、デジタル比較回路270、減少方向演算回路280および増加方向演算回路281のいずれかが異常であると判定された場合には、ステップS104からステップS106へ進んでICに異常が発生していると判定する。なお、説明は省略するが、異常判定された場合には所定の異常判定時処理が実行される。上述した実施の形態では、過充電と診断された場合に、フラグ記憶回路284のレジスタOCflagにフラグOCflagのみをセットしたが、特許文献1に記載の発明のように、レジスタOCflagにフラグOCflagをセットするとともに、レジスタMFflagにフラグ[MFflag]をセットするようにしても良い。ただし、このような構成とした場合には、マイコン30が読み出したレジスタMFflagおよびレジスタOCflagのセット内容から判定できるのは、以下のような内容となる。b1フラグOCflagおよびフラグMFflagがセットされている場合には、デジタル比較回路270は正常であると判定できる。b2フラグOCflagおよびフラグMFflagがセットされていない場合には、デジタル比較回路270は異常であり、減少方向演算回路280および増加方向演算回路281は正常であると判定できる。b3フラグMFflagがセットされ、フラグOCflagがセットされていない場合には、デジタル比較回路270は正常であるが、減少方向演算回路280および増加方向演算回路281の少なくとも一方は異常であると判定できる。このように、図8bに示す外部診断モードでは、上位コントローラであるマイコン30の指令によってレジスタOCの値をVc-1で書き換えることにより、マイコン30は、書き換え後の過充電診断結果レジスタOCflagのセット内容および診断系に関する診断結果レジスタMFflagのセット内容から、デジタル比較回路270、減少方向演算回路280および増加方向演算回路281の判定をすることが可能となる。なお、上述した例では、レジスタOCの値をVc-1で書き換え、過充電診断結果を用いてデジタル比較回路270の診断を行ったが、レジスタODの値をVc1で書き換え、過放電診断結果を用いてデジタル比較回路270の診断を行うようにしても良い。また、書き換えに用いる電圧計測値Vcは、レジスタCELL1以外に記憶されている値でも良い。さらには、電圧計測値Vcの代わりにレジスタ温度Tに記憶されている温度計測値を用いると共に、レジスタOCにT-1で書き換え、それらをデジタル比較回路270で比較することでデジタル比較回路270の診断を行っても良い。上述した実施の形態では、図8bに示すように、マイコン30が所定周期T2で計測診断結果をICから読み込む度に、外部診断を実行するようにしたが、所定周期T2で行われる計測診断結果とは独立して外部診断を別個に行うようにしても良い。例えば、車両側からのキーオン信号により蓄電池監視装置が始動した際に、外部診断を別個に行うようにしても良いし、周期的周期T2よりも長い周期でに外部診断を実行するようにしても良い。上述した実施の形態では、デジタル比較回路270の診断と、減少方向演算回路280および増加方向演算回路281の診断とを行うようにしたが、デジタル比較回路270の診断のみを行っても良いし、減少方向演算回路280および増加方向演算回路281の一方とデジタル比較回路270の診断とを行うようにしても良い。なお、上述のようにデコーダ257,259の出力に基づく計測診断を待たずに、マイコン30からの指令通信コマンド2929によって、デジタル比較回路270の比較を実行させて、その結果をフラグ記憶回路284に記憶させ、フラグ記憶回路284のレジスタMFflagおよびレジスタOCflagの内容を通信回路127から送信させるような構成としても良い。このような構成とすることで、デジタル比較回路270で比較するべき値は、VcとVc-1になる。なお、以上の説明はあくまでも一例であり、発明を解釈する際、上記実施の形態の記載事項と特許請求の範囲の記載事項の対応関係に何ら限定も拘束もされない。"