(57)【要約】【課題】車載ネットワークの断線や接触不良による通信障害が生じた場合、通信障害が生じた箇所を特定可能な電子制御ユニット、車載システム及びノード監視方法を提供すること。【解決手段】複数のノードＢ〜Ｅの故障を監視する電子制御ユニットＡであって、複数のノードが1回以上メッセージを送信する略一定時間毎に、複数のノードの通信有無を監視して、前記略一定時間内に通信が検出されないノードを、ノードが検出されない順位情報と共に記録する通信途絶検出手段１１を有し、前記通信途絶検出手段１１は、所定期間毎に、前記略一定時間内に通信が検出されないノードと順位情報の記録を行う、ことを特徴とする。【選択図】図３
2012086601.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードの故障を監視する電子制御ユニットであって、
複数のノードが1回以上メッセージを送信する略一定時間毎に、複数のノードの通信有無を監視して、前記略一定時間内に通信が検出されないノードを、通信が検出されない順位情報と共に記録する通信途絶検出手段を有し、
前記通信途絶検出手段は、所定期間毎に、前記略一定時間内に通信が検出されないノードと前記順位情報の記録を行う、
ことを特徴とする電子制御ユニット。
【請求項２】
前記通信途絶検出手段は、前記順位情報を点数化してノード毎に記録する、
請求項１記載の電子制御ユニット。
【請求項３】
前記通信途絶検出手段は、前記順位情報の順番が早いほど小さな点又は大きな点をノードに与えて、前記順番を点数化する、
請求項２記載の電子制御ユニット。
【請求項４】
前記通信途絶検出手段は、前記所定期間毎に得られた、ノード毎の複数個の点数の統計値を算出する、
請求項２又は３記載の電子制御ユニット。
【請求項５】
前記通信途絶検出手段は、前記順位情報の順番が早いほど小さな点又は大きな点をノードに与え、ノード毎の複数個の点数を合計する、
ことを特徴とする請求項４記載の電子制御ユニット。
【請求項６】
前記通信途絶検出手段は、前記所定期間に通信が検出されないノードにゼロ点を与え、前記所定期間に通信が検出されたノードに1以上の点数を与え、ノード毎の複数個の点数を合計する、
ことを特徴とする請求項４記載の電子制御ユニット。
【請求項７】
前記通信途絶検出手段は、ノードが接続された車載システムに外部ツールが接続され、所定の制御信号を受信した場合、各ノードの過去の点数を初期化する、
ことを特徴とする請求項２記載の電子制御ユニット。
【請求項８】
前記所定期間は、車両の駆動システムのスタートボタンのオンからオフの間である、
ことを特徴とする請求項１〜８いずれか1項記載の電子制御ユニット。
【請求項９】
複数のノードの故障を監視する電子制御ユニットと該ノードがネットワークを介して接続された車載システムであって、
各ノードは、前記ネットワークにメッセージを送信する通信手段を有し、
前記電子制御ユニットは、複数のノードが1回以上メッセージを送信する略一定時間毎に、複数のノードの通信有無を監視して、前記略一定時間内に通信が検出されないノードを、通信が検出されない順位情報と共に記録する通信途絶検出手段を有し、
前記通信途絶検出手段は、所定期間毎に、前記略一定時間内に通信が検出されないノードと前記順位情報の記録を行う、ことを特徴とする車載システム。
【請求項１０】
複数のノードと接続される電子制御ユニットがノードの故障を監視するノード監視方法であって、
通信途絶検出手段が、複数のノードが1回以上メッセージを送信する略一定時間毎に、複数のノードの通信有無を監視して、前記略一定時間内に通信が検出されないノードを、検出されない順位情報と共に記録するステップと、
前記通信途絶検出手段が、所定期間毎に、前記略一定時間内に通信が検出されないノードと前記順位情報の記録を行うステップと、
有することを特徴とするノード監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載ネットーワークに接続されたノードを監視する電子制御ユニットに関し、特に、ノードの通信異常を監視する電子制御ユニット等に関する。
【背景技術】
【０００２】
車両の電子制御装置は各種の車載装置の動作を制御しているが、電子化の進行により数多くの電子制御装置が搭載されるようになっている。これらの電子制御装置を車載ＬＡＮにより接続し互いに情報を通信可能とすることでより高度な制御が実現されている。
【０００３】
車載ＬＡＮの１つにＣＡＮ（Controller  Area  Network）があるが、ＣＡＮには故障したノード（各ＥＣＵのこと）を特定しにくいという性質がある。
【０００４】
図１（ａ）は、ＣＡＮのネットワーク構造の一例を示す図である。ＣＡＮでは各ＥＣＵが２本の電線（例えば、ツイストペア線）でＣＡＮバスに接続され、２本の電線の差動電圧がＨかＬによりデータを表す。このためＣＡＮでは２本の電線のうち１本でも断線や接触不良があると、ＣＡＮバスと電線の間が断線したＥＣＵが送出する信号はＬ（ドミナント：優勢）となってしまい、正常な通信は困難になる。
【０００５】
例えば、図１（ｂ）のようにＥＣＵ-ＥとＣＡＮバスの間の電線が断線した場合、ＥＣＵ-Ｅは正常な通信はできないが、他のＥＣＵ-Ａ〜Ｄも正常な通信が困難になる場合がある。これは、ＣＡＮはCSMA/CA（Carrier  Sense  Multiple  Access  with  Collision  Avoidance）というアクセス制御を採用しているためで、各ＥＣＵは、ＣＡＮバスの状態（Ｈ又はＬ）を監視して、自分より優先順位の高いＥＣＵが送信を開始すると自分の送信を停止させる。しかし、ＥＣＵ-Ｅは１本の電線が断線しているため、他のＥＣＵが通信しているかどうか分からず、ＥＣＵ-Ｅが信号を送信することで他のＥＣＵが送信した信号を破壊してしまう。
【０００６】
図２を用いて説明する。図２はＣＡＮバスに流れる信号を模式的に示す図の一例である。図２の１つのブロックは、各ＥＣＵが送信した１フレーム（以下、メッセージという）である。図２（ａ）は図１（ａ）のようにＥＣＵ-ＥとＣＡＮバスの間を含め、各ＥＣＵと電線の間に断線や接触不良（以下、断線等という）がない場合のメッセージを示す。断線等がない場合、各ＥＣＵはそれぞれ異常のないメッセージを送信することができる。
【０００７】
図２（ｂ）は図１（ｂ）のように断線等がある場合のメッセージを示す。ＥＣＵ-ＥとＣＡＮバスの間の電線が断線等した場合、ＥＣＵ-Ｅが通信できないだけでなく、他のＥＣＵの通信も阻害するおそれがある。これは、ＥＣＵ-Ｂ,ＥＣＵ-Ｄがメッセージを送信する際、ＥＣＵ-Ｅはドミナント固定の信号を送信するので、他のＥＣＵによりバスが使用されることを検出できずメッセージを送信した場合、ＥＣＵ-Ｂ,ＥＣＵ-Ｄが送信したメッセージを破壊してしまうためである。
【０００８】
この結果、他のＥＣＵは、ＥＣＵ-Ｅの送信するメッセージ、ＥＣＵ-Ｂ、ＥＣＵ-Ｄが送信するメッセージを受信することができない。なお、ＥＣＵ-Ｂ、ＥＣＵ-Ｄが送信するメッセージであっても、ＥＣＵ-Ｂ、ＥＣＵ-Ｄの送信中に、ＥＣＵ-Ｅがメッセージを送信しなければ、破壊されることはない。
【０００９】
この場合、故障したＥＣＵの候補としてＥＣＵ-Ｅ、B、Dが挙げられるが、実際に故障したのはＥＣＵ-Ｅだけであるため、図２（ｂ）のような通信エラーを記録できたとしても、どのＥＣＵが実際に故障したのかを特定することは容易でない。
【００１０】
そこで故障したＥＣＵを特定する方法が考案されている（例えば、特許文献１参照。）。特許文献１にはＣＡＮに代表ノードを接続し、代表ノードが各ＥＣＵと定期的に通信する通信方法が開示されている。各ノードは代表ノードからメッセージを受信できないと通信を停止するので、代表ノードは各ノードからメッセージ（応答確認メッセージという）を受信できないことで、複数の各ノードのうち故障が発生したノードを特定することができる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００６−１３５３７５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、特許文献１に記載された方法では、代表ノードが応答確認メッセージを正常に送信できないおそれがあるという問題がある。上記のとおり、故障したＥＣＵにはメッセージの送信の調停が働かず、送信すべきメッセージがあれば送信してしまうので、代表ノードは故障したＥＣＵがメッセージを送信しないタイミングで応答確認メッセージを送信する必要がある。しかし、代表ノードにとって故障したＥＣＵがメッセージを送信しないタイミングは分からない。
【００１３】
また、ＣＡＮプロトコルの規定で故障したＥＣＵは送信禁止になる時間がある。断線等したＥＣＵは、例えば、送信メッセージに対する応答を受信できないとエラーフラグを送出するが、この時エラーカウンタをインクリメントする。ＣＡＮプロトコルでは、エラーカウンタが閾値を超えると、エラーパッシブ状態、さらにバスオフ状態になり、バスへの参加に制約が課される。
【００１４】
このため、故障ＥＣＵが存在すると、代表ノードは応答確認メッセージに対するフレームを受信できない理由が、断線によるものか、CANプロトコルの規定によるものか判別できない。
【００１５】
本発明は、上記課題に鑑み、車載ネットワークの断線や接触不良による通信障害が生じた場合、通信障害が生じた箇所を特定可能な電子制御ユニット、車載システム及びノード監視方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記課題に鑑み、本発明は、複数のノードの故障を監視する電子制御ユニットであって、複数のノードが1回以上メッセージを送信する略一定時間毎に、複数のノードの通信有無を監視して、前記略一定時間内に通信が検出されないノードを、検出されない順位情報と共に記録する通信途絶検出手段を有し、前記通信途絶検出手段は、所定期間毎に、前記略一定時間内に通信が検出されないノードと順位情報の記録を行う、ことを特徴とする。
【発明の効果】
【００１７】
車載ネットワークの断線や接触不良による通信障害が生じた場合、通信障害が生じた箇所を特定可能な電子制御ユニット、車載システム及びノード監視方法を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】ＣＡＮのネットワーク構造の一例を示す図である。
【図２】ＣＡＮバスに流れる信号を模式的に示す図の一例である。
【図３】故障検出方法の概略を説明する図の一例である。
【図４】車両ネットワークの一例を示す図である。
【図５】ＥＣＵの機能ブロック図の一例である。
【図６】故障状態監視ＥＣＵであるＥＣＵ-ＡによるＥＣＵ-Ｂの監視方法を示す図の一例である。
【図７】監視時間を複数のＥＣＵ間で共通にする理由を説明する図の一例である。
【図８】車載システムのネットワーク図の一例である。
【図９】通信妨害を説明する図の一例である。
【図１０】通信途絶検出部がメッセージ途絶を検出する手順を示すフローチャート図の一例である。
【図１１】メッセージ途絶情報の一例を示す図である。
【図１２】メッセージ途絶情報の一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明を実施するための最良の形態に基づき、図面を参照しながら説明する。
図３は、本実施形態の故障検出方法の概略を説明する図の一例である。ＥＣＵ-Ａが他のＥＣＵの故障を監視するＥＣＵであるとする。ＥＣＵ-Ａは、ＥＣＵ-Ｂ〜Ｅの全てからＣＡのフレーム（以下、メッセージという）を受信することができることを利用して、通信が途絶したＥＣＵ-Ｂ〜Ｅを記録する。なお、以下では通信が途絶することを、「メッセージ途絶」又は「メッセージの途絶」という場合がある。
【００２０】
ＥＣＵ-Ａは、例えばある時間内に通信しないＥＣＵがある場合、そのＥＣＵとのメッセージが途絶したと判定する。図３では最初の一定時間内にＥＣＵ-Ｅのメッセージが途絶している。また、次の一定時間内ではＥＣＵ-Ｂからのメッセージが途絶している。この一定時間を、以下、「監視時間」という。
【００２１】
ＥＣＵ-Ａは図３（ｃ）に示すように、メッセージが途絶したＥＣＵを、途絶した順に記録する。記録順がメッセージ途絶の順番となる。したがって、故障したＥＣＵが存在すれば、そのＥＣＵは早い順番に記録されると考えられる。
【００２２】
また、ＥＣＵ-Ａは、例えばIG（イグニッション）＝ON毎に同様の記録を開始する。多くのケースで、ＥＣＵ-Ｂ〜Eはメッセージ途絶が検出されないと考えられるが、複数回、記録することで、一次的に生じた接触不良を記録することができる。なお、IG＝ONは内燃機関のみを駆動源とする車両だけを対象とする意味ではなく、ハイブリッド車や電気自動車ではシステムのスタートボタンが押下されることに相当する。
【００２３】
車両メーカなどがＥＣＵ-Ａの記録を解析する際、順位を点数化して統計的に処理することで、故障している可能性の高いＥＣＵを特定することができる。また、一度のメッセージの途絶だけでなく、複数回の順位を記録しその結果を統計処理することで、接触不良から復帰したようなＥＣＵを点数から推定することも可能になる。
【００２４】
なお、以下では、ＥＣＵとＣＡＮバスの間が脱線した状態、ＥＣＵとＣＡＮバスのコネクタに接触不良が生じた状態を区別せずに、単に故障という。
【００２５】
〔構成〕
メッセージ途絶情報は車両メーカや販売店のサービスマンが参照すべきものなので外部に提供する手段が必要になる。この手段には大きく２つの方法がある。
【００２６】
図４は、車載ネットワーク４００の一例を示す図である。車載ネットワーク４００では、車両１００、サーバ２００及びディーラ（実際にはディーラが運用するサーバ）３００がネットワークを介して接続されている。車両１００は、ＤＣＭ（Data  Communication  Module）等の無線通信装置を搭載しており、音声通話及びデータ通信が可能になっている。ＤＣＭは、エアバッグの作動や車両１００への盗難行為を検出すると、不図示のセンターに連絡するようになっている。本実施形態では、ＤＣＭを利用してメッセージ途絶情報をサーバ２００に送信することができる。
【００２７】
サーバ２００は、車両１００のＤＣＭの電話番号に基づき車両１００やその販売店を特定し、販売店にメッセージ途絶情報を送信しておく。販売店のサービスマンは、車両１００が持ち込まれた場合、メッセージ途絶情報を参照して、故障箇所や故障したＥＣＵを特定することができる。
【００２８】
また、２つめの方法としては外部ツールを接続する方法がある。次述するように、車載システムに搭載されているＤＬＣ３(Data  Link  Connector３)に外部ツールを接続することで、外部ツールがＥＣＵと通信し、メッセージ途絶情報を読み出すことができるようになっている。
【００２９】
図５は、車載システム５０とＥＣＵの機能ブロック図の一例を示す。上記のように、メッセージ途絶を検出するＥＣＵはＥＣＵ-Ａとする。その他のＥＣＵは、各ＥＣＵ独自の制御のため異なる構造やソフトウェアを搭載しているが、ＥＣＵ-Ａとの関係における構造は共通なので、ＥＣＵ-Ｅのみを示した。
【００３０】
ＥＣＵは、ＣＡＮ通信用のコントローラ、不図示のＣＰＵ、ＲＡＭ、NVRAM、ＲＯＭ、Ｉ／Ｏ等を備えたコンピュータである。ＥＣＵ-ＡはＣＰＵがソフトウェアを実行して実現された通信途絶検出部１１を有し、例えばNVRAMに記憶されるメッセージ途絶情報１２を有する。
【００３１】
通信途絶検出部１１は、監視時間毎にＥＣＵ-Ｂ〜Eからメッセージを受信するか否かを監視し、メッセージ途絶情報１２を記録する。監視時間は、全てのＥＣＵ-Ｂ〜Ｅからメッセージが送信される充分な時間である。メッセージ途絶情報１２には、ＥＣＵ-Ａが監視時間内にメッセージを受信することができないＥＣＵ-Ｂ〜Eが記録されている。メッセージを受信できないＥＣＵは、その順番が記録される。なお、通信途絶検出部１１は、メッセージを受信すべき全てのＥＣＵのリストを予め記憶している。
【００３２】
ＥＣＵ-ＥはＣＰＵがソフトウェアを実行して実現された通信応答部２１及び制御部２２（以下、制御部Ｅという）を有する。通信応答部２１は、通信途絶検出部１１から応答要求に対しメッセージを返送する。したがって、通信応答部２１があることで、故障していないＥＣＵは必ずメッセージを返すので、ＥＣＵ-Ａはメッセージ途絶を正確に記録できる。
【００３３】
制御部Ｅは、ＥＣＵ-Ｅに接続されたセンサー２５から信号を取得し、必要な演算によりアクチュエータ２４の制御量を決定したり、スイッチ２６のオン・オフを制御する。なお、制御部Ｅは、センサー２５の信号、演算結果、自身の状態を他のＥＣＵに提供する処理も行う。これらの情報はＥＣＵ-Ａが受診することができるので、あえて通信応答部２１を設けなくても、ＥＣＵ-Ａの通信途絶検出部１１はメッセージ途絶を検出することができる。したがって、通信応答部２１は必ずしも必須ではない。
【００３４】
なお、通信コントローラ１３，２３は、ＣＡＮの通信プロトコルに従って、通信途絶検出部１１（通信応答部２１又は制御部Ｅ）が生成するデータをシリアルの送信信号に変換して不図示のトランシーバに出力する。トランシーバは通信コントローラ１３，２３から取得した論理レベルの送信信号を対応する差動電圧に変換してＣＡＮバスに流す。データの受信時、トランシーバは差動電圧を読み取り、所定の電圧範囲に含まれるように整形した受信信号を、通信コントローラ１３，２３に出力する。通信コントローラ１３，２３の受信用の端子はコンパレータを有しており、所定の閾値電圧とトランシーバからの受信信号とを比較してデジタルデータを取得する。
【００３５】
ＤＬＣ３（３１）は、車載システム５０に外部ツール（テスター）３２を接続するためのインタフェースである。例えば、運転席の右下の開閉部に配置される。サービスマンが外部ツール３２をＤＬＣ３に接続し操作することで、ダイアグコードやその時のＥＣＵデータ（フリーズフレームデータ）、車載システム上を流れているデータのモニタ、アクティブテスト、学習値のクリア等を行うことができる。メッセージ途絶情報１２はＥＣＵデータの１つとして取得することができる。
【００３６】
なお、本実施形態では通信コントローラ１３，２３がＣＡＮプロトコルに基づき通信するとして説明する。これは、ＣＡＮには故障したノード（各ＥＣＵのこと）を特定しにくいという性質があるためである。しかしながら、特定しにくいのは主にCSMA/CAアクセス手順を使用するためなので、CSMA/CAのような特定のプロトコルに基づく車載システムであれば同様に適用できる。
【００３７】
〔故障状態監視ＥＣＵの必要性〕
故障を検出するためには、ＥＣＵ-Ａのように車両内に１つ以上の故障状態監視ＥＣＵが必要となる。
【００３８】
まず、ＥＣＵとＣＡＮバスの間の電線が断線した場合、人為的な修理なしに断線が元の状態に戻ることはない。一方、ＥＣＵとＣＡＮバスの間の接触不良の場合、人為的な修理がなくても車両１００が走行しているうちに接触不良が解消して正常状態に戻る場合がある。このため、運転者がメータパネルのランプなどにより異常を認識しディーラ３００に持ち込んだ場合、入庫時には接触不良が解消している場合がある。
【００３９】
すると、サービスマンは車両１００を検査しても異常の原因を特定することができず、もう一度、接触不良の状態を再現させる等の特殊な修理が必要になり、検査に時間がかかってしまう。
【００４０】
したがって、ＣＡＮ通信を車両１００に採用する場合の課題として、接触不良の箇所を接触不良の発生中に特定する必要があることが挙げられる。また、この特定は運転者やサービスマンのいずれが行ってもよいが、運転者が特定した場合は、サービスマンに故障箇所（接触不良箇所）を正確に伝達する必要があることが挙げられる。
【００４１】
このような課題に対応するため、故障状態監視ＥＣＵが必要になる。故障状態監視ＥＣＵ（ＥＣＵ-Ａ）は、接触不良時にメッセージ途絶情報１２を記録できるので、接触不良が生じたこととそのＥＣＵを確実に記録することができる。
【００４２】
図６は、故障状態監視ＥＣＵであるＥＣＵ-ＡによるＥＣＵ-Ｂの監視方法を示す。図６（ａ）はＣＡＮ構成例の一例を示す。図示するようにＣＡＮバスにはＥＣＵ-Ａ〜ＥＣＵ-Ｅの５つのＥＣＵが接続されている。
【００４３】
図６（ｂ）は、ＥＣＵ-Ａが正常状態のＥＣＵ-Ｂを監視する際に受信するメッセージの一例を示す。ＥＣＵ-Ｂは監視時間よりも長い時間を空けずにメッセージを送信している。図では３つの監視時間があるが、ＥＣＵ-Ａは３つの監視時間の全てにおいてＥＣＵ-Ｂからメッセージを受信している。したがって、ＥＣＵ-Ａは３つの監視時間の全てにおいて「ＥＣＵ-Ｂは正常である」と判定することができる。
【００４４】
図６（ｃ）はＥＣＵ-Ａが異常のあるＥＣＵ-Ｂを監視する際に受信するメッセージの一例を示す。ＥＣＵ-Ａは３つの監視時間のうち、２つでは監視時間内にＥＣＵ-Bからメッセージを受信しているが、１つの監視時間ではメッセージを受信していない。このため、ＥＣＵ-Ａは２つの監視時間では「ＥＣＵ-Ｂは正常である」と判定するが、接触不良が生じた可能性のある１つの監視時間では「ＥＣＵ-Ｂは故障」と判定することができる。ＥＣＵ-Ａはメッセージ途絶情報１２を記録するので、時間が経過すると解消する可能性のある接触不良が生じたことを記録することができる。
【００４５】
なお、故障状態監視ＥＣＵを設けずに例えば各ＥＣＵが自己の異常を検出するだけでは、図１、２で説明したような問題が生じる。
【００４６】
ＥＣＵ-Ａは、故障を監視する専用のＥＣＵというわけではなく、ＥＣＵ-Ａに特有の電子制御を実行するＥＣＵである。こうすることでコスト増を抑制できる。ＥＣＵ-ＡはどのようなＥＣＵ（例えば、ボディＥＣＵ、エンジンＥＣＵ、ナビＥＣＵ等）でもよく、特有の電子制御を阻害しないリソースを有していることが条件となる。
【００４７】
〔ＥＣＵ-Ａが受信するメッセージの個数、監視時間〕
通信途絶検出部１１は、監視時間の開始時刻を基準に監視時間を計測し、終了時刻までにメッセージを受信したか否かを判定して、メッセージ途絶を検出する。上記のように、通信途絶検出部１１は、応答要求に対する他のＥＣＵの応答をメッセージとして受信してもよいし、他のＥＣＵの各制御部２２が制御の必要上、ＣＡＮバスに流す情報をメッセージとして受信してもよい。
【００４８】
通信途絶検出部１１が、監視時間内に１つもメッセージを受信できない場合にそのＥＣＵが故障したと判定するか、所定数個以上メッセージを受信できない場合にそのＥＣＵが故障したと判定するか、は設計事項である。例えば、ある車両メーカは厳格に故障を監視したいと考え、監視時間内に１つもメッセージを受信できない場合にそのＥＣＵが故障したと判定することができる。また、別のメーカは、故障の確度の高い情報だけ記録したいと考え、監視時間内に所定数個以上のメッセージを受信できない場合にそのＥＣＵが故障したと判定することができる。
【００４９】
また、このような故障に対するポリシー以外にＥＣＵの重要度を考慮することができる。例えば、ＥＣＵ-Ｅが非常に重要なＥＣＵ(例えば、エンジンＥＣＵ、ブレーキＥＣＵ)の場合、故障が生じると運転者に多大な影響が及ぼされる。したがって、厳格に故障を検出すると故障でないのに運転者が運転をできなくなるなどのおそれがあり、あまりに厳格でなくなると重大な故障に発展するなどのおそれがある。
【００５０】
また、通信途絶検出部１１を備えた故障状態監視ＥＣＵは車載システム５０に複数個存在してもよいが、監視用のＥＣＵは少ない方が低コストであるので、故障状態監視ＥＣＵと被監視対象ＥＣＵの数は、１対多であることが多い。
【００５１】
監視時間について説明する。ＥＣＵ-Ａが複数のＥＣＵ-Ｂ〜Ｅの故障を監視する場合、ＥＣＵ-Ｂ〜Ｅの監視時間は共通である。例えば、ＥＣＵ-Ｂの監視時間が１０秒の場合、ＥＣＵ-Ｃの監視時間は１１秒、ＥＣＵ-Ｄの監視時間は１０．５秒、ＥＣＵ-Ｅの監視時間は９．５秒、のようにほぼ一定の時間とする。こうすることで故障したＥＣＵの誤判定を防止しやすくなる。
【００５２】
図７は、監視時間を複数のＥＣＵ間で共通にする理由（誤判定を防止しやすい）を説明する図の一例である。図7では一例として、各ＥＣＵの監視時間が、ＥＣＵ-Ｂ：１秒、ＥＣＵ-Ｃ：２秒、ＥＣＵ-Ｄ：３秒、ＥＣＵ-Ｅ：４秒、であると仮定する。
【００５３】
このため、ＥＣＵ-Ｂの監視時間を示す図7（ａ）では、ＥＣＵ-Ａが1秒間にＥＣＵ-Ｂからメッセージを受信したか否かが故障判定の基準になり、ＥＣＵ-Ｃの監視時間を示す図7（ｂ）では、ＥＣＵ-Ａが２秒間にＥＣＵ-Ｃからメッセージを受信したか否かが故障判定の基準になり、ＥＣＵ-Ｄの監視時間を示す図7（ｃ）では、ＥＣＵ-Ａが３秒間にＥＣＵ-Ｃからメッセージを受信したか否かが故障判定の基準になり、ＥＣＵ-Ｅの監視時間を示す図7（ｄ）では、ＥＣＵ-Ａが４秒間にＥＣＵ-Ｄからメッセージを受信したか否かが故障判定の基準になる。
【００５４】
ここで、点線で図示する時間帯（２．５秒間）にＥＣＵ-Ｄの故障が発生したとする。ＥＣＵ-Ｄは故障するとドミナントを送信するので、他のＥＣＵのメッセージの送信を妨害する。このため、２.５秒の間、全てのＥＣＵはメッセージを送信することができない。
【００５５】
しかし、ＥＣＵ-ＢとＥＣＵ-Ｃの監視時間は2秒以下なので、ＥＣＵ-ＡはＥＣＵ-ＢとＥＣＵ-Ｃの故障を検出してしまう。一方、ＥＣＵ-ＤとＥＣＵ-Ｅの監視時間は３秒以上なので、メッセージの送信タイミングにもよるが、ＥＣＵ-ＡはＥＣＵ-ＤとＥＣＵ-Ｅは正常であると判定してしまう。しかしながら、ＥＣＵ-Ｄが故障したのであるから、ＥＣＵ-ＢとＥＣＵ-Ｃが故障であると判定すること、及び、ＥＣＵ-Ｄが正常であると判定すること、は誤判定である。すなわち、ＥＣＵ-Ｄが故障したのに、ＥＣＵ-ＢとＥＣＵ-Ｃが故障したと判定されてしまう。
【００５６】
これに対し、例えば、監視時間を全ＥＣＵに共通の２秒とした場合、ＥＣＵ-Ａは全てのＥＣＵの故障を検出することができる（実際に故障しているかどうかは統計的に突き止めるため1回の監視結果がこのような結果でも問題はない。）。しかし、正常なＥＣＵでも監視時間内にメッセージを出すか否かは不確定では、正常でも故障していると判定されるおそれがある。すなわち、監視時間は、全てのＥＣＵが少なくとも1回以上メッセージを送信する充分な時間であることが望ましい。
【００５７】
以上から、誤判定の防止には、監視時間を４つのＥＣＵに共通にし、かつ、監視時間は各ＥＣＵのメッセージが一度は受信されるようにある程度長くすることが好ましいことが分かる。このような時間は開発者が実験的に特定することができる。本実施形態では１０秒とするが、３秒、５秒、又は、２０秒などでもよい。
【００５８】
〔メッセージ途絶情報〕
図８（ａ）は、車載システム５０のネットワーク図の一例を示す。これまでと同様、ＥＣＵ-Ａが故障状態監視ＥＣＵであり、ＥＣＵ-ＥとＣＡＮバスの間の故障が生じたものとする。ＥＣＵ-Ｅに故障が生じると、ＥＣＵ-Ｅのメッセージの送信が他のＥＣＵのメッセージの送信も妨害する。
【００５９】
本実施形態では、ＩＧ（イグニション）・ＯＮからＯＦＦの間を1回の監視とする。通信途絶検出部１１は、1回の監視中に、メッセージ途絶と判定したＥＣＵ名とその順番を記憶する。また、次に、ＩＧ・ＯＦＦからＯＮになると、通信途絶検出部１１は監視を開始し、ＩＧ・ＯＦＦで監視を終了する。このように、ＩＧ・ＯＮ〜ＯＦＦが1回の監視となる。
【００６０】
通信途絶検出部１１は、監視の結果である、メッセージ途絶と判定したＥＣＵ名とその順番を、毎回、上書きすることなく記憶する（記憶容量が許す範囲で）。なお、メッセージ途絶が検出されない場合、すなわち、通信途絶検出部１１が全てのＥＣＵが正常であると判定した場合、結果を記憶しなくてもよいし、「正常」と記憶することもできる。本実施形態では記憶しないものとする。
【００６１】
図８（ｂ）はメッセージ途絶情報１２の一例を示す図である。監視の回毎に、メッセージ途絶が検出されたＥＣＵが、メッセージ途絶が検出された順番に記憶されている。例えば、1回目のメッセージ途絶の検出順は、ＥＣＵ-Ｅ、ＥＣＵ-Ｂ、ＥＣＵ-Ｃ、ＥＣＵ-Ｄの順番である。この順番によれば、1回目のＩＧ・ＯＮ〜ＯＦＦの間、通信途絶検出部１１が例えば１０秒間の監視時間で繰り返しＥＣＵ-Ｂ〜Ｅを監視した際に、監視時間iではＥＣＵ-Ｅのメッセージ途絶が検出され、監視時間ｉ+aではＥＣＵ-Ｂのメッセージ途絶が検出され、監視時間ｉ+bではＥＣＵ-Ｃのメッセージ途絶が検出され、監視時間i＋ｃではＥＣＵ-Ｄのメッセージ途絶が検出されたことになる。なお、小文字のi、ａ〜ｃは監視のサイクルを表し、a＜b＜cである。
【００６２】
また、３回目のメッセージ途絶の検出順は、ＥＣＵ-Ｅ、ＥＣＵ-Ｂ、なし、なしの順番である。この順番によれば、記録されていないＥＣＵ-Ｃ,ＥＣＵ-Ｄはメッセージ途絶が検出されなかったことを意味する。
【００６３】
ここで、故障が生じたＥＣＵ（接触不良が復帰した後は除く）は一切の通信ができないので、監視の回に関係なく1番目に記録されるとことが多いと考えられる。また、その他のＥＣＵは、故障が生じたＥＣＵによりメッセージが破壊された場合にだけ、メッセージ途絶が検出されるが、多くの場合は２番目以降に記録されると考えられる（図８（ｂ）の４回目にＥＣＵ-Ｂが一番になっているのは、１つの監視時間内でＥＣＵ-Ｅがメッセージ送信後に故障して、同じ監視時間内にＥＣＵ-Ｂのメッセージが破壊されたような特殊な状況で生じる）。
【００６４】
したがって、１つのＥＣＵの故障が他のＥＣＵの通信を阻害するＣＡＮ通信においても、メッセージ途絶情報１２を統計的に処理することで、故障したＥＣＵ-Ｅを特定できることになる。統計処理するには、図８（ｂ）のようなメッセージ途絶情報１２を数値化すればよい。よって、サービスマン等はメッセージ途絶が早く起こるＥＣＵを特定できる。
【００６５】
本実施形態では数値化のため、一例として以下の規則を採用する。なお、数値化は、車内、サーバ２００、又は、ディーラ３００のどこでも行うことができるが、ここでは通信途絶検出部１１が数値化するとして説明する。
（１）１番目にメッセージ途絶が検出されたＥＣＵに１点、２番目に２点、３番目に３点、４番目に４点、と順位と同じ点をＥＣＵに与える。
（２）メッセージ途絶が検出されなかったＥＣＵは、最も遅い順位（図８（ｂ）の例では４位）と同じ点数をＥＣＵに与える。なお、メッセージ途絶が検出されなかったＥＣＵには、もっと大きな点、例えば、最も遅い順位と同じ点数＋α（例えば、１〜４点）をＥＣＵに与えてもよい。
【００６６】
この規則に従うと、1回目のメッセージ途絶情報１２と2回目のメッセージ途絶情報１２では、各ＥＣＵの点数は、以下のようになる。
1回目：ＥＣＵ-Ｂ＝２点、ＥＣＵ-Ｃ＝３点、ＥＣＵ-Ｄ＝４点、ＥＣＵ-Ｅ＝１点、
２回目：ＥＣＵ-Ｂ＝４点、ＥＣＵ-Ｃ＝２点、ＥＣＵ-Ｄ＝３点、ＥＣＵ-Ｅ＝１点、
図８（ｂ）ではメッセージ途絶情報１２の右側に、過去の累積点が示されている。すなわち、２回目までの累積点は、以下のようになっている。
ＥＣＵ-Ｂ＝６点、ＥＣＵ-Ｃ＝５点、ＥＣＵ-Ｄ＝７点、ＥＣＵ-Ｅ＝２点、
したがって、各ＥＣＵの累積点を比較して、累積点が低いＥＣＵほど故障している可能性が高いことが分かる。ディーラ３００のサービスマンは、累積点の最も小さいＥＣＵからチェックして、ＥＣＵとＣＡＮバスの間の電線の断線や接触不良を検査することができる。また、累積点の最も小さいＥＣＵから故障が見つけられない場合、サービスマンは次に累積点の小さいＥＣＵとＣＡＮバスの間の電線の断線や接触不良を検査すればよいと判断できる。
【００６７】
このように本実施形態では、故障しているＥＣＵは他のＥＣＵよりも早くメッセージ途絶が検出されると考えられ、その傾向はＥＣＵが故障している限り継続することを利用している。１回だけの判定では、実際に故障したのか、故障したECU-Eにメッセージが破壊されたのか不明であるが、複数回の監視結果を点数化して累積することで、故障の検出精度を向上させることができる。逆に接触不良などが生じやすいＥＣＵの点数は、メッセージ途絶が検出されるので、たまたまメッセージが破壊されたＥＣＵと比べて、統計処理により有意な差が見られることになる。
【００６８】
例えば、５回目までの累積点は、次のようになっている。
ＥＣＵ-Ｂ＝１１点、ＥＣＵ-Ｃ＝１５点、ＥＣＵ-Ｄ＝１９点、ＥＣＵ-Ｅ＝６点
このように、ECU-Eと他のECUには累積点には大きな差が見られる。また、すべてのECUが正常な場合に正常であるというメッセージ途絶情報を記録した場合も、同様に判定できる。仮に、５回の監視の前、及び、後に１００回の監視があり、その全てで全ＥＣＵのメッセージ途絶が検出されない場合、４点×１００回＝４００を加えた値が各ＥＣＵの累積点となる。
ＥＣＵ-Ｂ＝４１１点、ＥＣＵ-Ｃ＝４１５点、ＥＣＵ-Ｄ＝４１９点、ＥＣＵ-Ｅ＝４０６点
接触不良が生じ、後に戻ったような場合、累積点には大きな差が見られない。しかし、これまで説明したように最も累積点が小さいＥＣＵは故障したＥＣＵと考えることが合理的であるので、例えば５点の差（４１１点と４０６点）は有意な差としてよい。
【００６９】
また、メッセージの途絶が検出された場合、監視のサイクルを短くしてもよい。すなわち、メッセージの途絶が検出された場合、ＩＧ＝ＯＮの間に、例えば１０分〜１時間毎に次の回の監視を行うことで、接触不良が生じた場合に、監視の回数を増やすことができる。これにより、点数の有意差をさらに拡大できる。
【００７０】
なお、図８（ｂ）ではメッセージ途絶が早く検出されるＥＣＵほど、小さい点数を与えたが、メッセージ途絶が早く検出されるＥＣＵほど大きな点数を与えてもよい。この場合、ディーラ３００のサービスマンは、累積点の最も大きいＥＣＵからチェックすればよい。
【００７１】
〔故障したＥＣＵが自発的に送信を停止する場合について〕
上述したように、ＣＡＮプロトコルの規定で故障ＥＣＵ（断線以外のなんらかの異常が生じたＥＣＵ）は送信禁止になる時間があるが、この場合も、本実施形態の故障検出方法が有効であることを説明する。
【００７２】
まず、原理的に次のことが言える。
（１）故障しているＥＣＵからのメッセージは必ず送信不可となる。
（２）故障していないＥＣＵは、故障しているＥＣＵからの通信妨害により送信不能となる場合がある。
【００７３】
しかし、ＣＡＮのプロトコル上、故障しているＥＣＵは短時間だが送信停止となる期間が定義されている。したがって、この期間は通信の妨害が発生せず、正常なＥＣＵがメッセージを送信することが可能になる。このため、正常なＥＣＵはメッセージ途絶が検出されるタイミングが、異常の生じたＥＣＵよりも遅くなると期待できる。この場合、正常なＥＣＵの点数は大きくなる。また、場合によっては、正常なＥＣＵはメッセージ途絶と判定されないことも期待できる。
【００７４】
図９は、通信妨害を説明する図の一例である。各ＥＣＵはそれぞれの制御の必要に応じてメッセージをＣＡＮバスに出力する。図９では、正常に送信されないメッセージを点線の「送信なし」で示した。
【００７５】
図示する「ＥＣＵ-Ｅ送信禁止期間」が、ＣＡＮのプロトコルが規定する、故障したＥＣＵが送信禁止になる時間帯である。この間、ＥＣＵ-Ｅは送信しないので、ＥＣＵ-Ｂ、C、Dのメッセージは妨害されない。
【００７６】
ＥＣＵ-Ａの通信途絶検出部１１は、監視時間にＥＣＵ-Ｂ、C、Dのメッセージを受信することができるので、この監視時間においてはＥＣＵ-Ｂ、C、Dのメッセージ途絶を検出しない。よって、ＥＣＵ-ＥよりもＥＣＵ-Ｂ、Ｃ、Ｄのメッセージ途絶が検出されるタイミングが遅くなる。
【００７７】
〔オプション扱いのＥＣＵについて〕
車両１００には種々のオプションが用意されており、オプションが装着されて出荷されることもそうでないこともある。また、出荷後に脱着されることもある。この場合も本実施形態の手法は有効である。
・装着されずに出荷されたオプション用のＥＣＵ
このＥＣＵも通信途絶検出部１１のＥＣＵの一覧のリストに載っている場合、監視のほぼ毎回、1番目にメッセージ途絶が検出されると考えられる。したがって、累積点は最も低くなるが、サービスマンが車両１００を見ればそのＥＣＵは装着されていないので、故障の判定対象としなくてよいことは容易に判断できる。出荷後に取り外されたＥＣＵについても同様であるが、次述のようにメッセージ途絶情報１２を初期化することも有効である。
・装着されたオプション用のＥＣＵ
出荷時に装着されていたオプション用のＥＣＵについてはオプション品でないＥＣＵと同様に扱うことができる。出荷後に装着されたＥＣＵについては、装着までは累積点が低い点数であったが、装着後に点数が増大することになる。この累積点は接触不良のＥＣＵと似た傾向となるので、出荷後にオプションが装着された時点で（ＥＣＵが故障していないことを確認した上で）、累積点は初期化することが好ましい。例えば、通信途絶検出部１１は外部ツール３２からの信号を受け付けてメッセージ途絶情報１２を初期化できる。
【００７８】
〔動作手順〕
図１０は、通信途絶検出部１１がメッセージ途絶を検出する手順を示すフローチャート図の一例である。図１０の手順は例えばＩＧ・ＯＮによりスタートする。
【００７９】
まず、通信途絶検出部１１は今回のメッセージ途絶情報１２を初期化する（Ｓ１０）。具体的には、例えば、今回のメッセージ途絶情報１２のレコードを生成し、初期値（例えば、ＮＵＬＬ）を設定する。また、通信途絶検出部１１は、メッセージを受信すべき全てのＥＣＵのリストを読み出しておく。レコードに残った初期値は、その順位でメッセージ途絶が検出されたＥＣＵはないことを意味する。全てのＥＣＵが正常であった場合は、レコードを削除するか、全ての順位を初期値のままとすればよい（図8の「なし」に相当する）。
【００８０】
次に、通信途絶検出部１１は監視時間の計測を開始する（Ｓ２０）。上記のように、監視時間は、例えば10秒程度である。
【００８１】
通信途絶検出部１１は、受信したメッセージの送信元のＥＣＵをＲＡＭなどに一時的に記録する（Ｓ３０）。送信元のＥＣＵはメッセージのＩＤから特定できる。なお、通信途絶検出部１１は、１つの監視時間に同じＥＣＵから複数のメッセージを受信した場合、同じＥＣＵは１つしか記録しない。
【００８２】
通信途絶検出部１１は、監視時間が経過したか否かを判定し（Ｓ４０）、監視時間が経過するまでＥＣＵの記録を継続する。
【００８３】
監視時間が経過すると（Ｓ４０のＹｅｓ）、通信途絶検出部１１は、メッセージ途絶が検出されたＥＣＵがあるか否かを判定する（Ｓ５０）。すなわち、通信途絶検出部１１はメッセージを受信すべき全てのＥＣＵのリストと、ＲＡＭに記憶されたＥＣＵのリストを突合し、リストにあってＲＡＭにないＥＣＵを特定する。そのＥＣＵはメッセージ途絶が検出されたＥＣＵであるので、通信途絶検出部１１は該ＥＣＵのみを残してその他をＲＡＭから消去する。
【００８４】
メッセージ途絶が検出されたＥＣＵがない場合（Ｓ５０のＮｏ）、通信途絶検出部１１はそれを記録しないので処理はステップＳ７０に進む。
【００８５】
メッセージ途絶が検出されたＥＣＵがある場合（Ｓ５０のＹｅｓ）、通信途絶検出部１１はそのＥＣＵをメッセージ途絶情報１２の今回のレコードに記録する（Ｓ６０）。このため、通信途絶検出部１１は、メッセージ途絶が検出されたＥＣＵを１つずつＲＡＭから読み出し、メッセージ途絶情報１２の今回のレコードにすでに登録されているＥＣＵをＲＡＭから消去する。これによりすでに登録されたＥＣＵを排除できる。
【００８６】
ＲＡＭに残っているＥＣＵは、まだメッセージ途絶情報１２の今回のレコードに登録されてないＥＣＵになるので、通信途絶検出部１１はすでにＥＣＵが登録されている順位の次の順位に（例えば、2番目までが埋まっているなら3番目に登録する）、ＲＡＭに残っているＥＣＵを登録する。複数のＥＣＵがＲＡＭに残っている場合、１つの監視時間内では順位付けしないので、全てのＥＣＵを同じ順位に登録する。１つの監視時間内で順位づけして、例えば、アルファベット順（識別情報順）に、メッセージ途絶のＥＣＵを順位付けしてもよい。
【００８７】
この後、メッセージ途絶情報１２の今回のレコードに、全てのＥＣＵ（リストのＥＣＵ）が登録されたか否かを判定し、登録されている場合は、点数化のステップＳ８０に進んでもよい。
【００８８】
次に、通信途絶検出部１１は、ＩＧ＝ＯＦＦか否かを判定し（Ｓ７０）、ＩＧ＝ＯＦＦになるまでは、ステップＳ２０からの処理を繰り返す。なお、連続して監視する必要はなく、間隔（数秒、数分又は数十分など）空けて、繰り返してもよい。
【００８９】
ＩＧ＝ＯＦＦになった場合（Ｓ７０のＹｅｓ）、通信途絶検出部１１はＥＣＵの順位を点数化する（Ｓ８０）。
【００９０】
そして、ＥＣＵ毎に、それまでの累積点に今回の点数を加えて、新たな累積点を算出する（Ｓ９０）。以上により、メッセージ途絶が早いＥＣＵほど低い累積点が算出される。
【００９１】
〔点数化の変形例１〕
これまでの点数化では、メッセージ途絶したＥＣＵとそうでないＥＣＵの点数に大きな差異がなく、故障のあるＥＣＵの特定が困難となることも予測される。そこで、正常であると判定されたＥＣＵの累積点をゼロにすることが考えらえる。
【００９２】
図１１(a)はメッセージ途絶情報１２の一例を示す。図１１(a)のメッセージ途絶情報１２は、5回目までの記録は図８（ｂ）と同じであるが、6回目にＥＣＵ-Ｅを除いてメッセージ途絶が検出されていない。通信途絶検出部１１は、メッセージ途絶が検出されない（正常であると判定された）ＥＣＵの累積点をゼロにするので、ＥＣＵ-Ｂ〜Ｄの累積点をゼロにしている。このような計算方法では、例えばサービスマンは累積点がゼロかゼロでないかにより故障の有無を判定できるので、故障したＥＣＵ（この場合ＥＣＵ-Ｅ）を特定しやすくなる。
【００９３】
ＣＡＮ通信では、通信途絶検出部１１が故障の生じたＥＣＵ以外のＥＣＵについてもメッセージ途絶を検出するので、このようにメッセージ途絶が検出されないＥＣＵの累積点をゼロにすることで、故障したＥＣＵとそれ以外のＥＣＵを容易に差別化できる。ただし、接触不良のように故障から正常に復帰してしまうＥＣＵの特定には不向きである。
【００９４】
また、メッセージ途絶が検出されたＥＣＵの点数を低くするのでなく、ゼロにすることもできる。この場合、メッセージ途絶が検出されないＥＣＵには一律又は順番に応じて点数が加点される。
メッセージ途絶が検出されないＥＣＵ＝一律に4点
メッセージ途絶が検出されたＥＣＵ  ＝  ０点
図１１（ｂ）は、メッセージ途絶情報１２の一例を示す。1回目から５回目まで、メッセージ途絶が検出されなかったＥＣＵ-Ｃ、ＥＣＵ-Ｄのみに４点を記録されている。６回目と７回目では、ＥＣＵ-Ｅ以外のＥＣＵでメッセージ途絶が検出されないので4点ずつ加算が開始されている。９回目以降は、ＥＣＵ-Ｅの接触不良が解消したため、ＥＣＵ-Ｅの累積点も４点ずつの加算が開始される。しかしながら、１０回以降、ＥＣＵ-Ｅと他のＥＣＵの点数は、最小でも8点（ＥＣＵ-ＥとＥＣＵ-Ｂの差）を保つので、サービスマンは故障した可能性の高いＥＣＵ-Ｅを特定することができる。
【００９５】
また、メッセージ途絶が検出されたＥＣＵの点数を、検出されないＥＣＵよりも大きくすることもできる。図１２は、メッセージ途絶情報１２の一例を示す。図１２では、メッセージ途絶が検出された順番に、1番＝４点、２番＝３点、３番＝２点、４番＝１点、検出されない＝０点、として各ＥＣＵに点数が与えられている。５回目の累積点を見ると、故障のあるＥＣＵ-Ｅの点数が最も高くなっているので、サービスマンは故障したＥＣＵ-Ｅを特定することができる。また、この後、ＥＣＵ-Ｅの接触不良が解消しても、累積点に有意な点差が残るので、サービスマンは接触不良が一時的に生じたＥＣＵ-Ｅを特定することができる。
【００９６】
以上説明したように、本実施形態の車載システム５０は、メッセージ途絶の順位を複数回に渡って点数化して記録するので、接触不良から復帰したようなＥＣＵの痕跡を点数から推定可能とすることができる。
【符号の説明】
【００９７】
１１      通信途絶検出部
１２      メッセージ途絶情報
１３、２３  通信コントローラ
２１      通信応答部
２２      制御部
３１      ＤＬＣ３
３２      外部ツール
５０      車載システム
１００    車両
３００    ディーラ
４００    車両ネットワーク
【図１】
2012086601.tif 000003
【図２】
2012086601.tif 000004
【図３】
2012086601.tif 000005
【図４】
2012086601.tif 000006
【図５】
2012086601.tif 000007
【図６】
2012086601.tif 000008
【図７】
2012086601.tif 000009
【図８】
2012086601.tif 000010
【図９】
2012086601.tif 000011
【図１０】
2012086601.tif 000012
【図１１】
2012086601.tif 000013
【図１２】
2012086601.tif 000014