(57)【要約】【課題】フレームを受信できなくなったノードが、自身に異常が発生しているのか、通信相手のノードに異常が発生しているのか特定することができる。【解決手段】ＣＡＮ通信監視装置１０は、ＣＡＮバス３１に接続されているノード２１〜２３に対して、周期的に通知フレームを送信する。これにより、ノード２１〜２３は、通信相手のノード２１〜２３からフレームを受信できなくなった場合、通知フレームも受信できなくなっていれば、自身のフレーム受信に異常が発生していると判断できる。また、通知フレームを受信している場合には、通信相手のノード２１〜２３が異常を発生し、フレームを送信していないと判断できる。【選択図】図１
2007195040.tif 000002
【特許請求の範囲】
【請求項１】
ＣＡＮバスに接続されたノードの異常判定方法において、
ＣＡＮ通信監視装置から送信される異常判定用フレームと他のノードから送信される通常フレームとの受信状況に基づいて異常ノードを特定することを特徴とするノードの異常判定方法。
【請求項２】
ＣＡＮバスと、
前記ＣＡＮバスに接続された複数のノードと、
前記複数のノードに異常判定用フレームを送信するＣＡＮ通信監視装置と、
を有することを特徴とするノードの異常判定システム。
【請求項３】
ＣＡＮバスに接続されたノードの異常特定を可能にするＣＡＮ通信監視装置において、
前記ＣＡＮバスに接続されている前記ノードに対し、異常判定用フレームを送信する異常判定用フレーム送信手段、
を有することを特徴とするＣＡＮ通信監視装置。
【請求項４】
前記ＣＡＮバス上に送出される前記ノードのフレームを受信するフレーム受信手段と、
前記フレームの識別子ごとに、前記フレームが途絶していないか否か判断する途絶判断手段と、
をさらに有し、
前記異常判定用フレーム送信手段は、前記途絶判断手段によって前記フレームが途絶されていると判断された場合、その旨を前記異常判定用フレームに含めることを特徴とする請求項３記載のＣＡＮ通信監視装置。
【請求項５】
前記途絶判断手段は、前記識別子ごとに前記フレームの受信周期をカウントとするカウンタを有し、前記受信周期によって、前記フレームが途絶していないか否か判断することを特徴とする請求項４記載のＣＡＮ通信監視装置。
【請求項６】
前記ノードは、自身で判断した途絶している前記フレームと、前記異常判定用フレームで示される途絶している前記フレームとが一致した場合、前記フレームは途絶していると判断することを特徴とする請求項４記載のＣＡＮ通信監視装置。
【請求項７】
前記ノードは、自身で判断した途絶している前記フレームと、前記異常判定用フレームで示される途絶している前記フレームとが一致しない場合、前記異常判定用フレームの情報を優先させることを特徴とする請求項６記載のＣＡＮ通信監視装置。
【請求項８】
前記ノードは、前記異常判定用フレームを受信しない場合、自身の前記フレームの受信に異常が発生していると判断することを特徴とする請求項３記載のＣＡＮ通信監視装置。
【請求項９】
前記ノードは、前記異常判定用フレームによって、自身が前記フレームを前記ＣＡＮバス上に送出していないことを判断することを特徴とする請求項４記載のＣＡＮ通信監視装置。
【請求項１０】
ＣＡＮバスに接続されるノードにおいて、
前記ＣＡＮバスに接続されている他のノードが送信するフレームの途絶を判断する途絶判断手段と、
前記ＣＡＮバスに接続されているＣＡＮ通信監視装置が送信する、前記フレームが途絶しているか否かの情報を含む異常判定用フレームを受信するフレーム受信手段と、
前記途絶判断手段の判断結果と前記異常判定用フレームの前記情報とによって、自身に異常が発生しているのか前記他のノードに異常が発生しているのか判断する異常判断手段と、
を有することを特徴とするノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はノードの異常判定方法に関し、特にＣＡＮバスに接続されたノードの異常判定方法に関する。
【背景技術】
【０００２】
車両には、特定の制御機能を持ったコンピュータやセンサからなる複数の電子制御ユニット（ＥＣＵ：Electronic Control Unit）が搭載されており、これらは、ＬＡＮ（Local Area Network）によって相互に接続され、ネットワークを構成している。車載ＬＡＮのシステムでは、各種プロトコルが採用されているが、中でもＣＡＮ通信プロトコルが主流になりつつある。
【０００３】
このＣＡＮ通信プロトコルは、以下のような特徴を有している。バスに接続されるノードごとにアドレスの割付が不要である。フレーム（データ）ごとに識別子（ＩＤ：Identifier）が付与されている。バスが空いていればどのノードもいつでもフレームを送信でき、全ノードで同時に受信することができる（マルチマスタ方式）。非マスタ・スレーブ方式のため管理ノード、監視ノードが不要である。ＩＤによる受信フィルタリングを行っている（特定のフレームのみ受信する）。フレームの同時送信による衝突検知時は、ＩＤによって調停（ＩＤが小さいほど高優先）する。
【０００４】
ここで、ＣＡＮ通信プロトコルを採用したネットワークについて説明する。
図１３は、ＣＡＮ通信プロトコルによるネットワークの一例を示したシステム図である。図に示すシステムは、電子制御ユニットである複数のノード１０１〜１０３を有し、これらのノード１０１〜１０３は、ＣＡＮバス１０４に接続されている。
【０００５】
ノード１０１〜１０３は、フレームを送信するとき、予め決められている固有のＩＤをフレームに含めて送信する。図の例の場合、ノード１０１はＩＤ１１１ｈのフレームを送信し、ノード１０２はＩＤ２２２ｈのフレームを送信し、ノード１０３はＩＤ３３３ｈのフレームを送信する。
【０００６】
また、各ノード１０１〜１０３は、フレームに含まれているＩＤによって、受信すべきフレームを受信する。図の例の場合、ノード１０１はＩＤ２２２ｈのフレームを受信し、ノード１０２はＩＤ３３３ｈのフレームを受信し、ノード１０３はＩＤ１１１ｈ，ＩＤ２２２ｈのフレームを受信する。
【０００７】
なお、所望のエラー・メッセージを送出することで、各種エラー検知および復帰等を含む処理動作を検証することができるエラー・メッセージ送信装置が提案されている（例えば、特許文献１参照）。また、メッセージに含まれ、通信ネットワークを介して通信手段に送信され得る識別子の関連性テストに関して、最小数のフィルタマスクを決定するフィルタマスク決定方法が提案されている（例えば、特許文献２参照）。
【特許文献１】特開２００２−７３４３０号公報
【特許文献２】特開２００２−３７４２６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、従来では、ノードがフレームを受信できなくなったとき、そのノードは、通信相手のノードが異常を発生してフレームを送信できないためにフレームを受信できないのか、自身に異常が発生してフレームを受信できないのか判断することができないという問題点があった。
【０００９】
例えば、図１３において、ノード１０２はＩＤ３３３ｈのフレームを受信できなくなったとする。この場合、ノード１０２は、ノード１０３が異常を発生してＩＤ３３３ｈのフレームを送信できないためにＩＤ３３３ｈのフレームを受信できないのか、自身に異常が発生してＩＤ３３３ｈのフレームを受信できないのか判断することができない。
【００１０】
本発明はこのような点に鑑みてなされたものであり、ＣＡＮバスに接続されているノードにおいて、自身に異常が発生しているのか、通信相手のノードに異常が発生しているのか特定することができるノードの異常判定方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明では上記問題を解決するために、ＣＡＮバスに接続されたノードの異常判定方法において、ＣＡＮ通信監視装置から送信される異常判定用フレームと他のノードから送信される通常フレームとの受信状況に基づいて異常ノードを特定することを特徴とするノードの異常判定方法が提供される。
【００１２】
このようなノードの異常判定方法によれば、ＣＡＮバスに接続されているノードは、異常判定用フレームと通常フレームとの受信状況に基づいて異常ノードを特定する。
【発明の効果】
【００１３】
本発明のノードの異常判定方法では、ＣＡＮバスに接続されているノードは、異常判定用フレームと通常フレームの受信状況に基づいて異常ノードを特定し、自身に異常が発生しているのか、通信相手のノードに異常が発生しているのか特定することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
図１は、ＣＡＮ通信監視装置を適用したシステム構成例を示した図である。図に示すＣＡＮ通信監視装置１０およびノード２１〜２３は、ＣＡＮバス３１に接続されており、ＣＡＮ通信プロトコルに従って通信する。ノード２１〜２３は、例えば、エンジン、ブレーキ、メータを制御する電子制御ユニットであり、車両を制御している。
【００１５】
ノード２１〜２３は、フレームを送信するとき、予め決められている固有のＩＤをフレームに含めて送信する。図の例の場合、ノード２１はＩＤ１１１ｈのフレームを送信し、ノード２２はＩＤ２２２ｈのフレームを送信し、ノード２３はＩＤ３３３ｈのフレームを送信する。
【００１６】
また、各ノード２１〜２３は、フレームに含まれているＩＤによって、受信すべきフレームを受信する。図の例の場合、ノード２１はＩＤ２２２ｈ，ＩＤｘｘｘｈのフレームを受信し、ノード２２はＩＤ３３３ｈ，ＩＤｘｘｘｈのフレームを受信し、ノード２３はＩＤ１１１ｈ，ＩＤ２２２ｈ，ＩＤｘｘｘｈのフレームを受信する。
【００１７】
ＩＤｘｘｘｈは、ＣＡＮ通信監視装置１０が送信するフレーム（異常判定用フレーム、以下、通知フレーム）のＩＤである。ＣＡＮバス３１に接続されている全てのノード２１〜２３は、ＣＡＮ通信監視装置１０の通知フレームを受信するように設定されている。また、通知フレームのＩＤ‘ｘｘｘ’は、予め任意に決められた値である。例えば、‘ｘｘｘ’は、設計時において、ＣＡＮバス３１に接続されるノード２１〜２３と重複しないように決められる。
【００１８】
ＣＡＮ通信監視装置１０は、システム上で使用されるフレームの全ＩＤが設定される。すなわち、ＣＡＮ通信監視装置１０は、ＣＡＮバス３１上に送出されるフレームを全て受信できるように設定される。
【００１９】
ＣＡＮ通信監視装置１０は、ノード２１〜２３からＣＡＮバス３１に送出されるフレームを監視し、途絶判定をフレーム単位で行う。例えば、ＣＡＮ通信監視装置１０は、ＩＤ３３３ｈのフレームを所定時間経過しても受信しなかった場合、ＩＤ３３３ｈのフレームは、途絶していると判断する。ＣＡＮ通信監視装置１０は、途絶判定の結果を、通知フレームに含めて、周期的に各ノード２１〜２３に送信する。
【００２０】
ノード２１〜２３は、上述したように、ＣＡＮ通信監視装置１０の通知フレームを受信するように設定されている。各ノード２１〜２３は、他のノードから送信されるフレームとＣＡＮ通信監視装置１０から送信される通知フレームの受信状況に基づいて、通信相手のノード２１〜２３の異常または自身の異常を判断する。
【００２１】
例えば、ノード２２は、ＩＤ３３３ｈのフレーム（ノード２３のフレーム）と通知フレームとを所定時間受信できなかったとする。この場合、ノード２２は、自身に故障や設計ミスなどの異常が発生していると判断する。
【００２２】
これに対し、ノード２２は、通知フレームは受信できたが、ＩＤ３３３ｈのフレームを受信できなかった場合、通知フレームの示す途絶判定に応じて、異常を発生しているノードを特定する。具体的には、通知フレームが、ＩＤ３３３ｈのフレームは途絶している旨を示している場合、ノード２２は、ノード２３が異常を発生していると判断する。すなわち、ノード２２は、通知フレームを受信でき、ＩＤ３３３ｈのフレームを受信できなかった場合、ノード２３に異常が発生していると判断できるが、この判断と、通知フレームの途絶判定とが一致した場合に、ノード２３に異常が発生していると特定する。これによって、ノードの異常判定の誤判定を抑制することができる。通知フレームの途絶判定結果と一致しなかった場合は、ノード２３は異常を発生し、自身のフレーム受信にも異常が発生していると判断する。
【００２３】
また、ノード２１〜２３は、ＣＡＮ通信監視装置１０から送信される通知フレームによって、自身がフレームを送信できていないことを判断する。例えば、ノード２２は、故障や設計ミスによって、フレームを送信できないとする。この場合、ＣＡＮ通信監視装置１０は、ＩＤ２２２ｈのフレームを受信できず、ノード２２は途絶していると判断し、その途絶判定の結果を通知フレームに含めて各ノード２１〜２３に送信する。ノード２２は、通知フレームに含まれる途絶判定の結果により、自身がフレームを送信できていないことを判断できる。
【００２４】
このように、ＣＡＮ通信監視装置１０は、ＣＡＮバス３１に接続されているノード２１〜２３に対し、周期的に通知フレームを送信するようにし、ＣＡＮバス３１に接続されているノード２１〜２３は、通知フレームと通常のフレームの受信状況に基づいて異常ノードを特定することができる。
【００２５】
また、ノードは、自身で判断した途絶結果と、通知フレームで示される途絶結果とを比較することによって、異常を発生しているノードを特定することにより、異常判定の誤判定を抑制することが可能となる。
【００２６】
さらに、ノードは、通知フレームによって、自身がフレームを送信できていないことを判断することができる。
なお、ＣＡＮ通信監視装置１０を独立してＣＡＮバス３１に接続しているが、ノード２１〜２３にＣＡＮ通信監視装置１０の機能を持たせるようにしてもよい。例えば、ノード２１がノード２２，２３からＣＡＮバス３１に送出されるフレームを監視し、通知フレームをＣＡＮバス３１に送出するようにしてもよい。
【００２７】
次に、ＣＡＮ通信監視装置１０のハードウェア構成例について説明する。
図２は、ＣＡＮ通信監視装置のハードウェア構成例を示した図である。図に示すようにＣＡＮ通信監視装置１０は、マイコン（マイクロコンピュータ）１０ａおよびＣＡＮトランシーバ１０ｂを有している。マイコン１０ａは、ＣＡＮ通信監視装置１０の装置全体を制御している。マイコン１０ａは、ＣＡＮトランシーバ１０ｂを介してＣＡＮバス３１からフレームを受信し、また、フレームをＣＡＮバス３１に出力する。ＣＡＮトランシーバ１０ｂは、２本のワイヤＣＡＮ−ＨＩ，ＣＡＮ−ＬＯで構成されるＣＡＮバス３１に接続される。
【００２８】
マイコン１０ａは、ＣＰＵ（Central Processing Unit）１０ａａ、ＲＡＭ（Random Access Memory）１０ａｂ、ＲＯＭ（Read Only Memory）１０ａｃ、およびＣＡＮコントローラ１０ａｄを有している。
【００２９】
ＲＡＭ１０ａｂには、ＣＰＵ１０ａａに実行させるＯＳ（Operating System）のプログラムやフレームを監視するためのアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０ａｂには、ＣＰＵ１０ａａによる処理に必要な各種データが保存される。ＲＯＭ１０ａｃには、ＯＳやアプリケーションプログラムが格納される。
【００３０】
ＣＡＮコントローラ１０ａｄには、ＣＰＵ１０ａａによって、送信するフレームがセットされる。セットされたフレームは、ＣＡＮトランシーバ１０ｂを介して、ＣＡＮバス３１に出力される。
【００３１】
また、ＣＡＮコントローラ１０ａｄは、ＣＰＵ１０ａａによって、受信すべきフレームのＩＤがセットされる。例えば、図１の例では、ＣＡＮバス３１にノード２１〜２３が接続されており、ＣＡＮバス３１には、ＩＤ１１１ｈ，ＩＤ２２２ｈ，ＩＤ３３３ｈのフレームが送出される。従って、ＣＡＮコントローラ１０ａｄには、ＩＤ１１１ｈ，ＩＤ２２２ｈ，ＩＤ３３３ｈがセットされる。
【００３２】
なお、ＣＡＮ通信監視装置１０のハードウェアは、図２に限るものではない。例えば、ＲＯＭおよびＲＡＭをマイコン１０ａの外部に接続するようにしてもよい。また、ノード２１〜２３も図２と同様のハードウェア構成例を有している。
【００３３】
次に、図２のハードウェア構成例によって実現されるＣＡＮ通信監視装置１０の機能について説明する。
図３は、ＣＡＮ通信監視装置の機能ブロック図である。図に示すようにＣＡＮ通信監視装置１０は、フレーム受信部１１、制御部１２、フレーム送信部１３、途絶フラグ１４ａ，１４ｂ，…，１４ｎ、および途絶カウンタ１５ａ，１５ｂ，…，１５ｎを有している。
【００３４】
フレーム受信部１１は、ＣＡＮバス３１に接続されているノード２１〜２３から送出されるフレーム（ＩＤ１１１ｈ，ＩＤ２２２ｈ，ＩＤ３３３ｈ）を受信する。
制御部１２は、受信されるフレーム数分の途絶フラグ１４ａ，１４ｂ，…，１４ｎを生成する。また、制御部１２は、受信されるフレーム数分の途絶カウンタ１５ａ，１５ｂ，…，１５ｎを生成する。途絶フラグ１４ａ，１４ｂ，…，１４ｎおよび途絶カウンタ１５ａ，１５ｂ，…，１５ｎは、受信されるフレームの識別子に対応するように生成される。
【００３５】
例えば、図１の例では、ＣＡＮ通信監視装置１０は、ノード２１〜２３から３つのフレーム（ＩＤ１１１ｈ，ＩＤ２２２ｈ，ＩＤ３３３ｈのフレーム）を受信するので、制御部１２は、３つの途絶フラグと途絶カウンタとを生成する。このとき、制御部１２は、ＩＤ１１１ｈのフレーム（ノード２１が送出するフレーム）に対応するように途絶フラグ１４ａを生成する。また、制御部１２は、ＩＤ２２２ｈのフレーム（ノード２２が送出するフレーム）に対応するように途絶フラグ１４ｂを生成する。また、制御部１２は、ＩＤ３３３ｈのフレーム（ノード２３が送出するフレーム）に対応するように３つ目の途絶フラグを生成する。同様に、制御部１２は、受信されるフレームに対応するように途絶カウンタを生成する。
【００３６】
制御部１２は、途絶カウンタ１５ａ，１５ｂ，…，１５ｎを生成すると、途絶カウンタ１５ａ，１５ｂ，…，１５ｎのカウントを開始する。そして、制御部１２は、フレーム受信部１１によってフレームが受信されると、そのフレームに対応する途絶カウンタ１５ａ，１５ｂ，…，１５ｎをリセットし、再びカウントを開始する。すなわち、制御部１２は、途絶カウンタ１５ａ，１５ｂ，…，１５ｎによって、フレームの受信周期をカウントしている。
【００３７】
また、制御部１２は、周期的に途絶判定処理を行う。制御部１２は、途絶判定処理において、各途絶カウンタ１５ａ，１５ｂ，…，１５ｎのカウント値が途絶判定値を超えていないか否か判断する。すなわち、制御部１２は、フレームがノード２１〜２３から所定時間ごとに送出されているか否か判断する。制御部１２は、フレームが所定時間ごとに送出されていないと判断すると、そのフレームに対応する途絶フラグ１４ａ，１４ｂ，…，１４ｎをオン（例えば、‘１’）にする。
【００３８】
また、制御部１２は、周期的にフレーム送信処理を行う。制御部１２は、フレーム送信処理において、途絶フラグ１４ａ，１４ｂ，…，１４ｎを参照し、フレームを途絶しているノード２１〜２３を判断する。例えば、途絶フラグ１４ａがオンしているとする。この場合、上記例より、途絶フラグ１４ａはノード２１が対応しているので、ノード２１のフレームが途絶していると判断する。制御部１２は、途絶しているノード２１〜２３の途絶情報を含めた、ＩＤｘｘｘｈの通知フレームを生成する。
【００３９】
フレーム送信部１３は、制御部１２によって生成された通知フレームをＣＡＮバス３１に送出する。
なお、ノード２１〜２３が送出するフレームの送出周期は一定である。例えば、数ｍ〜数十ｍｓｅｃである。従って、上記の途絶判定値は、これらの送出周期より大きくする必要がある。また、上記の途絶判定処理は、例えば、数百ｍｓｅｃごとに行うようにする。また、上記のフレーム送信処理は、例えば、１ｓｅｃごとに行うようにする。
【００４０】
次に、フレーム送信処理で生成される通知フレームのデータ構成例について説明する。
図４は、通知フレームのデータ構成例を示した図である。図に示すように通知フレーム４１は、ＩＤ、コントロール（ＣＯＮＴ）、およびデータ（Ｄａｔａ）のフィールドを有している。
【００４１】
ＩＤのフィールドには、固有の値（ｘｘｘｈ）が格納される。なお、ＩＤは、通知フレーム４１の優先順も表している。
コントロールフィールドには、ＤＬＣが含まれている。ＤＬＣは、後ろに続くデータフィールドのバイト数（１〜８バイト）を示す。
【００４２】
データフィールドには、ノード２１〜２３の送信するフレームの途絶情報が格納される。データフィールドの各ビットは、ノード２１〜２３の送信するフレームが割当てられており、例えば、１ビット目は、ＩＤ１１１ｈのフレームの途絶情報、２ビット目は、ＩＤ２２２ｈのフレームの途絶情報、３ビット目は、ＩＤ３３３ｈのフレームの途絶情報が格納される。これによって、各ノード２１〜２３は、通知フレーム４１のデータフィールドの自身に対応するビットを参照することによって、どのノード２１〜２３が途絶し、また、自身のフレームの送信が途絶しているか判断することができる。
【００４３】
次に、ＣＡＮ通信監視装置１０の制御状態について説明する。
図５は、ＣＡＮ通信監視装置の制御状態図である。図には、ＣＡＮ通信監視装置１０が電源をオンされたとき、または、リセットされたとき（初期状態の要求があったとき）の状態ＳＴ１、ノード２１〜２３がフレームの途絶を生じていないときの状態ＳＴ２、およびノード２１〜２３がフレームの途絶を生じたときの状態ＳＴ３を示している。
【００４４】
ＣＡＮ通信監視装置１０は、図に示すように、電源がオンされたとき、または、リセットされたとき（初期状態要求があったとき）、状態ＳＴ１の状態にある。ＣＡＮ通信監視装置１０は、状態ＳＴ１にあるとき、途絶フラグ１４ａ，１４ｂ，…，１４ｎをオフに初期化し、また、途絶カウンタ１５ａ，１５ｂ，…，１５ｎを、例えば、‘０’に初期化する。そして、ＣＡＮ通信監視装置１０は、途絶カウンタ１５ａ，１５ｂ，…，１５ｎのカウントを開始し、状態ＳＴ２に移る。
【００４５】
ＣＡＮ通信監視装置１０は、状態ＳＴ２において、ノード２１〜２３からフレームを受信する受信処理（割り込み処理）を行い、また、定期的に途絶判定処理およびフレーム送信処理を行う。ＣＡＮ通信監視装置１０は、途絶判定処理において、途絶カウンタ１５ａ，１５ｂ，…，１５ｎのカウント値が途絶判定値を超えると、状態ＳＴ３へ移る。
【００４６】
ＣＡＮ通信監視装置１０は、状態ＳＴ３においても、定期的に途絶判定処理およびフレーム送信処理を行う。そして、ＣＡＮ通信監視装置１０は、ノード２１〜２３がフレームの途絶を発生しない状態になると、状態ＳＴ２に移り、途絶判定処理およびフレーム送信処理を行う。
【００４７】
なお、状態ＳＴ２，３において、電源オフまたは初期状態要求があると、状態ＳＴ１に移る。
次に、ノード２１の機能について説明する。
【００４８】
図６は、ノードの機能ブロック図である。図に示すようにノード２１は、フレーム受信部２１ａ、制御部２１ｂ、フレーム送信部２１ｃ、途絶フラグ２１ｄａ，２１ｄｂ，…，２１ｄｎ、および途絶カウンタ２１ｅａ，２１ｅｂ，…，２１ｅｎを有している。
【００４９】
フレーム受信部２１ａは、ＣＡＮバス３１に送出される所定のＩＤ（ＩＤ２２２ｈ，ＩＤｘｘｘｈ）のフレームを受信する。
途絶フラグ２１ｄａ，２１ｄｂ，…，２１ｄｎ、および途絶カウンタ２１ｅａ，２１ｅｂ，…，２１ｅｎは、ＣＡＮ通信監視装置１０の途絶フラグ１４ａ，１４ｂ，…，１４ｎ、および途絶カウンタ１５ａ，１５ｂ，…，１５ｎと同様に、制御部２１ｂによって、受信されるフレームの識別子に対応するように生成される。
【００５０】
制御部２１ｂは、途絶カウンタ２１ｅａ，２１ｅｂ，…，２１ｅｎを生成すると、途絶カウンタ２１ｅａ，２１ｅｂ，…，２１ｅｎのカウントを開始する。そして、制御部２１ｂは、フレーム受信部２１ａによってフレームが受信されると、そのフレームに対応する途絶カウンタ２１ｅａ，２１ｅｂ，…，２１ｅｎをリセットし、再びカウントを開始する。
【００５１】
制御部２１ｂは、周期的に異常判定処理を行う。制御部２１ｂは、異常判定処理において、各途絶カウンタ２１ｅａ，２１ｅｂ，…，２１ｅｎのカウント値が途絶判定値を超えていないか否か判断する。すなわち、制御部２１ｂは、途絶カウンタ２１ｅａ，２１ｅｂ，…，２１ｅｎによって、通知フレームおよびノード２２，２３からのフレームが途絶していないか判断する。
【００５２】
制御部２１ｂは、途絶カウンタ２１ｅａ，２１ｅｂ，…，２１ｅｎによって、通知フレームが途絶し、他のノードのフレームも途絶していると判断した場合、自身のフレームの受信に異常が発生していると判断する。
【００５３】
これに対し、制御部２１ｂは、通知フレームは途絶していないが、他のノードからのフレームが途絶していると判断した場合、途絶していると判断したフレームと、通知フレームで示されている途絶しているフレームとが一致するか否か判断する。途絶しているフレームが一致している場合、そのフレームは途絶していると判断する。一方、途絶しているフレームが一致しない場合、通知フレームで示されているフレームは、途絶していると判断し、さらに、自身のフレームの受信に異常が発生していると判断する。そして、制御部２１ｂは、途絶していると判断したフレームに対応する途絶フラグ１４ａ，１４ｂ，…，１４ｎをオンにする。
【００５４】
例えば、制御部２１ｂは、ノード２２のフレームが途絶していると判断したとする。また、受信した通知フレームは、ノード２２のフレームが途絶していると示していたとする。この場合、自身で判断した途絶したフレームと、通知フレームで示されている途絶しているフレームとが一致するので、制御部２１ｂは、ノード２２のフレームが途絶していると判断する。これに対し、制御部２１ｂが判断した途絶しているフレームと、通知フレームによる途絶しているフレームとが一致しなかった場合は、通知フレームが示すフレームは途絶していると判断し、さらに、自身のフレームの受信にも異常が発生していると判断する。
【００５５】
また、制御部２１ｂは、ＣＡＮ通信監視装置１０から受信した通知フレームによって、自身のフレームの送信に異常が発生しているのか否か判断する。例えば、受信した通知フレームに、ノード２１のフレームが途絶している旨が示されていれば、制御部２１ｂは、自身のフレームの送信に異常が発生していると判断する。
【００５６】
また、制御部２１ｂは、周期的にフレーム送信処理を行う。制御部１２は、フレーム送信処理において、途絶フラグ１４ａ，１４ｂ，…，１４ｎを参照し、フレーム送信が途絶しているノード２２，２３を判断する。そして、フレームが途絶したノード２２，２３の情報または自身のフレームの送受信に異常がある旨の情報を含むフレーム（通知フレーム）を、例えば、ＣＡＮバス３１に接続されるダイアグ装置などに送信する。これにより、ユーザは、ダイアグ装置によって、どのノードに異常が発生しているのか容易に判断することができる。
【００５７】
フレーム送信部２１ｃは、制御部２１ｂによって生成された通知フレームをＣＡＮバス３１に送出する。
なお、上記では、ノード２１の機能について説明したが、ノード２２，２３も図６と同様の機能を有する。
【００５８】
以下、ＣＡＮ通信監視装置１０およびノード２１の動作を、フローチャートを用いて説明する。まず、ＣＡＮ通信監視装置１０の動作を、フローチャートを用いて説明する。
図７は、ＣＡＮ通信監視装置の初期化処理のフローチャートである。
【００５９】
［ステップＳ１］ＣＡＮ通信監視装置１０のフレーム受信部１１は、受信すべきフレームの仕様を設定する。例えば、受信すべきフレームのＩＤ、ＤＬＣ、通信周期が設定される。なお、通信周期には、定周期で通信を行う定期フレームと、定周期で通信を行わないイベントフレームとがある。ここでは、定期フレームが設定される。また、受信すべきフレームの仕様は、設計時などにおいて予め知ることができ、予めＲＯＭ１０ａｃなどに格納されている。
【００６０】
［ステップＳ２］ＣＡＮ通信監視装置１０の制御部１２は、受信すべきフレーム数分の途絶フラグ１４ａ，１４ｂ，…，１４ｎおよび途絶カウンタ１５ａ，１５ｂ，…，１５ｎを生成する。そして、ＣＡＮ通信監視装置１０の制御部１２は、途絶フラグ１４ａ，１４ｂ，…，１４ｎをオフに初期化し、途絶カウンタ１５ａ，１５ｂ，…，１５ｎを、例えば、‘０’にクリアする。なお、図１の例の場合、途絶フラグ１４ａ，１４ｂ，…，１４ｎおよび途絶カウンタ１５ａ，１５ｂ，…，１５ｎは、ＩＤ１１１ｈ，ＩＤ２２２ｈ，ＩＤ３３３ｈの３つ分生成されることになる。
【００６１】
このように、ＣＡＮ通信監視装置１０は、初期化処理を行う。
次に、ＣＡＮ通信監視装置１０のフレーム受信処理について説明する。
図８は、ＣＡＮ通信監視装置のフレーム受信処理のフローチャートである。
【００６２】
［ステップＳ１１］ＣＡＮ通信監視装置１０のフレーム受信部１１は、初期化処理で設定されたＩＤのフレームをＣＡＮバス３１から受信する。
［ステップＳ１２］ＣＡＮ通信監視装置１０の制御部１２は、途絶カウンタ１５ａ，１５ｂ，…，１５ｎを、例えば、‘０’にリセットし、カウントを開始する。
【００６３】
このように、ＣＡＮ通信監視装置１０は、フレームを受信すると、途絶カウンタ１５ａ，１５ｂ，…，１５ｎをリセットし、カウントを開始する。
次に、ＣＡＮ通信監視装置１０の途絶判定処理について説明する。
【００６４】
図９は、ＣＡＮ通信監視装置の途絶判定処理のフローチャートである。ＣＡＮ通信監視装置１０は、図に示す途絶判定処理を周期的に行う。ＣＡＮ通信監視装置１０は、受信すべきフレームの識別子数分、ループＬ１，Ｌ２の間の処理をループ処理する。
【００６５】
［ステップＳ２１］ＣＡＮ通信監視装置１０の制御部１２は、途絶カウンタ１５ａ，１５ｂ，…，１５ｎのカウント値が、途絶判定値以上であるか否か判断する。途絶カウンタ１５ａ，１５ｂ，…，１５ｎのカウント値が途絶判定値以上である場合、ステップＳ２２の処理へ進む。途絶カウンタ１５ａ，１５ｂ，…，１５ｎのカウント値が途絶判定値より小さければ、ループ処理を続行する。
【００６６】
なお、ループ処理ごとに、途絶カウンタ１５ａ，１５ｂ，…，１５ｎを１つずつ、途絶判定値以上であるか否か判断を行う。具体的には、１回目のループ処理では、途絶カウンタ１５ａにおいて途絶判定値以上であるか否か判断し、２回目のループ処理で途絶カウンタ１５ｂにおいて途絶判定値以上であるか否か判断する。
【００６７】
［ステップＳ２２］ＣＡＮ通信監視装置１０の制御部１２は、途絶カウンタ１５ａ，１５ｂ，…，１５ｎに対応する、途絶フラグ２１ｄａ，２１ｄｂ，…，２１ｄｎをオンする。
【００６８】
このように、ＣＡＮ通信監視装置１０は、ノード２１〜２３からフレームが所定時間ごとに送出されているか否か判断し、所定時間ごとに送出されていなければ、対応するフレームの途絶フラグ２１ｄａ，２１ｄｂ，…，２１ｄｎをオンする。
【００６９】
次に、ＣＡＮ通信監視装置１０のフレーム送信処理について説明する。
図１０は、ＣＡＮ通信監視装置のフレーム送信処理のフローチャートである。ＣＡＮ通信監視装置１０は、図に示すフレーム送信処理を周期的に行う。ＣＡＮ通信監視装置１０は、受信すべきフレームの識別子数分、ループＬ１１，Ｌ１２の間の処理をループ処理する。
【００７０】
［ステップＳ３１］ＣＡＮ通信監視装置１０の制御部１２は、途絶フラグ１４ａ，１４ｂ，…，１４ｎがオンであるか否か判断する。途絶フラグ１４ａ，１４ｂ，…，１４ｎがオンである場合、ステップＳ３２の処理へ進む。途絶フラグ１４ａ，１４ｂ，…，１４ｎがオフであれば、ループ処理を続行する。
【００７１】
なお、ループ処理ごとに、途絶フラグ１４ａ，１４ｂ，…，１４ｎを１つずつ、オンであるか否か判断を行う。具体的には、１回目のループ処理では、途絶フラグ１４ａにおいてオンであるか否か判断し、２回目のループ処理で途絶フラグ１４ｂにおいてオンであるか否か判断する。
【００７２】
［ステップＳ３２］ＣＡＮ通信監視装置１０の制御部１２は、途絶しているフレームの途絶情報を含めた通知フレームを生成する。
［ステップＳ３３］ＣＡＮ通信監視装置１０のフレーム送信部１３は、通知フレームを周期的にノード２１〜２３に送信するため、送信するタイミングになったか否か判断する。送信タイミングになれば、ステップＳ３４へ進む。
【００７３】
［ステップＳ３４］ＣＡＮ通信監視装置１０のフレーム送信部１３は、通知フレームをノード２１〜２３に送信する。
このように、ＣＡＮ通信監視装置１０は、ノード２１〜２３から送信されるフレームが途絶しているか否か判断して通知フレームを生成し、ノード２１〜２３に送信する。
【００７４】
次に、ノード２１の動作について説明する。
図１１は、ノードの送信異常判定処理のフローチャートである。
［ステップＳ４１］ノード２１のフレーム受信部２１ａは、自身が受信すべきフレームを受信する。
【００７５】
［ステップＳ４２］ノード２１の制御部２１ｂは、受信するフレーム数分の途絶フラグ２１ｄａ，２１ｄｂ，…，２１ｄｎおよび途絶カウンタ２１ｅａ，２１ｅｂ，…，２１ｅｎをリセットする。
【００７６】
［ステップＳ４３］ノード２１の制御部２１ｂは、フレーム受信部２１ａによって受信されたフレームが通知フレームであるか否か判断する。通知フレームである場合、ステップＳ４４へ進む。通知フレームでない場合、処理を終了する。
【００７７】
［ステップＳ４４］ノード２１の制御部２１ｂは、受信された通知フレームにおいて、自身が途絶判定されているか否か判断する。途絶判定されている場合、ステップＳ４５へ進む。途絶判定されていない場合、処理を終了する。
【００７８】
［ステップＳ４５］ノード２１の制御部２１ｂは、自身のフレームの送信に異常があると判断する。
このように、ノード２１は、ＣＡＮ通信監視装置１０からの通知フレームによって、自身のフレームの送信処理に異常があるか否か判断する。
【００７９】
なお、上記では、ノード２１について説明したが、ノード２２，２３も同様の処理を行って、自身のフレームの送信に異常があるか否か判断する。
次に、ノード２１の異常判定処理について説明する。
【００８０】
図１２は、ノードの異常判定処理のフローチャートである。ノード２１は、図に示す異常判定処理を周期的に行う。ノード２１は、受信すべきフレームの識別子数分、ループＬ２１，Ｌ２２の間の処理をループ処理する。
【００８１】
［ステップＳ５１］ノード２１の制御部２１ｂは、途絶カウンタ２１ｅａ，２１ｅｂ，…，２１ｅｎが途絶判定値以上であるか否か判断する。途絶カウンタ２１ｅａ，２１ｅｂ，…，２１ｅｎが途絶判定値以上であれば、ステップＳ５２へ進む。途絶カウンタ２１ｅａ，２１ｅｂ，…，２１ｅｎが途絶判定値より小さければ、ループＬ２１，Ｌ２２を繰り返す。
【００８２】
なお、ループ処理ごとに、途絶カウンタ２１ｅａ，２１ｅｂ，…，２１ｅｎを１つずつ、途絶判定値以上であるか否か判断を行う。具体的には、１回目のループ処理では、途絶カウンタ２１ｅａにおいて途絶判定値以上であるか否か判断し、２回目のループ処理で途絶カウンタ２１ｅｂにおいて途絶判定値以上であるか否か判断する。
【００８３】
［ステップＳ５２］ノード２１の制御部２１ｂは、通知フレームに対応する途絶カウンタ２１ｅａ，２１ｅｂ，…，２１ｅｎが途絶判定値以上であるか否か判断する。つまり、ノード２１の制御部２１ｂは、ＣＡＮ通信監視装置１０からの通知フレームが途絶していないか否か判断する。ＣＡＮ通信監視装置１０からの通知フレームが途絶していなければ、ステップＳ５４へ進む。ＣＡＮ通信監視装置１０からの通知フレームが途絶していれば、ステップＳ５３へ進む。
【００８４】
［ステップＳ５３］ノード２１の制御部２１ｂは、自身のフレーム受信に異常があると判断する。
［ステップＳ５４］ノード２１の制御部２１ｂは、途絶判定値を超えた途絶カウンタ２１ｅａ，２１ｅｂ，…，２１ｅｎに対応するフレームと、通知フレームで示されている途絶しているフレームとが一致するか否か判断する。途絶しているフレームが一致する場合、そのフレームは途絶していると判断し、途絶カウンタ２１ｅａ，２１ｅｂ，…，２１ｅｎに対応する途絶フラグ１４ａ，１４ｂ，…，１４ｎをオンにする。これに対し、途絶しているフレームが一致しない場合、通知フレームが示すフレームは途絶していると判断して途絶カウンタ２１ｅａ，２１ｅｂ，…，２１ｅｎに対応する途絶フラグ１４ａ，１４ｂ，…，１４ｎをオンし、さらに、自身のフレーム受信に異常があると判断する。
【００８５】
これにより、ノード２１は、途絶フラグ１４ａ，１４ｂ，…，１４ｎを参照することにより、どのノード２２，２３のフレームが途絶しているか認識することができる。そして、例えば、ＣＡＮバス３１に接続されるダイアグ装置などに、自身のフレームの受信異常またはどのノード２２，２３のフレームが途絶しているかを通知することができる。
【００８６】
このように、ノード２１は、自身に異常が発生しているのか、他のノード２２，２３に異常が発生しているのかを判断することができる。
また、自身で判断した途絶しているフレームと、通知フレームで示される途絶しているフレームとを比較することによって、異常判定の誤判定を抑制することが可能となる。
【００８７】
なお、上記では、ノード２１について説明したが、ノード２２，２３も同様の処理を行って、自身に異常が発生しているのか、他のノードに異常が発生しているのか判断する。
【図面の簡単な説明】
【００８８】
【図１】ＣＡＮ通信監視装置を適用したシステム構成例を示した図である。
【図２】ＣＡＮ通信監視装置のハードウェア構成例を示した図である。
【図３】ＣＡＮ通信監視装置の機能ブロック図である。
【図４】通知フレームのデータ構成例を示した図である。
【図５】ＣＡＮ通信監視装置の制御状態図である。
【図６】ノードの機能ブロック図である。
【図７】ＣＡＮ通信監視装置の初期化処理のフローチャートである。
【図８】ＣＡＮ通信監視装置のフレーム受信処理のフローチャートである。
【図９】ＣＡＮ通信監視装置の途絶判定処理のフローチャートである。
【図１０】ＣＡＮ通信監視装置のフレーム送信処理のフローチャートである。
【図１１】ノードの送信異常判定処理のフローチャートである。
【図１２】ノードの異常判定処理のフローチャートである。
【図１３】ＣＡＮ通信プロトコルによるネットワークの一例を示したシステム図である。
【符号の説明】
【００８９】
１０  ＣＡＮ通信監視装置
２１〜２３  ノード
３１  ＣＡＮバス
【図１】
2007195040.tif 000003
【図２】
2007195040.tif 000004
【図３】
2007195040.tif 000005
【図４】
2007195040.tif 000006
【図５】
2007195040.tif 000007
【図６】
2007195040.tif 000008
【図７】
2007195040.tif 000009
【図８】
2007195040.tif 000010
【図９】
2007195040.tif 000011
【図１０】
2007195040.tif 000012
【図１１】
2007195040.tif 000013
【図１２】
2007195040.tif 000014
【図１３】
2007195040.tif 000015