(57)【特許請求の範囲】
【請求項１】
共通の通信線を介して互いに接続され、優先度に係る情報が付されたメッセージを生成するメッセージ生成部、該メッセージ生成部が生成したメッセージに応じた信号を前記通信線に出力することで該メッセージを送信するメッセージ送信部及び前記通信線に対するサンプリングにより信号を取得して前記情報に応じて該信号に係るメッセージを受信するメッセージ受信部を有する複数の通信装置と、前記複数の通信装置によるメッセージの送信が衝突した場合に、該メッセージの優先度に応じて送信順序を調停する調停手段とを備え、前記複数の通信装置が共通の通信線を介して互いにメッセージの送受信を行う通信システムにおいて、
少なくとも１つの通信装置は、
前記メッセージ受信部が受信したメッセージが他のメッセージと連続的に送信されたものであるか否かを判定する判定部と、
受信メッセージが連続的に送信されたものであると前記判定部が判定した場合に、前記受信メッセージ以前に連続する一又は複数のメッセージの優先度に応じて、前記受信メッセージが前記調停手段の調停により遅延した時間を推定する遅延時間推定部と
を有すること
を特徴とする通信システム。
【請求項２】
前記遅延時間推定部は、前記受信メッセージ以前に連続する優先度が高い他のメッセージの送信時間に応じて遅延時間を推定するようにしてあること
を特徴とする請求項１に記載の通信システム。
【請求項３】
前記少なくとも１つの通信装置は、前記遅延時間推定部が推定した時間に基づいて、受信したメッセージが前記メッセージ生成部により生成された時点を推定する生成時点推定部を有すること
を特徴とする請求項１又は請求項２に記載の通信システム。
【請求項４】
前記生成時点推定部は、
前記メッセージ生成部がメッセージを生成してから前記メッセージ送信部がメッセージを送信するまでの遅延時間と、
前記遅延時間推定部が推定した遅延時間と、
メッセージの送信開始から送信完了までの時間と、
送信側の通信装置によるメッセージの送信完了から受信側の通信装置によるメッセージの受信完了までの遅延時間と
に基づいて、メッセージの生成時点を推定するようにしてあること
を特徴とする請求項３に記載の通信システム。
【請求項５】
前記判定部は、一のメッセージの送信完了時点と次のメッセージの送信開始時点との間隔が所定時間に満たない場合に、２つのメッセージの送信が連続的であると判定するようにしてあること
を特徴とする請求項１乃至請求項４のいずれか１つに記載の通信システム。
【請求項６】
前記少なくとも１つの通信装置は、少なくとも連続的に送信されたことが前記連続送信検出部にて検出されたメッセージについて、該メッセージの送信時点及び優先度に係る情報を含むメッセージ送信の履歴を記憶する履歴記憶部を有し、
前記判定部は、前記履歴記憶部に記憶された履歴に基づいて判定を行うようにしてあること
を特徴とする請求項１乃至請求項５のいずれか１つに記載の通信システム。
【請求項７】
共通の通信線を介して他の装置と接続され、優先度に係る情報が付されたメッセージを生成するメッセージ生成部と、該メッセージ生成部が生成したメッセージに応じた信号を前記通信線に出力することで該メッセージを送信するメッセージ送信部と、前記通信線に対するサンプリングにより信号を取得して前記情報に応じて該信号に係るメッセージを受信するメッセージ受信部と、前記他の装置との間でメッセージの送信が衝突した場合に、該メッセージの優先度に応じて送信順序を調停する調停手段とを備え、共通の通信線を介して他の装置との間でメッセージの送受信を行う通信装置において、
前記メッセージ受信部が受信したメッセージが他のメッセージと連続的に送信されたものであるか否かを判定する判定部と、
受信メッセージが連続的に送信されたものであると前記判定部が判定した場合に、前記受信メッセージ以前に連続する一又は複数のメッセージの優先度に応じて、前記受信メッセージが前記調停手段の調停により遅延した時間を推定する遅延時間推定部と
を備えること
を特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信装置がメッセージの送受信を行う通信システム、及びこのシステムを構成する通信装置に関する。
【背景技術】
【０００２】
従来、車両に搭載された複数のＥＣＵ（Electronic Control Unit）間の通信には、ＣＡＮ（Controller Area Network）の通信プロトコルが広く採用されている。ＣＡＮの通信プロトコルを採用した通信システムは、複数のＥＣＵが共通のＣＡＮバスに接続された構成となり、送信側のＥＣＵがＣＡＮバスへ出力した信号を受信側のＥＣＵが取得することによってメッセージの送受信が行われる。また複数のＥＣＵが同時的にメッセージ送信を行い、ＣＡＮバス上で複数のメッセージが衝突した場合には、通信装置間でメッセージに付されたＣＡＮ−ＩＤに基づく調停処理（アービトレーション処理）が行われる。アービトレーション処理により、優先度が高いＣＡＮ−ＩＤが付されたメッセージの送信が先に行われ、優先度が低いＣＡＮ−ＩＤを付されたメッセージの送信は遅延する。アービトレーション処理によってメッセージに遅延が発生する可能性があるため、メッセージを受信したＥＣＵではこのメッセージの生成時刻（又は、メッセージを最初に送信しようとした時刻）を知ることができなかった。
【０００３】
特許文献１においては、エンジン制御用電子制御装置が吸気スロットルセンサからセンサ情報を取得しつつ、アクチュエータ駆動用電子制御装置に対して吸気弁ストロークセンサのセンサ情報を同一のタイミングで取得するよう指示する時間同期メッセージを送信し、アクチュエータ駆動用電子制御装置は時間同期メッセージによって指示されるタイミングに基づいて吸気弁ストロークセンサからセンサ情報を取得し、取得したセンサ情報を取得時刻と共にエンジン制御用電子制御装置へ送信する構成の分散制御システムが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３１６７３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら特許文献１に記載の分散制御システムでは、時刻情報をメッセージに付与して送信する必要があるため、メッセージの限られたペイロードを更に使用しなければならないという問題がある。またこの分散制御システムを実現するためには、メッセージの送信側及び受信側の双方について、通信装置が有するＣＡＮコントローラなどが、時刻情報を付されたメッセージの送受信を行う機能を有する必要がある。場合によっては、通信システムに含まれる全ての通信装置のＣＡＮコントローラなどがこの機能を有している必要がある。このため既存のＣＡＮの通信システムに対して、特許文献１に記載の分散制御システムを実現するためには相当のコスト増が必要であり、実現性に乏しいという問題がある。
【０００６】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、メッセージの遅延時間又は生成時点等を推定することができ、この推定機能を低コストで実現することができる通信システム及び通信装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係る通信システムは、共通の通信線を介して互いに接続され、優先度に係る情報が付されたメッセージを生成するメッセージ生成部、該メッセージ生成部が生成したメッセージに応じた信号を前記通信線に出力することで該メッセージを送信するメッセージ送信部及び前記通信線に対するサンプリングにより信号を取得して前記情報に応じて該信号に係るメッセージを受信するメッセージ受信部を有する複数の通信装置と、前記複数の通信装置によるメッセージの送信が衝突した場合に、該メッセージの優先度に応じて送信順序を調停する調停手段とを備え、前記複数の通信装置が共通の通信線を介して互いにメッセージの送受信を行う通信システムにおいて、少なくとも１つの通信装置は、前記メッセージ受信部が受信したメッセージが他のメッセージと連続的に送信されたものであるか否かを判定する判定部と、受信メッセージが連続的に送信されたものであると前記判定部が判定した場合に、前記受信メッセージ以前に連続する一又は複数のメッセージの優先度に応じて、前記受信メッセージが前記調停手段の調停により遅延した時間を推定する遅延時間推定部とを有することを特徴とする。
【０００８】
また、本発明に係る通信システムは、前記遅延時間推定部が、前記受信メッセージ以前に連続する優先度が高い他のメッセージの送信時間に応じて遅延時間を推定するようにしてあることを特徴とする。
【０００９】
また、本発明に係る通信システムは、前記少なくとも１つの通信装置が、前記遅延時間推定部が推定した時間に基づいて、受信したメッセージが前記メッセージ生成部により生成された時点を推定する生成時点推定部を有することを特徴とする。
【００１０】
また、本発明に係る通信システムは、前記生成時点推定部が、前記メッセージ生成部がメッセージを生成してから前記メッセージ送信部がメッセージを送信するまでの遅延時間と、前記遅延時間推定部が推定した遅延時間と、メッセージの送信開始から送信完了までの時間と、送信側の通信装置によるメッセージの送信完了から受信側の通信装置によるメッセージの受信完了までの遅延時間とに基づいて、メッセージの生成時点を推定するようにしてあることを特徴とする。
【００１１】
また、本発明に係る通信システムは、前記判定部が、一のメッセージの送信完了時点と次のメッセージの送信開始時点との間隔が所定時間に満たない場合に、２つのメッセージの送信が連続的であると判定するようにしてあることを特徴とする。
【００１２】
また、本発明に係る通信システムは、前記少なくとも１つの通信装置が、少なくとも連続的に送信されたことが前記連続送信検出部にて検出されたメッセージについて、該メッセージの送信時点及び優先度に係る情報を含むメッセージ送信の履歴を記憶する履歴記憶部を有し、前記判定部は、前記履歴記憶部に記憶された履歴に基づいて判定を行うようにしてあることを特徴とする。
【００１３】
また、本発明に係る通信装置は、共通の通信線を介して他の装置と接続され、優先度に係る情報が付されたメッセージを生成するメッセージ生成部と、該メッセージ生成部が生成したメッセージに応じた信号を前記通信線に出力することで該メッセージを送信するメッセージ送信部と、前記通信線に対するサンプリングにより信号を取得して前記情報に応じて該信号に係るメッセージを受信するメッセージ受信部と、前記他の装置との間でメッセージの送信が衝突した場合に、該メッセージの優先度に応じて送信順序を調停する調停手段とを備え、共通の通信線を介して他の装置との間でメッセージの送受信を行う通信装置において、前記メッセージ受信部が受信したメッセージが他のメッセージと連続的に送信されたものであるか否かを判定する判定部と、受信メッセージが連続的に送信されたものであると前記判定部が判定した場合に、前記受信メッセージ以前に連続する一又は複数のメッセージの優先度に応じて、前記受信メッセージが前記調停手段の調停により遅延した時間を推定する遅延時間推定部とを備えることを特徴とする。
【００１４】
本発明においては、通信システムに含まれる各通信装置が、優先度に係る情報（例えばＣＡＮ−ＩＤ）を付したメッセージを生成して他の通信装置へ送信すると共に、他の通信装置が送信したメッセージの受信を行う。また複数の通信装置が同時的にメッセージ送信を行って、複数のメッセージ送信が衝突した場合には、メッセージの優先度に応じて送信順序の調停処理（アービトレーション処理）を行う。このような構成の通信システムにおいて、少なくとも１つの通信装置が以下のようなメッセージの遅延時間を推定する処理を行う。
少なくとも１つの通信装置は、通信線に対する連続的なメッセージ送信を検出し、自らがメッセージを受信した場合にこの受信メッセージが他のメッセージと連続的に送信されたものであるか否かを判定する。受信メッセージが他のメッセージと連続的に送信されたものである場合、この受信メッセージはアービトレーション処理により遅延している可能性がある。そこで通信装置は、受信メッセージ以前に連続する一又は複数のメッセージの優先度を調べ、各メッセージの優先度に応じて受信メッセージが調停処理により遅延した時間を推定する。
このようなメッセージの遅延時間を推定する構成は、メッセージを送信する通信装置は何ら特別な処理を行う必要がないため、受信メッセージの遅延時間の推定を必要とする通信装置にのみ、この機能を搭載すればよい。よって従来構成の通信システムに対して必要な通信装置にのみ機能拡張を行えばよいため、本通信システムは低コストで実現することができる。
【００１５】
受信メッセージ以前に連続する他のメッセージについて、他のメッセージの優先度が受信メッセージの優先度より高い場合には、受信メッセージはこれら他のメッセージとの衝突により遅延した可能性がある。これに対して、他のメッセージの優先度が受信メッセージの優先度より低い場合には、調停処理において受信メッセージの送信が優先されるため、受信メッセージは他のメッセージとの衝突により遅延していない。そこで本発明においては、受信メッセージ以前に連続する優先度が高い他のメッセージの送信時間に応じて遅延時間を推定する。
これにより通信装置は、受信メッセージが調停処理により遅延したか否かを推定し、調停処理による遅延時間を推定することができる。
【００１６】
また本発明においては、受信メッセージの遅延時間の推定結果に基づいて、この受信メッセージの送信元の通信装置によりこのメッセージが生成された時点を推定する。
メッセージ生成時点の推定は、例えば送信側の通信装置によるメッセージ生成からメッセージ送信までの遅延時間と、調停処理による遅延時間と、メッセージ送信開始から送信完了までの時間（即ちメッセージの送信に必要な時間）と、送信側の通信装置がメッセージ送信完了してから受信側の通信装置によるメッセージ受信が完了するまでの遅延時間とに基づいて推定することができる。なお、メッセージ生成からメッセージ送信までの遅延時間、及び、送信側の通信装置がメッセージ送信完了してから受信側の通信装置によるメッセージ受信が完了するまでの遅延時間は、設計的又は実験的に予め決定し、通信装置に定数として与えておくことができる。
これにより通信装置は、メッセージの生成時点を推定することができ、推定した時点を他の通信装置との同期時点とする、又は、受信時点と推定時点との差を考慮して制御のための演算処理を行う等のように、推定時点を利用することができる。
【００１７】
また本発明においては、複数のメッセージが連続的に送信されたものであるか否かを、通信装置が次のように判断する。通信装置は、一のメッセージの送信完了時点と、これに続く次のメッセージの送信開始時点との間隔が所定時間に満たない場合に、この二つのメッセージが連続していると判断する。これにより通信装置は、連続的なメッセージ送信を容易に検出することができる。
【００１８】
また本発明においては、少なくとも連続的に送信されたことが検出されたメッセージについて、通信装置は、メッセージの送信時点及び優先度に係る情報を記憶しておく。これにより通信装置は、メッセージを受信した場合に、受信メッセージが連続的に送信されたものであるか否かの判定、及び、連続的に送信された他のメッセージの優先度に基づく遅延時間の推定等の処理を行うことができる。
【発明の効果】
【００１９】
本発明による場合は、調停処理によるメッセージの遅延時間を推定する構成とすることにより、通信システムに含まれる全ての通信装置について機能拡張を行う必要はなく、時間推定を必要とする通信装置にのみ機能拡張を行えばよいため、メッセージの生成時点の推定などを行うことが可能な通信システムを低コストで実現することができる。
【図面の簡単な説明】
【００２０】
【図１】実施の形態１に係る通信システムの構成を示す模式図である。
【図２】ＥＣＵの構成を示すブロック図である。
【図３】ＥＣＵの生成時点推定部による生成時点推定処理を説明するための模式図である。
【図４】ＥＣＵの遅延時間推定部による遅延時間推定処理を説明するための模式図である。
【図５】ＥＣＵによるメッセージ生成時点推定処理の手順を示すフローチャートである。
【図６】実施の形態２に係る通信システムの構成を示す模式図である。
【図７】監視装置の構成を示すブロック図である。
【図８】監視装置による不正メッセージ検出処理を説明するための模式図である。
【発明を実施するための形態】
【００２１】
（実施の形態１）
図１は、実施の形態１に係る通信システムの構成を示す模式図である。実施の形態１に係る通信システムは、車両１に搭載された一又は複数のＥＣＵ２、及び、一又は複数のＥＣＵ３を備えて構成されている。ＥＣＵ２，３は、車両１に敷設された共通の通信線を介して接続され、相互にメッセージを送受信することができる。本実施の形態においては、この通信線をＣＡＮバスとし、ＥＣＵ２，３はＣＡＮプロトコルに従った通信を行う。ＥＣＵ２，３は、例えば車両１のエンジンの制御を行うエンジンＥＣＵ、車体の電装品の制御を行うボディＥＣＵ、ＡＢＳ（Antilock Brake System）に関する制御を行うＡＢＳ−ＥＣＵ、又は、車両１のエアバッグの制御を行うエアバッグＥＣＵ等のように、種々の電子制御装置であってよい。
【００２２】
本実施の形態において、ＥＣＵ２とＥＣＵ３とでは、通信に関する機能に差異がある。ＥＣＵ２は、従来と同様のＣＡＮ通信を行う。これに対してＥＣＵ３は、従来と同様のＣＡＮ通信に加えて、メッセージを受信した場合に、このメッセージの生成時点を推定する機能を有している。なお図１においては、通信システムが７つのＥＣＵ２及び１つのＥＣＵ３を備える構成を図示してあるが、ＥＣＵ２，３の搭載数は一例であって、これに限るものではない。例えば通信システムに含まれるＥＣＵが全てＥＣＵ３であってもよい。通信システムには、少なくとも１つのＥＣＵ３が含まれていればよい。
【００２３】
図２は、ＥＣＵ３の構成を示すブロック図である。なお図２においては、車両１に設けられたＥＣＵ３について、通信及びメッセージ生成時点の推定等に関するブロックを抜き出して図示してある。またＥＣＵ２については、従来のＣＡＮ通信を行うＥＣＵと同様の構成であるため、ブロック図の図示を省略する。本実施の形態に係るＥＣＵ３は、処理部３１、ＲＯＭ（Read Only Memory）３２、ＲＡＭ（Random Access Memory）３３及びＣＡＮ通信部３４等を備えて構成されている。処理部３１は、ＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro-Processing Unit）等の演算処理装置を用いて構成されている。処理部３１は、ＲＯＭ３２に記憶されたプログラム３２ａを読み出して実行することにより、車両１に係る種々の情報処理又は制御処理等を行う。
【００２４】
ＲＯＭ３２は、フラッシュメモリ又はＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）等の不揮発性のメモリ素子を用いて構成されている。ＲＯＭ３２は、処理部３１が実行するプログラム３２ａと、これにより行われる処理に必要な種々のデータとが記憶されている。また本実施の形態においては、メッセージ生成時点の推定に用いられる遅延時間定数３２ｂがＲＯＭ３２に記憶されている。
【００２５】
ＲＡＭ３３は、ＳＲＡＭ（Static Random Access Memory）又はＤＲＡＭ（Dynamic Random Access Memory）等のデータ書き換え可能なメモリ素子を用いて構成されている。ＲＡＭ３３は、処理部３１の処理により生成された種々のデータを記憶する。また本実施の形態においては、車両１のＣＡＮバス上に送信されたメッセージ（自らが送信したメッセージ及び他のＥＣＵ２が送信したメッセージの双方を含み得る）の履歴を記憶する送信履歴記憶部３３ａがＲＡＭ３３に設けられている。
【００２６】
ＣＡＮ通信部３４は、ＣＡＮの通信プロトコルに従って、ＣＡＮバスを介した他のＥＣＵ２との通信を行う。ＣＡＮ通信部３４は、処理部３１から与えられた送信用の情報を、ＣＡＮの通信プロトコルに従った信号に変換し、変換した信号をＣＡＮバスへ出力することで他のＥＣＵ２へのメッセージ送信を行う。ＣＡＮ通信部３４は、ＣＡＮバスの電位をサンプリングすることによって、他のＥＣＵ２が出力した信号を取得し、この信号をＣＡＮの通信プロトコルに従って２値の情報に変換することでメッセージの受信を行い、受信したメッセージを処理部３１へ与える。
【００２７】
またＣＡＮ通信部３４は、自らのメッセージ送信と、他のＥＣＵ２によるメッセージ送信とに衝突が発生した場合に、いずれのメッセージを先に送信するかを調停する処理、いわゆるアービトレーション処理を行う。各ＥＣＵ２，３が送信するメッセージには、メッセージの種別に応じて予めＩＤが定められている。このＩＤは、数値として扱われる情報であり、その値が小さいほどメッセージ送信の優先度が高い。このため通信システムにおいては、ＣＡＮバス上で複数のメッセージ送信が衝突した場合、最も優先度が高いメッセージ送信が行われ、このメッセージの送信完了後に他のメッセージの送信が行われる。なおＣＡＮ通信部３４が行うアービトレーション処理は、既存の技術であるため、詳細な処理手順の説明は省略する。
【００２８】
また本実施の形態においてＣＡＮ通信部３４は、ＣＡＮバスに対する連続的なメッセージ送信を検出する連続送信検出部３４ａを有している。連続送信検出部３４ａは、ＣＡＮバス上に送信されるメッセージを監視して、一のメッセージの送信完了時点から次のメッセージの送信開始時点までの時間を取得し、この時間が所定時間に満たない場合に、これら２つのメッセージが連続的に送信されたものであると判断する。詳しくは、連続送信検出部３４ａは、先のメッセージのＥＯＦ（End Of Frame）の７ビットのレセシブと、次のメッセージのＳＯＦ（Start Of Frame）との間に、２ビット又は３ビットのレセシブで構成されるＩＦＳ（Inter Frame Space）が存在することを検出することによって、連続的な２つのメッセージ送信を検出する。連続送信検出部３４ａが連続的なメッセージ送信を検出した場合、ＣＡＮ通信部３４は、連続する２つのメッセージに関する情報を処理部３１へ与える。
【００２９】
本実施の形態においてＥＣＵ３の処理部３１には、プログラム３２ａの実行により、遅延時間推定部４１及び生成時点推定部４２等がソフトウェア的な機能ブロックとして実現される。なお遅延時間推定部４１及び生成時点推定部４２等は、その一部又は全部がハードウェアによる機能ブロックとして実現されてもよい。遅延時間推定部４１は、ＣＡＮ通信部３４にて他のＥＣＵ２が送信したメッセージを受信した場合に、このメッセージがアービトレーション処理により遅延した時間を推定する処理を行う。このときに遅延時間推定部４１は、ＲＡＭ３３の送信履歴記憶部３３ａに記憶された履歴情報に基づいて推定処理を行う。生成時点推定部４２は、遅延時間推定部４１が推定した遅延時間と、ＲＯＭ３２に記憶された遅延時間定数３２ｂとに基づいて、受信したメッセージが送信元のＥＣＵ２にて生成された時点を推定する処理を行う。
【００３０】
＜推定処理＞
図３は、ＥＣＵ３の生成時点推定部４２による生成時点推定処理を説明するための模式図であり、例えばいずれか１つのＥＣＵ２がメッセージＭの送信を行い、このメッセージＭをＥＣＵ３が受信する場合のタイミングチャートを示してある。ＥＣＵ２は、自身の処理によって他のＥＣＵ２，３へ情報を送信すべき条件が成立した場合、送信すべき情報及びＣＡＮ−ＩＤ等を含むメッセージＭを生成する。本図では、ＥＣＵ２がこのメッセージＭの生成を完了した時点をｔ１として示してある。メッセージＭを生成した後、ＥＣＵ２では、例えば処理部からＣＡＮ通信部へメッセージＭが与えられ、ＣＡＮ通信部によりＣＡＮバスへのメッセージＭの最初のビットの出力が開始される。本図では、メッセージＭの生成時点ｔ１から、このメッセージＭのＣＡＮバスへの最初の出力が開始された時点、即ちメッセージＭの送信の試みを開始した時点ｔ２までの時間を、送信側内部遅延時間Ｄ１として示している。
【００３１】
一のＥＣＵ２がメッセージＭを送信しようとした際に、他のＥＣＵ２，３が同時的にメッセージを送信しようとした場合、複数のメッセージ送信が衝突し、複数のＥＣＵ２，３間でアービトレーション処理が行われる。アービトレーション処理の結果、優先度の高いメッセージ（ＣＡＮ−ＩＤの数値が小さいメッセージ）の送信が先に行われ、優先度の低いメッセージの送信に遅延が発生する。本図では、最初にメッセージＭの送信を試みた時点ｔ２から、実際にメッセージＭの送信を開始した時点ｔ３までの時間を、アービトレーション遅延時間Ｄ２として示している。もし、メッセージ送信の衝突が発生しなければ、ｔ２＝ｔ３であり、Ｄ２＝０である。
【００３２】
メッセージＭの送信を開始したＥＣＵ２は、メッセージＭの全ビットに対応する信号をＣＡＮバスへ出力することでメッセージＭの送信を完了する。本図では、ＥＣＵ２によりメッセージ送信を行っている期間をメッセージ送信時間Ｄ３とし、メッセージＭの送信を完了した時点をｔ４として示している。
【００３３】
ＥＣＵ２が送信したメッセージＭは、これを必要とするＥＣＵ２，３にて受信される。ＥＣＵ３のＣＡＮ通信部３４は、ＣＡＮバスの信号レベルをサンプリングすることによって、時点ｔ４においてＥＣＵ２が送信したメッセージＭの全ビットを受信することができる。ＣＡＮ通信部３４は受信したメッセージＭを処理部３１へ与え、これによりＥＣＵ３によるメッセージＭの受信処理が完了する。本図では、ＥＣＵ２によるメッセージＭの送信完了時点ｔ４から、ＥＣＵ３によるメッセージＭの受信完了までの時間を、受信側内部遅延時間Ｄ４として示している。
【００３４】
ＥＣＵ２からのメッセージＭを受信したＥＣＵ３は、このメッセージＭの受信完了時点ｔ５を知ることができる。ＥＣＵ３の生成時点推定部４２は、メッセージ受信完了時点ｔ５から遡ってメッセージ生成時点ｔ１を推定する処理を行う。詳しくは、生成時点推定部４２は、メッセージ受信完了時点ｔ５から４つの遅延時間Ｄ１〜Ｄ４を差し引くことによって、メッセージ生成時点ｔ１を推定する。
【００３５】
送信側のＥＣＵ２による送信側内部遅延時間Ｄ１は、ＥＣＵ２の装置構成などにより定まる時間である。そこで、例えばＥＣＵ２の設計段階等において遅延時間Ｄ１の理論値若しくは設計値等を算出しておくか、又は、実際のＥＣＵ２の動作において遅延時間Ｄ１を測定しておくかし、送信側内部遅延時間Ｄ１の理論値又は測定値等をＲＯＭ３２に遅延時間定数３２ｂとして記憶しておく。記憶しておく送信側内部遅延時間Ｄ１は、全てのＥＣＵ２で共通の値であってもよく、それぞれのＥＣＵ２について個別の値であってもよい。生成時点推定部４２は、ＲＯＭ３２の遅延時間定数３２ｂを読み出すことによって、送信側内部遅延時間Ｄ１を取得することができる。
【００３６】
アービトレーション遅延時間Ｄ２は、送信が衝突したメッセージの数及び衝突したメッセージの優先度等に応じて大きく変化する時間である。このためＥＣＵ３は、メッセージの送信履歴を参照してアービトレーション遅延時間Ｄ２を推定する処理を、遅延時間推定部４１にて行う。なお遅延時間推定部４１による推定処理の詳細は後述する。
【００３７】
メッセージ送信時間Ｄ３は、受信したメッセージＭのビット数から一意的に定まる時間である。生成時点推定部４２は、受信したメッセージのビット数に応じてメッセージ送信時間Ｄ３を取得する。なおＥＣＵ２，３間で送受信するメッセージが固定長のシステムであれば、生成時点推定部４２は、メッセージ送信時間Ｄ３を固定値として記憶しておいてもよい。またＥＣＵ３が、遅延時間Ｄ１〜Ｄ４を実時間ではなく、ビット数で扱う構成である場合には、メッセージ送信時間Ｄ３は受信メッセージＭのビット数である。
【００３８】
受信側のＥＣＵ３による受信側内部遅延時間Ｄ４は、ＥＣＵ３の装置構成などにより定まる時間である。よって送信側内部遅延時間Ｄ１と同様に、例えばＥＣＵ３の設計段階等において遅延時間Ｄ４の理論値若しくは設計値等を算出しておくか、又は、実際のＥＣＵ３の動作において遅延時間Ｄ４を測定しておくかし、送信側内部遅延時間Ｄ４の理論値又は測定値等をＲＯＭ３２に遅延時間定数３２ｂとして記憶しておく。生成時点推定部４２は、ＲＯＭ３２の遅延時間定数３２ｂを読み出すことによって、受信側内部遅延時間Ｄ４を取得することができる。なお、処理部３１がＣＡＮ通信部３４からメッセージＭを受信した時点（即ちメッセージ送信完了時点ｔ４）を取得することができる場合、生成時点推定部４２は、受信側内部遅延Ｄ４を用いることなく、メッセージ送信完了時点ｔ４から遡ってメッセージ生成時点ｔ１を推定してよい。
【００３９】
なお、アービトレーション遅延時間Ｄ２及びメッセージ送信時間Ｄ３と比較して、送信側内部遅延時間Ｄ１及び受信側内部遅延時間Ｄ４は非常に小さな値である。このため生成時点推定部４２は、Ｄ１＝０及びＤ４＝０とみなしてメッセージ生成時点ｔ１（＝ｔ２）を推定する構成であってもよい。
【００４０】
図４Ａ〜Ｃは、ＥＣＵ３の遅延時間推定部４１による遅延時間推定処理を説明するための模式図であり、ＣＡＮバス上に送信されたメッセージの一例を２パターン示してある。本図において長方形領域として示されているものがメッセージであり、この長方形領域内に記載されている数値がＣＡＮ−ＩＤである。またＥＣＵ３は、ハッチングを付して示したＣＡＮ−ＩＤが６のメッセージを受信し、このメッセージのアービトレーションによる遅延時間Ｄ２を遅延時間推定部４１が推定する。
【００４１】
ＥＣＵ３のＣＡＮ通信部３４は、ＣＡＮバスに対する連続的なメッセージ送信の検出を連続送信検出部３４ａにて行っている。連続送信検出部３４ａは、一のメッセージの送信完了時点から次のメッセージの送信開始時点までの時間が所定時間に満たない場合に、これら２つのメッセージが連続的に送信されたものであると判断する。連続送信検出部３４ａは、メッセージの連続送信を検出した場合、連続するメッセージに関する情報を処理部３１へ通知する。このときに連続送信検出部３４ａは、例えば連続するメッセージの送信開始時点、送信完了時点（又はメッセージ長）、ＣＡＮ−ＩＤ等の情報を処理部３１へ通知する。処理部３１は、通知された情報をＲＡＭ３３の送信履歴記憶部３３ａに履歴として記憶する。なお送信履歴記憶部３３ａに記憶された情報は、所定時間が経過した場合などに削除してよい。
【００４２】
ＥＣＵ３の遅延時間推定部４１は、ＥＣＵ２からのメッセージを受信した場合、送信履歴記憶部３３ａに記憶された履歴を参照することによって、受信メッセージ以前に連続する他のメッセージが存在するか否かを判定する。連続する他のメッセージが以前に存在しない場合、遅延時間推定部４１は、アービトレーション遅延時間Ｄ２＝０と判断する。連続する他のメッセージが以前に存在する場合、遅延時間推定部４１は、これら一又は複数の他のメッセージのＣＡＮ−ＩＤを調べ、受信メッセージのＣＡＮ−ＩＤとの比較を行う。遅延時間推定部４１は、受信メッセージ以前に途切れることなく連続する優先度の高いメッセージを検索し、これらの中から最前に送信されたメッセージの送信開始時点を取得し、この送信開始時点から受信メッセージの送信開始時点までの時間をアービトレーション遅延時間Ｄ２であると推定する。
【００４３】
例えば図４Ａに示す例では、ＣＡＮ−ＩＤが２，３，１，６の４つのメッセージがこの順で送信され、ＣＡＮ−ＩＤが６のメッセージをＥＣＵ３が受信した場合である。ＥＣＵ３の遅延時間推定部４１は、受信メッセージ以前に送信された３つのメッセージが全て優先度の高いものであることから、３つのメッセージの中から最前に送信されたＣＡＮ−ＩＤが２のメッセージの送信開始時点を履歴から取得する。遅延時間推定部４１は、ＣＡＮ−ＩＤが２のメッセージの送信開始時点から、ＣＡＮ−ＩＤが６の受信メッセージの送信開始時点までの時間をアービトレーション遅延時間Ｄ２と推定する。
【００４４】
また例えば図４Ｂに示す例では、ＣＡＮ−ＩＤが８，２，１，６の４つのメッセージがこの順で送信され、ＣＡＮ−ＩＤが６のメッセージをＥＣＵ３が受信した場合である。ＥＣＵ３の遅延時間推定部４１は、受信メッセージ以前に送信された３つのメッセージのうち、受信メッセージ以前に途切れることなく連続する優先度の高いメッセージはＣＡＮ−ＩＤが２，１の２つのメッセージであると判断する。遅延時間推定部４１は、この２つのメッセージのうち、最前に送信されたＣＡＮ−ＩＤが２のメッセージの送信開始時点を履歴から取得する。遅延時間推定部４１は、ＣＡＮ−ＩＤが２のメッセージの送信開始時点から、ＣＡＮ−ＩＤが６の受信メッセージの送信開始時点までの時間をアービトレーション遅延時間Ｄ２と推定する。
【００４５】
また例えば図４Ｃに示す例では、ＣＡＮ−ＩＤが２，８，１，６の４つのメッセージがこの順で送信され、ＣＡＮ−ＩＤが６のメッセージをＥＣＵ３が受信した場合である。ＥＣＵ３の遅延時間推定部４１は、受信メッセージ以前に送信された３つのメッセージのうち、受信メッセージ以前に途切れることなく連続する優先度の高いメッセージはＣＡＮ−ＩＤが１のメッセージのみであると判断する。遅延時間推定部４１は、ＣＡＮ−ＩＤが１のメッセージの送信開始時点から、ＣＡＮ−ＩＤが６の受信メッセージの送信開始時点までの時間をアービトレーション遅延時間Ｄ２と推定する。
【００４６】
なお遅延時間推定部４１が推定するアービトレーション遅延時間Ｄ２は、あくまで推定値であり、実際の遅延時間と一致しない場合があり得る。例えば図４Ａにおいて、ＣＡＮ−ＩＤが２のメッセージと推定対象のＣＡＮ−ＩＤが６のメッセージとが同時的に送信されてアービトレーション処理が行われていた場合には、推定されたアービトレーション遅延時間Ｄ２と実際の遅延時間とが一致する。これに対して例えば図４Ａにおいて、ＣＡＮ−ＩＤが２のメッセージ送信時には推定対象のＣＡＮ−ＩＤが６のメッセージは送信されておらず、以降のＣＡＮ−ＩＤが３又は１のメッセージの送信と同時的に推定対象のＣＡＮ−ＩＤが６のメッセージが初めて送信されていた場合、実際の遅延時間は推定されたアービトレーション遅延時間Ｄ２より短い。また例えば、ＣＡＮ−ＩＤが１のメッセージ送信が完了した直後に推定対象のＣＡＮ−ＩＤが６のメッセージが初めて送信されていた可能性もある。即ち、遅延時間推定部４１が推定するアービトレーション遅延時間Ｄ２は、受信メッセージの最大遅延時間であり、実際の遅延時間は０〜Ｄ２の範囲内である。
【００４７】
遅延時間推定部４１が推定したアービトレーション遅延時間Ｄ２と、ＲＯＭ３２に遅延時間定数３２ｂとして記憶された送信側内部遅延Ｄ１及び受信側内部遅延Ｄ４と、受信メッセージのメッセージ送信時間Ｄ３とに基づいて、生成時点推定部４２は、受信メッセージの生成時点ｔ１を推定することができる。
【００４８】
図５は、ＥＣＵ３によるメッセージ生成時点推定処理の手順を示すフローチャートである。ＥＣＵ３の処理部３１は、ＣＡＮ通信部３４にて他のＥＣＵ２から所望のメッセージを受信したか否かを判定する（ステップＳ１）。メッセージを受信していない場合（Ｓ１：ＮＯ）、処理部３１は、メッセージを受信するまで待機する。所望のメッセージを受信した場合（Ｓ１：ＹＥＳ）、処理部３１の遅延時間推定部４１は、ＲＡＭ３３の送信履歴記憶部３３ａに記憶された送信履歴を参照する（ステップＳ２）。遅延時間推定部４１は、記憶された送信履歴に基づいて、ステップＳ１にて受信した受信メッセージ以前に連続して送信された他のメッセージが存在するか否かを判定する（ステップＳ３）。連続して送信された他のメッセージが存在しない場合（Ｓ３：ＮＯ）、遅延時間推定部４１は、アービトレーション遅延時間Ｄ２＝０として（ステップＳ８）、ステップＳ９へ処理を進める。
【００４９】
受信メッセージ以前に連続して送信された他のメッセージが存在する場合（Ｓ３：ＹＥＳ）、遅延時間推定部４１は、送信履歴記憶部３３ａに記憶された履歴情報に基づいて、連続する他のメッセージの優先度を調べる（ステップＳ４）。遅延時間推定部４１は、受信メッセージ以前に連続する一又は複数の他のメッセージの中に、受信メッセージの優先度よりも高優先度のメッセージが存在するか否かを判定する（ステップＳ５）。高優先度のメッセージが存在しない場合（Ｓ５：ＮＯ）、遅延時間推定部４１は、アービトレーション遅延時間Ｄ２＝０として（ステップＳ８）、ステップＳ９へ処理を進める。
【００５０】
高優先度のメッセージが存在する場合（Ｓ５：ＹＥＳ）、遅延時間推定部４１は、受信メッセージ以前に途切れることなく連続する高優先度のメッセージのうち、最前（即ち、最も送信開始時点が早いもの）のメッセージの送信開始時点を、送信履歴記憶部３３ａに記憶された送信履歴から取得する（ステップＳ６）。遅延時間推定部４１は、ステップＳ６にて取得した最前の高優先度メッセージの送信開始時点と、ステップＳ１にて受信した受信メッセージの送信開始時点との差分に基づいてアービトレーション遅延時間Ｄ２を算出し（ステップＳ７）、ステップＳ９へ処理を進める。
【００５１】
次いで処理部３１の生成時点推定部４２は、ＲＯＭ３２の遅延時間定数３２ｂとして記憶されている送信側内部遅延時間Ｄ１及び受信側内部遅延時間Ｄ４を取得すると共に（ステップＳ９）、ステップＳ１にて受信した受信メッセージの送信時間Ｄ３を取得する（ステップＳ１０）。生成時点推定部４２は、送信側内部遅延時間Ｄ１、アービトレーション遅延時間Ｄ２、メッセージ送信時間Ｄ３、受信側内部遅延時間Ｄ４及び受信メッセージの受信完了時点ｔ４に基づいて、受信メッセージの生成時点ｔ１を算出し（ステップＳ１１）、処理を終了する。
【００５２】
以上の構成の本実施の形態に係る通信システムは、少なくとも１つのＥＣＵ３がアービトレーション処理によるメッセージの遅延時間Ｄ２を推定する処理を行う機能を備えている。ＥＣＵ３は、ＣＡＮ通信部３４の連続送信検出部３４ａがＣＡＮバスに対するＥＣＵ２の連続的なメッセージ送信を検出し、自らが受信したメッセージが他のメッセージと連続的に送信されたものであるか否かを遅延時間推定部４１が判定する。受信メッセージが他のメッセージと連続的に送信されたものである場合、この受信メッセージはアービトレーション処理により遅延している可能性があるため、遅延時間推定部４１は、受信メッセージ以前に連続する一又は複数の他のメッセージの優先度（ＣＡＮ−ＩＤ）を調べ、各メッセージの優先度に応じて受信メッセージがアービトレーション処理により遅延した時間を推定する。
【００５３】
このような受信メッセージのアービトレーション処理による遅延時間を推定する構成は、メッセージ送信側のＥＣＵ２は何ら特別な処理を行う必要がないため、受信メッセージの遅延時間の推定を必要とするＥＣＵ３にのみこの機能を搭載すればよい。よって従来のＣＡＮプロトコルによる通信を行う通信システムに対して、必要な通信装置にのみ機能拡張を行えばよいため、本実施の形態に係る通信システムは低コストで実現することができる。
【００５４】
受信メッセージ以前に連続する他のメッセージについて、他のメッセージの優先度が受信メッセージの優先度より高い場合には、受信メッセージはこれらの他のメッセージとの衝突により送信が遅延した可能性がある。これに対して、他のメッセージの優先度が受信メッセージの優先度より低い場合には、アービトレーション処理において受信メッセージの送信が優先されるため、受信メッセージは他のメッセージとの衝突により遅延していない。そこで遅延時間推定部４１は、受信メッセージ以前に途切れることなく連続する優先度の高いメッセージを調べ、これらの中から最前の他のメッセージの送信開始時点に応じて遅延時間を推定する。これにより、受信メッセージが優先度の高い他のメッセージとのアービトレーション処理により遅延した時間を推定することができる。
【００５５】
またＥＣＵ３の生成時点推定部４２は、遅延時間推定部４１が推定した遅延時間に基づいて、受信したメッセージが送信元のＥＣＵ２により生成された時点を推定する。生成時点推定部４２は、送信側のＥＣＵ２によるメッセージ生成からメッセージ送信までの遅延時間Ｄ１と、推定されたアービトレーション処理による遅延時間Ｄ２と、メッセージの送信時間Ｄ３と、送信側のＥＣＵ２によるメッセージ送信完了から受信側のＥＣＵ３によるメッセージ受信完了までの遅延時間Ｄ４とに基づいて、メッセージの生成時点ｔ１を推定する。送信側内部遅延時間Ｄ１及び受信側内部遅延時間Ｄ４は、設計値又は実測値等をＥＣＵ３のＲＯＭ３２に遅延時間定数３２ｂとして記憶しておく。
【００５６】
これによりＥＣＵ３は、受信したメッセージの生成時点を推定することができる。例えばＥＣＵ２が車速又は温度等のセンサによる検出値をメッセージとして送信し、ＥＣＵ３がメッセージに含まれる検出値に応じてフィードバック制御などを行うシステムである場合、メッセージの遅延時間及びＥＣＵ３はメッセージの生成時点を推定することによって、より精度のよい制御を行うことが可能となる。また例えばＥＣＵ２からのメッセージに応じてＥＣＵ３が同期処理を行う場合に、メッセージの遅延時間を推定することによって、より精度のよい同期を実現できる。
【００５７】
また連続送信検出部３４ａは、一のメッセージの送信完了時点と、これに続く次のメッセージの送信開始時点との間隔が所定時間（例えば、ＩＦＳの２ビット又は３ビットに応じた所定時間）に満たない場合に、２つのメッセージが連続していると判断する。ＥＣＵ３は、連続送信検出部２４ａが連続していると判断したメッセージについて、送信開始時点及び優先度等の情報をＲＡＭ３３の送信履歴記憶部３３ａに記憶しておく。これにより遅延時間推定部４１は、受信メッセージが連続的に送信されたものであるか否かの判定、及び、連続的に送信された他のメッセージの優先度に基づく遅延時間の推定等の処理を行うことができる。
【００５８】
なお本実施の形態においては、遅延時間推定部４１による遅延時間推定処理及び生成時点推定部４２による生成時点推定処理等の処理を処理部３１（いわゆるＣＰＵなど）が行う構成としたが、これに限るものではなく、これらの処理をＣＡＮ通信部５３（いわゆるＣＡＮコントローラなど）が行う構成としてもよい。また連続送信検出部３４ａによるメッセージの連続送信の検出処理は、ＣＡＮ通信部３４が行うのではなく、処理部３１が行う構成であってよい。
【００５９】
またＥＣＵ３は、連続送信検出部３４ａが連続していると判断したメッセージについての情報を送信履歴記憶部３３ａに記憶する構成としたが、これに限るものではなく、例えばＣＡＮバス上に送信された全てのメッセージの履歴を記憶しておいてもよい。この場合、ＣＡＮ通信部３４は連続送信検出部３４ａによる処理を行う必要はなく、処理部３１が遅延時間の推定処理を行う際に、送信履歴記憶部３３ａに記憶されたメッセージが連続しているか否かを判断すればよい。
【００６０】
また本実施の形態においては、車両１に搭載された通信システムを例に説明を行ったが、通信システムは車両１に搭載されるものに限らず、例えば飛行機又は船舶等の移動体に搭載されるものであってよく、また例えば移動体ではなく工場、オフィス又は学校等に設置されるものであってもよい。
【００６１】
（実施の形態２）
図６は、実施の形態２に係る通信システムの構成を示す模式図である。実施の形態２に係る通信システムは、車両１に搭載された複数のＥＣＵ２と、１つの監視装置２０３とを備えて構成されている。ＥＣＵ２及び監視装置２０３は、車両１に敷設されたＣＡＮバスを介して接続され、相互にメッセージを送受信することができる。監視装置２０３は、車内ネットワークに対する不正なメッセージ送信を監視する装置である。監視装置２０３は、監視専用の装置として設けられてもよく、例えばゲートウェイなどの装置に監視の機能を付加した構成であってもよく、また例えば実施の形態１のＥＣＵ３に監視の機能を付加した構成であってもよい。
【００６２】
本実施の形態に係るＥＣＵ２は、センサなどが検知した情報又は制御対象の機器からのフィードバック情報等の情報を取得し、取得した情報を含むＣＡＮプロトコルのメッセージを作成し、作成したメッセージをＣＡＮバスに対して送信する処理を周期的に行う。なおメッセージの送信周期はＣＡＮ−ＩＤ毎に定められており、ＥＣＵ２はＣＡＮ−ＩＤ毎に異なる周期で送信を行うことができる。
【００６３】
図７は、監視装置２０３の構成を示すブロック図である。実施の形態２に係る監視装置２０３は、実施の形態１に係るＥＣＵ３と同様の遅延時間推定機能及び生成時点推定機能等を有すると共に、不正なメッセージ送信の監視処理を行う監視処理部４３を処理部３１に備えている。
【００６４】
不正なメッセージとして、例えばＣＡＮバスに対して不正な通信装置が不正に接続され、この通信装置が不正なメッセージをＣＡＮバス上に送信することが考えられる。また例えば、車両１に搭載されたいずれかのＥＣＵ２に不正な改造又は改変等がなされ、このＥＣＵ２が不正なメッセージを送信することが考えられる。これらは不正なメッセージの一例であり、監視装置２０３が検出する不正なメッセージはこれら以外の要因によるものであってよい。
【００６５】
不正な通信装置は、ＣＡＮプロトコルに従い、特定のＣＡＮ−ＩＤを付した不正メッセージを送信することができる。このような不正メッセージに付されるＣＡＮ−ＩＤは、車両１の通信システムにおいて利用される正当なものが用いられるが、不正メッセージに含まれる他のデータは不正なデータとなる。ＣＡＮ−ＩＤに基づいてＥＣＵ２が不正メッセージを受信した場合、ＥＣＵ２は不正なデータに基づく処理を行うこととなる。実施の形態２に係る通信システムでは、正規のＣＡＮ−ＩＤが付された不正メッセージ、いわゆるなりすましメッセージの検出を行うものである。
【００６６】
実施の形態２に係る監視装置２０３は、周期的に送信されるべきメッセージについて、このメッセージが正しい周期で送信されているか否かを判断することにより、不正なメッセージの検出を行う。図８は、監視装置２０３による不正メッセージ検出処理を説明するための模式図である。監視装置２０３は、通信システム内で送受信されるメッセージに付されるＣＡＮ−ＩＤ毎に、このＣＡＮ−ＩＤを有するメッセージの送信を許可する許可期間を決定する。図８には、ある１つのＣＡＮ−ＩＤが付されるメッセージについて、監視装置２０３が決定した許可期間などを図示してある。なお実施の形態２においては、１つのＣＡＮ−ＩＤを複数のＥＣＵ２が利用する、即ち同一のＣＡＮ−ＩＤが付されたメッセージを複数のＥＣＵ２が送信することはないものとしている。
【００６７】
本例において、監視装置２０３が監視対象とするメッセージの送信周期はＴである。監視装置２０３の監視処理部４３は、このメッセージを送信するＥＣＵ２との間で所定の手続を行うことによって、メッセージ送信の基準時点ｔａを決定する。例えば監視装置２０３は、ＥＣＵ２に対して基準時点ｔａを決定するための処理を行う要求を含むメッセージを送信する。このメッセージを受信したＥＣＵ２は、応答メッセージを監視装置２０３へ送信すると共に、この応答メッセージの生成時点を基準時点ｔａとする。ＥＣＵ２からの応答メッセージを受信した監視装置２０３は、実施の形態１に係るＥＣＵ３と同様の手順で、応答メッセージに関して遅延時間推定部４１による遅延時間推定処理及び生成時点推定部４２による生成時点推定処理を行う。監視装置２０３は、応答メッセージに関して推定したメッセージ生成時点を基準時点ｔａとする。
【００６８】
なお本例においては、基準時点ｔａを応答メッセージの生成時点（図３においてｔ１）とするが、これ以外の時点を基準時点ｔａとしてもよい。例えばＥＣＵ２が応答メッセージの送信の試みを開始した時点（図３においてｔ２）を基準時点ｔａとしてもよい。また、例えば遅延時間推定部４１が推定した遅延時間が所定時間以上である場合には、ＥＣＵ２及び監視装置２０３が基準時点ｔａを決定する処理をやり直してもよい。
【００６９】
監視装置２０３の監視処理部４３は、基準時点ｔａに対して送信周期Ｔを加えた時点ｔｂをメッセージの送信予定時点ｔｂとする。同様に、監視処理部４３は、基準時点ｔａに対して送信周期Ｔの２倍を加えた時点ｔｃを送信予定時点ｔｃとする。以降の送信予定時点についても同様である。監視処理部４３は、送信予定時点ｔｂに対して所定の期間Ａ及び期間Ｂの猶予を設けた期間を許可期間と決定する。監視処理部４３は、ｔｂ−Ａ≦ｔ≦ｔｂ＋Ｂの期間を許可期間と決定する。送信予定時点ｔｃ以降についても同様である。なお許可期間を決定するための期間Ａ及び期間Ｂは、例えば通信システムのシミュレーション又は実機での測定結果等に基づいて、予め決定される。期間Ａ及び期間Ｂは、全てのメッセージについて同じ値を用いてもよく、例えばＣＡＮ−ＩＤ毎に異なる値を用いてもよい。期間Ａは、監視装置２０３とこのメッセージを送信するＥＣＵ２とのクロック誤差などに基づいて決定することができる。期間Ｂは、このメッセージがアービトレーション処理によって遅延する時間を考慮して決定される。
【００７０】
監視装置２０３のＣＡＮ通信部３４は、ＣＡＮバスに対するメッセージの送信を監視しており、メッセージ送信を検出した場合に処理部３１へ通知する。処理部３１の監視処理部４３は、ＣＡＮ通信部３４からの通知に基づいて、送信されたメッセージのＣＡＮ−ＩＤ、及び、メッセージ送信の開始時点又は終了時点に関する情報を取得する。また監視処理部４３は、送信が検出されたメッセージが、許可期間内に送信されたものであるか否かを判定する。監視処理部４３は、メッセージが許可期間内に送信されたものではない場合、このメッセージが不正メッセージであると判断し、ＣＡＮバスに接続されたＥＣＵ２に対して、このメッセージを破棄させる処理を行う。
【００７１】
本実施の形態に係る通信システムにて送受信されるメッセージは、ＣＡＮプロトコルに従ったものであり、ＣＡＮヘッダ、データフィールド、ＣＲＣ（Cyclic Redundancy Check）フィールド、ＡＣＫフィールド及びＥＯＦ（End Of Frame）等を含んで構成されている。ＣＡＮヘッダは、従来のＣＡＮプロトコルにおけるＳＯＦ（Start Of Frame）、アービトレーションフィールド及びコントロールフィールド等を含むものであり、アービトレーションフィールドに上述のＣＡＮ−ＩＤが設定される。データフィールドは、例えばＥＣＵ２に対する制御指示又はセンサ検知結果等のように、ＥＣＵ２間で授受すべき情報の本体が格納される。ＣＲＣフィールド、ＡＣＫフィールド及びＥＯＦは、従来のＣＡＮプロトコルにて用いられるものと同じであるため詳細な説明は省略する。ＣＲＣフィールドは、誤り検出を行うための情報を格納する。ＡＣＫフィールドは、このフレームを受信するＥＣＵ２による受信応答のためのフィールドである。ＥＯＦは、フィールドの終了を示す特定のビット列である。
【００７２】
監視装置２０３の監視処理部４３は、送信を許可しないと判定したメッセージについて、このメッセージのＥＯＦの出力期間中に、ＣＡＮバスに対してエラーフレームを送信する。このエラーフレームにより、ＣＡＮバスに接続された全てのＥＣＵ２は、受信中の不正なメッセージを破棄することができる。
【００７３】
以上の構成の実施の形態２に係る通信システムは、不正な装置によるＣＡＮバスに対する不正なメッセージ送信を監視装置２０３が検出することによって、車両１の信頼性を高めることを可能としたものである。監視処理に必要なＥＣＵ２との基準時点決定処理において、監視装置２０３は、ＥＣＵ２から受信した応答メッセージのメッセージ生成時点を推定し、推定した時点を基準時点ｔａとする。これにより、監視装置２０３の基準時点ｔａと、ＥＣＵ２の基準時点ｔａとを精度よく一致させることができ、監視装置２０３による監視処理を精度良く行うことができる。
【符号の説明】
【００７４】
１  車両
２  ＥＣＵ（通信装置）
３  ＥＣＵ（少なくとも１つの通信装置）
３１  処理部（メッセージ生成部、判定部）
３２  ＲＯＭ
３２ａ  プログラム
３２ｂ  遅延時間定数
３３  ＲＡＭ
３３ａ  送信履歴記憶部（履歴記憶部）
３４  ＣＡＮ通信部（メッセージ送信部、メッセージ受信部、調停手段）
３４ａ  連続送信検出部
４１  遅延時間推定部
４２  生成時点推定部
４３  監視処理部
２０３  監視装置（通信制御装置）
【図１】
0006282216.tif 000002
【図２】
0006282216.tif 000003
【図３】
0006282216.tif 000004
【図４】
0006282216.tif 000005
【図５】
0006282216.tif 000006
【図６】
0006282216.tif 000007
【図７】
0006282216.tif 000008
【図８】
0006282216.tif 000009