(57)【特許請求の範囲】
【請求項１】
タイムトリガネットワークを有する車内ネットワークにおいて通信データを中継する車内データ中継装置であって、
前記車内ネットワークに通信データを送信する送信部と、
前記車内ネットワークから通信データを受信する受信部と、
当該車内データ中継装置が中継すべきトラフィック量に合わせて、当該車内データ中継装置が使用する前記タイムトリガネットワークのスロット量、または当該車内データ中継装置が使用する前記タイムトリガネットワークのスロットＩＤを変更するネットワーク設定変更部と、
前記タイムトリガネットワークのスロットに割り当てられた処理を実行するタイミングを前記スロットに同期させる処理タイミング決定部と、
前記通信データを中継する中継処理部と、
を備え、
前記処理タイミング決定部は、前記ネットワーク設定変更部によって前記スロット量またはスロットＩＤが変更された後において、前記送信部が前記通信データを送信するために割り当てられている前記タイムトリガネットワークのスロット時刻よりも前に前記通信データを送信するために必要な前処理を完了できるように、前記処理を実行するタイミングを再調整する
ことを特徴とする車内データ中継装置。
【請求項２】
前記ネットワーク設定変更部は、
前記タイムトリガネットワークを介して通信する周波数を上げるか、または前記タイムトリガネットワークのスロット毎に割り当てる時間を短くして、前記タイムトリガネットワークのスロット量を変更することにより、当該車内データ中継装置が使用する前記タイムトリガネットワークのスロット量を変更する
ことを特徴とする請求項１記載の車内データ中継装置。
【請求項３】
前記ネットワーク設定変更部は、
前記タイムトリガネットワークのスロット量を変更する前に、前記タイムトリガネットワークに接続されている他通信装置宛に、前記タイムトリガネットワークのスロット量を変更するよう指示する変更指示データを送信し、
その後、前記他通信装置宛に、通信機能を初期化するよう指示する初期化指示データを送信する
ことを特徴とする請求項２記載の車内データ中継装置。
【請求項４】
前記ネットワーク設定変更部は、前記変更指示データ内に、
前記タイムトリガネットワークのスロット量を指示するデータ、前記タイムトリガネットワークの伝送速度を指示するデータ、および前記タイムトリガネットワークの通信周期を指示するデータを記述し、前記他通信装置宛に指示する
ことを特徴とする請求項３記載の車内データ中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両ネットワーク内のデータを中継する技術に関するものである。
【背景技術】
【０００２】
近年の多くの車両システムは、電子化された車両制御機器を操作するＥＣＵ、すなわち電子制御装置（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）と、複数のＥＣＵ間の通信を可能にする車載ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）から構成される。この車載ＬＡＮの一つとして、広く利用されているネットワークに、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）がある。
【０００３】
一方で、車両および車両システムの高機能化に伴い、車内ネットワークを流れるデータ量が増加し、ＣＡＮの通信帯域が不足してきている。そこで近年では、ＣＡＮよりも通信容量の大きいＦｌｅｘＲａｙ（登録商標）の採用が進んでいる。ＦｌｅｘＲａｙはＣＡＮと比べて約１０倍の伝送速度を備えるため、大量のデータを通信することが可能である。車両制御システムの高信頼化要求に伴い、通信を高信頼化するため、ＦｌｅｘＲａｙの上記特性を利用した車両制御システムが開発されるようになってきている。
【０００４】
車両制御システムは、一般に車内ネットワークを介して複数のＥＣＵが通信しながら連携して車両を制御するシステムである。車内ネットワークには、非周期的にデータを送信するイベントトリガネットワークであるＣＡＮ、周期的にデータを送信するタイムトリガネットワークであるＦｌｅｘＲａｙなど、複数種類のネットワークが含まれる。
【０００５】
このような複数種類のネットワークを介してＥＣＵ間で通信するためには、ネットワーク間の通信方式などの差異を吸収して通信データをネットワーク間で中継する車両用データ中継装置（ゲートウェイＥＣＵ）が必要になる。
【０００６】
車両制御システムでは、車種、製品の仕向け地、ユーザが自動車を購入する際の機能選択などに応じてシステムの構成が異なるため、データ中継装置に設定するデータの中継情報やネットワーク設定を個別に調整する必要がある。例えば車種等が変わると、使用するＥＣＵが同じであっても、システムを構成するネットワークとそれに接続するＥＣＵの配置が異なるため、ＥＣＵ間でのデータの通信経路が変わる。また、製品の開発途中であっても、製品の開発目標が変更されると、ＥＣＵの配置とＥＣＵ間の通信経路が変わる。車内データ中継装置は、それに合わせて通信経路情報を調整する必要がある。
【０００７】
また、車種の変更や走行モードの切り替え等による制御データの変動に伴い、ネットワークに発生する通信のトラフィック量が変わるため、それに合わせてタイムトリガネットワークを変更する必要がある。
【０００８】
また、データ中継装置は、システムを制御する制御演算処理で参照するデータの送受信を行うため、ネットワークから受信した通信データを、受信ネットワークを除く他のネットワークに送信しなければいけない。通信データは車両制御に用いられるため、データ中継装置は、このデータ通信の時間制約（リアルタイム性）を満たす必要がある。
【０００９】
データの中継情報やネットワークの設定を変更するためには、データ中継装置のプログラムを修正し、再度コンパイルする必要がある。そのため、プログラムを修正しコンパイルするための工数、設定が正しいことを検証する工数などが必要となり、負担が大きい。      
【００１０】
また、再度コンパイルする手法では、車両制御システムが実行中に通信のトラフィック量が変化したときに、トラフィック量に合わせてタイムトリガネットワークの設定を変更できない。
【００１１】
そこで、データ中継装置に設定すべき中継経路データや、タイムトリガネットワークのスロット量が変わっても、データ中継装置のプログラムを修正せずに、車両用データ中継装置の中継経路データやスロット量を変更したいという要求がある。
【００１２】
下記特許文献１では、データ中継装置のプログラムを変更せずにデータの中継情報を変更する手法が提案されている。同文献では、データ中継装置自身が、中継すべきデータの有無をＥＣＵに問い合わせる。ＥＣＵは、データ中継装置が中継すべきデータを保持している場合は、そのデータおよびデータの識別子を含むメッセージを返信する。車内データ中継装置は、データの識別子とその中継先の対応関係を、データの中継情報として新たに登録または更新する。
【００１３】
下記特許文献２では、ＥＣＵからデータ中継装置に対し、データの中継情報を新たに登録または更新するよう要求する手法が記載されている。
【００１４】
一方、ＴＣＰ／ＩＰネットワークでは、ノードが送信するデータの送信先ＩＰアドレスを指定してメッセージを送信し、そのメッセージを受信したルータがメッセージの送信先ＩＰに応じてメッセージを中継する。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００６−３１９５４０号公報
【特許文献２】特開２００５−３４１４９５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
タイムトリガネットワークにおいて、車両用データ中継装置が使用することができるスロット番号は、あらかじめ規定されている。例えば、ＣＡＮから受信したデータをＦｌｅｘＲａｙに中継するとき、優先度の高いデータを車両用データ中継装置が使用するスロットに入れるためには、そのスロット時刻より先に前処理を済ませておく必要がある。これについて以下に説明する。
【００１７】
車両用データ中継装置は、データ中継のリアルタイム性を満たすため、優先度が高いデータを先に中継する。時分割通信方式であるＦｌｅｘＲａｙでは、データをスロット単位で送信するため、車両用データ中継装置がＣＡＮから受信したデータをＦｌｅｘＲａｙに中継する場合、ＣＡＮから受信したデータのうち優先度の高いデータを、車両用データ中継装置が使用することができるスロットの送信時刻に到達する前にそのスロットへ入れておく必要がある。したがって、優先度の高いデータを選択するなどの前処理は、車両用データ中継装置が使用することができるスロットの送信時刻に到達する前に完了しておかなければならない。
【００１８】
上記特許文献１に記載の技術では、ＣＡＮから受信したデータをタイムトリガネットワークであるＦｌｅｘＲａｙへ送信する場合、トラフィック量が増えてくると、車両用データ中継装置が使用することができるスロットの送信時刻に到達する前に上述の各処理を完了させることが保証されなくなってくる。そのため、車両用データ中継装置はデータ通信の時間制約を満たすことができない可能性がある。
【００１９】
この時間制約を確実に満たすためには、車両用データ中継装置が使用することができるスロットの送信時刻に到達する前に上述の各処理を完了させるように、車両用データ中継装置の制御プログラムを書き換え、再度インストールする作業が発生する。この作業負担はトラフィック量が異なる車内ネットワーク毎に発生するので、作業負担が多大になるおそれがある。
【００２０】
上記特許文献２に記載の技術においても、上記特許文献１と同様の課題がある。
ＴＣＰ／ＩＰネットワークで用いられているルーティング技術では、ＴＣＰ／ＩＰネットワークがイベントトリガネットワークであるため、前述した課題を解決する手段を備えておらず、上記特許文献１〜２と同様の課題がある。
【００２１】
以上ではトラフィック量が増加する場合について述べたが、トラフィック量が減少する場合も、最適な通信パフォーマンスを維持するためには、同様の課題について考慮する必要がある。
【００２２】
本発明は、上記のような課題を解決するためになされたものであり、タイムトリガネットワークを有する車内ネットワークにおいて、データ中継装置が中継すべきトラフィック量が増減しても、通信データを中継するために要する通信パフォーマンスを適切に維持することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【００２３】
本発明に係る車内データ中継装置は、中継すべきトラフィック量に合わせて、当該車内データ中継装置が使用する前記タイムトリガネットワークのスロット量またはスロットＩＤを動的に変更し、変更後のスロット量またはスロットＩＤに合わせて、当該スロットに対応する処理の実行タイミングを決定する。
【発明の効果】
【００２４】
本発明に係る車内データ中継装置によれば、当該データ中継装置が中継すべきトラフィック量が増減しても、適切なスロット量またはスロットＩＤを動的に選択して対処することができる。また、スロット量やスロットＩＤを変更すると、そのスロットに対応する処理の実行タイミングも変わるので、変更後のスロット量またはスロットＩＤに合わせて当該処理の実行タイミングを変更する。これにより、変更前後にわたって支障なくデータ中継を継続することができる。
【図面の簡単な説明】
【００２５】
【図１】実施形態１に係る車両制御システム１００のネットワーク構成図である。
【図２】データ中継装置１の機能ブロック図である。
【図３】ネットワーク設定情報テーブル１２２１の構成とデータ例を示す図である。
【図４】中継経路テーブル１２２２の構成とデータ例を示す図である。
【図５】送信スロットＩＤ管理テーブル１２２３の構成とデータ例を示す図である。
【図６】受信スロットＩＤ管理テーブル１２２４の構成とデータ例を示す図である。
【図７】処理実行時刻テーブル１２２５の構成とデータ例を示す図である。
【図８】処理実行時刻テーブル１２２５の他データ例を示す図である。
【図９】ネットワーク設定変更部１２１１がトラフィック量を検出する処理の動作フローである。
【図１０】ステップＳ１２１１＿０００において、ネットワーク設定変更部１２１１がデータサイズに基づきトラフィック量を算出する様子を示す図である。
【図１１】ネットワーク設定変更部１２１１がネットワーク設定を変更する処理の動作フローである。
【図１２】データ中継処理部１２１３が通信データをネットワーク間で中継する処理の動作フローである。
【図１３】受信処理部１２１５が通信データを受信する処理の動作フローである。
【図１４】受信処理部１２１５がＣＡＮネットワークから通信データを受信する処理の動作フローである。
【図１５】受信処理部１２１５がＦｌｅｘＲａｙネットワークから通信データを受信する処理の動作フローである。
【図１６】送信処理部１２１４がＣＡＮネットワークに通信データを送信する処理の動作フローである。
【図１７】送信処理部１２１４がＦｌｅｘＲａｙネットワークに通信データを送信する処理の動作フローである。
【図１８】処理タイミング決定部１２１２が各スロットに割り当てられている処理を実行するタイミングを調整する処理の動作フローである。
【図１９】処理タイミング決定部１２１２が各スロットに割り当てられている処理を起動する処理の動作フローである。
【図２０】実施形態２に係るデータ中継装置１の機能ブロック図である。
【図２１】外部メモリ１６が格納しているネットワーク設定更新データ１６１の構成とデータ例を示す図である。
【図２２】外部メモリ１６が格納している中継経路データ１６２の構成とデータ例を示す図である。
【図２３】装置初期化部１２１６の動作フローである。
【図２４】データ中継処理部１２１３の初期化処理の動作フローである。
【発明を実施するための形態】
【００２６】
＜実施の形態１＞
図１は、本発明の実施形態１に係る車両制御システム１００のネットワーク構成図である。車両制御システム１００は、車両を制御する１以上のＥＣＵ（電子制御ユニット）をネットワークで接続した構成を有する。ここでは、ＣＡＮネットワーク４にエンジン制御ＥＣＵ２が接続され、ＦｌｅｘＲａｙネットワーク５にメータＥＣＵ３が接続され、ＣＡＮネットワーク４とＦｌｅｘＲａｙネットワーク５の間をデータ中継装置１が中継するネットワーク構成を例示した。ネットワーク構成および制御装置の構成は、これに限られるものではない。
【００２７】
各ＥＣＵは、車両の各部を制御するとともに、必要に応じて他のＥＣＵと通信する。例えば、エンジン制御ＥＣＵ２は車速データをＣＡＮネットワーク４に送信し、データ中継装置１がその車速データを受信する。データ中継装置１がＦｌｅｘＲａｙネットワーク５へ車速データを中継するように中継経路データが設定されている場合、データ中継装置１はその中継経路データの記述にしたがって、車速データをＦｌｅｘＲａｙネットワーク５へ送信する。メータＥＣＵ３は、ＦｌｅｘＲａｙネットワーク５から車速データを受信し、メータに表示する。
【００２８】
図２は、データ中継装置１の機能ブロック図である。データ中継装置１は、ネットワーク間で通信データを中継する装置であり、演算装置１１（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ１２、入出力回路１３、バスＡコントローラ１４１、バスＢコントローラ１４２を備える。バスＡコントローラ１４１はバスＡ１５１に接続され、バスＢコントローラ１４２はバスＢ１５２に接続されている。
【００２９】
メモリ１２は、プログラム領域１２１とデータ記憶領域１２２を有する。プログラム領域１２１は、ネットワーク設定変更部１２１１、処理タイミング決定部１２１２、データ中継処理部１２１３、送信処理部１２１４、受信処理部１２１５を格納する。これら各機能部は、ソフトウェアプログラムとして実装することができる。同等の機能を、回路デバイスなどのハードウェアを用いて実現することもできる。
【００３０】
データ記憶領域１２２は、後述の図３で説明するネットワーク設定情報テーブル１２２１、図４で説明する中継経路テーブル１２２２、図５で説明する送信スロットＩＤ管理テーブル１２２３、図６で説明する受信スロットＩＤ管理テーブル１２２４、図７〜図８で説明する処理実行時刻テーブル１２２５を格納する。
【００３１】
バスＡコントローラ１４１は信号入出力回路１４１１を備え、バスＢコントローラ１４２は信号入出力回路１４２１を備える。各信号入出力回路は、各バスから受け取った通信信号をデジタル変換するなどの必要な処理を適宜実行する。本実施形態１では、バスＡ１５１はＣＡＮネットワーク４に接続され、バスＢ１５２はＦｌｅｘＲａｙネットワーク５に接続されている。
【００３２】
図３は、ネットワーク設定情報テーブル１２２１の構成とデータ例を示す図である。ネットワーク設定情報テーブル１２２１は、ＦｌｅｘＲａｙネットワーク５の通信パラメータを複数パターン保持するテーブルであり、分類フィールド１２２１１、スタティックスロット数フィールド１２２１２、ダイナミックスロット数フィールド１２２１３、伝送速度フィールド１２２１４、通信周期フィールド１２２１５を有する。
【００３３】
分類フィールド１２２１１は、ＦｌｅｘＲａｙネットワーク５の通信パラメータのパターンを識別するための名称を保持する。スタティックスロット数フィールド１２２１２は、ＦｌｅｘＲａｙネットワーク５のスタティックスロットの数を保持する。ダイナミックスロット数フィールド１２２１３は、ＦｌｅｘＲａｙネットワーク５のダイナミックスロットの数を保持する。伝送速度フィールド１２２１４は、ＦｌｅｘＲａｙネットワーク５の伝送速度を保持する。通信周期フィールド１２２１５は、ＦｌｅｘＲａｙネットワーク５のコミュニケーションサイクルを保持する。
【００３４】
ネットワーク設定変更部１２１１は、トラフィック量に応じてネットワーク設定情報テーブル１２２１が保持している通信パラメータパターンのうちいずれかを選択し、当該データ中継装置１および他通信装置にその通信パラメータを適用する。詳細は後述する。
【００３５】
図４は、中継経路テーブル１２２２の構成とデータ例を示す図である。中継経路テーブル１２２２は、データ中継装置１がネットワーク間で通信データを中継する際の中継経路を記述したテーブルであり、ＣＡＮ  ＩＤ（ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）フィールド１２２２１、送信先バスフィールド１２２２２、送信先ＣＡＮ  ＩＤフィールド１２２２３、送信先スロットＩＤフィールド１２２２４を有する。
【００３６】
ＣＡＮ  ＩＤフィールド１２２２１は、ＣＡＮネットワーク４上で用いられるデータ種別、すなわちＣＡＮ  ＩＤを保持する。デー中継装置１は、本フィールドを用いて、ＣＡＮネットワーク４上で用いられるデータ種別毎に、中継先ネットワーク、中継後のスロットＩＤ、などを個別変換する。
【００３７】
送信先バスフィールド１２２２２は、送信元ネットワークから受け取った通信データを中継する中継先ネットワークを特定する情報記述する。ここではバス名を用いて中継先を特定する形式を例示した。
【００３８】
送信先ＣＡＮ  ＩＤフィールド１２２２３は、中継先ネットワークにおいて用いるＣＡＮ  ＩＤを保持する。例えば２行目のデータ例の場合、データ中継装置１がＣＡＮ  ＩＤ＝２００の通信データを受信すると、そのＣＡＮ  ＩＤを１５０に変換した上で、中継先ネットワーク（ＦｌｅｘＲａｙネットワーク５）に送信する。
【００３９】
送信先スロットＩＤフィールド１２２２４は、中継先ネットワークにおいて用いるスロットＩＤを保持する。例えば１行目のデータ例の場合、データ中継装置１がＣＡＮ  ＩＤ＝１００の通信データを受信すると、スロットＩＤ＝１０のスロットにその通信データを割り当てた上で、中継先ネットワーク（ＦｌｅｘＲａｙネットワーク５）に送信する。
【００４０】
中継先ネットワークにおいて、データ種別をＣＡＮ  ＩＤによって区別する場合は、中継先ネットワークにおいてもＣＡＮ  ＩＤを何らかの形態で用いる必要がある。この場合は２行目のデータ例に示すように、中継先ネットワークにおけるＣＡＮ  ＩＤを中継経路テーブル１２２２内に記述しておく。ＣＡＮ  ＩＤ以外の値、例えばスロットＩＤのみによってデータ種別を識別することができる場合は、１行目と３行目のデータ例に示すように、中継先ネットワークにおけるスロットＩＤのみを指定すればよい。これら以外の値を用いてデータ種別を特定することができる場合には、その値を用いることもできる。例えばデータペイロード部内にデータ種別ＩＤを記述しておき、その値によってデータ種別を区別するようにしてもよい。
【００４１】
以上の図４に関する説明において、ＣＡＮネットワーク４からＦｌｅｘＲａｙネットワーク５に宛てて通信データを中継することを想定したが、その他の中継経路についても図４と同様の中継経路データを設けることができる。
【００４２】
図５は、送信スロットＩＤ管理テーブル１２２３の構成とデータ例を示す図である。送信スロットＩＤ管理テーブル１２２３は、データ中継装置１がＦｌｅｘＲａｙネットワーク５にデータを中継するときに使用することができるスロットＩＤの一覧を保持するテーブルである。
【００４３】
送信スロットＩＤ管理テーブル１２２３は、データ中継装置１がＦｌｅｘＲａｙネットワーク５にデータを送信するときに使用することができるスロットＩＤを保持するための送信スロットＩＤフィールド１２２３１を有する。
【００４４】
図６は、受信スロットＩＤ管理テーブル１２２４の構成とデータ例を示す図である。受信スロットＩＤ管理テーブル１２２４は、データ中継装置１がＦｌｅｘＲａｙネットワーク５から他のネットワークへデータを中継するときに使用することができるスロットＩＤの一覧を保持するテーブルである。
【００４５】
受信スロットＩＤ管理テーブル１２２４は、データ中継装置１がＦｌｅｘＲａｙネットワーク５からデータを受信するときに使用することができるスロットＩＤを保持するための受信スロットＩＤフィールド１２２４１を有する。
【００４６】
図７は、処理実行時刻テーブル１２２５の構成とデータ例を示す図である。処理実行時刻テーブル１２２５は、タイムトリガネットワーク（ここではＦｌｅｘＲａｙネットワーク５）の各スロットに割り当てられた処理を実行すべきタイミングを記述するテーブルである。具体的には、各ＥＣＵ間で同期を取っているグローバル時刻と、その時刻に実行すべき処理名との対応関係を記述する。処理実行時刻テーブル１２２５は、グローバル時刻フィールド１２２５１、実行処理フィールド１２２５２を有する。
【００４７】
グローバル時刻フィールド１２２５１は、タイムトリガネットワーク（ここではＦｌｅｘＲａｙネットワーク５）に接続している各ＥＣＵ間で同期を取っている共通時刻（グローバル時刻）のうち、各スロットにあらかじめ割り当てられた処理を実行すべき時刻を保持する。実行処理フィールド１２２５２は、その時刻においてデータ中継装置１が実行すべき処理を記述する。ここでは実行すべき関数名によって処理名を記述したが、記述形式は任意でよい。
【００４８】
図８は、処理実行時刻テーブル１２２５の他データ例を示す図である。図７では、データ中継処理（ｄａｔａ＿ｔｒａｎｓｆｅｒ（））を実行する例を示したが、図８ではこれに代えて送信処理（ｓｅｎｄ（））を実行する例を示した。
【００４９】
以上説明した図３〜図８に示す各テーブルは、データ中継装置１が備えるＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの記憶装置にあらかじめ格納しておき、必要に応じてメモリ１２上に読み出すことができる。またはこれに代えて、他通信装置からこれらテーブルに相当するデータを受信して用いてもよいし、データ中継装置１の外部記憶媒体に格納されている同様のデータを読み込んで用いてもよい。
【００５０】
以上、データ中継装置１の構成を説明した。以下では、データ中継装置１が中継すべきトラフィック量に合わせてスロット量を変更し、それに合わせて各処理の実行タイミングを調整する処理の流れを説明する。
【００５１】
図９は、ネットワーク設定変更部１２１１がトラフィック量を検出する処理の動作フローである。以下、図９の各ステップについて説明する。
（図９：ステップＳ１２１１＿０００）
ネットワーク設定変更部１２１１は、一定時間内に中継したデータのサイズを集計し、データ中継装置１がその時点で中継しているトラフィック量（データ中継装置１が中継すべきトラフィック量）を算出する。算出イメージについては後述の図１０で改めて説明する。説明の都合上、本実施形態１ではデータ中継装置１が所定時間内に中継したデータサイズの総和をトラフィック量として取り扱うこととしたが、これに限らない。例えば、データ中継装置１が中継しているデータ個数の総和をトラフィック量として取り扱うこともできる。
【００５２】
（図９：ステップＳ１２１１＿０００：補足）
データ中継装置１が中継したデータ個数は、通信データのＣＡＮ  ＩＤの出現数をカウントすることによって測定することができる。例えば、ＣＡＮ  ＩＤ＝１００の通信データを１０件、ＣＡＮ  ＩＤ＝２００の通信データを２０件中継した場合、データ中継装置１が中継したデータ個数は３０件である。
【００５３】
（図９：ステップＳ１２１１＿００１）
ネットワーク設定変更部１２１１は、現時点でデータ中継装置１が中継しているトラフィック量が、所定の上限閾値を超えているか否かを判定する。上限閾値を超えている場合はステップＳ１２１１＿００２へ進み、上限閾値を超えていない場合はステップＳ１２１１＿００４へ進む。
【００５４】
（図９：ステップＳ１２１１＿００２）
ネットワーク設定変更部１２１１は、タイムトリガネットワーク（ここではＦｌｅｘＲａｙネットワーク５）のスロット量が現在よりも増えるように、通信パラメータを決定する。例えば、現在のＦｌｅｘＲａｙネットワーク５の設定が、ネットワーク設定情報テーブル１２１１に記述されている分類パターンＢであるとき、パターンＡへ変更する旨を決定する。
【００５５】
（図９：ステップＳ１２１１＿００２：補足その１）
本ステップでは、ＦｌｅｘＲａｙネットワーク５のスロット量を増やすことにより、結果としてデータ中継装置１が使用することができるスロット量を増やすことを図る。これにより、トラフィック量が増えても、データ中継装置１に割り当てられているスロット量を適正に確保することができるので、優先度の高い処理を使用可能スロットに割り当てる際の余裕が増える。また、スロット割当に先行する前処理も、その分だけ余裕をもって実行することができ、中継速度に関する制約を満たすことができる。
【００５６】
（図９：ステップＳ１２１１＿００２：補足その２）
ＦｌｅｘＲａｙネットワーク５のスロット量を増やす手法として、伝送速度を上げる、通信周期を短くする（周波数を上げる）、１スロット当たりの時間を短くする、などが考えられる。いずれの手法を採用してもよい。図３では、最初の２つを明示的に例示した。これらの値は、具体的にはデータ中継装置１の通信コントローラの通信パラメータとして設定することができる。送信処理部１２１４と受信処理部１２１５は、その値を用いて通信データを送受信する。
【００５７】
（図９：ステップＳ１２１１＿００２：補足その３）
本実施形態１では、タイムトリガネットワーク（ここではＦｌｅｘＲａｙネットワーク５）全体のスロット量を増やすことにより、結果としてデータ中継装置１が使用することができるスロット量を増やしているが、必ずしもこれに限らない。ＦｌｅｘＲａｙネットワーク５のスロットのうち、データ中継装置１が使用することができるスロット量の割当を増やすことにより、トラフィック量増加に対処することもできる。あるいは、スロットＩＤを変更して処理実行タイミングをずらすことにより、処理時間上の余裕を設け、トラフィック量増加に対応することができる場合もある。
【００５８】
（図９：ステップＳ１２１１＿００３）
ネットワーク設定変更部１２１１は、後述の図１１で説明するネットワーク設定変更処理を実行し、変更後のネットワーク設定を適用する。
（図９：ステップＳ１２１１＿００４）
ネットワーク設定変更部１２１１は、現時点でデータ中継装置１が中継しているトラフィック量が、所定の下限閾値を下回っているか否かを判定する。下限閾値を下回っている場合はステップＳ１２１１＿００５へ進み、下限閾値を下回っていない場合は本動作フローを終了する。
【００５９】
（図９：ステップＳ１２１１＿００５）
ネットワーク設定変更部１２１１は、タイムトリガネットワーク（ここではＦｌｅｘＲａｙネットワーク５）のスロット量が現在よりも減るように、通信パラメータを決定する。例えば、現在のＦｌｅｘＲａｙネットワーク５の設定が、ネットワーク設定情報テーブル１２１１に記述されている分類パターンＢであるとき、パターンＣへ変更する旨を決定する。
（図９：ステップＳ１２１１＿００５：補足）
本ステップにおいても、ステップＳ１２１１＿００２と同様に、データ中継装置１が使用することができるスロット量の割当を減らすことにより、トラフィック量減少に対処することもできる。
【００６０】
図１０は、ステップＳ１２１１＿０００において、ネットワーク設定変更部１２１１がデータサイズに基づきトラフィック量を算出する様子を示す図である。ネットワーク設定変更部１２１１は、例えば基準時刻Ｔｎから時刻Ｔｎ−１の間でデータ中継装置１が中継したデータサイズの総和を集計し、これをトラフィック量として取り扱うことができる。
【００６１】
ここでは、ネットワーク設定変更部１２１１がトラフィック量を算出する動作例を説明したが、外部の装置が車内ネットワークのトラフィック量を算出し、その値を記述した通信データによってデータ中継装置１に通知することもできる。同様に、車内ネットワークのトラフィック量を記述した外部記憶媒体からその値を読み取ることにより、トラフィック量を特定することもできる。
【００６２】
図１１は、ネットワーク設定変更部１２１１がネットワーク設定を変更する処理の動作フローである。以下、図１１の各ステップについて説明する。
（図１１：ステップ１２１１＿１００）
ネットワーク設定変更部１２１１は、現在のＦｌｅｘＲａｙ５の通信パラメータと変更後の通信パラメータが異なるか否かを判定する。異なる場合はステップＳ１２１１＿１０１へ進み、同じである場合は本動作フローを終了する。
【００６３】
（図１１：ステップＳ１２１１＿１０１）
ネットワーク設定変更部１２１１は、タイムトリガネットワーク（ここではＦｌｅｘＲａｙネットワーク５）に接続されている他通信装置に宛てて、変更後の通信パラメータを適用するよう指示する通信データを送信する。ＦｌｅｘＲａｙネットワーク５に接続している各ＥＣＵは、この通信データの指示にしたがって、通信パラメータを変更する。
【００６４】
（図１１：ステップＳ１２１１＿１０１：補足）
ネットワーク設定変更部１２１１は、必ずしも個々のＥＣＵに宛てて個別に変更後の通信パラメータを指示する必要はない。例えば、ＦｌｅｘＲａｙネットワーク５に他のＥＣＵが全て接続されているのであれば、ＦｌｅｘＲａｙネットワーク５宛に変更後の通信パラメータを通知すればよい。この場合、当該通知は自動的に各ＥＣＵに到達する。
【００６５】
（図１１：ステップＳ１２１１＿１０２）
ネットワーク設定変更部１２１１は、タイムトリガネットワーク（ここではＦｌｅｘＲａｙネットワーク５）に接続されている他通信装置に宛てて、通信コントローラを初期化するよう指示する通信データを送信する。ＦｌｅｘＲａｙネットワーク５に接続している各ＥＣＵは、この指示を受信すると、ステップＳ１２１１＿１００で受信した指示に基づいて、通信コントローラの通信パラメータを更新する。
【００６６】
（図１１：ステップＳ１２１１＿１０３）
ネットワーク設定変更部１２１１は、データ中継装置１自身の通信コントローラの通信パラメータを、ステップＳ１２１１＿００２またはＳ１２１１＿００５で決定した通信パラメータにしたがって更新する。
（図１１：ステップＳ１２１１＿１０４）
ネットワーク設定変更部１２１１は、データ中継装置１自身の通信コントローラを初期化する。
【００６７】
図１２は、データ中継処理部１２１３が通信データをネットワーク間で中継する処理の動作フローである。以下、図１２の各ステップについて説明する。
（図１２：ステップＳ１２１３＿０００）
データ中継処理部１２１３は、後述の図１３で説明する、受信処理部１２１５の受信処理を呼び出し、ネットワークより受信したデータを取得する。
【００６８】
（図１２：ステップＳ１２１３＿００１）
データ中継処理部１２１３は、受信処理部１２１５がネットワークから受信したデータがあるか否かを判定する。受信データがある場合はステップＳ１２１３＿００２へ進み、受信データがない場合は本動作フローを終了する。
【００６９】
（図１２：ステップＳ１２１３＿００２）
データ中継処理部１２１３は、ステップＳ１２１３＿０００で受信したデータが中継経路データであるか否かを判定する。中継経路データとは、中継経路テーブル１２２２の変更内容を指示するデータである。受信したデータが中継経路データである場合はステップＳ１２１３＿００３へ進み、中継経路データではない場合はステップＳ１２１３＿００５へ進む。
（図１２：ステップＳ１２１３＿００２：補足その１）
本ステップは、他通信装置から中継経路テーブル１２２２を更新すべき旨の指示を、車内ネットワークを介して受信する場合があることを想定したものである。
（図１２：ステップＳ１２１３＿００２：補足その２）
受信したデータが中継経路テーブルであるか否かを判定するためには、例えば当該受信データのＣＡＮ  ＩＤを参照すればよい。例えば、車両制御システム１００内で、ＣＡＮ  ＩＤ＝７００の通信データが中継経路データであると定義している場合、受信データのＣＡＮ  ＩＤが７００であるか否かによって、当該受信データが中継経路データであるか否かを判断する。
【００７０】
（図１２：ステップＳ１２１３＿００３）
データ中継処理部１２１３は、ステップＳ１２１３＿０００で受信した中継経路データに基づき、中継経路テーブル１２２２を更新する。例えば、中継経路データが中継すべきデータのＣＡＮ  ＩＤ、送信先バス、送信先ＣＡＮ  ＩＤ、送信先スロットＩＤを記述している場合、各データ値を用いて、中継経路テーブル１２２２のＣＡＮ  ＩＤフィールド１２２２１、送信先バスフィールド１２２２２、送信先ＣＡＮ  ＩＤフィールド１２２２３、送信先スロットＩＤフィールド１２２２４を更新する。後述の図２４で説明するような手順を用いてもよい。
（図１２：ステップＳ１２１３＿００３：補足）
本ステップは、通信データの中継経路を更新することが主な目的であるが、中継先におけるスロットＩＤを併せて変更する場合もある。この場合、スロットＩＤが変更になるため、送信スロットＩＤ管理テーブル１２２３または受信スロットＩＤ管理テーブル１２２４、さらには各スロットに割り当てられている処理の実行タイミングを併せて更新する必要が生じる場合もある。
【００７１】
（図１２：ステップＳ１２１３＿００４）
データ中継処理部１２１３は、送信スロットＩＤの総数またはスロットＩＤの値が変更になったか否かを判定する。例えば、送信スロットＩＤ管理テーブル１２２３を参照し、送信スロットＩＤの総数やスロットＩＤの値が前回参照時から変化したか否かを判定する。変化している場合はステップＳ１２１３＿００７へ進み、変化していない場合は本動作フローを終了する。
【００７２】
（図１２：ステップＳ１２１３＿００５）
データ中継処理部１２１３は、ステップＳ１２１３＿０００で受信したデータがネットワークの通信パラメータを変更するよう指示する通信データであるか否かを判定する。通信パラメータを変更する指示である場合はステップＳ１２１３＿００６に進み、通信パラメータを変更する指示でない場合はステップＳ１２１３＿００９に進む。
（図１２：ステップＳ１２１３＿００５：補足）
受信したデータが通信パラメータを変更する指示であるか否かは、ステップＳ１２１３＿００２と同様に、例えば当該受信データのＣＡＮ  ＩＤを参照すればよい。
【００７３】
（図１２：ステップＳ１２１３＿００６）
ネットワーク設定変更部１２１１は、図１１で説明したネットワーク設定変更処理を実行し、変更後のネットワーク設定を適用する。
（図１２：ステップＳ１２１３＿００７）
データ中継処理部１２１３は、送信スロットＩＤ管理テーブル１２２３を更新する。送信スロットＩＤ総数が増えた場合は、送信スロットＩＤ管理テーブル１２２３に新たな送信スロットＩＤを追加し、送信スロットＩＤ総数が減った場合は、送信スロットＩＤ管理テーブル１２２３から対象の送信スロットＩＤを削除する。
【００７４】
（図１２：ステップＳ１２１３＿００８）
データ中継処理部１２１３は、後述の図１８で説明する、処理タイミング決定部１２１２の実行タイミング調整処理を呼び出し、送信スロットＩＤ管理テーブル１２２３に合わせて、各スロットに割り当てられている処理を実行するタイミングを調整する。
（図１２：ステップＳ１２１３＿００９）
データ中継処理部１２１３は、ステップＳ１２１３＿０００で受信したデータのＣＡＮ  ＩＤをキーにして中継経路テーブル１２２２を検索し、受信データを中継すべき中継先を特定する。例えば、受信データのＣＡＮ  ＩＤが２００である場合、送信先ＣＡＮ  ＩＤフィールド１２２２３＝１５０、送信先スロットＩＤフィールド１２２２４＝２０、が得られる。受信データのＣＡＮ  ＩＤが１００である場合、送信先ＣＡＮ  ＩＤフィールド１２２２３＝なし、送信先スロットＩＤフィールド１２２２４＝１０、が得られる。
【００７５】
（図１２：ステップＳ１２１３＿０１０）
データ中継処理部１２１３は、取得した中継先に基づいて、受信データの送信先がＣＡＮネットワークであるか否かを判定する。送信先がＣＡＮネットワークである場合はステップＳ１２１３＿０１１へ進み、送信先がＣＡＮネットワークでない場合はステップＳ１２１３＿０１２へ進む。
（図１２：ステップＳ１２１３＿０１１）
データ中継処理部１２１３は、後述の図１６で説明する、送信処理部１２１４のＣＡＮ送信処理を呼び出す。このとき引数として、ＣＡＮ  ＩＤと送信するデータの値を渡し、そのＣＡＮ  ＩＤを用いて当該データ値を送信する。
【００７６】
（図１２：ステップＳ１２１３＿０１２）
データ中継処理部１２１３は、後述の図１７で説明する、送信処理部１２１４のＦｌｅｘＲａｙ送信処理を呼び出す。このとき引数として、ＣＡＮ  ＩＤと送信先スロットＩＤと送信するデータの値を渡し、そのスロットＩＤを用いて、当該データ値に当該ＣＡＮ  ＩＤを付与したデータを送信する。
【００７７】
図１３は、受信処理部１２１５が通信データを受信する処理の動作フローである。以下、図１３の各ステップについて説明する。
（図１３：ステップＳ１２１５＿０００）
受信処理部１２１５は、後述の図１４で説明する、受信処理部１２１５のＣＡＮ受信処理を呼び出し、ＣＡＮネットワークからデータを受信する。
【００７８】
（図１３：ステップＳ１２１５＿００１）
受信処理部１２１５は、ＣＡＮネットワークから受信したデータが所定のバッファに存在するか否かを判定する。受信データがある場合は本動作フローを終了し、受信データがない場合はステップＳ１２１５＿００２へ進む。
（図１３：ステップＳ１２１５＿００１：補足）
本図では、ＣＡＮネットワークからＦｌｅｘＲａｙネットワークへ通信データを中継する前提の下、ステップＳ１２１５＿００１において、ＣＡＮネットワークからデータを受信することを優先的に処理することとした。ステップＳ１２１５＿００１においてＣＡＮネットワークから受信したデータがある場合、そのデータをバッファから取り出して中継するなどして処理した後、当該バッファは空になる。したがって、次に本動作フローを実施するときはステップＳ１２１５＿００１において「Ｎｏ」に進むので、この時点でＦｌｅｘＲａｙ受信処理を実行することになる。
【００７９】
（図１３：ステップＳ１２１５＿００２）
受信処理部１２１５は、後述の図１５で説明する、受信処理部１２１５のＦｌｅｘＲａｙ受信処理を呼び出し、ＦｌｅｘＲａｙネットワークからデータを受信する。
【００８０】
図１４は、受信処理部１２１５がＣＡＮネットワークから通信データを受信する処理の動作フローである。以下、図１４の各ステップについて説明する。
（図１４：ステップＳ１２１５＿１００）
受信処理部１２１５は、通信コントローラのメールボックスのうち、ＣＡＮネットワークからデータを受信したメールボックスを特定し、そのメールボックスから受信データを読み出す。
【００８１】
（図１４：ステップＳ１２１５＿１０１）
受信処理部１２１５は、メールボックスから読み出したデータをデータ記憶領域１２２内のバッファに格納する。データの格納先アドレス等は、あらかじめ定めておいてもよいし、本動作フローの呼び出し元がデータ格納先を指定するようにしてもよい。
【００８２】
図１５は、受信処理部１２１５がＦｌｅｘＲａｙネットワークから通信データを受信する処理の動作フローである。以下、図１５の各ステップについて説明する。
（図１５：ステップＳ１２１５＿２００）
受信処理部１２１５は、通信コントローラのメッセージバッファのうち、ＦｌｅｘＲａｙからデータを受信したメッセージバッファを特定し、そのメッセージバッファから受信データをから読み出す。
【００８３】
（図１５：ステップＳ１２１５＿２０１）
受信処理部１２１５は、メッセージバッファから読み出したデータをデータ記憶領域１２２内のバッファに格納する。データの格納先アドレス等は、あらかじめ定めておいてもよいし、本動作フローの呼び出し元がデータ格納先を指定するようにしてもよい。
【００８４】
図１６は、送信処理部１２１４がＣＡＮネットワークに通信データを送信する処理の動作フローである。本動作フローは後述する図１９のステップＳ１２１２＿１０１で呼び出される。以下、図１６の各ステップについて説明する。
（図１６：ステップＳ１２１４＿０００）
送信処理部１２１４は、送信したいデータを通信コントローラのメールボックスに保存する。送信処理部１２１４は、引数として受け取ったＣＡＮ  ＩＤに基づいて、格納先メールボックスを特定する。
（図１６：ステップＳ１２１４＿００１）
送信処理部１２１４は、送信したいデータを保存したメールボックスに対応する送信要求ビットを有効化する。通信コントローラは、送信要求ビットが有効化されているメールボックス内のデータをＣＡＮネットワークに送信する。これにより、ステップＳ１２１４＿０００でメールボックスに保存したデータがＣＡＮネットワークへ送信される。
【００８５】
図１７は、送信処理部１２１４がＦｌｅｘＲａｙネットワークに通信データを送信する処理の動作フローである。本動作フローは後述する図１９のステップＳ１２１２＿１０１で呼び出される。以下、図１７の各ステップについて説明する。
（図１７：ステップＳ１２１４＿１００）
送信処理部１２１４は、送信したいデータを通信コントローラのメッセージバッファに保存する。送信処理部１２１４は、引数として受け取ったスロットＩＤに基づいて、格納先メッセージバッファを特定する。
（図１７：ステップＳ１２１４＿１０１）
送信処理部１２１４は、送信したいデータを保存したメッセージバッファに対応する送信要求ビットを有効化する。通信コントローラは、送信要求ビットが有効化されているメッセージバッファ内のデータをＦｌｅｘＲａｙネットワークに送信する。これにより、ステップＳ１２１４＿１００で保存したデータがＦｌｅｘＲａｙへ送信される。
【００８６】
図１８は、処理タイミング決定部１２１２が各スロットに割り当てられている処理を実行するタイミングを調整する処理の動作フローである。以下、図１８の各ステップについて説明する。
（図１８：ステップＳ１２１２＿０００）
処理タイミング決定部１２１２は、現在のＦｌｅｘＲａｙ通信コントローラの設定と送信スロットＩＤ管理テーブル１２２３の内容に基づいて、各スロットに対応するように割り当てられている処理を実行すべき時刻を決定する。ＦｌｅｘＲａｙ通信コントローラの設定情報であるスタティックスロット数、ダイナミックスロット数、伝送速度、通信周期がわかれば、各スロットの時刻を算出することができる。したがって、上記に加えて、データ中継装置１が実行すべき処理に対応するスロットＩＤが分かれば、当該処理を実行すべき時刻をそのスロットの時刻に合わせればよいことになる。
（図１８：ステップＳ１２１２＿０００：処理例）
処理タイミング決定部１２１２は、送信を実行すべきスロット時刻よりも前に、通信データを送信するために必要な前処理を完了できるように、処理実行時刻を決定する。例えば、送信を実行すべきスロット時刻よりも２００μｓｅｃ前のグローバル時刻で、通信データを送信するために必要な前処理を実行するように、処理実行時刻を決定する。
【００８７】
（図１８：ステップＳ１２１２＿０００：補足その１）
処理タイミング決定部１２１２は、各スロットに対応するグローバル時刻と、その時刻に実行すべき処理との対応関係を指示するデータを、他通信装置から受信し、その指示にしたがって本ステップを実施してもよい。同様に、外部記憶媒体から同様の指示データを読み取り、そのデータにしたがって本ステップを実施してもよい。
（図１８：ステップＳ１２１２＿０００：補足その２）
処理タイミング決定部１２１２は、各処理の実行タイミングを決定する際に、他の処理の実行タイミングと重ならないように適宜調整する必要がある。そこで、例えばデータ中継処理部１２１３が中継する通信データのスロットＩＤを集計してメモリ１２などに記憶させておき、既に使用されているスロットＩＤは使用しないようにするなどして、重複を回避することもできる。
【００８８】
（図１８：ステップＳ１２１２＿００１）
処理タイミング決定部１２１２は、ステップＳ１２１２＿０００で決定した処理実行時刻で、処理実行時刻テーブル１２２５を更新する。例えば、決定した処理実行時刻がグローバル時刻：１５である場合、処理実行時刻テーブル１２２５のグローバル時刻フィールド１２２５１＝１５、実行処理フィールド１２２５２＝ｄａｔａ＿ｔｒａｎｓｆｅｒ（）（データ中継処理部が実行する中継処理関数）で更新する。
【００８９】
図１９は、処理タイミング決定部１２１２が各スロットに割り当てられている処理を起動する処理の動作フローである。本動作フローは、データ中継装置１の本体処理に相当し、本動作フローを起点として、図１２、図１３〜図１５、図１６〜図１７などの処理が起動される。本動作フローは、例えば所定時間間隔で、グローバルタイマ割り込みによって開始される。以下、図１９の各ステップについて説明する。
【００９０】
（図１９：ステップＳ１２１２＿１００）
処理タイミング決定部１２１２は、処理実行時刻テーブル１２２５から、グローバル時刻フィールド１２２５１の値が現在のグローバルタイマの値に合致するレコードを検索する。本ステップは、現在時刻において実行すべき処理を決定する意義がある。
（図１９：ステップＳ１２１２＿１０１）
処理タイミング決定部１２１２は、ステップＳ１２１２＿１００で決定した処理を実行する。例えば、現在のグローバル時刻が５である場合は、処理実行時刻テーブル１２２５のグローバル時刻フィールド１２２５１＝５であるレコードの記述にしたがって、データ中継処理：ｄａｔａ＿ｔｒａｎｓｆｅｒ（）を実行する。現在時刻において複数の処理を実行する必要がある場合は、それらの複数の処理を全て実行する。
【００９１】
＜実施の形態１：まとめ＞
以上のように、本実施形態１に係るデータ中継装置１は、中継すべきトラフィック量が上限閾値を超える場合はＦｌｅｘＲａｙネットワーク５のスロット量を増やし、中継すべきトラフィック量が下限閾値を下回る場合はＦｌｅｘＲａｙネットワーク５のスロット量を減らす。これにより、例えば車両制御の内容が車両動作中に変化するなどによってトラフィック量が変動する車両制御システム１００において、トラフィック量の変動に合わせて最適な通信パフォーマンスを提供することができる。また、車種毎にトラフィック量が異なる場合でも、車種毎に個別にＦｌｅｘＲａｙネットワーク５の通信パラメータを調整する必要がなくなるので、開発負担を低減することができる。
【００９２】
また、本実施形態１に係るデータ中継装置１は、スロット量やスロットＩＤが変化することにより、ある処理が割り当てられているスロットの位置が変更されたとしても、変更後のスロット時刻に合わせて処理実行タイミングを再調整する。これにより、車種毎にスロット時刻が異なる場合でも、車種毎に処理実行時刻を個別調整する必要がなくなり、開発負担を低減することができる。また、優先度の高い処理を実行するタイミングに先行して前処理を開始し、対応するスロット時刻に間に合うように前処理を完了させることができる。
【００９３】
また、本実施の形態１に係るデータ中継装置１は、ネットワークからＦｌｅｘＲａｙネットワーク５用の通信パラメータを受信し、その通信パラメータに合わせてＦｌｅｘＲａｙネットワーク５の通信パラメータ（ネットワーク設定情報テーブル１２２１）を変更することができる。これにより、車種毎にＦｌｅｘＲａｙネットワークの伝送速度などが異なる場合でも、個別に通信パラメータを調整する必要がなくなり、開発負担を低減することができる。
【００９４】
また、本実施形態１に係るデータ中継装置１は、ネットワークから中継経路データを受信して中継経路テーブル１２２２を更新することができる。これにより、中継経路や中継すべきデータが車種毎に異なっている場合でも、個別に中継経路テーブル１２２２の内容を調整する必要がなくなり、車両制御システム１００が動作している任意時点で中継経路テーブル１２２２を適宜更新することができる。
【００９５】
＜実施の形態２＞
本発明の実施形態２では、ＦｌｅｘＲａｙネットワーク５の通信パラメータや中継経路データを外部記憶媒体から取得し、これに基づいて、ＦｌｅｘＲａｙネットワーク５のスロット量、処理実行タイミング、中継経路などを更新する手法を説明する。
【００９６】
図２０は、本実施形態２に係るデータ中継装置１の機能ブロック図である。本実施形態２に係るデータ中継装置１は、実施形態１で説明した構成に加え、新たに装置初期化部１２１６と外部メモリ１６を備える。装置初期化部１２１６は、メモリ１２のプログラム領域１２１に格納されるソフトウェアプログラムの形態で実装することができる。
【００９７】
外部メモリ１６は、データ中継装置１のネットワーク設定情報テーブル１２２１、中継経路テーブル１２２２などを更新するためのデータを格納する記憶媒体である。その他の設定データを更新するためのデータを格納してもよい。外部メモリ１６は、例えばＦｌａｓｈＲＯＭなどの外付けメモリ装置、ＣＤ、ＤＶＤなどの記憶媒体、などの形態で構成することができる。
【００９８】
本実施形態２では、外部メモリ１６が、ネットワーク設定更新データ１６１、中継経路データ１６２を格納している例を説明するが、その他の更新指示データを格納することもできる。
【００９９】
図２１は、外部メモリ１６が格納しているネットワーク設定更新データ１６１の構成とデータ例を示す図である。ネットワーク設定更新データ１６１は、タイムトリガネットワーク（ここではＦｌｅｘＲａｙネットワーク５）の通信コントローラが用いる通信パラメータを記述している。装置初期化部１２１６は、通信コントローラの通信パラメータをこれらの値に変更する。詳細は後述する。装置初期化部１２１６と同等の機能を、回路デバイスなどのハードウェアを用いて実現することもできる。
【０１００】
ネットワーク設定更新データ１６１は、スタティックスロット数フィールド１６１１、ダイナミックスロット数フィールド１６１２、伝送速度フィールド１６１３、通信周期フィールド１６１４を有する。これらの内容は、ネットワーク設定情報テーブル１２２１と同様である。これらの値により、タイムトリガネットワーク（ここではＦｌｅｘＲａｙネットワーク５）のスロット量が定まるので、結果としてデータ中継装置１が使用することのできるスロット量も定まる。
【０１０１】
図２２は、外部メモリ１６が格納している中継経路データ１６２の構成とデータ例を示す図である。中継経路データ１６２は、中継経路テーブル１２２２の更新後の内容を記述したデータである。中継経路データ１６２は、ＣＡＮ  ＩＤフィールド１６２１、送信先バスフィールド１６２２、送信先ＣＡＮ  ＩＤフィールド１６２３、送信先スロットＩＤフィールド１６２４、受信スロットＩＤ１６２５を有する。
【０１０２】
ここでは、図４で説明した内容に加えて、ＦｌｅｘＲａｙネットワーク５から通信データを受信する際の中継規則を記述することとしたため、受信スロットＩＤ１６２５を新たに設けた。その他のフィールドの内容は、中継経路テーブル１２２２と同様である。
【０１０３】
図２３は、装置初期化部１２１６の動作フローである。本動作フローは、データ中継装置１が起動するときに実行される。以下、図２３の各ステップについて説明する。
（図２３：ステップＳ１２１６＿０００）
装置初期化部１２１６は、外部メモリ１６に格納されているデータを読み出す。
（図２３：ステップＳ１２１６＿００１）
装置初期化部１２１６は、ステップＳ１２１６＿０００で読み出したデータが中継経路データ１６２であるか否かを判定する。中継経路データ１６２である場合はステップＳ１２１６＿００２へ進み、中継経路データ１６２でない場合はステップＳ１２１６＿００３へ進む。
【０１０４】
（図２３：ステップＳ１２１６＿００２）
装置初期化部１２１６は、後述の図２４で説明する、データ中継処理部１２１３の初期化処理を呼び出す。このとき、ステップＳ１２１６＿０００で読み出した中継経路データ１６２を引数とする。
（図２３：ステップＳ１２１６＿００３）
装置初期化部１２１６は、ステップＳ１２１６＿０００で読み出したデータがネットワーク設定更新データ１６１であるか否かを判定する。ネットワーク設定更新データ１６１である場合はステップＳ１２１６＿００６へ進み。ネットワーク設定更新データ１６１でない場合はステップＳ１２１６＿００８へ進む。
（図２３：ステップＳ１２１６＿００４）
装置初期化部１２１６は、送信スロットＩＤの総数またはスロットＩＤの値が変更になったか否かを判定する。例えば、送信スロットＩＤ管理テーブル１２２３を参照し、前回参照時よりも送信スロットＩＤの総数やスロットＩＤの値が変化したか否かを判定する。変化している場合はステップＳ１２１６＿００５へ進み、変化していない場合はステップＳ１２１６＿００８へ進む。
【０１０５】
（図２３：ステップＳ１２１６＿００５）
装置初期化部１２１６は、図１８で説明した、処理タイミング決定部１２１２の実行タイミング調整処理を呼び出し、変更後の送信スロットＩＤに合わせて処理タイミングを調整する。
（図２３：ステップＳ１２１６＿００６）
装置初期化部１２１６は、図１１で説明した、ネットワーク設定変更部１２１３のネットワーク設定変更処理を呼び出す。このとき、ステップＳ１２１６＿００３で読み出したネットワーク設定更新データ１６１を引数とする。
【０１０６】
（図２３：ステップＳ１２１６＿００７）
装置初期化部１２１６は、ＦｌｅｘＲａｙ通信コントローラのスロット量が変更されたか否かを判定する。装置初期化部１２１６は、例えば変更前のＦｌｅｘＲａｙ通信コントローラのスロット量と、現在のＦｌｅｘＲａｙ通信コントローラのスロット量を比較することにより、スロット量が変更されたか否かを判定する。スロット量またはスロットＩＤが変更された場合はステップＳ１２１６＿００５へ進み、スロット量が変更されなかった場合はステップＳ１２１６＿００８へ進む。
（図２３：ステップＳ１２１６＿００８）
装置初期化部１２１６は、外部メモリ１６からすべてのデータを読み出したか否かを判定する。すべてのデータを読み出した場合は、本動作フローを終了する。すべてのデータを読み出していない場合は、ステップＳ１２１６＿０００へ戻って同様の処理を繰り返す。例えば、読み出したデータが最後のデータを示す値である場合は、すべてのデータを読み出したと判定する。または、データを読み出したときにアクセスした外部メモリ１６上のアドレスによって、すべてのデータを読み出したか否かを判定する。
【０１０７】
図２４は、データ中継処理部１２１３の初期化処理の動作フローである。以下、図２４の各ステップについて説明する。
（図２４：ステップＳ１２１３＿０００）
データ中継処理部１２１３は、中継経路データ１６２に基づいて、中継経路テーブル１２２２を更新する。例えば、中継経路データ１６２が、ＣＡＮ  ＩＤ、送信先バス、送信先ＣＡＮ  ＩＤ、送信先スロットＩＤで構成される場合、各データ値で中継経路テーブル１２２２のＣＡＮ  ＩＤフィールド１２２２１、送信先バスフィールド１２２２２、送信先ＣＡＮ  ＩＤフィールド１２２２３、送信先スロットＩＤフィールド１２２２４を更新する。
（図２４：ステップＳ１２１３＿００１）
データ中継処理部１２１３は、中継経路データ１６２に基づいて、送信スロットＩＤ管理テーブル１２２３を更新する。例えば、新しく送信スロットＩＤが増えた場合は、送信スロットＩＤ管理テーブル１２２３に送信スロットＩＤを追加し、送信スロットＩＤが減った場合は、送信スロットＩＤ管理テーブル１２２３から対象の送信スロットＩＤを削除する。
【０１０８】
＜実施の形態２：まとめ＞
以上のように、本実施形態２に係るデータ中継装置１は、外部記憶媒体（外部メモリ１６）から中継経路データ１６２やネットワーク設定更新データ１６１を読み出し、それらに合わせて、中継経路テーブル１２２２、ＦｌｅｘＲａｙのスロット量、送信処理を実行するタイミングを変更する。これにより、車種毎に中継すべきトラフィック量が異なる場合でも、個別に中継経路テーブル１２２２やＦｌｅｘＲａｙネットワーク５の通信パラメータを調整する必要がなくなり、開発負担を低減することができる。また、例えば車両制御の内容が車両動作中に変化するなどによってトラフィック量が変動する車両制御システム１００において、トラフィック量の変動に合わせて最適な通信パフォーマンスを提供することができる。
【０１０９】
実施形態１〜２で説明した構成および動作フローは、本発明を説明するための例であり、データ中継装置１の構成、実現方法はこれらに限らない。
【符号の説明】
【０１１０】
１：データ中継装置、１１：演算装置、１２：メモリ、１２１：プログラム領域、１２１１：ネットワーク設定変更部、１２１２：処理タイミング決定部、１２１３：データ中継処理部、１２１４：送信処理部、１２１５：受信処理部、１２１６：装置初期化部、１２２：データ記憶領域、１２２１：ネットワーク設定情報テーブル、１２２１１：分類フィールド、１２２１２：スタティックスロット数フィールド、１２２１３：ダイナミックスロット数フィールド、１２２１４：伝送速度フィールド、１２２１５：通信周期フィールド、１２２２：中継経路テーブル、１２２２１：ＣＡＮ  ＩＤフィールド、１２２２２：送信先バスフィールド、１２２２３：送信先ＣＡＮ  ＩＤフィールド、１２２２４：送信先スロットＩＤフィールド、１２２３：送信スロットＩＤ管理テーブル、１２２３１：送信スロットＩＤフィールド、１２２４：受信スロットＩＤ管理テーブル、１２２４１：受信スロットＩＤフィールド、１２２５：処理実行時刻テーブル、１２２５１：グローバル時刻フィールド、１２２５２：実行処理フィールド、１３：入出力回路、１４１：バスＡコントローラ、１４２：バスＢコントローラ、１５１：バスＡ、１５２：バスＢ、１６：外部メモリ、１６１：ネットワーク設定更新データ、１６１１：スタティックスロット数フィールド、１６１２：ダイナミックスロット数フィールド、１６１３：伝送速度フィールド、１６１４：通信周期フィールド、１６２：中継経路データ、１６２１：ＣＡＮ  ＩＤフィールド、１６２２：送信先バスフィールド、１６２３：送信先ＣＡＮ  ＩＤフィールド、１６２４：送信先スロットＩＤフィールド、１６２５：受信スロットＩＤ、２：エンジン制御ＥＣＵ、３：メータＥＣＵ、４：ＣＡＮネットワーク、５：ＦｌｅｘＲａｙネットワーク、１００：車両制御システム。
【図１】
0005362668.tif 000002
【図２】
0005362668.tif 000003
【図３】
0005362668.tif 000004
【図４】
0005362668.tif 000005
【図５】
0005362668.tif 000006
【図６】
0005362668.tif 000007
【図７】
0005362668.tif 000008
【図８】
0005362668.tif 000009
【図９】
0005362668.tif 000010
【図１０】
0005362668.tif 000011
【図１１】
0005362668.tif 000012
【図１２】
0005362668.tif 000013
【図１３】
0005362668.tif 000014
【図１４】
0005362668.tif 000015
【図１５】
0005362668.tif 000016
【図１６】
0005362668.tif 000017
【図１７】
0005362668.tif 000018
【図１８】
0005362668.tif 000019
【図１９】
0005362668.tif 000020
【図２０】
0005362668.tif 000021
【図２１】
0005362668.tif 000022
【図２２】
0005362668.tif 000023
【図２３】
0005362668.tif 000024
【図２４】
0005362668.tif 000025