(57)【特許請求の範囲】
【請求項１】
タイムトリガプロトコルに基づきデータの送受信を行う第１ネットワークに対してデータ送受信を行う第１ネットワーク接続手段と、前記第１ネットワークとはプロトコルが異なる第２ネットワークに対してデータ送受信を行う第２ネットワーク接続手段と、前記第１ネットワーク接続手段が受信したデータに対して所定の処理を行うとともに前記第２ネットワーク接続手段からデータを送信するためのタスクを起動するタスク起動手段を備えるゲートウェイ装置であって、
前記タスク起動手段は、前記第１ネットワーク接続手段が前記第１ネットワークからデータを受信する受信時刻よりも前記タスクでの処理に必要な最大時間ぶん前の時刻にタスクを起動することを特徴とするゲートウェイ装置。
【請求項２】
前記タスク起動手段で起動するタスクは、前記第２ネットワーク接続手段が受信したデータに対して所定の処理を行うとともに前記第１ネットワーク接続手段からデータを送信するためのタスクであることを特徴とする請求項１に記載のゲートウェイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲートウェイ装置に関する。
【背景技術】
【０００２】
ゲートウェイ装置は、プロトコルの異なるネットワーク間のデータを中継するために、一方のネットワークから受信したデータに対してプロトコル変換を行い、プロトコル変換したデータを他方のネットワークに転送する。特許文献１には、車載ネットワークとしてのＦｌｅｘＲａｙバス上のデータを受信して処理を行い、その処理後のデータをＣＡＮ[Controller Area Network]バスに送信するゲートウェイ装置が記載されている。ＦｌｅｘＲａｙは、タイムトリガプロトコルに基づくタイムトリガ方式であり、ＦｌｅｘＲａｙバスに接続されている全てのノードでネットワーク時間を共有しており、全てのノードがネットワーク時間に基づいてデータを送受信している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１７８０２４号公報
【特許文献２】特開２００７−１７４０５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ゲートウェイ装置では、ＦｌｅｘＲａｙバス上のデータを受信して受信バッファに格納し、起動したタスクによってその受信バッファのデータを受信バッファから取り出して各種処理を行っている。このタスク起動は、ゲートウェイ装置のマイクロコンピュータ内蔵のタイマを用いて定期的に行っている。そのため、タスク起動のタイミングが、ＦｌｅｘＲａｙのネットワーク時間とずれてくる。その結果、ＦｌｅｘＲａｙバス上のデータを受信して受信バッファに格納する前にタスクが起動されると、その受信データに対する処理が遅延し、ＣＡＮへの中継が遅延する。
【０００５】
そこで、本発明は、タイムトリガ方式のネットワークと他のネットワークとの間のデータ中継の遅延を抑制するゲートウェイ装置を提供することを課題とする。
【課題を解決するための手段】
【０００６】
本発明に係るゲートウェイ装置は、タイムトリガプロトコルに基づきデータの送受信を行う第１ネットワークに対してデータ送受信を行う第１ネットワーク接続手段と、第１ネットワークとはプロトコルが異なる第２ネットワークに対してデータ送受信を行う第２ネットワーク接続手段と、第１ネットワーク接続手段が受信したデータに対して所定の処理を行うとともに第２ネットワーク接続手段からデータを送信するためのタスクを起動するタスク起動手段を備えるゲートウェイ装置であって、タスク起動手段は、第１ネットワーク接続手段が第１ネットワークからデータを受信する受信時刻よりもタスクでの処理に必要な最大時間ぶん前の時刻にタスクを起動することを特徴とする。
【０００７】
このゲートウェイ装置は、タイムトリガプロトコルに基づいてデータを送受信する第１ネットワークと第１ネットワークとはプロトコルが異なる第２ネットワークとの間のデータ中継を行う。そのために、ゲートウェイ装置では、第１ネットワーク接続手段が第１ネットワークでデータを送受信をするとともに、第２ネットワーク接続手段が第２ネットワークでデータを送受信をする。さらに、ゲートウェイ装置では、タスク起動手段がタスクを起動すると、このタスクによって第１ネットワーク接続手段が受信したデータに対して所定の処理を行い、第２ネットワーク接続手段にデータを送信させる。第１ネットワークは、タイムトリガ方式であり、ネットワークに接続される全てのノードでネットワーク時間を共有している。したがって、第１ネットワークワーク接続手段が第１ネットワークからデータを受信する時間及び第１ネットワークにデータを送信する時間は、第１ネットワークにおけるタイムスケジュールで予め決まっている。そこで、ゲートウェイ装置では、タスク起動手段によって第１ネットワーク接続手段が第１ネットワークと通信を行うタイミングに基づいてタスクを起動する（つまり、第１ネットワークのネットワーク時間に同期してタスクを起動させる）。これによって、第１ネットワーク接続手段によるデータ受信時間直後に、その起動させたタスクによって第１ネットワーク接続手段が受信したデータを取り出して各処理を行うことができる。このように、ゲートウェイ装置では、タスクを第１ネットワークのネットワーク時間に同期させて起動することにより、タスクの起動タイミングが第１ネットワークからのデータの受信タイミングに対して最適なタイミングとなり、第１ネットワークと第２ネットワークとの間のデータ中継（特に、第１ネットワークから第２ネットワークへデータ中継する場合）の遅延を抑制することができる。
【０００８】
本発明の上記ゲートウェイ装置では、タスク起動手段で起動するタスクは、第２ネットワーク接続手段が受信したデータに対して所定の処理を行うとともに第１ネットワーク接続手段からデータを送信するためのタスクである。
【０００９】
このゲートウェイ装置では、タスク起動手段がタスクを起動すると、このタスクによって、上記の処理の他に、第２ネットワーク接続手段が受信したデータに対して所定の処理を行い、第１ネットワーク接続手段でデータを送信させる。特に、上記したようにタスク起動手段によって第１ネットワーク接続手段が第１ネットワークと通信を行うタイミングに基づいてタスクを起動すると、この起動後のタスクによる第１ネットワーク接続手段でデータを送信させるための処理終了直後に、第１ネットワーク接続手段によるデータ送信時間となる。このように、ゲートウェイ装置では、タスクを第１ネットワークのネットワーク時間に同期させて起動することにより、タスクの起動タイミングが第１ネットワークへのデータの送信タイミングに対して最適なタイミングとなり、第１ネットワークと第２ネットワークとの間のデータ中継（特に、第２ネットワークから第１ネットワークへデータ中継する場合）の遅延を抑制することができる。
【発明の効果】
【００１０】
この本発明によれば、タスクを第１ネットワークのネットワーク時間に同期させて起動することにより、第１ネットワークと第２ネットワークとの間のデータ中継の遅延を抑制することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態に係る車載ネットワークの構成図である。
【図２】本実施の形態に係る統合ＥＣＵ（ゲートウェイ）のハードウェアの構成図である。
【図３】図２の統合ＥＣＵのゲートウェイにおけるタイミングチャートであり、（ａ）がタスク処理であり、（ｂ）が割り込み処理であり、（ｃ）がＦｌｅｘＲａｙ側のハードウェア処理であり、（ｄ）がＣＡＮ側のハードウェア処理である。
【図４】従来のゲートウェイにおけるタイミングチャートであり、（ａ）がタスク処理であり、（ｂ）が割り込み処理であり、（ｃ）がＦｌｅｘＲａｙ側のハードウェア処理であり、（ｄ）がＣＡＮ側のハードウェア処理である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明に係るゲートウェイ装置の実施の形態を説明する。なお、各図において同一又は相当する要素については同一の符号を付し、重複する説明を省略する。
【００１３】
本実施の形態では、本発明に係るゲートウェイ装置を、車両に搭載されるネットワークに接続される統合ＥＣＵ[Electronic Control Unit]でのゲートウェイ機能に適用する。本実施の形態に係る車載ネットワークは、通信プロトコルの異なるＣＡＮとＦｌｅｘＲａｙからなる。本実施の形態に係る統合ＥＣＵでのゲートウェイ機能は、ＣＡＮからの受信データに対してＦｌｅｘＲａｙへ送信するためのプロトコル変換を行うとともにＦｌｅｘＲａｙからの受信データに対してＣＡＮへ送信するためのプロトコル変換を行い、ＣＡＮとＦｌｅｘＲａｙとの間のデータの中継を行う。なお、車載ネットワークに流れるデータには、データを識別するためにＩＤが付加されている。
【００１４】
図１を参照して、車載ネットワーク１について説明する。図１は、本実施の形態に係る車載ネットワークの構成図である。
【００１５】
車載ネットワーク１は、階層化ＬＡＮ[Local Area Network]であり、車両でのグローバルなネットワークであるＣＡＮ２とローカルなネットワークである複数のＦｌｅｘＲａｙ３（３ａ，３ｂ，・・・）を有している。ＣＡＮ２には、ノードとしてＥＣＵ４ａ，４ｂ，・・・と統合ＥＣＵ５ａ，５ｂ，・・・が接続されている。ＦｌｅｘＲａｙ３には、ノードとしてＥＣＵ６ａ，６ｂ，・・・と統合ＥＣＵ５ａ，５ｂ，・・・が接続されている。統合ＥＣＵ５ａ，５ｂ，・・・の中には、複数のＦｌｅｘＲａｙ３ａ，３ｂに接続される統合ＥＣＵ５ａもある。ＣＡＮ２とＦｌｅｘＲａｙ３の両方に接続される統合ＥＣＵ５が、ゲートウェイとして機能し、ＣＡＮ２とＦｌｅｘＲａｙ３との間のデータの中継を行う。なお、本実施の形態ではＣＡＮ２が特許請求の範囲に記載する第２ネットワークに相当し、ＦｌｅｘＲａｙ３が特許請求の範囲に記載する第１ネットワークに相当する。
【００１６】
ＣＡＮ２は、通信プロトコルがＣＡＮプロトコルであり、イベントドリブン方式でフレーム（データ）の送受信が行われる。ＣＡＮ２では、接続されるノード（ＥＣＵ４、統合ＥＣＵ５）が個別にネットワークの状況を監視しており、ノード個々が時計で時間を管理している。また、ＣＡＮ２では、ノード個々のタイミングでフレームを送信しており、優先順位の高いＩＤを持つフレーム順に送信権が得られる。ＣＡＮ２に接続される各ノードでは、ＣＡＮ２に接続されている他のＥＣＵからフレームが何時送信されるのか（フレームを何時受信できるのか）が判らない。
【００１７】
ＦｌｅｘＲａｙ３は、通信プロトコルがタイムトリガプロトコルであり、タイムトリガ方式でフレーム（データ）の送受信が行われる。各ＦｌｅｘＲａｙ３では、接続される全てのノード（ＥＣＵ６、統合ＥＣＵ５）によってネットワークの状況を互いに監視しており、全てのノードが時計の時間を互いに合わせてネットワーク時間を共有している。また、各ＦｌｅｘＲａｙ３では、ＴＤＭＡ[Time Division Multiple Access]（時分割多元接続）方式であり、ネットワークのタイムスケジュールが設定されており、接続される各ノードに対してネットワーク時間を基準としてフレームを送信する時間がそれぞれ決められている。各ＦｌｅｘＲａｙ３に接続される各ノードでは、タイムスケジュールによって同じＦｌｅｘＲａｙ３に接続されている他のＥＣＵからフレームが何時送信されるのか（フレームを何時受信できるのか）が判っている。このように、ＦｌｅｘＲａｙ３では、接続される全てのノードに対してフレームの送信時刻と受信時刻が決まっており、全てのノードがその各時刻を把握している。
【００１８】
図１〜図３を参照して、統合ＥＣＵ５（特に、ゲートウェイとしての機能）について説明する。図２は、本実施の形態に係る統合ＥＣＵ（ゲートウェイ）のハードウェアの構成図である。図３は、図２の統合ＥＣＵのゲートウェイにおけるタイミングチャートである。
【００１９】
統合ＥＣＵ５は、パワートレーン制御、ボディ制御、安全制御、マルチメディア等で分類される複数のＥＣＵを統合するＥＣＵである。また、統合ＥＣＵ５は、ＣＡＮ２と少なくとも１つのＦｌｅｘＲａｙ３に接続され、プロトコルの異なるＣＡＮ２とＦｌｅｘＲａｙ３のバス間のデータ中継を行うゲートウェイである。以下では、統合ＥＣＵ５のゲートウェイとしての機能について説明する。
【００２０】
この統合ＥＣＵ５のゲットウェイに求められる要件は、ＣＡＮ２とＦｌｅｘＲａｙ３の非同期のバス間を低遅延で中継すること、送信先のバス間の状況によって簡単にデータが消えないこと、やむを得ずデータが消える場合には特定のＩＤに偏ることなくデータを消すことである。送信待ちしているデータの容量がバッファの許容量を超えるとデータを消去しなければならないので、データを消去する場合には特定のＩＤのデータだけが消去されないようにする。また、統合ＥＣＵ５のゲットウェイ実装の際の制約要件は、割り込みを使うなら短時間とすること（基本的には割り込みを使わないことが望ましい）、バッファサイズを最小とすることである。統合ＥＣＵ５のゲートウェイは、上記の求められる要件及び制約要件を満たすゲートウェイである。
【００２１】
統合ＥＣＵ５は、図２に示すように、ハードウェアとしてＦｌｅｘＲａｙ用受信部１０、ＦｌｅｘＲａｙ用送信部１１、ＣＡＮ用受信部１２、ＣＡＮ用送信部１３、ＦｌｅｘＲａｙ用受信バッファ１４、ＦｌｅｘＲａｙ用送信バッファ１５、ＣＡＮ用受信バッファ１６、受信ＦＩＦＯ[First-In First-Out]１７、送信ＦＩＦＯ１８、ＣＡＮ用送信バッファ１９、ＩＤ毎バッファ２０、ＣＰＵ[Central ProcessingUnit]２１を備えている。統合ＥＣＵ５はマイクロコンピュータで構成され、マイクロコンピュータに各バッファ１４〜２０や他のメモリ、ＣＰＵ２１及び下記するコミュニケーションコントローラやＣＡＮマクロ等が含まれている。なお、本実施の形態では、ＦｌｅｘＲａｙ用受信部１０及びＦｌｅｘＲａｙ用送信部１１が特許請求の範囲に記載する第１ネットワーク接続手段に相当し、ＣＡＮ用受信部１２及びＣＡＮ用送信部１３が特許請求の範囲に記載する第２ネットワーク接続手段に相当する。
【００２２】
ＦｌｅｘＲａｙ用受信部１０は、ＦｌｅｘＲａｙ３からフレームのデータを受信し、その受信したデータをアナログからデジタルに変換してＦｌｅｘＲａｙ用受信バッファ１４に格納する。ＦｌｅｘＲａｙ用送信部１１は、ＦｌｅｘＲａｙ用送信バッファ１５に格納されているデータを取り出し、デジタルからアナログに変換してＦｌｅｘＲａｙ３にフレームのデータを送信する。ＦｌｅｘＲａｙ用受信部１０での受信処理及びＦｌｅｘＲａｙ用送信部１１での送信処理は、ＦｌｅｘＲａｙ３のタイムスケジュールに従って予め決められた時刻に行われる。ＦｌｅｘＲａｙ用受信部１０やＦｌｅｘＲａｙ用送信部１１は、例えば、バスドライバとコミュニケーションコントローラで構成される。バスドライバは、ＦｌｅｘＲａｙ３からフレームのデータを送受信し、アナログ−デジタルの変換を行う。コミュニケーションコントローラは、受信したデータのＦｌｅｘＲａｙ用受信バッファ１４への格納や送信するデータのＦｌｅｘＲａｙ用送信バッファ１５からの取り出しを行う。また、コミュニケーションコントローラは、時計を持っており、ＦｌｅｘＲａｙ３に接続される他のＥＣＵの時計と互いに時間を合わせる。コミュニケーションコントローラは、ＦｌｅｘＲａｙ３のタイムスケジュールを管理しており、ＦｌｅｘＲａｙ３におけるフレームのデータの受信時刻及び送信時刻を把握している。特に、コミュニケーションコントローラでは、ＦｌｅｘＲａｙ３からのフレームのデータの受信時刻よりも中継処理用タスクでのＣＡＮ受信処理に必要な最大時間分前の時刻毎に、中継処理用タスクを起動する割り込み処理を行う。
【００２３】
ＣＡＮ用受信部１２は、ＣＡＮ２からのフレームのデータを受信し、その受信したデータをアナログからデジタルに変換してＣＡＮ用受信バッファ１６に格納し、ＣＡＮ用受信バッファ１６から受信ＦＩＦＯ１７に順次格納する。ＣＡＮ用送信部１３は、送信ＦＩＦＯ１８に格納されているデータをＣＡＮ用送信バッファ１９に順次出力し、ＣＡＮ用送信バッファ１９に格納されているデータを取り出し、デジタルからアナログに変換してＣＡＮ２にフレームのデータを送信する。ＣＡＮ用受信部１２やＣＡＮ用送信部１３は、例えば、ＣＡＮトランシーバとＣＡＮマクロで構成される。ＣＡＮトランシーバは、ＣＡＮ２からフレームのデータを送受信し、アナログ−デジタルの変換を行う。ＣＡＮマクロは、受信したデータのＣＡＮ用受信バッファ１６への格納や送信するデータのＣＡＮ用送信バッファ１９からの取り出しを行う。
【００２４】
ＦｌｅｘＲａｙ用受信バッファ１４は、ＦｌｅｘＲａｙ３から受信したデータを保持するバッファである。ＦｌｅｘＲａｙ用送信バッファ１５は、ＦｌｅｘＲａｙ３に送信するデータを保持するバッファである。ＣＡＮ用受信バッファ１６は、ＣＡＮ２から受信したデータを保持するバッファである。受信ＦＩＦＯ１７は、ＣＡＮ２から受信したデータをＩＤ毎バッファ２０に出力するまで保持する待ちバッファであり、保持しているデータの中で最初に入力されたデータから出力する。送信ＦＩＦＯ１８は、ＩＤ毎バッファ２０から送信処理されたデータをＣＡＮ２に送信するまで保持する待ちバッファであり、保持しているデータの中で最初に入力されたデータから出力する。ＣＡＮ用送信バッファ１９は、ＣＡＮ２に送信するデータを保持するバッファである。ＩＤ毎バッファ２０は、データに付加されているＩＤ毎にデータを保持するためのバッファであり、ＣＡＮ２から受信したデータ及びＦｌｅｘＲａｙ３から受信したデータをＩＤ毎に保持する。
【００２５】
ＣＰＵ２１は、統合ＥＣＵ５の各アプリケーションを実現するためのタスクを実行する。このタスクの中には、ＣＡＮ２とＦｌｅｘＲａｙ３との間のデータ中継（プロトコル変換）を行うための中継処理用タスクがある。この中継処理用タスクでは、図３（ａ）に示すように、ＣＡＮ受信処理（Ｓ１０）、ＦｌｅｘＲａｙ受信処理（Ｓ１１）、組み替え／ルーティング処理（Ｓ１２）、ＩＤ毎バッファ保持処理（Ｓ１３）、ＦｌｅｘＲａｙ送信処理（Ｓ１４）、ＣＡＮ送信処理（Ｓ１５）の順で各処理を行う。ＣＰＵ２１では、この中継処理用タスクをコミュニケーションコントローラからの割り込み処理が入る毎に起動し、実行する。なお、本実施の形態では、コミュニケーションコントローラからの割り込み処理に応じたＣＰＵ２１での中継処理用タスクの起動処理が特許請求の範囲に記載するタスク起動手段に相当する。
【００２６】
ＣＡＮ受信処理は、ＣＡＮ用受信部１２で受信して受信ＦＩＦＯ１７に格納されているデータをＩＤ毎バッファ２０に順次転送する処理である。ＦｌｅｘＲａｙ受信処理は、ＦｌｅｘＲａｙ用受信部１０で受信してＦｌｅｘＲａｙ用受信バッファ１４に格納されているデータをＩＤ毎バッファ２０に順次転送する処理である。組み替え／ルーティング処理は、データに付加されているＩＤに基づいて中継先を振り分け、データの組み替え（必要のないデータの消去等も行う）、データの間引き等を行う処理である。ＩＤ毎バッファ保持処理は、送信処理を開始するまでＩＤ毎バッファ２０でデータを保持する処理である。ＦｌｅｘＲａｙ送信処理は、ＦｌｅｘＲａｙ３での送信時刻で送信できるように、ＦｌｅｘＲａｙ３へ振り分けられた送信データをＩＤ毎バッファ２０からＦｌｅｘＲａｙ用送信バッファ１５に順次転送する処理である。ＣＡＮ送信処理Ｓ１５は、ＣＡＮ２へ振り分けられた送信データをＩＤ毎バッファ２０から送信ＦＩＦＯ１８に順次転送する処理である。なお、ＩＤ毎バッファ２０に保持されているデータを検索する場合、特定のＩＤに偏ることなく各処理（送信、消去等）を行うために、前回の中継処理用タスクのときに最後に検索対象となったＩＤの次のＩＤから検索を行う。
【００２７】
図３のタイミングチャートに沿って、統合ＥＣＵ５におけるゲートウェイにおける動作について説明する。ここでは、４ｍ秒のフレームを送受信し、中継処理用タスクが１ｍ秒で実行されるものとする。
【００２８】
ＦｌｅｘＲａｙ用受信部１０では、ＦｌｅｘＲａｙ３のタイムスケジュールに従って、受信時刻になると（Ｔ２０）、ＦｌｅｘＲａｙ３からフレームのデータを受信し、その受信したデータをＦｌｅｘＲａｙ用受信バッファ１４に格納している。特に、コミュニケーションコントローラでは、ＦｌｅｘＲａｙ３からのフレームの受信時刻（Ｔ２０）毎に、その受信時刻（Ｔ２０）に基づいて中継処理用タスクの起動時刻を算出し、その起動時刻になるとＣＰＵ２１に対して割り込み処理を行う（Ｉ２０）。この割り込み処理に応じて、ＣＰＵ２１では、中継処理用タスクを起動する。これによって、中継処理用タスクは、ＦｌｅｘＲａｙ３のネットワーク時間に同期して起動する。
【００２９】
一方、ＣＡＮ２の場合には受信時刻が判らないので、ＣＡＮ用受信部１２では、ＣＡＮ２にデータが送信されると、ＣＡＮ２からデータを受信し、その受信したデータをＣＡＮ用受信バッファ１６に格納し、受信データをＣＡＮ用受信バッファ１６から受信ＦＩＦＯ１７に順次格納する。このＣＡＮデータ受信において、中継処理用タスクを起動する直前にＣＡＮ用受信部１２でＣＡＮ２からのデータを受信すると（Ｔ１０）、ＣＰＵ２１に対してＣＡＮ受信の割り込み処理が入る（Ｉ１０）。この場合、ＣＡＮ２から受信したデータに対して今回起動された中継処理用タスクで処理を行うことができ、最良の受信タイミングである。一方、中継処理用タスク起動後のＣＡＮ受信処理（Ｓ１０）の終了直前等にＣＡＮ用受信部１２でＣＡＮ２からのデータを受信すると（Ｔ１１）、ＣＰＵ２１に対してＣＡＮ受信の割り込み処理が入る（Ｉ１１）。この場合、ＣＡＮ２から受信したデータに対して今回起動された中継処理用タスクで処理を行うことができず、次回起動される中継処理用タスクで処理を行うことになり、最悪の受信タイミングである。
【００３０】
ＣＰＵ２１で中継処理用タスクを起動すると、まず、受信ＦＩＦＯ１７に格納されているＣＡＮ２からの受信データをＩＤ毎バッファ２０に順次転送する（Ｓ１０）。このＣＡＮ受信処理が終了すると、ＦｌｅｘＲａｙ用受信バッファ１４に格納されているＦｌｅｘＲａｙ３からの受信データをＩＤ毎バッファ２０に順次転送する（Ｓ１１）。この際、ハードウェアのＦｌｅｘＲａｙ用受信部１０での受信処理が終了した直後に、ＦｌｅｘＲａｙ受信処理が開始する。
【００３１】
Ｓ１１のＦｌｅｘＲａｙ受信処理が終了すると、ＩＤ毎バッファ２０に格納されたＣＡＮ２からの受信データ及びＦｌｅｘＲａｙ３からの受信データに対して組み替えや間引き等の各処理を行うとともに、中継先を振り分ける（Ｓ１２）。そして、送信処理が始まるまで、ＩＤ毎バッファ２０でデータを保持する（Ｓ１３）。
【００３２】
ＦｌｅｘＲａｙ３の送信時刻（Ｔ２１）に近づくと、ＦｌｅｘＲａｙ３に振り分けられた送信データをＩＤ毎バッファ２０からＦｌｅｘＲａｙ用送信バッファ１５に順次転送する（Ｓ１４）。そして、ＦｌｅｘＲａｙ３の送信時刻（Ｔ２１）になると、ＦｌｅｘＲａｙ用送信部１１では、ＦｌｅｘＲａｙ用送信バッファ１５に格納されている送信データをＦｌｅｘＲａｙ３に順次送信する。この際、ＦｌｅｘＲａｙ送信処理が終了した直後に、ＦｌｅｘＲａｙ３の送信時刻（Ｔ２１）になり、ＦｌｅｘＲａｙ用送信部１１での送信処理が開始する。
【００３３】
Ｓ１４のＦｌｅｘＲａｙ送信処理が終了すると、ＣＡＮ２に振り分けられた送信データを送信ＦＩＦＯ１８に順次転送する（Ｓ１５）。このＣＡＮ送信処理が終了すると、ＣＡＮ用送信部１３に対してＣＡＮ送信完了の割り込み処理が入る（Ｉ１２）。この割り込み処理に応じて、ＣＡＮ用送信部１３では、送信ＦＩＦＯ１８に格納されている送信データをＣＡＮ用送信バッファ１９に順次出力し、ＣＡＮ用送信バッファ１９に一旦格納された送信データをＣＡＮ２に順次送信する（Ｔ１２）。
【００３４】
このゲートウェイの中継において、ＣＡＮ受信タイミングが最悪の場合（Ｔ１１）、ＣＡＮ２からＦｌｅｘＲａｙ３への中継での最悪遅延時間は、ＦｌｅｘＲａｙ３への送信タイミングが常に合っているので、１ｍ秒（中継処理用タスクの１回分）＋タスクの処理時間分だけである。つまり、最悪でも、中継処理用タスクの１回分遅くなるだけである。一方、ＦｌｅｘＲａｙ３からＣＡＮ２への中継での遅延時間は、ＦｌｅｘＲａｙ３の受信タイミングが常に合っているので、常にタスクの処理時間分だけである。
【００３５】
この統合ＥＣＵ５（ゲートウェイ）によれば、中継処理用タスクをＦｌｅｘＲａｙ３のネットワーク時間に同期させて起動することにより、中継処理用タスクの起動タイミングがＦｌｅｘＲａｙ３での受信タイミング及び送信タイミングに対して最適なタイミングとなり、ＦｌｅｘＲａｙ３とＣＡＮ２との間のデータ中継を低遅延で実現できる（遅延を極力抑制できる）。ＦｌｅｘＲａｙ３からＣＡＮ２へデータを中継する場合、ＦｌｅｘＲａｙ３からのデータ受信時刻直後に中継処理用タスクのＦｌｅｘＲａｙ受信処理が開始するので、低遅延となる。ＣＡＮ２からＦｌｅｘＲａｙ３へデータを中継する場合、中継処理用タスクのＦｌｅｘＲａｙ送信処理の終了直後にＦｌｅｘＲａｙ３へのデータ送信時刻になるので、低遅延となる。なお、統合ＥＣＵ５（ゲートウェイ）では、中継処理用タスクにおいて受信ではＣＡＮ受信処理を行ってからＦｌｅｘＲａｙ受信処理を行い、送信ではＦｌｅｘＲａｙ送信処理を行ってからＣＡＮ送信処理を行っているので、上記の処理を好適に実施できる。
【００３６】
ちなみに、上記の実施の形態と同様の車載ネットワークにおいてＣＡＮとＦｌｅｘＲａｙとの間のデータ中継を行う従来のゲートウェイでは、図４に示すように、ＦｌｅｘＲａｙ３の受信時刻に関係なく（非同期）、汎用タイマ（１ｍ秒周期タイマ）を用いて、中継処理用タスクを１ｍ秒毎に起動している。そのため、ＣＡＮ受信タイミングが最悪の場合（Ｔ１１）、ＣＡＮ２からＦｌｅｘＲａｙ３への中継での最悪遅延時間は、１ｍ秒（中継処理用タスクの１回分）＋４ｍ秒（４ｍ秒毎のフレームを送受信しているので）＋タスクの処理時間分である。一方、ＦｌｅｘＲａｙ受信タイミングが最悪の場合（Ｔ２２）、ＦｌｅｘＲａｙ３からＣＡＮ２への中継での最悪遅延時間は、４ｍ秒（４ｍ秒毎のフレームを送受信しているので）＋タスクの処理時間分である。
【００３７】
以上、本発明に係る実施の形態について説明したが、本発明は上記実施の形態に限定されることなく様々な形態で実施される。
【００３８】
例えば、本実施の形態では車両に搭載されるネットワークに適用したが、他のネットワークにも適用可能である。また、本実施の形態ではＣＡＮとＦｌｅｘＲａｙからなるネットワークとしたが、ＣＡＮの代わりに、例えば、イーサネット（登録商標）やＭｏｓｔ[Media Oriented Systems Transport]に置き換えてもよいし、ＦｌｅｘＲａｙの代わりに、例えば、ＬＩＮ[LocalInterconnect Network]に置き換えてもよい。
【００３９】
また、本実施の形態では統合ＥＣＵにゲートウェイの機能を含む構成としたが、ゲートウェイ装置を単体で設けてもよい。
【００４０】
また、本実施の形態ではＣＡＮからＦｌｅｘＲａｙへの中継とＦｌｅｘＲａｙからＣＡＮへの中継を両方行うゲートウェイとしたが、どちらか一方の中継だけを行うゲートウェイにも適用可能である。
【符号の説明】
【００４１】
１…車載ネットワーク、２…ＣＡＮ、３（３ａ，３ｂ，３ｃ）…ＦｌｅｘＲａｙ、４（４ａ，４ｂ，４ｃ，４ｄ，４ｅ）…ＥＣＵ、５（５ａ，５ｂ，５ｃ）…統合ＥＣＵ（ゲートウェイ）、６（６ａ，６ｂ，６ｃ，６ｄ，６ｅ，６ｆ）…ＥＣＵ、１０…ＦｌｅｘＲａｙ用受信部、１１…ＦｌｅｘＲａｙ用送信部、１２…ＣＡＮ用受信部、１３…ＣＡＮ用送信部、１４…ＦｌｅｘＲａｙ用受信バッファ、１５…ＦｌｅｘＲａｙ用送信バッファ、１６…ＣＡＮ用受信バッファ、１７…受信ＦＩＦＯ、１８…送信ＦＩＦＯ、１９…ＣＡＮ用送信バッファ、２０…ＩＤ毎バッファ、２１…ＣＰＵ。
【図１】
0005521741.tif 000002
【図２】
0005521741.tif 000003
【図３】
0005521741.tif 000004
【図４】
0005521741.tif 000005