(57)【特許請求の範囲】
【請求項１】
主装置（１）と、複数の副装置（２）とを有し、
前記主装置に対して複数の前記副装置がデイジーチェーン接続されることにより、前記主装置から最上位の前記副装置へと伝送される情報を、上位側の前記副装置から下位側の前記副装置へ順に伝送して、最下位の前記副装置から前記主装置へと伝送可能に構成され、当該情報を伝送する際には、前記複数の副装置それぞれに対して設定されたアドレスで、個々の前記副装置を識別可能に構成され、
前記主装置は、
互いに異なる複数のアドレスをあらかじめ記憶する記憶部（１１）と、
前記複数のアドレスそれぞれについて、各アドレスがいずれかの前記副装置に対して設定済みか否かを示すアドレス利用情報を、最上位の前記副装置へと送信する送信部（１２）と、
前記アドレス利用情報を、最下位の前記副装置から受信する受信部（１３）と
を有し、
前記副装置は、自身を自装置として、
前記複数のアドレスをあらかじめ記憶する記憶部（２１）と、
前記アドレス利用情報を、上位側にある前記主装置又は前記副装置から受信する受信部（２２）と、
前記受信部によって受信された前記アドレス利用情報に基づいて、前記記憶部に記憶されている前記複数のアドレスの中から、前記自装置以外の前記副装置に設定済みのアドレスとは異なるアドレスを選択し、当該選択したアドレス又は当該選択したアドレスに基づいて生成されるアドレスのいずれかである未設定アドレスを、前記自装置のアドレスとして設定するアドレス設定部（２３）と、
前記アドレス設定部によって設定された前記自装置のアドレスについて、設定済みのアドレスである旨に前記アドレス利用情報を更新する情報更新部（２４）と、
前記情報更新部によって更新された前記アドレス利用情報を、下位側にある前記副装置又は前記主装置へと送信する送信部（２５）と
を有する
通信システム。
【請求項２】
請求項１に記載の通信システムであって、
前記アドレス設定部は、あらかじめ定められた規則に従って、前記未設定アドレスを選択又は生成するように構成されている
通信システム。
【請求項３】
請求項２に記載の通信システムであって、
前記アドレス設定部は、前記自装置の優先度に応じて、前記未設定アドレスを選択又は生成するように構成されている
通信システム。
【請求項４】
請求項３に記載の通信システムであって、
前記アドレス設定部は、あらかじめ定められた判定条件に基づいて前記自装置の優先度を判定し、当該判定した優先度に応じて、前記未設定アドレスを選択又は生成するように構成されている
通信システム。
【請求項５】
請求項４に記載の通信システムであって、
前記副装置は、複数の電池セルを含むブロックを複数ブロック有する組電池に対し、各ブロックに対応付けて設けられて、各ブロックの充電状態を監視するように構成された電圧検出ＩＣであり、
前記アドレス設定部は、前記自装置に対応する前記ブロックの充電状態が、所定の上限値を上回った場合、又は所定の下限値を下回った場合には、前記自装置の優先度を高優先度と判定する一方、前記上限値以下かつ前記下限値以上の場合には、前記自装置の優先度を低優先度と判定し、当該判定した優先度に応じて、前記未設定アドレスを選択又は生成するように構成されている
通信システム。
【請求項６】
請求項３から請求項５までのいずれか一項に記載の通信システムであって、
前記記憶部は、各アドレスを複数ビットの値として表現した場合における１以上のビットに、前記優先度に対応する値があらかじめ設定されている前記複数のアドレスを記憶しており、
前記アドレス設定部は、前記記憶部に記憶された前記複数のアドレスの中から、前記自装置の優先度に対応する値があらかじめ設定されているアドレスを、前記未設定アドレスとして選択するように構成されている
通信システム。
【請求項７】
請求項３から請求項５までのいずれか一項に記載の通信システムであって、
前記記憶部は、各アドレスを複数ビットの値として表現した場合における１以上のビットに、前記優先度に対応する値を任意に設定可能な前記複数のアドレスを記憶しており、
前記アドレス設定部は、前記記憶部に記憶された前記複数のアドレスの中から、一つのアドレスを選択して、当該選択したアドレス中に含まれる前記１以上のビットに対し、前記自装置の優先度に対応する値を設定することにより、前記未設定アドレスを生成するように構成されている
通信システム。
【請求項８】
請求項１から請求項７までのいずれか一項に記載の通信システムであって、
前記主装置は、前記複数の副装置に対して初めて前記アドレス利用情報を送信する際には、前記主装置に接続され得る前記副装置の最大数に対応する前記アドレス利用情報を送信し、その応答として、前記副装置から前記アドレス利用情報を受信した後は、当該アドレス利用情報に基づいて、前記主装置に実際に接続されている前記副装置の数を認識し、当該認識後は、認識した副装置の数に対応する前記アドレス利用情報を送信するように構成されている
通信システム。
【請求項９】
請求項１から請求項８までのいずれか一項に記載の通信システムであって、
前記複数の副装置は、複数のグループに分けられて、前記グループ毎にデイジーチェーン接続されている
通信システム。
【請求項１０】
請求項９に記載の通信システムであって、
前記主装置は、前記複数のグループのそれぞれに対応付けられたグループ情報と、前記グループ内において各副装置に対して割り当てられるアドレスとに基づいて、各グループに属する前記副装置との通信を実行する
通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主装置に対して複数の副装置がデイジーチェーン接続されることにより、主装置及び複数の副装置が通信可能に構成された通信システムに関する。
【背景技術】
【０００２】
車載装置によって構成される通信システムの一つとして、主装置に対して複数の副装置がデイジーチェーン接続されることにより、主装置及び複数の副装置が通信可能に構成された通信システムが知られている（例えば、特許文献１参照。）。特許文献１に記載された技術の場合、メインマイコン（主装置）に対して複数の電圧検出ＩＣ（副装置）がデイジーチェーン接続されている。
【０００３】
このような通信システムでは、個々の副装置を識別するために、複数の副装置それぞれに対して互いに異なるアドレスが設定される。このようなアドレスを設定する方法として、特許文献１に記載の技術では、メインマイコンが、その下位に接続された電圧検出ＩＣに対してあるアドレス番号（例えば０。）を出力する。
【０００４】
各電圧検出ＩＣは、上位側からアドレス番号（例えば０。）を受信した場合、そのアドレス番号に所定値（例えば１。）を加算することにより、新たなアドレス番号（例えば１。）を生成して、自身のアドレス番号として設定する。そして、自身の下位に接続された電圧検出ＩＣが存在していれば、上記生成したアドレス番号（例えば１。）を、自身の下位に接続された電圧検出ＩＣに送信する。
【０００５】
そのため、このような電圧検出ＩＣにおける一連の処理は、各電圧検出ＩＣが上位側からアドレス番号を受信した際に、各電圧検出ＩＣにおいて実行され、これにより、各電圧検出ＩＣには互いに異なるアドレス番号が設定されることとなる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１５６６３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１に記載のアドレス設定方式では、デイジーチェーン接続の接続順に応じて、各電圧検出ＩＣに設定されるアドレス番号が決まってしまう。そのため、各電圧検出ＩＣにおいて自身に対するアドレス番号の設定を行う際、電圧検出ＩＣ側でアドレス番号を選択する余地はない。
【０００８】
したがって、例えば、各電圧検出ＩＣが何らかの条件に従ってアドレス番号を自ら選択するようなことはできず、そのような自ら選択したアドレス番号を自身に対して設定することはできなかった。
【０００９】
以上のような事情から、複数の副装置に対して互いに異なるアドレス番号を設定する際に、個々の副装置が自らアドレス番号を選択し得る通信システムを提供することが望ましい。
【課題を解決するための手段】
【００１０】
以下に説明する通信システムは、主装置と、複数の副装置とを有する。これら主装置及び複数の副装置は、主装置に対して複数の副装置がデイジーチェーン接続されることにより、主装置から最上位の副装置へと伝送される情報を、上位側の副装置から下位側の副装置へ順に伝送して、最下位の副装置から主装置へと伝送可能に構成され、当該情報を伝送する際には、複数の副装置それぞれに対して設定されたアドレスで、個々の副装置を識別可能に構成されている。
【００１１】
主装置は、記憶部、送信部、及び受信部を有する。記憶部は、互いに異なる複数のアドレスをあらかじめ記憶する。送信部は、記憶部に記憶された複数のアドレスそれぞれについて、各アドレスがいずれかの副装置に対して設定済みか否かを示すアドレス利用情報を、最上位の副装置へと送信する。受信部は、アドレス利用情報を、最下位の副装置から受信する。
【００１２】
副装置は、自身を自装置として、以下のように構成される。副装置は、記憶部、受信部、アドレス設定部、情報更新部、及び送信部を有する。記憶部は、主装置の記憶部と同一の複数のアドレスをあらかじめ記憶する。受信部は、アドレス利用情報を、上位側にある主装置又は副装置から受信する。アドレス設定部は、受信部によって受信されたアドレス利用情報に基づいて、記憶部に記憶されている複数のアドレスの中から、自装置以外の副装置に設定済みのアドレスとは異なるアドレスを選択し、当該選択したアドレス又は当該選択したアドレスに基づいて生成されるアドレスのいずれかである未設定アドレスを、自装置のアドレスとして設定する。情報更新部は、アドレス設定部によって設定された自装置のアドレスについて、設定済みのアドレスである旨にアドレス利用情報を更新する。送信部は、情報更新部によって更新されたアドレス利用情報を、下位側にある副装置又は主装置へと送信する。
【００１３】
以上のように構成された通信システムによれば、上述の各部が連携して機能することにより、主装置から複数の副装置へ順にアドレス利用情報が伝送される。各副装置では、アドレス利用情報を参照することにより、記憶部に記憶されている複数のアドレスそれぞれについて、自装置以外の副装置に対して設定済みのアドレスか否かを判別できる。したがって、自装置以外の副装置に設定済みのアドレスとは異なる未設定アドレスを、自装置のアドレスとして設定することができる。
【００１４】
しかも、未設定アドレスを自装置のアドレスとして設定する際、各副装置は、自装置以外の副装置に設定済みのアドレス以外であれば、記憶部に記憶されている複数のアドレスの中から、所望のアドレスを自ら選択することができる。したがって、例えば、デイジーチェーン接続の接続順に応じて各副装置のアドレス番号が決まってしまう構成とは異なり、各副装置が何らかの条件に従ってアドレス番号を自ら選択し、そのアドレス番号を自身に対して設定することができる。
【００１５】
なお、特許請求の範囲には、後述する実施形態中で示される符号を括弧書きで併記した。ただし、特許請求の範囲に併記した符号は、特許請求の範囲と後述する実施形態との対応関係をわかりやすくするために記載したものであり、本発明の技術的範囲が後述する実施形態に限定されるという主旨ではない。
【図面の簡単な説明】
【００１６】
【図１】図１は通信システムの構成を示すブロック図である。
【図２】図２は第一実施形態におけるアドレステーブルを示す説明図である。
【図３】図３は第一実施形態におけるマイコン側のアドレス設定処理のフローチャートである。
【図４】図４は第一実施形態におけるＩＣ側のアドレス設定処理のフローチャートである。
【図５】図５は第一実施形態におけるマイコン側のデータ取得処理のフローチャートである。
【図６】図６は第一実施形態におけるＩＣ側のデータ取得処理のフローチャートである。
【図７】図７は第二実施形態におけるアドレステーブルを示す説明図である。
【図８】図８は第二実施形態におけるＩＣ側のアドレス設定処理のフローチャートである。
【図９】図９は第三実施形態における通信システムの構成を示すブロック図である。
【図１０】図１０は第三実施形態におけるグループ情報を示す説明図である。
【図１１】図１１は第三実施形態におけるグループ情報変更処理のフローチャートである。
【図１２】図１２は第三実施形態におけるマイコン側のアドレス設定処理のフローチャートである。
【図１３】図１３は第三実施形態におけるマイコン側のデータ取得処理のフローチャートである。
【発明を実施するための形態】
【００１７】
次に、上述の通信システムについて、例示的な実施形態を挙げて説明する。
（１）第一実施形態
［通信システムの構成］
以下に説明する通信システムは、図１に示すように、本明細書でいう主装置の一例に相当するマイクロコンピュータ１（以下、マイコン１と略称する。）と、本発明でいう副装置の一例に相当する複数のＩＣ（Integrated Circuit）２とを有する。この通信システムにおいて、複数のＩＣ２は共通の通信ラインにデイジーチェーン接続されていて、マイコン１から最上位のＩＣ２へと伝送される情報を、上位側のＩＣ２から下位側のＩＣ２へ順に伝送して、最下位のＩＣ２からマイコン１へと伝送可能に構成されている。各ＩＣ２には、互いに異なるアドレス（詳細は後述。）が設定され、マイコン１及び複数のＩＣ２が情報を伝送する際には、各ＩＣ２に設定されたアドレスで、個々のＩＣ２を識別可能に構成されている。
【００１８】
なお、本実施形態の場合、各ＩＣ２は、電圧検出ＩＣであり、複数の電池セルを含むブロックを複数ブロック有する組電池に対し、各ブロックに対応付けて設けられて、各ブロックの充電状態を監視するように構成されている。マイコン１は、複数のＩＣ２を介して、各ブロックの充電状態に関する情報を収集・監視し、各ブロックの充電状態が所定の下限値から上限値の範囲内に収まるように、各ブロックに対する充放電制御を行う。以下の説明では、複数のＩＣ２それぞれに対して最上位側のＩＣ２から順に番号＃０ないし＃ｎを付与し、個々のＩＣ２それぞれを区別して説明したい場合には、各ＩＣ２のことをＩＣ＃０ないしＩＣ＃ｎとも称する。
【００１９】
マイコン１は、記憶部１１、送信部１２、及び受信部１３を有する。各ＩＣ２は、記憶部２１、受信部２２、アドレス設定部２３、情報更新部２４、及び送信部２５を有する。マイコン１の記憶部１１及びＩＣ２の記憶部２１は、少なくとも一部が不揮発性メモリによって構成され、その不揮発性メモリ内には、図２に例示するようなアドレステーブルが記憶されている。このアドレステーブルには、互いに異なる複数のアドレス番号と、各アドレス番号に対応するキーが格納されている。
【００２０】
図２に例示するアドレステーブルの場合、アドレス番号及びキーは双方とも８ビット値とされている。ただし、アドレス番号及びキーは、どちらも８ビット値であるか否かは任意であり、何ビットの値であってもかまわない。また、図２に例示するアドレステーブルにおいて、アドレス番号としては、最上位ビット（０−７ビットのうちの７ビット目）が０とされた４つのアドレス番号（０ｘ０１−０ｘ０４）と、最上位ビットが１とされた４つのアドレス番号（０ｘ８１−０ｘ８４）が格納されている。
【００２１】
後述する処理の中で、最上位ビット０のアドレス番号（０ｘ０１−０ｘ０４）は、優先度の低いＩＣ２に対して設定されるアドレス番号となる。また、最上位ビット１のアドレス番号（０ｘ８１−０ｘ８４）は、優先度の高いＩＣ２に対して設定されるアドレス番号となる。
【００２２】
マイコン１の送信部１２は、記憶部１１に記憶された複数のアドレスそれぞれについて、各アドレスがいずれかのＩＣ２に対して設定済みか否かを示すアドレス利用情報を、最上位のＩＣ２へと送信する。アドレス利用情報は、上述のキーと同一ビット数のデータであり、本実施形態の場合、アドレス利用情報は８ビットデータとされている。
【００２３】
このアドレス利用情報は、アドレス利用情報中のｍビット目（本実施形態の場合、ｍは０〜７のいずれか。）が０となっていれば、ｍビット目が１となっているキーに対応するアドレス番号が、どのＩＣ２にも未設定のアドレス番号であることを示している。また、アドレス利用情報中のｍビット目が１となっていれば、ｍビット目が１となっているキーに対応するアドレス番号が、いずれかのＩＣ２に対して設定済みのアドレス番号であることを示している。
【００２４】
ＩＣ２の受信部２２は、上述のアドレス利用情報を、上位側にあるマイコン１又はＩＣ２から受信する。ＩＣ２のアドレス設定部２３は、受信部２２によって受信されたアドレス利用情報に基づいて、記憶部２１に記憶されている複数のアドレスの中から、自ＩＣ以外のＩＣ２に設定済みのアドレスとは異なるアドレスを選択し、当該選択したアドレスである未設定アドレスを、自ＩＣのアドレスとして設定する。
【００２５】
例えば、図１に示す例では、マイコン１からＩＣ＃０へ、アドレス利用情報として８ビット値「００００００００」が送信される。そのため、ＩＣ＃０のアドレス設定部２３では、図２に例示するアドレステーブル中に格納された８つのアドレス番号全てが、どのＩＣ２にも未設定のアドレス番号であると認識できる。したがって、アドレス設定部２３は、自ＩＣ（ＩＣ＃０）以外のＩＣ２に設定済みのアドレスとは異なるアドレスを選択でき、当該選択したアドレスである未設定アドレスを、自ＩＣ（ＩＣ＃０）のアドレスとして設定することができる。なお、８つのアドレス番号のうち、どのアドレス番号を選択するかについては後述する。
【００２６】
情報更新部２４は、アドレス設定部２３によって設定された自ＩＣのアドレスについて、設定済みのアドレスである旨にアドレス利用情報を更新する。例えば、図１に示す例において、ＩＣ＃０のアドレス設定部２３は、未設定アドレスであったアドレス番号０ｘ０１を、ＩＣ＃０のアドレスとして設定している。この場合、ＩＣ＃０の情報更新部２４は、自ＩＣのアドレス番号０ｘ０１に対応するキー０００００００１とアドレス利用情報００００００００との論理和０００００００１で、アドレス利用情報を更新する。
【００２７】
送信部２５は、情報更新部２４によって更新されたアドレス利用情報を、下位側にあるＩＣ２又はマイコン１へと送信する。
例えば、図１に示す例では、ＩＣ＃０からＩＣ＃１へ、アドレス利用情報として８ビット値「０００００００１」が送信される。そのため、ＩＣ＃０のアドレス設定部２３では、図２に例示するアドレステーブル中に格納された８つのアドレス番号のうち、キー０００００００１に対応するアドレス番号０ｘ０１が他のＩＣ２に設定済み、それ以外のアドレス番号が他のＩＣ２には未設定と認識することができる。
【００２８】
このような状況のもと、図１に示す例では、ＩＣ＃１のアドレス設定部２３が、未設定アドレスであったアドレス番号０ｘ８１を、ＩＣ＃１のアドレスとして設定する。この場合、ＩＣ＃１の情報更新部２４は、自ＩＣのアドレス番号０ｘ８１に対応するキー０００１００００とアドレス利用情報０００００００１との論理和０００１０００１で、アドレス利用情報を更新する。アドレス利用情報の各ビットは、一つのＩＣ２に対してアドレス番号が設定されるたびに、１ビットずつオフ（０）からオン（１）に更新される。
【００２９】
こうして、順に各ＩＣ２のアドレス番号が設定されることにより、図１に示す例では、最終的にＩＣ＃ｎのアドレス番号が設定され、この場合、ＩＣ＃ｎの送信部２５は、情報更新部２４によって更新されたアドレス利用情報を、マイコン１へと送信する。マイコン１の受信部１３は、アドレス利用情報を、最下位のＩＣ２から受信する。
【００３０】
その結果、図１に示す例であれば、マイコン１は、アドレス利用情報１１１１０１１１を受け取ることになる。したがって、このアドレス利用情報１１１１０１１１に基づいて、マイコン１は、ＩＣ２の数が７つであることと、各ＩＣ２に対して設定されたアドレス番号が、アドレステーブル中にある「キー００００１０００に対応するアドレス番号０ｘ０４」以外の各アドレス番号であることを、認識することができる。
【００３１】
ちなみに、上述の例では、アドレス利用情報として、最初から８ビットのデータを送信する例を示したが、初期状態において、マイコン１側でＩＣ２の総数が把握できていない場合には、ＩＣ２の実数に対して冗長なビット数を持つアドレス利用情報を送信してもよい。例えば、上述の説明通り、ＩＣ２の実数が７つである場合は、８ビットのアドレス利用情報でも十分ではあるが、その実数がいくつなのか不明な時点では、アドレス利用情報として、１６ビットデータ、２４ビットデータ、３２ビットデータなどを送信してもよい。
【００３２】
例えば、３２ビットのアドレス利用情報を送信した場合、ＩＣ２の実数が７つであれば、アドレス利用情報は７ビット分が１になり、残る２５ビット分が０のままとなる。したがって、このような３２ビットのアドレス利用情報でも、ＩＣ２の数が７つであることと、各ＩＣ２に設定されたアドレス番号がアドレス利用情報中で１となったビットに対応するキーに応じたアドレス番号であることを、マイコン１側で認識することができる。
【００３３】
また、このような３２ビットのアドレス利用情報を送信した結果、下位８ビット中にしか１となったビットが存在しない場合には、次にアドレス利用情報を送信する機会がある場合には、８ビットのアドレス利用情報を送信するようにしてもよい。すなわち、マイコン１側でＩＣ２の総数が把握できていない場合には、ＩＣ２の実数に対して冗長なビット数を持つアドレス利用情報を送信し、その結果、アドレス利用情報に必要なビット数が認識できた場合は、より少ないビット数のアドレス利用情報を送信してもよい。これにより、２回目以降のアドレス利用情報の送信時には、アドレス利用情報のデータ量を最適化し、冗長なデータ通信が行われるのを抑制することができる。
【００３４】
なお、上述の例では、ＩＣ２の数が７つあり、アドレステーブルに格納されたアドレス番号が８つとなっているが、これらはあくまでも例示的なものであり、ＩＣ２の数やアドレステーブルに格納されたアドレス番号の数は任意に変更し得る。例えば、ＩＣ２の数が７つで、各ＩＣ２が低優先度にも高優先度にもなり得る場合には、少なくとも低優先度対応のアドレス番号が７つ、高優先度対応のアドレス番号が７つ、それぞれ必要である。したがって、この場合、アドレステーブルには１４以上のアドレス番号を格納して、アドレス利用情報は１４ビット以上のデータで構成すればよい。
【００３５】
［マイコン及びＩＣにおいて実行される処理］
次に、上述のようなアドレス設定を実行するために、マイコン１及び各ＩＣ２において実行されるアドレス設定処理について、図３及び図４に基づいて説明する。
【００３６】
マイコン１は、電源投入時、あるいは他装置からのコマンドを受信したことを契機として、図３に示す処理を開始する。この処理を開始すると、マイコン１は、まず、アドレステーブル（図２参照。）に格納されている情報と、既に保存されているアドレス利用情報とに基づいて、ＩＣ２に対して送信するためのアドレス利用情報を作成する（Ｓ１１）。本実施形態において、Ｓ１１では、図１において例示したような８ビットのアドレス利用情報が作成される。ただし、本実施形態においてアドレス利用情報が８ビットとされているのは、ＩＣ２の数が８以下であるからであり、何ビットのアドレス利用情報とするかは、ＩＣ２の数に応じて適切に調整されるべきである。
【００３７】
例えば、ＩＣ２の数が９−１６程度の場合は、アドレス利用情報が１６ビットとされていればよい。また、更にＩＣ２の数が多い場合、アドレス利用情報は２４ビット、３２ビットなどであってもよい。また、ここでは、アドレス利用情報のビット数を８ビットの倍数で例示したが、８ビットの倍数とすることも必須ではない。
【００３８】
また、Ｓ１１において、既に利用されているアドレスの存在が把握できている場合には、保存されている利用情報に基づき、アドレス利用情報の該当ビットに１を設定する。一方、全てのＩＣ２において、アドレス番号の再設定をする場合には、保存されている利用情報を無視して、送信用のアドレス利用情報を作成する。
【００３９】
続いて、マイコン１は、Ｓ１１で作成されたアドレス利用情報を、最上位ＩＣ（ＩＣ＃０）に送信する（Ｓ１２）。その後、マイコン１は、ＩＣ２側からアドレス利用情報が返却されてくるのを待つ（Ｓ１３：ＮＯ）。
【００４０】
ここで、最下位ＩＣ（図１中のＩＣ＃ｎ）が後述するＳ２６を実行すると、ＩＣ２側からアドレス利用情報が送信されてくる。そこで、ＩＣ２側からアドレス利用情報が送信されてきたら、そのアドレス利用情報を受信し（Ｓ１３：ＹＥＳ）、受信したアドレス利用情報に基づき、各アドレスが利用されたのかを確認し、アドレス利用情報を更新・保存して（Ｓ１４）、この処理を終了する。
【００４１】
なお、予期しないエラーが発生した場合（例えば、アドレスが全く利用されていない場合、アドレス不足によるエラー発生の場合など。）は、上述の処理を再度実行する。それでもエラーが解消されない場合は、所定のエラー処理（例えば、利用者に対する注意喚起処理、エラー情報を記録する処理や外部通信網を介してサービスセンターに伝達する処理など。）を実行する。あるいは、上述の処理を再度実行することなく、エラー処理だけを実行してもよい。
【００４２】
一方、マイコン１において、上述のような処理が実行されるのと並行して、各ＩＣ２は、電源投入時、あるいは他装置からのコマンドを受信したことを契機として、図４に示す処理を実行する。この処理を開始すると、ＩＣ２は、まず、マイコン１側もしくは上位のＩＣ２側からアドレス利用情報が送信されてくるのを待つ（Ｓ２１：ＮＯ）。
【００４３】
ここで、ＩＣ２が最上位ＩＣ（図１中のＩＣ＃０）である場合、マイコン１が上述のＳ１２を実行すると、マイコン１側からアドレス利用情報が送信されてくる。また、ＩＣ２が最上位ＩＣ以外のＩＣ２である場合、一つ上位のＩＣ２が後述するＳ２６を実行すると、上位のＩＣ２側からアドレス利用情報が送信されてくる。
【００４４】
そこで、マイコン１側もしくは上位のＩＣ２側からアドレス利用情報が送信されてきたら、そのアドレス利用情報を受信し（Ｓ２１：ＹＥＳ）、ＩＣ２は、自身の優先度が高優先度か否かを判断する（Ｓ２２）。
【００４５】
本実施形態の場合、各ＩＣ２の優先度は、ＩＣ２の状態に応じて動的に変更される。具体的には、ＩＣ２は、ＩＣ２に対応付けられたブロックの充電状態に基づき、充電状態が所定の下限値から上限値の範囲内（例えば４０−８０％）に収まっている場合には、自身の優先度が低優先度であると判断する（Ｓ２２：ＮＯ）。一方、充電状態が所定の下限値（例えば４０％）を下回る場合、又は所定の上限値（例えば８０％）を上回る場合には、自身の優先度が高優先度であると判断する（Ｓ２２：ＹＥＳ）。
【００４６】
ただし、ＩＣ２の優先度は、静的に決まっている優先度（すなわち、動的には変更されない優先度。）であってもよく、例えば、あらかじめハードウェア構成によって決まっている優先度であってもよい。あるいは、いくつかのＩＣ２は、優先度が静的に決まっていて、残りのＩＣ２は、優先度が動的に変更される構成となっていてもよい。例えば、いくつかのＩＣ２が重要度の高い装備の状態を監視するＩＣ、残りのＩＣ２が重要度の低い装備の状態を監視するＩＣである場合、前者は高優先度であることが静的に決まっていて、後者は装備の状態に応じて優先度が動的に変更されてもよい。
【００４７】
Ｓ２２においてＩＣ２の優先度が低優先度であった場合（Ｓ２２：ＮＯ）、ＩＣ２は、アドレス利用情報０−３ビット目を対象に、最小ビット側（０ビット側）から空いているビット（０となっているビット）を確認する。そして、空いているビットが見つかれば、そのビットに紐づくアドレス（すなわち、そのビットが１となっているキーに対応するアドレス。）を自アドレスと設定する（Ｓ２３）。したがって、Ｓ２３では、０−３ビット目のいずれかが１となっているキーに対応するアドレスが選択され、本実施形態の場合、図２に示したアドレステーブル中のアドレス番号０ｘ０１−０ｘ０４のいずれかが選択されることになる。
【００４８】
一方、Ｓ２２においてＩＣ２の優先度が高優先度であった場合（Ｓ２２：ＹＥＳ）、ＩＣ２は、アドレス利用情報４−７ビット目を対象に、最小ビット側（４ビット側）から空いているビット（０となっているビット）を確認する。そして、空いているビットが見つかれば、そのビットに紐づくアドレス（すなわち、そのビットが１となっているキーに対応するアドレス。）を自アドレスと設定する（Ｓ２４）。したがって、Ｓ２４では、４−７ビット目のいずれかが１となっているキーに対応するアドレスが選択され、本実施形態の場合、図２に示したアドレステーブル中のアドレス番号０ｘ８１−０ｘ８４のいずれかが選択されることになる。
【００４９】
このようなＳ２３又はＳ２４により、本実施形態の場合、低優先度のＩＣ２に対しては、最上位ビット（７ビット目）が０のアドレス番号を設定することになる。また、高優先度のＩＣ２に対しては、最上位ビット（７ビット目）が１のアドレス番号を設定することになる。したがって、マイコン１側では、各ＩＣ２に設定されたアドレス番号に基づいて、各ＩＣ２の優先度を認識することが可能となる。
【００５０】
Ｓ２３又はＳ２４を終えたら、ＩＣ２は、Ｓ２３又はＳ２４で設定された自アドレスについて、設定済みのアドレスである旨にアドレス利用情報を更新する（Ｓ２５）。本実施形態の場合、Ｓ２５では、Ｓ２３又はＳ２４で設定された自アドレスに対応するキーと、更新前のアドレス利用情報との論理和を、更新後のアドレス利用情報とする。
【００５１】
続いて、ＩＣ２は、更新後のアドレス利用情報を、自ＩＣよりも下位のＩＣ２又はマイコン１へ送信する（Ｓ２６）。自ＩＣよりも下位のＩＣ２が存在する場合は、Ｓ２６により、更新後のアドレス利用情報が下位のＩＣ２へと送信される。この場合、下位のＩＣ２では、上述のＳ２１を実行することにより、アドレス利用情報を受信することになる。また、自ＩＣよりも下位のＩＣ２が存在しない場合は、Ｓ２６により、更新後のアドレス利用情報がマイコン１へと送信される。この場合、マイコン１では、上述のＳ１３を実行することにより、アドレス利用情報を受信することになる。なお、以上のようなＳ２６を終えたら、この処理を終了する。
【００５２】
以上説明したようなアドレス設定処理（図３及び図４参照。）が、マイコン１及び各ＩＣ２において実行されることにより、各ＩＣ２には、各ＩＣ２の優先度に応じたアドレス番号が設定される。したがって、マイコン１が各ＩＣ２から情報を収集する際には、全てのＩＣ２に対して情報提供を要求することはもちろんのこと、アドレス番号によって優先度の高いＩＣ２だけを指定して、該当するＩＣ２に対してのみ情報提供を要求することも可能となる。
【００５３】
以下、マイコン１が優先度の高いＩＣ２からデータ取得を行う場合の処理例を、図５及び図６に基づいて説明する。マイコン１は、定期的もしくは不定期に、図５に示す処理を開始する。この処理を開始すると、マイコン１は、まず、優先度高のＩＣ２を対象にデータを得たいので、７ビット目（最上位ビット）が１のアドレス番号が設定されたＩＣ２に対して、データの返却を依頼する依頼データを作成する（Ｓ３１）。
【００５４】
続いて、マイコン１は、Ｓ３１で作成した依頼データを最上位ＩＣ（ＩＣ＃０）に送信する（Ｓ３２）。その後、マイコン１は、ＩＣ２側から依頼データが返却されてくるのを待つ（Ｓ３３：ＮＯ）。
【００５５】
ここで、最下位ＩＣ（図１中のＩＣ＃ｎ）が後述するＳ４４を実行すると、ＩＣ２側から依頼データが送信されてくる。そこで、マイコン１は、ＩＣ２側から依頼データが送信されてきたら、その依頼データを受信する（Ｓ３３：ＹＥＳ）。詳しくは後述するが、ここで受信する依頼データ中には、依頼対象となったいくつかのＩＣ２（ここでは、高優先度のＩＣ２。）それぞれから提供されたデータ全てが含まれている。
【００５６】
そこで、マイコン１は、アドレス利用情報に基づき、依頼データをアドレス毎のデータに分割して（Ｓ３４）、この処理を終了する。
一方、マイコン１において、上述のような処理が実行されるのと並行して、各ＩＣ２では、図６に示す処理を実行する。この処理を開始すると、ＩＣ２は、まず、マイコン１側もしくは上位のＩＣ２側からの依頼データが送信されてくるのを待つ（Ｓ４１：ＮＯ）。
【００５７】
ここで、ＩＣ２が最上位ＩＣ（図１中のＩＣ＃０）である場合、マイコン１が上述のＳ３２を実行すると、マイコン１側から依頼データが送信されてくる。また、ＩＣ２が最上位ＩＣ以外のＩＣ２である場合、一つ上位のＩＣ２が後述するＳ４４を実行すると、上位のＩＣ２側から依頼データが送信されてくる。
【００５８】
そこで、マイコン１側もしくは上位のＩＣ２側からアドレス利用情報が送信されてきたら、その依頼データを受信し（Ｓ４１：ＹＥＳ）、ＩＣ２は、自アドレスの７ビット目（最上位ビット）が１かどうかを判定する（Ｓ４２）。
【００５９】
Ｓ４２において、自アドレスの７ビット目が１である場合（Ｓ４２：ＹＥＳ）、ＩＣ２の優先度は高優先度であり、マイコン１からの依頼対象に該当する。その場合、ＩＣ２は、ＩＣ２から提供可能なデータを、依頼データの最後尾に付加することにより、依頼データを更新して（Ｓ４３）、Ｓ４４へと進む。
【００６０】
一方、Ｓ４２において、自アドレスの７ビット目が０である場合（Ｓ４２：ＮＯ）、ＩＣ２の優先度は低優先度であり、マイコン１からの依頼対象には該当しない。その場合、ＩＣ２は、上述のＳ４３を実行することなく、Ｓ４４へと進む。
【００６１】
こうしてＳ４２又はＳ４３からＳ４４へと進むと、ＩＣ２は、依頼データを、自ＩＣよりも下位のＩＣ２又はマイコン１へ送信する（Ｓ４４）。自ＩＣよりも下位のＩＣ２が存在する場合は、Ｓ４４により、依頼データが下位のＩＣ２へと送信される。この場合、下位のＩＣ２では、上述のＳ４１を実行することにより、依頼データを受信することになる。また、自ＩＣよりも下位のＩＣ２が存在しない場合は、Ｓ４４により、依頼データがマイコン１へと送信される。この場合、マイコン１では、上述のＳ３３を実行することにより、依頼データを受信することになる。なお、以上のようなＳ４４を終えたら、この処理を終了する。
【００６２】
以上説明したようなデータ取得処理（図５及び図６参照。）が、マイコン１及び各ＩＣ２において実行されることにより、マイコン１は、優先度の高いＩＣ２だけを対象に、各ＩＣ２から提供されるデータを取得することができる。本実施形態の場合は、これらのデータに基づいて、各Ｉ２が対応するブロックの充電状態をマイコン１側で把握することができ、マイコン１による充放電制御が実行されることになる。
【００６３】
なお、上述の例では、優先度の高いＩＣ２だけを対象に、各ＩＣ２から提供されるデータを取得したが、対象となるアドレス番号を変更することにより、優先度の低いＩＣ２だけを対象に依頼データを送信することもできる。あるいは、優先度を指定することなく、全てのＩＣ２を対象に依頼データを送信することもできる。
【００６４】
したがって、これらのデータ取得方法を組み合わせることにより、高優先度のＩＣ２に対しては相対的に高頻度で依頼データを送信する一方、低優先度のＩＣ２に対しては相対的に低頻度で依頼データを送信する、といったことが可能となる。よって、本実施形態の場合であれば、充電状態が８０％を上回るブロックや充電状態が４０％を下回るブロックに対応するＩＣ２に対しては高頻度で情報を提供させ、きめ細かく充放電制御を実施することにより、過充電や過放電に至るのを抑制することができる。また、充電状態が４０−８０％の範囲内にあるブロックに対応するＩＣ２に対しては低頻度で情報を提供させることで、通信時のデータ量を削減し、データ処理に要する負荷を低減することができる。
【００６５】
［効果］
以上のように構成された通信システムによれば、上述の各部が連携して機能することにより、マイコン１から複数のＩＣ２へ順にアドレス利用情報が伝送される。各ＩＣ２では、アドレス利用情報を参照することにより、記憶部２１に記憶されている複数のアドレスそれぞれについて、自装置２以外のＩＣ２に対して設定済みのアドレスか否かを判別できる。したがって、自装置２以外のＩＣ２に設定済みのアドレスとは異なる未設定アドレスを、自装置２のアドレスとして設定することができる。
【００６６】
しかも、未設定アドレスを自装置２のアドレスとして設定する際、各ＩＣ２は、自装置２以外のＩＣ２に設定済みのアドレス以外であれば、記憶部２１に記憶されている複数のアドレスの中から、所望のアドレスを自ら選択することができる。したがって、例えば、デイジーチェーン接続の接続順に応じて各ＩＣ２のアドレス番号が決まってしまう構成とは異なり、各ＩＣ２が何らかの条件（本実施形態の場合は、各ＩＣ２の優先度。）に従ってアドレス番号を自ら選択し、そのアドレス番号を自身に対して設定することができる。
【００６７】
本実施形態の場合、各ＩＣ２には、各ＩＣ２の優先度に応じたアドレス番号が設定されるので、マイコン１は、複数のＩＣ２それぞれに対して優先度を問い合わせなくても、優先度の高いＩＣ２に対してのみ、データ提供を依頼することができる。
【００６８】
すなわち、各ＩＣに対して単に互いに異なるアドレス番号が設定されるだけの技術では、優先度の高いＩＣに対してのみデータ提供を依頼したい場合に、事前に各ＩＣに対して優先度を問い合わせるための処理が必要になる。したがって、そのような問い合わせのための通信量が増大し、マイコンやＩＣには余計な負荷がかかることになる。この点、上記実施形態のように、優先度が反映されたアドレスを各ＩＣ２に対して設定できれば、優先度の問い合わせをするための無駄な通信を行わなくても済み、その分の通信量を削減して、マイコン１やＩＣ２かかる負荷を軽減することができる。
【００６９】
また、このような優先度を設定できれば、上述の通り、優先度の高いＩＣ２に対しては相対的に高頻度でデータ提供を要請する一方、優先度の低いＩＣ２に対しては相対的に低頻度でデータ提供を要請することができる。したがって、全てのＩＣ２に対して一律に高頻度でデータ提供を要請する場合に比べ、優先度の低いＩＣ２からのデータ提供を抑制でき、システム内の各部にかかる負荷を低減することができる。また、全てのＩＣ２に対して一律に低頻度でデータ提供を要請する場合に比べ、優先度の高いＩＣ２からのデータ提供が遅れてしまうのを抑制でき、優先度の高いＩＣ２に対応する箇所に対し適切な制御を実施できる。
【００７０】
さらに、上述のような優先度を設定できれば、マイコン１側でＩＣ２に対応する箇所に対して各種制御を実施する際に、優先度に応じて判定条件やしきい値などを変更することも可能である。したがって、例えば、優先度の高いＩＣ２に対応する箇所に対しては、より厳しい判定条件やしきい値を適用し、優先度の低いＩＣ２に対応する箇所よりも、厳密な管理を行うことができるようになる。
【００７１】
（２）第二実施形態
次に、第二実施形態について説明する。なお、第二実施形態は、第一実施形態で例示した構成の一部を変更しただけなので、第一実施形態との相違点を中心に詳述し、第一実施形態と同様な部分に関しては、その詳細な説明を省略する。
【００７２】
第一実施形態において、アドレステーブル（図２参照。）には、優先度が高いＩＣ２に対して設定されるアドレス番号（０ｘ８１−０ｘ８４）と、優先度が低いＩＣ２に対して設定されるアドレス番号（０ｘ０１−０ｘ０４）が、それぞれ４つずつ格納されていた。
【００７３】
これに対し、第二実施形態においては、図７に示すように、８つのアドレス番号（０ｘ０１−０ｘ０８）が格納されている。これらのアドレス番号は、優先度が低いＩＣ２及び優先度が高いＩＣ２のいずれに対しても設定され得る。ただし、８つのアドレス番号（０ｘ０１−０ｘ０８）のいずれかが選択された後、低優先度のＩＣ２に対しては、選択されたアドレス番号がそのままＩＣ２に対して設定される。一方、高優先度のＩＣ２に対しては、選択されたアドレス番号の最上位ビットを１に変更したアドレス番号（０ｘ８１−０ｘ８８のいずれか）が生成され、生成されたアドレス番号がＩＣ２に対して設定される。
【００７４】
以上のような構成とするため、第一実施形態では、ＩＣ２において図４に示す処理を実行していたが、これに代えて、第二実施形態では、ＩＣ２において図８に示す処理を実行する。
【００７５】
図８に示す処理中のＳ５１，Ｓ５２，Ｓ５５，及びＳ５６は、それぞれ図４に示す処理中のＳ２１，Ｓ２２，Ｓ２５，及びＳ２６と同等な処理であり、図８に示す処理中のＳ５３及びＳ５４が、図４に示す処理中のＳ２３及びＳ２４とは相違する。
【００７６】
より詳しくは、ＩＣ２は、Ｓ５２において、自身の優先度が低優先度であった場合（Ｓ５２：ＮＯ）、アドレス利用情報０−７ビット目を対象に、最小ビット側（０ビット側）から空いているビット（０となっているビット）を確認する。そして、空いているビットが見つかれば、そのビットに紐づくアドレス（すなわち、そのビットが１となっているキーに対応するアドレス。）を選択し、選択したアドレスを自アドレスと設定する（Ｓ５３）。
【００７７】
一方、Ｓ５２において、自身の優先度が高優先度であった場合（Ｓ５２：ＹＥＳ）、ＩＣ２は、アドレス利用情報０−７ビット目を対象に、最小ビット側（０ビット側）から空いているビット（０となっているビット）を確認する。そして、空いているビットが見つかれば、そのビットに紐づくアドレス（すなわち、そのビットが１となっているキーに対応するアドレス。）を選択する。そして、選択したアドレス番号の最上位ビットを１に変更したアドレス番号を生成し、生成したアドレス番号を自アドレスと設定する（Ｓ５４）。
【００７８】
このようなＳ５３又はＳ５４により、本実施形態の場合、低優先度のＩＣ２に対しては、最上位ビット（７ビット目）が０のアドレス番号を設定することになる。また、高優先度のＩＣ２に対しては、最上位ビット（７ビット目）が１のアドレス番号を設定することになる。したがって、マイコン１側では、各ＩＣ２に設定されたアドレス番号に基づいて、各ＩＣ２の優先度を認識することが可能となる。
【００７９】
以上説明したようなアドレス設定処理（図８参照。）を採用した場合でも、第一実施形態で例示した通信システムと全く同様の作用、効果を奏する。また、第二実施形態の場合、アドレステーブル中の複数のアドレス番号は、それぞれが高優先度及び低優先度のどちらにも動的に対応する。したがって、各アドレス番号の汎用性は第一実施形態以上に高くなり、高優先度対応のアドレス番号と低優先度対応のアドレス番号をそれぞれ用意しておく場合に比べ、あらかじめ用意しておくアドレス番号の数を削減し得る。よって、アドレステーブルに必要なデータ容量を削減し得る。
【００８０】
（３）第三実施形態
次に、第三実施形態について説明する。なお、第三実施形態も、一部は第一実施形態と同様の構成となるので、第一実施形態との相違点を中心に詳述し、第一実施形態と同様な部分に関しては、その詳細な説明を省略する。
【００８１】
［通信システムの構成］
第三実施形態として例示する通信システムは、図９に示すように、マイコン１（本明細書でいう主装置の一例に相当。）と、複数のＩＣ２（本発明でいう副装置の一例に相当。）とを有する。この点は第一実施形態と同様である。また、図９では詳細な図示を省略してあるが、マイコン１の内部構成（記憶部１１、送信部１２、及び受信部１３を有する点。）、及びＩＣ２の内部構成（記憶部２１、受信部２２、アドレス設定部２３、情報更新部２４、及び送信部２５を有する点。）は、第一実施形態で示した構成（図１参照。）と同様である。
【００８２】
さらに、第三実施形態においても、第一実施形態同様、各ＩＣ２は、電圧検出ＩＣであり、複数の電池セルを含むブロックを複数ブロック有する組電池に対し、各ブロックに対応付けて設けられて、各ブロックの充電状態を監視するように構成されている。マイコン１は、複数のＩＣ２を介して、各ブロックの充電状態に関する情報を収集・監視し、各ブロックの充電状態が所定の下限値から上限値の範囲内に収まるように、各ブロックに対する充放電制御を行う。
【００８３】
第一実施形態と相違する点として、複数のＩＣ２は、複数のグループに分けられている。各グループに属する複数のＩＣ２は、グループ毎に共通の通信ラインにデイジーチェーン接続されている。なお、図９には、複数のＩＣ２が、二つのグループＡ，Ｂに分けられている例を示してあるが、グループ数は任意であり、三つ以上のグループに分けられていてもよい。以下の説明では、グループＡに属する複数のＩＣ２それぞれに対しては、最上位側のＩＣ２から順に番号＃Ａ０ないし＃Ａｎを付与し、グループＢに属する複数のＩＣ２それぞれに対しては、最上位側のＩＣ２から順に番号＃Ｂ０ないし＃Ｂｍを付与する。個々のＩＣ２それぞれを区別して説明したい場合には、各ＩＣ２のことをＩＣ＃Ａ０ないしＩＣ＃Ａｎ、ＩＣ＃Ｂ０ないしＩＣ＃Ｂｍとも称する。
【００８４】
また、第一実施形態では特に明示しなかったが、マイコン１は、複数のＩ／Ｏポート１４（図９には、Ｉ／Ｏポート＃０，＃１，…，＃ｋを例示。）を有する。各Ｉ／Ｏポート１４には、コネクタ３を介して一つのグループに属する複数のＩＣ２がデイジーチェーン接続される。コネクタ３は、任意に着脱可能に構成され、これにより、マイコン１に対して接続される上記グループの数を、容易に増減可能に構成されている。
【００８５】
このような構成にすることにより、同じマイコン及びＩＣ２を利用しながら、組電池のブロック数を任意に増減調整することができる。したがって、例えば、小型車両の場合は組電池のブロック数を少なめに設定し、大型車両の場合は組電池のブロック数を多めに設定する、といったことが可能となる。あるいは、例えば、オプションで利用者が任意に組電池を増設可能にすることもできる。このような組電池の増設は、車両の製造段階で発注しておいてもよいし、車両の購入後に事後的に組電池の増設を行ってもよい。車両が動力源としてエンジン（内燃機関）及びモータ（電動機）を備えるハイブリッド車の場合、電池容量が大きいほどモータの作動機会を増大させることができる。したがって、その分だけエンジンが低効率で作動する状況に至るのを抑制することができ、燃費向上に寄与する。
【００８６】
各グループにおいては、マイコン１から最上位のＩＣ２へと伝送される情報を、上位側のＩＣ２から下位側のＩＣ２へ順に伝送して、最下位のＩＣ２からマイコン１へと伝送可能に構成されている。つまり、個々のグループ内での情報伝送方式は、第一実施形態と同様である。各ＩＣ２には、グループ単位で、互いに異なるアドレスが設定される。例えば、グループＡに属するＩＣ２には、グループＡの中で互いに異なるアドレスが設定され、グループＢに属するＩＣ２には、グループＢの中で互いに異なるアドレスが設定される。ただし、グループが異なるＩＣ２であれば、同一アドレスが設定され得る。
【００８７】
マイコン１の記憶部１１及びＩＣ２の記憶部２１には、第一実施形態同様、図２に例示するようなアドレステーブルが記憶されている。また、マイコン１の記憶部１１には、図１０に例示するようなグループ情報が記憶されている。マイコン１は、グループ情報を参照することにより、自身に接続されているグループ数や、グループ毎に付与されるＩＤ等を認識する。
【００８８】
マイコン１がＩＣ２との間で情報を伝送する際には、グループ毎のＩＤと各ＩＣ２に設定されたアドレスで、個々のＩＣ２を識別する。そのため、グループが異なる複数のＩＣ２において同一アドレスが設定された場合でも、マイコン１は、同一アドレスが設定されたＩＣ２を、ＩＤの違いによって個別に識別することができる。なお、各グループはマイコン１側で識別されるものであり、個々のＩＣ２は自身がどのグループに属しているのかを特に認識する必要はない。そのため、個々のＩＣ２は、第一実施形態において例示したＩＣ２と、全く同様の処理を実行する。
【００８９】
［マイコンにおいて実行される処理］
次に、マイコン１において実行される処理について、図１１〜図１３に基づいて説明する。まず、図１１に示す処理は、グループＡのＩＣ２が既設の状態において、グループＢのＩＣ２が増設された場合に、マイコン１において実行される処理の一例である。この処理は、マイコン１での電源投入時にグループの増減があったことをマイコン１が認識した場合にマイコン１が自ら実行するように構成されていてもよいし、あるいは他装置からマイコン１に対して処理の実行を指令するコマンドが伝送された場合にマイコン１が実行するように構成されていてもよい。
【００９０】
図１１に示す処理を開始すると、マイコン１は、まず、グループＢが増設された事を検知する（Ｓ６１）。Ｓ６１における検知の手法は、システムの実装に応じてどのような手法を用いてもよく、例えばマイコン１側でのポーリングによる検知でも、グループ追加に伴う割り込み処理でも構わない。
【００９１】
続いて、マイコン１は、グループ情報（図１０参照。）にグループＢに関する情報を追加登録することにより、グループ情報を更新し（Ｓ６２）、図１１に示す処理を終了する。以降、マイコン１は、グループ情報を参照することにより、マイコン１の制御下にグループＡ，Ｂが存在することを把握し、それに応じた処理を実行することになる。
【００９２】
次に、マイコン１において実行されるアドレス設定処理について、図１２に基づいて説明する。マイコン１は、電源投入時、あるいは他装置からのコマンドを受信したことを契機として、図１２に示す処理を開始する。この処理を開始すると、マイコン１は、まず、グループ情報から処理対象となるグループを選択する（Ｓ７１）。Ｓ７１では、例えば、処理対象となるグループがグループＡであれば、グループ情報からグループＡに関する情報が選択される。また、処理対象となるグループがグループＢであれば、グループ情報からグループＢに関する情報が選択される。
【００９３】
続いて、マイコン１は、選択したグループに対応するＩＣが接続されているか否かを判断する（Ｓ７２）。Ｓ７２では、グループ情報に基づいて選択されたグループについて、そのようなグループに属するＩＣ２が実際に接続されているか否を判断する。具体的な判断手法は、システムの実装に応じて任意に取り決めればよいが、所定のプロトコルで通信を行うことによりポートが繋がっているかどうかを確認してもよいし、ポートが繋がっている場合にその旨の情報を示すフラグ等がセットされるなら、そのようなフラグのオン・オフを見てもよい。
【００９４】
Ｓ７２において、選択したグループに対応するＩＣが接続されていないと判断された場合は（Ｓ７２：ＮＯ）、Ｓ７１へと戻ることにより、グループの選択を再試行する。なお、図１２には明示されていないが、グループの選択を再試行した結果、最終的にグループが選択できない場合は、本処理を終了すればよい。
【００９５】
一方、Ｓ７２において、選択したグループに対応するＩＣが接続されていると判断された場合は（Ｓ７２：ＹＥＳ）、アドレステーブル（図２参照。）に格納されている情報と、既に保存されているアドレス利用情報とに基づいて、ＩＣ２に対して送信するためのアドレス利用情報を作成する（Ｓ７３）。第三実施形態においても、第一実施形態同様、図１において例示したような８ビットのアドレス利用情報が作成される。
【００９６】
続いて、マイコン１は、Ｓ７３で作成されたアドレス利用情報を、選択したグループの最上位ＩＣ（例えば、グループＡの場合は図９中のＩＣ＃Ａ０，グループＢの場合は図９中のＩＣ＃Ｂ０。）に送信する（Ｓ７４）。すなわち、第三実施形態では、複数のＩＣ２がグループＡ，Ｂに分かれているので、Ｓ７４では、選択したグループを対象にしてアドレス利用情報を送信する。その後、マイコン１は、ＩＣ２側からアドレス利用情報が返却されてくるのを待つ（Ｓ７５：ＮＯ）。
【００９７】
ＩＣ２においては、第一実施形態と同様の処理（図４参照。）が実行される。これにより、最下位ＩＣ（例えば、グループＡの場合は図９中のＩＣ＃Ａｎ，グループＢの場合は図９中のＩＣ＃Ｂｍ。）がＳ２６を実行すると、ＩＣ２側からアドレス利用情報が送信されてくる。そこで、ＩＣ２側からアドレス利用情報が送信されてきたら、そのアドレス利用情報を受信し（Ｓ７５：ＹＥＳ）、受信したアドレス利用情報に基づき、各アドレスが利用されたのかを確認し、グループ情報及びアドレス利用情報をセットにして更新・保存して（Ｓ７６）、この処理を終了する。なお、以上のようなアドレス設定処理は、グループ情報に登録されている全てのグループを対象に実行される。
【００９８】
以上説明したようなアドレス設定処理（図１２及び図４参照。）が、マイコン１及び各ＩＣ２において実行されることにより、各ＩＣ２には、各ＩＣ２の優先度に応じたアドレス番号が設定される。したがって、マイコン１が各ＩＣ２から情報を収集する際には、全てのＩＣ２に対して情報提供を要求することはもちろんのこと、アドレス番号によって優先度の高いＩＣ２だけを指定して、該当するＩＣ２に対してのみ情報提供を要求することも可能となる。
【００９９】
次に、マイコン１が優先度の高いＩＣ２からデータ取得を行う場合の処理例を、図１３に基づいて説明する。マイコン１は、定期的もしくは不定期に、図１３に示す処理を開始する。この処理を開始すると、マイコン１は、まず、グループ情報から処理対象となるグループを選択する（Ｓ８１）。Ｓ８１では、例えば、処理対象となるグループがグループＡであれば、グループ情報からグループＡに関する情報が選択される。また、処理対象となるグループがグループＢであれば、グループ情報からグループＢに関する情報が選択される。
【０１００】
続いて、マイコン１は、選択したグループに対応するＩＣが接続されているか否かを判断する（Ｓ８２）。Ｓ８２では、グループ情報に基づいて選択されたグループについて、そのようなグループに属するＩＣ２が実際に接続されているか否を判断する。なお、上述のＳ７１，Ｓ７２でも同様な判断を行っているので、その情報をキャッシュメモリに保存しておき、十分な信頼性ができる期間内は、キャッシュメモリの情報に基づいてＳ８２の判断を行うようにしてもよい。
【０１０１】
Ｓ８２において、選択したグループに対応するＩＣが接続されていないと判断された場合は（Ｓ８２：ＮＯ）、Ｓ８１へと戻ることにより、グループの選択を再試行する。なお、図１３には明示されていないが、グループの選択を再試行した結果、最終的にグループが選択できない場合は、本処理を終了すればよい。
【０１０２】
一方、Ｓ８２において、選択したグループに対応するＩＣが接続されていると判断された場合は（Ｓ８２：ＹＥＳ）、優先度高のＩＣ２を対象にデータを得たいので、選択したグループの７ビット目（最上位ビット）が１のアドレス番号が設定された優先度高のＩＣ２に対して、データの返却を依頼する依頼データを作成する（Ｓ８３）。
【０１０３】
続いて、マイコン１は、Ｓ８３で作成した依頼データを、選択したグループの最上位ＩＣ（例えば、グループＡの場合は図９中のＩＣ＃Ａ０，グループＢの場合は図９中のＩＣ＃Ｂ０。）に送信する（Ｓ８４）。その後、マイコン１は、ＩＣ２側から依頼データが返却されてくるのを待つ（Ｓ８５：ＮＯ）。
【０１０４】
ＩＣ２においては、第一実施形態と同様の処理（図６参照。）が実行される。これにより、最下位ＩＣ（例えば、グループＡの場合は図９中のＩＣ＃Ａｎ，グループＢの場合は図９中のＩＣ＃Ｂｍ）がＳ４４を実行すると、ＩＣ２側から依頼データが送信されてくる。そこで、マイコン１は、ＩＣ２側から依頼データが送信されてきたら、その依頼データを受信する（Ｓ８５：ＹＥＳ）。ここで受信する依頼データ中には、第一実施形態同様、依頼対象となったいくつかのＩＣ２（ここでは、高優先度のＩＣ２。）それぞれから提供されたデータ全てが含まれている。
【０１０５】
そこで、マイコン１は、アドレス利用情報に基づき、依頼データをアドレス毎のデータに分割して（Ｓ８６）、この処理を終了する。なお、以上のようなデータ取得処理は、グループ情報に登録されている全てのグループを対象に、グループ毎に決まるタイミングで実行される。また、各グループに対する処理は、同期して実行しても非同期で実行してもよく、順次実行しても並列に実行してもよい。複数のグループに対するデータ取得処理を並列に実行すれば、あるグループがデータ収集に時間を要している間に、別のグループに対してデータ取得要求を発行する、といったことも可能となる。したがって、複数グループに属するＩＣ２と同数のＩＣ２が１グループにまとめられてデイジーチェーン接続されている場合に比べ、グループ毎の応答時間は短くなる上に、それらの応答に必要な処理を複数グループが並列に実行でき、複数グループ全てが応答するまでに必要な合計時間も短くなる。
【０１０６】
以上説明したようなデータ取得処理（図１３及び図６参照。）が、マイコン１及び各ＩＣ２において実行されることにより、マイコン１は、優先度の高いＩＣ２だけを対象に、各ＩＣ２から提供されるデータを取得することができる。本実施形態の場合は、これらのデータに基づいて、各Ｉ２が対応するブロックの充電状態をマイコン１側で把握することができ、マイコン１による充放電制御が実行されることになる。
【０１０７】
なお、上述の例では、優先度の高いＩＣ２だけを対象に、各ＩＣ２から提供されるデータを取得したが、対象となるアドレス番号を変更することにより、優先度の低いＩＣ２だけを対象に依頼データを送信することもできる。あるいは、優先度を指定することなく、全てのＩＣ２を対象に依頼データを送信することもできる。したがって、これらのデータ取得方法を組み合わせることにより、高優先度のＩＣ２に対しては相対的に高頻度で依頼データを送信する一方、低優先度のＩＣ２に対しては相対的に低頻度で依頼データを送信する、といったことが可能となる。この点は第一実施形態と同様である。
【０１０８】
また、第三実施形態においては、上述のように複数のＩＣ２が複数のグループに分けられて、グループ毎にデイジーチェーン接続されている。単一グループ内にＩＣ２を増設する場合に比べ、個々のグループにおける通信完了までに要する時間を短くすることができる。また、複数のＩＣ２を複数グループに分けることにより、一つのグループにおいて何らかのトラブルによって通信障害が発生した場合でも、残りのグループにおいては通信障害の発生を回避できる可能性があり、システムの運用を継続できる余地を残すことができる。
【０１０９】
また、上述の優先度は個々のＩＣ２毎に設定されていたが、グループにも優先度を設定し、優先度の高いグループと低いグループとで、通信頻度を変えるような管理を行ってもよい。例えば、既設のグループを長年運用した後に、事後的に新たなグループが増設されたような場合には、グループ単位で組電池の経年劣化の程度が異なる可能性がある。したがって、グループ情報には、ＩＤに加えてグループの新設日時や運用時間といった情報を加え、長期にわたって運用されているグループほど管理頻度が高くなるようにしてもよい。
【０１１０】
あるグループが他のグループより精度が求められる場合には、対象となるグループのデータ取得周期を短くすると好適である。そのような場合には、グループ情報にデータ取得周期を追加し、例えばＳ８１にてグループを選択する際に、データ取得周期を参照し、そこで指定された頻度でデータ取得をするとよい。
【０１１１】
あるいは、グループ毎に用途を設定し、例えば、より重要な（例えば、走行系のシステムにおいて利用される）組電池のグループと、相対的に重要度が低い（例えば、走行系には関与しないシステムにおいて利用される）組電池のグループとを設けてもよい。この場合、グループ情報には、用途に関する情報も記録できるように構成してもよい。また、新たに増設されたグループについては、経年劣化の程度がより低いであろうと期待できるので、新たに増設されたグループがより重要な用途で利用されるように、グループ情報中に含まれる用途情報を書き換え可能に構成してもよい。
【０１１２】
このようなグループ情報の書き換えは、任意のタイミングで実施することができる。例えば、Ｓ６２のようにグループＢを増設した際に、グループ情報を更新する。この際には、グループＢの情報だけではなく、既に運用されているグループＡの情報も更新可能とする。これにより各グループの振る舞いを柔軟に変更することができる。あるいは、グループＢの増設以外のタイミングでグループ情報を更新してもよい。例えば、電池が劣化したグループのデータ取得周期を短くしたい場合などには、定期処理中にグループ情報を更新してもよい。
【０１１３】
さらに、上述のような複数のグループは、グループ毎に通信方式が異なっていてもよいし、エラー訂正方式は異なっていてもよい。この場合、どのような通信方式やエラー訂正方式を採用しているかについては、そのような情報がグループ情報に含まれるように構成してあってもよい。
【０１１４】
（４）他の実施形態
以上、通信システムについて、例示的な実施形態を挙げて説明したが、本発明は、上述の例示的な実施形態に限定されるものではなく、本発明の技術的思想を逸脱しない範囲内において、様々な形態で実施することができる。
【０１１５】
例えば、上記実施形態では、各アドレス番号の最上位ビットが１か０かで、高優先度か低優先度かを表現していたが、そのような情報を持たせるビットが最上位ビットか否かは任意である。例えば、最上位ビット以外のビットで高優先度か低優先度かを識別できるようにしてもよい。
【０１１６】
また、高優先度か低優先度かを１ビットで表現するか否かも任意であり、２ビット以上のビットで優先度を表現してもよい。この場合は、高優先度と低優先度との二者択一ではなく、優先度０−３といった多段階の優先度設定も可能となる。
【０１１７】
また、上記実施形態では、ＩＣ２について、複数の電池セルを含むブロックを複数ブロック有する組電池における各ブロックの充電状態を監視するＩＣである旨を説明したが、ＩＣ２がどのような機能を有するＩＣであるかは任意である。
【０１１８】
また、上記実施形態では、ＩＣ２の優先度に応じてアドレス番号を変更していたが、優先度という観点でアドレス番号を変更するか否かも任意である。例えば、通信時の優先度とは無関係に、あらかじめ定められた規則に従って、各ＩＣ２にアドレス番号が設定されてもよい。例えば、複数のＩＣ２の中に、機能が異なるものが混在していれば、その機能の違いに応じてアドレス番号が変更されてもよい。
【符号の説明】
【０１１９】
１…マイクロコンピュータ（マイコン）、２…ＩＣ、１１…記憶部、１２…送信部、１３…受信部、２１…記憶部、２２…受信部、２３…アドレス設定部、２４…情報更新部、２５…送信部。
【図１】
0006451547.tif 000002
【図２】
0006451547.tif 000003
【図３】
0006451547.tif 000004
【図４】
0006451547.tif 000005
【図５】
0006451547.tif 000006
【図６】
0006451547.tif 000007
【図７】
0006451547.tif 000008
【図８】
0006451547.tif 000009
【図９】
0006451547.tif 000010
【図１０】
0006451547.tif 000011
【図１１】
0006451547.tif 000012
【図１２】
0006451547.tif 000013
【図１３】
0006451547.tif 000014