(57)【要約】【課題】通信ノードを複数有する多重通信システムにおいて、消費電力を低減させること。【解決手段】ゲートウェイ装置は、複数の通信バスの一つの通信バスからデータを送信する通信ノードを特定し、該通信ノードに紐付けられたデータの送信回数カウンタのカウント値を増加させ、該カウント値が閾値以上である場合に、一つの通信バスによるデータ通信を不能にする制御部を有し、制御部は、車両のイグニッションがオフにされ、且つ自ゲートウェイ装置がスリープ状態に移行した後に、受信部によって受信されたデータを送信する通信ノードを特定し、通信ノードは、一つの通信バスにデータを送信するとともに、一つの通信バスからデータを受信する通信部と、自通信ノードがスリープ状態に移行できる状態と判定し、且つ他の通信ノードから所定の時間の間データを受信しない場合に、スリープ状態に移行する制御部とを有する。【選択図】図４
2015154189.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載されるとともに、複数の通信バスに接続される通信ノードと、前記複数の通信バスの間に接続され、且つ異なる通信バスに接続される通信ノード間の通信を中継するゲートウェイ装置とを有する通信システムであって、
前記ゲートウェイ装置は、
前記複数の通信バスの一つの通信バスに接続される通信ノードによって送信されるデータを受信する受信部と、
前記一つの通信バスからデータを送信する通信ノードを特定し、該データを送信する通信ノードに紐付けられたデータの送信回数をカウントする送信回数カウンタのカウント値を増加させ、該送信回数カウンタのカウント値が閾値以上である場合に、前記一つの通信バスによるデータ通信を不能にする制御部と
を有し、
前記制御部は、前記車両のイグニッションがオフにされ、且つ自ゲートウェイ装置がスリープ状態に移行した後に、前記受信部によって受信されたデータを送信する通信ノードを特定し、
前記一つの通信バスに接続される通信ノードは、
前記一つの通信バスにデータを送信するとともに、前記一つの通信バスからデータを受信する通信部と、
自通信ノードがスリープ状態に移行できる状態と判定し、且つ他の通信ノードから所定の時間の間データを受信しない場合に、スリープ状態に移行する制御部と
を有する、通信システム。
【請求項２】
車両に搭載されるとともに、通信バスに接続された複数の通信ノードを有する通信システムであって、
前記複数の通信ノードのうちの一つの通信ノードは、
前記複数の通信ノードのうちの一つの通信ノード以外の他の通信ノードによって送信されるデータを受信する受信部と、
前記他の通信ノードを特定し、該他の通信ノードに紐付けられたデータの送信回数をカウントする送信回数カウンタのカウント値を増加させ、該送信回数カウンタのカウント値が閾値以上である場合に、前記通信バスによるデータ通信を不能にする制御部と
を有し、
前記制御部は、前記車両のイグニッションがオフにされ、且つ自通信ノードがスリープ状態に移行した後に、前記受信部によって受信されたデータを送信する通信ノードを特定し、
前記他の通信ノードは、
前記通信バスにデータを送信するとともに、前記通信バスからデータを受信する通信部と、
自通信ノードがスリープ状態に移行できる状態と判定し、且つ他の通信ノードから所定の時間の間データを受信しない場合に、スリープ状態に移行する制御部と
を有する、通信システム。
【請求項３】
車両に搭載されるとともに、複数の通信バスの間に接続され、且つ異なる通信バスに接続される通信ノード間の通信を中継するゲートウェイ装置であって、
前記複数の通信バスの一つの通信バスに接続される通信ノードによって送信されるデータを受信する受信部と、
前記一つの通信バスからデータを送信する通信ノードを特定し、該データを送信する通信ノードに紐付けられたデータの送信回数をカウントする送信回数カウンタのカウント値を増加させ、該送信回数カウンタのカウント値が閾値以上である場合に、前記一つの通信バスによるデータ通信を不能にする制御部と
を有し、
前記制御部は、前記車両のイグニッションがオフにされ、且つ自ゲートウェイ装置がスリープ状態に移行した後に、前記受信部によって受信されたデータを送信する通信ノードを特定する、ゲートウェイ装置。
【請求項４】
前記制御部は、前記カウント値が閾値以上である場合に、前記通信バスをドミナント側の電圧に固定する、請求項３に記載のゲートウェイ装置。
【請求項５】
前記制御部は、前記車両のイグニッションがオンにされた場合、前記一つの通信バスによるデータ通信を可能にさせる、請求項３または４に記載のゲートウェイ装置。
【請求項６】
車両に搭載されるとともに、通信バスに接続された複数の通信ノードの一つの通信ノードであって、
前記通信バスに接続される複数の通信ノードのうちの一つの通信ノード以外の他の通信ノードによって送信されるデータを受信する受信部と、
前記他の通信ノードを特定し、該他の通信ノードに紐付けられたデータの送信回数をカウントする送信回数カウンタのカウント値を増加させ、該送信回数カウンタのカウント値が閾値以上である場合に、前記通信バスによるデータ通信を不能にする制御部と
を有し、
前記制御部は、前記車両のイグニッションがオフにされ、且つ自通信ノードがスリープ状態に移行した後に、前記受信部によって受信されたデータを送信する通信ノードを特定する、通信ノード。
【請求項７】
前記制御部は、前記カウント値が閾値以上である場合に、前記通信バスをドミナント側の電圧に固定する、請求項６に記載の通信ノード。
【請求項８】
前記制御部は、前記車両のイグニッションがオンにされた場合、前記通信バスによるデータ通信を可能にさせる、請求項６または７に記載の通信ノード。
【請求項９】
車両に搭載されるとともに、複数の通信バスの間に接続され、且つ異なる通信バスに接続される通信ノード間の通信を中継するゲートウェイ装置における通信制御方法であって、
前記車両のイグニッションがオフにされ、且つ自ゲートウェイ装置がスリープ状態に移行した際に、前記複数の通信バスの一つの通信バスに接続される通信ノードによって送信されるデータを受信し、
前記データを送信する通信ノードを特定し、
該データを送信する通信ノードに紐付けられたデータの送信回数をカウントする送信回数カウンタのカウント値を増加させ、
該送信回数カウンタのカウント値が閾値以上である場合に、前記一つの通信バスによるデータ通信を不能する、通信制御方法。
【請求項１０】
車両に搭載されるとともに、通信バスに接続された複数の通信ノードの一つの通信ノードにおける通信制御方法であって、
前記車両のイグニッションがオフにされ、且つ自通信ノードがスリープ状態に移行した際に、前記通信バスに接続される複数の通信ノードのうちの一つの通信ノード以外の他の通信ノードによって送信されるデータを受信し、
前記他の通信ノードを特定し、
該他の通信ノードに紐付けられたデータの送信回数をカウントする送信回数カウンタのカウント値を増加させ、
該送信回数カウンタのカウント値が閾値以上である場合に、前記通信バスによるデータ通信を不能にする、通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信ノードが通信線を介して互いに信号の送受信を行う多重通信システムに関する。
【背景技術】
【０００２】
近年、例えば自動車に搭載される電装品や電気装置の数は、車両の高機能化及び高性能化に伴って増加の一途をたどっており、電装品や電気装置を接続する配線が複雑且つ大規模化してきている。そこで、複数の装置を通信線によって互いに接続し、各装置間で通信を行うようにした多重通信システムが実用化されている。
【０００３】
このような多重通信システムを例えば自動車に搭載する場合、エンジンが停止している状態では、バッテリ電源に依存することとなるため、消費電力をできるだけ少なくすることが必要である。このため、システムが動作を停止してよい場合には、多重通信システムを構成する各装置である通信ノードが機能を停止して、起動要請があったときに再起動できる程度の必要最小限の電力だけを消費する、所謂スリープ状態に入るようにしている。
【０００４】
多重通信システムを構成する各通信ノードが、動作状態を通常状態よりも消費電力の少ないスリープ状態へ移行させることが可能であるか否かを判定し、スリープ状態への移行が可能ではないと判定した場合にその旨を他の全ての通信ノードに報知するための報知信号を送信し、スリープ状態への移行が可能であると判定した場合に他の通信ノードからの報知信号を所定時間以上継続して受信していないと判定した場合に通信ノードの動作状態をスリープ状態に切り換える技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−１３５２５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
通信ノード自体に異常が発生した場合や、ノイズが発生するなどの想定されない状況により、多重通信システムを構成する複数の通信ノードのうち１つの通信ノードが通信線にデータを送信するためにスリープ状態からウェイクアップする場合を考える。
【０００７】
イグニッションがオフにされた状態で、スリープ状態に移行した通信ノードがウエイクアップする機能は種々存在する。通常は、ウェイクアップした通信ノードは、必要な情報伝達を行った後、再びスリープ状態に移行する。ところが、意図されないソフトウェアバグや、開発時の想定されないレアケースに、継続して同じ通信ノードがウエイクアップし、通信線をウエイクし続ける場合が想定される。
【０００８】
ウェイクアップした通信ノード以外の通信ノードは、スリープ状態への移行が可能である場合でも、データを受信するため、動作状態をスリープ状態へ切り替えることができない。
【０００９】
動作状態をスリープ状態へ切り替えることができない状況が継続することによって、消費電力が増大し、バッテリが上がるおそれがある。場合によっては、数日の間イグニッションがオフにされている間にバッテリが放電され、バッテリが上がるおそれがある。
【００１０】
本発明の目的は、通信ノードを複数有する多重通信システムにおいて、消費電力を低減させることである。
【課題を解決するための手段】
【００１１】
開示の一実施例の通信システムは、
車両に搭載されるとともに、複数の通信バスに接続される通信ノードと、前記複数の通信バスの間に接続され、且つ異なる通信バスに接続される通信ノード間の通信を中継するゲートウェイ装置とを有する通信システムであって、
前記ゲートウェイ装置は、
前記複数の通信バスの一つの通信バスに接続される通信ノードによって送信されるデータを受信する受信部と、
前記一つの通信バスからデータを送信する通信ノードを特定し、該データを送信する通信ノードに紐付けられたデータの送信回数をカウントする送信回数カウンタのカウント値を増加させ、該送信回数カウンタのカウント値が閾値以上である場合に、前記一つの通信バスによるデータ通信を不能にする制御部と
を有し、
前記制御部は、前記車両のイグニッションがオフにされ、且つ自ゲートウェイ装置がスリープ状態に移行した後に、前記受信部によって受信されたデータを送信する通信ノードを特定し、
前記一つの通信バスに接続される通信ノードは、
前記一つの通信バスにデータを送信するとともに、前記一つの通信バスからデータを受信する通信部と、
自通信ノードがスリープ状態に移行できる状態と判定し、且つ他の通信ノードから所定の時間の間データを受信しない場合に、スリープ状態に移行する制御部と
を有する。
【発明の効果】
【００１２】
開示の実施例によれば、通信ノードを複数有する多重通信システムにおいて、消費電力を低減させることができる。
【図面の簡単な説明】
【００１３】
【図１】通信システムの一実施例を示す図である。
【図２】第１の通信ノードの一実施例を示す図である。
【図３】フレームの一例を示す図である。
【図４】第５の通信ノードの一実施例を示す図である。
【図５】第１の通信ノードの動作の一実施例（その１）を示すフローチャートである。
【図６】第１の通信ノードの動作の一実施例（その２）を示すフローチャートである。
【図７】第５の通信ノードの動作の一実施例を示すフローチャートである。
【図８】通信システムの一実施例を示す図である。
【図９】第６の通信ノードの一実施例を示す図である。
【図１０】第１０の通信ノードの一実施例を示す図である。
【発明を実施するための形態】
【００１４】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。以下で説明する実施例は一例に過ぎず、本発明が適用される実施の形態は、以下の実施例に限られない。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００１５】
＜実施例＞
＜通信システム＞
図１は、通信システムの一実施例を示す。
【００１６】
通信システムは、例えば車両等の移動体に搭載される。通信システムの一実施例は、車両に搭載され、CAN(Controller Area Network)、LIN(Local Interconnect Network)などのLANが適用される。通信システムは、情報系LAN、パワートレイン系LAN、ボディ系LANなどに適用できる。
【００１７】
また、通信システムに、FlexRay（登録商標）を適用してもよい。
【００１８】
各通信ノードは、電子制御ユニット(ECU: Electronic Control Unit)などの制御装置によって実現される。また、各通信ノードに、センサ、アクチュエータなどが実装されてもよい。
【００１９】
通信システムは、第１の通信ノード１００と、第２の通信ノード２００と、第３の通信ノード３００と、第４の通信ノード４００と、第５の通信ノード５００とを備える。
【００２０】
第１の通信ノード１００−第２の通信ノード２００は、第１の通信バス１０により有線接続される。第３の通信ノード３００−第４の通信ノード４００は、第２の通信バス２０によって有線接続される。第５の通信ノード５００は、第１の通信バス１０と第２の通信バス２０との間に介設される。第５の通信ノード５００は、第１の通信バス１０に接続された通信ノードと第２の通信バス２０に接続された通信ノードとの間の通信を中継するゲートウェイ装置である。
【００２１】
第1の通信ノード１００−第５の通信ノード５００は、それぞれヒューズ１５０、２５０、３５０、４５０及び５５０を介して、バッテリ５０と接続される。
【００２２】
図１には、５個の通信ノードによって通信システムを構成する場合について示すが、３−４個の通信ノードによって構成してもよいし、６個以上の通信ノードによって構成してもよい。第１の通信バス１０に接続される通信ノードと、第２の通信バス２０に接続される通信ノードと、第１の通信バス１０と第２の通信バス２０との間に介設される通信ノードによって通信システムを構成できる。
【００２３】
通信システムにCANが適用される場合、第１の通信バス１０及び第２の通信バス２０は、ツイストペアの形態を有する２本の通信線（CANバス）からなる。CANバスのツイストペア線は一方がCAN High（以下、CANHという）、他方がCAN Low（以下、CANLという）と呼ばれる母線である。第１の通信バス１０及び第２の通信バス２０のそれぞれの両端には終端抵抗（図示なし）が接続される。図１では、１本の実線でCANH、CANLを表す。
【００２４】
第１の通信ノード１００、第２の通信ノード２００及び第５の通信ノード５００は、CSMA/CD(Carrier Sense Multiple Access/Collision Detection)にしたがって、ロー(Lo)レベルの信号を送信し続けた通信ノードが優先して通信を行い、衝突に負けた（ハイ(Hi)レベルの信号を送信した）通信ノードは次の機会の送信のために待機する。つまり、第１の通信ノード１００、第２の通信ノード２００及び第５の通信ノード５００のうち、ローレベルの信号を送信し続けた通信ノードが第１の通信バス１０を介して通信を行い、ローレベルの信号を送信し続けた通信ノード以外の通信ノードは次の機会まで待機する。
【００２５】
第３の通信ノード３００、第４の通信ノード４００及び第５の通信ノード５００についても同様に、CSMA/CDにしたがって、ローレベルの信号を送信し続けた通信ノードが優先して通信を行い、衝突に負けた通信ノードは次の機会の送信のために待機する。つまり、第３の通信ノード３００、第４の通信ノード４００及び第５の通信ノード５００のうち、ローレベルの信号を送信し続けた通信ノードが、第２の通信バス２０を介して通信を行い、ローレベルの信号を送信し続けた通信ノード以外の通信ノードは次の機会まで待機する。
【００２６】
＜第１の通信ノード１００＞
図２は、第１の通信ノード１００の一実施例を示す。図２には、主に、第１の通信ノード１００のハードウェア構成を示す。第２の通信ノード２００−第４の通信ノード４００のハードウェア構成についても、図２を適用できる。
【００２７】
第１の通信ノード１００は、通信トランシーバ１０２と、通信回路１０４と、CPU１０６とを有する。
【００２８】
通信トランシーバ１０２は、第１の通信バス１０に接続され、通信ドライバによる制御によって、通信回路１０４からのデータを第１の通信バス１０に送信するとともに、第１の通信バス１０からのデータを受信し、通信回路１０４に入力する。通信トランシーバ１０２は、データを送信する場合には、CANHとCANLに反転信号を送出する。通信トランシーバ１０２は、データを受信する場合には、CANHとCANLとの電圧差から、第１の通信バス１０上のデータが"１"であるか"０"であるかを判定する。
【００２９】
通信回路１０４は、通信トランシーバ１０２と接続され、第１の通信バス１０を介して、他の通信ノードとシリアル通信を行う。通信回路１０４は、CPU１０６からのデータを通信トランシーバ１０２から送信するとともに、通信トランシーバ１０２からのデータをCPU１０６に入力する。
【００３０】
CPU１０６は、通信回路１０４と接続され、通信回路１０４により実行される通信処理や、第１の通信ノード１００を制御する処理を実行する。CPU１０６には、バッテリ電源(+B電源)が供給されるとともに、IG（イグニッション）信号が入力される。
【００３１】
CPU１０６は、第１の通信ノード１００の動作状態を制御する。第１の通信ノード１００の動作状態は、CPU１０６が通常モードで動作しているときに通常状態となり、CPU１０６がスリープ状態に入ると、CPU１０６の動作に伴う消費電力が低減するとともに、通信回路１０４への電源供給が遮断されるため、消費電力が少ない状態であるスリープ状態となる。
【００３２】
第１の通信ノード１００は、第２の通信ノード２００−第５の通信ノード５００との間で、信号の送受信を行う。
【００３３】
図３は、通信システムで送受信される信号のフレーム構造を示す。
【００３４】
第１の通信ノード１００からの送信信号は、スタートオブフレーム(SOF: Start Of Frame)ビットと、IDと、Dataフィールドと、CRCスロットと、ACK（アクノレッジ）スロットと、エンドオブフレーム(EOF: End of Frame)とにより構成される。
【００３５】
スタートオブフレームビットは、フレームの先頭を示し、ドミナント(論理0)ビットで示される。
【００３６】
IDは、メッセージを識別し、メッセージの優先順位を示す。IDは、11ビットで表されてもよいし（標準フレーム）、29ビットで表されてもよい（拡張フレーム）。IDは、データIDとも呼ばれる。
【００３７】
Dataフィールドには、0〜8バイトの各種データ、スイッチ信号及び制御信号などが付帯される。
【００３８】
CRCは、巡回冗長検査を示す。CRCには、15ビットの巡回冗長検査コードとリセッシブデリミタビットが含まれる。CRCフィールドは、エラー検出に使用される。
【００３９】
ACK（アクノレッジ）スロットは、メッセージを正しく受信した場合に、メッセージの最後に送信する。送信側のノードは通信バス上でACKビットの有無をチェックし、ACKが検出されなかった場合は再度送信を試みるのが好ましい。
【００４０】
エンドオブフレームは、データフレームやリモートフレームの終了位置を示す。エンドオブフレームは、7ビットで構成され、ビットレベルは全て"リセッシブ"である。
【００４１】
第１の通信ノード１００からの送信信号のデータフィールドには、第１の通信ノード１００がスリープ状態へ移行できない状態（以下、「スリープ不可状態」という）であることを他の通信ノードへ通知するための報知情報としてのビット（以下、「スリープ不可ビット」という）SLNGが付帯される場合もある。
【００４２】
第１の通信ノード１００は、何等かの制御を行わなければならない状態になっている場合や、自第１の通信ノード１００がアクチュエータ等を制御している場合には、スリープ不可状態であると判断し、スリープ不可ビットSLNGを、スリープ不可状態であることを示すアクティブ（本実施例では「１」）に設定して送信する。
【００４３】
第１の通信ノード１００は、自第１の通信ノード１００がスリープ可能状態であっても、他の通信ノードから送信されたフレームに付帯されるスリープ不可ビットSLNGがアクティブであれば、スリープ状態へは移行しない。
【００４４】
また、第１の通信ノード１００は、他の通信ノードから、スリープ不可ビットSLNGがアクティブであるフレームを所定時間以上継続して受信しない場合、第１の通信ノードを含む全ての通信ノードがスリープ状態へ移行可能になったと判断し、通常状態からスリープ状態へ移行する。
【００４５】
＜第５の通信ノード５００＞
図４は、第５の通信ノード５００の一実施例を示す。図５には、主に、第５の通信ノード５００のハードウェア構成を示す。
【００４６】
第５の通信ノード５００は、第１の通信トランシーバ５０２と、第１の通信回路５０４と、第１の通信バス固定用回路５０６と、第２の通信トランシーバ５０８と、第２の通信回路５１０と、第２の通信バス固定用回路５１２と、CPU５１４とを有する。
【００４７】
第１の通信トランシーバ５０２は、第１の通信バス１０に接続され、通信ドライバによる制御により、第１の通信回路５０４からのデータを第１の通信バス１０に送信するとともに、第１の通信バス１０からのデータを受信し、第１の通信回路５０４に入力する。第１の通信トランシーバ５０２は、データを送信する場合には、CANHとCANLに反転信号を送出する。第１の通信トランシーバ５０２は、データを受信する場合には、CANHとCANLとの電圧差から、第１の通信バス１０上のデータが"１"であるか"０"であるかを判定する。
【００４８】
第１の通信回路５０４は、第１の通信トランシーバ５０２と接続され、第１の通信バス１０を介して、他の通信ノードとシリアル通信を行う。第１の通信回路５０４は、CPU５１４からの送信データを第１の通信トランシーバ５０２から送信するとともに、第１の通信トランシーバ５０２からの受信データをCPU１０６に入力する。
【００４９】
第１の通信バス固定用回路５０６は、CPU５１４からの信号（以下、「第１の異常ウェイクアップ信号」という）にしたがって、第１の通信バス１０をドミナント側に固定する。図４に示される例では、第１の通信バス固定用回路５０６は、ｎｐｎトランジスタ５０６２と、第１の抵抗５０６４と、第２の抵抗５０６６とを有する。ｎｐｎトランジスタ５０６２のコレクタは、第１の通信バス１０に接続され、エミッタは接地され、ベースは第１の抵抗５０６４と接続される。第１の抵抗５０６４のｎｐｎトランジスタ５０６２と接続された端子とは異なる他の端子は、CPU５１４と接続される。さらに、ｎｐｎトランジスタ５０６２のベースとエミッタとの間は、第２の抵抗５０６６を介して接続される。図４に示される例とは異なる構成で、第１の通信バス固定用回路５０６を構成してもよい。
【００５０】
CPU５１４は、所定の場合に第１の通信バス固定用回路５０６に第１の異常ウェイクアップ信号を出力する。CPU５１４からの第１の異常ウェイクアップ信号により、ｎｐｎトランジスタ５０６２は、オンになり、ｎｐｎトランジスタ５０６２のコレクタからエミッタ方向に電流が流れる。ｎｐｎトランジスタ５０６２のコレクタからエミッタ方向に電流が流れる結果、第１の通信バス１０は、ドミナントに固定される。
【００５１】
第２の通信トランシーバ５０８は、第２の通信バス２０に接続され、通信ドライバによる制御により、第２の通信回路５１０からのデータを第２の通信バス２０に送信するとともに、第２の通信バス２０からのデータを受信し、第２の通信回路５１０に入力する。第２の通信トランシーバ５０８は、データを送信する場合には、CANHとCANLに反転信号を送出する。第２の通信トランシーバ５０８は、データを受信する場合には、CANHとCANLとの電圧差から、第２の通信バス２０上のデータが"１"であるか"０"であるかを判定する。
【００５２】
第２の通信回路５１０は、第２の通信トランシーバ５０８と接続され、第２の通信バス２０を介して、他の通信ノードとシリアル通信を行う。第２の通信回路５１０は、CPU５１４からの送信データを第２の通信トランシーバ５０８から送信するとともに、第２の通信トランシーバ５０８からの受信データをCPU５１４に入力する。
【００５３】
第２の通信バス固定用回路５１２は、CPU５１４からの信号（以下、「第２の異常ウェイクアップ信号」という）にしたがって、第２の通信バス２０をドミナント側に固定する。図４に示される例では、第２の通信バス固定用回路５１２は、ｎｐｎトランジスタ５１２２と、第１の抵抗５１２４と、第２の抵抗５１２６とを有する。ｎｐｎトランジスタ５１２２のコレクタは、第２の通信バス２０に接続され、エミッタは接地され、ベースは第１の抵抗５１２４と接続される。第１の抵抗５１２４のｎｐｎトランジスタ５１２２と接続された端子とは異なる他の端子は、CPU５１４と接続される。さらに、ｎｐｎトランジスタ５１２２のベースとエミッタとの間は、第２の抵抗５１２６を介して接続される。図４に示される例とは異なる構成で、第２の通信バス固定用回路５１２を構成してもよい。
【００５４】
CPU５１４は、所定の場合に第２の通信バス固定用回路５１２に第２の異常ウェイクアップ信号を出力する。CPU５１４からの第２の異常ウェイクアップ信号により、ｎｐｎトランジスタ５１２２は、オンになり、ｎｐｎトランジスタ５１２２のコレクタからエミッタ方向に電流が流れる。ｎｐｎトランジスタ５１２２のコレクタからエミッタ方向に電流が流れる結果、第２の通信バス２０は、ドミナントに固定される。
【００５５】
CPU５１４は、第１の通信回路５０４及び第２の通信回路５１０と接続され、第１の通信回路５０４によって実行される通信処理や、第５の通信ノード５００を制御する処理を実行する。CPU５１４には、バッテリ電源(+B電源)が供給されるとともに、IG（イグニッション）信号が入力される。CPU５１４には、IGがオフにされた際にIG信号として、IG OFF信号が入力され、IGがオンにされた際にIG信号として、IG ON信号が入力される。
【００５６】
CPU５１４は、第５の通信ノード５００の動作状態を制御する。第５の通信ノード５００の動作状態は、CPU５１４が通常モードで動作しているときに通常状態となり、CPU５１４がスリープ状態に入ると、CPU５１４の動作に伴う消費電力が低減するとともに、第１の通信回路５０４への電源供給が遮断されるため、消費電力が少ない状態であるスリープ状態となる。
【００５７】
CPU５１４は、規定の時間を計測するタイマと、送信動作の回数をカウントする１または複数のカウンタを有する。各カウンタは通信ノードと紐付けられる。CPU５１４は、IG OFF信号が入力され、且つスリープ状態に移行してから、IG ON信号が入力されるまでの間に以下の処理を行う。
【００５８】
CPU５１４にIG OFF信号が入力され、且つスリープ状態に移行した場合、第１の通信バス１０はHi状態であるバススリープ状態となる。通信データがない状態では、通信バス１０は、Hi状態となる。
【００５９】
CPU５１４は、規定の時間の間に、通信ノード毎に、送信動作を行ったか否かを判定する。規定の時間は、スリープ状態に移行する周期よりも長い時間であるのが好ましく、例えば1時間程度の時間であってもよい。CPU５１４は、第１の通信バス１０のエッジを検出することにより、送信動作を行った通信ノードを特定する。通信バス１０がHi状態からLo状態になるときにエッジが検出される。CPU５１４は、送信動作を行った通信ノードに対応するカウンタをカウントアップし、カウント値が所定の閾値を超えたか否かを判定する。閾値は、通信ノードにかかわらず同じ値としてもよいし、通信ノードによって異なる値としてもよい。CPU５１４は、カウント値が所定の閾値を超えたと判定した場合、第１の通信バス固定用回路５０６に第１の異常ウェイクアップ信号を入力する。一方、CPU５１４は、送信動作の回数のカウント値が所定の閾値以下と判定した場合、該送信動作に対応する処理を実行し、スリープ状態に移行する。
【００６０】
第１の通信バス固定用回路５０６に第１の異常ウェイクアップ信号が入力されることにより、第１の通信バス１０はドミナントに固定される。第１の通信バス１０がドミナントに固定されることにより、第１の通信ノード１００及び第２の通信ノード２００は、データを受信できない状態となる。第１の通信ノード１００及び第２の通信ノード２００は、スリープ可能状態である場合、他の通信ノードから、スリープ不可ビットSLNGがアクティブであるフレームを所定時間以上継続して受信しないため、第１の通信ノード及び第２の通信ノード２００を含む全ての通信ノードがスリープ状態へ移行可能になったと判断し、通常状態からスリープ状態へ移行する。
【００６１】
また、CPU５１４にIG OFF信号が入力され、且つスリープ状態に移行した場合、第２の通信バス２０はバススリープ状態となる。
【００６２】
CPU５１４は、規定の時間の間に、通信ノード毎に、送信動作を行ったか否かを判定する。CPU５１４は、第２の通信バス２０のエッジを検出することにより、送信動作を行った通信ノードを特定する。CPU５１４は、送信動作を行った通信ノードに対応するカウンタをカウントアップし、カウント値が所定の閾値を超えたか否かを判定する。CPU５１４は、カウント値が所定の閾値を超えたと判定した場合、第２の通信バス固定用回路５１２に第２の異常ウェイクアップ信号を入力する。一方、CPU５１４は、送信動作の回数のカウント値が所定の閾値以下と判定した場合、該送信動作に対応する処理を実行し、スリープ状態に移行する。
【００６３】
第２の通信バス固定用回路５１２に第２の異常ウェイクアップ信号が入力されることにより、第２の通信バス２０はドミナントに固定される。第２の通信バス２０がドミナントに固定されることにより、第３の通信ノード３００及び第４の通信ノード４００は、データを受信できない状態となる。第３の通信ノード３００及び第４の通信ノード４００は、スリープ可能状態である場合、他の通信ノードから、スリープ不可ビットSLNGがアクティブであるフレームを所定時間以上継続して受信しないため、第３の通信ノード及び第４の通信ノード４００を含む全ての通信ノードがスリープ状態へ移行可能になったと判断し、通常状態からスリープ状態へ移行する。
【００６４】
第５の通信ノード５００は、何等かの制御を行わなければならない状態になっている場合や、自第５の通信ノード５００がアクチュエータ等を制御している場合には、スリープ不可状態であると判断し、スリープ不可ビットSLNGを、スリープ不可状態であることを示すアクティブ（本実施例では「１」）に設定して送信する。
【００６５】
第５の通信ノード５００は、自第５の通信ノード５００がスリープ可能状態であっても、他の通信ノードから送信されたフレームに付帯されるスリープ不可ビットSLNGがアクティブであれば、スリープ状態へは移行しない。
【００６６】
また、第５の通信ノード５００は、他の通信ノードから、スリープ不可ビットSLNGがアクティブであるフレームを所定時間以上継続して受信しない場合、第５の通信ノード５００を含む全ての通信ノードがスリープ状態へ移行可能になったと判断し、通常状態からスリープ状態へ移行する。
【００６７】
＜通信システムの動作＞
＜第１の通信ノード１００の動作＞
図５、図６は、第１の通信ノード１００の動作を示す。第２の通信ノード２００−第４の通信ノード４００の動作についても、図５、図６を適用できる。
【００６８】
図５は、第１の通信ノード１００の動作（その１）を示す。
【００６９】
ステップＳ５０２では、第１の通信ノード１００は、スリープ状態へ移行できる状態であるか否かを判定する。第１の通信ノード１００は、スリープ不可状態でないと判断した場合には、スリープ状態へ移行できる状態と判定する。
【００７０】
スリープ状態へ移行できる状態であると判定した場合、ステップＳ５０２に戻る。
【００７１】
ステップＳ５０４では、第１の通信ノード１００は、ステップＳ５０２においてスリープ状態へ移行できる状態でないと判定した場合、スリープ不可ビットSLNGをアクティブに設定したフレームを送信する。スリープ不可ビットSLNGをアクティブに設定したフレームを送信することにより、他の通信ノードに第１の通信ノード１００がスリープ状態へ移行できない状態であることを通知できる。
【００７２】
図６は、第１の通信ノード１００の動作（その２）を示す。
【００７３】
ステップＳ６０２では、第１の通信ノード１００は、スリープ状態へ移行できる状態であるか否かを判定する。第１の通信ノード１００は、スリープ不可状態でないと判断した場合には、スリープ状態へ移行できる状態であると判定する。
【００７４】
ステップＳ６０４では、第１の通信ノード１００は、ステップＳ６０２においてスリープ状態へ移行できる状態であると判定した場合、他の通信ノードからスリープ不可ビットSLNGをアクティブに設定したフレームを受信したか否かを判定する。他の通信ノードからスリープ不可ビットSLNGをアクティブに設定したフレームを受信したか否かを判定することにより、他の通信ノードがスリープ状態へ移行できない状態であるか否かを判定できる。
【００７５】
他の通信ノードからスリープ不可ビットSLNGをアクティブに設定したフレームを受信したと判定した場合、ステップＳ６０２へ戻る。他の通信ノードからスリープ不可ビットSLNGをアクティブに設定したフレームを受信した場合、第１の通信ノード１００はスリープ状態へ移行できない他の通信ノードからのデータを受信するため、スリープ状態へ移行できないと判定する。
【００７６】
ステップＳ６０６では、第１の通信ノード１００は、ステップＳ６０４で他の通信ノードからスリープ不可ビットSLNGをアクティブに設定したフレームを受信しないと判定した場合、所定の時間が経過したか否かを判定する。スリープ状態に移行できる状態になってから、他の通信ノードからスリープ不可ビットSLNGをアクティブに設定したフレームを受信しないまま所定の時間が経過したか否かを判定する。スリーブ状態へ移行できる状態となっても、他の通信ノードから通信データが送信される場合には、その通信データを受信する必要があるため、所定の時間が経過するまで待機する。
【００７７】
他の通信ノードからスリープ不可ビットSLNGをアクティブに設定したフレームを受信しないまま所定の時間が経過していないと判定した場合、ステップＳ６０４に戻る。
【００７８】
ステップＳ６０８では、ステップＳ６０６で、他の通信ノードからスリープ不可ビットSLNGをアクティブに設定したフレームを受信しないまま所定の時間が経過したと判定した場合、第１の通信ノード１００は、スリープ状態に移行する。他の通信ノードからスリープ不可ビットSLNGをアクティブに設定したフレームを受信しないまま所定の時間が経過したか否かを判定することにより、全ての通信ノードがスリープ状態に移行したか否かを判定できる。
【００７９】
第１の通信ノード１００は、図５に示されるフローチャートと、図６に示されるフローチャートの両方を並行して実行する。
【００８０】
図７は、第５の通信ノード５００の動作を示す。図７は、第１の通信バス１０に接続される第１の通信ノード１００と、第２の通信ノード２００との間で通信を行う例を示す。第２の通信バス２０に接続される第３の通信ノード３００と、第４の通信ノード４００との間で通信を行う場合にも、図７を適用できる。
【００８１】
ステップＳ７０２では、第５の通信ノード５００は、IG OFF後の最初のスリープ状態に移行するタイミングであるか否かを判定する。第５の通信ノード５００は、IG OFF後、スリープ不可状態でない状態が所定の期間継続した場合に、スリープ状態へ移行できる状態であると判定する。スリープ状態へ移行できる状態でないと判定した場合、ステップＳ７０２に戻る。
【００８２】
ステップＳ７０４では、第５の通信ノード５００は、ステップＳ７０２でスリープ状態へ移行できる状態であると判定した場合、カウンタ、タイマなどをリセットする。カウンタ、タイマをリセットすることにより、新たに計測を開始する。
【００８３】
ステップＳ７０６では、第５の通信ノード５００は、第１の通信バス１０のエッジを検出することにより、ウェイクアップする。例えば、第１の通信ノード１００または第２の通信ノード２００は、データを送信する際に、CANHとCANLに反転信号を送出する。第５の通信ノード５００は、第１の通信ノード１００または第２の通信ノード２００により送出された反転信号により生じる第１の通信バス１０のエッジを検出する。
【００８４】
ステップＳ７０８では、第５の通信ノード５００は規定の時間が経過したか否かを判定する。第５の通信ノード５００は、ステップＳ７０４でリセットしたタイマの値が規定の時間経過しているか否かを判定する。タイマの値が規定の時間経過しているか否かを判定することにより、規定の時間の間にウェイクアップすることにより通信動作を行った回数をカウントできる。
【００８５】
ステップＳ７１０では、第５の通信ノード５００は、ステップＳ７０８で規定の時間が経過したと判定した場合、カウンタ、タイマをリセットし、ステップＳ７０２へ戻る。
【００８６】
ステップＳ７１２では、第５の通信ノード５００は、ステップＳ７０８で規定の時間が経過していないと判定した場合、第１の通信バス１０に反転信号を送信した通信ノードを判別する。第５の通信ノード５００は、第１の通信バス１０に送信されたフレームのIDにより、反転信号を送信した通信ノードを判別する。
【００８７】
ステップＳ７１４では、第５の通信ノード５００は、ステップＳ７１２で判別した通信ノードに紐付けられることにより対応付けられたカウンタをインクリメントする。
【００８８】
ステップＳ７１６では、第５の通信ノード５００は、カウンタのカウント値が所定の閾値を超過したか否かを判定する。カウンタのカウント値が所定の閾値を超過したか否かを判定することにより、信号を送信した通信ノードが異常であるか否かを判定する。
【００８９】
ステップＳ７１８では、第５の通信ノード５００は、カウンタのカウント値が所定の閾値を超過したと判定した場合、第１の通信バス１０をドミナントに固定する。カウンタのカウント値が所定の閾値を超過したと判定した場合、信号を送信した通信ノードが異常であると判定する。信号を送信した通信ノードが異常であると判定した場合、異常が検出されたことをダイアグノーシスに記憶するようにしてもよい。異常が検出されたことを記憶することにより、故障した際に利用することができる。
【００９０】
信号を送信した通信ノードが異常であると判定した場合、第１の通信バス１０をドミナントに固定することにより、信号を送信した通信ノードからデータを送信できないようにできる。
【００９１】
第１の通信バス１０をドミナントに固定した後、IGがオンにされた場合には、そのドミナントへの固定を解除する。
【００９２】
ステップＳ７２０では、第５の通信ノード５００は、カウンタのカウント値が所定の閾値を超過していないと判定した場合、第１の通信バス１０からの送信データにしたがって処理を実行する。カウンタのカウント値が所定の閾値を超過していない判定した場合、信号を送信した通信ノードは異常でないと判定する。
【００９３】
ステップＳ７２２では、第５の通信ノード５００は、スリープ状態に移行するタイミングであるか否かを判定する。スリープ状態に移行するタイミングでないと判定した場合、ステップＳ７２２に戻る。
【００９４】
ステップＳ７２４では、ステップＳ７２２でスリープ状態へ移行するタイミングであると判定した場合、スリープ状態へ移行する。
【００９５】
IG OFFされた後に、スリープ状態に移行した通信ノードは、他の通信ノードにより通信バスがウェイクされることにより、ウェイクアップする場合がある。ユーザが車両を始動しない場合には、必要な情報伝達が行われた後に、再びスリープ状態へ移行する。しかし、意図されないソフトウェアのバグや、開発の段階で想定されないレアケースに、同じ通信ノードが継続して通信バスをウェイクアップし続ける場合が想定される。この場合、他の通信ノードがウェイク状態になることにより、バッテリが短時間で放電され、数日間放置されることにより、バッテリが上がることが想定される。
【００９６】
通信システムの一実施例によれば、ゲートウェイ装置は、IG OFF中の所定の期間において、通信ノードが通信バスをウェイクすることによってウェイクアップした回数が所定の回数を超えた場合に、通信バスを強制的にドミナント側へ固定する。
【００９７】
ゲートウェイ装置と通信バスを介して接続される通信ノードは、通信バスがLoレベルに固定されたドミナントを検知した場合や、スリープ不可ビットSLNGがアクティブであるフレームを一定期間受信しない場合に、スリープ状態へ移行する。このため、ゲートウェイ装置が継続してウェイクアップすることにより電力が消費され、バッテリがあがることを防止できる。
【００９８】
＜変形例（その１）＞
図８は、通信システムの一変形例を示す。
【００９９】
図８に示される通信システムは、図１に示される通信システムの第１の通信ノード１００−第５の通信ノード５００の代わりに、第６の通信ノード６００−第１０の通信ノード１０００を備えたものである。
【０１００】
第６の通信ノード６００−第１０の通信ノード１０００は、それぞれヒューズ６５０、７５０、８５０、９５０及び１０５０を介して、バッテリ５０と接続される。
【０１０１】
＜第６の通信ノード６００＞
図９は、第６の通信ノード６００の一実施例を示す。図９には、主に、第６の通信ノード６００のハードウェア構成を示す。第７の通信ノード７００−第９の通信ノード９００のハードウェア構成については、図９を適用しても、図２を適用してもよい。
【０１０２】
第６の通信ノード６００は、通信トランシーバ６０２と、通信回路６０４と、第３の通信バス固定用回路６０６と、CPU６０８とを有する。
【０１０３】
通信トランシーバ６０２は、第１の通信バス１０に接続され、通信ドライバによる制御により、通信回路６０４からの通信データを第１の通信バス１０に送信するとともに、第１の通信バス１０からの通信データを受信し、通信回路６０４に入力する。通信トランシーバ６０２は、データを送信する場合には、CANHとCANLに反転信号を送出する。通信トランシーバ６０２は、データを受信する場合には、CANHとCANLとの電圧差から、第１の通信バス１０上のデータが"１"であるか"０"であるかを判定する。
【０１０４】
通信回路６０４は、通信トランシーバ６０２と接続され、第１の通信バス１０を介して、他の通信ノードとシリアル通信を行う。通信回路６０４は、CPU６０８からの送信データを通信トランシーバ６０２から送信するとともに、通信トランシーバ６０２からの受信データをCPU６０８に入力する。
【０１０５】
第３の通信バス固定用回路６０６は、CPU６０８からの信号（以下、「第３の異常ウェイクアップ信号」という）にしたがって、第１の通信バス１０をドミナント側に固定する。図９に示される例では、第３の通信バス固定用回路６０６は、ｎｐｎトランジスタ６０６２と、第１の抵抗６０６４と、第２の抵抗６０６６とを有する。ｎｐｎトランジスタ６０６２のコレクタは、第１の通信バス１０に接続され、エミッタは接地され、ベースは第１の抵抗６０６４と接続される。第１の抵抗６０６４のｎｐｎトランジスタ６０６２と接続された端子とは異なる他の端子は、CPU６０８と接続される。さらに、ｎｐｎトランジスタ６０６２のベースとエミッタとの間は、第２の抵抗６０６６を介して接続される。図９に示される例とは異なる構成で、第３の通信バス固定用回路６０６を構成してもよい。
【０１０６】
CPU６０８は、所定の場合に第３の通信バス固定用回路６０６に第３の異常ウェイクアップ信号を出力する。CPU６０８からの第３の異常ウェイクアップ信号により、ｎｐｎトランジスタ６０６２は、オンになり、ｎｐｎトランジスタ６０６２のコレクタからエミッタ方向に電流が流れる。ｎｐｎトランジスタ６０６２のコレクタからエミッタ方向に電流が流れる結果、第１の通信バス１０は、ドミナントに固定される。
【０１０７】
CPU６０８は、通信回路６０４と接続され、通信回路６０４によって実行される通信処理や、第６の通信ノード６００を制御する処理を実行する。CPU６０８には、バッテリ電源(+B電源)が供給されるとともに、IG信号が入力される。
【０１０８】
CPU６０８は、第６の通信ノード６００の動作状態を制御する。第６の通信ノード６００の動作状態は、CPU６０８が通常モードで動作しているときに通常状態となり、CPU６０８がスリープ状態に入ると、CPU６０８の動作に伴う消費電力が低減するとともに、通信回路６０４への電源供給が遮断されるため、消費電力が少ない状態であるスリープ状態となる。
【０１０９】
CPU６０８は、規定の時間を計測するタイマと、送信動作の回数をカウントする１または複数のカウンタを有する。各カウンタは通信ノードと紐付けられる。CPU６０８は、IG OFF信号が入力され、且つスリープ状態に移行してから、IG ON信号が入力されるまでの間に以下の処理を行う。
【０１１０】
CPU６０８にIG OFF信号が入力され、且つスリープ状態に移行した場合、第１の通信バス１０はバススリープ状態となる。
【０１１１】
CPU６０８は、規定の時間の間に、通信ノード毎に、ウェイクアップすることにより送信動作を行ったか否かを判定する。CPU６０８は、第１の通信バス１０のエッジを検出することにより、ウェイクアップすることにより送信動作を行った通信ノードを特定する。CPU６０８は、送信動作を行った通信ノードに対応するカウンタをカウントアップし、カウント値が所定の閾値を超えたか否かを判定する。CPU６０８は、カウント値が所定の閾値を超えたと判定した場合、第３の通信バス固定用回路６０６に第３の異常ウェイクアップ信号を入力する。一方、CPU６０８は、送信動作の回数のカウント値が所定の閾値以下と判定した場合、該送信動作に対応する処理を実行し、スリープ状態に移行する。
【０１１２】
第３の通信バス固定用回路６０６に第３の異常ウェイクアップ信号が入力されることにより、第１の通信バス１０はドミナントに固定される。第１の通信バス１０がドミナントに固定されることにより、第７の通信ノード７００及び第１０の通信ノード１０００は、第１の通信バス１０へデータを送信できない状態となる。第７の通信ノード７００及び第１０の通信ノード１０００は、スリープ可能状態である場合、他の通信ノードから、第１の通信バス１０を介してスリープ不可ビットSLNGがアクティブであるフレームを所定時間以上継続して受信しないため、第７の通信ノード７００及び第１０の通信ノード１０００を含む全ての通信ノードがスリープ状態へ移行可能になったと判断し、通常状態からスリープ状態へ移行する。
【０１１３】
第６の通信ノード６００により送受信される信号のフレーム構造は、図３に示される信号のフレーム構造を適用できる。
【０１１４】
第６の通信ノード６００からの送信信号のデータフィールドには、第６の通信ノード６００がスリープ不可状態であることを他の通信ノードへ通知するための報知情報としてのスリープ不可ビットSLNGが付帯される場合もある。
【０１１５】
第６の通信ノード６００は、何等かの制御を行わなければならない状態になっている場合や、自第６の通信ノード６００がアクチュエータ等を制御している場合には、スリープ不可状態であると判断し、スリープ不可ビットSLNGを、スリープ不可状態であることを示すアクティブ（本実施例では「１」）に設定して送信する。
【０１１６】
第６の通信ノード６００は、自第６の通信ノード６００がスリープ可能状態であっても、他の通信ノードから送信されたフレームに付帯されるスリープ不可ビットSLNGがアクティブであれば、スリープ状態へは移行しない。
【０１１７】
また、第６の通信ノード６００は、他の通信ノードから、スリープ不可ビットSLNGがアクティブであるフレームを所定時間以上継続して受信しない場合、第６の通信ノード６００を含む全ての通信ノードがスリープ状態へ移行可能になったと判断し、通常状態からスリープ状態へ移行する。
【０１１８】
＜第１０の通信ノード１０００＞
図１０は、第１０の通信ノード１０００の一実施例を示す。図１０には、主に、第１０の通信ノード１０００のハードウェア構成を示す。
【０１１９】
第１０の通信ノード１０００は、第１の通信トランシーバ１００２と、第１の通信回路１００４と、第２の通信トランシーバ１００８と、第２の通信回路１０１０と、CPU１０１４とを有する。
【０１２０】
第１の通信トランシーバ１００２は、第１の通信バス１０に接続され、通信ドライバによる制御により、第１の通信回路１００４からの送信データを第１の通信バス１０に送信するとともに、第１の通信バス１０からの受信データを第１の通信回路１００４に入力する。第１の通信トランシーバ１００２は、データを送信する場合には、CANHとCANLに反転信号を送出する。第１の通信トランシーバ１００２は、データを受信する場合には、CANHとCANLとの電圧差から、第１の通信バス１０上のデータが"１"であるか"０"であるかを判定する。
【０１２１】
第１の通信回路１００４は、第１の通信トランシーバ１００２と接続され、第１の通信バス１０を介して、他の通信ノードとシリアル通信を行う。第１の通信回路１００４は、CPU１０１４からの送信データを第１の通信トランシーバ１００２から送信するとともに、第１の通信トランシーバ１００２からの受信データをCPU１０１４に入力する。
【０１２２】
第２の通信トランシーバ１００８は、第２の通信バス２０に接続され、通信ドライバによる制御により、第２の通信回路１０１０からの通信データを第２の通信バス２０に送信するとともに、第２の通信バス２０からの通信データを受信し、第２の通信回路１０１０に入力する。第２の通信トランシーバ１００８は、データを送信する場合には、CANHとCANLに反転信号を送出する。第２の通信トランシーバ１００８は、データを受信する場合には、CANHとCANLとの電圧差から、第２の通信バス２０上のデータが"１"であるか"０"であるかを判定する。
【０１２３】
第２の通信回路１０１０は、第２の通信トランシーバ１００８と接続され、第２の通信バス２０を介して、他の通信ノードとシリアル通信を行う。第２の通信回路１０１０は、CPU１０１４からの通信データを第２の通信トランシーバ１００８から送信するとともに、第２の通信トランシーバ１００８からの通信データをCPU１０１４に入力する。
【０１２４】
CPU１０１４は、第１の通信回路１００４及び第２の通信回路１０１０と接続され、第１の通信回路１００４及び第２の通信回路１０１０により実行される通信処理や、第１０の通信ノード１０００を制御する処理を実行する。CPU１０１４には、バッテリ電源(+B電源)が供給されるとともに、IG信号が入力される。
【０１２５】
CPU１０１４は、第１０の通信ノード１０００の動作状態を制御する。第１０の通信ノード１０００の動作状態は、CPU１０１４が通常モードで動作しているときに通常状態となり、CPU１０１４がスリープ状態に入ると、CPU１０１４の動作に伴う消費電力が低減するとともに、第１の通信回路１００４及び第２の通信回路１０１０への電源供給が遮断されるため、消費電力が少ない状態であるスリープ状態となる。
【０１２６】
第１０の通信ノード１０００は、第６の通信ノード６００−第９の通信ノード９００との間で、信号の送受信を行う。
【０１２７】
第１０の通信ノード１０００は、何等かの制御を行わなければならない状態になっている場合や、自第１０の通信ノード１０００がアクチュエータ等を制御している場合には、スリープ不可状態であると判断し、スリープ不可ビットSLNGを、スリープ不可状態であることを示すアクティブ（本実施例では「１」）に設定して送信する。
【０１２８】
第１０の通信ノード１０００は、自第１０の通信ノード１０００がスリープ可能状態であっても、他の通信ノードから送信されたフレームに付帯されるスリープ不可ビットSLNGがアクティブであれば、スリープ状態へは移行しない。
【０１２９】
また、第１０の通信ノード１０００は、他の通信ノードから、スリープ不可ビットSLNGがアクティブであるフレームを所定時間以上継続して受信しない場合、第１０の通信ノード１０００を含む全ての通信ノードがスリープ状態へ移行可能になったと判断し、通常状態からスリープ状態へ移行する。
【０１３０】
＜通信システムの動作＞
＜第６の通信ノード６００の動作＞
第６の通信ノード６００の動作は、図７を参照して説明したフローチャートを適用できる。
【０１３１】
＜第１０の通信ノード１０００の動作＞
第１０の通信ノード１０００の動作は、図５、図６を参照して説明したフローチャートを適用できる。
【０１３２】
ただし、ステップＳ５０４において、第１０の通信ノード１０００は、スリープ不可ビットSLNGをアクティブに設定したフレームを第１の通信バス１０及び第２の通信バス２０に送信する。
【０１３３】
通信システムの一変形例によれば、通信ノードは、IG OFF中の所定の期間において、通信ノードやゲートウェイ装置が通信バスをウェイクすることによってウェイクアップした回数が所定の回数を超えた場合に、通信バスを強制的にドミナント側へ固定する。
【０１３４】
通信ノードと通信バスを介して接続されるゲートウェイ装置、通信ノードは、通信バスがLoレベルに固定されたドミナントを検知したり、スリープ不可ビットSLNGがアクティブであるフレームを一定期間受信しない場合に、スリープ状態へ移行する。このため、ゲートウェイ装置や通信ノードが継続してウェイクアップすることにより電力が消費され、バッテリがあがることを防止できる。
【０１３５】
＜変形例（その２）＞
通信システムの一変形例は、上述した実施例に係る第５の通信ノード５００と、上述した変形例に係る第６の通信ノードとを組み合わせて構成する。
【０１３６】
上述した実施例に係る通信システムでは、第５の通信ノード５００は、他の通信ノードの異常は検出できるが、第５の通信ノード５００自身の異常は検出できない。
【０１３７】
また、上述した変形例に係る通信システムでは、第６の通信ノード６００は、他の通信ノードの異常は検出できるが、第６の通信ノード６００自身の異常は検出できない。
【０１３８】
そこで、第５の通信ノード５００と第６の通信ノード６００とを組み合わせて通信システムを構成することにより、第５の通信ノード５００によって第６の通信ノード６００の異常を検出し、第６の通信ノード６００によって第５の通信ノード５００の異常を検出することができる。
【０１３９】
以上、本発明は特定の実施例及び変形例を参照しながら説明されてきたが、各実施例及び変形例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウェアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。
【符号の説明】
【０１４０】
５０  バッテリ
１０  第１の通信バス
２０  第２の通信バス
１００  第１の通信ノード
１０２  通信トランシーバ
１０４  通信回路
１０６  CPU
１５０  ヒューズ
２００  第２の通信ノード
２５０  ヒューズ
３００  第３の通信ノード
３５０  ヒューズ
４００  第４の通信ノード
４５０  ヒューズ
５００  第５の通信ノード
５０２  第１の通信トランシーバ
５０４  第１の通信回路
５０６  第１の通信バス固定用回路
５０８  第２の通信トランシーバ
５１０  第２の通信回路
５１２  第２の通信バス固定用回路
５１４  CPU
５５０  ヒューズ
６００  第６の通信ノード
６０２  通信トランシーバ
６０４  通信回路
６０６  第３の通信バス固定用回路
６０８  CPU
６５０  ヒューズ
７００  第７の通信ノード
７５０  ヒューズ
８００  第８の通信ノード
８５０  ヒューズ
９００  第９の通信ノード
９５０  ヒューズ
１０００  第１０の通信ノード
１００２  第１の通信トランシーバ
１００４  第１の通信回路
１００８  第２の通信トランシーバ
１０１０  第２の通信回路
１０５０  ヒューズ
１０１４  CPU
【図１】
2015154189.tif 000003
【図２】
2015154189.tif 000004
【図３】
2015154189.tif 000005
【図４】
2015154189.tif 000006
【図５】
2015154189.tif 000007
【図６】
2015154189.tif 000008
【図７】
2015154189.tif 000009
【図８】
2015154189.tif 000010
【図９】
2015154189.tif 000011
【図１０】
2015154189.tif 000012