JP2014204160A - ゲートウェイ装置 - Google Patents

ゲートウェイ装置 Download PDF

Info

Publication number
JP2014204160A
JP2014204160A JP2013076148A JP2013076148A JP2014204160A JP 2014204160 A JP2014204160 A JP 2014204160A JP 2013076148 A JP2013076148 A JP 2013076148A JP 2013076148 A JP2013076148 A JP 2013076148A JP 2014204160 A JP2014204160 A JP 2014204160A
Authority
JP
Japan
Prior art keywords
transmission
data frame
data
stored
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013076148A
Other languages
English (en)
Other versions
JP5728043B2 (ja
Inventor
道孝 坪井
Michitaka Tsuboi
道孝 坪井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2013076148A priority Critical patent/JP5728043B2/ja
Publication of JP2014204160A publication Critical patent/JP2014204160A/ja
Application granted granted Critical
Publication of JP5728043B2 publication Critical patent/JP5728043B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】ゲートウェイ装置において、低優先度のデータフレームの送信完了を待って高優先度のデータフレームの送信が大幅に遅延してしまうのを回避しつつ処理負荷を低減する。【解決手段】より短い送信周期のデータフレームにより高い優先度の識別子が付されており、送信周期に対応付けられた送信バッファ170〜174と、各送信バッファに対応付けられた一以上の送信MB116〜126と、送信MBに格納されたデータフレームをその識別子が表す優先度順に送信する送信機112と、処理ユニット192と、を備え、処理ユニットは、受信したデータフレームの送信周期をその識別子から特定して、当該データフレームを当該送信周期に対応付けられた送信バッファに格納し、送信待ちのデータフレームが格納されていない送信MBがあるときは、当該送信MBに対応付けられた送信バッファからデータフレームを読み出して当該送信MBに格納する。【選択図】図2

Description

本発明は、複数のECU(電子制御装置、Electronic Control Unit)が接続された複数のネットワーク相互間の通信接続を中継するゲートウェイ装置に関する。
車両に求められる機動性や操作性等の高度化に伴い、現在ではエンジン、トランスミッション、パワーステアリング等の各種装置はECUにより電子制御されており、かつ、車両の更なる高機能化に向けて電子制御を必要とする装置の範囲は拡大しつつある。
このため、車両には様々な装置を制御する多くのECUが搭載されており、これらのECUは、ネットワークを介して互いに通信可能に接続されて、全体として統合された車両制御を行っている。
通常、ECUはその機能分類ごとにグルーピングされ、グループ毎にそれぞれ一つのネットワークが構築されて同一グループ内でのECU間の通信が確立されると共に、ネットワーク間の通信接続を中継するゲートウェイ装置を介して、異なるグループに属するECU間においても通信が行われる。
このようなECU間のデータ通信に関し、現在最も普及している通信規格の一つはCAN(Controller Area Network)である。CAN通信では、各ECUは、データフレームと称される最大ビット長が規定されたビット列を単位としてデータを送出する。また、ネットワーク(物理的には、当該ネットワークを構成する情報通信路であるバス)に対し異なる複数のECUが同時にデータを送出して通信が競合してしまうのを防止するため、データフレームの種類毎にその優先度を示す識別子(ID)が割り当てられ、各データフレームには割り当てられたIDが当該データフレームの一部として含まれている。
ここで、データフレームに与えるIDの割り当て規則は設計者が任意に決定でき、例えば、当該データフレームに含まれるデータの重要度や、当該データを出力する装置の重要度に応じて、優先度を決定してIDを割り当てることができる。なお、ID番号(IDデータのビット列が示す値)は、通常、小さいほど高い優先度を表すものとして規定される。
データフレームは、その先頭から順に、当該フレームの開始を表すSOFフィールド、上記IDなどを格納する調停(アービトレーション)フィールド、データ長などを格納する制御フィールド、送信すべきデータを格納するデータフィールド、エラーチェック用のCRCフィールド、他のECUからの受信応答を受信するためバスを特定の状態に置くためのACKフィールド、およびフレームの終了を表すEOFフィールドを含んでいる。
ECUは、ネットワークを構成するバスに対しデータフレームを送信する場合、当該データフレームのデータを、その先頭からバス上に送出する。これにより、データフレームの開始を示すSOFに続いて、調停フィールドに含まれたIDデータがバス上に送出される。一つのネットワークに対し複数のECUが同時にIDデータを送出する場合があるため、各ECUは、自分よりも高い優先度を示すIDデータがネットワーク上に送出されているか否かを検知し、送出されているときはデータフレームの送出を停止する。これにより、ネットワーク上におけるECU間の通信競合を防止するための通信調停(アービットレーション)が行われる。
すなわち、同時にIDデータを送出したECUのうち、最も高い優先度を持つIDデータを送出したECUだけがそのデータフレームの送信を継続し、他のECUとの競合を発生させることなく当該データフレームの送信を完了することができる。
複数のネットワークを接続するゲートウェイ装置も、CAN通信規則に則り、一のネットワークからデータフレームを受信して、当該受信したデータフレームを他のネットワークへ送出する。したがって、例えば他のネットワークにおいて他のECUから優先度のより高いデータフレームの送信が行われている場合には、ゲートウェイ装置は当該他のネットワークへデータフレームを送信することができず、一のネットワークから受信したデータフレームを蓄積して、他のネットワークにおける優先度の高いデータフレームの送信が完了するのを待機することとなる。
この場合、一のネットワークから受信したデータフレームを、受信した順に他のネットワークへ送信しようとすると、先に受信された優先度の低いデータフレームの存在により後続の優先度の高いデータフレームの送信が遅延するという問題が発生する。
この問題を解決するため、従来、一のネットワークから受信したデータフレームを他のネットワークへ送信するまで格納しておく送信キューを記憶装置内に設け、送信キュー内に複数のデータフレームが蓄積される場合には、新しいデータフレームを送信キューに格納する毎に、これらデータフレームを優先度の高い順(すなわち、ID番号の小さい順)に並べ替える、車載中継装置(車載ゲートウェイ装置)が知られている(特許文献1参照)。このゲートウェイ装置では、上記並べ替えを行った後に送信キュー内の先頭のデータフレームから順に送信を行うことで、一のネットワークから受信され蓄積されたデータフレームを、受信順ではなく優先度順に、他のネットワークに送信することができる。
しかしながら、上記従来のゲートウェイ装置では、一のネットワークから受信したデータフレームを送信キューに格納する際に送信キュー内の全てのデータフレームを対象として優先度順にソーティングを行う必要があることから、ゲートウェイ装置内の処理負荷が増大する。
また、CAN規格に従って通信を行う装置では、通常、CANインタフェースモジュールと称されるCAN規格通信を行うための汎用モジュールが用いられ、当該モジュール内に設けられた複数の送信メッセージボックスと称される記憶領域にデータフレームを格納すると、当該メッセージボックス内のデータフレームが優先度順に送信される。
この場合、CANインタフェースモジュール内に設けられる送信メッセージボックスの数が限られていることから、十分な容量の送信キューを確保するためには、ゲートウェイ装置が備える記憶装置内に、受信したデータフレームを格納するためのバッファ(データを一時保存する記憶領域又は記憶装置)を設ける必要がある。すなわち、上記バッファと、CANインタフェースモジュール内の送信メッセージボックスとにより、上記送信キューが実現される。
このように、異なる記憶装置(バッファと送信メッセージボックス)を用いて一つの送信キューを構成した場合、当該送信キュー内において優先度順にデータフレームを並べ替える際に、多くの処理が必要となる。例えば、送信メッセージボックス内に現在格納されているいずれかのデータフレームよりも高い優先度のデータフレームが新たに受信された場合には、送信メッセージボックスに格納されているより低い優先度のデータフレームを、上記新たに受信されたデータフレームにより置き換えて格納する必要がある。
この場合、ゲートウェイ装置は、例えば、1)CANインタフェースモジュールに対し、低優先度のデータフレームを格納している送信メッセージボックスについてのデータ送信の開始を禁止し、2)当該低優先度のデータフレームを、送信メッセージボックスからバッファへ退避させ、3)当該低優先度のデータフレームが格納されていた送信メッセージボックスに、上記新たに受信されたデータフレームを格納し、4)CANモジュールに対し当該送信メッセージボックスについてのデータ送信の開始を許可する、という多くの処理ステップを実行しなければならないこととなる。その結果、新たに受信されたデータフレームを送信メッセージボックスに格納するまでに相当の時間を要してしまうほか、ゲートウェイ装置における制御が煩雑となって動作負荷も高くなる。
特開2008−172353号公報
上記の背景より、低優先度のデータフレームの送信完了を待って高優先度のデータフレームの送信が大幅に遅延してしまうのを回避しつつ処理負荷を低減することのできるゲートウェイ装置の実現が望まれている。
本発明は、複数の電子制御装置が接続される複数のネットワークを相互に接続するように介在し、一のネットワークに接続される前記電子制御装置から複数の異なる送信周期でそれぞれ送信されるデータフレームを、当該データフレームに含まれる識別子に応じた順序で他のネットワークに転送するゲートウェイ装置である。本ゲートウェイ装置は、前記他のネットワークへ送信すべきデータフレームをそれぞれ格納する複数の送信メッセージボックスと、当該各送信メッセージボックスに格納されたデータフレームを、当該データフレームに含まれた識別子が表す優先度の順に、順次、前記他のネットワークに送信する送信機と、受信した前記データフレームを、それぞれ所定の数だけ送信待ちデータとして格納することのできる複数の送信バッファと、前記データフレームに含まれる識別子に基づいて、前記送信バッファへの前記データフレームの書込み及び読み出し、並びに前記送信メッセージボックスへの前記データフレームの書込みを行う処理ユニットと、を備える。そして、前記データフレームに含まれる前記識別子は、当該データフレームの前記送信周期に応じて、当該送信周期が短いほどより高い優先度が与えられるように設定されており、前記各送信バッファは、それぞれ前記各送信周期に対応付けられていると共に、それぞれ一以上の送信メッセージボックスに対応付けられている。また、前記処理ユニットは、一のネットワークから受信した前記データフレームを、当該データフレームに含まれる前記識別子に基づき、当該識別子に応じた送信周期に対応付けられた前記送信バッファに格納し、送信待ちのデータフレームが格納されていない前記送信メッセージボックスがあるときは、当該送信メッセージボックスに対応付けられた送信バッファからデータフレームを読み出して、当該読み出したデータフレームを当該送信メッセージボックスに格納する。
本発明の一の態様によると、前記送信バッファは、周期が所定時間未満である一の前記送信周期のみがそれぞれ対応付けられた一以上の第1送信バッファと、周期が所定時間以上である複数の前記送信周期が対応付けられた一の第2送信バッファとから成る。
本発明の他の態様によると、前記第1の送信バッファには、それぞれ、一以上の前記送信メッセージボックスが対応付けられており、前記第2の送信バッファには、一の前記送信メッセージボックスが対応付けられている。
本発明の他の態様によると、前記データフレームに含まれる前記識別子は、前記送信周期が同一である複数のデータフレームに対し、当該データフレームの送信元である前記電子制御装置の優先度に応じて異なる優先度が与えられるように設定されている。
本発明の他の態様によると、前記処理ユニットは、前記送信バッファに格納された前記各データフレームに含まれる前記識別子に基づき、前記識別子が表す優先度の順に、前記送信バッファから前記各データフレームを順次読み出して、当該読み出したデータフレームを、当該送信バッファに対応付けられた前記送信メッセージボックスに格納する。
本発明によれば、ゲートウェイ装置において、低優先度のデータフレームの送信完了を待って高優先度のデータフレームの送信が大幅に遅延してしまうのを回避しつつ処理負荷を低減することができる。
本発明の一実施形態に係るゲートウェイ装置の構成を示す図である。 本実施形態に係るゲートウェイ装置の中継ユニットの構成を示す図である。 本実施形態における、送信周期に基づく識別子(ID)の割り当ての一例を示す図である。 本実施形態に係るゲートウェイ装置で用いられる送信周期情報の一例を示す図である。 図3に示すデータフレームが受信される場合の、本実施形態に係るゲートウェイ装置の動作を説明するための説明図である。 本実施形態に係るゲートウェイ装置の、受信処理の動作手順を示すフロー図である。 本実施形態に係るゲートウェイ装置の、送信処理の動作手順を示すフロー図である。 本実施形態に係るゲートウェイ装置の、ルーティング処理の動作手順を示すフロー図である。 本実施形態に係るゲートウェイ装置の、データフレーム振分処理の動作手順を示すフロー図である。 本実施形態に係るゲートウェイ装置の、データフレーム出力処理の動作手順を示すフロー図である。 本実施形態に係るゲートウェイ装置の変形例を構成する中継ユニットの構成を示す図である。
以下、図面を参照して、本発明の実施の形態を説明する。
本ゲートウェイ装置は、複数の電子制御装置(ECU)が接続される複数のネットワークを相互に接続するように介在し、一のネットワークに接続される電子制御装置から複数の異なる送信周期でそれぞれ送信されるデータフレームを、当該データフレームに含まれる識別子(ID)に応じた順序で他のネットワークに転送(又は送信)するものである。
図1は、本発明の一実施形態に係るゲートウェイ装置の構成を示す図である。図1では、本ゲートウェイ装置は車内ネットワークに接続されている。
図示の例では、本ゲートウェイ装置10にはネットワークN1〜N4をそれぞれ構成するバスB1〜B4が接続されており、これにより、バスB1、B2とバスB3、B4との間が、本ゲートウェイ装置10を介して互いに通信可能に接続される。バスB1〜B4には、複数の電子制御装置(ECU)1a〜1gが接続されており、これらのECU1a〜1gは、ゲートウェイ装置10を介して、所定の通信プロトコルに従って互いに通信することができる。本実施形態では、通信プロトコルとして、周知のCAN(controller area network)プロトコルを用いる。
ECU1a〜1gは、例えばエンジン制御用のECU、ドア制御用のECU、エアバック制御用のECU、ナビゲーションシステム用のECUであり、各ECUは、例えば中央処理装置(CPU、Central Processing Unit)およびメモリを備えるコンピュータとして実現される。
本実施形態では、各データフレームの優先度が、当該データフレームの送信周期に応じて定められており、当該送信周期が短いほど高い優先度が割り当てられ、従ってより小さなID番号が割り当てられる。また、送信周期が同じで種類の異なるデータフレームが複数存在する場合には、これら複数のデータフレームには、少なくとも当該送信周期よりも長い送信周期を持つデータフレームよりも高い優先度である範囲内において、異なる優先度のID番号を割り当てることができる。さらに、当該異なる優先度のIDは、当該データフレームの送信元である電子制御装置(ECU)の優先度や重要度に応じて割り当てられるものとすることができる。
ゲートウェイ装置10(図1)は、バスB1及びB2からデータフレームを受信してバスB3又はB4にデータフレームを送信する中継ユニット12と、バスB3及びB4からデータフレームを受信してバスB1又はB2にデータフレームを送信する中継ユニット14と、を有している。
中継ユニット12と14とは、データフレームを送受信するバスの組み合わせのみが異なり、その構成及び動作(作用)は同様である。
このため、説明を簡潔にして理解を容易にすべく、以下では、中継ユニット12を例にとり、ゲートウェイ装置10のより詳細な構成及び動作を説明する。
図2は、ゲートウェイ装置10の中継ユニット12の構成を示す図である。
中継ユニット12は、CANモジュール100、102と、ルート検索ユニット104と、送信制御ユニット106とを備える。CANモジュール100、102は、CANプロトコルに従ってデータフレームを送受信するよう構成されており、例えば上述した汎用のCANインタフェースモジュールにより構成することができる。
CANモジュール100は、受信機110と、送信機112と、受信機110が受信したデータフレームを格納する記憶装置である受信MB(メッセージボックス、Massage Box)114と、送信機112から送信されるデータフレームを一時格納する記憶装置である6つの送信MB116、118、120、122、124、126を有する。ここで、受信MB114及び送信MB116〜126は、例えばRAM(Random Access Memory)により構成することができる。
同様に、CANモジュール102は、受信機130と、送信機132と、受信機130が受信したデータフレームを格納する記憶装置である受信MB134と、送信機132から送信されるデータフレームを一時格納する記憶装置である6つの送信MB136、138、140、142、144、146を有する。ここで、受信MB134及び送信MB136〜146は、例えばRAMにより構成することができる。
CANモジュール100及び102の受信機110及び130は、それぞれバスB1及びB2に接続されており、CANモジュール100及び102の送信機112及び132は、それぞれバスB3及びB4に接続されている。
CANモジュール100及び102は、それぞれ、バスB1及びB2から受信したデータフレームを受信MB114及び受信MB134に格納する。また、CANモジュール100及び102は、送信MB116〜126及び136〜146に一時的に格納されたデータフレームを、それぞれ優先度の高い順にバスB3及びB4に送信する。
CANモジュール100及び102における上記処理は、本実施形態ではハードウェアで実現されているものとする。なお、代替的に、CANモジュール100及び102がそれぞれCPU等のプロセッサを備えるものとし、当該各プロセッサが所定のソフトウェアプログラムをそれぞれ実行することにより上記処理が行われるものとしてもよい。
ルート検索ユニット104は、検索エンジン150、152と、RAM等の記憶装置で構成されるレジスタ154、156と、フラッシュメモリ等で構成される不揮発性メモリ158、160と、を有している。
レジスタ154、156は、それぞれ、検索エンジン150、152から出力されるデータフレームを一時記憶する。
不揮発性メモリ158には、バスB1から受信されるデータフレームの転送ルート、すなわち、当該データフレームに含まれるIDに応じてバスB3又はB4のいずれのバスへ送信すべきかを示すルーティングマップ162が予め記憶されている。同様に、不揮発性メモリ160には、バスB2から受信されるデータフレームの転送ルート、すなわち、当該データフレームに含まれるIDに応じてバスB3又はB4のいずれのバスへ送信すべきか、を示すルーティングマップ164が予め記憶されている。
検索エンジン150及び152は、本実施形態では、汎用ロジックIC(Integrated Circuit)や大規模集積回路(LSI、Large scale Integration)、あるいはASIC(Application Specific Integrated Circuit)等のハードウェアにより構成されており、それぞれルーティングマップ162及び164を参照し、受信機110及び130により受信されたデータフレームの転送ルートを検索する。すなわち、当該受信されたデータフレームをバスB3又はB4のいずれに送信すべきかを特定する。
より詳細には、検索エンジン150は、CANモジュール100の受信機110によりバスB1からのデータフレームの受信が完了し当該受信されたデータフレームが受信MB114に格納されたことに応じて、当該受信MB114からデータフレームを読み出すと共にルーティングマップ162を参照し、当該データフレームのIDに基づいて当該データフレームを送信すべき転送先のバス(バスB3又はB4のいずれか)を特定する。このとき、検索エンジン150は、受信したデータフレームのIDに対応する転送先の情報がルーティングマップ162に含まれていないときは、当該データフレームを、転送すべきデータフレームではないものとして破棄する。
そして、検索エンジン150は、上記特定した転送先のバスがバスB3であれば、受信MB114から読み出した上記データフレームをレジスタ154に格納し、上記特定した転送先のバスがバスB4であれば当該データフレームをレジスタ156に格納する。
同様に、検索エンジン152は、CANモジュール102の受信機130によりバスB2から受信されたデータフレームが受信MB134に格納されたことに応じて、当該データフレームを受信MB134から読み出すと共にルーティングマップ164を参照し、当該データフレームのIDに基づいて当該データフレームの転送先のバスを特定して、当該特定したバスに対応するレジスタ154又は156に、当該データフレームを格納する。また、検索エンジン152は、受信したデータフレームのIDに対応する転送先の情報がルーティングマップ164に含まれていないときは、当該データフレームを破棄する。
なお、検索エンジン150及び152は、上述したように本実施形態ではハードウェアにより構成されるものとしたが、代替的に、CPU等のプロセッサとRAMやROM(Read Only Memory)等の記憶装置とを備えるコンピュータが、所定のソフトウェアプログラムを実行することにより実現されるものとすることもできる。
送信制御ユニット106は、バスB3へ送信すべきデータフレームを格納する3つの送信バッファ170〜174と、バスB4へ送信すべきデータフレームを格納する3つの送信バッファ176〜180と、不揮発性メモリ190と、処理ユニット192と、を有している。
各送信バッファ170〜180は、例えばRAMにより構成される。送信バッファ170〜180は、それぞれ、所定数(例えば5個)のデータフレームを格納できるように当該所定数のデータフレーム格納領域を備えている。
不揮発性メモリ190は、例えばフラッシュメモリやEEPROM(Electrically Erasable Programmable Read-Only Memory)、あるいはハードディスク装置等により構成される。不揮発性メモリ190には、ID番号と当該ID番号を持つデータフレームの送信周期との対応情報である送信周期情報194が、予め記憶されている。
処理ユニット192は、CPU等のプロセッサとRAMやROM等の記憶装置とを備えるコンピュータであり、上記プロセッサ(不図示)がソフトウェアプログラムを実行することにより、データフレームに含まれる識別子に基づいて、送信バッファ170〜180へのデータフレームの書込みや読み出しを行ったり、送信MB116〜126、136〜146へのデータフレームの書込み等を行う。
上述したように、本実施形態では、データフレームの優先度が当該データフレームの送信周期によって定められており、当該送信周期がより短いデータフレームにはより高い優先度(より小さいID番号)が割り当てられている。また、送信周期が同じで種類の異なるデータフレームが複数存在する場合には、少なくともより長い送信周期を持つデータフレームよりも高い優先度である範囲内において、それぞれ異なる優先度のIDが割り当てられている。不揮発性メモリ190に記憶されている送信周期情報194には、これらのIDと送信周期との対応関係の情報が含まれている。
送信バッファ170〜174、176〜180は、それぞれ各送信周期に対応付けられており、各送信バッファ170〜180には当該対応付けられた送信周期を持つデータフレームだけが格納される。
本実施形態では、例えば送信周期は10ms、20ms、及び30msの3種類であり、送信バッファ170及び176が送信周期10msに、送信バッファ172及び178が送信周期20msに、送信バッファ174及び180が送信周期30msに、それぞれ対応付けられている。
さらに、送信バッファ170〜174は、それぞれ、CANモジュール100に備える送信MB116〜126のいずれか一つ以上の送信MBが対応付けられ、送信MB116〜126には、それぞれ、当該送信MBに対応付けられた送信バッファに格納されているデータフレームのみが格納される。
同様に、送信バッファ176〜180は、それぞれ、CANモジュール102に備える送信MB136〜146のいずれか一つ以上の送信MBが対応付けられ、各送信MB136〜146には、それぞれ、当該送信MBに対応付けられた送信バッファに格納されているデータフレームのみが格納される。
本実施形態では、例えば、送信周期10msに対応付けられた送信バッファ170には送信MB116及び118が、送信周期20msに対応付けられた送信バッファ172には送信MB120及び122が、送信周期30msに対応付けられた送信バッファ174には送信MB124及び126が、それぞれ対応付けられている。また、同様に、送信周期10msに対応付けられた送信バッファ176には送信MB136及び138が、送信周期20msに対応付けられた送信バッファ178には送信MB140及び142が、送信周期30msに対応付けられた送信バッファ180には送信MB144及び146が、それぞれ対応付けられている。
これらの、各送信周期と、送信バッファ170〜180と、送信MB116〜126、136〜146との対応付けは、予め定めて、例えば処理ユニット192のプロセッサ(不図示)が実行するソフトウェアプログラムの中で規定しておくことができる。また、代替的には、これらの対応付けに関する情報を不揮発性メモリ190に予め記憶させておき、処理ユニット192が、不揮発性メモリ190に記憶された当該対応付けに関する情報を参照しつつ、処理を行うものとすることができる。
送信制御ユニット106の処理ユニット192における処理は、以下のように行われる。
処理ユニット192は、レジスタ154にデータフレームが格納されると、当該データフレームをレジスタ154から読み出すと共に、不揮発性メモリ190が記憶する送信周期情報194を参照し、上記読み出したデータフレームに含まれるIDに基づいて、当該データフレームの送信周期を特定する。
そして、処理ユニット192は、レジスタ154から読み出したデータフレームを、送信バッファ170〜174のうち上記特定した送信周期に対応する一の送信バッファに格納する。例えば、上記特定された送信周期が10msであれば当該データフレームを送信バッファ170に格納し、上記特定された送信周期が20ms又は30msであれば、当該データフレームを送信バッファ172又は174にそれぞれ格納する。
同様に、処理ユニット192は、レジスタ156にデータフレームが格納されると、当該データフレームをレジスタ156から読み出すと共に、不揮発性メモリ190が記憶する送信周期情報194を参照し、上記読み出したデータフレームに含まれるIDに基づいて、当該データフレームの送信周期を特定する。
そして、処理ユニット192は、レジスタ156から読み出したデータフレームを、送信バッファ170〜174のうち上記特定した送信周期に対応する一の送信バッファに格納する。例えば、上記特定された送信周期が10msであれば当該データフレームを送信バッファ176に格納し、上記特定された送信周期が20ms又は30msであれば、当該データフレームを送信バッファ178又は180にそれぞれ格納する。
なお、レジスタ154及び156にデータフレームが格納されたか否かの情報は、ルート検索ユニット104が送信制御ユニット106に対し信号線(不図示)を介して通知するものとしてもよいし、ルート検索ユニット104内に上記情報を示すステータスレジスタ(不図示)を設けるものとし、送信制御ユニット106の処理ユニット192が所定の時間間隔で当該ステータスレジスタのデータを読み出して当該情報を得るものとしてもよい。また、あるいは、送信制御ユニット106の処理ユニット192が、所定の時間間隔で、レジスタ154及び156からデータフレームを読み出してレジスタ154及び156をリセット(例えばリセット値0に設定)するものとし、当該読み出したデータがリセット値でなければ、当該読み出したデータを新たに受信されたデータフレームとして処理するものとしてもよい。
さらに、処理ユニット192は、CANモジュール100及び102にそれぞれ備える送信MB116〜126及び136〜146の状態を監視し、送信MB116〜126、136〜146の中に送信待ちのデータフレームが格納されていない送信MBがあるときは、送信バッファ170〜180のうち当該送信MBに対応付けられた送信バッファからデータフレームを読み出して、当該読み出したデータフレームを当該送信MBに格納する。その際、処理ユニット192は、当該送信バッファから優先度順にデータフレームを読み出して、当該読み出したデータフレームを上記送信MBに格納するものとしてもよい。
上述したゲートウェイ装置10では、送信周期のより短いデータフレームにより高い優先度のIDが割り当てられるため、CANモジュール100、102は、送信MB116〜126、136〜146に格納されたデータフレームを従来と同様に優先度順に送信するだけで、より短い送信周期を持つデータフレームを優先的に送信することとなる。
また、上述した構成を有するゲートウェイ装置10は、データフレームに含まれるIDから当該データフレームの送信周期を特定し、送信バッファ170〜180のうち当該送信周期に対応付けられた送信バッファに格納する。また、本ゲートウェイ装置10では、各送信バッファ170〜180に対しそれぞれ一つ以上(本実施形態では二つ)の送信MB(すなわち、送信MB116〜126、136〜146の内のいずれか一つ以上の送信MB)を予め対応付け、各送信バッファ170〜180に格納したデータフレームを、それぞれ当該送信バッファに対応付けられた送信MBにのみ格納する。
これにより、本ゲートウェイ装置10では、送信バッファ170〜180を介してCANモジュール100、102の送信MB116〜126、136〜146も送信周期に対応付けられることとなり、各送信MB116〜126、136〜146は、例えば送信周期10ms用、20ms用、30ms用として使い分けられることとなる。
このため、例えば送信周期の短い(従って、優先度の高い)データフレームが新たに受信された場合には、当該データフレームは、当該短い送信周期に対応付けられた送信バッファを介して当該短い送信周期用の送信MBに格納され、より長い送信周期の(従って、より優先度の低い)データフレームが他の送信MBに格納されていても、当該より長い送信周期のデータフレームの送信を待つことなく、速やかに送信されることとなる。
したがって、本ゲートウェイ装置10においては、より高い優先度のデータフレームが受信されて送信バッファ内に格納されたとしても、従来のように送信バッファ内の当該優先度の高いデータフレームと送信MB内の優先度の低いデータフレームとの入れ替えを行う必要はなく、データフレームの転送に伴う処理負荷を低減することができる。
また、上述のように、より短い送信周期のデータフレームはより高い優先度を持ち、かつ送信MB116〜126、136〜146は送信周期毎に対応付けられて使い分けられるので、同一の送信周期を持つデータフレームは、異なるIDを持つものであっても、CANモジュール100、102が行う送信動作の観点からは実質的に同一の優先度を持つものとなる。その結果、一の送信周期を持つデータフレームが、その時点におけるCANモジュール100又は102内において最も高い優先度を持つものとなって送信MBから当該バス上へ送信されれば(例えば、送信周期10msの一のデータフレームが送信MB116又は118からバスB3上へ送信されれば)、当該送信周期用に対応付けられた送信バッファ内(例えば、送信バッファ170内)のデータフレームは当該送信周期用の送信MB(例えば、送信MB116及び118)に次々に格納されて送信されることとなり、送信周期のより長いデータフレームの存在により送信が遅延してしまう問題は生じない。
すなわち、送信周期に応じて互いに対応付けられた送信バッファと送信MB(例えば、送信バッファ170と送信MB116および118)との間において当該送信MB内に最も高い優先度のデータフレームが格納されていなくても、他の送信MBに格納された送信周期のより長いデータフレームの存在により送信が遅延してしまうことはない。したがって、本ゲートウェイ装置10では、互いに対応付けられた送信バッファと送信MBとの間でのデータフレームの入れ替えを行う必要はなく、データフレームの転送に伴う処理負荷を更に低減することができる。
次に、上述した送信制御ユニット106の動作を、具体的な例を挙げて説明する。
図3は、バスB1及びB2に接続されたECU1a〜1cから送信されるデータフレームの、送信周期及びID(識別子)の割り当ての一例を示す図である。図示の例では、ECU1a〜1cのそれぞれについて、送信周期が10ms、20ms、30msの3種類のデータフレーム1〜9が送信されるものとしている。また、ECU1a〜1cの重要度が、これらECUが制御する車内装置の重要度に応じて決定されており、ECU1aの重要度が最も高く、続いてECU1b、1cの順に重要度が下がるものとなっている。
そして、図3の例では、まず、送信周期が10msであるデータフレーム1、4、7に対し、それぞれ固有のID番号として110、120、130が割り当てられ、次に、送信周期が20msであるデータフレーム2、5、8に対し、それぞれ固有のID番号であって、送信周期10msのデータフレーム1、4、7よりも数字の大きい(優先度の低い)ID番号として、210、220、230が割り当てられている。また、同様に、送信周期が30msであるデータフレーム3、6、9に対し、それぞれ固有のID番号であって、送信周期20msのデータフレーム2、5、8よりも数字の大きい(優先度の低い)ID番号として、310、320、330が割り当てられている。
図4は、図3に対応して予め定められる送信周期情報194の例である。図4の例では、図3に示す表の図示最も右側の2列の情報が、そのまま送信周期情報194として用いられている(ただし、左右の列は入れ替わっている)。この送信周期情報194は、送信制御ユニット106の不揮発性メモリ190に記憶される。
図5は、図3に示す各データフレームがバスB1及びB2を介して受信される場合の、送信制御ユニット106における具体的な動作を説明するための説明図である。なお、冗長な説明を避けて理解を容易にするため、図5には、バスB3を転送先とするデータフレームの処理ルートを構成する要素、すなわち、ルート検索ユニット104のレジスタ154と、送信制御ユニット106の送信バッファ170〜174と、CANモジュール100の送信MB116〜126及び送信機112のみを示している。
図5のレジスタ154を示す矩形枠内に示された「(ID:110)」との記載は、IDが110であるデータフレームがレジスタ154に格納されていることを示している。当該データフレームは、バスB1に接続されたECU1aから出力され、受信機110、受信MB114、検索エンジン150を介してレジスタ154に入力されたものである。
各送信バッファ170〜174には、それぞれ5つのデータフレーム記憶領域が確保されている。図5においては、送信バッファ170〜174の5つの矩形枠のそれぞれがデータフレーム記憶領域であり、矩形枠内に示された数字は、当該数値をID番号とするデータフレームがその記憶領域に格納されていることを示している。また、データフレーム記憶領域を示す矩形枠内に示された「空」は、当該データフレーム記憶領域が空いている、すなわち、送信待ちのデータフレームが格納されていないことを示している。
送信制御ユニット106の処理ユニット192は、レジスタ154にデータフレームが格納されたことを検知すると、当該データフレームをレジスタ154から読み出し、当該データフレームからIDデータを抽出して、当該データフレームのIDが110であることを検出する。次に、処理ユニット192は、不揮発性メモリ190が記憶する送信周期情報194(図4)を参照し、ID=110が送信周期10msに対応することを特定する。
続いて、処理ユニット192は、上記特定した送信周期10msに対応する送信バッファ170内のデータフレーム記憶領域に空き(図示左端の矩形)があることを確認し、当該空いているデータフレーム記憶領域に、上記読み出したデータフレームを格納する。
なお、送信バッファ170内に空いているデータフレーム記憶領域がない場合、処理ユニット192は、エラー処理として所定の処理を実行することができる。例えば、当該エラー処理は、レジスタ154から読み込んだデータフレームと同じ優先度か又はより低い優先度を持つ送信バッファ170内のデータフレームを、当該読み込んだデータフレームにより上書きする処理とすることができる。
次に、処理ユニット192は、CANモジュール100の送信MB116〜126の空き状況を確認し、10ms用MBである送信MB116、118と、20ms用MBである送信MB122が空いていること検知する。続いて、処理ユニット192は、送信MB116及び118に送信待ちのデータフレームを格納すべく、送信MB116、118に対応付けられた10ms用送信バッファである送信バッファ170の、例えば図示最も右側にある2つのデータフレーム記憶領域に格納されているデータフレーム(ID=110、及び120)を、それぞれ、送信MB116と118に転送する。
また、処理ユニット192は、送信MB122に送信待ちのデータフレームを格納すべく、送信MB122に対応付けられた20ms用送信バッファである送信バッファ172の、例えば図示最も右側にあるデータフレーム記憶領域に格納されているデータフレーム(ID=220)を、送信MB122に転送する。
上述したとおり、本ゲートウェイ装置10では、互いに対応付けられた送信バッファと送信MBとの間においては、当該送信MBに最も高い優先度のデータフレームを常に格納しておく必要はなく、当該送信バッファと送信MBとの間でデータフレームの入れ替えを行う必要はない。このため、図5に示す例では送信MB126内にID=330のデータフレームが格納されており、当該送信MB126に対応付けられた送信バッファ174内にID=330よりも高い優先度(ID=320又は310)を持つデータフレームが格納されているが、処理ユニット192は、送信MB126内のID=330のデータフレームと、送信バッファ174内のID=310のデータフレームとの入れ替えは行わない。
したがって、当該データフレームの入れ替えに伴う処理負荷は発生せず、従って、当該入れ替え処理に付随する、CANモジュール100への送信MB126についてのデータフレーム送信開始の禁止処理や、当該入れ替え後の送信開始許可等の処理負荷も発生しないこととなり、ゲートウェイ装置10全体としての処理負荷が軽減される。
次に、本ゲートウェイ装置10における動作手順について説明する。
ゲートウェイ装置10における処理は、(i)CANモジュール100、102が行う、データフレームの受信処理及び送信処理と、(ii)ルート検索ユニット104が行うルーティング処理と、(iii)送信制御ユニット106が行う送信制御処理と、により構成され、各処理は互いに独立に実行される。
〔受信処理〕
本受信処理は、ゲートウェイ装置10の電源が投入されたときに、CANモジュール100、102において開始する。図6は、受信処理の動作手順を示すフロー図である。なお、受信処理の内容は、CANモジュール100及び102において同様であるので、以下では、CANモジュール100を例に採り、その処理手順を示す。
ゲートウェイ装置10の電源が投入されると、CANモジュール100は、まず、受信機110により、バスB1に接続されたいずれかのECU1a〜1cからバスB1上にデータフレームが送信されたか否かを判断し(S100)、送信されていないときは(S100、No)、ステップS100に戻って、バスB1上にデータフレームが送信されるのを待機する。
一方、バスB1上にデータフレームが送信されたときは(S100、Yes)、当該送信されたデータフレームを受信して(S102)、受信したデータフレームを受信MB114に格納し(S104)、ステップS100に戻って処理を繰り返す。なお、本処理は、ゲートウェイ装置10の電源が断となったときに終了する。
〔送信処理〕
本送信処理は、ゲートウェイ装置10の電源が投入されたときに、CANモジュール100、102において開始する。図7は、送信処理の動作手順を示すフロー図である。なお、送信処理の内容は、CANモジュール100及び102において同様であるので、以下では、CANモジュール100を例に採り、その処理手順を示す。
ゲートウェイ装置10の電源が投入されると、CANモジュール100は、まず、送信MB116〜126のいずれかに送信待ちのデータフレームが格納されているか否かを判断し(S200)、格納されていないときは(S200、No)、ステップS200に戻って、送信MB116〜126のいずれかにデータフレームが格納されるのを待機する。
一方、送信MB116〜126のいずれかにデータフレームが格納されているときは(S200、Yes)、送信MB116〜126に格納されているデータフレームのうち最も優先度の高い(したがって、最も小さいID番号を持つ)データフレームが格納されている送信MBを特定し(S202)、当該送信MBからデータフレームを読み出して(S204)、読み出したデータフレームを、送信機112によりバスB3に送信する(S206)。ここで、バスB3へのデータフレームの送信は、CANプロトコルに準拠して行われる。
ステップS206においてデータフレームを送信すると、CANモジュール100は、ステップS200に戻って処理を繰り返す。なお、本処理は、ゲートウェイ装置10の電源が断となったときに終了する。
〔ルーティング処理〕
本ルーティング処理は、ゲートウェイ装置10の電源が投入されたときに、ルート検索ユニット104により開始される。図8は、ルーティング処理の動作手順を示すフロー図である。なお、本ルーティング処理は、ルート検索ユニット104の検索エンジン150及び152により行われるが、本処理の内容は検索エンジン150及び152において同様であるので、以下では、検索エンジン150を例に採り、その処理手順を示す。
ゲートウェイ装置10の電源が投入されると、検索エンジン150は、まず、CANモジュール100の受信機110により受信されたデータフレームが受信MB114に格納されているか否かを判断する(S300)。すなわち、上述した受信処理(図6)のステップS104の処理によりバスB1から受信されたデータフレームが受信MB114に格納されたことを確認する。
なお、受信MB114にデータフレームが格納されたか否かは、例えば、検索エンジン150が、CANモジュール100に設けられたステータスレジスタ(不図示)のデータを読み出し、当該読み出したデータに含まれる特定のビットにより表わされた受信MB114の状態を示す情報に基づいて判断することができる。
そして、検索エンジン150は、受信されたデータフレームが受信MB114に格納されていないときは(S300、No)、ステップS300に戻ってデータフレームが受信MB114に格納されるのを待機する。
一方、受信MB114にデータフレームが格納されているときは(S300、Yes)、当該データフレームを受信MB114から読み出し(S302)、不揮発性メモリ158が記憶するルーティングマップ162を参照し、上記読み出したデータフレームのIDに基づき、当該データフレームが転送すべきデータフレームか否かを判断し(S304)、転送すべきデータフレームでなければ(S304、No)、当該データフレームを破棄し、ステップS300に戻って新たに受信されたデータフレームが受信MB114に格納されるのを待機する。
一方、受信MB114から読み出したデータフレームが転送すべきデータフレームであるときは(S304、Yes)、当該データフレームのIDとルーティングマップ162とに基づき、当該データフレームを送信すべきバス、すなわち転送先バス(バスB3、B4のいずれか)を特定する(S306)。そして、上記読み出したデータフレームを、上記特定した転送先バスに対応するレジスタ154又は156に格納した後(S308)、ステップS300に戻って、新たに受信されたデータフレームが受信MB114に格納されるのを待機する。なお、本処理は、ゲートウェイ装置10の電源が断になったときに終了する。
検索エンジン152におけるルーティング処理も上記と同様に行われる。すなわち、検索エンジン152におけるルーティング処理により、バスB2から受信されたデータフレームは、そのIDに基づいて、転送すべきデータフレームであるか否かが判断されると共に、転送すべきデータフレームであれば転送先バスが特定される。そして、バスB3へ転送すべきデータフレームであればレジスタ154に格納され、バスB3へ転送すべきデータフレームであればレジスタ156に格納される。なお、検索エンジン150におけるルーティング処理と検索エンジン152におけるルーティング処理は、並行して実行されるものとすることができる。
〔送信制御処理〕
本送信制御処理は、データフレーム振分処理とデータフレーム出力処理とにより構成される。データフレーム振分処理は、レジスタ154、156内のデータフレームを、その送信周期に応じた送信バッファ(すなわち、送信バッファ170〜180のいずれか)に格納する処理である。また、データフレーム出力処理は、送信MB116〜126、136〜146の空き状態に応じて、送信バッファ170〜180から送信待ちデータフレームを読み出して送信MB116〜126、136〜146に格納する処理である。
データフレーム振分処理とデータフレーム出力処理とは、共に、ゲートウェイ装置10の電源が投入されたときに、送信制御ユニット106の処理ユニット192により開始される。
〈データフレーム振分処理〉
図9は、データフレーム振分処理の動作手順を示すフロー図である。
ゲートウェイ装置10の電源が投入されると、送信制御ユニット106の処理ユニット192は、ルート検索ユニット104のレジスタ154、156のいずれかにデータフレームが格納されているか否かを判断する(S400)。すなわち、上述したルーティング処理(図8)のステップS306の処理により、バスB1、B2から受信されたデータフレームがレジスタ154、156にそれぞれ格納されたか否かを確認する。
なお、レジスタ154、156にデータフレームが格納されているか否かは、例えばルート検索ユニット104が送信制御ユニット106に対して通知するものとしてもよいし、送信制御ユニット106の処理ユニット192が、ルート検索ユニット104に設けられたステータスレジスタ(不図示)を読み出して、当該読み出したデータに含まれる特定のビットにより表わされたレジスタ154、156の状態を示す情報から判断するものとすることができる。
そして、処理ユニット192は、レジスタ154、156のいずれにもデータフレームが格納されていないときは(S400、No)、ステップS400に戻ってデータフレームがレジスタ154、156のいずれかに格納されるのを待機する。
一方、レジスタ154及び又は156にデータフレームが格納されているときは(S400、Yes)、レジスタ154及び又は156に格納されているデータフレームを読み出し(S402)、不揮発性メモリ190が記憶する送信周期情報194を参照して、上記読み出したデータフレームのIDに基づき、当該データフレームの送信周期を特定する(S404)。
処理ユニット192は、送信バッファ170〜174のうち当該特定した送信周期に対応する送信バッファに、上記読み出したデータフレームを格納した後(S406)、ステップS400に戻って、新たなデータフレームがレジスタ154、156のいずれかに格納されるのを待機する。なお、本処理は、ゲートウェイ装置10の電源が断になったときに終了する。なお、ステップS402においてレジスタ154及び156の両レジスタからそれぞれデータフレームを読み出したときは、ステップS404では当該読み出した各データフレームの送信周期をそれぞれ特定し、ステップS405では当該読み出した各フレームを、それぞれ、上記特定した送信周期に対応する送信バッファに格納するものとする。
〈データフレーム出力処理〉
次に、送信制御処理のデータフレーム出力処理の動作手順について説明する。
図10は、フレーム出力処理の動作手順を示すフロー図である。
ゲートウェイ装置10の電源が投入されると、送信制御ユニット106の処理ユニット192は、まず、CANモジュール100、102の送信MB116〜126、136〜146のいずれかに送信待ちデータフレームを格納していない送信MB(空き送信MB)があるか否かを判断する(S500)。なお、送信MB116〜126、及び136〜146のいずれかに空きがあるか否かの判断は、例えば、処理ユニット192が、CANモジュール100及び102が備えるステータスレジスタ(不図示)からデータを読み出し、当該読み出したデータに含まれる特定のビットにより表わされた送信MB116〜126、及び136〜146の状態を示す情報から判断するものとすることができる。
そして、処理ユニット192は、空き送信MBがないとき、すなわち、送信MB116〜126又は136〜146のいずれにも送信待ちデータフレームが格納されているときは(S500、No)、ステップS500に戻って送信MBに空きができるのを待機する。
一方、空き送信MBがあるとき、すなわち送信MB116〜126又は136〜146のいずれかに空きがあるときは(S500、Yes)、空き送信MBのうち、当該空き送信MBに対応付けられた送信バッファに送信待ちデータフレームが格納されているものがあるか否か、すなわち、対応する送信バッファに送信待ちデータフレームが格納されている空き送信MBがあるか否かを判断する(S502)。ここで、「対応する送信バッファ」とは、当該空き送信MBに対応付けられている送信バッファをいい、例えば、送信MB116が空き送信MBであれば、当該空き送信MBに対応する送信バッファは、送信バッファ170であり、送信MB122が空き送信MBであれば、当該空き送信MBに対応する送信バッファは、送信バッファ172である。
そして、いずれの空き送信バッファも、対応する送信バッファに送信待ちデータフレームが格納されていないときは(S502、No)、ステップS500に戻って処理を繰り返す。
一方、対応する送信バッファに送信待ちデータフレームが格納されている送信MBがあるときは(S502、Yes)、当該各空き送信MBについて、それぞれ対応する送信バッファから送信待ちデータフレームを読み出して、当該読み出したデータフレームを当該空き送信MBに格納した後(S504)、ステップS500に戻って処理を繰り返す。本処理は、ゲートウェイ装置10の電源が断になったときに終了する。
なお、本実施形態では、送信バッファ170〜180のすべてについて、それぞれ、送信MB116〜126、136〜146のうちの異なる2つの送信MBが対応付けられるものとしたが、これに限らず、各送信バッファに対応付ける送信MBの数は、1つあるいは3つ以上とすることもできる。
なお、本実施形態のように各送信バッファに2つの送信MBを対応付けた場合や、2つ以上の送信MBを対応付けた場合には、当該対応付けた一の送信MBからデータフレームが送信されている間に、対応する送信バッファから次の送信待ちデータフレームを読み出して上記対応付けた他の送信MBに当該読み出したデータフレームを格納することができる。このため、2つ以上の送信MBを対応付けた場合は、同一バス上に接続されたECUからのより長い送信周期を持つデータフレームの送信割り込みを防止して、同じ送信周期を持つデータフレームを連続してバス上に送信することが可能となる。
また、本実施形態では、一つの送信周期に対して一つの送信バッファを対応付けるものとしたが(例えば、一の送信周期10msに対して一の送信バッファ170を対応付けている)、これに限らず、所定の周期以上の複数の送信周期に対して一つの送信バッファを対応付けるものとすることもできる。このような所定の周期以上の長い送信周期を持つデータフレームの発生頻度は、より短い送信周期を持つ他のデータフレームの発生頻度よりも低いため、送信周期毎に送信バッファを設けた場合には、当該送信バッファの記憶装置としての利用効率が低下してしまうこととなる。一方、上記のように、所定の周期以上の複数の送信周期に対して一つの送信バッファを対応付けるものとすれば、送信バッファを構成する記憶装置のリソースを節約して、記憶装置としての利用効率を向上させることができる。
さらに、上記所定の周期以上の複数の送信周期に対応付けられた送信バッファに対しては、一つの送信MBだけを対応付けるものとすることができる。上述ように、所定の周期以上の長い送信周期を持つデータフレームの発生頻度は低く、当該送信バッファに2つ以上の送信MBを対応付けて連続送信する必要性は低いためである。これにより、送信MBの使用数を抑えて、CANモジュール100、102内での記憶装置のリソースを節約することができる。
本実施形態の変形例として、上述のように所定の周期以上の複数の送信周期に対して1つの送信バッファを対応付け、当該送信バッファに1つの送信MBを対応付けたゲートウェイ装置の例を、以下に示す。
図11は、本変形例に係るゲートウェイ装置に用いられる中継ユニットの構成を示している。図11に示す中継ユニット22は、図2に示す中継ユニット12に対応するものであり、例えば図1に示すゲートウェイ装置10の中継ユニット12に置き代えて使用される。
中継ユニット22の構成要素のうち、図2に示す中継ユニット12と同じ構成要素については、図2と同じ符号を用いるものとし、図2についての説明を援用する。
図11の例では、送信周期10、20、30msのデータフレームのほか、送信周期100ms、200ms、300msのデータフレームが存在するものとする。
図11に示す中継ユニット22は、中継ユニット12と同様の構成を有するが、送信制御ユニット106及びCANモジュール100、102に代えて、送信制御ユニット206及びCANモジュール200、202を備える。
送信制御ユニット206は、送信制御ユニット106と同様の構成を有するが、送信バッファ170〜180に加えて送信バッファ282、284を備え、送信周期情報194を記憶する不揮発性メモリ190に代えて、送信周期10、20、30、100、200、300msのデータフレームについてのIDと送信周期との対応情報を含んだ送信周期情報294を記憶する不揮発性メモリ290を備える。
また、送信制御ユニット206は、処理ユニット192に代えて、処理ユニット292を備える。処理ユニット292は、処理ユニット192と同様にプロセッサ及び記憶装置等を備えるコンピュータであり、不揮発性メモリ290が記憶する送信周期情報294を参照して、送信バッファ170〜180、282、284についてのデータフレームの書込み及び読み出し、並びに送信MB116〜126、136〜146、228、248へのデータフレームの書込み等の処理を行う。なお、処理ユニット292が行う処理動作は、処理ユニット192と同様であり、送信周期10、20、30msのデータフレームに加えて100、200、300msのデータフレームを扱う点が異なる。
CANモジュール200及び202は、それぞれ、CANモジュール100及び102と同様の構成を有するが、送信MB116〜126、136〜146に加えて送信MB228及び248を備え、送信機112及び132に代えて送信機212及び232を備える。
送信機212は、送信機112と同様に、送信MB116〜126及び228に格納されたデータフレームを優先度順に送信する。また、送信機232は、送信機132と同様に、送信MB136〜146及び248に格納されたデータフレームを優先度順に送信する。
すなわち、図11に示す中継ユニット22では、バスB3を転送先とするデータフレームに関して、100ms以上の送信周期、すなわち、送信周期100ms、200ms、300msの3つの送信周期が1つの送信バッファ282に対応付けられ、バスB4を転送先とするデータフレームに関して、上記3つの送信周期が1つの送信バッファ284に対応付けられている。また、送信バッファ282及び284は、それぞれ1つの送信MB228及び248が対応付けられている。
処理ユニット292は、レジスタ154からデータフレームを読み出すと、送信周期情報294を参照し、当該読み出したデータフレームに含まれるIDから当該データフレームの送信周期を特定し、当該データフレームを、当該特定した送信周期に対応する送信バッファに格納する。
すなわち、レジスタ154から読み出したデータフレームについて、上記特定された送信周期が100ms、200ms又は300msであるときは、当該読み出したデータフレームを送信バッファ282に格納する。
また、同様に、処理ユニット292は、レジスタ156からデータフレームを読み出すと、送信周期情報294を参照して当該データフレームの送信周期を特定し、当該データフレームを、当該特定した送信周期に対応する送信バッファに格納する。
すなわち、上記特定した送信周期が100ms、200ms又は300msであるときは、レジスタ156から読み出した当該データフレームを送信バッファ284に格納する。
格納する。
そして、処理ユニット292は、送信MB228又は248が空いている(すなわち、送信待ちデータフレームが格納されていない)ときは、それぞれ、送信バッファ282又は284から送信待ちデータフレームを読み出して、送信MB228又は248に当該読み出したデータフレームを格納する。なお、処理ユニット292における他の処理は、処理ユニット192における処理と同様であるので、処理ユニット192についての上記説明を援用する。
以上、説明したように、本実施形態のゲートウェイ装置10では、より短い送信周期のデータフレームにより高い優先度の識別子が付されており、かつ、送信待ちのデータフレームを格納する送信バッファを送信周期に対応付けると共に、各送信バッファに一以上の送信MBを対応付けることで、送信周期毎に送信バッファと送信MBとが使い分けられる。
これにより、本ゲートウェイ装置10では、同一の送信周期を持つデータフレームは同じ送信バッファを経由して同じ一以上の送信MBから送信されることとなるので、他の送信MB内のより長い送信周期のデータフレームの存在により送信が遅延することがない。このため、従来のように、送信バッファ内のより優先度の高いデータフレームの送信が送信MB内のより優先度の低いデータフレームの送信完了を待って遅延してしまう問題を回避すべく、送信バッファと送信MBとの間でのデータフレームの入れ替えを行う必要はなく、データフレームの転送処理の負荷が軽減される。
1a〜1g・・・ECU、10・・・ゲートウェイ装置、12、14、22・・・中継ユニット、100、102、200、202・・・CANモジュール、104・・・ルート検索ユニット、106、206・・・送信制御ユニット、110、139・・・受信機、112、132、212、232・・・送信機、114、134・・・受信MB、116〜126、136〜146、228、248・・・送信MB、150、152・・・検索エンジン、154、156・・・レジスタ、158、160、190、290・・・不揮発性メモリ、162、164・・・ルーティングマップ、170〜180、282、284・・・送信バッファ、192、292・・・処理ユニット、194、294・・・送信周期情報。

Claims (5)

  1. 複数の電子制御装置が接続される複数のネットワークを相互に接続するように介在し、一のネットワークに接続される前記電子制御装置から複数の異なる送信周期でそれぞれ送信されるデータフレームを、当該データフレームに含まれる識別子に応じた順序で他のネットワークに転送するゲートウェイ装置において、
    前記他のネットワークへ送信すべきデータフレームをそれぞれ格納する複数の送信メッセージボックスと、
    当該各送信メッセージボックスに格納されたデータフレームを、当該データフレームに含まれた識別子が表す優先度の順に、順次、前記他のネットワークに送信する送信機と、
    受信した前記データフレームを、それぞれ所定の数だけ送信待ちデータとして格納することのできる複数の送信バッファと、
    前記データフレームに含まれる識別子に基づいて、前記送信バッファへの前記データフレームの書込み及び読み出し、並びに前記送信メッセージボックスへの前記データフレームの書込みを行う処理ユニットと、
    を備え
    前記データフレームに含まれる前記識別子は、当該データフレームの前記送信周期に応じて、当該送信周期が短いほどより高い優先度が与えられるように設定されており、
    前記各送信バッファは、それぞれ前記各送信周期に対応付けられていると共に、それぞれ一以上の送信メッセージボックスに対応付けられており、
    前記処理ユニットは、
    一のネットワークから受信した前記データフレームを、当該データフレームに含まれる前記識別子に基づき、当該識別子に応じた送信周期に対応付けられた前記送信バッファに格納し、
    送信待ちのデータフレームが格納されていない前記送信メッセージボックスがあるときは、当該送信メッセージボックスに対応付けられた送信バッファからデータフレームを読み出して、当該読み出したデータフレームを当該送信メッセージボックスに格納する、
    ゲートウェイ装置。
  2. 前記送信バッファは、
    周期が所定時間未満である一の前記送信周期のみがそれぞれ対応付けられた一以上の第1送信バッファと、
    周期が所定時間以上である複数の前記送信周期が対応付けられた一の第2送信バッファとから成る、
    請求項1に記載のゲートウェイ装置。
  3. 前記第1の送信バッファには、それぞれ、一以上の前記送信メッセージボックスが対応付けられており、
    前記第2の送信バッファには、一の前記送信メッセージボックスが対応付けられている、
    請求項2に記載のゲートウェイ装置。
  4. 前記データフレームに含まれる前記識別子は、前記送信周期が同一である複数のデータフレームに対し、当該データフレームの送信元である前記電子制御装置の優先度に応じて異なる優先度が与えられるように設定されている、
    請求項1ないし3のいずれか一項に記載のゲートウェイ装置。
  5. 前記処理ユニットは、
    前記送信バッファに格納された前記各データフレームに含まれる前記識別子に基づき、前記識別子が表す優先度の順に、前記送信バッファから前記各データフレームを順次読み出して、当該読み出したデータフレームを、当該送信バッファに対応付けられた前記送信メッセージボックスに格納する、
    請求項4に記載のゲートウェイ装置。
JP2013076148A 2013-04-01 2013-04-01 ゲートウェイ装置 Expired - Fee Related JP5728043B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013076148A JP5728043B2 (ja) 2013-04-01 2013-04-01 ゲートウェイ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013076148A JP5728043B2 (ja) 2013-04-01 2013-04-01 ゲートウェイ装置

Publications (2)

Publication Number Publication Date
JP2014204160A true JP2014204160A (ja) 2014-10-27
JP5728043B2 JP5728043B2 (ja) 2015-06-03

Family

ID=52354274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013076148A Expired - Fee Related JP5728043B2 (ja) 2013-04-01 2013-04-01 ゲートウェイ装置

Country Status (1)

Country Link
JP (1) JP5728043B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016096492A (ja) * 2014-11-17 2016-05-26 富士電機株式会社 制御システム、および中継装置
JP5997801B1 (ja) * 2015-04-30 2016-09-28 西日本電信電話株式会社 通信装置及び通信方法
JP2019213043A (ja) * 2018-06-05 2019-12-12 ボッシュ株式会社 車載用ゲートウェイ装置、方法及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007243322A (ja) * 2006-03-06 2007-09-20 Fujitsu Ten Ltd ゲートウェイ装置、データ転送方法及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007243322A (ja) * 2006-03-06 2007-09-20 Fujitsu Ten Ltd ゲートウェイ装置、データ転送方法及びプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016096492A (ja) * 2014-11-17 2016-05-26 富士電機株式会社 制御システム、および中継装置
JP5997801B1 (ja) * 2015-04-30 2016-09-28 西日本電信電話株式会社 通信装置及び通信方法
JP2016213533A (ja) * 2015-04-30 2016-12-15 西日本電信電話株式会社 通信装置及び通信方法
JP2019213043A (ja) * 2018-06-05 2019-12-12 ボッシュ株式会社 車載用ゲートウェイ装置、方法及びプログラム
JP7122871B2 (ja) 2018-06-05 2022-08-22 ボッシュ株式会社 車載用ゲートウェイ装置、方法及びプログラム

Also Published As

Publication number Publication date
JP5728043B2 (ja) 2015-06-03

Similar Documents

Publication Publication Date Title
EP1718008B1 (en) Gateway apparatus and routing method
US8301821B2 (en) Communication module for connecting a serial bus to a plurality of system buses
US9426099B2 (en) Router, method for controlling router, and program
JP5255579B2 (ja) 車内データ中継装置、車両制御システム
US9264371B2 (en) Router, method for controlling the router, and computer program
WO2014057643A1 (ja) 中継装置
JP6500123B2 (ja) 車載ゲートウェイ装置、及び車載ネットワークシステム
CN102263698B (zh) 虚拟通道的建立方法、数据传输的方法及线卡
US10305825B2 (en) Bus control device, relay device, and bus system
JP6544230B2 (ja) 通信システム
JP2007300331A (ja) 車載データベースシステム
JP5728043B2 (ja) ゲートウェイ装置
JP5287718B2 (ja) 半導体集積回路及びフィルタ制御方法
KR102303424B1 (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
JP2000244548A (ja) データ中継装置および多重通信システム
JP2006253922A (ja) ゲートウェイ装置及びゲートウェイ装置におけるデータ転送方法
JP5246158B2 (ja) 半導体集積回路及びフィルタ制御方法
US11159456B2 (en) Control apparatus
KR101612825B1 (ko) Can 컨트롤러, 차량 내부 통신을 위한 게이트웨이 및 그 제어 방법
JP4361540B2 (ja) ゲートウェイ装置、データ転送方法及びプログラム
US20140281053A1 (en) I/o device control system and method for controlling i/o device
JP2010103648A (ja) ゲートウェイ装置及びゲートウェイ方法
JP2009089286A (ja) 中継接続ユニット
JP4708901B2 (ja) データ処理モジュール及びそのメッセージの送信準備方法
JP6276738B2 (ja) Can通信ユニット及びcan通信プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141216

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150310

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150403

R150 Certificate of patent or registration of utility model

Ref document number: 5728043

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees