(57)【特許請求の範囲】
【請求項１】
通信バスを介して接続され、且つ車載バッテリを電源として動作する複数の電子制御ユニットを有する車載ネットワークであって、
前記複数の電子制御ユニットには、前記車載ネットワークの故障を診断する際に使用する故障診断情報を保持する少なくとも二つの電子制御ユニットが含まれ、
前記故障診断情報を保持する少なくとも二つの電子制御ユニットの各々は、
故障診断情報を格納する記憶部と、
電子制御ユニットの状態を制御するネットワークマネジメントにしたがって動作する際に、ウェイクアップする要因を有するか否かを通知するフレームを作成する制御部と、
該制御部によって作成されたフレームを前記通信バスに送信するとともに、他の電子制御ユニットによって送信されたフレームを受信する送受信部と
を有し、
前記制御部は、前記ウェイクアップする要因を有するか否かを通知するフレームに、送信元の電子制御ユニットの識別情報と、該ウェイクアップする要因が該電子制御ユニットの動作に起因するか否かを表す起因情報を付帯するとともに、前記記憶部に該送信元の電子制御ユニットの識別情報と、該起因情報とを格納し、
前記送受信部によって前記他の電子制御ユニットによって送信されたフレームが入力された場合に、前記記憶部に該フレームに付帯された送信元の電子制御ユニットの識別情報と、起因情報とを格納し、
前記車載バッテリの残量が所定の閾値以下となった場合に、前記記憶部に格納された起因情報に基づいて、ウェイクアップする要因に「自身」が示されている最新の起因情報に対応する電子制御ユニットを、故障した電子制御ユニットとして特定する、車載ネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載ネットワークに関する。
【背景技術】
【０００２】
車両には、複数の電子制御ユニット(ECU: Electronic Control Unit)が搭載され、各ECUはCAN(Control Area Network)等の車載ネットワークで接続される。各ECUには、イグニッションがオフにされた（以下、「IG-OFF」という）際に、ネットワークマネジメント（Network Management: NM）機能等の消費電力を低減する機能が搭載される。NM機能とは、各ECUで同期してECUのノーマル状態やスリープ状態を変更する制御を行う機能である。NM機能を実現するために、ECUは該ECUの状態等を示すNMフレームを送受信する。
【０００３】
車載ネットワークに関して、ECUの車両状態情報と制御状態情報を受信し、所定の条件を満たす車両状態情報及び制御状態情報を送信したECUに対し故障情報を要求し、該ECUから受信した故障情報を記憶し、故障情報を外部の診断装置に送信する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１１３８６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
車載ネットワークに誤ってNMフレームを送信する等の正しく機能していないECUが存在する場合には、消費電力を低減できず、バッテリが上がるおそれがある。しかし、現状ではバッテリ残量を低下させる原因となったECUを特定できない。
【０００６】
本発明の目的は、車載ネットワークを構成する複数のECUから、バッテリ残量が低下する故障の原因となったECUを特定することである。
【課題を解決するための手段】
【０００７】
開示の一実施例の車載ネットワークは、
通信バスを介して接続され、且つ車載バッテリを電源として動作する複数の電子制御ユニットを有する車載ネットワークであって、
前記複数の電子制御ユニットには、前記車載ネットワークの故障を診断する際に使用する故障診断情報を保持する少なくとも二つの電子制御ユニットが含まれ、
前記故障診断情報を保持する少なくとも二つの電子制御ユニットの各々は、
故障診断情報を格納する記憶部と、
電子制御ユニットの状態を制御するネットワークマネジメントにしたがって動作する際に、ウェイクアップする要因を有するか否かを通知するフレームを作成する制御部と、
該制御部によって作成されたフレームを前記通信バスに送信するとともに、他の電子制御ユニットによって送信されたフレームを受信する送受信部と
を有し、
前記制御部は、前記ウェイクアップする要因を有するか否かを通知するフレームに、送信元の電子制御ユニットの識別情報と、該ウェイクアップする要因が該電子制御ユニットの動作に起因するか否かを表す起因情報を付帯するとともに、前記記憶部に該送信元の電子制御ユニットの識別情報と、該起因情報とを格納し、
前記送受信部によって前記他の電子制御ユニットによって送信されたフレームが入力された場合に、前記記憶部に該フレームに付帯された送信元の電子制御ユニットの識別情報と、起因情報とを格納し、
前記車載バッテリの残量が所定の閾値以下となった場合に、前記記憶部に格納された起因情報に基づいて、ウェイクアップする要因に「自身」が示されている最新の起因情報に対応する電子制御ユニットを、故障した電子制御ユニットとして特定する。
【発明の効果】
【０００８】
開示の実施例によれば、車載ネットワークを構成する複数のECUから、バッテリ残量が低下する故障の原因となったECUを特定することができる。
【図面の簡単な説明】
【０００９】
【図１】車載ネットワークの一実施例を示す図である。
【図２】故障診断情報テーブルの一例を示す図である。
【図３】NMフレームの一実施例を示す図である。
【図４】車載ネットワークの動作の一実施例を示すシーケンスチャートである。
【図５】NMフレームを送信する際の処理を示すフローチャートである。
【図６】NMフレームを受信する際の処理を示すフローチャートである。
【図７】エラーを通知する際の処理を示すフローチャートである。
【図８】各ネットワークの故障診断情報テーブルの一例を示す図である。
【図９】車載ネットワークの動作の一実施例を示すシーケンスチャートである。
【図１０】エラーを通知する際の処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。以下で説明する実施例は一例に過ぎず、本発明が適用される実施の形態は、以下の実施例に限られない。なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００１１】
＜実施例＞
＜車載ネットワーク＞
図１は、車載ネットワークの一実施例を示す。車載ネットワークは、例えば車両等の移動体に搭載され、CAN、LIN(Local Interconnect Network)等のLAN(Local Area Network)が適用される。車載ネットワークは、情報系、パワートレイン系、ボディ系等に適用できる。また、車載ネットワークに、FlexRay（登録商標）も適用できる。
【００１２】
車載ネットワークは、第１の通信バス１と、第２の通信バス２と、セントラルゲートウェイ１００（以下、「ゲートウェイ１００」と記載する）と、第１のECU２００ａと、第２のECU２００ｂと、第３のECU２００ｃと、第４のECU２００ｄと、第５のECU２００ｅと、第６のECU２００ｆとによって構成される。ゲートウェイ１００、及び第１のゲートウェイ２００ａ−第６のゲートウェイ２００fは、車載バッテリを電源として動作する。
【００１３】
ゲートウェイ１００は、第１の通信バス１、及び第２の通信バス２と有線接続される。また、第１のECU２００ａ−第３のECU２００ｃは第１の通信バス１によって有線接続され、第１のECU２００ｄ−第３のECU２００ｆは第２の通信バス２によって有線接続される。ゲートウェイ１００、及び第１のECU２００ａ−第３のECU２００ｃによって第１のネットワークが構成され、ゲートウェイ１００、及び第４のECU２００ｄ−第６のECU２００ｆによって第２のネットワークが構成される。第１のネットワークを構成するゲートウェイ１００及び第１のECU２００ａ−第３のECU２００ｃのうち、少なくとも２つは故障診断情報を保持する機能を有する。同様に、第２のネットワークを構成するゲートウェイ１００及び第４のECU２００ｄ−第６のECU２００ｆのうち、少なくとも２つは故障診断情報を保持する機能を有する。異なる通信バスに接続されたECU間では、NMフレームの送受信ができないため、各ネットワークに故障診断情報を保持する機能を有するものが用意される。また、各ネットワークにおいて故障診断情報を保持する機能を有するものを複数とすることによって、その１つが故障した場合でも、他のもので故障診断情報を保持することができる。本実施の形態では、一例として、ゲートウェイ１００、第１のECU２００ａ、及び第４のECU２００ｄは、故障診断情報を保持する機能を有する。
【００１４】
図１には、３個のECUが第１の通信バス１に接続される例が示されるが、１−２個のECUを第１の通信バス１に接続することも、４個以上のECUを第１の通信バス１に接続することもできる。また、図１には、３個のECUが第２の通信バス２に接続される例が示されるが、１−２個のECUを第２の通信バス２に接続することも、４個以上のECUを第１の通信バス１に接続することもできる。
【００１５】
車載ネットワークにCANが適用される場合、第１の通信バス１、及び第２の通信バス２は、ツイストペアの形態を有する２本の通信線（CANバス）からなる。CANバスのツイストペア線は一方がCAN High（以下、CANHという）、他方がCAN Low（以下、CANLという）と呼ばれる母線である。第１の通信バス１、及び第２の通信バス２には終端抵抗が接続される。図１では、１本の実線でCANH、CANLを表す。
【００１６】
第１のECU２００ａ−第６のECU２００ｆは、CSMA/CD(Carrier Sense Multiple Access/Collision Detection)にしたがって、ロー(Lo)レベルの信号を送信し続けたECUが優先して通信を行い、衝突に負けた（ハイ(Hi)レベルの信号を送信した）ECUは次の機会の送信のために待機する。つまり、第１のECU２００ａ−第３のECU２００ｃのうち、ローレベルの信号を送信し続けたECUが第１の通信バス１を介して通信を行い、ローレベルの信号を送信し続けたECU以外のECUは次の機会まで待機する。同様に、第４のECU２００ｄ−第６のECU２００ｆのうち、ローレベルの信号を送信し続けたECUが第２の通信バス２を介して通信を行い、ローレベルの信号を送信し続けたECU以外のECUは次の機会まで待機する。
【００１７】
＜第１のECU２００ａ＞
第１のECU２００ａのハードウェア構成について説明する。第１のECU２００ａのハードウェア構成は、第４のECU２００ｄのハードウェア構成にも適用できる。
【００１８】
図１に示すように、第１のECU２００ａは、通信トランシーバ２０２ａと、マイクロコントローラ２０４ａとを有する。マイクロコントローラ２０４ａには、通信回路２０６ａ、CPU２０８ａ、RAM(Random Access Memory)２１０ａ、及びROM(Read Only Memory)２１２ａが実装される。CPU２０８ａは第１のECU２００ａ全体を制御し、RAM２１０ａは第１のECU２００ａを制御する際にCPU２０８ａのワークエリアとして使用され、ROM２１２ａはCPU２０８ａが実行する第１のECU用プログラム、及び故障診断情報テーブルを格納する。
【００１９】
＜故障診断情報テーブル＞
図２は、故障診断情報テーブルの一例を示す。故障診断情報テーブルには、ウェイクアップする要因を有するか否かを通知するNMフレームを送信したノードの識別情報(ノードID)と、該ウェイクアップが該ノードに対して設定された動作に起因するか、他のノードに対して設定された動作に起因するかを表す情報とが紐付けられることによって関連付けられて記憶される。図２に示される例では、ウェイクアップが該ノードに対して設定された動作に起因する場合には「own（自身）」、他のノードに対して設定された動作に起因する場合には「other(他)」によって示される。
【００２０】
通信トランシーバ２０２ａは、第１の通信バス１に接続され、通信ドライバによる制御によって、通信回路２０６ａからのデータを第１の通信バス１に送信するとともに、第１の通信バス１からのデータを受信し通信回路２０６ａに入力する。これによって、通信トランシーバ２０２ａは、ゲートウェイ１００、第２のECU２００ｂ、及び第３のECU２００ｃとの間で、信号の送受信を行う。通信トランシーバ２０２ａは、データを送信する場合にはCANHとCANLに反転信号を送出し、データを受信する場合にはCANHとCANLとの電圧差から第１の通信バス１上のデータが"１"であるか"０"であるかを判定する。
【００２１】
通信回路２０６ａは、通信トランシーバ２０２ａと接続され、第１の通信バス１を介して、ゲートウェイ１００、第２のECU２００ｂ、及び第３のECU２００ｃとの間でシリアル通信を行う。通信回路２０６ａは、CPU２０８ａからのデータを通信トランシーバ２０２ａから送信するとともに、通信トランシーバ２０２ａから入力されたデータをCPU２０８ａに入力する。
【００２２】
CPU２０８ａは、通信回路２０６ａと接続され、通信回路２０６ａによって実行される通信処理等の第１のECU２００ａ全体を制御する処理を実行する。CPU２０８ａは、予め設定されるスケジューリングにしたがって、第１のECU２００ａをウェイクアップさせるとともに、ウェイクアップしたことを通知するウェイクアップフレームを作成し、通信回路２０６ａに入力する。また、CPU２０８ａは、ウェイクアップする要因を有するか否かを通知するNMフレームを作成する場合には、該NMフレームに送信元のノードIDである第１のECU２００ａの識別情報と、該ウェイクアップが該第１のECU２００ａに対して設定された動作に起因することを表す情報(own)を付帯したNMフレームを作成し、通信回路２０６ａに入力する。通信回路２０６ａは、CPU２０８ａによって入力されたNMフレームを通信トランシーバ２０２ａから送信する。CPU２０８ａは、通信トランシーバ２０２ａからNMフレームを送信した後、故障診断情報テーブルに、ノードIDとして「第１のECU２００ａ」、ウェイクアップ要因として「own」を記録する。CPU２０８ａは、ウェイクアップ後に故障診断情報テーブルへの記録を開始し、スリープ状態に遷移する際に故障診断情報テーブルに記憶した情報を削除する。これによって、ROM２１２ａの使用量の増大を抑えることができる。
【００２３】
また、CPU２０８ａは、第２のECU２００ｂ、第３のECU２００ｃ等の他のノードによって送信されるNMフレームが入力された場合には、故障診断情報テーブルに、該フレームに付帯されているノードID、及びウェイクアップ要因を記録する。
【００２４】
また、CPU２０８ａは、第２のECU２００ｂ、第３のECU２００ｃ等の他のノードによって送信されるNMフレームが入力された場合には、ウェイクアップする要因を有するか否かを通知するNMフレームを作成し、通信回路２０６ａに入力する。CPU２０８ａは、該NMフレームに送信元のノードIDである第１のECU２００ａの識別情報と、該ウェイクアップが該第１のECU２００ａではなく他のノードに対して設定された動作に起因することを表す情報(other)を付帯したNMフレームを作成し、通信回路２０６ａに入力する。通信回路２０６ａは、CPU２０８ａによって入力されたNMフレームを通信トランシーバ２０２ａから送信する。CPU２０８ａは、通信トランシーバ２０２ａからNMフレームが送信された後、故障診断情報テーブルに、ノードIDとして「第１のECU２００ａ」、ウェイクアップ要因として「other」を格納する。
【００２５】
CPU２０８ａは、車載バッテリの残量が所定の閾値以下になった場合、故障診断テーブルを参照し、ウェイクアップ要因が「own」であるノードIDのうち、最新のものに対応するECUを故障しているECUとして特定する。バッテリ残量が所定の閾値以下になる場合には、故障したECUによってウェイクアップが該ECUに設定された動作に起因することを表す情報(own)を付帯したNMフレームを誤送信し続けることによって生じることが多いと想定されるためである。
【００２６】
＜NMフレーム＞
図３は、NMフレームのフォーマットの一例を示し、（１）はNMフレーム全体のフォーマットを示し、（２）及び（３）はNMフレームの一部分の詳細を示す。
【００２７】
NMフレームは、スタートオブフレーム(SOF: Start Of Frame)と、調停フィールド(Arbitration Field)と、制御フィールド(Control Field)と、データフィールド(Data Field)と、CRCフィールドと、ACKフィールドと、エンドオブフレーム(EOF: End of Frame)とにより構成される。
【００２８】
スタートオブフレームは、フレームの先頭を示し、ドミナント(論理0)ビットで示される。調停フィールドは、フレームの優先順位を示す。調停フィールドにはフレームIDが付帯され、このフレームIDによりフレームが識別され、フレームの優先順位が示される。フレームIDは、11ビットで表すことも（標準フレーム）、29ビットで表すこともできる（拡張フレーム）。制御フィールドは、予約ビットとデータのバイト数が付帯される。データフィールドは、0-8バイトの各種データ、スイッチ信号及び制御信号などが付帯される。CRCフィールドは、フレームの伝送誤りをチェックする際に使用され、CRCフィールドには、15ビットの巡回冗長検査コードとリセッシブデリミタビットが付帯される。ACKフィールドは、フレームを正しく受信した場合に、フレームの最後に送信する。受信側のノードは通信バス上でACKビットの有無をチェックし、ACKが検出されなかった場合は再度送信を試みるのが好ましい。エンドオブフレームは、データフレームやリモートフレームの終了位置を示す。エンドオブフレームは、7ビットで構成され、ビットレベルは全て"リセッシブ"である。
【００２９】
図３の（２）は、調停フィールド、及びデータフィールドの詳細を示す。調停フィールド、及びデータフィールドには、ヘッダフィールド、オペレーションフィールド、及びデータフィールドが用意される。さらに、ヘッダフィールドには、IDベースと、アドレスフィールドが用意され、アドレスフィールドには、ソースID(Source ID)と、デスティネイションID（Dest.ID）が付帯される。オペレーションフィールドにはオペレーションコード(Op Code)が付帯され、データフィールドにはデータが付帯される。
【００３０】
アドレスフィールドにはソースIDを付帯するために８ビットが用意され、そのアドレスフィールドにNMフレームの送信元のノードIDが付帯される。また、データフィールドにはデータ３、データ４、データ６、及びデータ８が付帯される。データ６には、ウェイクアップが送信元のノードに対して設定された動作に起因するか、送信元のノード以外のノードに対して設定された動作に起因するかを示す情報を指定する領域が用意される。図３の（３）に示される例では、ウェイクアップが送信元のノードに対して設定された動作に起因する場合に１ビットを立てる領域と、ウェイクアップが送信元のノード以外のノードに対して設定された動作に起因する場合に１ビットを立てる領域が用意される。これらの領域は現在未使用の領域であり、この未使用の領域を利用することによって、新たにフレームを用意することなく既存のフレームを有効活用できるため、通信バスの負荷の上昇を抑えることができる。図１に戻り説明を続ける。
【００３１】
＜第２のECU２００ｂ＞
第２のECU２００ｂのハードウェア構成について説明する。第２のECU２００ｂのハードウェア構成は、第３のECU２００ｃ、第５のECU２００ｅ、及び第６のECU２００ｆにも適用できる。第２のECU２００ｂは、第１のECU２００ａのハードウェア構成を適用できる。第１のECU２００ａと異なる点について、主に説明する。ROM２１２ｂには、CPU２０８ｂが実行する第２のECU用プログラムが格納され、故障診断情報テーブルは格納されない。つまり、CPU２０８ｂは、通信トランシーバ２０２ｂからNMフレームを送信した後、故障診断情報テーブルに記録を行わない。
【００３２】
＜ゲートウェイ１００＞
ゲートウェイ１００のハードウェア構成について説明する。ゲートウェイ１００は、第１の通信トランシーバ１０２と、第２の通信トランシーバ１０４と、通信コントローラ１０６と、CPU１０８と、RAM１１０と、ROM１１２と、通信回路１１４とを有する。第１の通信トランシーバ１０２、第２の通信トランシーバ１０４、通信コントローラ１０６、CPU１０８、RAM１１０、ROM１１２、及び通信回路１１４は、バス１０１によって接続される。
【００３３】
CPU１０８はゲートウェイ１００全体を制御し、ROM１１２はCPU１０８が実行するゲートウェイ用プログラムを格納し、RAM１１０はゲートウェイ１００の制御を実行する際にCPU１０８のワークエリアとして使用される。また、ROM１１２には、故障診断情報テーブルが格納される。故障診断情報テーブルは、図２を適用できる。故障診断情報テーブルは、ネットワーク毎に用意することもできる。
【００３４】
第１の通信トランシーバ１０２は、第１の通信バス１に接続され、通信ドライバによる制御によって、通信回路１１４からのデータを第１の通信バス１に送信するとともに、第１の通信バス１からのデータを受信し通信回路１１４に入力する。これによって、第１の通信トランシーバ１０２は、第１のECU２００ａ−第３のECU２００ｃとの間で、信号の送受信を行う。第１の通信トランシーバ１０２は、データを送信する場合には、CANHとCANLに反転信号を送出する。第１の通信トランシーバ１０２は、データを受信する場合には、CANHとCANLとの電圧差から、第１の通信バス１上のデータが"１"であるか"０"であるかを判定する。第２の通信トランシーバ１０４は、第２の通信バス２に接続され、通信ドライバによる制御によって、通信回路１１４からのデータを第２の通信バス２に送信するとともに、第２の通信バス２からのデータを受信し通信回路１１４に入力する。これによって、第２の通信トランシーバ１０４は、第４のECU２００ｄ−第６のECU２００ｆとの間で、信号の送受信を行う。第２の通信トランシーバ１０４は、データを送信する場合には、CANHとCANLに反転信号を送出する。第２の通信トランシーバ１０４は、データを受信する場合には、CANHとCANLとの電圧差から、第２の通信バス２上のデータが"１"であるか"０"であるかを判定する。
【００３５】
通信回路１１４は、第１の通信バス１を介して第１のECU２００ａ−第３のECU２００ｃとの間でシリアル通信を行うとともに、第２の通信バス２を介して第４のECU２００ｄ−第６のECU２００ｆとの間でシリアル通信を行う。通信回路１１４は、CPU１０８からのデータを第１の通信トランシーバ１０２又は第２の通信トランシーバ１０４から送信するとともに、第１の通信トランシーバ１０２及び第２の通信トランシーバ１０４から入力されたデータをCPU１０８に入力する。
【００３６】
CPU１０８は、通信回路１１４によって実行される通信処理等のゲートウェイ１００全体を制御する処理を実行する。CPU１０８は、ウェイクアップする要因を有するか否かを通知するNMフレームを作成する場合には、該NMフレームに送信元のノードIDであるゲートウェイ１００の識別情報と、該ウェイクアップが該ゲートウェイ１００に対して設定された動作に起因することを表す情報(own)を付帯したNMフレームを作成し、通信回路１１４に入力する。通信回路１１４は、CPU１０８によって入力されたNMフレームを第１の通信トランシーバ１０２又は第２の通信トランシーバ１０４から送信する。CPU１０８は、NMフレームを送信した後、故障診断情報テーブルに、ノードIDとして「ゲートウェイ１００」、ウェイクアップ要因として「own」を記録する。CPU１０８は、ウェイクアップ後に故障診断情報テーブルへの記録を開始し、スリープ状態に遷移する際に故障診断情報テーブルに記憶した情報を削除する。これによって、ROM１１２の使用量の増大を抑えることができる。
【００３７】
また、CPU１０８は、第１のECU２００ａ−第３のECU２００ｃ等の他のノードによって送信されるNMフレームが入力された場合には、故障診断情報テーブルに、該フレームに付帯されているノードID、及びウェイクアップ要因を記録する。また、CPU１０８は、第１のECU２００ａ−第３のECU２００ｃ等の他のノードによって送信されるNMフレームが入力された場合には、ウェイクアップする要因を有するか否かを通知するNMフレームを作成し、通信回路１１４に入力する。CPU１０８は、該NMフレームに送信元のノードIDであるゲートウェイ１００の識別情報と、該ウェイクアップが該ゲートウェイ１００ではなく他のノードに対して設定された動作に起因することを表す情報(other)を付帯したNMフレームを作成し、通信回路１１４に入力する。通信回路１１４は、CPU１０８によって入力されたNMフレームを第１の通信トランシーバ１０２から送信する。CPU１０８は、第１の通信トランシーバ１０２からNMフレームが送信された後、故障診断情報テーブルに、ノードIDとして「ゲートウェイ１００」、ウェイクアップ要因として「other」を格納する。第４のECU２００ｄ−第６のECU２００ｆ等の他のノードによって送信されるNMフレームが入力された場合についても同様である。
【００３８】
CPU１０８は、車載バッテリの残量が所定の閾値以下になった場合、故障診断テーブルを参照し、ウェイクアップ要因が「own」であるノードIDのうち、最新のものに対応するECUを故障しているECUとして特定する。バッテリ残量が所定の閾値以下になる場合には、故障したECUによってウェイクアップが該ECUに設定された動作に起因することを表す情報(own)を付帯したNMフレームを誤送信し続けることによって生じることが多いと想定されるためである。
【００３９】
＜車載ネットワークの動作＞
図４は、車載ネットワークの動作の一例として第１のネットワークの動作を示す。第１のネットワークの動作は、第２のネットワークの動作にも適用できる。ここでは、一例として、第１のECU２００ａが故障し、ウェイクアップする要因が生じ続ける場合について説明する。
【００４０】
ステップＳ４０２では、第３のECU２００ｃは、該第３のECU２００ｃに設定されるスケジューリングにしたがってウェイクアップする。ステップＳ４０４では、第３のECU２００ｃは、ウェイクアップしたことを通知するウェイクアップフレームをゲートウェイ１００、第１のECU２００ａ、及び第２のECU２００ｂに送信する。ステップＳ４０６では、ゲートウェイ１００、第１のECU２００ａ、及び第２のECU２００ｂは、第３のECU２００ｃによって送信されたウェイクアップフレームを受信したことによってウェイクアップする。ステップＳ４０８では、第３のECU２００ｃは、NMフレームにウェイクアップが該第３のECU２００ｃに対して設定された動作に起因することを表す情報(own)を付帯し、NMフレームを送信する。該NMフレームは、ゲートウェイ１００、第１のECU２００ａ、及び第２のECU２００ｂによって受信される。ステップＳ４１０では、ゲートウェイ１００、及び第１のECU２００ａは、NMフレームに付帯される送信元のノードID、及びウェイクアップが送信元に対して設定された動作に起因するか否かを表す情報を、故障診断情報テーブルに書き込む。ステップＳ４１２では、第２のECU２００ｂは、NMフレームにウェイクアップが該第２のECU２００ｂ以外の第３のECU２００ｃに対して設定された動作に起因することを表す情報(other)を付帯し、NMフレームを送信する。該NMフレームは、ゲートウェイ１００、第１のECU２００ａ、及び第３のECU２００ｃによって受信される。ステップＳ４１４では、ゲートウェイ１００、及び第１のECU２００ａは、NMフレームに付帯される送信元のノードID、及びウェイクアップが送信元に対して設定された動作に起因するか否かを表す情報を、故障診断情報テーブルに書き込む。
【００４１】
なお、図４では省略されているが、ゲートウェイ１００、及び第１のECU２００ａも、NMフレームにウェイクアップが該第２のECU２００ｂ以外の第３のECU２００ｃに対して設定された動作に起因することを表す情報(other)を付帯し、NMフレームを送信する。
【００４２】
該NMフレームは、送信元以外のものによって受信される。ゲートウェイ１００、及び第１のECU２００ａは、NMフレームに付帯される送信元のノードID、及びウェイクアップが送信元に対して設定された動作に起因するか否かを表す情報を、故障診断情報テーブルに書き込む。
【００４３】
ステップＳ４１６では、第１のECU２００ａは、故障したことによって、NMフレームに該第１のECU２００ａに対して設定された動作に起因することを表す情報(own)を付帯し、NMフレームを誤送信する。該NMフレームは、ゲートウェイ１００、第２のECU２００ｂ、及び第３のECU２００ｃによって受信される。ステップＳ４１８では、ゲートウェイ１００、及び第１のECU２００ａは、NMフレームに付帯される送信元のノードID、及びウェイクアップが送信元に対して設定された動作に起因するか否かを表す情報を、故障診断情報テーブルに書き込む。ステップＳ４２０では、ゲートウェイ１００は、NMフレームにウェイクアップが該ゲートウェイ１００以外の第１のECU２００ａに対して設定された動作に起因することを表す情報(other)を付帯し、NMフレームを送信する。該NMフレームは、第１のECU２００ａ−第３のECU２００ｃによって受信される。ステップＳ４２２では、ゲートウェイ１００、及び第１のECU２００ａは、NMフレームに付帯される送信元のノードID、及びウェイクアップが送信元に対して設定された動作に起因するか否かを表す情報を、故障診断情報テーブルに書き込む。ステップＳ４２４では、第２のECU２００ｂは、NMフレームにウェイクアップが該第２のECU２００ｂ以外の第１のECU２００ａに対して設定された動作に起因することを表す情報(other)を付帯し、NMフレームを送信する。該NMフレームは、ゲートウェイ１００、第１のECU２００ａ、及び第３のECU２００ｃによって受信される。ステップＳ４２６では、ゲートウェイ１００、及び第１のECU２００ａは、NMフレームに付帯される送信元のノードID、及びウェイクアップが送信元に対して設定された動作に起因するか否かを表す情報を、故障診断情報テーブルに書き込む。ステップＳ４２８では、第１のECU２００ａは、故障したことによってNMフレームにウェイクアップが該第１のECU２００ａに対して設定された動作に起因することを表す情報(own)を付帯し、NMフレームを誤送信する。該NMフレームは、ゲートウェイ１００、第２のECU２００ｂ、及び第３のECU２００ｃによって受信される。
【００４４】
以降、ステップＳ４１８−Ｓ４２８の処理が繰り返される。
【００４５】
このように、第１のECU２００ａのみがNMフレームにウェイクアップが該第１のECU２００ａに対して設定された動作に起因することを表す情報(own)を付帯したNMフレームを誤送信し続け、該NMフレームを受信したゲートウェイ１００、第２のECU２００ｂ、及び第３のECU２００ｃは、NMフレームにウェイクアップが第１のECU２００ａに対して設定された動作に起因することを表す情報(other)を付帯したNMフレームを送信し続ける。ステップＳ４３０では、ゲートウェイ１００は、車載バッテリの残量が所定の閾値以下となることによって車載ネットワークに何らかの原因によって故障が発生したと判断し、故障診断情報に基づいて、ウェイクアップ要因として「own」が記録されているノードIDのうち、最新のノードIDに対応するECUを故障しているECUとして、メータ、携帯端末等の外部に通知する。
【００４６】
＜NMフレームを送信する際の処理＞
図５は、ゲートウェイ１００がNMフレームを送信する際の処理を示し、この処理は、第１のECU２００ａ−第３のECU２００ｃにも適用できる。
【００４７】
ステップＳ５０２では、ゲートウェイ１００のCPU１０８は、ウェイクアップする要因を有するか否かを確認する。ステップＳ５０４では、ゲートウェイ１００のCPU１０８は、ウェイクアップする要因を有するか否かを通知するNMフレームを作成する。ステップＳ５０６では、ゲートウェイ１００のCPU１０８は、NMフレームに送信元のノードID、及び該ウェイクアップが該ゲートウェイ１００に対して設定された動作に起因するか、他のノードに対して設定された動作に起因するかを表す情報を付帯する等のNMフレームの送信に必要な処理を行う。ステップＳ５０８は、ゲートウェイ１００のCPU１０８は、NMフレームを通信回路１１４に入力する。通信回路１１４は、CPU１０８によって入力されたNMフレームを第１の通信トランシーバ１０２又は第２の通信トランシーバ１０４から送信する。
【００４８】
＜NMフレームを受信する際の処理＞
図６は、ゲートウェイ１００がNMフレームを受信する際の処理を示し、この処理は、第１のECU２００ａ−第３のECU２００ｃにも適用できる。
【００４９】
ステップＳ６０２では、ゲートウェイ１００の第１の通信トランシーバ１０２は、NMフレームを受信する。第１の通信トランシーバ１０２は、受信したNMフレームを通信回路１１４に入力する。ステップＳ６０４では、ゲートウェイ１００のCPU１０８は、通信回路１１４から入力されるNMフレームに付帯されるノードID、及びウェイクアップが該ノードに対して設定された動作に起因するか、他のノードに対して設定された動作に起因するかを表す情報を確認する。ステップＳ６０６では、ゲートウェイ１００のCPU１０８は、NMフレームに付帯されるノードID、及びウェイクアップが該ノードに対して設定された動作に起因するか、他のノードに対して設定された動作に起因するかを表す情報が、故障診断情報テーブルに格納されている情報から変更されているか否かを判断する。ステップＳ６０８では、ゲートウェイ１００のCPU１０８は、NMフレームに付帯されるノードID、及びウェイクアップが該ノードに対して設定された動作に起因するか、他のノードに対して設定された動作に起因するかを表す情報が、故障診断情報テーブルに格納されている情報から変更されている場合に、該故障診断情報テーブルにノードID、及びウェイクアップが該ノードに対して設定された動作に起因するか、他のノードに対して設定された動作に起因するかを表す情報を書き込む。一方、変更されていない場合には故障診断情報テーブルには書き込まずに終了する。
【００５０】
NMフレームに付帯されるノードID、及びウェイクアップが該ノードに対して設定された動作に起因するか、他のノードに対して設定された動作に起因するかを表す情報が、故障診断情報テーブルに格納されている情報から変更されている場合に書き込むことによって、処理負荷を低減できる。
【００５１】
＜エラーを通知する際の処理＞
図７は、ゲートウェイ１００がエラー情報を通知する際の処理を示し、この処理は、第１のECU２００ａがエラー情報を通知する際の処理にも適用できる。
【００５２】
ステップＳ７０２では、ゲートウェイ１００のCPU１０８は、バッテリの残量が閾値以下であるか否かを判定する。バッテリの残量が閾値以下でない場合、ステップＳ７０２に戻る。ステップＳ７０４では、バッテリの残量が閾値以下である場合、CPU１０８は、車載ネットワークに何らかの原因によって故障が発生したと判断し、故障診断情報に基づいて、ウェイクアップ要因として「own」が記録されているノードIDのうち、最新のノードIDに対応するECUを故障しているECUとして、ダイアグ等のリモートツールによって外部に通知する。
【００５３】
本実施例によれば、車載ネットワークにおいて、各ノードは、ウェイクアップする要因を有するか否かを通知することができる。各ノードがウェイクアップする要因を有するか否かを通知する際に、該ウェイクアップが該ノードに対して設定された動作に起因するか他のノードに対して設定された動作に起因するかを表す情報を通知することによって、バッテリ残量が低下した際に、最後までウェイクアップする要因となっていたノードを特定できるようになり、バッテリ残量が低下する等の故障の原因となったノードを特定できる。さらに、故障診断情報テーブルを有するノードを複数とすることによって、その一部のノードが故障した場合であっても他のノードに記録された故障診断情報テーブルに基づいて、バッテリ残量が低下するなどの故障の原因となったノードを特定できる。
【００５４】
上述した実施例において、ゲートウェイ１００が、第１のネットワークの故障診断情報テーブル、及び第２のネットワークの故障診断情報テーブルを保持する場合について説明する。
【００５５】
図８は、第１のネットワークの故障診断情報テーブル、及び第２のネットワークの故障診断情報テーブルの一例を示す。図８は、第３のECU２００ｃが故障した場合に作成される故障診断情報テーブルの例を示す。図８によれば、第２のネットワークの故障診断情報テーブルを参照すると、ゲートウェイ１００のウェイクアップ要因が「own」であるため、ゲートウェイ１００が故障したように見える。しかし、第１のネットワークの故障診断情報テーブルを参照すると、第３のECU２００ｃのウェイクアップ要因が「own」であるため、第３のECU２００ｃが故障したことが確認できる。このように、各ネットワークについて故障診断情報テーブルを用意することによって、故障したものを正確に判断できる。
【００５６】
＜変形例＞
ECUが何らかの原因によって長時間の間スリープ状態に移行できないことが生じうる。このような長時間の間スリープ状態に移行できなかった場合の要因を解析するためにスリープ状態に移行する直前に故障診断情報テーブルをフラッシュROMに書き込む。これによって、定期点検の際に、フラッシュＲＯＭに記録された故障診断情報テーブルの情報を故障診断ツールで吸い上げることができる。これによって、長時間の間スリープ状態に移行できないことがあったか否か、その長時間の間スリープ状態に移行できない要因となったものを特定できる。
【００５７】
＜車載ネットワークの動作＞
図９は、車載ネットワークの動作の一例として第１のネットワークの動作を示す。この動作は、第２のネットワークの動作にも適用できる。
【００５８】
ステップＳ９０２−Ｓ９１０は、図４のステップＳ４０２−Ｓ４１０を適用できる。ステップＳ９１２では、ゲートウェイ１００、及び第１のECU２００ａ−第２のECU２００ｃにおいてスリープ状態に移行できる条件が成立する。ゲートウェイ１００、及び第１のECU２００ａは、故障診断情報テーブルに格納されている情報をフラッシュＲＯＭに書き込む。ステップＳ９１４では、ゲートウェイ１００、及び第１のECU２００ａ−第２のECU２００ｃはスリープ状態に移行する。
【００５９】
図１０は、ゲートウェイ１００の動作を示し、この動作は、第１のECU２００ａ−第３のECU２００ｃにも適用できる。
【００６０】
ステップＳ１００２では、CPU１０８は、スリープ状態へ移行する条件が成立したか否かを判定する。スリープ状態へ移行する条件が成立しない場合、ステップＳ１００２へ戻る。ステップＳ１００４では、スリープ状態へ移行する条件が成立した場合、CPU１０８は、故障診断情報テーブルの情報をフラッシュROMに書き込む。ステップＳ１００６では、ゲートウェイ１００はスリープ状態に移行する。
【００６１】
上述した実施例及び変形例において、ゲートウェイ１００、第１のECU２００ａ−第６のＥＣＵ２００ｆは、電子制御ユニットの例である。また、CPU１０８、及び２０８ａは制御部の例であり、第１の通信トランシーバ１０２、第２の通信トランシーバ１０４、及び通信トランシーバ２０２ａは送受信部の例である。
【００６２】
以上、本発明は特定の実施例を参照しながら説明されてきたが、実施例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウェアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。
【符号の説明】
【００６３】
１  第１の通信バス
２  第２の通信バス
１００  セントラルゲートウェイ
１０２  第１の通信トランシーバ
１０４  第２の通信トランシーバ
１０６  通信コントローラ
１０８  CPU
１１０  RAM
１１２  ROM
１１４  通信回路
２００ａ  第１のECU
２０２ａ  通信トランシーバ
２０４ａ  マイクロコントローラ
２０６ａ  通信回路
２０８ａ  CPU
２１０ａ  RAM
２１２ａ  ROM
２００ｂ  第２のECU
２０２ｂ  通信トランシーバ
２０４ｂ  マイクロコントローラ
２０６ｂ  通信回路
２０８ｂ  CPU
２１０ｂ  RAM
２１２ｂ  ROM
２００ｃ  第３のECU
２００ｄ  第４のECU
２００ｅ  第５のECU
２００ｆ  第６のECU
【図１】
0006332060.tif 000002
【図２】
0006332060.tif 000003
【図３】
0006332060.tif 000004
【図４】
0006332060.tif 000005
【図５】
0006332060.tif 000006
【図６】
0006332060.tif 000007
【図７】
0006332060.tif 000008
【図８】
0006332060.tif 000009
【図９】
0006332060.tif 000010
【図１０】
0006332060.tif 000011