図1は、車載ネットワーク130の概略図である。
図示するように、車載ネットワーク130は、制御系ネットワーク111と、情報系ネットワーク121と、車載ゲートウェイ装置100と、を備える。
なお、本願では、制御系ネットワーク111とは、エンジンコントローラが接続されているネットワーク、または車両速度信号が流れるネットワークを指す。一般に、該ネットワーク上を流れる情報の更新周期は1ミリ秒〜400ミリ秒程度である。
情報系ネットワーク121とは、ナビゲーション装置が接続されているネットワーク、または地図データ情報が流れるネットワークを指す。一般に、該ネットワーク上を流れる情報の更新周期は400ミリ秒以上である。
図示するように、制御系ネットワーク111には、例えば、車両の変速機を制御するAT(Automatic Transmission)制御装置112、ドアロックなどのボディ系を制御するBCM(Body Control Module)113、エンジンの回転数の制御などを行うECU(Engine Control Unit)114、等の電子制御装置と車載ゲートウェイ装置100が接続されており、これらの装置により制御系システム110が構築されている。
そして、制御系ネットワーク111を介して接続されている各装置は互いに制御データの授受を行うことができる。例えばAT制御装置112は、車載ゲートウェイ装置100から右左折に関する制御データを受信すると、変速機を制御データに応じて切り替える。また同様にBCM113は車載ゲートウェイ装置100からドアロック解除に関する制御データを受信するとドアロックを解除する。
制御系ネットワーク111とは例えばCAN(Controller Area Network)、LIN(Local Interconnect Network)、またはFlexRayなどの規格に準じたネットワークである。
制御系ネットワーク111上を流れる制御系データ220は、図2に示すようなデータフォーマットを備える。例えば、制御系データ220は、該制御系データ220の種類を示すデータ識別子801と、該制御系データ220の制御内容を示す制御要求802と、を含んで構成される。
図1に戻り、情報系ネットワーク121には、例えば、情報系端末122と、無線通信装置123と、が接続されており、これらの装置により情報系システム120が構築されている。
情報系端末122は、例えばカーナビゲーション装置であり、カーナビゲーション装置は右左折などの経路誘導情報を、車載ゲートウェイ装置100を介して制御系システム110に送信することができる。
また、無線通信装置123がサーバ装置124に接続する際に、携帯電話網などの無線公衆網を利用することで、カーナビゲーション装置は無線通信装置123を介して必要な地図のデータなどをサーバ装置124から受け取ることができる。またサーバ装置124に車両診断プログラムを搭載しておき、前記プログラムから制御系システム110に診断に必要な情報を提供するよう要求することもできる。この場合、サーバ装置124からの要求は情報系端末122を介す必要はないため、直接車載ゲートウェイ装置100に送信されてもよい。
情報系ネットワーク121は、例えば、CAN、IEEE1394、MOST(Media-Oriented Systems Transport)などの規格に準じたネットワークである。また無線通信装置123は情報系端末122に接続されていてもよい。その場合、情報系ネットワーク121はネットワーク網を構成する必要はないため、USB(Universal Serial Bus)などを利用したシリアル接続としてもよい。
情報系ネットワーク121上を流れる情報系データ210は、図3に示すようなデータフォーマットを備える。
例えば、情報系データ210は、データの種類を示すデータ識別子701と、情報系データ210の制御内容を示す制御要求702と、情報系データ210が有効である時間を示す有効時間703と、車載ゲートウェイ装置100が情報系データ210を制御系システム110に送信する回数を指定する送信回数704と、を含んで構成される。
上記情報系データ210では、データ識別子701はデータの種類を識別するものである。後述する制御系システム110内の電子制御装置はこのデータ識別子701を基に、送信されたデータの内容を判定することがある。
制御要求702は、情報系システム120が制御系システム110に要求する制御内容を示すものであって、例えば「1km先を左折」「ドアロック解除」といった具体的な制御要求を表すものである。
有効時間703は、車載ゲートウェイ装置100において保持される時間を示し、例えば、制御要求702を発生させる情報系端末122上のソフトウェアが指定するデータ更新時間に対応する時間が指定される。つまり、1秒おきに更新される走行路に関する情報などは、有効である時間は次に情報が更新されるまでの1秒間というのが通常である。
例えば、データの有効時間とは、情報系端末122上などで動作するソフトウェアにより設定される、該データの更新時間である。例えばカーナビゲーション装置から「1km先を左折」等、位置を伴う制御要求が送信された場合、通常はその情報はある程度の時間しか有効であってはならない。位置情報は1秒間隔で更新されるものであれば、該制御要求の有効時間には1000ミリ秒が設定される、というように、カーナビゲーション装置上のソフトウェアにより設定される。
送信回数704は、制御要求702を有効時間703の時間内に送信する回数であり、制御要求702の重要性、制御系ネットワーク111のネットワーク負荷率などに基づいて、情報系端末122上で動作するソフトウェアにより予め指定されるものである。
図4は、車載ゲートウェイ装置100の概略図である。
車載ゲートウェイ装置100は、第1の通信部250と、第2の通信部251と、記憶部252と、制御部253と、を有する。
第1の通信部250は、制御系ネットワーク111との接続を確立し、通信制御を行う機能を実現する部である。
第2の通信部251は、情報系ネットワーク121との接続を確立し、通信制御を行う機能を実現する部である。
記憶部252は、データ管理情報記憶領域310と、車両状態管理情報記憶領域320と、を備える。
データ管理情報記憶領域310には、車載ゲートウェイ装置100を介して、情報系ネットワーク121から制御系ネットワーク111に送信するデータと、当該データを管理する情報と、が記憶される。
例えば、データ管理情報記憶領域310には、情報系データ210のデータ識別子701と、制御要求702が、情報系ネットワーク121から制御系ネットワーク111に送信するデータとして記憶される。
また、例えば、データ管理情報記憶領域310には、情報系ネットワーク121から制御系ネットワーク111に送信するデータを管理する情報として、図5に示すようなデータ管理テーブル311が記憶される。
図示するように、データ管理テーブル311は、優先度フィールド312と、タイマ値フィールド313と、送信回数フィールド314と、識別子フィールド315と、データポインタフィールド316と、を備え、情報系ネットワーク121から送信されてきたデータの一件毎に一レコードを保持する。
優先度フィールド312には、各レコードで管理されるデータを送信する優先度を特定する情報が格納される。優先度は、後述するように、送信回数をタイマ値で除算した値が小さなものから順に優先度が高くなる。なお、送信回数をタイマ値で除算した値が同じものについては、例えば、データ管理テーブル311へのエントリ順に優先度が高くなる。
タイマ値フィールド313には、レコード毎に保持するデータの期限を特定する情報が格納される。なお、タイマ値フィールド313の初期値は、情報系データ210に含まれている有効時間703であり、当該有効時間703からテータ管理テーブル311の更新周期毎に当該周期の期間を減算したものが格納される。
送信回数フィールド314には、各々のレコードで管理されているデータを制御系ネットワーク111に送信する回数を特定する情報が格納される。なお、送信回数フィールド314の初期値は、情報系データ210の送信回数704であり、当該送信回数704から該レコードが制御系ネットワーク111に対して送信される毎に回数を「1」ずつディクリメントする。
識別子フィールド315には、各々のレコードで管理されているデータを識別するための識別情報(ID)が格納される。なお、識別子フィールド315の初期値は、情報系データ210に含まれているデータ識別子701である。
データポインタフィールド316には、各々のレコードで管理されているデータの格納位置(アドレス)を特定する情報が格納される。
図5の例では、最も優先度が高いデータとして、有効時間100ミリ秒、送信回数1回、#10で識別される制御要求がH‘FFFF4000のアドレスに格納されている情報を保持するレコードが記載されている。これは100ミリ秒以内に#10で識別される制御要求を最低1回は送信する必要があるレコードであるということを示している。
図4に戻り、車両状態管理情報記憶領域320には、制御系ネットワーク111の通信状況を管理する情報が記憶される。
例えば、車両状態管理情報記憶領域320には、図6に示すような車両管理テーブル321が記憶される。
図示するように、車両管理テーブル321は、項目フィールド322と、状態フィールド323と、を備える。
項目フィールド322は、各々のレコードで管理する制御系ネットワーク111の通信状況を特定する情報が格納される。ここで、本実施形態においては、ネットワーク負荷率及び電圧のレコードが格納されているがこのような態様に限定されるわけではない。
状態フィールド323には、ネットワーク負荷率又は電圧値が各々のレコードに格納される。
ここで、制御系ネットワーク111に接続された複数の装置は、通常、一定間隔で制御データを送信しているため、制御系ネットワーク111は、通常状態において、特定の時間間隔でほぼ一定数の制御データを通信しているものと考えられる。これに対して、特定の時間間隔におけるデータ数が通常状態よりも多い場合には、車両の制御に多くの制御データが必要であり、このような状態の時に、情報系システム120からのデータを制御系ネットワーク111に送信すると、車両の制御に悪影響を及ぼす可能性が高い。
そこで、本実施形態においては、通常状態において特定の時間間隔における制御系ネットワーク111に流れるデータ数を予め定めておき、このようなデータ数と、実際に制御系ネットワークに流れているデータ数と、の割合をネットワーク負荷率として算出し、車両管理テーブル323に格納するようにしている。
また、電子制御装置に印加される電圧値又は車両のバッテリ装置からの出力電圧値も、車両状態を表すものと考えられる。一般に、制御系ネットワーク111に接続されている装置に印加される電圧が不安定になると、制御系ネットワーク111にノイズ信号がのりやすくなる。つまり、電圧が不安定である場合に、車載ゲートウェイ装置100が情報系ネットワーク121から送信されたデータを制御系ネットワーク111に送信すると、制御系ネットワーク111に大量のエラーフレームが発生する要因となりうる。そこで、本実施形態では、制御系ネットワークに接続されている装置に印加される電圧または車両のバッテリ装置からの出力電圧を取得し、結果を車両状態管理テーブル320に格納するようにしている。
図6では、例えばネットワーク負荷率が54%であり、例えば電子制御装置の電圧が11.8Vであるという状態を示している。
制御部253は、情報系データ受信部201と、データ管理部202と、車両状態管理部203と、送信判定部204と、を備える。
情報系データ受信部201は、情報系ネットワーク121からの情報系データを第2の通信部251を介して受信して、データ管理部202に受け渡す。
データ管理部202は、情報系受信部201から受け渡された制御系ネットワーク111に対する制御情報を含む情報系データ210をもとに、データ管理テーブル311にレコードとして登録する。さらに、データ管理部202は、周期的に、登録したレコードの送信回数314や有効時間315に従って破棄・更新を行う。
車両状態管理部203は、制御系ネットワーク111に流れている制御系データ220を第1の通信部250を介して受信すると、受信した制御系データ220から車両状態を示す情報を算出し、車両状態管理テーブル321に情報を書き込む。
送信判定部204は、周期的に、車両状態管理テーブル321を読み込み、各項目が所定の閾値の範囲内にあることを確認し、当該範囲内にあれば、制御系ネットワーク111に対してデータ管理テーブル311に登録されたレコードの送信が可能であると判定する。いずれかの項目が所定の閾値の範囲内に無ければ、その周期は送信を見送る。
そして、送信判定部204は、送信が可能であると判断した場合には、データ管理テーブル311に登録されたレコードのうち最も優先度が高いレコードを取り出し、当該レコードの識別子フィールド315と、データポインタフィールド316で示されるメモリアドレスにあるデータとを取得し、図2に示したフォーマットに従って整形し、制御系データ220を組み立て、第1の通信インタフェース101を介して制御系ネットワーク111に送信する。送信後には、送信したレコードについて、データ管理テーブル311に登録された送信回数フィールド314を減算して更新する。
なお、データ管理部202と、車両状態管理部203と、送信判定部204とは、それぞれ独立した周期で処理を反復的に実施する。
車載ゲートウェイ装置100は、図7に示すように、演算装置であるCPU(Central Processing Unit)21と、主記憶装置であるRAM(Random Access Memory)22と、プログラムやデータを格納するROM(Read Only Memory)23と、それらをつなぐバス32と、制御系ネットワーク111を介して情報の送受信を行うことのできるインタフェースである第1の通信インタフェース101と、情報系ネットワーク121を介して情報の送受信を行うことのできるインタフェースである第2の通信インタフェース103と、を有するいわゆるコンピュータで構成可能である。
上述の情報系データ受信部201と、データ管理部202と、車両状態管理部203と、送信判定部204と、はその演算処理をCPU21がRAM22に展開された命令コードを実行することで実現される。なお、RAM22に展開される命令コードは、ROM23に記憶されたものでもよく、また、第2の通信インタフェース103を介して情報系ネットワーク121に接続された装置から取得されたものでもよい。
RAM22は、命令コードの展開を行う領域だけでなく、データ管理テーブル311と、車両状態管理テーブル321と、を記録する領域を有する。
ROM23は、車両に使用される通常のROM装置であり、ゲートウェイ装置のソフトウェアや、ソフトウェアが必要とするデータの初期値、その他書き換えの必要がないデータなどを予め記録している。
第1の通信部250は、第1の通信インタフェース101により実現可能であり、第2の通信部251は、第2の通信インタフェース103により実現可能である。
これらのハードウェア装置と各機能部の動作により、車載ゲートウェイ装置100は情報系システム120からデータを受信し、制御系システム110の状態が安定状態であれば前記データを制御系システム110に送信して再送信を待ち、安定状態でなければ送信を待機するという機能が実現できる。
次に、第1の実施形態における車載ゲートウェイ装置100の動作について、図8〜図11を用いて説明する。
続いて、図8に、上述の情報系データ受信部201の詳細な処理フローを示す。
まず、情報系データ受信部201は第2の通信インタフェース103から制御系ネットワーク111に対する制御情報を含む情報系データ210を受信する(STEP301)。
次に、情報系データ受信部201は、受信した制御系ネットワーク111に対する制御情報を含む情報系データ210をデータ管理テーブル311に登録する。具体的には、情報系データ受信部201は、受信した制御系ネットワーク111に対する制御情報を含む情報系データ210の制御要求702をRAM22上のバッファ領域(図示せず)に格納し、格納したバッファ領域のアドレスを示すデータポインタを、RAM22上のデータ管理テーブル311のデータポインタフィールド316に格納する。さらに、情報系データ受信部201は、制御系ネットワーク111に対する制御情報を含む情報系データ210に含まれるデータ識別子701をデータ管理テーブル311の識別子フィールド315に格納し、有効時間703をタイマ値フィールド313に格納し、及び送信回数704を送信回数フィールド314に格納することで登録を行う(STEP302)。
次に、図9に、情報系データ受信部201により登録されたデータ管理テーブル310のレコードの管理を行うデータ管理部202の処理フローを示す。
まず、データ管理部202は自処理を開始するか否かを、所定のタイマ装置からのタイマ情報により判定する(STEP401)。ここで、データ管理部202が処理を開始する周期は、例えば1ミリ秒周期などの高速周期であることが望ましい。データ管理部202は、前回の処理時から周期が経過していない場合には、データ管理部202の処理を終了する。
STEP401にて判定した結果、周期が経過していた場合には、データ管理部202は、データ管理テーブル311に登録されている全てのレコードに対して、タイマ値フィールド313を周期の時間だけ減算してレコードを更新する(STEP402)。
つぎに、データ管理部202は、削除するレコードを抽出する。具体的には、データ管理部202は、データ管理テーブル311に登録されている全てのレコードに対して、タイマ値フィールド313または送信回数フィールド314が0以下となるレコードが存在するか否かを判定する(STEP403)。
データ管理部202は、STEP403の判定の結果、該当するレコードが存在すればデータ管理テーブル310から該レコードを削除する(STEP404)。
次に、データ管理テーブル311に登録されている全てのレコードを優先度順に並べ替える。具体的には、データ管理テーブル311に登録されている全てのレコードに対して、タイマ値フィールド313から送信回数フィールド314を除算した結果が小さい順に優先度の高いレコードであると判定して、優先度の高い順にデータ管理テーブル311のレコードの並べ替えを行い、優先度フィールド312に優先度の優先順位を記録する(STEP405)。なお、STEP405において、タイマ値フィールド313から送信回数フィールド314を除算した結果、値が同じとなるレコードが存在する場合には、データ管理部202は、データ管理テーブル311に登録された時系列の順序に従い、順序を決定する。
以上が、データ管理部202の詳細な処理フローである。
次に、図10に、データ管理部202と並行して実施する車両状態管理部203の処理フローを示す。
車両状態管理部203は、制御系ネットワーク111の状態を計測し、計測した情報を用いて制御系システム110の安定度を測るための情報を算出し、記録する。
具体的には、まず、車両状態管理部203は制御系ネットワーク111から第1の通信インタフェース101を介して制御系データ220を受信する(STEP501)。
車両状態管理部203は、STEP501にて受信した制御系データ220から、車両状態管理テーブル321の項目フィールド322に合致する情報を取得し、該項目のデータを取得した結果をもとに、車両状態管理テーブル321の状態フィールド323に登録する(STEP502)。
ここで、車両状態とは、例えば制御系ネットワーク111のネットワーク平均負荷率や、電子制御装置に印加される電圧値などの項目によって示される制御システムの状態を指す。一般に、制御系システム110では、制御系ネットワーク111に接続された複数の電子制御装置は一定間隔で制御データを送信しているため、ネットワーク平均負荷率は定常的に変化する。逆に、ネットワーク平均負荷率の変化が定常的でなくなった場合、電子制御装置内で制御周期に遅延が発生したと考えられる。このようなタイミングで車載ゲートウェイ装置100が制御系データ220を制御系ネットワーク111に送信すると、電子制御装置の制御周期に更に遅延を発生させる要因となりうることが考えられる。そこで、車両状態管理部203は、ネットワーク負荷率が定常的な範囲に収まるか否かを判定するために必要となるネットワーク負荷率を収集し、車両状態管理テーブル320に登録する。
例えば、STEP502においてネットワーク負荷率を取得する場合には、車両状態管理部203は、ROM23に記録された所定の時間内において車両状態管理部203が受信した制御データの数を計測し、あらかじめ定められてROM23に記録された所定の制御データの受信想定数で除算し、ネットワーク平均負荷率を算出することとしてもよい。
このネットワーク平均負荷率では、例えば、5台の電子制御装置A,B,C,D,E(図示せず)が制御系ネットワーク111に接続された制御系システムを考える。装置Aは50ミリ秒周期で制御データを制御系ネットワーク111に送信し、装置Bは100ミリ秒周期で制御データを制御系ネットワーク111に送信し、装置Cは150ミリ秒周期で制御データを制御系ネットワーク111に送信し、装置Dは200ミリ秒周期で制御データを制御系ネットワーク111に送信し、装置Eは300ミリ秒周期で制御データを制御系ネットワーク111に送信する。この時、所定の300ミリ秒の間で車載ゲートウェイ装置100が制御系ネットワーク111から受信するデータ数は13個である。ROM23には、予め受信想定数13が登録されており、車両状態管理部203は、所定の300ミリ秒の間に13個のデータを受信した場合には、ネットワーク負荷率を100%であると算出する。一方、電子制御装置Aに不具合が発生した場合など、電子制御装置Aから一定時間制御データが送信されない場合には、所定の300ミリ秒の間に車載ゲートウェイ装置100が受信するデータ数は7個となり、所定の13個と一致しない。この場合には、車両状態管理部203は、受信したデータ数である7を所定の受信想定数である13で除算し、ネットワーク負荷率を54%であると算出する。
また、電子制御装置に印加される電圧値、または車両のバッテリ装置からの出力電圧値も、車両状態を表す。一般に、電子制御装置に印加される電圧が不安定になると、制御系ネットワーク111にノイズ信号がのりやすくなる。つまり、電圧が不安定である場合に、車載ゲートウェイ装置100が制御系データ220を制御系ネットワーク111に送信すると、制御系ネットワーク111に大量のエラーフレームが発生する要因となりうる。そこで、車両状態管理部203は、電子制御装置に印加される電圧または車両のバッテリ装置からの出力電圧を取得し、結果を車両状態管理テーブル321に登録する。STEP502においては、電圧の取得は、例えば低電圧に対応している電子制御装置から送信された電圧情報に基づいて行う。
以上が、車両状態管理部203の処理フローである。
図11に、送信判定部204の処理フローを示す。
送信判定部204は、データ管理テーブル310に記録されたレコードを定期的に優先度順に制御系ネットワーク111に送信する処理を行う。
具体的には、まず、送信判定部204は自処理を開始するか否かを、所定のタイマ装置からのタイマ情報により判定する(STEP601)。
ここで、送信判定部204が処理を開始する周期は制御系ネットワーク111に接続された電子制御装置の周期のうちの最短の周期と同じ値が望ましいが、これと異なる値であってもよい。これは車載ゲートウェイ装置100から過剰な量の制御系データ220が送信されることにより制御系ネットワーク111の負荷率が増大することを回避すると共に、制御系ネットワーク111に接続された電子制御装置に対する余計な負荷を回避するためである。例えば、各電子制御装置のうち送信周期が10ミリ秒である装置が最短周期を持つ装置である場合、10ミリ秒を送信判定部204の処理を開始する周期として設定しておく。
送信判定部204は、前回の処理時から周期が経過していない場合には、送信判定部204の処理を終了する。
次に、STEP601にて判定した結果、前回の処理時から周期が経過していた場合には、送信判定部204はデータ管理テーブル310にレコードが登録されているか否かを確認する。レコードが登録されていない場合には、送信判定部204は、そのまま処理を終了する(STEP602)。
レコードが登録されている場合には、送信判定部204はデータ管理テーブル311の中で最も優先度の高いデータをRAM22上の変数領域に読み出す。(STEP603)。
次に、送信判定部204は、車両状態管理テーブル321に登録されている状態フィールド323と、ROM23上またはRAM22上に保存されている所定の閾値とを基に、制御系システム110が安定している状態にあるか否かを判定し、安定している状態にあれば前記STEP603で取り出したレコードを制御系ネットワーク111に送信できる状態にあると判定する(STEP604)。
ここで、上述した、制御系システム110が安定している状態であるか否かは、制御系ネットワーク111のネットワーク負荷率、及び電子制御装置に印加される電圧が、予め登録された所定の範囲内に収まるか否かにより判定する。即ち、全ての項目について、所定の範囲内に収まれば、制御系システムが安定している状態にあると判定する。
次に、STEP604の実施の結果、制御系システム110が安定している状態にあれば、送信判定部204は、STEP603にて取り出したレコードから、識別子315をデータ識別子801として、データポインタ316により示されるアドレス上のデータを制御要求802として、制御系データ220を構成し、第1の通信インタフェース101を介して制御系ネットワーク111に送信する(STEP605)。
次に、送信判定部204は、データ管理テーブル311に登録されている該レコードの送信回数を1減算して更新し、処理を終了する(STEP606)。
以上が送信判定部204の処理フローである。
以上が、接続装置であるゲートウェイ装置の第1の実施形態である。
上記の第1の実施形態によれば、車載ゲートウェイ装置100は制御系ネットワーク111上に流れる制御系データ220から制御系システム110の状態を判定し、制御系システム110の状態が安定状態にある場合にのみ情報系システム120からの制御系データ220を制御系ネットワーク111に送信することができる。このため、車載ゲートウェイ装置100は制御系システム110に悪影響を及ぼすことなく各電子制御装置に制御系データ220を送信することができる。また制御系システム110が安定状態でないために送信できなかった場合であっても、車両ゲートウェイ装置100は該データが有効である間はデータを破棄することなく保持し、次回の送信周期において再度データ送信を試みることができるようになる。
そのため、情報系システム120から制御系システム110に対して送信した情報系データ210を安全に中継することができるようになり、制御系システム110が不安定になることを誘発する可能性を小さくすることができる。
また、第1の実施形態では、送信判定部204は、STEP604において、送信の可否を、車両状態管理テーブル321の値が予め登録された所定の範囲内に収まるか否かによって判定しているが、これに限るものではない。
例えば、車両状態管理テーブル321の値が予め登録された所定の範囲内に収まらない場合であっても、特定の条件を満たす場合には例外的に制御系データ220を送信するようにしてもよい。
特定の条件とは、例えば、制御系ネットワーク111に接続された全ての電子制御装置が同時に制御データを送信した直後を指す。一般に、そのような場合には、ネットワークの負荷が最小になるためである。
第1の実施形態の例で挙げた例を再度例にとり、図12を用いてその原理を説明する。
図12は、制御系ネットワーク111を流れる送信元装置(A〜E)毎のデータフレームの数を、50ミリ秒単位で計数するシミュレーションを行ったグラフである。このグラフのX軸は時間(ミリ秒)を、Y軸はデータフレームの数(個)を示している。
ここで、上述の電子制御装置A,B,C,D,Eの各送信周期の最小公倍数は600ミリ秒である。つまり、600ミリ秒に一度、全ての電子制御装置がデータを送信するタイミングがあることになる。この直後には、ネットワークの負荷が最小となることが予測できる。例えば、図13に示すように、シミュレーション値としては、周期内の550ミリ秒〜600ミリ秒の間等、車載ゲートウェイ装置100が5個のデータを制御系ネットワーク111から受信できた場合(電子制御装置A〜Eそれぞれが1データフレームずつ送信した場合)には、最小から2番目の周期をもつ装置Bがデータを次に送信するまで、すなわち601ミリ秒〜650ミリ秒の間は制御系ネットワーク111の負荷が最小となることが保証される。
以上の原理により、STEP604において、特定の条件、すなわち制御系ネットワーク111に接続された全ての電子制御装置が同時に制御データを送信した直後の周期には送信を可とする構成としてもよい。
また、第1の実施形態では、送信判定部204は、STEP603で、優先度フィールド312の最も高い1レコードを送信対象として読み出しているが、これに限るものではない。
例えば、優先度フィールド312の順に、複数のレコードを読み出し、複数の制御系データ220を送信するようにしてもよい。
ただし、複数のレコードをまとめて送信する場合には、その送信最大レコード数を決めておかないと、多量のレコードをまとめて送信したことによって、制御系ネットワーク111のネットワーク流量が多くなりすぎ、制御系システム110が不安定になってしまう虞がある。
これを解決する構成を備えた第2の実施形態を、図13、14を用いて以下に説明する。
第2の実施形態では、第1の実施形態と基本的な構成は同様であるが、車載ゲートウェイ装置100の機能部である車両状態管理部203と、送信判定部204の処理内容が異なる。また、RAM22上の車両状態管理テーブル320に、図13に示すように、新たなレコードとして、項目フィールド322が「データ送信量」であるレコード330が存在する点も異なっている。
以下に、第2の実施形態における車両状態管理部203と、送信判定部204と、の動作について、図13、14を用いて説明する。
車両状態管理部203は、そのSTEP502において、ネットワーク負荷率と電圧のほかに、制御系ネットワーク111を流れるデータ数を計数する。計数した結果を、図13に示すレコード330の状態323欄に記録する。
図14に示すように、送信判定部204は、STEP602の結果がYESであった場合には、記憶部252に記憶した所定の閾値(図示せず)から、当該計数したデータ数であるレコード330の状態フィールド323欄の値を差し引いた差が0より大きいか否かを判定する(STEP7031)。
STEP7031の結果、差が0より大きい場合には、その差を送信するレコード数として決定し、そのレコード数ぶんのレコードをデータ管理テーブル310から優先度順に記憶部252上の変数領域に読み出す。差が0またはマイナスである場合には、送信判定処理を終える。(STEP7032)
送信判定部204は、STEP7051にて、当該差の数ぶんの変数領域からそれぞれ制御系データ220を構成し、第1の通信インタフェース101を介して制御系ネットワーク111に2個の制御系データ220を送信する。
例えば、所定の期間(300ミリ秒間)に、制御系ネットワーク111上に、のべ13個のデータフレームが流れる制御系ネットワーク111において、上記所定の閾値をROM23上に15と設定し記憶しておく。そして、車載ゲートウェイ装置100が起動し、車両状態管理部203が制御系ネットワーク111の所定の期間(300ミリ秒間)のデータフレーム数を計数した結果、累積で13個のデータフレームが流れた場合には、車両状態管理部203は車両状態管理テーブル320のレコード330の状態欄に、「13」を記憶させる。送信判定部204は、そのSTEP7031において、所定の閾値15との差である(+)2個を送信可能なレコード数として算出し、続くSTEP7031で変数領域に2個のレコードを読み出す。
送信判定部204は、STEP604にて制御系ネットワーク111に送信できる状態にあると判定したら、STEP7051にて当該2個のレコードからそれぞれ制御系データ220を構成し、第1の通信インタフェース101を介して制御系ネットワーク111に2個の制御系データ220を送信する。
以上の第2の実施形態により、車載ゲートウェイ装置100から制御系ネットワーク111へ複数送信することが可能となり、第1の実施形態に比較して送信パフォーマンスが向上するとともに、制御系システム110が不安定になってしまうことを防ぐことができる。
なお、上記の第1の実施形態と、その変形例と、第2の実施形態と、により示した車載ゲートウェイ装置は、装置として取引対象とするだけでなく、加えて、車載ゲートウェイ装置を備えた車両として取引対象とすることも可能である。
以上が、本発明の実施形態である。
第1の実施形態における送信判定処理の処理フロー図である。