(57)【特許請求の範囲】
【請求項１】
第１の制御部（１０）と第２の制御部（２０）との間で連携処理を行わせるための連携システムであって、
前記第１の制御部は、
前記連携処理に用いられる連携処理用データに関して、所定のフォーマットに従う送信メッセージを生成するための生成処理を行う第１の処理部（１１）と、
前記連携処理用データは、少なくとも、前記第１の制御部と前記第２の制御部とで、極力時間遅れなく共有されるべき即時データを含み、
前記即時データの送信メッセージに加え、他の送信メッセージも前記第２の制御部へ送信する送信部（１２、１８）と、
前記即時データの送信メッセージの生成処理の完了後、遅滞なく前記送信部により前記即時データの送信メッセージを送信可能とするため、事前に前記送信部を予約する第１の予約部（１７）と、を備え、
前記第２の制御部は、
前記第１の制御部から送信される送信メッセージを受信する受信部（２１、２２）と、
前記受信部にて受信された送信メッセージから前記即時データを含む前記連携処理用データを取り出して、前記連携処理用データを用いて前記連携処理を行う第２の処理部（２８）と、を備え、
前記第２の処理部は、前記受信部にて受信された送信メッセージから前記連携処理用データを取り出して、前記連携処理用データを用いて前記連携処理を行うことに加え、他の処理も行うものであり、
前記第２の制御部は、さらに、前記連携処理用データとしての前記即時データの送信メッセージの受信後、遅滞なく前記第２の処理部が前記連携処理を実行することができるように、前記受信部において前記即時データの送信メッセージの受信時刻での当該送信メッセージの受信を予約するとともに、前記受信部における前記即時データの送信メッセージの受信完了時刻に対応して、前記第２の処理部を予約する第２の予約部（２７）を備え、
前記送信部は、所定の時間間隔で送信メッセージの送信タイミングが到来する定時送信を行うものであり、前記即時データの送信メッセージは、定時送信におけるいずれかの送信タイミングに合わせて送信され、
前記第１の予約部は、前記送信部の予約として、前記即時データの送信メッセージを送信可能な送信タイミングの中で最も早い送信タイミングを予約するとともに、前記送信部から、予約した送信タイミングに対応する送信予定時刻を前記第２の制御部へ送信し、
前記第２の予約部は、前記受信部から前記送信予定時刻を受け取り、当該送信予定時刻に基づいて、前記即時データの送信メッセージの受信完了時刻を算出し、算出した受信完了時刻に対応して、前記第２の処理部を予約する連携システム。
【請求項２】
第１の制御部（１０）と第２の制御部（２０）との間で連携処理を行わせるための連携システムであって、
前記第１の制御部は、
前記連携処理に用いられる連携処理用データに関して、所定のフォーマットに従う送信メッセージを生成するための生成処理を行う第１の処理部（１１）と、
前記連携処理用データは、少なくとも、前記第１の制御部と前記第２の制御部とで、極力時間遅れなく共有されるべき即時データを含み、
前記即時データの送信メッセージに加え、他の送信メッセージも前記第２の制御部へ送信する送信部（１２、１８）と、
前記即時データの送信メッセージの生成処理の完了後、遅滞なく前記送信部により前記即時データの送信メッセージを送信可能とするため、事前に前記送信部を予約する第１の予約部（１７）と、を備え、
前記第２の制御部は、
前記第１の制御部から送信される送信メッセージを受信する受信部（２１、２２）と、
前記受信部にて受信された送信メッセージから前記即時データを含む前記連携処理用データを取り出して、前記連携処理用データを用いて前記連携処理を行う第２の処理部（２８）と、を備え、
前記第２の処理部は、前記受信部にて受信された送信メッセージから前記連携処理用データを取り出して、前記連携処理用データを用いて前記連携処理を行うことに加え、他の処理も行うものであり、
前記第２の制御部は、さらに、前記連携処理用データとしての前記即時データの送信メッセージの受信後、遅滞なく前記第２の処理部が前記連携処理を実行することができるように、前記受信部において前記即時データの送信メッセージの受信時刻での当該送信メッセージの受信を予約するとともに、前記受信部における前記即時データの送信メッセージの受信完了時刻に対応して、前記第２の処理部を予約する第２の予約部（２７）を備え、
前記送信部は、所定の時間間隔で前記送信メッセージの送信タイミングが到来する定時送信を行うものであり、前記即時データの送信メッセージは、定時送信におけるいずれかの送信タイミングに合わせて送信されるとともに、前記即時データであることが識別可能な識別情報を含み、
前記第１の予約部は、前記送信部の予約として、前記即時データの送信メッセージを送信可能な送信タイミングの中で最も早い送信タイミングを予約し、
前記第２の予約部は、前記定時送信の送信タイミングで送信される送信メッセージの受信完了時刻に対応して前記第２の処理部を予約するとともに、前記定時送信の送信タイミングに受信した送信メッセージが、前記識別情報に基づき、前記即時データの送信メッセージ以外の送信メッセージと判別された場合又は前記定時送信の送信タイミングに送信メッセージを受信しなかった場合、その送信メッセージに対応する前記第２の処理部の予約を取り消して、前記第２の処理部を解放する連携システム。
【請求項３】
前記送信部は、相対的に短い時間間隔で送信タイミングが到来する第１の定時送信、及び、相対的に長い時間間隔で送信タイミングが到来する第２の定時送信と、定時送信の空き時間に送信が可能となる空き時間送信との少なくとも一方を行うものであり、前記即時データの送信メッセージは、前記第１の定時送信におけるいずれかのタイミングに合わせて送信される請求項１又は２に記載の連携システム。
【請求項４】
前記送信部は、定時送信に加え、所定のイベントの発生時に、その発生に応じたタイミングでイベント発生を通知するための送信メッセージを送信することが可能なものであり、
前記即時データの送信メッセージの送信と、イベント発生通知用の送信メッセージの送信とが競合した場合に、イベント発生の通知の緊急度に基づいて、前記即時データの送信メッセージの送信と、前記イベント発生通知用の送信メッセージの送信とのいずれを優先するかを判定する判定部（Ｓ５１０）をさらに備える請求項１乃至３のいずれか１項に記載の連携システム。
【請求項５】
前記判定部により、前記イベント発生通知用の送信メッセージの送信を優先すると判定された場合、前記送信部は、前記イベント発生通知用の送信メッセージの送信完了後に、前記定時送信の本来の送信タイミングに係わらず、前記即時データの送信メッセージの送信を行う請求項４に記載の連携システム。
【請求項６】
第１の制御部（１０）と第２の制御部（２０）との間で連携処理を行わせるための連携システムであって、
前記第１の制御部は、
前記連携処理に用いられる連携処理用データに関して、所定のフォーマットに従う送信メッセージを生成するための生成処理を行う第１の処理部（１１）と、
前記連携処理用データは、少なくとも、前記第１の制御部と前記第２の制御部とで、極力時間遅れなく共有されるべき即時データを含み、
前記即時データの送信メッセージに加え、他の送信メッセージも前記第２の制御部へ送信する送信部（１２、１８）と、
前記即時データの送信メッセージの生成処理の完了後、遅滞なく前記送信部により前記即時データの送信メッセージを送信可能とするため、事前に前記送信部を予約する第１の予約部（１７）と、を備え、
前記第２の制御部は、
前記第１の制御部から送信される送信メッセージを受信する受信部（２１、２２）と、
前記受信部にて受信された送信メッセージから前記即時データを含む前記連携処理用データを取り出して、前記連携処理用データを用いて前記連携処理を行う第２の処理部（２８）と、を備え、
前記第２の処理部は、前記受信部にて受信された送信メッセージから前記連携処理用データを取り出して、前記連携処理用データを用いて前記連携処理を行うことに加え、他の処理も行うものであり、
前記第２の制御部は、さらに、前記連携処理用データとしての前記即時データの送信メッセージの受信後、遅滞なく前記第２の処理部が前記連携処理を実行することができるように、前記受信部において前記即時データの送信メッセージの受信時刻での当該送信メッセージの受信を予約するとともに、前記受信部における前記即時データの送信メッセージの受信完了時刻に対応して、前記第２の処理部を予約する第２の予約部（２７）を備え、
前記送信部は、前記即時データの送信メッセージを、任意のタイミングで送信するものであり、
前記第１の予約部は、前記即時データの送信メッセージの生成処理の開始前に、当該送信メッセージの生成処理に要する時間を考慮して送信予定時刻を定め、その送信予定時刻で前記送信部を予約するとともに、前記送信部から、前記送信予定時刻を前記第２の制御部へ送信し、
前記第２の予約部は、前記受信部から前記送信予定時刻を受け取り、当該送信予定時刻に基づいて、前記即時データの送信メッセージの受信完了時刻を算出し、算出した受信完了時刻に対応して、前記第２の処理部を予約し、
前記送信部は、前記即時データの送信メッセージ以外の送信メッセージを、所定の時間間隔で到来する送信タイミングに従って定時送信するものであり、
前記第１の予約部は、前記定時送信における空き時間に前記即時データの送信メッセージの送信が行われるように、前記即時データの送信メッセージの送信予定時刻を定める連携システム。
【請求項７】
前記第１の処理部は、前記連携処理用データの送信メッセージの生成処理に加え、他の処理も行うものであり、
前記第１の予約部は、前記連携処理用データとしての前記即時データの送信メッセージの生成処理のために、前記第１の処理部も予約する請求項１乃至６のいずれか１項に記載の連携システム。
【請求項８】
前記第１の処理部は、当該第１の処理部にて行われている現行処理が、前記第１の処理部に対する予約の開始時間までに終了しない場合、前記現行処理を一時中断させ、割込みにより、前記即時データの送信メッセージの生成処理を実行する請求項７に記載の連携システム。
【請求項９】
前記送信部は、前記即時データの送信メッセージ以外の送信メッセージを、所定の時間間隔で到来する送信タイミングに従って定時送信するものであり、前記即時データの送信メッセージの送信予定時刻が、前記定時送信による送信メッセージの送信時間帯に含まれる場合、前記定時送信による送信メッセージの送信をキャンセルする請求項６に記載の連携システム。
【請求項１０】
前記送信部は、前記即時データの送信メッセージ以外の送信メッセージを、所定の時間間隔で到来する送信タイミングに従って定時送信するものであり、前記即時データの送信メッセージの送信予定時刻が、前記定時送信による送信メッセージの送信時間帯に含まれる場合、前記即時データの送信メッセージの送信完了後に、前記定時送信の送信タイミングに係わらず、前記定時送信による送信メッセージの送信を行う請求項６に記載の連携システム。
【請求項１１】
前記第１の制御部と前記第２の制御部との間に介在するメッセージ中継装置（４０）をさらに備え、
前記メッセージ中継装置は、前記第１の制御部から送信された送信メッセージに対して所定の中継処理を行って、前記第２の制御部へ向けて出力するものであり、
前記第１の予約部は、前記即時データの送信メッセージの送信予定時刻に合わせて、前記メッセージ中継装置も予約する請求項１乃至１０のいずれか１項に記載の連携システム。
【請求項１２】
前記メッセージ中継装置は、中継処理を行う送信メッセージを一時的に退避させるためのメモリ（４１）を有し、前記第１の予約部による予約の開始時間までに、直前に実行予定の送信メッセージの中継処理が終了しないと判定した場合、その実行予定の送信メッセージを前記メモリに一時的に退避させ、予約された前記即時データの送信メッセージの中継処理を優先して実行する請求項１１に記載の連携システム。
【請求項１３】
第１の制御部と第２の制御部との間で連携処理を行わせるための連携システムであって、
前記第１の制御部は、
前記連携処理に用いられる連携処理用データに関して、所定のフォーマットに従う送信メッセージを生成するための生成処理を行う第１の処理部と、
前記連携処理用データは、少なくとも、前記第１の制御部と前記第２の制御部とで、極力時間遅れなく共有されるべき即時データを含み、
前記連携処理用データの送信メッセージを前記第２の制御部へ送信する送信部と、を備え、
前記第２の制御部は、
前記第１の制御部から送信される前記連携処理用データの送信メッセージを受信する受信部と、
前記受信部にて受信された送信メッセージから前記連携処理用データを取り出して、前記連携処理用データを用いて前記連携処理を行うことに加え、他の処理も行う第２の処理部と、
前記連携処理用データとして前記即時データの送信メッセージの受信後、遅滞なく前記第２の処理部が前記連携処理を実行することができるように、前記受信部において前記即時データの送信メッセージの受信時刻での当該送信メッセージの受信を予約するとともに、前記受信部における前記即時データの送信メッセージの受信完了時刻に対応して、前記第２の処理部を予約する予約部と、を備え、
前記送信部は、所定の時間間隔で送信メッセージの送信タイミングが到来する定時送信を行うものであり、前記即時データの送信メッセージは、いずれかの送信タイミングに合わせて送信され
前記予約部は、前記定時送信の送信タイミングで送信される送信メッセージの受信完了時刻を算出し、その受信完了時刻に対応して前記第２の処理部を予約し、
前記送信部が送信する前記即時データの送信メッセージは、前記即時データを含むものであることが識別可能な識別情報を含み、
前記予約部は、受信した送信メッセージが、前記識別情報を含まず、前記即時データの送信メッセージ以外の送信メッセージであった場合、その送信メッセージに対応する前記第２の処理部の予約を取り消して、前記第２の処理部を解放する連携システム。
【請求項１４】
前記第１の制御部は、前記送信部から、前記即時データの送信メッセージの送信予定時刻を前記第２の制御部へ送信するものであり、
前記予約部は、前記受信部から前記送信予定時刻を受け取り、当該送信予定時刻に基づいて、前記即時データの送信メッセージの受信完了時刻を算出し、算出した受信完了時刻に対応して、前記第２の処理部を予約する請求項１３に記載の連携システム。
【請求項１５】
前記予約部は、前記定時送信の送信タイミングに、送信メッセージを受信しなかった場合、その送信メッセージに対応する前記第２の処理部の予約を取り消して、前記第２の処理部を解放する請求項１３に記載の連携システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１の制御部と第２の制御部との間で連携処理を行わせるための連携システムに関する。
【背景技術】
【０００２】
例えば特許文献１には、車両に搭載された複数のＥＣＵ間での機能連携のための情報を、各ＥＣＵの車両制御用アプリケーションが使用するよりも事前に共有可能とした車載用情報処理装置が記載されている。
【０００３】
この車両用情報処理装置は、他のＥＣＵとの機能連携に関連するタグデータが付与されたデータを記憶する機能連携タグ付データ記憶部と、車両の状況情報に応じて機能連携タグ付きデータ記憶部に記憶されているタグデータを参照して、他のＥＣＵとの機能連携用のプログラムの実行局面を特定する機能連携メモリ制御部と、機能連携メモリ制御部において機能連携の実行局面と特定された場合、他のＥＣＵと機能連携するため機能連携用ＯＳを起動すると共に、機能連携のため送受信される機能連携用パケットデータを生成する機能連携ＯＳ制御部と、機能連携用パケットデータを送受信する機能連携パケット送受信部と、を備える。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１４０３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した車載用情報処理装置では、機能連携パケット送受信部は、マイコンのメモリのアドレス上にマッピングされた機能連携送信レジスタ及び機能連携受信レジスタと通信コントローラとを備える。通信コントローラは、送信時には機能連携送信レジスタにセットされたデータを内部バッファに取り込み、プロトコル解釈部によって車載ＬＡＮ用のプロトコルに変換した後、通信を開始する。
【０００６】
しかしながら、機能連携送信レジスタにデータがセットされたときに、通信コントローラが、他のデータ送信を行っている場合には、そのデータ送信の重要度に係わらず、そのデータ送信が完了するまで、機能連携送信レジスタにセットされたデータの送信を待機する必要がある。このような通信待ちが発生すると、機能連携に遅延が生じてしまう虞がある。
【０００７】
本発明は、上述した点に鑑みてなされたものであり、連携処理に用いられるデータの通信遅れに起因する、連携処理の遅延を極力回避することが可能な連携システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した目的を達成するために、本発明による連携システムは、第１の制御部（１０）と第２の制御部（２０）との間で連携処理を行わせるためのものであって、
第１の制御部は、
連携処理に用いられる連携処理用データに関して、所定のフォーマットに従う送信メッ
セージを生成するための生成処理を行う第１の処理部（１１）と、
連携処理用データは、少なくとも、第１の制御部と第２の制御部とで、極力時間遅れな
く共有されるべき即時データを含み、
即時データの送信メッセージに加え、他の送信メッセージも第２の制御部へ送信する送
信部（１２、１８）と、
即時データの送信メッセージの生成処理の完了後、遅滞なく送信部により即時データの
送信メッセージを送信可能とするため、事前に送信部を予約する第１の予約部（１７）と
、を備え、
第２の制御部は、
第１の制御部から送信される送信メッセージを受信する受信部（２１、２２）と、
受信部にて受信された送信メッセージから即時データを含む連携処理用データを取り出
して、連携処理用データを用いて連携処理を行う第２の処理部（２８）と、を備え、
第２の処理部は、受信部にて受信された送信メッセージから連携処理用データを取り出して、連携処理用データを用いて連携処理を行うことに加え、他の処理も行うものであり、
第２の制御部は、さらに、連携処理用データとしての即時データの送信メッセージの受信後、遅滞なく第２の処理部が連携処理を実行することができるように、受信部において即時データの送信メッセージの受信時刻での当該送信メッセージの受信を予約するとともに、受信部における即時データの送信メッセージの受信完了時刻に対応して、第２の処理部を予約する第２の予約部（２７）を備え、
送信部は、所定の時間間隔で送信メッセージの送信タイミングが到来する定時送信を行うものであり、即時データの送信メッセージは、定時送信におけるいずれかの送信タイミングに合わせて送信され、
第１の予約部は、送信部の予約として、即時データの送信メッセージを送信可能な送信タイミングの中で最も早い送信タイミングを予約するとともに、送信部から、予約した送信タイミングに対応する送信予定時刻を第２の制御部へ送信し、
第２の予約部は、受信部から送信予定時刻を受け取り、当該送信予定時刻に基づいて、即時データの送信メッセージの受信完了時刻を算出し、算出した受信完了時刻に対応して、第２の処理部を予約する。
【０００９】
このように、本発明による連携システムでは、第１の予約部を備え、当該第１の予約部が、即時データの送信メッセージのために、事前に送信部を予約する。このため、送信部が、予約された時刻に、他のメッセージを送信している事態の発生を極力回避することができる。その結果、送信部は、即時データの送信メッセージの生成が完了すると、遅滞なく、その送信メッセージの送信を行うことができる。従って、連携処理に用いられる連携処理用データの中で、特に即時性が求められる即時データの通信遅延を極力回避することができ、連携処理の遅延を抑制することが可能となる。
【００１０】
上記括弧内の参照番号は、本発明の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら本発明の範囲を制限することを意図したものではない。
【００１１】
また、上述した特徴以外の、特許請求の範囲の各請求項に記載した技術的特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態に係る連携システムの構成を示す構成図である。
【図２】第１ＥＣＵから第２ＥＣＵにメッセージを送信する際の通信スケジュールの一例を示す図である。
【図３】第１ＥＣＵにおいて、即時データが発生したときの送信処理の一例を説明するための説明図である。
【図４】第１ＥＣＵにおける、連携処理用データの送信処理を示すフローチャートである。
【図５】第２ＥＣＵにおける、連携処理用データの受信処理を示すフローチャートである。
【図６】第２実施形態に係る連携システムの構成を示す構成図である。
【図７】第２実施形態に係る連携システムの第２ＥＣＵにおける、連携処理用データの受信処理を示すフローチャートである。
【図８】第３実施形態に係る連携システムの構成を示す構成図である。
【図９】第３実施形態に係る連携システムの第１ＥＣＵにおける、連携処理用データの送信処理の一例を説明するための説明図である。
【図１０】第３実施形態に係る連携システムの第１ＥＣＵにおける、連携処理用データの送信処理を示すフローチャートである。
【図１１】第３実施形態に係る連携システムの第２ＥＣＵにおける、連携処理用データの受信処理を示すフローチャートである。
【図１２】第４実施形態に係る連携システムの構成を示す構成図である。
【図１３】第４実施形態に係る連携システムにおいて、イベント割込み処理の一例を示すフローチャートである。
【図１４】第５実施形態に係る連携システムにおいて、イベント割込み処理の他の例を示すフローチャートである。
【図１５】第６実施形態に係る連携システムの構成を示す構成図である。
【図１６】第６実施形態に係る連携システムにおいて、データ中継装置による中継処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態に係る連携システムを図面を参照しつつ説明する。なお、以下に説明する各実施形態において、同様の構成には同じ参照番号を付与し、また、フローチャートにおける同様の処理には、同じステップ番号を付与することにより、詳細な説明を省略する場合がある。
【００１４】
（第１実施形態）
まず、図１〜図５に基づき、第１実施形態に係る連携システムについて説明する。本実施形態に係る連携システムは、例えば車両において、各種の車載機器を制御する複数のＥＣＵを備えた制御システムに適用され、その制御システムにおける、第１の制御部としての第１ＥＣＵ１０と、第２の制御部としての第２ＥＣＵ２０との間で、円滑な連携処理を行うことを可能にするものである。連携処理の具体例としては、例えば、ハイブリッド車両において、エンジンの発生トルクとモータジェネレータの発生トルクとの合計トルクが、目標トルクに一致するように、エンジンＥＣＵとモータジェネレータＥＣＵとが、各々の制御処理を連携して行う例を挙げることができる。また、他の具体例として、ブレーキ装置による制動トルクとモータジェネレータによる回生制動トルクとの合計トルクが、目標制動トルクに一致するように、ブレーキＥＣＵとモータジェネレータＥＣＵとが、各々の制御処理を連携して行う例を挙げることもできる。ただし、連携処理の例はこれらに限られず、複数のＥＣＵがそれぞれの制御処理を行う際に、一方のＥＣＵが他方のＥＣＵの制御状態に関する情報を必要とする場合には、本実施形態に係る連携システムを適用することができる。
【００１５】
図１に示すように、第１ＥＣＵ１０と第２ＥＣＵ２０とは、通信ライン１を介して、相互にデータの送受信を行うことが可能に構成されている。通信ライン１は、第１ＥＣＵ１０と第２ＥＣＵ２０との間の通信のために専用に設けられたものであっても良いし、例えば、ＣＡＮ（登録商標）やＬＩＮなどの車内ＬＡＮのように、多数のＥＣＵによって共用される通信ラインであっても良い。なお、通信ライン１が、多数のＥＣＵによって共用される場合、後述する送信予定時刻通知データの送信メッセージや、即時データの送信メッセージに対し、相対的に優先度の高いＩＤを付与する。これにより、送信予定時刻通知データの送信メッセージや、即時データの送信メッセージに関して、他の送信メッセージとの競合による送信遅延を抑制することができる。
【００１６】
以下においては、説明の便宜上、第１ＥＣＵ１０から第２ＥＣＵ２０へデータが送信される例について説明するが、第２ＥＣＵ２０から第１ＥＣＵ１０へもデータ送信を行い得ることは言うまでもない。
【００１７】
第１ＥＣＵ１０は、図１に示すように、第１処理部１１、第１通信ドライバー１２、第１予約部１７、及び第１通信物理層１８を有している。なお、これらの構成の内、第１通信ドライバー１２と第１通信物理層１８とが、送信部に相当する。
【００１８】
第１処理部１１は、ＣＰＵを備え、例えば、第１ＥＣＵ１０と第２ＥＣＵ２０との連携処理に用いられる連携処理用データなどに関して、所定のフォーマットに従う送信メッセージを生成するための生成処理を実行する。この送信メッセージには、その送信メッセージに含まれるデータの種類を示す情報や、使用される通信パケットの種別を示す情報が含まれる。なお、第１ＥＣＵ１０と第２ＥＣＵ２０間で送受信されるメッセージは、連携処理用データに関するものだけであっても良いし、連携処理用データ以外のデータに関するメッセージも送受信されても良い。また、第１処理部１１が備えるＣＰＵは、複数のコアからなるマルチコア型のＣＰＵであっても良いし、１つのコアからなるシングルコア型のＣＰＵであっても良い。
【００１９】
上述した連携処理用データには、連携処理を行う際に、第１ＥＣＵ１０と第２ＥＣＵ２０とでほぼリアルタイムで共有すべき、第１ＥＣＵ１０から即時の送信が必要な即時データが含まれる。また、連携処理用データには、第１ＥＣＵ１０と第２ＥＣＵ２０とで共有し、その共有したデータに基づき各々の制御処理を連動させる必要があるが、第２ＥＣＵ２０で利用されるまでにある程度の時間的猶予が許容される連動データも含まれても良い。さらに、連携処理用データには、例えば、変化の時定数が大きかったり、第２ＥＣＵ２０にて、比較的長い時間間隔で参照すれば良かったりするような、時間的な制約が最も緩い参照データも含まれても良い。
【００２０】
なお、連携処理用データが、即時の送信が必要な即時データ、利用までにある程度の時間的猶予が許容される連動データ、及び時間的制約が最も緩い参照データの３種類に区分けされる例について説明した。しかしながら、時間的制約による連携処理用データの種類の区分に関して、即時データとそれ以外のデータの２種類に区分しても良いし、逆に４種類以上に区分しても良い。
【００２１】
また、第１処理部１１は、後述する第１予約部１７による指示に応じて、連携処理用データの中で、最も素早く送信する必要がある即時データについて、その送信メッセージを送信する予定時刻を、事前に第２ＥＣＵ２０に通知するための送信予定時刻通知データを生成する。第２ＥＣＵ２０に事前に送信予定時刻を通知することにより、第２ＥＣＵ２０では、即時データを受領したときに、即座に、即時データに基づく連携処理を実行できるように、メモリやＣＰＵなどのリソースを確保しておくことが可能になる。なお、第２ＥＣＵ２０が、この予定時刻通知データを受信した場合に、送信予定時刻通知データをどのように利用するかに関しては、後に詳細に説明する。
【００２２】
さらに、第１処理部１１は、上述した送信メッセージの生成処理に加え、制御対象機器を制御するための各種の演算処理や、制御対象機器や各種のセンサの異常診断処理など、その他の処理も実行する。
【００２３】
第１通信ドライバー１２は、第１処理部１１によって生成された送信メッセージを、その送信メッセージに含まれるデータの種類情報や、使用される通信パケットの種別情報に応じて区分して格納する複数のレジスタを備える。図１に示された例では、第１通信ドライバー１２は、時刻通知レジスタ１３、高速レジスタ１４、中速レジスタ１５、及び低速レジスタ１６を備えている。時刻通知レジスタ１３は、上述した送信予定時刻通知データの送信メッセージを格納するためのものである。高速レジスタ１４は、上述した即時データの送信メッセージを含む、送信を即時に行う必要がある送信メッセージを格納するためのものである。中速レジスタ１５は、上述した連動データの送信メッセージを含む、送信にある程度の時間的猶予がある送信メッセージを格納するためのものである。そして、低速レジスタ１６は、上述した参照データの送信メッセージを含む、時間的制約が最も緩い送信メッセージを格納するためのものである。高速レジスタ１４、中速レジスタ１５、及び低速レジスタ１６は、それぞれ、複数の送信メッセージを格納できるように、複数設けられている。
【００２４】
第１通信ドライバー１２は、高速レジスタ１４、中速レジスタ１５、及び低速レジスタ１６に格納された送信メッセージを、予め定められた通信スケジュールに従って、第１通信物理層１８を介して送信させる。図２に、通信スケジュールの一例を示す。第１通信ドライバー１２は、図２に示すように、第１通信物理層１８を介して、高速レジスタ１４に格納された送信メッセージを最も短い時間間隔で送信タイミングが到来する高速パケットにより送信する。また、第１通信ドライバー１２は、第１通信物理層１８を介して、中速レジスタ１５に格納された送信メッセージを、高速パケットよりも長い時間間隔で送信タイミングが到来する中速パケットにより送信する。なお、高速パケット及び中速パケットは、それぞれ、高速レジスタ１４及び中速レジスタ１５に送信メッセージが格納されていない場合、各々の送信タイミングが到来しても、送信されることはない。そして、第１通信ドライバー１２は、低速レジスタ１６に格納された送信メッセージを、中速パケットよりも長い時間間隔で送信タイミングが到来する低速パケットにより送信する。ただし、低速パケットは、より優先度の高い高速パケットや中速パケットの送信が行われない空き時間がある場合、その空き時間に送信されても良い。これは、中速パケットについても同様である。また、第１通信ドライバー１２は、中速レジスタ１５と低速レジスタ１６との両方を備えるのではなく、いずれか一方のみを備えるものであっても良い。
【００２５】
一方、第１通信ドライバー１２は、時刻通知レジスタ１３に送信予定時刻通知データの送信メッセージが格納された場合には、上述した高速パケット、中速パケット、及び低速パケットの送信の合間を縫って、極力早いタイミングで時刻通知パケットを送信する。例えば、図３には、時刻Ｔ１において、即時データが発生した場合に、その即時データに対応する送信予定時刻通知データの時刻通知パケットが、高速パケット通信の合間の時刻Ｔ２に送信される例が示されている。もし、送信予定時刻通知データの送信メッセージが時刻通知レジスタ１３に格納されたときに、高速パケットなどの送信中であった場合には、第１通信ドライバー１２は、送信中の高速パケットの送信完了を待って、時刻通知パケットの送信を行えば良い。
【００２６】
第１予約部１７は、第１処理部１１における演算処理などにより、即時データが発生した場合に、その発生から送信までを極力短時間に行うことができるようにするために、送信タイミングの予約（すなわち、即時データの送信メッセージを格納する高速レジスタ１４の予約）、及びその送信メッセージの生成処理のために第１処理部１１の予約を行う。さらに、第１予約部１７は、即時データを含む送信メッセージの送信予定時刻を第２ＥＣＵ２０に通知する送信予定時刻通知データの送信メッセージを生成するよう、第１処理部１１に指示する。
【００２７】
具体的には、図３に示すように、時刻Ｔ１に即時データが発生すると、第１予約部１７は、まず、高速パケットの送信タイミングの中で、即時データを送信可能な最も早い送信タイミングを予約する。つまり、第１予約部１７は、即時データの送信データの生成処理に要する時間を見込んで、その時間経過後、最も早く到来する送信タイミングを予約する。図３に示す例では、第１予約部１７は、時刻Ｔ４の送信タイミングを予約している。なお、第１通信ドライバー１２は、複数の高速レジスタ１４に格納された送信メッセージを、高速レジスタ１４の並び順に沿って順番に高速パケットにより送信する。そのため、送信タイミングの予約は、第１通信ドライバー１２のいずれかの高速レジスタ１４を予約することと等価である。
【００２８】
もし、予約しようとした高速レジスタ１４にすでに別の送信メッセージが格納されていた場合には、第１予約部１７は、空いている中で最も早く送信タイミングが到来する高速レジスタ１４を予約しても良い。あるいは、第１予約部１７は、格納されている別の送信メッセージについて、送信タイミングが１周期遅れるように、高速レジスタ１４の格納データを移動させることで、予約しようとした高速レジスタ１４を利用できるようにしても良い。
【００２９】
そして、第１予約部１７は、即時データの送信タイミングの予約後、その予約した送信タイミングに対応する送信予定時刻通知データの送信メッセージの生成を第１処理部１１に指示する。第１処理部１１によって、送信予定時刻通知データの送信メッセージの生成が完了すると、時刻通知レジスタ１３に格納される。なお、第１予約部１７が、送信予定時刻通知データの送信メッセージの生成し、時刻通知レジスタ１３に格納するようにしても良い。このように、送信予定時刻通知データの送信メッセージが時刻通知レジスタ１３に格納されると、図３に示すように、時刻通知パケットにより、送信予定時刻通知データを含む送信メッセージが第２ＥＣＵ２０に送信される。
【００３０】
さらに、第１予約部１７は、予約した送信タイミングまでに、即時データの送信メッセージの準備が確実に完了できるように、第１処理部１１を予約する。この予約の具体的な形態として、例えば、即時データの送信メッセージの生成処理を送信タイミングまでに完了できるよう、送信タイミングから所定時間遡ったある時刻から、時間ベースにて、第１処理部１１の予約を行っても良い。あるいは、第１処理部１１のＣＰＵが複数コアを有しており、空きコアが有る場合には、その空きコアを予約しても良い。図３には、時間ベースにて、時刻Ｔ３から第１処理部１１を予約した例が示されている。
【００３１】
なお、第１処理部１１にて実行中の現行処理が、予約の開始時刻までに終了しない場合、第１処理部１１は、現行処理を一時中断し、割込みにより、即時データの送信メッセージの生成処理を実行するようにすれば良い。
【００３２】
次に、第２ＥＣＵ２０について説明する。第２ＥＣＵ２０は、図１に示すように、第２通信物理層２１、第２通信ドライバー２２、第２予約部２７、及び第２処理部２８を有している。なお、これらの構成の内、第２通信物理層２１と第２通信ドライバー２２とが、送信部に相当する。第２通信物理層２１は、第１通信物理層１８から送信された各種の通信パケットを受信し、その通信パケットに含まれる送信メッセージを、第２通信ドライバー２２へ転送する。
【００３３】
第２通信ドライバー２２は、受信した送信メッセージに含まれるデータの種類情報や、使用された通信パケットの種別情報を参照することにより、送信メッセージを区分して格納する複数のレジスタを備えている。図１に示された例では、第２通信ドライバー２２は、複数のレジスタとして、時刻通知レジスタ２３、高速レジスタ２４、中速レジスタ２５、及び低速レジスタ２６を備えている。時刻通知レジスタ２３は、時刻通知パケットにより送信された、送信予定時刻通知データを含む送信メッセージを格納する。高速レジスタ２４は、高速パケットにより送信された送信メッセージを格納する。この高速パケットにより送信された送信メッセージには、即時データの送信メッセージが含まれる。中速レジスタ２５は、中速パケットにより送信された送信メッセージを格納する。また、低速レジスタ２６は、低速パケットにより送信された送信メッセージを格納する。
【００３４】
第２処理部２８は、ＣＰＵを備え、第２通信ドライバー２２の高速レジスタ２４、中速レジスタ２５、低速レジスタ２６に格納された送信メッセージから、連携処理用データなどを取り出す処理を行う。また、第２処理部２８は、取り出した連携処理用データを用いて連携処理を実行する。さらに、第２処理部２８は、制御対象機器や各種のセンサの異常診断処理など、その他の処理も実行する。この第２処理部２８が備えるＣＰＵは、第１処理部１１と同様に、複数のコアからなるマルチコア型のＣＰＵであっても良いし、１つのコアからなるシングルコア型のＣＰＵであっても良い。
【００３５】
なお、第２処理部２８は、取り出した連携処理用データが即時データであった場合には、事前に、その即時データに基づく処理を実行することが予約されている。そのため、第２処理部２８は、即時データを取り出すと、即座に、即時データに基づく連携処理の実行を開始する。一方、第２処理部２８は、中速レジスタ２５又は低速レジスタ２６に格納された送信メッセージに関しては、例えば、格納時に設定された処理時刻や、所定周期で定期的に訪れる定時処理時刻に、連携処理用データなどのデータを抽出し、一旦、図示しないメモリの所定エリアに保存しておく。そして、記憶したデータを利用するタスクが起動されたときに、保存されたデータに基づき、所定の処理を実行する。
【００３６】
第２予約部２７は、送信予定時刻通知データに基づいて、即時データを含む送信メッセージを格納する高速レジスタ２４の予約、及び第２処理部２８の予約を行う。これにより、第１ＥＣＵ１０から即時データを含む送信メッセージが送信されたときに、特定の高速レジスタ２４に格納することができる。また、第２処理部２８は、特定の高速レジスタ２４に格納された送信メッセージから、即座に即時データを抽出して、連携処理を実行することが可能になる。このため、その即時データを含む送信メッセージの受信から、即時データに基づく連携処理の実行までを極力短時間に行うことができるようになる。
【００３７】
具体的には、第２予約部２７は、時刻通知レジスタ２３に送信予定時刻通知データを含む送信メッセージが格納されると、その送信予定時刻通知データを抽出する。なお、第２予約部２７は、送信予定時刻通知データの抽出を、第２処理部２８に指示しても良い。送信予定時刻通知データを抽出すると、第２予約部２７は、送信予定時刻に使用可能な高速レジスタ２４を予約する。これにより、即時データを含む送信メッセージが格納される予定の高速レジスタ２４が特定される。
【００３８】
第２予約部は、さらに、送信予定時刻に基づいて、送信メッセージの受信が完了する時刻を算出し、この受信完了時刻に対応して、第２処理部２８を予約する。これにより、予約した時間になると、第２処理部２８に、特定の高速レジスタ２４に格納された送信メッセージから即時データを取り出させ、その即時データに基づく連携処理を行わせることが可能になる。なお、第２処理部２８の予約は、第１処理部１１の予約と同様に、時間ベースにて、第２処理部２８の予約を行っても良いし、空きコアを予約するようにしても良い。
【００３９】
次に、図４のフローチャートを参照しつつ、第１ＥＣＵ１０における、連携処理用データの送信処理について説明する。なお、図４のフローチャートに示す処理は、例えば第１処理部１１により連携処理用データが生成されるなど、連携処理用データが発生したときに実行される。
【００４０】
まず、ステップＳ１００では、連携処理用データが発生したときに、その連携処理用データが即時データであるか否かを判定する。ステップＳ１００における判定処理により、即時データと判定された場合、ステップＳ１１０の処理に進む。一方、即時データではないと判定された場合、ステップＳ１６０の処理に進む。
【００４１】
ステップＳ１１０では、高速レジスタ１４の中で、即時データを送信可能な最も早い送信タイミングに対応する高速レジスタ１４を予約する。続くステップＳ１２０では、送信予定時刻通知データを含む送信メッセージを第２ＥＣＵ２０に送信することにより、第２ＥＣＵ２０に対して、送信予定時刻を通知する。
【００４２】
ステップＳ１３０では、予約した送信タイミングまでに、即時データの送信メッセージの準備が完了できるように、第１処理部１１を予約する。そして、ステップＳ１４０では、予約した第１処理部１１にて、即時データの送信メッセージの生成処理を行わせる。これにより、確実に送信タイミングに間に合うように、即時データの送信メッセージを生成することができる。そして、ステップＳ１５０において、生成した即時データの送信メッセージを、予約した高速レジスタ１４に格納する。これにより、所定の通信スケジュールにおける高速パケットの送信タイミングが到来したとき、即時データの送信メッセージは第２ＥＣＵ２０に送信される。最後に、ステップＳ２２０において、送信履歴を更新し、図４のフローチャートに示す処理を終了する。
【００４３】
一方、ステップＳ１６０では、連携処理用データが連動データであるか否かを判定する。連動データと判定された場合には、ステップＳ１７０の処理に進み、連動データではないと判定された場合、ステップＳ２００の処理に進む。
【００４４】
ステップＳ１７０では、連動データに対して、中速レジスタ１５を予約する。より詳細には、複数の中速レジスタ１５の中で、まだ空いており、かつ、連動レーダの送信メッセージの生成時間を考慮し、その生成後に最も早く送信タイミングが到来する中速レジスタ１５を予約する。なお、連動データの送信メッセージの生成時間は、第１処理部１１を予約しているわけではないので、即時データの場合よりも長い時間を見込むようにする。
【００４５】
そして、ステップＳ１８０では、第１処理部１１にて、連動データの送信メッセージの生成処理を行わせる。この生成処理では、第１処理部１１が別の処理を実行中であれば、その処理の終了を待機し、終了後に、生成処理を実行させる。ただし、第１予約部１７は、予約した送信タイミングから最大待機時間を定め、その最大待機時間が経過しても、生成処理が開始されない場合、第１処理部１１に対して、割込みにより、連動データの生成処理を開始するよう指示しても良い。続くステップＳ１９０において、生成した連動データの送信メッセージを、予約した中速レジスタ１５に格納する。これにより、所定の通信スケジュールにおける中速パケットの送信タイミングが到来したとき、連動データの送信メッセージは第２ＥＣＵ２０に送信される。
【００４６】
また、ステップＳ１６０において、連携処理用データが連動データではない、すなわち、参照データであると判定された場合に実行されるステップＳ２００では、第１処理部１１にて、参照データの送信メッセージの生成処理を行わせる。この生成処理では、連動データの場合と同様に、第１処理部１１が別の処理を実行中であれば、その処理の終了を待機し、終了後に、生成処理を実行させる。さらに、参照データの場合には、時間的制約が緩いため、最大待機時間を設けない。続くステップＳ２１０において、生成した参照データの送信メッセージを、低速レジスタ１６に格納する。
【００４７】
次に、図５のフローチャートを参照しつつ、第２ＥＣＵ２０における、連携処理用データの受信処理について説明する。なお、図５のフローチャートに示す処理は、例えば所定時間毎に定期的に実行される。
【００４８】
まず、ステップＳ３００では、第２通信物理層２１が通信パケットを受信したか否かを判定する。通信パケットが受信されたと判定されると、ステップＳ３１０の処理に進み、受信されていないと判定されると、図５のフローチャートに示す処理を終了する。
【００４９】
ステップＳ３１０では、データ種類情報や、通信パケット種別情報に基づいて、受信された通信パケットが、時刻通知パケットであるか否かを判定する。時刻通知パケットであると判定された場合、ステップＳ３２０の処理に進み、時刻通知パケットではないと判定された場合、ステップＳ３６０の処理に進む。
【００５０】
ステップＳ３２０では、受信した時刻通知パケットに含まれる送信メッセージを、第２通信ドライバー２２の時刻通知レジスタ２３に格納する。続くステップＳ３３０では、時刻通知レジスタ２３に格納された送信メッセージから、送信予定時刻通知データを抽出する。そして、送信予定時刻通知データが示す送信予定時刻に使用可能な高速レジスタ２４を予約する。
【００５１】
ステップＳ３４０では、送信予定時刻に基づいて、送信メッセージの受信が完了する予定時刻を算出する。そして、ステップＳ３５０において、受信完了予定時刻に対応して、第２処理部２８を予約する。ステップＳ３５０の処理が終了すると、一旦、図５のフローチャートに示す処理は終了する。
【００５２】
一方、ステップＳ３１０において、受信した通信パケットは、時刻通知パケットではなく、高速パケット、中速パケット、低速パケットのいずれかであると判定された場合に実行されるステップＳ３６０では、その通信パケットの種類を判別する。この判別処理において、高速パケットと判別されたときステップＳ３７０の処理に進み、中速パケットと判別されたときステップＳ４００の処理に進み、低速パケットと判別されたときステップＳ４４０の処理に進む。
【００５３】
ステップＳ３７０では、受信した高速パケットに含まれる送信メッセージを、予約した特定の高速レジスタ２４に格納する。このように処理する理由は、図５のフローチャートでは、即時データの送信メッセージのみが高速パケットとして送信される場合の受信処理を示しているためである。つまり、即時データに関しては、必ず、送信予定時刻通知により第２ＥＣＵ２０において高速レジスタ２４及び第２処理部２８の予約が行われる。このため、高速パケットであることが、高速レジスタ２４及び第２処理部２８の予約に対応する予約パケットであることを示すことになるためである。
【００５４】
このため、即時データの送信メッセージ以外の送信メッセージも高速パケットにより送信される場合には、単に、通信パケットの種類のみで予約パケットか否かを判断できなくなる。この場合には、例えば、送信予定時刻に受信を開始したか、あるいは、送信メッセージに含まれるデータが即時データであるかなどに基づいて予約パケットであるか否かを判定する必要がある。そして、予約パケットであると判定された場合に、ステップＳ３７０以降の処理を行うようにすれば良い。なお、高速パケットであるが、予約パケットでないと判定された場合には、通常の高速パケットを処理するための取り決めに従い、処理を実行すれば良い。
【００５５】
そして、ステップＳ３８０において、予約した時間になったときに、第２処理部２８は、特定の高速レジスタ２４に格納された送信メッセージから即時データを抽出する。さらに、ステップＳ３９０において、予約した第２処理部２８は、抽出した即時データに基づく連携処理を実行する。
【００５６】
ステップＳ３６０において、受信した通信パケットが中速パケットと判別されたときに実行されるステップＳ４００では、受信した通信パケットに含まれる送信メッセージを中速レジスタ２５に格納する。続くステップＳ４１０では、その中速レジスタ２５に格納した送信メッセージの処理時刻を設定する。そして、ステップS４２０において、設定した処理時刻になると、中速レジスタ２５に格納された送信メッセージから連動データを抽出して、一旦、メモリの所定エリアに保存しておく。この記憶された連動データは、ステップＳ４３０に示すように、連動データを利用するタスクが起動されたとき、そのタスクが、メモリから連動データを読み出して、連携処理を実行することになる。
【００５７】
また、ステップＳ３６０において、受信した通信パケットが低速パケットと判別されたときに実行されるステップＳ４４０では、受信した通信パケットに含まれる送信メッセージを低速レジスタ２６に格納する。続くステップＳ４５０では、所定周期で定期的に訪れる定時処理時刻になったとき、低速レジスタ２６に格納された送信メッセージから参照データを抽出して、一旦、メモリの所定エリアに保存しておく。この記憶された参照データは、ステップＳ４６０に示すように、参照データを利用するタスクが起動されたとき、そのタスクが、メモリから参照データを読み出して、連携処理を実行することになる。
【００５８】
以上、説明したように、第１実施形態に係る連携システムでは、第１ＥＣＵ１０が第１予約部１７を備え、当該第１予約部１７が、即時データの送信メッセージのために、事前に、送信部としての第１通信ドライバー１２の高速レジスタ１４を予約する。このため、第１通信ドライバー１２に、予約された時刻に、即時データの送信メッセージの送信を確実に行わせることができる。
【００５９】
また、第１予約部１７は、即時データの送信メッセージの生成処理を行う第１処理部１１を予約する。このため、送信メッセージの送信予定時刻までに、送信メッセージの生成を完了することができる。さらに、送信メッセージの生成が完了すると、遅滞なく、その送信メッセージの送信を行うことができ、連携処理に用いられる連携処理用データの中で、特に即時性が求められる即時データの通信遅延を極力回避することができる。
【００６０】
さらに、第１予約部１７は、第２ＥＣＵ２０に、送信予定時刻通知データの送信メッセージを送信する。第２ＥＣＵ２０では、送信予定時刻通知データに基づいて、即時データを含む送信メッセージを格納する高速レジスタ２４の予約、及び第２処理部２８の予約を行う。従って、第１ＥＣＵ１０から即時データを含む送信メッセージが送信たとき、第２処理部２８は、その送信メッセージを特定の高速レジスタ２４に格納し、即座に即時データを抽出して、連携処理を実行することができる。その結果、即時データを含む送信メッセージの受信から、即時データに基づく連携処理の実行までを極力短時間に行うことができるようになる。
【００６１】
なお、本実施形態で、通信パケットを高速パケット、中速パケット、低速パケットに区分したのは、通信データの区分（即時データ、連動データ、参照データ）と一対一に対応可能としたためである。このように、通信パケットと通信データとの関係を明確にすることで、通信データが変更になっても、データの再配置等の再設計で通信資産の継承を容易にすることができる。
【００６２】
（第２実施形態）
次に、本発明の第２実施形態に係る連携システムについて説明する。本実施形態に係る連携システムは、第１実施形態の連携システムに対して、第１ＥＣＵ１０から第２ＥＣＵ２０へ、即時データの送信メッセージが送信される場合であっても、時刻通知パケットの送信を行わないようにした点で相違する。その他の点では、第２実施形態に係る連携システムは、第１実施形態に係る連携システムと同様である。例えば、第１予約部１７は、第１実施形態の連携システムと同様に、即時データの送信のために、第１通信ドライバー１２や高速レジスタ１４を予約する。以下、相違点を中心に、本実施形態に係る連携システムについて説明する。
【００６３】
図６に示すように、第１ＥＣＵ１０の第１通信ドライバー１２は、高速レジスタ１４、中速レジスタ１５、及び低速レジスタ１６を備えているが、時刻通知レジスタは備えていない。同様に、第２ＥＣＵ２０の第２通信ドライバー２２も、高速レジスタ２４、中速レジスタ２５、及び低速レジスタ２６を備えているが、時刻通知レジスタは備えていない。このため、本実施形態に関わる連携システムにおいては、第１ＥＣＵ１０から第２ＥＣＵ２０へ、高速パケット、中速パケット、及び低速パケットは送信されるが、時刻通知パケットは送信されない。
【００６４】
このように、時刻通信パケットの送信は行われないが、本実施形態では、第２ＥＣＵ２０において、即時データの送信メッセージの受信時刻に合わせて、事前に第２通信ドライバーの高速レジスタ２４、及び第２処理部２８の予約ができるようになっている。以下、この点について詳しく説明する。
【００６５】
第１実施形態にて説明したように、高速パケット、中速パケット、及び低速パケットは、予め定められた通信スケジュールに従って、第１ＥＣＵ１０から送信される。すなわち、図２に示されるように、高速パケットは、最も短い所定の時間間隔で送信され、中速パケットは、中間の所定の時間間隔で送信され、低速パケットは、最も長い所定の時間間隔で送信される。このため、第２ＥＣＵ２０においても、この通信スケジュールに関する情報を保有しておくことにより、高速パケットの送信予定時刻及びその受信完了時刻を推測することができる。
【００６６】
従って、第２ＥＣＵ２０において、推測した送信予定時刻及び受信完了時刻に基づき、第２通信ドライバーの高速レジスタ２４や、第２処理部２８の予約を行うことが可能になる。
【００６７】
ただし、推測した送信予定時刻に、実際に、即時データの送信メッセージが送信されるとは限らない。そのため、推測した時刻に通信パケットを受信したとき、その通信パケットが高速パケットであり、即時データの送信メッセージを含むものである場合には、予約を継続する。しかし、通信パケットの種別やデータの種類が異なる場合、及び送信予定時刻に通信パケットを受信しない場合には、高速レジスタ２４及び第２処理部２８の予約を取り消して、これらのリソースを解放する。これにより、高速パケットの送信に合わせて、高速レジスタ２４及び第２処理部２８を予約しても、実際に、即時データを受信したとき以外は、これらのリソースを占有することがないので、他の処理に及ぼす影響を抑制することができる。
【００６８】
なお、本実施形態において、高速パケットの送信予定時刻に、他の通信パケットである中速パケットや低速パケットが受信される可能性を考慮しているのは、高速パケットが送信されない空き時間に、中速パケットや低速パケットが送信されることがあり得るためである。また、第１実施形態と同様に、即時データの送信メッセージ以外の送信メッセージが高速パケットにより送信される場合には、高速パケットを受信したとき、即時データの送信メッセージであるか否かを判定し、即時データの送信メッセージ以外の送信メッセージである場合には、予約を取り消しても良い。ただし、即時データの送信メッセージ以外の送信メッセージであっても、高速パケットにより送信されたデータに基づく処理に即時性が求められる場合には、予約したリソースを使って処理を行っても良い。
【００６９】
次に、本実施形態に係る連携システムにおいて、第２ＥＣＵ２０による連携処理用データの受信処理について、図７のフローチャートに基づき説明する。なお、図７のフローチャートに示す処理は、例えば所定時間毎に定期的に実行される。また、以下の説明では、図５のフローチャートと相違する処理を中心に説明する。
【００７０】
まず、最初のステップＳ２９０において、予め定められている通信スケジュールに基づき、高速パケットの送信予定時刻に対応して高速レジスタ２４の予約を行うとともに、受信完了予定時刻に合わせて第２処理部２８の予約を行う。
【００７１】
そして、ステップＳ３００では、通信パケットを受信したか否かを判定し、通信パケットを受信していないと判定された場合、ステップＳ３４５の処理に進む。ステップＳ３４５では、高速パケットの送信予定時刻となったか否かを判定する。高速パケットの送信予定時刻になったにも係わらず、通信パケットを受信しない場合、今回の送信タイミングでは、高速パケットの送信は行われなかったとみなすことができる。そのため、ステップＳ３４５において、高速パケットの送信予定時刻になったと判定された場合には、ステップＳ３５５の処理に進み、高速レジスタ２４及び第２処理部２８の予約を取り消す。
【００７２】
また、通信パケットを受信し（ステップＳ３００）、その通信パケットが中速パケットと判定された場合（ステップＳ３６０）、ステップＳ３９２の処理が行われる。ステップＳ３９２では、高速パケットの送信予定時刻となったか否かを判定する。高速パケットの送信予定時刻になったにも係わらず、中速パケットを受信した場合、今回の高速パケットの送信タイミングでは、高速パケットの送信は行われず、その空き時間に中速パケットが送信されたものとみなすことができる。そのため、ステップＳ３９２において、高速パケットの送信予定時刻になったと判定された場合には、ステップＳ３９５の処理に進み、高速レジスタ２４及び第２処理部２８の予約を取り消す。
【００７３】
通信パケットを受信し（ステップＳ３００）、その通信パケットが低速パケットと判定された場合（Ｓ３６０）には、ステップＳ４３２の処理が行われる。ステップＳ４３２では、高速パケットの送信予定時刻となったか否かを判定する。高速パケットの送信予定時刻になったにも係わらず、低速パケットを受信した場合、今回の高速パケットの送信タイミングでは、高速パケットの送信は行われず、その空き時間に低速パケットが送信されたものとみなすことができる。そのため、ステップＳ４３２において、高速パケットの送信予定時刻になったと判定された場合には、ステップＳ４３５の処理に進み、高速レジスタ２４及び第２処理部２８の予約を取り消す。
【００７４】
その他の処理は、図５のフローチャートと同様であるため、説明を省略する。
【００７５】
（第３実施形態）
次に、本発明の第３実施形態に係る連携システムについて説明する。本実施形態に係る連携システムは、第１実施形態の連携システムに対して、送信間隔が異なる高速パケット、中速パケット、低速パケットを使用せず、送信間隔が一定の一種類の通信パケットを使用して、即時データの送信メッセージや、その他の送信メッセージを送信するようにした点で相違する。これは、通信資産の継承の効果を除けば、複数種類の通信速度のパケットを設けなくても、通信の高速化の効果を得ることが可能であることを意味する。以下、その相違点を中心に、本実施形態に係る連携システムについて説明する。
【００７６】
図８に示すように、第１ＥＣＵ１０の第１通信ドライバー１２は、高速レジスタ１４、中速レジスタ１５、及び低速レジスタ１６を備えておいない。代わりに、第１通信ドライバー１２は、時刻通知レジスタ１３と、送信間隔が一定の一種類の通信パケットに対応した送信レジスタ１９とを備えている。同様に、第２ＥＣＵ２０の第２通信ドライバー２２も、高速レジスタ２４、中速レジスタ２５、及び低速レジスタ２６を備えていない。代わりに、第２通信ドライバー２２は、時刻通知レジスタ２３と、一種類の受信レジスタ２９とを備えている。
【００７７】
本実施形態では、このように、第１ＥＣＵ１０から第２ＥＣＵ２０への送信メッセージの送信は、送信間隔が一定の一種類の通信パケットによって行われる。しかし、そのような通信環境でも、即時データの送信メッセージに関して、第１ＥＣＵ１０及び第２ＥＣＵ２０におけるリソース予約を通じて、極力早いタイミングで即時データの送信メッセージの送受信及び即時データに基づく連携処理を可能としたものである。以下、この点について詳しく説明する。
【００７８】
図９には、本実施形態に係る連携システムにおいて、第１ＥＣＵ１０が、即時データの送信メッセージを生成して、送信するまでの概略の手順が示されている。図９に示すように、時刻Ｔ５に即時データが発生すると、第１予約部１７は、まず、通信パケットの送信タイミングの中で、即時データを送信可能な最も早い送信タイミングに対応する送信レジスタ１９を予約する。つまり、第１予約部１７は、即時データの送信データの生成処理に要する時間を見込んで、その時間経過後、最も早く到来する送信タイミングに対応する送信レジスタ１９を予約する。図９には、第１予約部１７は、時刻Ｔ８の送信タイミングに対応するレジスタを予約した例が示されている。
【００７９】
なお、予約しようとした送信レジスタ１９にすでに別の送信メッセージが格納されていた場合には、第１予約部１７は、格納されている別の送信メッセージについて、送信タイミングが１周期遅れるように、送信レジスタ１９の格納データを移動させることで、予約しようとした送信レジスタ１９を利用できるようにしても良い。あるいは、第１予約部１７は、空いている中で最も早く送信タイミングが到来する送信レジスタ１９を予約しても良い。
【００８０】
そして、第１予約部１７は、即時データの送信タイミングの予約後、その予約した送信タイミングに対応する送信予定時刻通知データの送信メッセージの生成を第１処理部１１に指示する。第１処理部１１によって、送信メッセージの生成が完了すると、時刻通知レジスタ１３に格納される。そのため、即時データの発生後、極短時間の内に、時刻通知パケットにより、生成した送信予定時刻通知データを含む送信メッセージを第２ＥＣＵ２０に送信することができる。図９に示す例では、時刻Ｔ６から、時刻通知パケットの送信が開始されている。
【００８１】
さらに、第１予約部１７は、予約した送信タイミングまでに、即時データの送信メッセージの準備が確実に完了できるように、第１処理部１１を予約する。この第１処理部１１の予約は、時間ベースにて、第１処理部１１の予約を行っても良いし、空きコアがある場合には、その空きコアを予約するようにしても良い。
【００８２】
第１処理部１１が生成する送信メッセージには、その送信メッセージに含まれるデータの種類を示す情報が含まれている。そのため、１種類の通信パケットを使用して、即時データの送信メッセージや、その他の送信メッセージを送信する場合であっても、第２ＥＣＵ２０は、受信した送信メッセージが、即時データを含むものか、その他のデータを含むものかを識別することができる。
【００８３】
なお、例えば、即時データ以外のデータとして、連動データが発生した場合には、図９に示されるように、まず、第１処理部１１において、連動データの送信メッセージの生成処理が行われる。そして、送信メッセージの生成処理の完了後に、空いている送信レジスタ１９に送信メッセージを格納する。これにより、通信パケットの送信タイミングが到来したときに、送信レジスタ１９に格納された、連動データの送信メッセージの送信が行われる。
【００８４】
次に、図１０のフローチャートを参照して、第１ＥＣＵ１０における、連携処理用データの送信処理について説明する。なお、図１０のフローチャートにおいて、図４のフローチャートと同様の処理を行うステップに関して、同じステップ番号を付している。
【００８５】
まず、ステップＳ１００では、連携処理用データが発生したときに、その連携処理用データが即時データであるか否かを判定する。即時データであると判定された場合に実行されるステップＳ１１５では、送信レジスタ１９の中で、即時データを送信可能な、最も早い送信タイミングに対応する送信レジスタ１９を予約する。続くステップＳ１２０では、送信予定時刻通知データを含む送信メッセージを第２ＥＣＵ２０に送信する。ステップＳ１３０では、予約した送信タイミングまでに、即時データの送信メッセージの準備が完了できるように、第１処理部１１を予約する。そして、ステップＳ１４０では、予約した第１処理部１１にて、即時データの送信メッセージの生成処理を行わせる。
【００８６】
続くステップＳ１５５では、生成した即時データの送信メッセージを、予約した送信レジスタ１９に格納する。これにより、通信パケットの送信タイミングが到来したときに、送信レジスタ１９に格納された、即時データの送信メッセージが送信される。最後に、ステップＳ２２０において、送信履歴を更新し、図１０のフローチャートに示す処理を終了する。
【００８７】
一方、ステップＳ１００において、即時データではないと判定された場合に実行されるステップＳ１８５では、第１処理部１１において、連携処理用データの送信メッセージの生成処理が行われる。そして、送信メッセージの生成処理の完了後に、ステップＳ１９５において、空いている送信レジスタ１９に送信メッセージを格納する。
【００８８】
次に、図１１のフローチャートを参照して、第２ＥＣＵ２０における、連携処理用データの受信処理について説明する。なお、図１１のフローチャートにおいて、図５のフローチャートと同様の処理を行うステップに関して、同じステップ番号を付している。
【００８９】
図１１のフローチャートに示すように、ステップＳ３００〜Ｓ３５０までの処理は、図５のフローチャートと同様である。つまり、本実施形態に係る連携システムにおいても、第１ＥＣＵ１０から送信予定時刻通知データの送信メッセージが送信されてくるので、第２予約部２７が、送信予定時刻に基づき、第２通信ドライバー２２の受信レジスタ２９及び第２処理部２８の予約を行う。
【００９０】
ステップＳ３６５では、受信した通信パケットが、受信レジスタ２９及び第２処理部２８の予約に対応する予約パケットであるか否かを判定する。この判定処理は、例えば、送信予定時刻に受信を開始したか、及び／又は、送信メッセージに含まれるデータが即時データであるかなどに基づいて行うことができる。そして、予約パケットであると判定された場合に、ステップＳ３７５以降の処理を行う。ステップＳ３７５では、受信した通信パケットに含まれる送信メッセージを、予約した特定の受信レジスタ２９に格納する。そして、ステップＳ３８０において、予約した時間になったときに、第２処理部２８は、特定の受信レジスタ２９に格納された送信メッセージから即時データを抽出する。さらに、ステップＳ３９０において、予約した第２処理部２８は、抽出した即時データに基づく連携処理を実行する。
【００９１】
一方、ステップＳ３６５において、予約パケットではないと判定された場合に実行されるステップＳ４４５では、受信した通信パケットを、空いている受信レジスタ２９に格納する。続くステップＳ４５５では、所定周期で定期的に訪れる定時処理時刻になったとき、受信レジスタ２９に格納された送信メッセージから連携処理用データを抽出して、一旦、メモリの所定エリアに保存しておく。この記憶された連携処理用データは、ステップＳ４６５に示すように、連携処理用データを利用するタスクが起動されたとき、そのタスクにより、メモリから読み出され、連携処理が実行されることになる。
【００９２】
このように、本実施形態に係る連携システムによれば、送信間隔が一定の一種類の通信パケットを用いて通信が行われる場合であっても、即時データの送信メッセージに関して、第１ＥＣＵ１０及び第２ＥＣＵ２０におけるリソース予約を行うことができる。このため、その予約したリソースを用いて、極力早いタイミングで即時データの送信メッセージの送信を行いつつ、その即時データに基づく連携処理を実行することが可能となる。
【００９３】
なお、上述した第３実施形態では、時刻通知パケットにより送信される送信予定時刻通知データに基づき、第２ＥＣＵ２０が、第２通信ドライバーの受信レジスタ２９及び第２処理部２８などのリソースの予約を行う例について説明した。
【００９４】
しかしながら、第２実施形態にて説明したように、第２ＥＣＵ２０が、通信パケットの通信スケジュールに関する情報を保有しておき、この通信スケジュールに基づき、通信パケットの送信予定時刻及びその受信完了時刻を推測して、第２通信ドライバー２２の送信レジスタ１９や、第２処理部２８の予約を行うようにしても良い。
【００９５】
（第４実施形態）
次に、本発明の第４実施形態に係る連携システムについて説明する。本実施形態に係る連携システムは、第３実施形態の連携システムに対して、所定のイベントが発生したときに、そのイベントの発生を通知するための通知データをイベントパケットにより送信可能にした点で相違する。そして、本実施形態に係る連携システムは、イベント通信に対応したことに伴って、イベント通信と即時データの通信が競合した場合に、即時性が高い２つの異なる通信間の調停処理を含むものとなっている。以下、その相違点を中心に、本実施形態に係る連携システムについて説明する。
【００９６】
本実施形態に係る連携システムでは、図１２に示すように、第１通信ドライバー１２が、イベントパケットにより送信する、イベント通知データの送信メッセージを格納するためのイベントレジスタ３０を備える。第１通信ドライバー１２は、イベントレジスタ３０にイベント通知データの送信メッセージが格納された場合、即座にイベントパケットを送信する。また、第２通信ドライバー２２は、第２通信物理層２１にて受信した、イベント通知データの生成メッセージを格納するイベントレジスタ３１を備える。このように、本実施形態に関わる連携システムは、第１ＥＣＵ１０から第２ＥＣＵ２０へと、イベント通知データを送信することが可能に構成されている。
【００９７】
ここで、例えば、車両に搭載された複数の制御対象機器の動作状態を、特定のイベントの発生を契機として同期して記憶しておき、車両に何らかの異常が生じた場合に、異常の発生原因の解明に利用する場合がある。このような場合、各制御対象機器の動作状態の記憶タイミングのずれが大きくなると、異常の原因解析が正しく行うことができなくなってしまう可能性も生じる。このため、イベントが発生したとき、即座に、イベントの発生を通知することにより、極力、イベント通知に基づく記憶タイミングのずれを小さくできるようにすることが望ましい。
【００９８】
一方、例えば、各ＥＣＵにおいて、制御を行う上での参考情報として位置付けられる、例えば車両の外気温度を定期的に検出し、その検出をイベントとして、各ＥＣＵに送信する場合などは、イベントの通知に、それほどの即時性は求められない。
【００９９】
そこで、本実施形態に係る連携システムでは、通知の即時性の必要度に応じて、予めイベントを少なくとも２種類にカテゴリ分けし、発生したイベントのカテゴリの種類に応じて、イベントの送信メッセージと、即時データの送信メッセージとのいずれを優先するかを決定することとした。これにより、イベントの送信メッセージと即時データの送信メッセージとが競合した場合に、より適切に調停を図ることが可能になる。
【０１００】
以下、図１３のフローチャートを参照して、イベントの発生を通知する通知データをイベントパケットにより送信するための処理について説明する。なお、図１３のフローチャートは、予め定めた複数のイベントの内、いずれかのイベントが発生したときに、割込みにより実行されるものである。
【０１０１】
まず、ステップＳ５００では、イベントが発生したときに、即時データを送信するため、高速レジスタ１４などの予約がなされているか否かを判定する。この判定処理において、予約がなされていると判定された場合ステップＳ５００の処理に進み、予約はなされていないと判定された場合ステップＳ５８０の処理に進む。
【０１０２】
ステップＳ５１０では、発生したイベントの属するカテゴリが、通知の即時性の必要度が高いカテゴリ１であるか否かを判定する。カテゴリ１であると判定された場合には、ステップＳ５２０に進み、カテゴリ１ではないと判定された場合には、ステップＳ５５０の処理に進む。
【０１０３】
ステップＳ５２０では、イベントの発生を通知するためのイベント通知データの送信メッセージを生成する。そして、ステップＳ５３０において、生成したイベント通知データの送信メッセージを、イベントレジスタ３０に格納する。これにより、第１通信ドライバー１２は、イベントパケットを送信する。その後、ステップＳ５４０に進み、即時データの送信処理を行う。この即時データの送信処理は、図１０のフローチャートのステップＳ１４０及びＳ１５５の処理と同様である。このように、通知の即時性の必要度の高いカテゴリに属するイベントについては、イベント通知データの送信メッセージを、即時データの送信メッセージよりも優先して送信する。
【０１０４】
一方、処理がステップＳ５５０に進んだ場合には、まず、ステップＳ５５０において、即時データの送信処理を行う。次いで、ステップＳ５６０において、イベント通知データの送信メッセージを生成し、ステップＳ５７０において、生成したイベント通知データの送信メッセージを、イベントレジスタ３０に格納する。このように、通知の即時性の必要度の低いカテゴリに属するイベントについては、即時データの送信メッセージを、イベント通知データの送信メッセージよりも優先して送信する。
【０１０５】
また、処理がステップＳ５８０に進んだ場合には、即時データの送信予約がなされていないので、ステップＳ５８０において、イベント通知データの送信メッセージを生成し、ステップＳ５９０において、生成したイベント通知データの送信メッセージを、イベントレジスタ３０に格納する。これにより、イベントの発生後、即座に、イベント通知データの送信を行うことができる。
【０１０６】
なお、イベント通知データの送信メッセージを、即時データの送信メッセージよりも優先して送信した場合、即時データの送信メッセージの送信が、予定時刻よりも遅れてなされる可能性が生じる。そのため、受信側の第２ＥＣＵ２０において、通知の即時性の必要度の高いカテゴリに属するイベントの通知データを受信した場合には、即時データの送信メッセージの受信のための予約の取り消しを行わずに、その予約を保持しておくことが望ましい。予約を保持しておくことにより、送信予定時刻よりも僅かに遅れて即時データの送信メッセージが送信された場合に、その即時データの抽出、及び抽出した即時データに基づく連携処理を円滑に開始することが可能になる。
【０１０７】
なお、本実施形態に係る連携システムは、定時送信として、一種類の送信パケットを送信する構成ばかりでなく、上述した第１実施形態のように、異なる間隔で複数種類の送信パケットを送信する構成に適用することもできる。
【０１０８】
（第５実施形態）
次に、本発明の第５実施形態に係る連携システムについて説明する。本実施形態に係る連携システムも、第４実施形態の連携システムと同様に、所定のイベントが発生したときに、そのイベントの発生を通知するための通知データをイベントパケットにより送信可能とした点で共通する。そのため、本実施形態に係る連携システムは、第４実施形態に係る連携システムと同様に構成される。
【０１０９】
しかし、本実施形態に係る連携システムでは、その所定のイベントに関するイベントデータを即時データとして、第１ＥＣＵ１０から第２ＥＣＵ２０へ送信するようにした点が、第４実施形態に係る連携システムと相違する。以下、その相違点を中心に、本実施形態に係る連携システムについて説明する。
【０１１０】
図１４は、本実施形態に係る連携システムにおいて、イベントデータを即時データとして送信するための処理を示したフローチャートである。即時データとして送信すべき、予め定めたイベントが発生すると、図１４のフローチャートの処理が開始される。
【０１１１】
まず、ステップＳ７００では、イベントデータの送信メッセージを生成するための処理時間を見込んで、送信予定時刻を算出する。続くステップＳ７１０では、算出された送信予定時刻からイベントデータの送信メッセージの送信を行うために、その送信予定時刻から第１通信ドライバー１２を予約する。同時に、イベントデータの送信メッセージを受信する第２ＥＣＵ２０に対して、送信予定時刻を通知する。そして、ステップＳ７２０において、送信予定時刻までに、イベントデータの送信メッセージを生成し、イベントレジスタ３０に格納できるように、第１処理部１１を予約する。
【０１１２】
続くステップＳ７３０では、第１通信ドライバー１２におけるイベントデータの送信のための予約時間が、定時送信によるパケット送信の時間帯に重なるか否かを判定する。この判定処理において、予約時間が定時送信の時間帯と重なると判定された場合、ステップＳ７４０において、定時送信によるパケット送信を、時刻通りに行うのではなく、待機たせる。あるいは、イベントデータの送信の予約時間と重なる時間帯において送信予定の、定時送信によるパケット送信をキャンセルしても良い。
【０１１３】
続くステップＳ７５０では、第１処理部１１が、イベントデータの送信メッセージを生成する。そして、ステップＳ７６０において、生成したイベントデータの送信メッセージを、イベントレジスタ３０に格納する。これにより、第１通信ドライバー１２は、イベントパケットを送信する。
【０１１４】
ステップＳ７７０では、定時送信によるパケット送信が待機中であるか否かを判定する。この判定処理において、待機中のパケット送信があると判定された場合、ステップＳ７８０において、その待機している、定時送信によるパケット送信を実行する。なお、イベントデータの送信のための予約時間が定時送信の時間帯と重なると判定され、定時送信によるパケット送信をキャンセルした場合には、ステップＳ７７０とＳ７８０の処理は省略される。最後に、ステップＳ７９０において、通信パケットの送信履歴を更新し、図１４のフローチャートに示す処理を終了する。
【０１１５】
上述した処理を実行することにより、第１ＥＣＵ１０において、イベントデータを即時データとして、イベントの発生から極短時間のうちに送信することができる。また、そのイベントデータの送信メッセージを受信する第２ＥＣＵ２０において、送信予定時刻に基づいて、レジスタや処理部のリソース予約を行うことにより、受信後にイベントデータを即座に取り出して、そのイベントデータに基づく連携処理を実行することができる。
【０１１６】
なお、本実施形態に係る連携システムは、定時送信として、一種類の通信パケットを送信する構成ばかりでなく、上述した第１実施形態のように、異なる間隔で複数種類の通信パケットを送信する構成に適用することもできる。
【０１１７】
また、本実施形態では、第１予約部１７が、所定のイベントが発生したとき、イベントデータの送信メッセージを生成するための処理時間を見込んで、送信予定時刻を算出した。しかしながら、第１予約部１７は、定時送信における空き時間に即時データの送信メッセージの送信が行われるように、即時データの送信メッセージの送信予定時刻を定めても良い。
【０１１８】
（第６実施形態）
次に、本発明の第５実施形態に係る連携システムについて説明する。本実施形態では、図１５に示すように、第１ＥＣＵ１０と第２ＥＣＵ２０との間に、メッセージ中継装置４０が介在しており、例えば第１ＥＣＵ１０から第２ＥＣＵ２０に送信メッセージが送信されるとき、メッセージ中継装置４０において、送信メッセージの中継処理が行われる点が、上述した第１〜第５実施形態と相違する。以下、その相違点を中心に、本実施形態に係る連携システムについて説明する。なお、本実施形態にて説明するメッセージ中継装置４０は、上述した第１〜第５実施形態のいずれにも適用可能なものであるが、以下においては、第１実施形態に適用した例について説明する。
【０１１９】
図１５に示すように、第１ＥＣＵ１０及び第２ＥＣＵ２０は、例えば第１実施形態における第１ＥＣＵ１０及び第２ＥＣＵ２０と同様に構成される。メッセージ中継装置４０は、第１ＥＣＵ１０と第２ＥＣＵ２０との通信ライン１に挿入され、プロトコル変換やメッセージの受送信などの中継処理を行う。このメッセージ中継装置４０は、退避メモリ４１を備えており、受信した送信メッセージを、一時的に、退避メモリ４１に退避させておくことが可能となっている。また、メッセージ中継装置４０は、例えば第１ＥＣＵ１０から第２ＥＣＵ２０に時刻通知パケットが送信されたとき、送信予定時刻から即時データの中継処理を行うことを可能とするため、その時刻通知パケットに含まれる送信予定時刻を参照して、予約を受け付けることができるように構成されている。
【０１２０】
以下、メッセージ中継装置における中継処理について、図１６のフローチャートを参照して、より詳細に説明する。
【０１２１】
まずステップＳ８００では、メッセージ中継装置４０が、通信パケットを受信したか否かを判定する。通信パケットが受信されたと判定されると、ステップＳ８１０の処理に進み、その一方で、受信されていないと判定されると、図１６のフローチャートに示す処理を終了する。
【０１２２】
ステップＳ８１０では、データ種類情報や、通信パケット種別情報に基づいて、受信された通信パケットが、時刻通知パケットであるか否かを判定する。時刻通知パケットであると判定された場合、ステップＳ８２０の処理に進み、時刻通知パケットではないと判定された場合、ステップＳ８３０の処理に進む。
【０１２３】
ステップＳ８２０では、受信した時刻通知パケットに含まれる送信メッセージ中の送信予定時刻通知データを参照して、その送信予定時刻における中継処理の予約を受け付ける。さらに、ステップＳ８２５において、時刻通知パケットのメッセージ中継処理を実施した後、一旦、処理を終了する。一方、受信した通信パケットが時刻通知パケットではないと判定された場合に実行されるステップＳ８３０では、メッセージ中継装置４０が予約されているか否かを判定する。この判定処理において、予約されていないと判定されると、ステップＳ８６０の処理に進む。一方、予約されていると判定されると、ステップＳ８４０の処理に進む。
【０１２４】
ステップＳ８６０では、受信した通信パケットに含まれる送信メッセージの中継処理を実行する。一方、ステップＳ８４０では、受信した通信パケットが、メッセージ中継装置４０における中継処理が予約されている予約パケットであるか否かを、データ種類情報などに基づいて判定する。この判定処理において、予約パケットではないと判定された場合、ステップＳ８５０の処理に進む。一方、予約パケットであると判定された場合、ステップＳ８８０の処理に進む。
【０１２５】
ステップＳ８５０では、受信した通信パケットに含まれる送信メッセージの中継処理が、予約時刻までに完了できるか否かを判定する。予約時刻までに中継処理を完了できると判定されると、即時データの送信メッセージの中継処理に対する影響が及ぼす虞がないため、ステップＳ８６０に進んで、受信した通信パケットに含まれる送信メッセージの中継処理を実行する。しかしながら、予約時刻までに中継処理を完了できないと判定された場合には、ステップＳ８７０に進んで、受信した通信パケットに含まれる送信メッセージを退避メモリ４１に一時的に保管する。
【０１２６】
なお、上述した例では、ステップＳ８３０からＳ８５０までの判断後に送信メッセージを退避メモリ４１に一時保管した。しかしながら、まずは送信メッセージを退避メモリ４１に一時保管し、その後、ステップＳ８３０からＳ８５０の判断を行い、その判断結果がメッセージ中継処理を実行するものであれば、退避メモリ４１から送信メッセージを取り出して、メッセージ中継処理を行ってもよい。この際、複数のメッセージが退避メモリ４１に一時保管された場合に、一時保管されたメッセージ間でメッセージが取り出される順番を変更することも可能である。例えば、中速パケットにより送信されるメッセージと低速パケットにより送信されるメッセージの両方が一時保管された場合は、一時保管された順番に係わらず、中速パケットにより送信されるメッセージを先に取出して中継処理を行っても良い。
【０１２７】
ステップＳ８４０において予約パケットと判定されたときに実行されるステップＳ８８０では、受信した通信パケット、すなわち、即時データを含む送信メッセージの中継処理を実行する。その後、ステップＳ８９０において、予約をクリアする。続くステップＳ９００では、退避メモリ４１に一時保管されている、退避中の送信メッセージがあるか否かを判定する。退避中の送信メッセージがある場合には、ステップＳ９１０において、退避メモリ４１に一時保管されている送信メッセージの中継処理を実行する。
【０１２８】
上述した第６実施形態に係る連携システムによれば、第１ＥＣＵ１０と第２ＥＣＵ２０との間の通信がメッセージ中継装置４０を介して行われる場合であっても、即時データの送信メッセージが送信される際には、その即時データの送信メッセージの中継処理用にメッセージ中継装置４０を予約する。このため、メッセージ中継装置４０において、即時データの送信メッセージの中継処理と、他のメッセージの中継処理と競合する場合、即時データの送信メッセージの中継処理を優先して実行することができる。
【０１２９】
なお、メッセージ中継装置４０によるメッセージ中継処理は、通信プロトコルが異なることに対応する単純な物理変換の他、取り扱う制御が異なることに対応するため、メッセージに含まれるデータの意味変換を含んでも良い。意味変換の場合は、メッセージ中継装置４０は中継処理部を備え、第１処理部や第２処理部と同様に即時データの意味変換のためこの中継処理部が予約されてもよい。
【符号の説明】
【０１３０】
１  通信ライン
１０  第１ＥＣＵ
１１  第１処理部
１２  第１通信ドライバー
１７  第１予約部
１８  第１通信物理層
２０  第２ＥＣＵ
２１  第２通信物理層
２２  第２通信ドライバー
２７  第２予約部
２８  第２処理部
【図１】
0006544192.tif 000002
【図２】
0006544192.tif 000003
【図３】
0006544192.tif 000004
【図４】
0006544192.tif 000005
【図５】
0006544192.tif 000006
【図６】
0006544192.tif 000007
【図７】
0006544192.tif 000008
【図８】
0006544192.tif 000009
【図９】
0006544192.tif 000010
【図１０】
0006544192.tif 000011
【図１１】
0006544192.tif 000012
【図１２】
0006544192.tif 000013
【図１３】
0006544192.tif 000014
【図１４】
0006544192.tif 000015
【図１５】
0006544192.tif 000016
【図１６】
0006544192.tif 000017