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

ゲートウェイ装置 Download PDF

Info

Publication number
JP2018046509A
JP2018046509A JP2016181903A JP2016181903A JP2018046509A JP 2018046509 A JP2018046509 A JP 2018046509A JP 2016181903 A JP2016181903 A JP 2016181903A JP 2016181903 A JP2016181903 A JP 2016181903A JP 2018046509 A JP2018046509 A JP 2018046509A
Authority
JP
Japan
Prior art keywords
transmission
timing
time
data
received data
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.)
Pending
Application number
JP2016181903A
Other languages
English (en)
Inventor
小林 正利
Masatoshi Kobayashi
正利 小林
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.)
Marelli Corp
Original Assignee
Calsonic Kansei Corp
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 Calsonic Kansei Corp filed Critical Calsonic Kansei Corp
Priority to JP2016181903A priority Critical patent/JP2018046509A/ja
Publication of JP2018046509A publication Critical patent/JP2018046509A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】優先順位の低いデータの送信完了までの待ち時間を減らす。【解決手段】ゲートウェイ装置1は、各BUSの将来の負荷率の変動を示す負荷周期の情報401と、BUS1〜3を送信されるデータの優先順位の情報を含むID関連情報402とを記憶する記憶部4と、受信データの優先順位と、受信データの送信先BUSの負荷周期においてデータ送信が可能となる送信可能時刻とに基づいて、受信データを送信先BUSに送信する送信タイミングを決定するタイミング決定部222と、を備え、タイミング決定部222は、受信データの送信先BUSの負荷周期における送信可能時刻が、当該受信データより優先順位が高い受信データの送信タイミングより所定時間P以上早ければ、当該送信可能時刻を受信データの送信タイミングとして決定する。【選択図】図3

Description

本発明は、ゲートウェイ装置に関する。
車載通信システムは、車両の各機器を制御する複数のECU(Electronic Control Unit)を通信速度の異なる複数の伝送路に接続し、複数の伝送路をゲートウェイ装置を介して接続したものである。ゲートウェイ装置は、異なる伝送路間でデータを転送する。すなわち、ゲートウェイ装置は、ある伝送路に接続されたECUから送信されたデータを受信して、受信データを送信先のECUが接続された他の伝送路に送信する。
データの中には、比較的優先度の高いデータと低いデータが存在する。ゲートウェイ装置は、データに含まれる優先順位の情報にしたがって、優先順位が上位のデータから転送処理を行う(例えば、特許文献1参照)。
特開2014−36366号公報
しかしながら、優先順位が上位のデータを先に転送処理を行っても、送信先の伝送路の負荷が高くデータ送信不可能な状態であれば、データ送信可能となるタイミングまで待機しなくてはならず、結局長い待機時間が生じることがある。一方、下位のデータの送信先の伝送路の方が、負荷の低い送信可能なタイミングが早く到来することもある。しかしながら、伝送路の負荷の状況に関係なく上位のデータが先に転送処理される。上位のデータの転送処理完了後には、下位のデータの送信先伝送路はデータ送信不可能な状態になっていることもある。この場合は、下位のデータは次の送信可能なタイミングが到来するまで待機しなくてはならない。このように、優先順位の低いデータは、待ち時間が長くなる傾向があった。
車両の運転や安全性に直接的に影響の無いデータは、優先順位が低くなることもある。しかしながら、例えば窓やオーディオ機器の操作データの待ち時間が長いと、ユーザの利便性や快適性に影響を与える恐れがあり、優先順位の低いデータの待ち時間を減らすことが求められている。
本発明は、
それぞれに車載機器のコントローラが接続された複数の伝送路を接続し、一の伝送路からの受信データを他の伝送路に送信する転送処理を行うゲートウェイ装置であって、
各伝送路の予測される負荷周期の情報と、前記複数の伝送路を送信されるデータの優先順位の情報とを記憶する記憶部と、
前記受信データの送信先伝送路の負荷周期における送信可能時刻と前記受信データの優先順位に基づいて、当該受信データを前記送信先伝送路に送信する送信タイミングを決定するタイミング決定部と、を備え、
前記タイミング決定部は、前記受信データの送信先伝送路において、当該受信データより優先順位が上位の受信データの送信タイミングより所定時間以上早い送信可能時刻が存在する場合、前記送信可能時刻を前記受信データの送信タイミングとして決定する、構成とした。
本発明によれば、優先順位の低いデータの送信完了までの待ち時間を減らすことができる。
実施の形態にかかるゲートウェイ装置を含む車載通信システムの概略構成図である。 実施の形態にかかるゲートウェイ装置のハードウェア構成を示すブロック図である。 実施の形態にかかるゲートウェイ装置の機能構成を含むブロック図である。 負荷周期の情報の一例を示す図である。 受信バッファに受信データが格納されている状態の例を示す図である。 識別子関連情報の一例を示す図である。 転送管理テーブルの一例を示す図である。 送信タイミングの間隔が所定時間より小さい例を示す図である。 実施の形態にかかるゲートウェイ装置の処理を示すフローチャートである。 図9のステップS05の処理の詳細を示すフローチャートである。 図9のステップS05の処理の詳細を示すフローチャートであり、図10の続きである。 実施の形態にかかるゲートウェイ装置の転送処理の一例を示すタイムチャートである。 比較例のゲートウェイ装置の転送処理の一例を示すタイムチャートである。 同時刻に受信した2つのデータの転送処理のパターンを示す図である。 図11に代わり、変形例2にかかるゲートウェイ装置の処理を示すフローチャートである。 変形例2のゲートウェイ装置の転送処理の一例を示すタイムチャートである。
以下、本発明の実施の形態を説明する。
図1は、本発明の実施の形態にかかるゲートウェイ装置1を用いた車載ネットワーク100の概略構成図である。
図1に示すように、車両Vには複数のコントローラ(以下、「ECU」と標記する)1〜6が設置されている。ECU1〜6は、それぞれ、車両Vに搭載された各種の車載機器を制御するマイクロコンピュータである。車載機器は、例えば、エンジン、ブレーキ、パワーウィンドウ、オーディオ機器、空調装置等がある。車両Vを動作させる際にはECU1〜6間でもデータを交換する必要があるため、車両Vには車載ネットワーク100が構築されている。車載ネットワーク100は、車両V内に敷設された伝送路である複数のCANバス(以下、「BUS1、2、3」と標記する。)と、各BUSに接続されたゲートウェイ装置1を有する。BUS1〜3にはそれぞれECU1〜6が接続されている。具体的には、BUS1にはECU1、2が接続され、BUS2にはECU3、4が接続され、BUS3にはECU5、6が接続されている。
車載ネットワーク100において、同じBUSに接続されたECU間でもデータの交換が行われるが、異なるBUSに接続されたECU間でもデータの交換が行われる。その場合は、データは送信元ECUが接続されたBUSからゲートウェイ装置1に送信され、ゲートウェイ装置1が受信データを送信先ECUが接続されたBUSに転送する。
本発明の実施の形態では、CAN(Controller Area Network)通信システムを用いた車載ネットワーク100の例を説明する。CAN通信システムでは、CANフレームと呼ばれるデータが送受信される。CANフレームのデータには、識別子(ID)が含まれている。データは、送信元ECU、送信先ECUおよび優先順位等で分類され、その分類に応じたIDが付与される。優先順位は、送信元または送信先ECUが制御する車載機器の重要度やデータの内容の重要度に応じて決定される。
車載機器にはさまざまな種類があるが、例えば、エンジンまたはブレーキ等の運転や車両Vの安全性に直接的に関連のある機器は、重要度が高くなる傾向がある。そのため、これらの機器を制御するECUから送信されるデータは、優先順位が高くなる。また、あくまで一例であるが、オーディオ機器または空調装置等の運転や車両Vの安全性に直接的に関連しない機器は重要度が低くなり、これらを制御するECUから送信されるデータも優先順位が低くなることがある。
車両Vの運転中、BUS1〜3の間では常に複数のデータの送受信が行われる。CAN通信システムでは、データに優先順位を付けることで、重要度の高い車載機器のECUから送信されたデータが、常に優先して送信されるようになっている。例えば、同じBUS1に接続されているECU1とECU2から同時にデータが出力された場合、ECU1のデータの優先順位が高ければ、ECU1のデータが先にBUS1を送信される。BUS1〜3がデータ送信に使用されている間は、他のデータを送信することはできない。ECU2のデータは、ECU1のデータ送信が完了してから送信される。
ゲートウェイ装置1においても、優先順位が高い(上位)データを優先して送信することが望ましい。しかしながら、上位のデータであっても、その送信先BUSが他のデータ送信に使用されていて送信不可能であれば、送信可能となるまで待機しなくてはならない。上位のデータが待機している間に、優先順位が低い(下位)データの送信先BUSが送信可能となるのであれば、下位のデータを先に送信した方が、効率が良い。そこで、本発明の実施の形態にかかるゲートウェイ装置1は、優先順位だけでなくBUS1〜3の状況も参照して各データを送信するタイミング(送信タイミング)を決定する。詳細については、ゲートウェイ装置1の構成とともに説明する。
図2は、ゲートウェイ装置1のハードウェア構成を示すブロック図である。図3は、ゲートウェイ装置1の機能構成を含むブロック図である。図2に示すように、ゲートウェイ装置1は、プロセッサ2、タイマ3、記憶部4、および入出力ポート(I/O)5を備え、これらが内部バス6を介して互いに接続されている。
入出力ポート5には、BUS1〜3が接続されている。プロセッサ2は、MPUまたはCPU等で構成される。タイマ3はクロックまたはカウンタであり、時刻を出力する。記憶部4は、ROM等の不揮発性メモリと、RAM等の揮発性メモリを含む。プロセッサ2が記憶部4のROMに記憶されたプログラムをRAMに読み出して実行することで、図3に示す機能構成を実現する。
図3に示すように、プロセッサ2は、負荷監視部21および転送部22を有する。なお、図3に図示されている受信バッファRB1、RB2、RB3と送信バッファTB1、TB2、TB3は、記憶部4のRAM上に構築されるものである。受信バッファRB1、RB2、RB3と送信バッファTB1、TB2、TB3は転送部22の処理に関係するため、図3では記憶部4と別に図示している。
図3に示すように、記憶部4は、転送部22での処理に必要なデータとして、負荷周期の情報401、ID関連情報402、転送管理テーブル403を記憶する。負荷周期の情報401は負荷監視部21によって定期的に作成され保存される。ID関連情報402は予め作成され保存されている。転送管理テーブル403は、転送部22での処理の際に、随時更新される。これらの情報の詳細については、負荷監視部21および転送部22とともに説明する。
負荷監視部21は、BUS1〜3のデータ送信の状況を常時監視している。BUS1〜3間のデータ送信は定期的に行われる傾向があるため、BUS1〜3はデータ送信に使用されている負荷が高い状態と、データ送信に使用されていない負荷が低い状態を一定の周期で繰り返す。そのため、データ送信の状況を監視することによって、将来の各時刻においてBUS1〜3がデータ送信に使用されるか否かを推定することができる。
負荷監視部21は、BUS1〜3のデータ送信の履歴を用いて、各BUSの将来の負荷率(占有率)の推定値を算出し、この負荷率を時系列でまとめて、負荷率の変動を示す負荷周期の情報401を作成する。
図4は、負荷監視部21によって作成された負荷周期の情報401の一例を示す図である。図4に示すように、各BUSは、負荷率が所定値R以下となり、データが送信できる可能が高い時間帯(以下、「送信可能期間」という)と、負荷率が所定値R以上となり、データが送信できない可能性が高い時間帯(以下、「送信不可能期間」という)が交互に現れる。すなわち、負荷周期は、送信可能期間と送信不可能期間を一サイクルとするものである。図4において点線で丸囲みした部分が送信可能期間であり、そこに含まれる各時刻が送信可能時刻である。負荷周期のサイクルはBUS1〜3によってそれぞれ異なる。BUS1は、一サイクルが比較的長く、送信可能期間と送信不可能期間の長さも同じくらいである。BUS2は一サイクルが比較的短く、一サイクルの中の送信可能期間も比較的短い。BUS3も一サイクルは比較的短いが、一サイクルの中の送信可能時間は比較的長い。
転送部22は、負荷監視部21によって作成された負荷周期の情報401を用いて、転送処理を行う。転送処理とは、BUS1〜3のいずれかからの受信データを、送信先の他のBUS1〜3に送信するための処理である。具体的には、BUS1〜3から送信され受信バッファRB1〜RB3に一時的に格納された各受信データについて、送信タイミングを決定し、送信タイミングに基づいて格納時刻を決定し、格納時刻において送信先BUS1〜3に対応する送信バッファTB1〜TB3に格納する処理である。
転送部22の具体的な説明の前に、受信バッファRB1〜RB3および送信バッファTB1〜TB3について説明する。図3に示すように、受信バッファRB1〜RB3および送信バッファTB1〜TB3は、BUS1〜3それぞれに対応して設けられている。
図5は、受信バッファRB1〜RB3に受信データが格納されている状態を示す図である。
受信バッファRB1〜RB3および送信バッファTB1〜TB3は、FIFO(First In First Out)のリングバッファである。リングバッファの一領域は、BUS1〜3を送信されるデータの最大長と同じ大きさに予め設定され、一つの領域に一つの受信データが格納される。同じBUSから送信された受信データは、対応する受信バッファに、受信した順序で格納される。そして、同じ受信バッファに格納されたデータは、格納した順序で読み出される。
図5の例では、ID001〜003のデータを、それぞれBUS1〜3から同時に受信し、ID004のデータは、BUS2から、ID003の後で受信した場合を示している。ID004は、ID003の後列の領域に格納される。
送信バッファTB1〜TB3も、受信バッファRB1〜RB3と同様に、FIFO(First In First Out)のリングバッファである。すなわち、同じ送信バッファに格納された受信データは、格納した順序で読み出されて対応するBUS1〜3に送信される。各送信バッファTB1〜3に格納された受信データは、対応するBUS1〜3が送信可能な状態であればただちに送信される。対応するBUS1〜3が送信不可能な状態であれば、受信データはBUS1〜3が送信可能な状態となるまで待機する。
転送部22の具体的な説明に移る。図3に示すように、転送部22は、受信データ登録部221、タイミング決定部222、および格納部223を備える。
受信データ登録部221は、受信バッファRB1〜RB3に受信データが格納されると、受信データを読み出して、受信データに含まれるIDを取得する。読み出した受信データは記憶部4に一時的に保存される。複数の受信バッファに同時に受信データが格納された場合、読み出す順序は適宜決定することができる。例えば、重要度の高い車載機器のECUが接続されたBUSに対応する受信バッファから、読み出しを行うように設定しても良い。複数の受信バッファに非同時に受信データが格納された場合は、格納された順に読み出しを行う。例えば、図5の例では、受信データ登録部221は、ID001〜ID003を読み出した後に、ID004の読み出しを行う。
受信データ登録部221は、続いて記憶部4のID関連情報402を参照する。
図6は、ID関連情報402の一例を示す図である。
ID関連情報402は、各IDに関連し、かつ転送処理に必要な情報をまとめたものである。ID関連情報402は、例えば、各IDに対応する送信の優先順位と送信先BUSの情報を含む。図6では、ID001〜ID004の4つのIDに関連する情報が表示されているが、ID001の優先順位が最も高く、ID004の優先順位が最も低い。また、ID001の送信先がBUS1、ID002の送信先はBUS2、ID003の送信先はBUS3、ID004の送信先がBUS1と表示されている。
さらに、受信データ登録部221は、受信データの情報を転送管理テーブル403に登録する。登録する受信データの情報は、受信データから取得したIDと、ID関連情報402から取得した優先順位および送信先BUSの情報である。
図7の(a)および(b)は、それぞれ転送管理テーブル403の一例を示す図である。図7の(a)はID001〜003の受信データが転送管理テーブル403に登録された状態を示し、図7の(b)はID004の受信データが転送管理テーブル403に後から追加された状態を示す。
転送管理テーブル403は、受信データの転送処理に必要な情報を管理するテーブルである。転送管理テーブル403は、前記したID、優先順位、送信先BUSの情報に加えて、送信タイミング、格納時刻の情報が書き込まれる。詳細は後述するが、送信タイミングはタイミング決定部222によって、格納時刻は格納部223によって、それぞれ書き込まれる。
受信データ登録部221は、受信バッファRB1〜RB3に格納された受信データの情報を、順次転送管理テーブル403に登録する。受信データの転送処理が完了すると、転送管理テーブル403からその受信データの情報が削除される。そのため、転送管理テーブル403は随時変更される。
図5に示したように、同時に受信バッファRB1〜RB3に格納された受信データID001〜ID003は、転送管理テーブル403に同時に登録される。受信データ登録部221は、受信バッファRB1〜RB3から受信データを読み出した順序で転送管理テーブル403への登録を行う。そのため、図7の(a)に示すように、優先順位が上位の受信データ(ID001)が下位の受信データ(ID002)よりも下に記載されることもある。また、図7の(b)に示すように、後から受信し、受信バッファRB1の後列に格納されたID004は、転送管理テーブル403の一番下に追加登録される。
タイミング決定部222は、転送管理テーブル403に受信データが登録されると、各受信データについて、送信先BUSの負荷周期における送信可能時刻と受信データの優先順位に基づいて、送信タイミングを決定する。具体的には、以下の(i)〜(iv)の処理を行う。
(i)最も優先順位が高い受信データから送信タイミングの決定を行う
(ii)送信先BUSの負荷周期における最先の送信可能時刻を送信タイミングとして決定する
(iii)送信タイミングの間隔が所定時間Pより小さければ、下位の受信データの送信タイミングを破棄する
(iv)送信タイミングを破棄した受信データについて、送信タイミングの再決定処理を行う
以下、各処理の詳細について説明する。
(i)最も優先順位が高い受信データから送信タイミングの決定を行う
受信バッファRB1〜RB3に同時に受信データが格納されると、転送管理テーブル403に、それらの受信データの情報がほぼ時間差無く登録される。つまり、転送管理テーブル403に、まだ送信タイミングが書き込まれていない複数の受信データが存在することになる。タイミング決定部222は、それらの受信データの優先順位を比較して、最も優先順位が最も高い受信データを選択し、最も優先順位が高い受信データから送信タイミングを決定する。なお、転送管理テーブル403に1つしか受信データが無い場合は、その1つの受信データを最も優先順位が高い受信データとして選択する。
前記したように、優先順位が高い(上位)のデータの送信先BUSがすぐに送信可能とならない例もあるが、もちろん、上位のデータの送信先BUSがすぐに送信可能となることもある。その場合は、上位の受信データを下位の受信データの送信タイミングを先に決定していると、その間に上位の受信データの送信先BUSが送信不可能な状態になってしまう可能性もある。よって、タイミング決定部222は、転送管理テーブル403に登録された受信データのうち、優先順位が上位の受信データから送信タイミングを決定していく。
例えば、図7の(a)の例では、ID001の受信データの優先順位が1位であるため、タイミング決定部222はID001を選択する。
最も優先順位が高い受信データについて送信タイミングを決定した後は、転送管理テーブル403に登録され、まだ送信タイミングが決定されていない受信データの中で最も優先順位が高い受信データを選択する。このように常に最も優先順位が高い受信データを選択することで、全体として上位から下位へ順次送信タイミングの決定が行われる。ただし、途中で新たな受信データが受信バッファRB1〜RB3に格納され、転送管理テーブル403に登録されることもある。その場合はその新たな受信データも含めて、最も優先順位が高い受信データを選択する。図7の(b)の例では、ID001の送信タイミングを決定した後に、ID004が追加されているため、ID002〜ID004のなかで、最も優先順位が高いID002を選択する。なお、後から追加された受信データが、ID004ではなくID001であれば、後から追加されたID001の送信タイミングを先に決定することになる。
(ii)送信先BUSの負荷周期における最先の送信可能時刻を送信タイミングとして決定する
図8の(a)は、最先の送信可能時刻の選択の一例を示す図である。
タイミング決定部222は、選択した最も優先順位が高い受信データの送信先BUSを確認し、その送信先BUSの負荷周期の情報401を記憶部4から取得する。タイミング決定部222は、取得した負荷周期から最先の送信可能時刻を選択する。
その際、図8の(a)に示すように、タイミング決定部222は、タイマ3から出力される時刻を参照して、現在時刻(受信時刻)t0から所定時間Pが経過する前の時刻を、予め除外する。所定時間Pは、受信データを送信バッファTB1〜TB3に格納するのに要する時間である。受信データは送信バッファTB1〜TB3への格納が完了しなければBUS1〜3に送信することができないため、送信タイミングは所定時間Pが経過した時刻以降の時刻を選択する必要がある。前記したように、送信バッファTB1〜TB3の一領域は、データの最大長と同じ大きさに設定されているため、格納処理に要する時間は一定である。よって、格納処理に要する時間は予め所定時間Pとして決定され、記憶部4に記憶されている。
前記したように、送信可能時刻とは、負荷周期において負荷率が所定値R以下となる時刻である。この所定値Rも予め決定され、記憶部4に記憶されている。タイミング決定部222は、時刻t0+P以降の時刻で、かつ負荷率が所定値R以下となる時刻の中から、最先の時刻を選択して、その時刻を送信タイミングとして決定する。図8の(a)の例では、時刻t0+Pにおいて負荷率が所定値R以下となっている。タイミング決定部222は時刻t0+Pを送信タイミングとして決定する。
(iii)書き込み前と書き込み済みの送信タイミングの間隔Dが所定時間Pより小さければ、下位の受信データの送信タイミングを破棄する
図8の(b)は、送信タイミングの間隔の算出と後述する送信タイミングの再決定処理の態様を示す図である。
タイミング決定部222は、決定した送信タイミングを転送管理テーブル403に書き込む。ただし、その書き込み前の送信タイミングよりも前に送信タイミングを決定し、転送管理テーブル403に書き込み済みの送信タイミングがある場合は、タイミング決定部222は、書き込みを行う前に、決定した送信タイミングと書き込み済みの送信タイミングとの間隔Dを算出する。この間隔Dが所定時間Pより小さくなる場合(間隔D<所定時間P)は、それらの受信データの優先順位を比較して下位の受信データの送信タイミングを破棄する。
前記したようにタイミング決定部222は、すべての受信データについて、送信先BUSの最先の送信可能時刻の送信タイミングを決定していく。そのため、送信タイミング同士の間隔Dが小さくなることもある。この間隔Dが、所定時間P(送信バッファTB1〜TB3への格納処理に要する時間)より小さくなると、後の送信タイミングを有する受信データを、決定した送信タイミングで送れなくなる可能性がある。
例えば、図8の(b)では、ID003とID002の2つの受信データの送信タイミングを示している。ID003の送信タイミングは時刻t10であり、ID002の送信タイミングは時刻t20である。双方の受信データをt10、t20で遅延なく送信先BUSに送信するためには、それぞれの送信タイミングから所定時間Pを差し引いた時刻から、送信先BUSへの格納を開始する必要がある。すなわち、ID003は時刻t10−Pから、ID002は時刻t20−Pから、それぞれ格納を開始する必要がある。ところが、t10とt20の間隔Dは、所定時間Pより小さい。このため、図8の(b)のハッチング部分に示すように、双方の格納処理を行う時間が重複してしまい、ID002の格納を開始する時刻t20−Pまでに、ID003の格納が完了しない。これによって、ID002の受信データの送信に遅延が生じる可能性がある。
ID002の方が上位の受信データであるため、ID002を送信タイミングt20に遅延なく送信できるようにする。すなわち、ID002の送信タイミングt20を、書き込み前か書き込み済みかに関わらず、維持し、下位のID003の送信タイミングt10は破棄する。
ここで、ID003の送信タイミングt10が書き込み前であれば、「破棄する」とは「転送管理テーブル403に書き込みを行わない」ことを意味する。ID003の送信タイミングが書き込み済みであれば、「破棄する」とは「転送管理テーブル403から削除する」ことを意味する。この場合は、書き込み前のID002の送信タイミングt20は転送管理テーブル403に書き込む。
もし転送管理テーブル403に送信タイミングを書き込み済みの受信データが複数ある場合は、間隔Dの算出は、上位の受信データから順に行う。例えば、図7の(b)に示したID004については、ID001〜ID003の順に、送信タイミングの間隔Dの算出を行う。「間隔D<所定時間P」となる書き込み済みの送信タイミングがあり、かつ書き込み済みの受信データの方が上位であれば、その時点で書き込み前の送信タイミングは破棄して、間隔Dの算出を終了する。
一方、「間隔D<所定時間P」となる書き込み済みの送信タイミングがあり、かつ書き込み済みの受信データの方が下位であれば、書き込み済みの送信タイミングの方を破棄し、さらに下位の受信データがあれば再び間隔Dの算出を行う。もしさらに下位の受信データで「間隔D<所定時間P」となるものがあれば、それらの送信タイミングは全て破棄する。
なお、(i)で前記したように、タイミング決定部222は、上位の受信データから送信タイミングの決定を行う。そのため、途中で優先順位の高い受信データが転送管理テーブル403に登録されないかぎりは、破棄の対象となるのは、書き込み前の送信タイミングである。
(iv)送信タイミングを破棄した受信データについて、送信タイミングの再決定処理を行う
(iii)で送信タイミングを破棄した下位の受信データについて、タイミング決定部222は、送信タイミングを決定しなおす再決定処理を行う。その際、下位の受信データの送信タイミングが、上位の受信データの送信タイミングよりも後の時刻になるようにする。具体的には、タイミング決定部222は、記憶部4の負荷周期の情報401を参照して、(iii)で送信タイミングを破棄した下位の受信データの送信先BUSの負荷周期を、再度取得する。タイミング決定部222は、取得した送信先BUSの負荷周期から再度最先の送信可能時刻を選択する。
このとき、タイミング決定部222は、破棄しなかった送信タイミング、すなわち上位の受信データの送信タイミングから所定時間Pが経過する前の時刻を予め除外する。所定時間Pが経過する前の時刻を選択しても、その時刻までに下位の受信データの送信バッファへの格納を完了できないからである。図8の(b)の例では、上位のID002の送信タイミングt20から所定時間Pが経過した時刻t20+P以降の時刻から、最先の送信可能時刻を選択する。BUS3は、t20+Pの時刻においてBUS3の負荷率が所定値R以下となっているため、時刻t20+Pが最先の送信可能時刻となる。
タイミング決定部222は、選択した最先の送信可能時刻を、送信タイミングとして再決定する。タイミング決定部222は、この再決定した送信タイミングについても、転送管理テーブル403に書き込む前に、書き込み済みの送信タイミングとの間隔Dの算出を行う。再び「間隔D<所定時間P」となる書き込み済みの送信タイミングがあれば、優先順位の比較を行って、下位の受信データの送信タイミングを再決定する処理を繰り返す。
タイミング決定部222において、以上の(i)〜(iv)の処理を行うことより、各受信データについて、上位の受信データの送信を阻害しない範囲で、最先の送信タイミングが決定される。これによって、下位の受信データであっても、その送信先BUSにおける送信タイミングが、上位の受信データの送信タイミングよりも所定時間P以上早ければ、上位の受信データよりも先に送信される。
格納部223は、転送管理テーブル403に書き込まれた送信タイミングから所定時間P(受信データを送信バッファTB1〜TB3に格納するのに要する時間)を差し引いた時刻を、格納時刻として決定する。格納部223は、決定した格納時刻を転送管理テーブル403に書き込む。格納部223は、タイマ3から出力される時刻を参照し、格納時刻が到来したら、記憶部4に一時的に保存されていた受信データを、送信先BUS1〜3に対応する送信バッファTB1〜TB3に格納する。図8の(b)の例であれば、IP002は、送信タイミングt20から所定時間Pを差し引いた時刻t20−Pが、格納時刻となる。IP003は、再決定した送信タイミングt20+Pから所定時間Pを差し引いた時刻t20が格納時刻となる。
前記したように、送信バッファTB1〜TB3はリングバッファであり、同じ送信バッファに格納された受信データは、格納した順序でしかBUS1〜3に送信することができない。受信バッファRB1〜RB3に受信データが格納されてからすぐに、送信バッファTB1〜TB3に格納を行うと、そこから送信タイミングまで、送信先BUSを同じとする上位の受信データを受信しても、その上位の受信データを優先して送信することができなくなってしまう。そこで、格納を送信タイミングにできるだけ近い時刻で行い、かつ送信タイミングには格納が完了し、遅延なくBUS1〜3に送信できるように、送信タイミングから所定時間Pを差し引いた時刻を格納時刻とする。
格納部223は、タイミング決定部222によって転送管理テーブル403に送信タイミングが書き込みされたら、順次格納時刻を決定し、転送管理テーブル403に書き込むが、タイミング決定部222によって、書き込み済みの送信タイミングが削除された場合は、格納時刻も削除する。タイミング決定部222によって再決定された送信タイミングが転送管理テーブル403に書き込まれた場合は、再決定した送信タイミングから格納時刻を決定しなおし、転送管理テーブル403に書き込む。
以下、ゲートウェイ装置1の転送部22で実行される転送処理を説明する。図9は、転送処理を示すフローチャートである。ここでは、BUS1〜3から同時にデータが送信され、対応する受信バッファRB1〜RB3すべてに受信データが格納されている場合を前提として説明する。ただし、いずれか1つ、あるいは2つの受信バッファにのみ受信データが格納されている場合でも、特に説明している部分以外は、基本的には同様の処理を行う。なお、同時に、というのは、完全に同じ時刻だけでなく、わずかな時間差を置いて連続して受信した場合も含む。
ゲートウェイ装置1の受信バッファRB1〜RB3に受信データが格納されると(ステップS01:Yes)、受信データ登録部221は受信データを読み出し、受信データに含まれるIDを取得する(ステップS02)。受信データ登録部221は、記憶部4のID関連情報402を参照して、受信データのIDに対応する優先順位および送信先BUSの情報を取得する(ステップS03)。受信データ登録部221は、受信データの情報、すなわちIDと、優先順位および送信先BUSの情報を、記憶部4の転送管理テーブル403に登録する(ステップS04)。
タイミング決定部222は、転送管理テーブル403に登録された受信データについて、送信タイミングを決定する処理を行う(ステップS05)。図10は、ステップS05の送信タイミングの決定処理の詳細を示すフローチャートであり、図11は図10の続きのフローチャートである。
図10に示すように、タイミング決定部222は、転送管理テーブル403に登録された受信データの優先順位を参照して、優先順位が最も高い受信データを選択する(ステップS501)。なお、転送管理テーブル403に一つしか受信データが登録されていない場合は、その受信データを優先順位が最も高い受信データとして選択する。
タイミング決定部222は、選択した受信データの送信先BUSの情報を確認し、記憶部4の負荷周期の情報401から、その送信先BUSの負荷周期を取得する(ステップS502)。タイミング決定部222は、取得した負荷周期において最先の送信可能時刻を選択し、この最先の送信可能時刻を送信タイミングとして決定する(ステップS503)。この際、タイマ3から出力される時刻を参照し、現在時刻から所定時間Pが経過する前の時刻は予め除外する。
既に転送管理テーブル403に書き込み済みの送信タイミングがある場合は(ステップS504:Yes)、ステップS503で決定された書き込み前の送信タイミングと書き込み済みの送信タイミングの間隔Dを算出する(ステップ505)。間隔Dが所定時間Pより小さくなる書き込み済みの送信タイミングが無ければ(ステップS506:No)、図11に示すように、タイミング決定部222は決定した送信タイミングを、転送管理テーブル403に書き込む(ステップS512)。
「間隔D<所定時間P」となる書き込み済みの送信タイミングがあれば(ステップS506:Yes)、タイミング決定部222は、それぞれの受信データの優先順位を比較する(ステップS507)。比較の結果、書き込み前の送信タイミングの受信データの優先順位が低ければ(ステップS508:Yes)、タイミング決定部222は書き込み前の送信タイミングについて、書き込みは行わずに破棄する(ステップS509)。書き込み前の送信タイミングの受信データの優先順位が高ければ(ステップS508:No)、タイミング決定部222は書き込み済みの送信タイミングを転送管理テーブル403から削除し、書き込み前の送信タイミングについては転送管理テーブル403に書き込む(ステップS510)。
送信タイミングを破棄した下位の受信データについて、タイミング決定部222は、送信タイミングの再決定処理を行う(ステップS511)。具体的には、タイミング決定部222は、下位の受信データの送信先バスの負荷周期を再度取得し、取得した負荷周期から最先の送信可能時刻を選択し、その最先の送信可能時刻を送信タイミングとして再決定する。その際、破棄しなかった上位の受信データの送信タイミングから所定時間Pが経過する前の時刻は予め除外する。
ステップS510で再決定を行った後、図10のステップS504に戻り、転送管理テーブル403に書き込み済みの送信タイミングがあれば(ステップS504:Yes)、間隔Dを算出し(ステップS505)、間隔Dが所定時間Pより小さくなる書き込み済みの送信タイミングがあれば(ステップS506:Yes)、再びステップS507〜510の処理を繰り返す。
ステップS503において決定された送信タイミングまたはステップS511において再決定された送信タイミング(書き込み前の送信タイミング)と、書き込み済みの送信タイミングの間隔がすべて所定時間P以上になったら(ステップS506:No)、タイミング決定部222は決定または再決定した送信タイミングを、転送管理テーブル403に書き込む(ステップS512)。
ステップS512の処理の後、転送管理テーブル403に、送信タイミングを決定していない受信データがあれば(ステップS513:Yes)、ステップS501に戻り、優先順位が最も高い受信データを選択して、順次送信タイミングを決定する処理を行う。すべての受信データの送信タイミングを決定したら(ステップS513:No)、ステップS06に進む。
図9に戻り、格納部223は、転送管理テーブル403に書き込まれた送信タイミングから、所定時間Pを差し引いた時刻を格納時刻として決定し、転送管理テーブル403に書き込む(ステップS06)。格納部223は格納時刻が到来すると、受信データを送信先BUS1〜3に対応する送信バッファTB1〜TB3に格納する(ステップS07)。送信バッファTB1〜TB3に格納された受信データは、送信先BUSが空き次第送信される。格納部223は、送信バッファTB1〜TB3への格納が完了すると、転送管理テーブル403から受信データの情報を削除する(ステップS08)。
本発明の実施の形態のゲートウェイ装置1を、図7の(a)に示したID001、ID002、ID003の3つのデータの転送処理に適用した具体例を説明する。図12は、本発明の実施の形態のゲートウェイ装置1における、受信時刻t0で同時に受信したID001、002、003の転送処理が完了するまでのタイムチャートである。図13は、比較例のゲートウェイ装置における、ID001、002、003の転送処理が完了するまでのタイムチャートである。なお、図12および図13のタイムチャートに図示されているグラフは、記憶部4に記憶されている負荷周期の情報401、すなわち推定値であり、ID001、002、003を送信した際の実際のBUS1、2、3の負荷を示すものではない。
比較例のゲートウェイ装置の構成は、図示は省略するが、図3のゲートウェイ装置からタイミング決定部222を取り除いた構成となっている。また、記憶部4には負荷周期の情報401が記憶されていない。比較例のゲートウェイ装置は、送信先BUSの負荷周期に基づいた送信タイミングの決定を行わない。すなわち、比較例のゲートウェイ装置は、受信バッファRB1〜RB3に受信データが格納されると、優先順位が高い受信データから順次、送信先BUSに対応する送信バッファTB1〜TB3に格納する。
先に、図13を参照して、比較例のゲートウェイ装置における転送処理を検討する。時刻t0においてID001、002、003を受信すると、最も優先順位が高いID001を直ちに送信バッファTB1へ格納する。時刻t0から所定時間Pが経過した時刻t1に、ID001の格納が完了するが、この時点で送信先のBUS1は送信可能な状態ではない。したがって、ID001については、BUS1が送信可能となるタイミングt6まで、送信バッファTB1において送信待機の状態となる。
ID002については、ID001の送信バッファTB1への格納が完了した時刻t1に、格納処理が開始される。ID002については格納が完了した時刻t2の直後にBUS2が送信可能な状態になるため、少しの待ち時間を経て、時刻t3においてBUS2へ送信される。
ID003は、ID002の格納処理が完了した時刻t2に格納処理が開始され、時刻t4で格納処理が完了する。ID003の送信先のBUS3は、受信時刻t0では送信可能な状態であるが、格納が完了した時刻t4では送信不可能な状態になってしまう。そのため、送信先BUS3が次に送信可能な状態になる時刻t5まで、送信バッファTB3において待ち時間が生じる。
一方、本発明の実施の形態のゲートウェイ装置1では、タイミング決定部222が、各データの送信先BUSの負荷周期から、送信タイミングを決定する。図12に示すように、タイミング決定部222は、ID001、ID002、ID003について、それぞれの送信先BUS1、2、3から、最先の送信可能時刻t6、t3、t1を選択して送信タイミングとして決定する。時刻t6、t3、t1それぞれの送信タイミングの間隔は所定時間P以上あるため、ここでは送信タイミングの再決定処理は行わない。優先順位が最も高いID001よりも、下位のID002、ID003の方が送信タイミングが早い。
格納部223は、時刻t6、t3、t1からそれぞれ所定時間Pを差し引いて、格納時刻t6−P、t3−P、t1−Pを決定する。ID003の格納時刻t1−Pは受信時刻t0と同じ時刻である。格納部223はただちにID003を送信バッファTB3へ格納する。送信バッファTB3への格納完了後、ID003は時刻t1にBUS3に送信される。
続いて、格納部223はID002、ID001についても、それぞれ時刻t3−P、t6−Pでそれぞれ送信バッファTB2、TB1に格納する。格納完了後、ID002、ID001は、時刻t3、t6でそれぞれBUS2、BUS1に送信される。
このように、本発明の実施の形態のゲートウェイ装置1では、優先順位が最も低いID003であっても、その送信先BUS3において、ID001、002の送信タイミングよりも、所定時間P以上早い送信可能時刻t1が存在する。そのため、上位のID001、ID002より先に、BUS3に送信される。もちろん、上位のID001、ID002についても、それぞれの送信先BUS1、2において最先のタイミングで送信される。図13に図示した比較例と比べると、ID001、002については、送信が完了する時刻は変わらないが、ID003については、送信完了時刻がt5からt1に早まっている。すなわち、優先順位が低い受信データについて送信までの待ち時間が減少している。
なお、図12では、ID001〜ID003の受信データが、送信バッファTB1〜TB3への格納完了後、待機時間無く送信先BUSに送信される例を示しているが、これはあくまで一例である。負荷周期の情報401に示される負荷率はあくまで推定値である。したがって、送信タイミングと実際にBUS1〜3が送信可能な状態となる時刻には、誤差が生じることがある。その場合は、送信バッファTB1〜TB3の格納完了後、BUS1〜3に送信されるまで、待機時間が生じることもある。
以上の通り、実施の形態では、
(1)それぞれに車載機器のECU(コントローラ)1〜6が接続された複数のBUS(伝送路)1〜3を接続し、一のBUSからの受信データを他のBUSに送信するゲートウェイ装置1であって、
各BUSの将来の負荷率の変動を示す負荷周期の情報401と、BUS1〜3を送信されるデータの優先順位の情報を含むID関連情報402とを記憶する記憶部4と、
受信データの優先順位と、受信データの送信先BUSの負荷周期においてデータ送信が可能となる送信可能時刻とに基づいて、受信データを送信先BUSに送信する送信タイミングを決定するタイミング決定部222と、を備え、
タイミング決定部222は、受信データの送信先BUSの負荷周期における送信可能時刻が、当該受信データより優先順位が高い受信データの送信タイミングより所定時間P以上早ければ、当該送信可能時刻を受信データの送信タイミングとして決定する構成とした。
優先順位が高い(上位)受信データを優先して送信しようとしても、その送信先BUSの負荷が高ければ送信できず、結局、送信先BUSが送信可能な状態になるまで待機しなくてはならない。このとき、優先順位が低い(下位)受信データの送信先BUSが先に送信可能な状態になっていたとしても、上位の受信データの送信のために待機している間に、下位の受信データの送信先BUSも、送信不可能な状態になってしまい、次に送信先BUSが送信可能な状態になるまで待機しなくてはならないことがある。このように、下位の受信データの待ち時間が長くなる傾向があった。
そこで、タイミング決定部222は、優先順位に加えて送信先BUSの負荷周期も参照して、送信タイミングを決定する。優先順位が低い受信データであっても、送信先BUSの負荷周期における送信可能時刻が、優先順位が高い受信データの送信タイミングより所定時間P以上早ければ、その送信可能時刻を送信タイミングとして決定される。すなわち、下位の受信データでも送信先BUSの状況によって、上位の受信データより先に送信することができる。結果として、優先順位が低いデータの送信完了までの待ち時間を減らすことができる。優先順位が低いデータが、例えば窓やオーディオ機器の操作データであった場合に、待ち時間を減らすことによって、ユーザの利便性および快適性を向上することができる。
(2)各BUS1〜3に対応して設けられ、各BUS1〜3からの受信データが一時的に格納される受信バッファRB1〜RB3を更に備え、
タイミング決定部222は、受信バッファRB1〜RB3に格納された受信データから最も優先順位が高い受信データを選択し、その最も優先順位が高い受信データの送信先BUSの負荷周期における、最先の送信可能時刻を送信タイミングとして決定する構成とした。
負荷周期のサイクルはBUS1〜3によってそれぞれ異なり、送信可能時刻が存在する時間帯もその長さも異なる。優先順位が高い受信データは、BUS1〜3が送信可能となるタイミングを逃さずにすみやかに送信すべきである。タイミング決定部222は、受信バッファRB1〜RB3に格納された受信データの中から優先順位が最も高い受信データを選択して送信タイミングを決定することで、全体としては、上位の受信データから順に送信タイミングを決定していくことができる。これによって、優先順位が高い受信データの送信タイミングをすみやかに決定することができる。
また、受信データを送信先BUSに送信するためには所定時間Pを要するので、決定した送信タイミング同士の間隔が近すぎれば、送信タイミングが後の受信データが送信タイミングで送信できなくなる可能性がある。その場合は、優先順位が低い受信データの送信タイミングを再決定する必要がある。タイミング決定部222が、優先順位が上位の受信データから下位の受信データから順に送信タイミングを決定していくことで、後から優先順位が高いデータを受信しない限りは、先に決定して転送管理テーブル403に書き込んだ送信タイミングを、削除する処理が生じない。
(3)タイミング決定部222は、受信データの決定した送信タイミングと、その受信データより先に決定した受信データの送信タイミングの間隔が所定時間Pより小さい場合、それらの受信データのうち、優先順位が低い受信データについて、送信タイミングを決定しなおす再決定処理を行う構成とした。
受信データを送信先BUSに送信するためには所定時間Pを要するので、決定した送信タイミング同士の間隔が近すぎれば、送信タイミングが後の受信データが、送信タイミングで送信できなくなる可能性がある。その場合は、優先順位が低い受信データの送信タイミングを再決定することで、優先順位が高い受信データを優先して送信することができる。
(4)再決定処理において、タイミング決定部222は、送信タイミングを破棄した下位の受信データの送信先BUSの負荷周期において、破棄しなかった上位の受信データの送信タイミングから所定時間P経過した時刻以降の送信可能時刻を選択し、その送信可能時刻を送信タイミングとして決定する構成とする。
下位の受信データについて再決定処理を行う際は、上位の受信データの送信タイミングから所定時間P経過した時刻以降の送信可能時刻に送信タイミングを再決定することで、上位の受信データの送信を阻害しない最も早いタイミングで、下位の受信データを送信することができる。
(5)各BUS1〜3に対応して設けられ、受信データが送信先BUSに送信されるまで一時的に格納される送信バッファTB1〜TB3と、
タイミング決定部222によって決定された送信タイミングから所定時間Pを差し引いた時刻を格納時刻として決定し、その格納時刻において、受信データを送信先BUSに対応する送信バッファTB1〜TB3に格納する格納部223と、を更に備える構成とする。
受信後すぐに送信バッファTB1〜TB3に格納してしまうと、後から同じBUSを送信先とする優先順位の高いデータを受信しても、送信の順序を変更することができない。そこで、送信タイミングにできるだけ近い時間に送信バッファTB1〜TB3に格納することで、後から優先順位の高いデータを受信した場合は、その受信データを優先して送信バッファTB1〜TB3に格納することができる。
(6)所定時間Pは、格納部223が受信データを送信バッファTB1〜TB3に格納するのに要する時間とする。
送信タイミングから、受信データを送信バッファTB1〜TB3に格納する処理に要する時間である所定時間Pを差し引いた時刻に送信バッファTB1〜TB3への格納を開始することで、送信タイミングにおいて送信バッファTB1〜TB3への格納が完了し、BUS1〜3へ遅滞なく受信データを送信することができる。
[変形例1]
前記した実施の形態では、受信バッファRB1〜RB3に同時に受信データが格納され、それらの受信データの情報が転送管理テーブル403に登録されると、タイミング決定部222は、最も優先順位が高い受信データから送信タイミングの決定を行った。変形例1では、優先順位に関係なく、転送管理テーブル403に登録された各受信データについて、順次送信タイミングを決定する。順次というのは、優先順位には関係の無い順序にしたがったものであればよく、その順序は特定のものに限定されないが、例えば、転送管理テーブル403のリストの上から順に送信タイミングの決定を行う。
すなわち、図10に図示したステップS501の処理の代わりに、タイミング決定部222は、転送管理テーブル403に登録され、送信タイミングがまだ書き込まれていない受信データのうち、リストの一番上に記載された受信データを選択して、送信タイミングを決定する。
例えば、図7(a)の例では、リストの記載順序であるID002、ID001、ID003の順序で送信タイミングの決定が行われる。その他の処理については、前記した実施の形態と同様である。すなわち、タイミング決定部222は、決定した送信タイミングを転送管理テーブル403に書き込む前に、書き込み済みの送信タイミングとの間隔Dを算出し、間隔Dが所定時間Pより小さくなるようであれば、それぞれの受信データの優先順位を比較して、下位の受信データの送信タイミングを破棄して再決定処理を行う(図10のステップS504〜S513)。これによって、変形例1においても、上位の受信データの送信タイミングが優先され、下位の受信データは、上位の受信データの送信を阻害しない範囲で、最先の送信タイミングが決定される。
以上の通り、変形例1では、
(7)タイミング決定部222は、受信バッファRB1〜RB3に格納された各受信データについて、順次、送信先BUSの負荷周期における最先の送信可能時刻を送信タイミングとして決定し、各受信データの決定した送信タイミングと、その受信データより先に決定した受信データの送信タイミングとの間隔が所定時間Pより小さい場合、それらの受信データのうち、優先順位が低い受信データについて、送信タイミングを決定しなおす再決定処理を行う構成とした。
前記した実施の形態では、優先順位が上位の受信データから送信タイミングを決定することで、後から優先順位が高いデータを受信しない限りは、再決定処理の際に、先に決定して転送管理テーブル403に書き込んだ送信タイミングを削除する処理が生じないようにした。しかしながら、例えば、送信先BUSが同じとなるデータが少ない、またはBUSごとに負荷周期が大きく異なる等、送信タイミングの間隔が近くなることが少ない場合には、再決定処理も発生しにくい。その場合は、優先順位に関係なく、転送管理テーブル403に登録された受信データについて順次送信タイミングを決定し、送信タイミングの間隔が近すぎるものが発生したときのみ優先順位を参照する。転送管理テーブル403に登録された受信データの優先順位を比較する処理を省くことで、全体の処理の数を減らすことができる。
[変形例2]
前記した実施の形態および変形例1では、タイミング決定部222は、決定した送信タイミングを転送管理テーブル403に書き込む前に、書き込み済みの送信タイミングとの間隔Dを算出し、間隔Dが所定時間Pより小さくなるようであれば、それぞれの受信データの優先順位を比較して、下位の受信データの送信タイミングを破棄して、再決定処理を行った。すなわち、優先順位が異なる受信データの送信タイミングの間隔Dが小さくなる場合、あるいは送信タイミングが重なってしまうような場合は、上位の受信データの送信が優先され、下位の受信データの送信が後回しにされる。
しかしながら、もし下位の受信データの送信先BUSが、破棄した送信タイミングの直後に送信不可能期間に入ってしまうと、次の送信可能期間まで長い遅延時間が生じる可能性がある。一方、上位の受信データの送信先BUSは、送信タイミングの後でも依然として送信可能期間である場合もある。そのような場合には、下位の受信データの送信を優先したほうが、受信データ全体の送信終了時刻が早くなることがある。
ここで、具体例を示して検討する。図14は、受信時刻t30でID001、ID002の2つの受信データを同時に受信した場合の、転送処理のパターンを示した図である。ID001はBUS1が送信先であり、ID002はBUS2が送信先である。図14の例では、受信時刻t30から所定時間P経過した時刻t30+Pにおいて、BUS1、BUS2とも送信可能期間(点線で丸囲みした部分)である。そのため、タイミング決定部222においては、ID001、ID002ともに、最先の送信可能時刻であるt30+Pが送信タイミングとして決定される。2つの送信タイミングの間隔は重なっているため、タイミング決定部222は、一方の受信データの送信タイミングを破棄して再決定する必要がある。前記した実施の形態および変形例1では、優先順位が下位のID002の送信タイミングを破棄して再決定する。
再決定処理において、タイミング決定部222は、破棄しなかったID001の送信タイミングt30+Pから所定時間P経過後の時刻t30+2P以降の最先の送信可能時刻を、次の送信タイミングとして決定する。すなわち、最短であれば、時刻t30+2Pが次の送信タイミングとなる。ところが、時刻t30+2Pにおいて、送信先BUS2の負荷周期は送信不可能期間(点線で丸囲みされていない部分)に入ってしまっている。この送信不可能期間が終了するのは時刻t50であるため、ID002の次の送信タイミングは時刻t50となる。このように、ID002の方を再決定処理に回した場合、ID002は負荷周期の最初の送信タイミングt30+Pと同じサイクル内では送信を完了することができず、そのサイクルの送信不可能期間が経過して次のサイクルの送信可能期間に入るまで待機しなくてはならない。
一方、ID001の送信先BUS1は、時刻t30+2Pにおいても送信可能期間である。つまり、ID001の方を再決定処理に回した場合には、時刻t30+2Pが次の送信タイミングとなり、多少の遅延はあっても同じサイクル内で送信を完了することができる。ID001とID002について、最初の送信タイミングから次の送信タイミングまでの時間(以降、「遅延時間」という)を比較すると、ID001の方が、遅延時間が大幅に短い。ID002の送信を優先し、ID001の送信タイミングを再決定したほうが、全体的な送信終了時刻を早めることになる。
受信データにはその重要度に応じて優先順位が定められているが、優先順位を必ずしも厳守しなくても良い場合もある。例えば、各受信データに優先順位が定められているものの、各受信データの重要度に大きな差が無い場合等が考えられる。そのような場合には、優先順位に縛られず、全体的な送信効率を優先したほうが良いこともある。このような観点に基づき、変形例2のゲートウェイ装置1では、再決定処理を行う対象を下位の受信データに限定せず、最初に決定した送信タイミングから次の送信タイミングまでの遅延時間の長さに応じて、再決定処理を行う受信データを決定する。
遅延時間の長さの判断基準として、変形例2のゲートウェイ装置1の記憶部4には、BUS1〜3それぞれの送信不可能期間の情報が保存されている。送信不可能期間の情報は、負荷監視部21によって負荷周期の情報401と共に作成され、記憶部4に保存される。遅延時間が送信不可能期間より長くなるということは、負荷周期の最初の送信タイミングと同じサイクル内では送信できず、送信不可能期間が経過して次のサイクルの送信可能期間になるまで待機する必要があることを意味する。したがって、遅延時間と送信不可能期間を比較することで、下位の受信データであっても上位の受信データより送信を優先すべきか否かを判断することができる。
変形例2のゲートウェイ装置1において、再決定処理を行う受信データを決定するための処理を説明する。図15は、変形例2にかかるゲートウェイ装置1の処理を示すフローチャートである。図15は、図10および図11に示したステップS05の処理の詳細を示すフローチャートのうち、図11の部分を差し替えたものである。変形例2の処理については、図10および図15を参照して説明する。なお、変形例2は、再決定処理を行う受信データを決定する処理(図15のステップS557〜S566)のみが前記の実施の形態と異なるため、前記した実施の形態と同じ処理については詳細な説明は省略する。
図10に示すように、ゲートウェイ装置1のタイミング決定部222は、受信データの送信タイミングを決定(ステップS503)した後、既に転送管理テーブル403に書き込み済みの送信タイミングがある場合は(ステップS504:Yes)、ステップS503で決定された書き込み前の送信タイミングと書き込み済みの送信タイミングの間隔Dを算出する(ステップ505)。「間隔D<所定時間P」となる書き込み済みの送信タイミングがあれば(ステップS506:Yes)、図15に示すように、タイミング決定部222は、各受信データについて次の送信タイミングを仮決めする(ステップS557)。この次の送信タイミングの仮決めの処理とは、送信タイミングを破棄せずに、前記の実施の形態で説明した再決定の処理を行うことである。具体的には、タイミング決定部222は、各受信データの送信先BUSの負荷周期の情報401を記憶部4から取得する。タイミング決定部222は、他方の受信データの送信タイミングから所定時間Pが経過する前の時刻を予め除外して、取得した送信先BUSの負荷周期から最先の送信可能時刻を選択して、次の送信タイミングとして仮決めする。
さらに、タイミング決定部222は、それぞれの受信データについて、仮決めした次の送信タイミングから元の送信タイミングを差し引いて、遅延時間Wを算出する(ステップS558)。タイミング決定部222は、記憶部から各受信データの送信先BUSの送信不可能期間の情報を取得し、各受信データについて算出した遅延時間Wと、送信不可能期間Lとを比較する(ステップS559)。
双方の受信データとも、遅延時間W<送信不可能期間Lであれば(ステップS560:Yes)、どちらを再決定処理に回しても、元の送信タイミングと同じサイクル内で送信を完了することができるため、大きな遅延は生じない。この場合は、前記の実施の形態と同様に、優先順位が下位の受信データの送信タイミングを破棄する(ステップS561)。
双方の受信データとも遅延時間W<送信不可能期間Lで無い場合で(ステップS560:No)、一方の受信データが遅延時間W>送信不可能期間Lであり、他方の受信データが遅延時間W<送信不可能期間Lであれば(ステップS562:Yes)、一方の受信データを再決定処理に回すと、次のサイクルでしか送信を完了することができないが、他方の受信データは再決定処理に回しても元の送信タイミングと同じサイクル内で送信を完了することができる。この場合は、他方の受信データの送信タイミングを破棄する(ステップS563)。
双方の受信データについて遅延時間W>送信不可能期間Lであれば(ステップS562:No)、どちらを再決定処理に回しても、元の送信タイミングと同じサイクル内で送信することができない。この場合は、双方の遅延時間Wを比較して(ステップS564)、遅延時間Wが短い方の受信データの送信タイミングを破棄する(ステップS565)。これによって、遅延時間Wが長い受信データを先に送信することで、全体の送信終了時刻は早くなる。
ステップS561、ステップS563、ステップS565において、単に送信タイミングを「破棄する」と説明しているが、詳細には、図11のステップS509〜S510と同様の処理を行う。すなわち、転送管理テーブル403への書き込み前の送信タイミングであれば、「破棄する」とは転送管理テーブル403への書き込みを行わずに破棄することを意味する。一方、書き込み済みの送信タイミングであれば、「破棄する」とは転送管理テーブル403から削除し、代わりに書き込み前の送信タイミングを書き込むことを意味する。
ステップS561、ステップS563、ステップS565において、送信タイミングを破棄した受信データについて、タイミング決定部222は、送信タイミングを再決定する(ステップS566)。再決定の処理については、前記の実施の形態と同様の処理を行っても良いが、ステップS557で仮決めした次の送信タイミングを送信タイミングとして再決定しても良い。
変形例2のゲートウェイ装置1において、再決定処理を行う受信データを決定する処理の具体例を説明する。図16は、図14に示したID001、ID002に加えて、ID003の3つの受信データを、時刻t30において同時に受信した場合の転送処理を示すフローチャートである。タイミング決定部222は、優先順位の高い順から送信タイミングの決定を行うため、ID002の送信タイミングt30+Pを決定したとき、転送管理テーブル403にはID001の送信タイミングt30+Pが書き込まれている。タイミング決定部222は、2つの送信タイミングの間隔Dの算出を行なう。2つの送信タイミングは同じであるため、間隔D=0<Pとなる。
タイミング決定部222は、ID001、ID002それぞれについて、次の送信タイミングとして時刻t30+2Pと時刻t50を仮決めする。タイミング決定部222はさらに、ID001、ID002それぞれの遅延時間Wを算出する。区別を付けやすくするために、ID001の遅延時間をW1、ID002の遅延時間をW2とする。後述するID003の遅延時間はW3とする。W1、W2はそれぞれ以下のとおりである。
・W1=(t30+2P)−(t30+P)
・W2=t50−(t30+P)
タイミング決定部222は、記憶部4から、ID001、ID002のそれぞれの送信先BUS1、2の送信不可能期間Lを取得する。区別を付けやすくするために、BUS1の送信不可能期間をL1,BUS2の送信不可能期間をL2とする。後述するID003の送信不可能期間はL3とする。
タイミング決定部222は、ID001の遅延時間W1と送信不可能期間L1、ID002の遅延時間W2と送信不可能期間L2をそれぞれ比較する。比較結果は以下の通りである。
・W1=(t30+2P)−(t30+P)<L1
・W2=t50−(t30+P)>L2
以上の比較結果から、ID002を再決定処理に回した場合は、遅延時間が長くなるが、ID001を再決定処理に回せば、比較的短い遅延時間で送信できることがわかる。このため、ID001が再決定処理の対象となる。タイミング決定部222は、ID001の書き込み済みの送信タイミングt30+Pを転送管理テーブル403から削除し、ID002の送信タイミングt30+Pを書き込む。タイミング決定部222は、時刻t30+2PをID001の送信タイミングとして再決定する。
続いて、タイミング決定部222は、ID003についても送信タイミングを時刻t30+Pと決定する。タイミング決定部222は、ID003の送信タイミングを転送管理テーブル403に書き込む前に、書き込み済みのID001、ID002の送信タイミングとの間隔を算出する。ID001とID003の間隔D=(t30+2P)−(t30+P)=所定時間Pであるため、再決定処理の対象とはならない。ID002とID003については、間隔D=0であるため、いずれかの送信タイミングを破棄する必要がある。
タイミング決定部222は、ID002、ID003の次の送信タイミングt50、t40を仮決めし、それぞれの遅延時間W2、W3を以下の通り算出する。
・W2=t50−(t30+P)
・W3=t40−(t30+P)
タイミング決定部222は、記憶部4から、ID002、ID003のそれぞれの送信先BUS2、3の送信不可能期間L2、L3を取得する。タイミング決定部222は、ID002の遅延時間W2と送信不可能期間L2、ID003の遅延時間W3と送信不可能期間L3をそれぞれ比較する。比較結果は以下の通りである。
・W2=t50−(t30+P)<L1
・W3=t40−(t30+P)>L2
以上の比較結果から、ID002、ID003のいずれも、再決定処理に回した場合は、遅延時間W2、W3が送信不可能期間L2、L3よりも長くなる。この場合、タイミング決定部222は、ID002、ID003の遅延時間W2、W3同士を比較する。W2>W3であるため、ID003を再決定処理に回した方が、全体としての送信終了時刻が比較的早くなる。タイミング決定部222は、ID003の送信タイミングt30+Pを転送管理テーブル403に書き込まずに破棄して、再決定処理を行う。タイミング決定部222は、時刻t40をID003の送信タイミングとして再決定する。
以上の通り、変形例2では、
(8)タイミング決定部222は、受信データの決定した送信タイミングと、その受信データより先に決定した受信データの送信タイミングの間隔Dが所定時間Pより小さい場合、それぞれの受信データについて、決定した送信タイミングから次の送信タイミングまでの遅延時間Wを算出し、それぞれの遅延時間Wを送信不可能期間(所定期間)Lと比較して、いずれか一方の受信データの遅延時間Wが送信不可能期間Lを上回る場合は、他方の受信データの送信タイミングを破棄して決定し直す再決定処理を行う構成とした。また、双方の受信データの遅延時間Wが送信不可能期間Lを上回る場合は、遅延時間Wが短い方の受信データの送信タイミングを破棄して送信タイミングを決定し直す構成とした。
各受信データの重要度に大きな差が無い場合等、優先順位を必ずしも厳守しなくても良い場合には、再決定処理の対象とする受信データを各受信データの遅延時間Wの長さを基準として選択することにより、全体的な送信効率を向上させることができる。
なお、ここでは遅延時間Wの長さを判断する基準となる所定期間として、各BUSの負荷周期における送信不可能期間Lを用いたが、これに限られず他の期間を基準としても良い。例えば、ある一定の期間を所定期間として予め定めておき、タイミング決定部222が、全てのBUS1〜3についてこの一定の期間と遅延時間を比較しても良い。
また、ここでは前記の実施の形態に変形例2を適用する場合を説明したが、変形例2は変形例1にも適用可能である。すなわち、変形例1においては、タイミング決定部222が、各受信データについて優先順位に関係なく順次送信タイミングを決定し、決定した送信タイミングについて、転送管理テーブル403に書き込み済みの送信タイミングとの間隔Dを算出する。間隔Dが所定時間Pより小さくなるようであれば、その後の処理として、変形例2のステップS557〜S567の処理を行っても良い。
さらに、図15のステップS563において、双方の受信データについて遅延時間W>送信不可能期間Lであれば(ステップS563:No)、双方の遅延時間Wを比較して、短い方の受信データの送信タイミングを破棄する例を説明したが、このような場合には、優先順位が高い受信データを優先して、下位の受信データの送信タイミングを破棄するようにしても良い。
[変形例3]
前記した実施の形態では、所定時間Pを、受信データを送信バッファTB1〜TB3に格納するのに要する時間としたが、厳密に同じ時間でなくても良い。所定時間Pは、余裕を見て、受信データを送信バッファTB1〜TB3に格納するのに要する時間よりも若干長い時間としても良い。
[変形例4]
負荷監視部21は、負荷周期の情報401を作成するだけでなく、車載ネットワーク100の異常を検出する機能を兼ね備えても良い。例えば、BUS1〜3が占有されている時間が通常より長い場合には、BUS1〜3に不正なECUが接続されている等の異常の可能性が考えられる。負荷監視部21は、BUS1〜3の使用状況を監視することで、車載ネットワーク100の異常を検出する。異常を検出した場合は、外部の通信管理装置等に検出結果を送信しても良い。あるいは、ゲートウェイ装置1自体にスピーカやモニタを接続して、アラームを出力したり、警告を表示したりしても良い。
[変形例5]
図1では、一例として、3つのBUS1〜3のそれぞれに、2つのECUが接続された例を示しているが、BUSの数や一つのBUSに接続されるECUの数は、これに限定されるものではない。BUSおよびECUの数は、車両Vに搭載される車載機器の数に応じて適宜変更される。
1 ゲートウェイ装置
2 プロセッサ
3 タイマ
4 記憶部
5 入出力ポート(I/O)
6 内部バス
21 負荷監視部
22 転送部
100 車載ネットワーク
221 受信データ登録部
222 タイミング決定部
223 格納部
401 負荷周期の情報
402 ID関連情報
403 転送管理テーブル
V 車両
ECU1〜6 コントローラ
RB1、RB2、RB3 受信バッファ
TB1、TB2、TB3 送信バッファ
BUS1〜3 CANバス
R 所定値
P 所定時間

Claims (10)

  1. それぞれに車載機器のコントローラが接続された複数の伝送路を接続し、一の伝送路からの受信データを他の伝送路に送信するゲートウェイ装置であって、
    各伝送路の将来の負荷率の変動を示す負荷周期の情報と、前記複数の伝送路を送信されるデータの優先順位の情報とを記憶する記憶部と、
    前記受信データの優先順位と、前記受信データの送信先伝送路の負荷周期においてデータ送信が可能となる送信可能時刻とに基づいて、当該受信データを前記送信先伝送路に送信する送信タイミングを決定するタイミング決定部と、を備え、
    前記タイミング決定部は、前記受信データの送信先伝送路の負荷周期における送信可能時刻が、当該受信データより優先順位が高い受信データの送信タイミングより所定時間以上早ければ、当該送信可能時刻を前記受信データの送信タイミングとして決定する
    ことを特徴とするゲートウェイ装置。
  2. 各伝送路に対応して設けられ、各伝送路からの受信データが一時的に格納される受信バッファを更に備え、
    前記タイミング決定部は、前記受信バッファに格納された受信データから最も優先順位が高い受信データを選択し、当該最も優先順位が高い受信データの送信先伝送路の負荷周期における最先の送信可能時刻を前記送信タイミングとして決定することを特徴とする請求項1記載のゲートウェイ装置。
  3. 各伝送路に対応して設けられ、各伝送路からの受信データが一時的に格納される受信バッファを更に備え、
    前記タイミング決定部は、前記受信バッファに格納された各受信データについて、順次、送信先伝送路の負荷周期における最先の送信可能時刻を送信タイミングとして決定することを特徴とする請求項1記載のゲートウェイ装置。
  4. 前記タイミング決定部は、前記受信データの決定した送信タイミングと、当該受信データより先に決定した受信データの送信タイミングとの間隔が所定時間より小さい場合、それらの受信データのうち、優先順位が低い受信データの送信タイミングを破棄して送信タイミングを決定し直す再決定処理を行うことを特徴とする請求項2または3記載のゲートウェイ装置。
  5. 前記タイミング決定部は、前記受信データの決定した送信タイミングと、当該受信データより先に決定した受信データの送信タイミングの間隔が所定時間より小さい場合、それぞれの受信データについて、決定した送信タイミングから次の送信タイミングまでの遅延時間を算出し、それぞれの遅延時間を所定期間と比較して、いずれか一方の受信データの遅延時間が前記所定期間を上回る場合は、他方の受信データの送信タイミングを破棄して送信タイミングを決定し直す再決定処理を行う請求項2または3記載のゲートウェイ装置。
  6. 双方の受信データの遅延時間が前記所定期間を上回る場合は、遅延時間が短い方の受信データの送信タイミングを破棄して送信タイミングを決定し直す再決定処理を行う請求項5記載のゲートウェイ装置。
  7. 前記所定期間は、各送信先伝送路の負荷周期においてデータ送信が不可能な時間帯を示す送信不可能期間であることを特徴とする請求項5または6記載のゲートウェイ装置。
  8. 前記再決定処理において、前記タイミング決定部は、送信タイミングを破棄した受信データの送信先伝送路の負荷周期において、破棄しなかった送信タイミングから所定時間経過後の送信可能時刻を選択し、当該送信可能時刻を送信タイミングとして決定することを特徴とする請求項4〜7のいずれか一項記載のゲートウェイ装置。
  9. 各伝送路に対応して設けられ、前記受信データが送信先伝送路に送信されるまで一時的に格納される送信バッファと、
    前記タイミング決定部によって決定された送信タイミングから所定時間を差し引いた時刻を格納時刻として決定し、当該格納時刻において、前記受信データを送信先伝送路に対応する送信バッファに格納する格納部と、を更に備えることを特徴とする請求項1〜8のいずれか一項に記載のゲートウェイ装置。
  10. 前記所定時間は、前記格納部が前記受信データを前記送信バッファに格納するのに要する時間と同じまたはそれより長い時間であることを特徴とする請求項9記載のゲートウェイ装置。
JP2016181903A 2016-09-16 2016-09-16 ゲートウェイ装置 Pending JP2018046509A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016181903A JP2018046509A (ja) 2016-09-16 2016-09-16 ゲートウェイ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016181903A JP2018046509A (ja) 2016-09-16 2016-09-16 ゲートウェイ装置

Publications (1)

Publication Number Publication Date
JP2018046509A true JP2018046509A (ja) 2018-03-22

Family

ID=61695261

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016181903A Pending JP2018046509A (ja) 2016-09-16 2016-09-16 ゲートウェイ装置

Country Status (1)

Country Link
JP (1) JP2018046509A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020088514A (ja) * 2018-11-20 2020-06-04 株式会社東芝 送信装置、通信装置、通信システム、送信方法、およびプログラム
KR20200140729A (ko) * 2019-06-07 2020-12-16 디테코 주식회사 다중 무선 통신 시스템 및 그 방법
JP2022031021A (ja) * 2020-08-07 2022-02-18 トヨタ自動車株式会社 車載ネットワークシステム
WO2022201596A1 (ja) * 2021-03-23 2022-09-29 日立Astemo株式会社 車載制御装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020088514A (ja) * 2018-11-20 2020-06-04 株式会社東芝 送信装置、通信装置、通信システム、送信方法、およびプログラム
JP7030673B2 (ja) 2018-11-20 2022-03-07 株式会社東芝 送信装置、通信装置、通信システム、送信方法、およびプログラム
US11425711B2 (en) 2018-11-20 2022-08-23 Kabushiki Kaisha Toshiba Transmission device, communication device, communication system, transmission method, and computer program product
KR20200140729A (ko) * 2019-06-07 2020-12-16 디테코 주식회사 다중 무선 통신 시스템 및 그 방법
KR102332985B1 (ko) * 2019-06-07 2021-12-31 주식회사 퍼스트팔콘 다중 무선 통신 시스템 및 그 방법
JP2022031021A (ja) * 2020-08-07 2022-02-18 トヨタ自動車株式会社 車載ネットワークシステム
JP7338586B2 (ja) 2020-08-07 2023-09-05 トヨタ自動車株式会社 車載ネットワークシステム
WO2022201596A1 (ja) * 2021-03-23 2022-09-29 日立Astemo株式会社 車載制御装置
JPWO2022201596A1 (ja) * 2021-03-23 2022-09-29

Similar Documents

Publication Publication Date Title
JP2018046509A (ja) ゲートウェイ装置
US10284387B2 (en) Hybrid intra-vehicle communication network
JP5222002B2 (ja) 車載用の中継接続ユニット
JP5843020B2 (ja) 通信装置及び通信方法
CN110784418B (zh) 一种基于时延约束的数据发送方法及***
EP2381627A1 (en) Data transmission device
JPWO2010052892A1 (ja) 通信装置、中継装置、通信システム及び通信方法
WO2008041271A1 (fr) Système d'émission/reception, noeud et procédé de communication
EP2882146B1 (en) Data transmission device, communication control method, and communication control program
US10200290B2 (en) Station and method for serial data transmission using dynamic reprioritizing of data frames
US10602530B2 (en) Access method with access slots and priority resolution
WO2021017667A1 (zh) 业务数据的传输方法和装置
JP4917669B2 (ja) 車載用の中継接続ユニット
US9213660B2 (en) Receiver based communication permission token allocation
KR101676353B1 (ko) 이종 네트워크 상의 메시지 제어 방법 및 장치
US8761190B2 (en) Message loss prevention by using sender and receiver buffers in event-triggered distributed embedded real-time systems
JP2018074244A (ja) 通信制御装置、スイッチ装置、車外通信装置、通信制御方法および通信制御プログラム
JP2006340099A (ja) ゲートウェイ装置
JP6406559B2 (ja) 通信装置、通信方法、およびプログラム
JP4917557B2 (ja) 車載用の中継接続ユニット
JP2015053568A (ja) 通信制御装置
JP2015162719A (ja) 通信装置、通信方法及びプログラム
JP6752355B2 (ja) 中継装置及びデータ転送方法
US10097473B2 (en) Mobile device to vehicle output stream packet prioritization
JP6137033B2 (ja) 車載ネットワークシステム及び車載中継装置