(57)【特許請求の範囲】
【請求項１】
共通の通信線を介して接続され、ＣＡＮ（Controller Area Network）プロトコルに従って通信を行う複数の通信装置を備えるＣＡＮ通信システムにおいて、
前記通信線に接続されて、前記通信装置が送信したメッセージにエラーが含まれるか否かを判定するエラー判定部と、該エラー判定部がメッセージにエラーが含まれていると判定した場合に、該メッセージのエラーに係る情報を記録するエラー情報記録部と、前記エラー判定部がメッセージにエラーが含まれていると判定した場合に行うエラー処理の内容を、メッセージに付される識別情報毎に記憶したエラー処理内容記憶部と、該エラー処理内容記憶部が記憶した内容に基づいてエラー処理を行うエラー処理部とを有するエラー情報記録装置を備えること
を特徴とするＣＡＮ通信システム。
【請求項２】
前記エラー情報記録部が記録する情報には、メッセージに付された識別情報を含むこと
を特徴とする請求項１に記載のＣＡＮ通信システム。
【請求項３】
前記エラー情報記録部が記録する情報には、エラー発生に係る時刻情報、メッセージのペイロード、該ペイロードのサイズ、エラー種別、又は、メッセージにおけるエラー箇所のうちの少なくとも１つの情報を含むこと
を特徴とする請求項２に記載のＣＡＮ通信システム。
【請求項４】
前記エラー処理内容記憶部は、エラー処理を行う条件を記憶しており、
前記エラー処理部は、前記エラー判定部がメッセージにエラーが含まれていると判定し、且つ、前記エラー処理内容記憶部が記憶した条件が満たされた場合に、エラー処理を行うようにしてあること
を特徴とする請求項１乃至請求項３のいずれか１つに記載のＣＡＮ通信システム。
【請求項５】
前記エラー情報記録装置は、
ＣＡＮプロトコルに従ったメッセージの送受信を行うと共に、前記エラー判定部を有するＣＡＮコントローラと、
前記エラー情報記録部に対して情報を記録する処理を行うプロセッサと
を有し、
前記ＣＡＮコントローラは、前記エラー判定部がメッセージにエラーが含まれていると判定した場合に、該メッセージに付された識別情報を前記プロセッサへ通知するようにしてあり、
前記プロセッサは、前記ＣＡＮコントローラから通知された情報を前記エラー情報記録部に対して記録するようにしてあること
を特徴とする請求項１乃至請求項４のいずれか１つに記載のＣＡＮ通信システム。
【請求項６】
ＣＡＮ（Controller Area Network）プロトコルに従って通信を行う複数の通信装置が接続された共通の通信線に接続され、
前記通信装置が送信したメッセージにエラーが含まれるか否かを判定するエラー判定部と、
該エラー判定部がメッセージにエラーが含まれていると判定した場合に、該メッセージのエラーに係る情報を記録するエラー情報記録部と、
前記エラー判定部がメッセージにエラーが含まれていると判定した場合に行うエラー処理の内容を、メッセージに付される識別情報毎に記憶したエラー処理内容記憶部と、
該エラー処理内容記憶部が記憶した内容に基づいてエラー処理を行うエラー処理部と
を備えること
を特徴とするエラー情報記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信装置がＣＡＮプロトコルに従った通信を行う通信システム、及び通信装置による通信を監視するエラー情報記録装置に関する。
【背景技術】
【０００２】
従来、車両に搭載された複数のＥＣＵ（Electronic Control Unit）間の通信には、ＣＡＮの通信プロトコルが広く採用されている。ＣＡＮの通信プロトコルを採用した通信システムは、複数のＥＣＵが共通のＣＡＮバスに接続された構成となり、送信側のＥＣＵがＣＡＮバスへ出力した信号を受信側のＥＣＵが取得することによってメッセージの送受信が行われる。このような通信システムにおいて、通信に何らかのエラーが発生した場合にどのように対処するかについて、様々な提案がなされている。
【０００３】
例えば特許文献１においては、ＣＡＮバスの状態を監視してエラーワーニング、エラーパッシブ又はバスオフのいずれかの異常状態を検出した場合に、仮故障判定フラグをセットして継続故障判定タイマを作動させ、その後にエラーアクティブ状態を連続して２回検出することなく故障判定時間が経過した場合に、故障確定を示す故障確定フラグをセットしてリンプホーム機能に入る通信故障診断装置が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３４８２７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＣＡＮの通信プロトコルを採用した既存の通信システムでは、通信にエラーが発生した場合に、いずれのメッセージ送信中にエラーが発生したのかを知ることができるのはこのメッセージの送信元の通信装置のみである。このため、通信システムに不具合などが発生した場合、いずれのメッセージ送受信においてエラーが発生したかを調査するためには、通信システムに含まれる全ての通信装置の不具合を調べる必要があり、不具合の原因特定が困難であった。特許文献１に記載の通信故障診断装置についても、この問題を解決し得るものではない。
【０００６】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、通信にエラーが発生した場合に、その原因の特定を容易化することが期待できるＣＡＮ通信システム及びエラー情報記録装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係るＣＡＮ通信システムは、共通の通信線を介して接続され、ＣＡＮ（Controller Area Network）プロトコルに従って通信を行う複数の通信装置を備えるＣＡＮ通信システムにおいて、前記通信線に接続されて、前記通信装置が送信したメッセージにエラーが含まれるか否かを判定するエラー判定部と、該エラー判定部がメッセージにエラーが含まれていると判定した場合に、該メッセージのエラーに係る情報を記録するエラー情報記録部と、前記エラー判定部がメッセージにエラーが含まれていると判定した場合に行うエラー処理の内容を、メッセージに付される識別情報毎に記憶したエラー処理内容記憶部と、該エラー処理内容記憶部が記憶した内容に基づいてエラー処理を行うエラー処理部とを有するエラー情報記録装置を備えることを特徴とする。
【０００８】
また、本発明に係るＣＡＮ通信システムは、前記エラー情報記録部が記録する情報には、メッセージに付された識別情報を含むことを特徴とする。
【０００９】
また、本発明に係るＣＡＮ通信システムは、前記エラー情報記録部が記録する情報には、エラー発生に係る時刻情報、メッセージのペイロード、該ペイロードのサイズ、エラー種別、又は、メッセージにおけるエラー箇所のうちの少なくとも１つの情報を含むことを特徴とする。
【００１１】
また、本発明に係るＣＡＮ通信システムは、前記エラー処理内容記憶部が、エラー処理を行う条件を記憶しており、前記エラー処理部は、前記エラー判定部がメッセージにエラーが含まれていると判定し、且つ、前記エラー処理内容記憶部が記憶した条件が満たされた場合に、エラー処理を行うようにしてあることを特徴とする。
【００１２】
また、本発明に係るＣＡＮ通信システムは、前記エラー情報記録装置が、ＣＡＮプロトコルに従ったメッセージの送受信を行うと共に、前記エラー判定部を有するＣＡＮコントローラと、前記エラー情報記録部に対して情報を記録する処理を行うプロセッサとを有し、前記ＣＡＮコントローラは、前記エラー判定部がメッセージにエラーが含まれていると判定した場合に、該メッセージに付された識別情報を前記プロセッサへ通知するようにしてあり、前記プロセッサは、前記ＣＡＮコントローラから通知された情報を前記エラー情報記録部に対して記録するようにしてあることを特徴とする。
【００１３】
また、本発明に係るエラー情報記録装置は、ＣＡＮ（Controller Area Network）プロトコルに従って通信を行う複数の通信装置が接続された共通の通信線に接続され、前記通信装置が送信したメッセージにエラーが含まれるか否かを判定するエラー判定部と、該エラー判定部がメッセージにエラーが含まれていると判定した場合に、該メッセージのエラーに係る情報を記録するエラー情報記録部と、前記エラー判定部がメッセージにエラーが含まれていると判定した場合に行うエラー処理の内容を、メッセージに付される識別情報毎に記憶したエラー処理内容記憶部と、該エラー処理内容記憶部が記憶した内容に基づいてエラー処理を行うエラー処理部とを備えることを特徴とする。
【００１４】
本発明においては、複数の通信装置が通信を行う共通の通信線にエラー情報記録装置を接続し、通信装置がメッセージを送信した場合に、このメッセージにエラーが含まれるか否かを判定する。送信されたメッセージにエラーが含まれる場合、エラー情報記録装置は、このメッセージのエラーに係る情報を記録する。これによりエラー情報記録装置は、ＣＡＮ通信システムの全ての通信装置について、メッセージ送信のエラーに関する情報を記録しておくことができる。よってＣＡＮ通信システムに不具合が発生した場合などには、エラー情報記録装置が記録した情報を調べることによって、不具合の原因を特定し得る情報を取得することができる。
【００１５】
また本発明においては、エラー情報記録装置が記録しておく情報には、メッセージに付される識別情報（いわゆるＣＡＮ−ＩＤ）を含む。これによりエラーが発生したメッセージの送信元の通信装置の特定を容易化することができる。
【００１６】
また本発明においては、エラー情報記録装置が記録しておく情報には、エラー発生に係る時刻情報、メッセージのペイロード、ペイロードのサイズ、エラー種別又はエラー箇所のうちの少なくとも１つの情報を含む。これにより、エラー発生の原因などをより詳しく特定することが容易化される。
【００１７】
また本発明においては、エラー情報記録装置がメッセージの識別情報毎にエラー処理内容を記憶しておき、エラーが発生した場合には識別情報に応じたエラー処理を行う。例えばエラー情報記録装置は、無線通信などを利用して車両の外部の装置へエラー発生を通知する、車両内での警告メッセージ表示若しくは警告音声出力、又は、システムのシャットダウン等のエラー処理を行うことができる。エラー処理は、メッセージの識別情報毎に適切な処理内容を設定しておくことができる。
【００１８】
また本発明においては、エラー情報記録装置がエラー処理を行う条件を記憶しておき、エラーが発生し且つ記憶した条件が満たされた場合にエラー処理を行う。エラー処理の条件は、メッセージの識別情報毎に設定しておくことができる。これによりエラー情報記録装置は、単にエラーが発生した場合にエラー処理を行うのではなく、エラーの発生頻度又は発生状況等に応じてエラー処理を行うことが可能となる。
【００１９】
また本発明においては、ＣＡＮプロトコルに従う通信を行うＣＡＮコントローラと、種々の情報処理を行うプロセッサとをエラー情報記録装置が備える。ＣＡＮコントローラは、メッセージ送信にエラーが含まれているか否かの判定を行うことができ、エラーが含まれている場合にはメッセージに付された識別情報をプロセッサへ通知する。プロセッサは、ＣＡＮコントローラからエラーの発生を通知された場合に、通知された識別情報を含むエラー情報を記録する処理を行う。
従来のＣＡＮコントローラは、エラー発生時にプロセッサへ識別情報などの情報を通知する機能を有しておらず、プロセッサは自装置が送信したメッセージに発生したエラーに関する情報しか得ることができなかった。本発明のように、エラーが発生したメッセージの識別情報をＣＡＮコントローラがプロセッサへ通知する構成とすることによって、プロセッサは他の装置が送信したメッセージに発生したエラーに関する情報を得ることが可能となり、システム中の全ての通信装置に関するエラー情報を記録しておくことが可能となる。
【発明の効果】
【００２０】
本発明による場合は、複数の通信装置が通信を行う共通の通信線に接続されたエラー情報記録装置が、各通信装置のメッセージ送信のエラーに関する情報を記録しておく構成とすることにより、ＣＡＮ通信システムに不具合が発生した場合などには、エラー情報記録装置が記録した情報を調べることによって、不具合の原因を特定し得る情報を取得することができる。よって本発明は、通信にエラーが発生した場合に、その原因の特定を容易化することが期待できる。
【図面の簡単な説明】
【００２１】
【図１】本実施の形態に係る通信システムの構成を示す模式図である。
【図２】監視装置の構成を示すブロック図である。
【図３】監視情報の一例を示す模式図である。
【図４】エラー情報の一例を示す模式図である。
【図５】エラー処理を行うか否かの判定例を説明するための模式図である。
【図６】エラー処理を行うか否かの判定例を説明するための模式図である。
【図７】ＣＡＮコントローラが行う処理の手順を示すフローチャートである。
【図８】プロセッサが行う処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２２】
＜システム構成＞
図１は、本実施の形態に係る通信システムの構成を示す模式図である。本実施の形態に係る通信システムは、車両１に搭載された複数のＥＣＵ３と、１つの監視装置５とを備えて構成されている。ＥＣＵ３及び監視装置５は、車両１に敷設された共通の通信線を介して接続され、相互にメッセージを送受信することができる。本実施の形態においては、この通信線をＣＡＮバスとし、ＥＣＵ３及び監視装置５は、ＣＡＮプロトコルに従った通信を行う。ＥＣＵ３は、例えば車両１のエンジンの制御を行うエンジンＥＣＵ、車体の電装品の制御を行うボディＥＣＵ、ＡＢＳ（Antilock Brake System）に関する制御を行うＡＢＳ−ＥＣＵ、又は、車両１のエアバッグの制御を行うエアバッグＥＣＵ等のように、種々の電子制御装置であってよい。監視装置５は、車内ネットワークにおけるメッセージの送受信にて発生するエラーを監視する装置である。監視装置５は、監視専用の装置として設けられてもよく、例えばゲートウェイなどの装置に監視の機能を付加した構成であってもよく、また例えばいずれか１つのＥＣＵ３に監視の機能を付加した構成であってもよい。
【００２３】
図２は、監視装置５の構成を示すブロック図である。監視装置５は、プロセッサ５１、ＣＡＮコントローラ５２、ＲＯＭ（Read Only Memory）５３、記録部５４及び車外通信部５５等を備えて構成されている。プロセッサ５１は、いわゆるＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro-Processing Unit）等の演算処理装置であり、ＲＯＭ５３又は記録部５４等に記憶されたプログラムを読み出して実行することにより、車内ネットワークにおける通信のエラーを監視する処理を行う。またプロセッサ５１には、プログラムの実行によって、エラー解析部６１、エラー情報記録処理部６２及びエラー処理部６３等のソフトウェア的な機能ブロックが設けられる。これらの機能ブロックが行う処理の詳細は、後述する。
【００２４】
ＣＡＮコントローラ５２は、ＣＡＮの通信プロトコルに従って、ＣＡＮバスを介したＥＣＵ３との通信を行う。ＣＡＮコントローラ５２は、プロセッサ５１から与えられた送信用の情報を、ＣＡＮの通信プロトコルに従った信号に変換し、変換した信号をＣＡＮバスへ出力することでＥＣＵ３への情報送信を行う。ＣＡＮコントローラ５２は、ＣＡＮバスの電位をサンプリングすることによって、ＥＣＵ３が出力した信号を取得し、この信号をＣＡＮの通信プロトコルに従って２値の情報に変換することで情報の受信を行い、受信した情報をプロセッサ５１へ与える。これらＣＡＮコントローラ５２のメッセージ送受信に関する機能は、既存のＣＡＮコントローラの機能と同様のものである。
【００２５】
本実施の形態に係る監視装置５のＣＡＮコントローラ５２は、エラー判定部７１、エラー通知部７２及びエラー処理命令送信部７３等を有している。エラー判定部７１は、ＣＡＮバス上にＥＣＵ３が送信したメッセージにエラーが含まれているか否かを判定する。エラー通知部７２は、エラー判定部７１によりエラーが含まれていると判定されたメッセージに関する情報をプロセッサ５１へ通知する。エラー処理命令送信部７３は、プロセッサ５１からエラー処理を行う命令が与えられた場合に、エラー処理の内容に応じて適宜のＥＣＵ２に対してエラー処理の動作を行う旨の命令を送信する。
【００２６】
ＲＯＭ５３は、マスクＲＯＭ又はＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等の不揮発性のメモリ素子を用いて構成されている。実施の形態においてＲＯＭ５３は、通信にエラーが発生した場合にプロセッサ５１が行うエラー処理の内容などの情報を、監視情報５３ａとして記憶している。図３は、監視情報５３ａの一例を示す模式図である。監視情報５３ａは、メッセージに付されるＣＡＮ−ＩＤ毎に、エラー発生時に行うエラー処理の内容を記憶したものである。監視情報５３ａは、ＣＡＮ通信システム又は監視装置５の設計段階などにおいて決定され、ＲＯＭ５３に予め記憶される。
【００２７】
監視情報５３ａには、メッセージのＣＡＮ−ＩＤに対応付けてエラー頻度、エラー処理、関連メッセージ及び関連エラー処理の情報が記憶されている。監視情報５３ａのエラー頻度は、このＣＡＮ−ＩＤのメッセージについて連続で何回のエラーが発生した場合にエラー処理を行うかの条件である。例えばエラー頻度が２に設定されているＣＡＮ−ＩＤが１のメッセージは、２回連続でエラーが発生した場合にエラー処理が行われるが、１回のエラー発生後に正常なメッセージ送信が行われた場合にはエラー処理は行われない。監視情報５３ａのエラー処理は、エラー処理を行う条件が満たされた場合に行うエラー処理の内容を記憶したものである。本例では、外部通知、内部通知及びなしが設定されているが、これら以外に例えばシステムシャットダウン、特定のＥＣＵ動作停止又はエラーが発生したメッセージ破棄等の処理を行ってもよい。外部通知のエラー処理では、車外通信部５５による外部のサーバ装置などへの通知が行われる。内部通知のエラー処理では、適宜のＥＣＵ３へ動作命令を与えることにより、警告ランプの点灯、警告メッセージの表示又は警告音声の出力等を行い、車両１内のユーザへエラー発生を通知する。
【００２８】
監視情報５３ａの関連メッセージは、ＣＡＮ−ＩＤが異なる複数のメッセージにエラーが発生した場合にエラー処理を行う条件である。図示の例では、ＣＡＮ−ＩＤが１のメッセージにはＣＡＮ−ＩＤが２のメッセージが関連付けられており、ＣＡＮ−ＩＤが１のメッセージにエラーが発生し、このエラーと連続的にＣＡＮ−ＩＤが２のメッセージにエラーが発生した場合に、エラー処理が行われる。監視情報５３ａの関連エラー処理は、関連メッセージの条件が満たされた場合に行うエラー処理の内容を記憶したものである。
【００２９】
監視装置５の記録部５４は、例えばフラッシュメモリ又はハードディスク等のデータ書換可能且つ不揮発性の記憶装置を用いて構成されている。本実施の形態において記録部５４は、車内ネットワークにおいて発生したメッセージ送信のエラーに関する情報を、エラー情報５４ａとして記録している。図４は、エラー情報５４ａの一例を示す模式図である。エラー情報５４ａは、時刻、ＣＡＮ−ＩＤ、ＤＬＣ（Data Length Code）、ペイロード、エラー有無、エラー種別及びエラー位置の情報が記録される。
【００３０】
エラー情報５４ａの時刻は、エラーが含まれると判定されたメッセージの送信開始時刻、エラー判定時刻又は送信完了時刻等の時刻である。監視装置５のプロセッサ５１又はＣＡＮコントローラ５２は、タイマ又は時計の機能を有しており、エラーが発生した際の時刻を取得することができる。エラー情報５４ａのＣＡＮ−ＩＤは、エラーが含まれていると判定されたメッセージに付されたＣＡＮ−ＩＤである。エラー情報５４ａのＤＬＣは、メッセージに含まれるペイロードのデータ長であり、具体的にはＣＡＮのコントロールフィールドに含まれる４ビットの情報である。ペイロードは、メッセージに含まれるヘッダなどを除外した有効な情報であり、具体的にはＣＡＮのデータフィールドの情報そのものである。
【００３１】
エラー情報５４ａのエラー有無は、このメッセージにおけるエラーの発生の有無を示す情報であり、有又は無のいずれかが設定される。ただし本実施の形態において監視装置５はエラーが発生したメッセージについての情報のみを記録しておく構成であるため、エラー情報５４ａに必ずしもエラー有無の項目がなくてもよい。例えば監視装置５がエラー発生の有無に関わりなく通信履歴を記憶しておく構成とした場合などに、エラー有無の項目を設ければよい。
【００３２】
エラー情報５４ａのエラー種別は、エラーと判定した要因である。本例では、ビットエラー、ＡＣＫエラー、ＣＲＣエラー及びフォームエラーがエラー種別として記録されているが、これらは一例であって、これら以外のエラー種別が設定されてもよい。エラー情報５４ａのエラー位置は、ＣＡＮコントローラ５２によりメッセージにエラーが含まれていると判定されたビットの位置を示す情報である。
【００３３】
なおエラー情報５４ａに含まれるＣＡＮ−ＩＤ、ＤＬＣ、ペイロード、エラー有無、エラー種別及びエラー位置は、ＣＡＮコントローラ５２により判断され、ＣＡＮコントローラ５２からプロセッサ５１へ通知され、プロセッサ５１により記録部５４へ記録される。またエラー情報５４ａに含まれる時刻は、プロセッサ５１又はＣＡＮコントローラ５２のいずれが判断してもよいが、本実施の形態においてはＣＡＮコントローラ５２が判断するものとする。
【００３４】
監視装置５の車外通信部５５は、例えば携帯電話通信網又は無線ＬＡＮ（Local Area Network）等を介して、車両１の外部に設置されたサーバ装置などの装置との通信を行う。なお監視装置５は、必ずしも車外通信部５５を備えている必要はない。例えば車両１に搭載された他のＥＣＵ３が車外通信部を備え、監視装置５がこのＥＣＵ３を介して車外のサーバ装置などとの通信を行う構成としてもよい。
【００３５】
＜エラー監視処理＞
監視装置５のＣＡＮコントローラ５２は、ＣＡＮバスに対してＥＣＵ３が出力する信号をサンプリングして取得し、ＥＣＵ３が送信するメッセージの監視を継続的に行っている。ＣＡＮコントローラ５２のエラー判定部７１は、ＣＡＮバス上に送信されているメッセージに対するエラーの有無を判定する。エラー判定部７１は、例えばビットエラー、スタッフエラー、ＣＲＣエラー、フォームエラー及びＡＣＫエラー等のエラーの有無を判定する。なおこれらのエラーは、既存のＣＡＮのプロトコルにて規定されているものであるため、詳細な説明は省略する。またエラー判定部７１が判定するエラーは上記のものに限らない。例えばメッセージにＭＡＣ（Message Authentication Code、メッセージ認証子）、電子署名又は暗号化等の技術を用いた認証機能を付加したＣＡＮの拡張システムにおいて、エラー判定部７１は、認証処理において発生する認証エラーの有無を判定する構成とすることができる。
【００３６】
ＣＡＮコントローラ５２のエラー通知部７２は、エラー判定部７１によりエラー有りと判定されたメッセージに関する情報をプロセッサ５１へ通知する処理を行う。このときのエラー通知部７２は、プロセッサ５１に対する割り込みなどの信号を出力することによって通知を行う。またエラー通知部７２は、エラー有りと判定されてメッセージについて、エラー判定を行った時刻、ＣＡＮ−ＩＤ、ＤＬＣ、ペイロード、エラー種別及びエラー位置の情報を取得してプロセッサ５１へ通知する。
【００３７】
監視装置５のプロセッサ５１は、ＣＡＮコントローラ５２からの通知によりエラーの発生を知ると共に、ＣＡＮコントローラ５２からエラーに関する情報を取得する。プロセッサ５１のエラー情報記録処理部６２は、ＣＡＮコントローラ５２から取得した情報を、記録部５４のエラー情報５４ａに追加して記録する。なおこのときにエラー情報記録処理部６２は、暗号化又は電子署名等の技術を用いることにより、エラー情報５４ａの解読又は改変が困難化するように情報の記録を行ってもよい。
【００３８】
プロセッサ５１のエラー解析部６１は、ＲＯＭ５３に記憶された監視情報５３ａに基づき、エラーが発生したメッセージについて定められたエラー処理を実行するか否かを判定する。図５は、エラー処理を行うか否かの判定例を説明するための模式図であり、エラー頻度に基づく判定例である。図示の例は、図３に示したＣＡＮ−ＩＤが１のメッセージについてのものであり、このメッセージは監視情報５３ａにおいてエラー頻度が２に設定され、エラー処理として外部通知が設定されている。監視情報５３ａのエラー頻度は、エラーが何回連続で発生した場合にエラー処理を行うかに関する設定である。
【００３９】
エラー解析部６１は、ＣＡＮ−ＩＤ毎にエラー発生の頻度を計数するためのカウンタを有している。エラー解析部６１は、ＣＡＮコントローラ５２からエラーの通知が与えられた場合、この通知に基づいてエラーが発生したメッセージのＣＡＮ−ＩＤを取得し、このＣＡＮ−ＩＤに対応するカウンタの値に１を加算する。またエラー解析部６１は、ＲＯＭ５３の監視情報５３ａを参照し、エラーが発生したメッセージのＣＡＮ−ＩＤに対して設定されたエラー頻度の数値を取得する。カウンタの値が設定されたエラー頻度に達した場合、エラー解析部６１はエラー処理を行うと判断する。エラー処理を行うと判断された場合、プロセッサ５１のエラー処理部６３は、監視情報５３ａにエラー処理として設定されたエラー処理を行う。
【００４０】
図５に示す例では、時刻ｔ０において送信されたＣＡＮ−ＩＤが１のメッセージにはエラーが発生していない。時刻ｔ１において送信されたメッセージにエラーが発生し、これに応じてエラー解析部６１は、カウンタの値を０から１へ変化させている。次いで時刻ｔ２において送信されたメッセージにもエラーが発生し、これに応じてエラー解析部６１は、カウンタの値を１から２へ変化させている。ＣＡＮ−ＩＤが１のメッセージは、監視情報５３ａにおいてエラー頻度が２に設定されているため、エラー解析部６１は、カウンタの値が２に達した時点で、エラー処理を行うと判定する。図３に示した監視情報５３ａにおいてＣＡＮ−ＩＤが１のメッセージのエラー処理は外部通知と設定されている。このためエラー処理部６３は、車外通信部５５にて外部のサーバ装置などへエラーの発生を通知する処理を行う。
【００４１】
なおエラー解析部６１は、時刻ｔ２において送信されたメッセージにエラーが発生しなかった場合、カウンタの値を０に初期化する必要がある。本実施の形態において、ＥＣＵ３はＣＡＮ−ＩＤが１のメッセージを周期Ｔで送信するものとし、エラー解析部６１は、カウンタの値を増加させた後、所定期間（例えば周期Ｔ又はそれ以上の期間）が経過してもエラーが通知されなかった場合に、カウンタの値を初期化する。なおＣＡＮコントローラ５２がエラーが発生していないメッセージについてもメッセージの受信通知などをプロセッサ５１に対して行う構成である場合には、この通知に応じてエラー解析部６１がカウンタの値を初期化してもよい。
【００４２】
図６は、エラー処理を行うか否かの判定例を説明するための模式図であり、関連メッセージに基づく判定例である。図示の例は、図３に示したＣＡＮ−ＩＤが１のメッセージについてのものであり、このメッセージは監視情報５３ａにおいて関連メッセージとしてＣＡＮ−ＩＤが２のメッセージが設定されている。エラー解析部６１は、ＣＡＮ−ＩＤ毎に関連メッセージとの連続的なエラー発生数を計数するためのカウンタを有している（図５に示したカウンタとは別のカウンタである）。エラー解析部６１は、ＣＡＮコントローラ５２からエラーの通知が与えられた場合、エラーが発生したメッセージのＣＡＮ−ＩＤに対応するカウンタの値に１を加算する。
【００４３】
その後、エラー解析部６１は、ＣＡＮ−ＩＤが１のメッセージの送信周期Ｔが経過するまでの間に、ＣＡＮ−ＩＤが１のメッセージに再びエラーが発生した場合、カウンタの値を変化させずに保持する。送信周期Ｔが経過するまでの間に、関連メッセージとして設定されたＣＡＮ−ＩＤが２のメッセージにエラーが発生した場合、エラー解析部６１は、カウンタの値に１を加算する。送信周期Ｔが経過するまでの間に、ＣＡＮ−ＩＤが１又は２のメッセージにエラーが発生しない場合、エラー解析部６１は、カウンタの値を０に初期化する。
【００４４】
本例では、関連メッセージとして１つのＣＡＮ−ＩＤが設定されているため、エラー解析部６１は、カウンタの値が２に達した場合に、エラー処理を行うと判定する。例えば関連メッセージとして２つのＣＡＮ−ＩＤが設定されている場合、エラー解析部６１は、カウンタの値が３に達した場合に、エラー処理を行うと判定する。即ちエラー解析部６１は、関連メッセージの設定数に１を加えた値にカウンタの値が達した場合に、エラー処理を行うと判定する。監視情報５３ａにおいてＣＡＮ−ＩＤが１の関連エラー処理が外部通知と設定されているため、エラー処理部６３は、車外通信部５５にて外部のサーバ装置などへエラーの発生を通知する処理を行う。
【００４５】
なお、エラー処理として内部通知が設定されている場合には、エラー処理部６３は、ＣＡＮコントローラ５２のエラー処理命令送信部７３にて車両１内の適宜のＥＣＵ３などに対して動作命令を与える。例えば、内部通知として警告メッセージの表示を行う場合、エラー処理部６３は、車両１内に設けられたディスプレイを制御するＥＣＵ３又はカーナビゲーション装置等に対して、警告メッセージの表示命令を送信する。また例えば、内部通知として警告音声出力を行う場合、エラー処理部６３は、車両１内に設けられたスピーカを制御するＥＣＵ３又はオーディオ装置等に対して、警告音声出力の命令を送信する。またエラー処理として、システムのシャットダウンなどの処理が設定されてもよい。この場合、エラー処理部６３は、動作を停止すべきＥＣＵ３に対して動作停止命令を送信する。
【００４６】
＜フローチャート＞
図７は、ＣＡＮコントローラ５２が行う処理の手順を示すフローチャートである。ＣＡＮコントローラ５２は、ＣＡＮバスの電位をサンプリングすることによってＥＣＵ３によるメッセージ送信がなされたか否かを判定する（ステップＳ１）。メッセージ送信がなされていない場合（Ｓ１：ＮＯ）、ＣＡＮコントローラ５２は、メッセージ送信がなされるまで待機する。ＥＣＵ３によるメッセージ送信がなされた場合（Ｓ１：ＹＥＳ）、ＣＡＮコントローラ５２は、送信されたメッセージの取得を開始する（ステップＳ２）。
【００４７】
次いでＣＡＮコントローラ５２のエラー判定部７１は、ＣＡＮバス上にＥＣＵ３が送信しているメッセージにエラーが含まれているか否かの判定を行う（ステップＳ３）。エラー判定部７１がメッセージにエラーが含まれていると判定した場合（Ｓ３：ＹＥＳ）、ＣＡＮコントローラ５２のエラー通知部７２は、プロセッサ５１に対する割り込みなどの信号を出力することによってエラーの通知を行い（ステップＳ４）、ステップＳ５へ処理を進める。エラーが含まれていないと判定した場合（Ｓ３：ＮＯ）、ＣＡＮコントローラ５２は、エラー通知を行わずにステップＳ５へ処理を進める。
【００４８】
ＣＡＮコントローラ５２は、ＥＣＵ３によるメッセージの送信が終了したか否かを判定する（ステップＳ５）。メッセージの送信が終了していない場合（Ｓ５：ＮＯ）、ＣＡＮコントローラ５２は、ステップＳ３へ処理を戻す。メッセージの送信が終了した場合（Ｓ５：ＹＥＳ）、ＣＡＮコントローラ５２は、処理を終了する。
【００４９】
図８は、プロセッサ５１が行う処理の手順を示すフローチャートである。プロセッサ５１は、割り込みなどの信号によるＣＡＮコントローラ５２からのエラー通知が与えられたか否かを判定する（ステップＳ１１）。エラー通知が与えられていない場合（Ｓ１１：ＮＯ）、プロセッサ５１は、エラー通知が与えられるまで待機する。エラー通知が与えられた場合（Ｓ１１：ＹＥＳ）、プロセッサ５１は、発生したエラーに関する情報、例えばエラーが発生したメッセージのＣＡＮ−ＩＤ及びエラーの種別等の情報を、ＣＡＮコントローラ５２から取得する（ステップＳ１２）。プロセッサ５１のエラー情報記録処理部６２は、ステップＳ１２にて取得した情報を、記録部５４にエラー情報５４ａとして記録する（ステップＳ１３）。
【００５０】
次いでプロセッサ５１のエラー解析部６１は、ＲＯＭ５３の監視情報５３ａに設定されたエラー頻度及び関連メッセージ等の条件が満たされたか否かに基づき、エラー処理を行うか否かを判定するエラー処理判定を行う（ステップＳ１４）。エラー解析部６１は、監視情報５３ａに設定された条件が満たされたか否かを判定し（ステップＳ１５）、条件が満たされていない場合には（Ｓ１５：ＮＯ）、エラー処理を行うことなく処理を終了する。条件が満たされた場合（Ｓ１５：ＹＥＳ）、プロセッサ５１のエラー処理部６３は、監視情報５３ａに設定されたエラー処理を行って（ステップＳ１６）、処理を終了する。
【００５１】
＜まとめ＞
本実施の形態に係るＣＡＮ通信システムは、複数のＥＣＵ３が通信を行う共通のＣＡＮバスに監視装置５を接続し、ＥＣＵ３がメッセージを送信した場合に、このメッセージにエラーが含まれているか否かを監視装置５が判定する。送信メッセージにエラーが含まれる場合、監視装置５は、このメッセージのエラーに係る情報を記録部５４にエラー情報５４ａとして記録する。これにより監視装置５は、ＣＡＮバスに接続された全てのＥＣＵ３について、メッセージ送信のエラーに関する情報を記録しておくことができる。よってＣＡＮ通信システムに不具合が発生した場合などには、監視装置５の記録部５４に記録されたエラー情報５４ａを調べることによって、不具合の原因を特定し得る情報を取得することができる。またＣＡＮバスが攻撃者により攻撃されている場合にも、その原因を特定することを可能とすることができる。
【００５２】
また監視装置５がエラー情報５４ａとして記録しておく情報には、メッセージに付されるＣＡＮ−ＩＤを含む。これによりエラーが発生したメッセージの送信元のＥＣＵ３の特定を容易化することができる。またエラー情報５４ａには、時刻情報、ＤＬＣ、ペイロード、エラー有無、エラー種別及びエラー位置等のうちの少なくとも１つの情報を含む。これにより、エラー発生の原因などをより詳しく特定することが容易化される。
【００５３】
また監視装置５は、ＲＯＭ５３の監視情報５３ａに、エラー処理の内容をＣＡＮ−ＩＤ毎に記憶しておき、エラーが発生した場合にはＣＡＮ−ＩＤに応じたエラー処理を行う。例えば監視装置５は、無線通信などを利用して車外通信部５５により車両１の外部のサーバ装置などへエラー発生を通知する、車両１内での警告メッセージ表示若しくは警告音声出力、又は、システムのシャットダウン等のエラー処理を行うことができる。エラー処理は、これら以外にも、メッセージのＣＡＮ−ＩＤ毎に適切な処理内容を設定しておくことができる。
【００５４】
また監視装置５は、監視情報５３ａにエラー処理を行う条件を記憶しておき、エラーが発生し且つ記憶した条件が満たされた場合にエラー処理を行う。エラー処理の条件は、例えばエラーの発生頻度及び関連するメッセージでのエラー発生等の条件を設定しておくことができる。またエラー処理の条件は、メッセージのＣＡＮ−ＩＤ毎に設定しておくことができる。これにより監視装置５は、単にエラーが発生した場合にエラー処理を行うのではなく、エラーの発生頻度又は発生状況等に応じてエラー処理を行うことが可能となる。
【００５５】
また監視装置５は、ＣＡＮプロトコルに従った通信を行うＣＡＮコントローラ５２と、種々の情報処理を行うプロセッサ５１とを備える。ＣＡＮコントローラ５２は、メッセージ送信にエラーが含まれているか否かの判定をエラー判定部７１にて行うことができ、エラーが含まれていると判定した場合にはエラー通知部７２にてメッセージに付されたＣＡＮ−ＩＤをプロセッサ５１へ通知する。プロセッサ５１は、ＣＡＮコントローラ５２からエラーの発生を通知された場合に、通知されたＣＡＮ−ＩＤを含むエラー情報５４ａを記録部５４に記録する処理をエラー情報記録処理部６２にて行う。
【００５６】
従来のＣＡＮコントローラは、エラー発生時にプロセッサへＣＡＮ−ＩＤなどの情報を通知する機能を有しておらず、プロセッサは自装置が送信したメッセージに発生したエラーに関する情報しか得ることができなかった。本実施の形態に係る監視装置５のように、エラーが発生したメッセージのＣＡＮ−ＩＤをＣＡＮコントローラ５２がプロセッサ５１へ通知する構成とすることによって、プロセッサ５１はＥＣＵ３が送信したメッセージに発生したエラーに関する情報を得ることが可能となり、システム中の全てのＥＣＵ３に関するエラー情報を記録しておくことが可能となる。
【００５７】
なお本実施の形態においては、監視装置５のプロセッサ５１にエラー解析部６１、エラー情報記録処理部６２及びエラー処理部６３を設ける構成としたが、これに限るものではない。エラー解析部６１、エラー情報記録処理部６２及びエラー処理部６３の一部又は全部をＣＡＮコントローラ５２に設ける構成としてもよい。また、ＣＡＮコントローラ５２からプロセッサ５１への通知を割り込み信号を用いて行う構成としたが、これに限るものではなく、割り込み信号以外の方法で通知を行う構成としてもよい。
【００５８】
また図３に示した監視情報５３ａは一例であって、これに限るものではない。エラー処理を行う条件として、エラー頻度及び関連メッセージの２つの条件を示したが、これら以外の条件を採用してもよい。エラー処理及び関連エラー処理として、外部通知及び内部通知の処理を示したが、例えばシステムのシャットダウン、特定のＥＣＵ３の動作停止、又は、エラーが発生したメッセージの破棄等のその他の種々の処理を採用してもよい。
【００５９】
また図４に示したエラー情報５４ａは一例であって、これに限るものではない。エラー情報５４ａには、図４に示していないその他の種々の情報を記録しておいてよい。また本実施の形態において監視装置５は、エラーが発生したメッセージについて情報を記録しておく構成としたが、これに限るものではなく、エラーが発生していないメッセージについても必要に応じて情報を記録しておく構成としてよい。
【符号の説明】
【００６０】
１  車両
３  ＥＣＵ（通信装置）
５  監視装置（エラー情報記録装置）
５１  プロセッサ
５２  ＣＡＮコントローラ
５３  ＲＯＭ（エラー処理内容記憶部）
５３ａ  監視情報
５４  記録部（エラー情報記録部）
５４ａ  エラー情報
５５  車外通信部
６１  エラー解析部
６２  エラー情報記録処理部
６３  エラー処理部
７１  エラー判定部
７２  エラー通知部
７３  エラー処理命令送信部
【図１】
0006342311.tif 000002
【図２】
0006342311.tif 000003
【図３】
0006342311.tif 000004
【図４】
0006342311.tif 000005
【図５】
0006342311.tif 000006
【図６】
0006342311.tif 000007
【図７】
0006342311.tif 000008
【図８】
0006342311.tif 000009