(57)【特許請求の範囲】
【請求項１】
第１通信線（４）と、
第２通信線（６）と、
前記第１通信線を介して接続された複数の第１電子制御装置（１０，１２）と、
複数の前記第１電子制御装置とともに、前記第２通信線を介して接続された少なくとも１つの第２電子制御装置（１４，１６，１８）と、を備える通信システムであって、
複数の前記第１電子制御装置のうちの１つは、マスタノードとして、
時間を合わせるための第１基準信号を、前記第１通信線に対して送信する第１基準信号送信部（Ｓ１２，Ｓ５２）と、
前記第１通信線を介した通信の異常を検知する異常検知部（Ｓ１１０，Ｓ１１２，Ｓ１１４）と、
前記異常検知部により異常が検知されると、時間を合わせるための第２基準信号を、前記第２通信線に対して定期的に送信する第２基準信号送信部（Ｓ１２，Ｓ１５２）と、を有し、
複数の前記第１電子制御装置は、
前記第１基準信号に応じて、同期データを前記第１通信線に対して送信する第１同期データ送信部（Ｓ１６，Ｓ５２，Ｓ８２）と、
前記第２基準信号を受信したことに応じて、少なくとも１つ以上の前記同期データを前記第２通信線に対して送信する第２同期データ送信部（Ｓ１６，Ｓ１５２，Ｓ１５８，Ｓ１８２，Ｓ１８８）と、をそれぞれ有し、
前記第１電子制御装置及び前記第２電子制御装置は、
非同期データに予め対応付けられた所定の優先順位情報を、前記第２通信線に対して送信する優先順位送信部（Ｓ１２，Ｓ４０）と、
自身が送信した優先順位情報と、他から前記第２通信線に送信された優先順位情報とのいずれが、より高い優先順位を示すかを判定する優先順位判定部（Ｓ１４）と、
自身が送信した優先順位情報が他から送信された優先順位情報よりも高い優先順位を示すと判定された場合に、前記優先順位情報に引き続いて、前記非同期データを送信する非同期データ送信部（Ｓ１６）と、をそれぞれ有し、
前記第２基準信号送信部は、少なくとも１つの前記非同期データの優先順位よりも高い優先順位を備えた前記第２基準信号を送信し、
前記第２同期データ送信部は、少なくとも１つの前記非同期データの優先順位より高い優先順位を備える前記同期データを送信するとともに、前記第２基準信号を受信してから次の前記第２基準信号を受信するまでの所定時間内において、送信すべき全ての前記同期データを、少なくとも１つの前記非同期データが送信可能な間隔を空けるように複数のタイミングに分けて送信する通信システム。
【請求項２】
前記第２同期データ送信部が送信する前記同期データの数は、前記第１同期データ送信部が送信する前記同期データの数よりも少なくされる請求項１に記載の通信システム。
【請求項３】
前記第２基準信号送信部が送信する前記第２基準信号の送信周期は、前記第１基準信号送信部が送信する前記第１基準信号の送信周期よりも長くされる請求項１又は請求項２に記載の通信システム。
【請求項４】
複数の前記第１電子制御装置は、
前記所定時間内に受信すべき全ての前記同期データのうち、最後に送信される前記同期データを受信したか否かを判定する受信完了判定部（Ｓ５６，Ｓ８６，Ｓ１６０，Ｓ１９０）を有し、
最後に送信される前記同期データを受信したと判定された場合、受信した前記同期データを同期制御のための制御情報とする請求項１〜３いずれか１項に記載の通信システム。
【請求項５】
複数の前記第１電子制御装置は、最後に送信される前記同期データを受信していないと判定された場合、全ての前記同期データを破棄するデータ破棄部（Ｓ６８，Ｓ９８，Ｓ１６８，Ｓ１９８）を有する請求項４に記載の通信システム。
【請求項６】
前記マスタノードは、
前記非同期データの少なくとも１つより低い優先順位を備えた測定データを、前記第２通信線に送信する測定データ送信部（Ｓ１９０）と、
前記測定データを送信してから受信するまでにかかる時間が、予め設定された基準時間以上であるか否かを検出する負荷検出部（Ｓ２１６）と、を有する請求項１〜５いずれか１項に記載の通信システム。
【請求項７】
前記マスタノードは、前記測定データを送信してから受信するまでにかかる時間が、前記基準時間以上であると判定された場合、前記第２同期データ送信部が送信する前記同期データの数を、前記基準時間未満と判定された場合よりも少なく設定するデータ数設定部（Ｓ２２０，Ｓ２２２）を有する請求項６に記載の通信システム。
【請求項８】
前記マスタノードは、前記測定データを送信してから受信するまでにかかる時間が、前記基準時間以上であると判定された場合、前記第２基準信号を送信する周期を、前記基準時間未満と判定された場合よりも長くする周期設定部（Ｓ２２３）を有する請求項６に記載の通信システム。
【請求項９】
前記第２基準信号の優先順位は、全ての前記非同期データの優先順位よりも高くされている請求項１〜８いずれか１項に記載の通信システム。
【請求項１０】
前記同期データの優先順位は、全ての前記非同期データの優先順位よりも高くされている請求項１〜９いずれか１項に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この明細書における開示は、複数の電子制御装置が通信線を介して接続された通信システムに関する。
【背景技術】
【０００２】
たとえば車両の走行制御のためには、ほぼ同じ時期に取得された各種同期データを複数の第１電子制御装置で共有する必要がある。たとえば特許文献１に記載のように、第１電子制御装置の１つがマスタノードとして通信線にリファレンスメッセージを定期的に送信し、リファレンスメッセージを受信した第１電子制御装置が、受信に応じて同期データを送信する手法が知られている。
【０００３】
それ以外にも、ＴＴＣＡＮ（ＩＳＯ１１８９８−４）、ＦｌｅｘＲａｙ（登録商標）などのように、マスタノードから定期的に送信される期間開始信号に応じた所定タイミングで、同期データを送信する手法（タイムトリガ方式）も知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−３０１５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記した従来の手法においては、同期データを送信する通信線（以下、第１通信線と示す）の断線、通信トランシーバの故障などが生じると、第１通信線を介した同期データの通信ができなくなる。すなわち、複数の第１電子制御装置で同期データの共有ができなくなり、走行制御に影響を及ぼす。
【０００６】
通信システムが第１通信線とは別に第２通信線を備える構成では、第１通信線を介した通信に異常が生じた場合に、第２通信線を介して同期データを共有することが考えられる。しかしながら、第２通信線には、第１電子制御装置だけでなく、第１電子制御装置とは別の第２電子制御装置が接続されている。第２通信線を介した通信方式としては、たとえばＩＳＯ１１８９８−１において規格化されたＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）が一般的である。第２通信線を介した通信方式では、各電子制御装置が送信するデータに優先順位を割り当て、その優先順位に基づく調停によって、任意の電子制御装置間で通信を可能としている。しかしながら、第２通信線を介した通信方式はイベントドリブン方式であり、各種データの同期が取れないという問題が生じる。
【０００７】
これに対し、第１通信線を介した通信に異常が生じた場合に、マスタノードが、第２通信線を介して優先順位の高いリファレンスメッセージを定期的に送信し、リファレンスメッセージを受信した第１電子制御装置が、受信に応じた所定タイミングで同期データを連続して送信することが考えられる。これにより同期通信が可能となるが、非同期データが調停により負け、非同期データの送信が通常時よりも遅れてしまう。
【０００８】
本開示はこのような課題に鑑みてなされたものであり、第１通信線を介した通信に異常が生じても同期データを送信でき、且つ、非同期データの送信遅れを抑制できる通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本開示は、上記目的を達成するために以下の技術的手段を採用する。なお、括弧内の符号は、ひとつの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、技術的範囲を限定するものではない。
【００１０】
本開示のひとつは、第１通信線（４）と、
第２通信線（６）と、
第１通信線を介して接続された複数の第１電子制御装置（１０，１２）と、
複数の第１電子制御装置とともに、第２通信線を介して接続された少なくとも１つの第２電子制御装置（１４，１６，１８）と、を備える通信システムであって、
複数の第１電子制御装置のうちの１つは、マスタノードとして、
時間を合わせるための第１基準信号を、第１通信線に対して送信する第１基準信号送信部（Ｓ１２，Ｓ５０）と、
第１通信線を介した通信の異常を検知する異常検知部（Ｓ１００，Ｓ１０２，Ｓ１０４）と、
異常検知部により異常が検知されると、時間を合わせるための第２基準信号を、第２通信線に対して定期的に送信する第２基準信号送信部（Ｓ１２，Ｓ１２０）と、を有し、
複数の第１電子制御装置は、
第１基準信号に応じて、同期データを第１通信線に対して送信する第１同期データ送信部（Ｓ１６，Ｓ５０，Ｓ７２）と、
第２基準信号を受信したことに応じて、少なくとも１つ以上の同期データを第２通信線に対して送信する第２同期データ送信部（Ｓ１６，Ｓ１２０，Ｓ１２６，Ｓ１４２，Ｓ１４８）と、をそれぞれ有し、
第１電子制御装置及び第２電子制御装置は、
非同期データに予め対応付けられた所定の優先順位情報を、第２通信線に対して送信する優先順位送信部（Ｓ１２，Ｓ４０）と、
自身が送信した優先順位情報と、他から第２通信線に送信された優先順位情報とのいずれが、より高い優先順位を示すかを判定する優先順位判定部（Ｓ１４）と、
自身が送信した優先順位情報が他から送信された優先順位情報よりも高い優先順位を示すと判定された場合に、優先順位情報に引き続いて、非同期データを送信する非同期データ送信部（Ｓ１６）と、をそれぞれ有し、
第２基準信号送信部は、少なくとも１つの非同期データの優先順位よりも高い優先順位を備えた第２基準信号を送信し、
第２同期データ送信部は、少なくとも１つの非同期データの優先順位より高い優先順位を備える同期データを送信するとともに、第２基準信号を受信してから次の第２基準信号を受信するまでの所定時間内において、送信すべき全ての同期データを、少なくとも１つの非同期データが送信可能な間隔を空けるように複数のタイミングに分けて送信する。
【００１１】
これによれば、第１通信線を介した通信に異常が生じた場合でも、第２通信線を介して同期データを送信することができる。また、第２通信線を介して同期データを送信する際、第２基準信号を受信してから次の第２基準信号を受信するまでの所定時間内において、送信すべき全ての同期データを複数のタイミングに分けて送信し、同期データの送信タイミングの間に設けられた所定期間（間隔）に非同期データを送信する。したがって、非同期データの送信遅れを抑制できる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る通信システムの概略構成を示す図である。
【図２】通信を行うための第１ＥＣＵの内部構成を示した図である。
【図３】通信を行うための第２ＥＣＵの内部構成を示した図である。
【図４】メッセージを送受信するために、各ＥＣＵが実行する処理を示すフローチャートである。
【図５】非同期メッセージを送信する各ＥＣＵにおいて行われる処理を示すフローチャートである。
【図６】第１通信線を介した通信に異常が無い場合に、マスタノードとしての第１ＥＣＵが実行する処理を示すフローチャートである。
【図７】第１通信線を介した通信に異常が無い場合に、スレーブノードとしての第１ＥＣＵが実行する処理を示すフローチャートである。
【図８】マスタノードとしての第１ＥＣＵが通信異常時に実行する処理を示すフローチャートである。
【図９】スレーブノードとしての第１ＥＣＵが通信異常時に実行する処理を示すフローチャートである。
【図１０】第１通信線を介した通信に異常が生じた場合に、マスタノードとしての第１ＥＣＵが実行する処理を示すフローチャートである。
【図１１】第１通信線を介した通信に異常が生じた場合に、スレーブノードとしての第１ＥＣＵが実行する処理を示すフローチャートである。
【図１２】第２通信線の負荷を検出する処理を示すフローチャートである。
【図１３】第１通信線による通信が正常な場合と異常な場合との、メッセージ送信の一態様を示す図である。
【図１４】第１変形例示すフローチャートである。
【発明を実施するための形態】
【００１３】
図面を参照しながら、複数の実施形態を説明する。複数の実施形態において、機能的に及び／又は構造的に対応する部分には同一の参照符号を付与する。
【００１４】
（第１実施形態）
先ず、図１に基づき、通信システムの概略構成について説明する。なお、本実施形態では、第２通信線を介した通信だけでなく、第１通信線を介した通信についても、ＣＡＮプロトコルにしたがう例を示す。
【００１５】
図１に示すように、通信システム２は、第１通信線４と、第２通信線６と、複数のＥＣＵ８と、を備えている。ＥＣＵ８は、第１通信線４を介して接続された第１ＥＣＵ１０，１２と、第２ＥＣＵ１４，１６，１８と、を有している。第１ＥＣＵ１０，１２及び第２ＥＣＵ１４，１６，１８を含む複数のＥＣＵ８は、第２通信線６を介して接続されている。
【００１６】
この通信システム２は、たとえば乗用車などの車両に搭載されている。本実施形態では、ハイブリッド車に搭載されている。各ＥＣＵ８は、車両に搭載された各種の車載機器（エンジンの燃料噴射装置、点火装置、モータ、ブレーキ装置など）を制御するためのものである。たとえば第１ＥＣＵ１０として統合制御用のＨＶＥＣＵ、第１ＥＣＵ１２としてＭＧＥＣＵ、第２ＥＣＵ１４，１６，１８として、エンジンＥＣＵ、ブレーキＥＣＵ、ゲートウェイＥＣＵを採用することができる。第１ＥＣＵ１０，１２が第１電子制御装置に相当し、第２ＥＣＵ１４，１６，１８が第２電子制御装置に相当する。
【００１７】
第１ＥＣＵ１０，１２のうちの１つが、マスタノードとして選定される。本実施形態では、第１ＥＣＵ１０がマスタノードとして選定されている。マスタノードとしての第１ＥＣＵ１０は、第１通信線４を介して他の第１ＥＣＵ１２に対し、時間を合わせるための第１基準信号としてリファレンスメッセージを定期的に送信する。また、第１ＥＣＵ１０は、第１通信線４を介した通信に異常が生じた場合に、第２通信線６を介して他の第１ＥＣＵ１２に対し、時間を合わせるための第２基準信号としてリファレンスメッセージを定期的に送信する。なお、メッセージは、フレームと称することもできる。
【００１８】
第１ＥＣＵ１０，１２は、リファレンスメッセージを受信したことに応じて、第１通信線４に同期制御のための同期データを含む同期メッセージを送信する。同期データとしては、たとえばエンジンの目標トルク、ＭＧの目標トルク、エンジン回転数、ＭＧの回転数、ＭＧの回転位置、電池電流、電池電圧などが含まれる。第１ＥＣＵ１０，１２は、リファレンスメッセージを受信したことに応じて、第２通信線６に同期制御のための同期メッセージを送信する。また、第２ＥＣＵ１４、１６，１８は、リファレンスメッセージの受信とは無関係に、所定の事象に基づきメッセージ送信要求が生じたことに応じて非同期データを含む非同期メッセージを送信する。
【００１９】
本実施形態による通信システム２では、各ＥＣＵ８が送信するメッセージ（同期メッセージ及び非同期メッセージ）には、従来のＣＡＮと同様に、含まれるデータの重要度や種別などに応じて、予め優先順位が定められている。そして、各メッセージの送信に際しては、先ず各メッセージの優先順位を示す優先順位情報（ＩＤコード）が送信される。このとき、複数のメッセージの優先順位情報の送信が競合した場合には、それぞれの優先順位情報の調停が行われ、より高い優先順位を持つ優先順位情報が送信権を獲得するようになっている。
【００２０】
マスタノードである第１ＥＣＵ１０が送信するリファレンスメッセージは、他の第１ＥＣＵ１２が送信する同期メッセージや、他のＥＣＵ８（１２〜１８）が送信する非同期メッセージよりも高い優先順位を持っている。このため、リファレンスメッセージの送信を行うべきときに、他のメッセージの送信と競合した場合であっても、リファレンスメッセージの送信が調停負けによって遅れることを防ぐことができ、その結果、マスタノードは、ほぼ一定間隔で、リファレンスメッセージを送信することができる。本実施形態では、優先順位情報にリファレンスメッセージのトリガ機能を持たせ、リファレンスメッセージ内（フレーム内）のデータ領域に同期データを含ませている。このため、時間合わせのためのトリガ専用の基準信号を送信することを不要とすることができる。
【００２１】
次に、図２及び図３に基づき、各ＥＣＵ８のハードウェア構成について説明する。
【００２２】
ＥＣＵ８（１０〜１８）のハードウェア構成は、ＣＡＮとしての通信を実施可能な周知の構成とされている。また、第１ＥＣＵ１０，１２においては、それぞれ同様のハードウェア構成とされており、第２ＥＣＵ１４，１６，１８においては、それぞれ同様のハードウェア構成とされている。ハードウェア構成に関する以下の説明では、第１ＥＣＵ１０，第２ＥＣＵ１４を例に簡単に説明する。
【００２３】
図２に示すように、第１ＥＣＵ１０はマイコン２０を有している。マイコン２０は、ＣＰＵ２２、図示しないＲＡＭ及びＲＯＭ、コントローラ２４ａ，２４ｂなどを備えた周知のコンピュータとして構成されている。コントローラ２４ａは、ＣＡＮプロトコルにしたがって他の第１ＥＣＵ１２との通信を制御する。コントローラ２４ｂは、ＣＡＮプロトコルにしたがって他のＥＣＵ８（１２〜１８）との通信を制御する。ＣＰＵ２２は、コントローラ２４ａ，２４ｂを介して他のＥＣＵ８（１２〜１８）との間でメッセージを交換することにより、他のＥＣＵ８と連携して各種制御処理を実行する。
【００２４】
第１ＥＣＵ１０は、コントローラ２４ａが生成する同期メッセージを、第１通信線４を介して送受信するためのトランシーバ２６ａと、コントローラ２４ｂが生成するメッセージ（同期メッセージ及び非同期メッセージ）を、第２通信線６を介して送受信するためのトランシーバ２６ｂと、をさらに有している。
【００２５】
各コントローラ２４ａ，２４ｂは、公知のように、ＥＣＵ８間で送受信されるデータ等を格納するためのメッセージボックス２８ａ，２８ｂを複数有している。コントローラ２４ａは、メッセージボックス２８ａの格納値に基づいて同期データをメッセージ化（フレーム化）し、トランシーバ２６ａを介して対応する第１通信線４に送信する送信制御、トランシーバ２６ａを介して同期メッセージを受信して同期データの抽出等を行う受信制御、第１通信線４上で同期メッセージが衝突した際の送信権の調停制御（ビット単位非破壊アービトレーション）、同期メッセージの送受信に関連して生じるエラーの検出，通知等、ＣＡＮプロトコルに従った通信制御を実行する。
【００２６】
同じく、コントローラ２４ｂは、メッセージボックス２８ｂの格納値に基づいてデータ（同期データ及び非同期データ）をメッセージ化し、トランシーバ２６ｂを介して対応する第２通信線６に送信する送信制御、トランシーバ２６ｂを介してメッセージを受信してデータの抽出等を行う受信制御、第２通信線６上でメッセージが衝突した際の送信権の調停制御、メッセージの送受信に関連して生じるエラーの検出，通知等、ＣＡＮプロトコルに従った通信制御を実行する。
【００２７】
マイコン２０は、他のＥＣＵ８（１２〜１８）に対して送信すべきデータがある場合、データの内容からそのデータに対応する優先順位を示す優先順位情報（以下、ＩＤコードと示す）を特定し、これらデータ及びＩＤコードを、対応するコントローラ２４ａ，２４ｂのメッセージボックス２８ａ，２８ｂのデータレジスタ及びＩＤコードレジスタに格納する。このとき、各メッセージボックス２８ａ，２８ｂに付随する用途指定レジスタを送信用に設定する。
【００２８】
このようにして、マイコン２０によってコントローラ２４ａ，２４ｂのメッセージボックス２８ａ，２８ｂに送信用のメッセージが格納されると、コントローラ２４ａ，２４ｂは、送信制御として、用途指定レジスタにより送信用に指定されたメッセージボックス２８ａ，２８ｂの格納値（ＩＤコード及びデータ）に基づいてメッセージを作成し、トランシーバ２６ａ，２６ｂを介して送信する。
【００２９】
図３に示すように、第２ＥＣＵ１４は、第２通信線６を介した非同期メッセージの送受信のためにコントローラ２４及びトランシーバ２６を１組有している。それ以外の構成は、第１ＥＣＵ１０と同じである。
【００３０】
次に、図４に基づき、メッセージを送受信するために、全てのＥＣＵ８（１０〜１８）が実行する処理について説明する。
【００３１】
先ずステップＳ１０では、対応する送信用メッセージボックス２８，２８ａ，２８ｂに格納されたメッセージが有るか否かを判定する。この判定処理において、格納されたメッセージが有ると判定されるとステップＳ１２の処理に進み、メッセージが無いと判定されるとステップＳ２０の処理に進む。
【００３２】
ステップＳ１２では、格納されたメッセージに対応付けられたＩＤコードを送信する。第１ＥＣＵ１０，１２においては、第１通信線４による通信に異常が無い場合、送信用のメッセージボックス２８ａに格納されたＩＤコードを、第１通信線４に送信する。一方、異常がある場合、送信用のメッセージボックス２８ｂに格納されたＩＤコードを、第２通信線６に送信する。第２ＥＣＵ１４，１６，１８の場合、コントローラ２４のメッセージボックス２８の格納されたＩＤコードを、第２通信線６に送信する。
【００３３】
次いでステップＳ１４では、送信したＩＤコードが、調停勝ちしたか否かを判定する。調停勝ちしたと判定した場合にはステップＳ１６の処理に進み、調停負けしたと判定した場合にはステップＳ２０の処理に進む。
【００３４】
ステップＳ１６では、ＩＤコードの送信に引き続いて、データなどを含むメッセージの残りの部分の送信を行う。そして、ステップＳ１８にてメッセージの送信完了が判定されるとステップＳ２４の処理に進む。
【００３５】
一方、ステップＳ２０では、他のＥＣＵ８からのメッセージ受信待ちを行い、ステップＳ２２にてメッセージを受信したと判定されると、ステップＳ２４の処理に進む。
【００３６】
ステップＳ２４では、受信したメッセージにプロトコルエラーが無いか否かを判定する。この判定処理において、プロトコルエラー無しと判定されるとステップＳ２６の処理に進み、エラーカウンタの値をデクリメントする。そして、ステップＳ３２の処理に進む。
【００３７】
一方、プロトコルエラー有りと判定されるとステップＳ２８の処理に進み、エラーメッセージを生成して送信する。第１ＥＣＵ１０，１２において、コントローラ２４ａがメッセージを受信した場合には、エラーメッセージを第１通信線４に送信する。第１ＥＣＵ１０，１２において、コントローラ２４ｂがメッセージを受信した場合には、エラーメッセージを第２通信線６に送信する。
【００３８】
エラーメッセージの送信後、ステップＳ３０に進み、エラーカウンタの値をインクリメンとする。そして、ステップＳ３２の処理に進む。ステップＳ３２にてメッセージの受信が完了したと判定されると、ステップＳ３４に進んで、たとえば３ビット分の時間だけ待機し、一旦、処理を終了する。以上の処理が繰り返し実行される。なお、待機時間は３ビット分に限定されるものではない。連続するメッセージをそれぞれ識別可能な時間であればよい。３ビットは、識別可能な最小時間である。
【００３９】
このような図４のフローチャートに示す処理を行うことにより、各ＥＣＵ８は、従来のＣＡＮプロトコルにしたがった、送信、受信、及び調停制御を実行することができる。すなわち、第１ＥＣＵ１０，１２は、第１通信線４を介した通信及び第２通信線６を介した通信のいずれにおいても、ＣＡＮプロトコルにしたがった、送信、受信、及び調停制御を実行することができる。
【００４０】
次に、図５に基づき、リファレンスメッセージの受信とは無関係に、所定の事象の発生に応じて、非同期メッセージを送信するＥＣＵ８（１０〜１８）において行われる処理について説明する。
【００４１】
図５に示すように、先ずステップＳ４０では、所定の事象に該当するイベントが発生したか否かを判定する。この判定処理において、イベントが発生したと判定されると、ステップＳ４２において、イベントに応じて送信すべき非同期メッセージを送信用のメッセージボックス２８，２８ｂに格納する。すなわち、送信すべき非同期データ及び非同期データに対応するＩＤコードを、送信用のメッセージボックス２８，２８ｂに格納する。
【００４２】
以上の処理により、第２通信線６に対応するメッセージボックス２８，２８ｂに非同期データが格納されると、上記した図４に示すステップＳ１０の処理において、メッセージ有りと判定されることとなる。
【００４３】
次に、図６に基づき、第１通信線４を介した通信に異常が無い場合に、マスタノードとしての第１ＥＣＵ１０が実行する処理について説明する。また、図７に基づき、第１通信線４を介した通信に異常が無い場合に、スレーブノードとしての第１ＥＣＵ１２が実行する処理についても説明する。
【００４４】
先ず、第１ＥＣＵ１０について説明する。第１ＥＣＵ１０は、定期的、たとえば一周期４ｍｓで以下に示す処理を繰り返し実行する。図６に示すように、先ずステップＳ５０では、第１基準信号としてのリファレンスメッセージの送信周期を設定する。次いで、ステップＳ５２では、リファレンスメッセージと、そのリファレンスメッセージに応じて送信する同期メッセージを、送信用のメッセージボックス２８ａに格納する。そして、格納が終了すると、ステップＳ５４の処理に進む。このように、メッセージボックス２８ａに同期メッセージが格納されると、上記した図４に示すステップＳ１０の処理において、メッセージ有りと判定されることとなる。
【００４５】
ステップＳ５４では、実質的にリファレンスメッセージの送信が開始された時点からの経過時間のカウントを開始する。第１通信線４に送信されたリファレンスメッセージは、トランシーバ２６ａを介してコントローラ２４ａで受信される。この受信タイミングは、送信タイミングのほぼ一致するため、リファレンスメッセージの受信により経過時間のカウントを開始する。
【００４６】
次いで、ステップＳ５６では、リファレンスメッセージの一周期の間に送信される複数の同期メッセージのうち、優先順位が最も低く、送信の最後となる最終同期メッセージを受信したか否かを判定する。最終同期メッセージの受信は、そのＩＤコードにて判断する。最終同期メッセージを受信したと判定された場合、ステップＳ５８の処理に進み、受信しないと判定された場合、ステップＳ６４の処理に進む。
【００４７】
ステップＳ５８では、受信メッセージボックスから同期データを取り出す。この取り出した同期データを用いて、ＣＰＵ２２は同期制御を実行することとなる。ステップＳ５８が終了すると、ステップＳ６０に進み、第１通信線４を介した通信異常をカウントする異常カウンタの値をデクリメントする。ステップＳ６０が終了すると、ステップＳ６２に進む。
【００４８】
ステップＳ６２では、経過時間が一定時間に到達したか否かが判定される。この一定時間は、第１通信線４に定期的に送信されるリファレンスメッセージの周期に相当する。この判定処理において、一定時間に到達したと判定されると、ステップＳ７０に進む。
【００４９】
一方、ステップＳ５６において最終同期メッセージの受信なしと判定されるとステップＳ６４の処理に進み、経過時間が一定時間に到達したか否かが判定される。この処理内容は、ステップＳ６２と同じである。この判定処理において、一定時間に到達したと判定されるとステップＳ６６に進み、一定時間に到達していないと判定されるとステップＳ５６に戻る。すなわち、最終同期メッセージを受信するまでステップＳ５６，Ｓ６４の処理が繰り返し実行される。
【００５０】
ステップＳ６６では、異常カウンタの値をインクリメントする。ステップＳ６６が終了すると、ステップＳ６８に進み、送信用及び受信用のメッセージボックス２８ａをキャンセルする。すなわちメッセージボックス２８ａ内の全てのメッセージを破棄する。そして、ステップＳ７０に進む。ステップＳ７０では、経過時間のカウントをクリアし、一連の処理を終了する。
【００５１】
次に、第１ＥＣＵ１２について説明する。図７に示すように、先ずステップＳ８０でリファレンスメッセージを受信すると、次のステップＳ８２では、リファレンスメッセージに応じて送信する同期メッセージを、送信用のメッセージボックス２８ａに格納する。そして、格納が終了すると、ステップＳ８４の処理に進む。このように、送信用のメッセージボックス２８ａに同期メッセージが格納されると、上記した図４に示すステップＳ１０の処理において、メッセージ有りと判定されることとなる。
【００５２】
ステップＳ８４では、ステップＳ５４同様、実質的にリファレンスメッセージを受信した時点からの経過時間のカウントを開始する。
【００５３】
次いで、ステップＳ８６では、ステップＳ５６同様、最終同期メッセージを受信したか否かを判定する。最終同期メッセージを受信したと判定された場合、ステップＳ８８の処理に進み、受信しないと判定された場合、ステップＳ９４の処理に進む。
【００５４】
ステップＳ８８では、受信メッセージボックスから同期データを取り出す。この取り出した同期データを用いて、ＣＰＵ２２は同期制御を実行することとなる。ステップＳ８８が終了すると、ステップＳ９０に進み、異常カウンタの値をデクリメントする。ステップＳ９０が終了すると、ステップＳ９２に進む。
【００５５】
ステップＳ９２では、ステップＳ６２同様、経過時間が一定時間に到達したか否かが判定される。この判定処理において、一定時間に到達したと判定されると、ステップＳ１００に進む。
【００５６】
一方、ステップＳ８６において最終同期メッセージの受信なしと判定されるとステップＳ９４の処理に進み、経過時間が一定時間に到達したか否かが判定される。この処理内容は、ステップＳ９２と同じである。この判定処理において、一定時間に到達したと判定されるとステップＳ９６に進み、一定時間に到達していないと判定されるとステップＳ８６に戻る。
【００５７】
ステップＳ９６では、異常カウンタの値をインクリメントする。ステップＳ９６が終了すると、ステップＳ９８に進み、送信メッセージボックス及び受信メッセージボックスをキャンセルする。そして、ステップＳ１００に進む。ステップＳ１００では、経過時間のカウントをクリアし、一連の処理を終了する。
【００５８】
次に、図８及び図９に基づき、第１ＥＣＵ１０，１２が、第１通信線４を介した通信異常の発生時に実行する処理について説明する。
【００５９】
先ず、第１ＥＣＵ１０について説明する。第１ＥＣＵ１０は、定期的に以下に示す処理を実行する。図８に示すように、先ずステップＳ１１０では、異常カウンタの値が予め設定された所定値以上であるか否かを判定する。所定値以上と判定された場合、ステップＳ１１２の処理に進み、所定値未満と判定された場合、ステップＳ１１４の処理に進む。
【００６０】
ステップＳ１１２にて通信異常が発生したと判定されるとステップＳ１１６に進み、同期メッセージの送信先を、第１通信線４から第２通信線６に変更する処理、すなわち第２通信線６に設定する処理を実行する。次いで、ステップＳ１１８では、第２通信線６に送信する同期データを、第１通信線４に送信する同期データ数よりも削減した数に設定する。そして、一連の処理を終了する。この処理により、第１ＥＣＵ１０のＣＰＵ２２は、同期メッセージを第２通信線６側のコントローラ２４ｂのメッセージボックス２８ｂに格納することとなる。また、上記した図４に示すステップＳ１６の処理において、データ数が削減された同期メッセージが送信されることとなる。
【００６１】
ステップＳ１１４では、他の第１ＥＣＵ１２から送信された通信異常を示すメッセージを受信したか否かを判定する。通信異常メッセージを受信したと判定された場合、上記したステップＳ１１２に進む。一方、通信異常メッセージを受信していないと判定された場合、ステップＳ１２０にて、同期メッセージの送信先を、第１通信線４に設定する処理を実行する。次いで、ステップＳ１２２では、送信すべき同期データ数を通常時の数に設定する。そして、一連の処理を終了する。
【００６２】
なお、ステップＳ１１０，Ｓ１１４の実行順は上記例に限定されない、先にステップＳ１１４を実行してもよい。また、ステップＳ１１０の処理とステップＳ１１４の処理を分けて実施してもよい。
【００６３】
次に、第１ＥＣＵ１２について説明する。図９に示すように、先ずステップＳ１３０では、ステップＳ１１０同様、異常カウンタの値が所定値以上であるか否かを判定する。所定値以上と判定された場合、ステップＳ１３２の処理に進み、所定値未満と判定された場合、ステップＳ１４０の処理に進む。
【００６４】
ステップＳ１３２にて通信異常が発生したと判定されるとステップＳ１３４に進み、第２通信線６へ通信異常の発生を示すメッセージを送信する。そして、ステップＳ１３６において、同期メッセージの送信先を、第１通信線４から第２通信線６に変更する処理、すなわち第２通信線６に設定する処理を実行する。次いで、ステップＳ１３８では、第２通信線６に送信する同期データを、第１通信線４に送信する同期データ数よりも削減した数に設定する。そして、一連の処理を終了する。この処理により、第１ＥＣＵ１２のＣＰＵ２２は、同期メッセージを第２通信線６側のコントローラ２４ｂのメッセージボックス２８ｂに格納することとなる。
【００６５】
ステップＳ１４０では、同期メッセージの送信先を、第１通信線４に設定する処理を実行する。次いで、ステップＳ１４２では、送信すべき同期データ数を通常時の数に設定する。そして、一連の処理を終了する。
【００６６】
次に、図１０に基づき、第１通信線４を介した通信に異常が生じた場合に、マスタノードとしての第１ＥＣＵ１０が実行する処理について説明する。また、図１１に基づき、第１通信線４を介した通信に異常が生じた場合に、スレーブノードとしての第１ＥＣＵ１２が実行する処理についても説明する。
【００６７】
先ず、第１ＥＣＵ１０について説明する。第１ＥＣＵ１０は、定期的に以下に示す処理を繰り返し実行する。図１０に示すように、先ずステップＳ１５０では、第２基準信号としてのリファレンスメッセージの送信周期を設定する。第２通信線６に送信されるリファレンスメッセージ（第２基準信号）の周期は、第１通信線４に送信されるリファレンスメッセージ（第１基準信号）の周期と同じでも良いし、異なってもよい。同じとすると、同期データが送信される通信線を変更しても、同期メッセージを用いた同期制御の制御性を確保することができる。第２通信線６に送信されるリファレンスメッセージの周期を、第１通信線４に送信されるリファレンス信号の周期より長くすると、一周期内で、同期メッセージに加え、より多くの非同期メッセージを送信することもできる。
【００６８】
本実施形態では、複数の同期データ、すなわち同期メッセージをＡ群とＢ群の２回に分けて送信する例を示す。以下、Ａ群の同期メッセージを同期メッセージＡ、Ｂ群の同期メッセージを同期メッセージＢと示す。
【００６９】
ステップＳ１５２では、リファレンスメッセージと、そのリファレンスメッセージに応じて送信する同期メッセージＡを、送信用のメッセージボックス２８ｂに格納する。第２通信線６に送信されたリファレンスメッセージは、トランシーバ２６ａを介してコントローラ２４ａで受信される。受信したことに応じた所定タイミングで、同期メッセージＡは送信される。本実施形態では、同期メッセージＡのＩＤコードの優先順位が、リファレンスメッセージに次いで高いため、同期メッセージＡはリファレンスメッセージに続いて送信されることとなる。そして、格納が終了すると、ステップＳ１５４の処理に進む。このように、メッセージボックス２８ｂに同期メッセージＡが格納されると、上記した図４に示すステップＳ１０の処理において、メッセージ有りと判定されることとなる。
【００７０】
ステップＳ１５４では、ステップＳ５４同様、実質的にリファレンスメッセージの送信が開始された時点からの経過時間のカウントを開始する。次いで、ステップＳ１５６では、経過時間が一定時間Ａに到達したか否かが判定される。この一定時間Ａは、同期メッセージＢの送信時間を確保できるように、第２通信線６に定期的に送信されるリファレンスメッセージの周期よりも短い時間が設定される。たとえば同期メッセージＡと同期メッセージＢの数がほぼ等しい場合、リファレンスメッセージの周期の半分の時間を設定することができる。この判定処理において、一定時間Ａに到達したと判定されると、ステップＳ１５８に進む。
【００７１】
ステップＳ１５８では、同期メッセージＢを、送信用のメッセージボックス２８ｂに格納する。この同期メッセージＢは、一定時間Ａの経過後に格納されるメッセージである。また、同期メッセージＢのＩＤコードの優先順位は、同期メッセージＡに次いで高い。したがって、同期メッセージＢは、リファレンスメッセージを受信したことに応じた所定タイミングで送信されることとなる。そして、格納が終了すると、ステップＳ１６０の処理に進む。このように、メッセージボックス２８ｂに同期メッセージＢが格納されると、上記した図４に示すステップＳ１０の処理において、メッセージ有りと判定されることとなる。
【００７２】
ステップＳ１６０では、リファレンスメッセージの一周期の間に送信される複数の同期メッセージ（同期メッセージＡ，Ｂ）のうち、ＩＤコードの優先順位が最も低く、送信の最後となる最終同期メッセージを受信したか否かを判定する。このため、最終同期メッセージの受信は、同期メッセージに対応するＩＤコードにて判断する。最終同期メッセージを受信したと判定された場合、ステップＳ１６２の処理に進み、受信しないと判定された場合、ステップＳ１６６の処理に進む。
【００７３】
ステップＳ１６２では、受信用のメッセージボックス２８ｂから同期データを取り出す。この取り出した同期データを用いて、ＣＰＵ２２は同期制御を実行することとなる。ステップＳ１６２が終了すると、ステップＳ１６４に進み、経過時間が一定時間Ｂに到達したか否かが判定される。本実施形態では、一定時間Ｂは、リファレンスメッセージの周期に相当する。この判定処理において、一定時間Ｂに到達したと判定されると、ステップＳ１７０に進む。
【００７４】
一方、ステップＳ１６６では、経過時間が一定時間Ｂに到達したか否かが判定される。この処理内容は、ステップＳ１６４と同じである。この判定処理において、一定時間Ｂに到達したと判定されるとステップＳ１６８に進み、一定時間に到達していないと判定されるとステップＳ１６０に戻る。
【００７５】
ステップＳ１６８では、送信用及び受信用のメッセージボックス２８ｂをキャンセルする。そして、ステップＳ１７０に進む。ステップＳ１７０では、経過時間のカウントをクリアし、一連の処理を終了する。
【００７６】
次に、第１ＥＣＵ１２について説明する。図１１に示すように、先ずステップＳ１８０でリファレンスメッセージを受信すると、ステップＳ１８２では、リファレンスメッセージに応じて送信する同期メッセージＡを、送信用のメッセージボックス２８ｂに格納する。そして、格納が終了すると、ステップＳ１８４の処理に進む。このように、メッセージボックス２８ｂに同期メッセージが格納されると、上記した図４に示すステップＳ１０の処理において、メッセージ有りと判定されることとなる。
【００７７】
ステップＳ１８４では、ステップＳ１５４同様、実質的にリファレンスメッセージを受信した時点からの経過時間のカウントを開始する。
【００７８】
次いで、ステップＳ１８６では、ステップＳ１５６同様、経過時間が一定時間Ａに到達したか否かが判定される。この判定処理において、一定時間Ａに到達したと判定されると、ステップＳ１８８に進む。
【００７９】
ステップＳ１８８では、ステップＳ１５８同様、同期メッセージＢを、送信用のメッセージボックス２８ｂに格納する。そして、格納が終了すると、ステップＳ１９０の処理に進む。このように、メッセージボックス２８ｂに同期メッセージＢが格納されると、上記した図４に示すステップＳ１０の処理において、メッセージ有りと判定されることとなる。
【００８０】
ステップＳ１９０では、ステップＳ１６０同様、最終同期メッセージを受信したか否かを判定する。最終同期メッセージを受信したと判定された場合、ステップＳ１９２の処理に進み、受信しないと判定された場合、ステップＳ１９６の処理に進む。
【００８１】
ステップＳ１９２は、受信用のメッセージボックス２８ｂから同期データを取り出す。この取り出した同期データを用いて、ＣＰＵ２２は同期制御を実行することとなる。ステップＳ１９２が終了すると、ステップＳ１９４の処理に進み、ステップＳ１６４同様、経過時間が一定時間Ｂに到達したか否かが判定される。この判定処理において、一定時間Ｂに到達したと判定されると、ステップＳ２００の処理に進む。
【００８２】
一方、ステップＳ１９６では、経過時間が一定時間Ｂに到達したか否かが判定される。この処理内容は、ステップＳ１９４と同じである。この判定処理において、一定時間Ｂに到達したと判定されるとステップＳ１９８の処理に進み、一定時間に到達していないと判定されるとステップＳ１９０に戻る。
【００８３】
ステップＳ１９８では、送信メッセージボックス及び受信メッセージボックスをキャンセルする。そして、ステップＳ２００の処理に進む。ステップＳ２００では、経過時間のカウントをクリアし、一連の処理を終了する。
【００８４】
次に、図１２に基づき、マスタノードとしての第１ＥＣＵ１０が実行する第２通信線６の負荷検出処理について説明する。第１ＥＣＵ１０は、定期的に以下に示す処理を実行する。
【００８５】
図１２に示すように、先ずステップＳ２１０では、第２通信線６の負荷を検出するための測定メッセージを、第２通信線６に送信する。次いで、ステップＳ２１２では、実質的に測定メッセージを送信した時点からの経過時間のカウントを開始する。そして、ステップＳ２１４にて測定メッセージを受信すると、次いでステップＳ２１６では、カウント時間が予め設定された所定時間以上であるか否かを判定する。この判定処理において、所定時間以上と判定された場合、ステップＳ２１８の処理に進み、所定時間未満と判定された場合、ステップＳ２２４の処理に進む。
【００８６】
所定時間以上と判定された場合、ステップＳ２１８にて第２通信線６の負荷が高いとの異常判定がなされ、次いでステップＳ２２０において、リファレンスメッセージの一周期で送信すべき同期データ数を、通常時よりも削減した数に設定する。そして、ステップＳ２２２では、スレーブノードである第１ＥＣＵ１２に対して、一周期で送信すべき同期メッセージ数を削減するように、削減要求を示すメッセージを送信する。そして、ステップＳ２２８に進む。
【００８７】
ステップＳ２２０により、第２通信線６が高負荷の場合には、第２通信線６に送信する同期データ数をより削減することができる。また、上記した図４に示すステップＳ１６の処理において、データ数がより削減された同期メッセージが送信されることとなる。
【００８８】
所定時間未満と判定された場合、すなわち第２通信線６の負荷が高くないと判定された場合、ステップＳ２２４では、リファレンスメッセージの一周期で送信すべき同期データ数を通常時の数に設定する。そして、ステップＳ２２６では、スレーブノードである第１ＥＣＵ１２に対して、同期データ数を通常時の数に設定するように、通常要求を示すメッセージを送信する。この要求を受信すると、第１ＥＣＵ１２は、同期データ数を通常時の数にする。そして、ステップＳ２２８に進む。
【００８９】
ステップＳ２２８では、経過時間のカウントをクリアし、一連の処理を終了する。
【００９０】
なお、ステップＳ１２，Ｓ５２が第１基準信号送信部に相当する。ステップＳ１１０，Ｓ１１２，Ｓ１１４が異常検知部に相当する。ステップＳ１２，Ｓ１５２が第２基準信号送信部に相当する。ステップＳ１６，Ｓ５２，Ｓ８２が第１同期データ送信部に相当する。ステップＳ１６，Ｓ１５２，Ｓ１５８，Ｓ１８２，Ｓ１８８が、第２同期データ送信部に相当する。ステップＳ１２，Ｓ４０が優先順位送信部に相当する。ステップＳ１４が優先順位判定部に相当する。ステップＳ１６が非同期データ送信部に相当する。
【００９１】
また、ステップＳ５６，Ｓ８６，Ｓ１６０，Ｓ１９０が受信完了判定部に相当する。ステップＳ６８，Ｓ９８，Ｓ１６８，Ｓ１９８がデータ破棄部に相当する。ステップＳ１９０が測定データ送信部に相当し、ステップＳ２１６が負荷検出部に相当する。ステップＳ２２０，Ｓ２２２がデータ数設定部に相当する。
【００９２】
次に、図１３に基づき、本実施形態の通信システム２による効果について説明する。
【００９３】
図１３において、時刻ｔ１までの期間が、第１通信線４による通信に異常が生じていない期間であり、時刻ｔ１以降が異常が生じている期間である。同期メッセージ５０はリファレンスメッセージであり、ＩＤコード５１を備えている。このＩＤコード５１にトリガ機能を持たせている。リファレンスメッセージ以外の同期メッセージ５２，５４，５６，５８，６０，６２については、ＩＤコードに対する符号の付与を省略している。一方、非同期メッセージ７０は、ＩＤコード７１を備えている。それ以外の非同期メッセージ７２，７４，７６，７８，８０については、ＩＤコードに対する符号の付与を省略している。また、測定メッセージ９０は、ＩＤコード９１を備えている。以下においては、同期メッセージ、非同期メッセージ、測定メッセージを単にメッセージとも称する。
【００９４】
図１３に示す例では、同期メッセージ５０，５２〜６２の優先順位が、非同期メッセージ７０，７２〜８０の優先順位よりも高く設定されている。また、リファレンスメッセージとしての同期メッセージ５０の優先順位が最も高く、次いで、同期メッセージ５２，５４，５６，５８，６０，６２の順となっている。同期メッセージ５２〜５６が上記した同期メッセージＡ、同期メッセージ５８〜６２が同期メッセージＢとなっている。また、同期メッセージ５０，５２，５８，６０が第１ＥＣＵ１０から送信されるメッセージであり、同期メッセージ５４，５６，６２が第１ＥＣＵ１２から送信されるメッセージである。図１３では、調停による遅れを破線矢印で示している。また、調停負けしたＩＤコード７１を破線で示している。
【００９５】
時刻ｔ１から開始されたメッセージ５０，５２〜５６、７０の衝突では、最も優先順位の高いＩＤコード５１を備える同期メッセージ５０、すなわちリファレンスメッセージが送信権を得る。したがって、先ず同期メッセージ５０が送信される。同期メッセージ５０の送信後、第２通信線６が解放され、所定のビット数（３ビット）分だけ待機した後は、優先順位にしたがい、同期メッセージ５２，５４，５６の順に送信される。
【００９６】
時刻ｔ２は、同期メッセージＡの送信が完了し、第２通信線６が解放され、所定のビット数分だけ待機した時刻である。一方、時刻ｔ３は、同期メッセージＢの送信が開始される時刻である。時刻ｔ３は、時刻ｔ１からの経過時間が、リファレンスメッセージの周期Ｔ（たとえば４ｍｓ）の半分となるように設定されている。時刻ｔ２から時刻ｔ３の期間は、同期メッセージが送信されない期間である。この期間において、非同期メッセージ７０，７２〜７６が送信される。このとき、優先順位にしたがい、非同期メッセージ７０，７２，７４，７６の順に送信される。
【００９７】
時刻ｔ３から開始されたメッセージ５８〜６２，７８，９０の衝突では、最も優先順位が高い同期メッセージ５８が送信権を得る。したがって、先ず同期メッセージ５８が送信される。次いで優先順位にしがたい、同期メッセージ６０，６２の順に送信される。測定メッセージ９０のＩＤコード９１の優先順位は、非同期メッセージ７８よりも低いため、同期メッセージＢの送信後、非同期メッセージ７８、測定メッセージ９０の順に送信される。
【００９８】
このように、本実施形態によれば、第１通信線４を介した通信に異常が生じた場合でも、第２通信線６を介して同期データを送信することができる。また、第２通信線６を介して同期データを送信する際、リファレンスメッセージ（第２基準信号）を受信してから次のリファレンスメッセージを受信するまでの一周期において、送信すべき全ての同期メッセージを複数のタイミングに分けて送信する。そして、同期メッセージの送信タイミングの間に設けられた所定期間（間隔）、図１３で示した時刻ｔ２〜ｔ３の間、に非同期メッセージを送信する。したがって、全ての同期メッセージ（同期データ）を連続して送信するよりも、非同期メッセージ（非同期データ）の送信が過度に遅れるのを抑制することができる。
【００９９】
特に本実施形態では、同期メッセージを第２通信線６に通信する方式も、ＩＳＯにて規格化されたＣＡＮプロトコルに準拠しているので、全く新規にコントローラやトランシーバを開発する必要がなく、安価に通信システム２を構築することができる。
【０１００】
また、本実施形態では、第２通信線６に送信される同期データ数が、第１通信線４に送信される同期データ数よりも少なくされる。これにより、同期メッセージ（フレーム）の数を少なくすることができる。このように、データ数を少なくすることで、同期メッセージの送信に第２通信線６を用いつつ、非同期メッセージの送信が過度に遅れるのを効果的に抑制することができる。
【０１０１】
また、本実施形態では、第２通信線６に送信されるリファレンスメッセージ（第２基準信号）の送信周期が、第１通信線４に送信されるリファレンスメッセージ（第１基準信号）の送信周期よりも長くされる。これによっても、同期メッセージの送信に第２通信線６を用いつつ、非同期メッセージの送信が過度に遅れるのを効果的に抑制することができる。
【０１０２】
また、本実施形態では、周期Ｔ１内に受信すべき全ての同期メッセージのうち、最終同期メッセージを受信したと判定された場合にのみ、受信した同期データが同期制御に用いられる。したがって、同期性を保ちつつ、一括で受信処理を行うことができる。
【０１０３】
特に、最終同期データを受信していないと判定された場合、全ての同期データを破棄する。これにより、同期生を保つことができる。
【０１０４】
また、本実施形態では、測定メッセージを第２通信線６に送信してから受信するまでにかかる時間が、予め設定された基準時間、たとえば図１３においては、周期Ｔ１の半分（半周期）以上であるか否かで、第２通信線６の負荷を検出することができる。
【０１０５】
そして、第２通信線６の負荷が高い場合には、第２通信線６に送信する同期データの数を通常時よりも少なくし、これにより、同期メッセージ（フレーム）の数を少なくすることができる。このように、データ数を少なくすることで第２通信線６の負荷を調整しつつ、同期制御を継続することができる。たとえば退避走行レベルを車速４０ｋｍ／ｈから２０ｋｍ／ｈに下げるなど、走行情報を絞ることで同期データ数を少なくすることができる。
【０１０６】
また、本実施形態によれば、リファレンスメッセージの優先順位が、全ての非同期メッセージの優先順位よりも高く設定される。また、同期メッセージの優先順位が、全ての非同期メッセージの優先順位よりも高く設定される。したがって、同期メッセージを、リファレンスメッセージの周期Ｔ１内に確実に送信することができる。すなわち、同期メッセージの消失を防ぐことができる。
【０１０７】
この明細書の開示は、例示された実施形態に制限されない。開示は、例示された実施形態と、それらに基づく当業者による変形態様を包含する。たとえば、開示は、実施形態において示された要素の組み合わせに限定されない。開示は、多様な組み合わせによって実施可能である。開示される技術的範囲は、実施形態の記載に限定されない。開示されるいくつかの技術的範囲は、特許請求の範囲の記載によって示され、さらに特許請求の範囲の記載と均等の意味及び範囲内での全ての変更を含むものと解されるべきである。
【０１０８】
第１ＥＣＵの数は上記例に限定されない。３つ以上でもよい。第２ＥＣＵの数も上記例に限定されない。少なくとも１つでよい。
【０１０９】
第１通信線４を介した通信の方式は、ＣＡＮに限定されない。第１基準信号に応じて同期メッセージを送信し、複数の第１ＥＣＵ間で複数のデータを共有できるものであればよい。たとえば同期式シリアル通信や、ＴＴＣＡＮやＦｌｅｘＲａｙ（登録商標）などのタイムトリガ方式を採用することもできる。同期式シリアル通信の場合、クロック信号が第１基準信号に相当し、たとえばＦｌｅｘＲａｙの場合、定期的に送信される期間開始信号が第１基準信号に相当する。
【０１１０】
リファレンスメッセージが全ての非同期メッセージよりも優先順位が高い例を示した。しかしながら、少なくとも１つの非同期メッセージより優先順位が高ければよい。また、同期メッセージについても、全ての非同期メッセージよりも優先順位が高い例を示したが、少なくとも１つの非同期メッセージより優先順位が高ければよい。たとえば、車両制御上、緊急性の高い非同期データの優先順位を最も高くし、リファレンスメッセージを含む同期メッセージの優先順位をそれより低くしてもよい。
【０１１１】
複数の同期メッセージの送信タイミングを、リファレンスメッセージの順に応じて２つのタイミングに分ける例を示した。しかしながら、分割数は２に限定されず、３以上としてもよい。
【０１１２】
同期メッセージＡ，Ｂのいずれにおいても、マスターノードである第１ＥＣＵ１０の同期メッセージを優先とする例を示した。しかしながら、送信順は上記例に限定されない。たとえばリファレンスメッセージを除けば、第１ＥＣＵ１２側を優先としてもよい。また、同期メッセージＡを第１ＥＣＵ１０の同期メッセージとし、同期メッセージＢを第１ＥＣＵ１２の同期メッセージとしてもよい。
【０１１３】
第２通信線６に接続されるＥＣＵとして、上記した各ＥＣＵ８とは別に、第２通信線６に対して送信せず、受信のみを行うＥＣＵをさらに備えてもよい。
【０１１４】
図１４の第１変形例に示すように、第２通信線６が高負荷の場合、第２基準信号としてのリファレンスメッセージの送信周期を、通常時より長くしてもよい。図１４は、図１２とほぼ同じである。異なる点は、ステップＳ２２０，Ｓ２２２，Ｓ２２４，Ｓ２２６に代えて、ステップＳ２２３，Ｓ２２７を実行する点にある。ステップＳ２１８で第２通信線６の負荷が高いとの異常判定がなされると、ステップＳ２２３において、リファレンスメッセージの送信周期を、通常よりも延長された時間に設定する。一方、ステップＳ２１６で所定時間未満と判定された場合、ステップＳ２２７は、リファレンスメッセージの送信周期として、通常の時間を設定する。これによれば、第２通信線６が高負荷の場合、図１３に示した送信の周期Ｔ１を長くして、第２通信線６の負荷を調整しつつ、同期制御を継続することができる。また、同期メッセージの送信間に、より多くの非同期メッセージを送信することもできる。ステップＳ２２３が周期設定部に相当する。なお、図１４に示す処理と図１２に示した処理を組み合わせてもよい。
【０１１５】
第１通信線４に送信される同期データの一部が、第２通信線６に送信される例を示した。しかしながら、第１通信線４に送信される同期データのすべてが、第２通信線６に送信されてもよい。
【符号の説明】
【０１１６】
２…通信システム、４…第１通信線、６…第２通信線、８…ＥＣＵ、１０，１２…第１ＥＣＵ、１４，１６，１８…第２ＥＣＵ、２０…マイコン、２２…ＣＰＵ、２４，２４ａ，２４ｂ…コントローラ、２６，２６ａ，２６ｂ…トランシーバ、２８，２８ａ，２８ｂ…メッセージボックス
【図１】
0006500765.tif 000002
【図２】
0006500765.tif 000003
【図３】
0006500765.tif 000004
【図４】
0006500765.tif 000005
【図５】
0006500765.tif 000006
【図６】
0006500765.tif 000007
【図７】
0006500765.tif 000008
【図８】
0006500765.tif 000009
【図９】
0006500765.tif 000010
【図１０】
0006500765.tif 000011
【図１１】
0006500765.tif 000012
【図１２】
0006500765.tif 000013
【図１３】
0006500765.tif 000014
【図１４】
0006500765.tif 000015