JP2010114592A - データ転送装置、及びデータ転送方法 - Google Patents
データ転送装置、及びデータ転送方法 Download PDFInfo
- Publication number
- JP2010114592A JP2010114592A JP2008284540A JP2008284540A JP2010114592A JP 2010114592 A JP2010114592 A JP 2010114592A JP 2008284540 A JP2008284540 A JP 2008284540A JP 2008284540 A JP2008284540 A JP 2008284540A JP 2010114592 A JP2010114592 A JP 2010114592A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- frame
- transmission
- priority
- delay time
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
【課題】中継データ、及び送信データが共に過度に遅延することを防ぐことのできるデータ転送装置を提供する。
【解決手段】通常記憶部、及び通常送信部に記憶されている全てのフレームの遅延時間と通信バスAから取得したフレームに予め定められた許容遅延時間とに基づき、通信バスAから取得したフレームを許容遅延時間が経過するまでに通常送信部から送信できないと判断したとき、取得したフレームを優先記憶部に記憶させ、優先送信部から送信させる。
【選択図】図1
【解決手段】通常記憶部、及び通常送信部に記憶されている全てのフレームの遅延時間と通信バスAから取得したフレームに予め定められた許容遅延時間とに基づき、通信バスAから取得したフレームを許容遅延時間が経過するまでに通常送信部から送信できないと判断したとき、取得したフレームを優先記憶部に記憶させ、優先送信部から送信させる。
【選択図】図1
Description
本発明は、データ転送装置、及び当該装置で実行される方法に関し、より特定的には、予め定められた情報量の単位データを転送するデータ転送装置、及び当該装置で実行される方法に関する。
近年、例えば、パワーウィンドウ、エアコン、カーナビゲーションシステムなどの車載機器に加えて、車両に搭載されている通信機器と運転者によって携帯されている携帯機との間で双方向通信をすることによりドアの解施錠を行うスマートエントリーシステム、及び走行中の車線を維持して走行するための車線維持システムなど、自動車などの車両には、多数の車載機器、及びシステムが搭載されている。
そして、自動車に搭載されている多数の車載機器を制御するため、及び多数のシステムを実現するために、自動車には多数のECU(Electric Control Unit)が搭載されている。そして、自動車に搭載されている車載機器、及びシステムは互いに通信をして情報を交換することによりそれぞれの機能を果たしている。このため、従来、自動車には、多数のECUなどが互いに通信をするための車内通信システムが搭載されている。このような車内通信システムのための技術の一例として、以下に示す特許文献1に記載のデータ中継装置が挙げられる。
特開2000−244504号公報
上記従来技術では、ある通信ノードから送信されたデータを中継データとして中継するときに、中継データの優先度を最も高い優先度にすることにより、中継先の通信線で他のノードから送信された送信データと中継データとが衝突したとしても、中継データが優先して送信される。このため、従来技術によれば、データ中継装置のバッファ容量を超える中継データが蓄積されることにより、既に蓄積されている中継データが上書きされて消失することを防止できる。
しかしながら、上記従来技術では、以下に述べる課題を有する。すなわち、上記従来技術では、中継データが常に優先して送信されるため、中継先の通信線に接続され、送信データを送信する通信ノードがデータを送信できなくなり、送信データの送信が過度に遅延してしまう。
それ故に、本発明は、中継データ、及び送信データが共に過度に遅延することを防ぐことのできるデータ転送装置を提供することを目的とする。
本発明は、上記目的を達成するために以下に述べる特徴を有する。
第1の発明は、予め定められた情報量の単位データを一方の通信線より取得して他方の通信線へ転送するデータ転送装置であって、一方の通信線より取得した単位データを順番に記憶する記憶手段と、記憶手段に記憶された順番に単位データを取得して他方の通信線へ送信する送信手段と、一方の通信線より取得した単位データの内、記憶手段に記憶されてから送信手段によって送信されるまでに許容できる予め定められた許容遅延時間が経過するまでに当該送信手段から送信できない単位データを特定する特定手段と、特定手段によって特定された単位データを送信手段よりも優先的に他方の通信線へ送信する優先送信手段とを備える。
第1の発明は、予め定められた情報量の単位データを一方の通信線より取得して他方の通信線へ転送するデータ転送装置であって、一方の通信線より取得した単位データを順番に記憶する記憶手段と、記憶手段に記憶された順番に単位データを取得して他方の通信線へ送信する送信手段と、一方の通信線より取得した単位データの内、記憶手段に記憶されてから送信手段によって送信されるまでに許容できる予め定められた許容遅延時間が経過するまでに当該送信手段から送信できない単位データを特定する特定手段と、特定手段によって特定された単位データを送信手段よりも優先的に他方の通信線へ送信する優先送信手段とを備える。
第2の発明は、上記第1の発明に従属する発明であって、一方の通信線より単位データを取得してから送信手段によって送信されるまでの遅延時間を単位データの種別毎に予め記憶する記憶手段と、一方の通信線より単位データを新たに取得したとき、当該単位データが記憶手段に記憶されるまでに送信手段によって送信されていない全ての単位データの遅延時間を加算することにより、新たに取得した単位データが送信手段によって送信されるまでの最大遅延時間を求める最大遅延時間演算手段とをさらに備え、特定手段は、記憶手段に記憶されたときの最大遅延時間が許容遅延時間以上である単位データを、当該許容遅延時間が経過するまでに送信手段から送信できないデータとして特定する。
第3の発明は、上記第1の発明に従属する発明であって、一方の通信線より単位データを取得してから送信されるまでの遅延時間を単位データの種別毎に予め記憶する遅延時間記憶手段と、一方の通信線より単位データを取得してから許容遅延時間が経過するまでの残り時間を、一方の通信線より取得した単位データ毎に計時する計時手段と、特定手段によって特定された単位データを、特定された順番に記憶する優先記憶手段と、単位データが優先記憶手段に記憶されてから送信されるまでの予め定められた優先送信時間を記憶する優先送信時間記憶手段とをさらに備え、特定手段は、遅延時間と優先送信時間とを加算した時間が残り時間以下となった単位データを、許容遅延時間が経過するまでに送信手段から送信できないデータとして特定し、優先送信手段は、優先記憶手段に記憶された順番に単位データを他方の通信線へ送信する。
第4の発明は、予め定められた情報量の単位データを一方の通信線より取得して他方の通信線へ転送するデータ転送装置で実行されるデータ転送方法であって、一方の通信線より単位データを取得する取得ステップと、取得ステップで取得された順番に単位データを記憶する記憶ステップと、記憶ステップで記憶された順番に単位データを送信する送信ステップと、取得ステップで取得された単位データの内、当該取得ステップにおいて取得されてから送信ステップにおいて送信されるまでに許容できる予め定められた許容遅延時間が経過するまでに送信されない単位データを特定する特定ステップと、特定ステップにおいて特定された単位データを送信ステップよりも優先的に他方の通信線へ送信する優先送信ステップとを備える。
本発明によれば、中継データ、及び送信データが共に過度に遅延することを防ぐことのできるデータ転送装置、及び当該装置で実行される方法を提供できる。
(第1の実施形態)
図1は、本発明の第1の実施形態に係るデータ転送装置1の概略構成を示すブロック図である。また、図2は、データ転送装置1が接続されているネットワークの構成を示す図である。図2に示すように、通信バスA、及び通信バスBには、それぞれ1以上の通信ノード10〜50、及びデータ転送装置1がそれぞれ接続されており、データ転送装置1は、通信バスAに接続されたいずれかの通信ノードから送信されたデータの内、通信バスBに転送すべきデータを通信バスBに接続されたいずれかの通信ノードへ転送する。尚、本実施形態の説明では、通信ノードから送信されるデータが、予め定められた情報量のパケットを予め定められた数だけ含むフレームである場合を一例として説明する。
図1は、本発明の第1の実施形態に係るデータ転送装置1の概略構成を示すブロック図である。また、図2は、データ転送装置1が接続されているネットワークの構成を示す図である。図2に示すように、通信バスA、及び通信バスBには、それぞれ1以上の通信ノード10〜50、及びデータ転送装置1がそれぞれ接続されており、データ転送装置1は、通信バスAに接続されたいずれかの通信ノードから送信されたデータの内、通信バスBに転送すべきデータを通信バスBに接続されたいずれかの通信ノードへ転送する。尚、本実施形態の説明では、通信ノードから送信されるデータが、予め定められた情報量のパケットを予め定められた数だけ含むフレームである場合を一例として説明する。
本実施形態に係るデータ転送装置1は、通常記憶部101と、通常送信部102と、優先記憶部103と、優先送信部104と、受信部105と、制御部106とを備える。
通常記憶部101は、典型的には、RAM(Random Access Memory)などで構成され、通信バスAから受信部105を介して取得したフレームを記憶する。通常記憶部101に記憶されるフレームは、当該フレームが取得された順番に記憶されるように、制御部106が受信部105に指示を与える。
通常送信部102は、典型的には、通信バスBにデータを送信する送信回路、通信バスBにデータが流れていないことを検知する検知回路、及び送信回路が送信するデータを記憶する記憶素子(図示せず)などから構成され、通常記憶部101に記憶されたフレームを、通常記憶部101に記憶された順番に1つずつ取得して記憶素子に記憶するように制御部106によって制御される。また、通常送信部102は、通信バスBにデータが流れていないとき(通信バスBがアイドル状態となったとき)に、記憶したフレームを通信バスBに送信するように制御部106によって制御される。
より詳細には、通常送信部102は、図示しない記憶素子に記憶されているフレームを通信バスBに送信すると、送信したフレームを示す送信情報を生成する。送信情報を生成すると、生成した送信情報を取得した制御部106によって、送信したフレームの次に通常記憶部101に記憶されたフレームを示す送信フレーム情報が生成される。制御部106によって生成された送信フレーム情報を取得すると、通常送信部102は、取得した送信フレーム情報によって示されるフレームを通常記憶部101から取得して、図示しない記憶素子に記憶する。図示しない記憶素子にフレームを記憶すると、通常送信部102は、記憶素子にフレームを記憶したことを示すフレーム記憶情報を生成する。フレーム記憶情報を生成した後、通常送信部102は、通信バスBにデータが流れていないことを検知したときに、通信バスBにデータが流れていないことを示すアイドル情報を生成する。通常送信部102によって生成されたアイドル情報とフレーム記憶情報とが制御部106によって取得された後、送信許可情報が制御部106によって生成される。制御部106によって生成された送信許可情報を取得すると、通常送信部102は、図示しない記憶素子に記憶しているフレームを通信バスBに送信する。これにより、通常送信部102は、通常記憶部101に記憶されたフレームを記憶された順番に通信バスBに送信できる。尚、通常送信部102を構成する記憶素子の容量は、1つのフレームを記憶できる容量であればよい。通常送信部102を構成する記憶素子は、例えば、通常記憶部101、及び優先記憶部103などと比較して相対的に容量の小さい、一般的に公知のレジスタなどを用いて実現されてもよい。
優先記憶部103は、典型的には、RAMなどで構成され、通信バスAから受信部105を介して取得したフレームを記憶する。優先記憶部103に記憶されるフレームは、当該フレームが取得された順番に記憶されるように、制御部106が受信部105に指示を与える。
優先送信部104は、典型的には、通信バスBにデータを送信する送信回路、通信バスBにデータが流れていないことを検知する検知回路、及び送信回路が送信するデータを記憶する記憶素子(図示せず)などから構成され、優先記憶部103に記憶されたフレームを、優先記憶部103に記憶された順番に1つずつ取得して記憶素子に記憶するように制御部106によって制御される。また、優先送信部104は、通信バスBにデータが流れていないときに、記憶したフレームを通常送信部102よりも優先して通信バスBに送信するように制御部106によって制御される。ここで、優先送信部104が、取得したフレームを通常送信部102よりも優先して通信バスBに送信するとは、通信バスBにデータが流れていないときに、フレームをそれぞれ記憶している通常送信部102、及び優先送信部104の内、優先送信部104が先にフレームを通信バスBに送信することである。
より詳細には、優先送信部104は、図示しない記憶素子に記憶されているフレームを通信バスBに送信すると、送信したフレームを示す優先送信情報を生成する。優先送信情報を生成すると、生成した優先送信情報を取得した制御部106によって、次に優先記憶部103に記憶されたフレームを示す優先送信フレーム情報が生成される。制御部106によって生成された優先送信フレーム情報を取得すると、優先送信部104は、取得した優先送信フレーム情報によって示されるフレームを優先記憶部103から取得して、図示しない記憶素子に記憶する。図示しない記憶素子にフレームを記憶すると、優先送信部104は、記憶素子にフレームを記憶したことを示す優先フレーム記憶情報を生成する。優先フレーム記憶情報を生成した後、優先送信部104は、通信バスBにデータが流れていないことを検知したときに、通信バスBにデータが流れていないことを示すアイドル情報を生成する。優先送信部104によって生成されたアイドル情報と優先フレーム記憶情報とが制御部106によって取得された後、優先送信許可情報が制御部106によって生成される。制御部106によって生成された優先送信許可情報を取得すると、優先送信部104は、図示しない記憶素子に記憶しているフレームを通信バスBに送信する。これにより、優先送信部104は、優先記憶部103に記憶されたフレームを記憶された順番に通信バスBに送信できる。尚、優先送信部104を構成する記憶素子の容量は、1つのフレームを記憶できる容量であればよい。優先送信部104を構成する記憶素子は、例えば、通常記憶部101、及び優先記憶部103などと比較して相対的に容量の小さい、一般的に公知のレジスタなどを用いて実現されてもよい。
受信部105は、典型的には、通信バスAからデータを受信する受信回路などで構成され、通信バスAを流れるフレームの内、通信バスB、或いは通信バスBに接続されている通信ノードを転送先として示す情報を含むフレームを取得し、当該フレームを取得したときに取得したフレームを示す受信情報を生成する。受信情報を生成すると、生成した受信情報を取得した制御部106によって、通常記憶部101、及び優先記憶部103のいずれに、取得したフレームを移動させて記憶させるかを示す記憶先情報が生成される。制御部106によって生成された記憶先情報を取得すると、受信部105は、取得した記憶先情報によって示される記憶先(通常記憶部101、又は優先記憶部103)に、通信バスAから取得したフレームを移動させて記憶させる。
制御部106は、典型的には、CPU(Central Processing Unit)であって、受信部105が通信バスAから取得したフレームを管理して、通常記憶部101、及び優先記憶部103にそれぞれ記憶させる。受信部105によって取得されたフレームを通常記憶部101、及び優先記憶部103のいずれかに記憶させるとき、制御部106は、まず、受信部105によって前述の受信情報が生成されたときに、生成された受信情報を取得する。受信情報を取得すると、制御部106は、取得した受信情報と、後述するテーブルによって示される情報とに基づいて、受信部105によって取得されたフレームの記憶先(通常記憶部101、又は優先記憶部103)を判断する記憶先判断処理をし、判断した記憶先を示す記憶先情報を生成する。記憶先判断処理の詳細については後述する。
また、制御部106は、フレームを受信した受信部105によって生成された受信情報を取得して、前述の記憶先情報を生成するとき、取得した受信情報によって示されるフレームと、記憶先判断処理をすることによって決定した当該フレームの記憶先と、当該フレームを記憶させた順番とをそれぞれ示す順番情報を図示しない記憶部に記憶する。そして、通常送信部102によってフレームが送信され、前述の送信情報が生成されたときに、制御部106は、生成された送信情報を取得する。送信情報を取得すると、取得した送信情報によって示されるフレームの順番情報を図示しない記憶部から削除する。さらに、制御部106は、優先送信部104によってフレームが送信され、前述の優先送信情報が生成されたときに、生成された優先送信情報を取得する。優先送信情報を取得すると、取得した優先送信情報によって示されるフレームの順番情報を図示しない記憶部から削除する。これにより、制御部106は、通常記憶部101、通常送信部102、優先記憶部103、及び優先送信部104に記憶されているフレーム、すなわち、受信部105によって取得されてから通信バスBへ送信されていないフレームをそれぞれ取得した順番を順番情報に基づいて管理することができる。
通常送信部102、及び優先送信部104によってそれぞれフレーム記憶情報、及び優先フレーム記憶情報が生成されたとき、制御部106は、生成されたフレーム記憶情報、及び優先フレーム記憶情報を取得して図示しない記憶部に記憶する。そして、制御部106は、通常送信部102によって生成された送信情報を取得したとき、上述したように送信フレーム情報を生成すると共に、記憶しているフレーム記憶情報を削除する。また、制御部106は、優先送信部104によって生成された優先送信情報を取得したとき、上述したように優先送信フレーム情報を生成すると共に、記憶している優先フレーム記憶情報を削除する。これにより、制御部106は、図示しない記憶部にフレーム記憶情報、及び優先フレーム記憶情報をそれぞれ記憶しているか否かを判断することによって、通常送信部102、及び優先送信部104にそれぞれフレームが記憶されているか否かを判断することができる。すなわち、制御部106は、図示しない記憶部にフレーム記憶情報が記憶されているときは、通常送信部102にフレームが記憶されていると判断でき、図示しない記憶部に優先フレーム記憶情報が記憶されているときは、優先送信部104にフレームが記憶されていると判断できる。
制御部106は、通常送信部102、及び優先送信部104がそれぞれフレームを記憶しており、且つ、通常送信部102、及び優先送信部104がそれぞれアイドル情報を生成しているときには、先に優先送信許可情報を生成する。そして、制御部106が生成した優先送信許可情報を取得して、フレームを送信した優先送信部104は、上述したように優先送信情報を生成する。制御部106は、優先送信情報を取得したとき、取得した優先送信情報によって示されるフレームの順番情報と優先フレーム記憶情報とを削除した後、順番情報に基づいて、当該フレームの次に優先記憶部103に記憶させたフレームがあるか否かを判断する。
制御部106は、順番情報に基づいて、取得した優先送信情報によって示されるフレームの次に優先記憶部103に記憶させたフレームがあると判断したときには、当該フレームを示す優先送信フレーム情報を生成する。そして、制御部106によって生成された優先送信フレーム情報を取得した優先送信部104は、フレームを記憶したことを示す優先フレーム記憶情報を生成する。
制御部106は、先に優先許可情報を生成して、優先送信部104からフレームを送信させた後に、送信許可情報を生成する。制御部106によって生成された送信許可情報は、通常送信部102によって取得される。送信許可情報を取得すると、通常送信部102は、記憶素子に記憶しているフレームを送信する。このとき、制御部106によって生成された送信許可情報を取得して、フレームを送信した通常送信部102は、上述したように送信情報を生成する。通常送信部102によって生成された送信情報を取得した制御部106は、フレーム記憶情報と、取得した送信情報によって示されるフレームの順番情報とを削除した後、順番情報に基づいて、当該フレームの次に通常記憶部101に記憶させたフレームがあるか否かを判断する。制御部106は、順番情報に基づいて、取得した送信情報によって示されるフレームの次に通常記憶部101に記憶させたフレームがあると判断したときには、当該フレームを示す送信フレーム情報を生成する。
このように、通常バスBにデータが流れておらず、通常送信部102、及び優先送信部104にそれぞれフレームが記憶されているときに、制御部106は、優先送信許可情報を先に生成して、通常送信部102よりも先に、優先送信部104から通信バスBへフレームを送信させる。これにより、データ転送装置1は、優先送信部104に記憶されているフレームを通常送信部102に記憶されているフレームよりも優先的に通信バスBへ送信できる。
尚、通常送信部102、及び優先送信部104のいずれか一方にだけフレームが記憶されている場合、制御部106は、フレームを記憶している方にフレームを送信させる許可情報(送信許可情報、又は優先送信許可情報)を生成する。
以上が、データ転送装置1の概略構成の説明である。以上で説明したように、データ転送装置1は、通信バスAを介して取得したフレームを、通常記憶部101、及び優先記憶部103に記憶し、通常送信部102、及び優先送信部104のいずれかから通信バスBに送信することにより、取得したフレームを転送する。次に、本実施形態に係る制御部106の詳細な処理について説明する。
制御部106は、予め定められた許容遅延時間Pdtと遅延時間dtとを、通信バスAを介して取得するフレームの種別毎にそれぞれ対応付けるテーブルを記憶している。許容遅延時間Pdtとは、データ転送装置1が通信バスAを介してある種別のフレームを取得してから当該フレームを通信バスBに転送するまでに許容できる時間である。また、遅延時間dtとは、データ転送装置1が通信バスAを介して、ある種別のフレームを取得してから当該フレームを通信バスBに転送するまでに実際にかかった時間の内、最大の時間のことである。
図3は、制御部106が図示しない記憶部に記憶しているテーブルの一例を示す図である。図3には、ID101〜ID501のそれぞれに許容遅延時間Pdtと、遅延時間dtとを対応付けるテーブルを一例として示している。ここで、IDとは、フレームの中に情報として含まれており、当該フレームを送信した通信ノードや優先順位などを示す情報であり、上述したフレームの種別に相当する。本実施形態の説明では、IDの数字が通信ノードを示し、且つIDの数字が相対的に小さいフレームの優先順位が高く、IDの数字が相対的に大きいフレームの優先順位が低くなるように予め定められている場合を一例として説明する。ここで、本実施形態におけるフレームの優先順位について説明すると、例えば、データ転送装置1と通信バスBに接続された通信ノードのいずれかとが、同時に通信バスBにフレームを送信するとき、優先順位の高い方のフレームから順番に送信されるというように、同一の通信バスに同時にフレームが送信されようとしたときに、実際に送信されるフレームを定めるものである。
図4は、ある時点において、通常記憶部101、通常送信部102、優先記憶部103、及び優先送信部104にそれぞれ記憶されているフレームの一例を模式的に示す図である。図4に示す例では、受信部105によって取得されたフレームが制御部106によって生成される記憶先情報に従って、ID401、ID201、ID301、ID101の順番に通常記憶部101に記憶されている。また、図4に示す例では、通常記憶部101に記憶されたフレームよりも先に受信部105によって取得されたID501のフレームが、制御部106によって生成される送信フレーム情報に従って、通常記憶部101から通常送信部102に移動させられて記憶されている。
図5(a)は、データ転送装置1が図4に示すようにフレームを記憶しているときにおいて、仮に、データ転送装置1の他に、通信バスBにデータを送信する通信ノードが接続されていないと想定した場合に、データ転送装置1から通信バスBに送信されるフレームの順番を示すタイミングチャートである。仮に、データ転送装置1の他に、通信バスBにデータを送信する通信ノードが接続されていない場合を想定すると、データ転送装置1は、図4に示すように順番に記憶したフレームを、図5(a)に示すように全て順番に連続させて通信バスBに送信することができる。
しかしながら、通信バスBにデータ転送装置1の他に通信ノードが接続されており、これらのノードが、仮に、図5(b)のタイミングチャートに示す順番でフレームを送信しようとすると、実際に通信バスBに送信されるフレームの順番は、図5(c)のタイミングチャートに示すようになる。より具体的には、図5(b)に示すフレームの内、ID351、ID151、ID251、及びID451は、図5(a)においてデータ転送装置1から最初に送信されるID501よりも番号が全て小さい。このため、通信バスBに接続された通信ノードが、図5(b)に示すようにID351、ID151、ID251、及びID451のフレームの送信を完了し、通信バスBに流すデータがなくなったときに、データ転送装置1に記憶されたフレームの送信が、通常送信部102に記憶されたID501から順番に開始される。
そして、図5(c)に示す例では、データ転送装置1がID501、及びID401のフレームを送信した後、ID401の次にデータ転送装置1によって転送されるID201のフレームよりも数字の小さいID151のフレームが、通信バスBに接続された通信ノードから先に送信される。このため、通信バスBに接続された通信ノードからID151のフレームの送信が完了した後に、データ転送装置1はID201から順番に残りのフレームを送信することができる。したがって、図4に示すようにデータ転送装置1にフレームが記憶されているのにも拘わらず、通信バスBに接続された通信ノードから図5(b)に示すようなIDのフレームが送信されると、例えば、データ転送装置1によって最後に記憶されたID101のフレームの送信は、図3に示すように許容遅延時間Pdtが最も短く設定されているのにも拘わらず、当該許容遅延時間Pdtが経過するまでに送信されない可能性が高くなってしまう。
そこで、本実施形態に係るデータ転送装置1は、上述したように図1に示すように優先記憶部103、及び優先送信部104を備え、許容遅延時間Pdtをテーブルとして記憶し、前述の遅延時間dtと最大遅延時間Σdtとを管理している。まず、制御部106が遅延時間dtを管理する遅延時間管理処理について説明する。受信部105は、通信バスAからフレームを取得すると、上述したように受信情報を生成して、フレームを受信したことを制御部106に通知する。制御部106は、受信部105によって受信情報が生成されたとき、生成された受信情報を取得する。受信情報を取得すると、制御部106は、上述で説明した受信情報を取得したときの処理に加えて、受信情報によって示されるフレームが通常送信部102から送信されるまでの時間を計時時間Mdtとして、ゼロから計時を開始する。制御部106が時間を計時する手法はどのような手法であってもよいが、一例として、図示しない回路で予め定められた基準周波数に応じて生成されるパルス波をカウントし、カウントした数を時間に換算して図示しない記憶部に記憶するなどの手法が挙げられる。
一方、通常送信部102は、図示しない記憶素子から通信バスBにフレームを送信すると、上述したように送信情報を生成して、フレームを送信したことを制御部106に通知する。制御部106は、通常送信部102によって送信情報が生成されたとき、生成された送信情報を取得する。送信情報を取得すると、上述で説明した送信情報を取得したときの処理に加えて、制御部106は、送信情報によって示されるフレームの計時時間Mdtの計時を停止し、当該送信情報によって示されるフレームのIDに対応させて既にテーブルに記憶されている遅延時間dtと、計時した計時時間Mdtとを比較する。制御部106は、計時した計時時間Mdtがテーブルに記憶されている遅延時間dtよりも長ければ、計時時間Mdtで、送信情報によって示されるフレームのIDの遅延時間dtを更新する。以上が、制御部106の遅延時間管理処理の説明である。制御部106が、受信部105で受信したフレームの全てについてそれぞれ上述で説明した遅延時間管理処理をすることにより、図示しないテーブルにフレームのID毎の最新の遅延時間dtを記憶して管理することができる。尚、制御部106が時間を計時したフレームのIDに対応する遅延時間dtを記憶していない場合(例えば、当該フレームのIDの計時時間Mdtの計時を初めてした場合など)には、計時時間Mdtを当該IDのフレームの遅延時間dtとしてそのままテーブルに記憶してもよい。
次に、上述した記憶先判断処理について説明する。制御部106は、遅延時間管理処理をすると共に、テーブルとして記憶している遅延時間dtと、受信部105によって生成された受信情報で示されるフレームのIDに対応する許容遅延時間Pdtとに基づいて、受信部105で受信したフレームを受信部105から通常記憶部101、及び優先記憶部103のいずれへ移動させるかの記憶先判断処理をする。より詳細には、制御部106は、受信部105から受信情報を取得したとき、上述で説明した受信情報を取得したときの処理に加えて、取得した受信情報によって示されるフレームのIDに対応する許容遅延時間Pdtを、前述のテーブルとして図示しない記憶部に記憶されている情報の中から読み出す。さらに、制御部106は、順番情報によって示される全てのフレームの内、通常記憶部101、及び通常送信部102に記憶されている全てのフレームの遅延時間dtの総和を示す最大遅延時間Σdtを図示しない記憶部から読み出す。最大遅延時間Σdtを図示しない記憶部に記憶する最大遅延時間管理処理の詳細については後述する。制御部106は、許容遅延時間Pdtと最大遅延時間Σdtとをそれぞれ読み出すと、読み出した許容遅延時間Pdtと最大遅延時間Σdtとを比較する。制御部106は、それぞれ読み出した最大遅延時間Σdtと許容遅延時間Pdtとを比較し、許容遅延時間Pdtが最大遅延時間Σdt未満であるとき、取得した受信情報によって示されるフレームを、当該フレームの許容遅延時間Pdtが経過するまでに送信できない可能性があると判断し、当該フレームの記憶先として優先記憶部103を示す記憶先情報を生成する。
図6を参照しながら、制御部106の記憶先判断処理を具体的に説明する。図6(a)に模式的に示すように、受信部105は、通信バスAからID101のフレームを取得したとき、ID101を示す情報を含む受信情報を生成する。このとき、通常記憶部101には、ID401、ID201、及びID301のフレームが順番に1つずつ既に記憶されており、通常送信部102には、ID501のフレームが1つ記憶されているものとする。したがって、このときの順番情報には、ID401、ID201、ID301、及びID501のフレームと、これらのフレームの記憶先と、これらのフレームを記憶した順番とを示す順番情報が制御部106の図示しない記憶部に記憶されている。
制御部106は、ID101を示す情報を含む受信情報を取得すると、取得した受信情報によって示されるフレームのIDに対応する許容遅延時間Pdtを、前述のテーブルとして図示しない記憶部に記憶されている情報の中から読み出す。図6(a)に示す例では、ID101に対応する許容遅延時間Pdtとして、図3に一例として示すテーブルから明らかなように、12msecが読み出される。取得した受信情報によって示されるフレームのIDに対応する許容遅延時間Pdtを読み出すと、制御部106は、前述の最大遅延時間Σdtを算出する。図6(a)に示す例では、受信部105がID101のフレームを取得したときに、通常記憶部101には、ID401、ID201、及びID301のフレームがそれぞれ1つずつ記憶されており、通常送信部102にはID501のフレームが記憶されていることを示す順番情報に基づき、制御部106は、これらのフレームのIDに対応する遅延時間dtを前述のテーブルとして図示しない記憶部に記憶されている情報の中からそれぞれ読み出す。このとき、制御部106によって読み出される遅延時間dtは、4msec(ID401の遅延時間dt)、2msec(ID201の遅延時間dt)、3msec(ID301の遅延時間dt)、及び4msec(ID501の遅延時間dt)であり、最大遅延時間Σdtは後述するようにこれらの遅延時間dtの総和であるため、13msecとなる。
受信部105が取得したID101のフレームの許容遅延時間Pdtは、12msecであるため、制御部106は、最大遅延時間Σdtが許容遅延時間Pdtよりも大きく、受信部105によって取得されたフレームを許容遅延時間Pdtが経過するまでに送信できない可能性があると判断し、記憶先として優先記憶部103を示す記憶先情報を生成する。優先記憶部103を記憶先として示す記憶先情報を取得すると、受信部105は、取得したフレームを優先記憶部103に移動させて記憶させる。
以上が、制御部106の記憶先判断処理の説明である。尚、図6に示す例では、優先送信部104にフレームが記憶されていないため、優先記憶部103に移動したフレームは、図6(b)に示すように、即座に優先送信部104によって取得され、通信バスBにデータが流れていないときに、通常送信部102よりも優先して通信バスBに送信されるように制御部106によって処理される。
図4〜図5(c)を参照して説明したように、優先順位の高いID101のフレームを最後に取得し、取得したフレームを全て通常記憶部101に記憶させた場合には、優先順位の高いフレームであっても過度に遅延してしまうことがある。一方、上述で説明したように、本実施形態に係る制御部106は、受信部105によってフレームが取得されたときに、記憶先判断処理をして、許容遅延時間Pdtが経過するまでに通信バスBに転送できない可能性があると判断した場合には、受信部105によって取得されたフレームを優先記憶部103に記憶させる。これにより、受信部105によって取得されたときの許容遅延時間Pdtが、最大遅延時間Σdt未満となるフレームを、優先してデータ転送装置1から送信させることができる。例えば、仮に、優先記憶部103、及び優先送信部104にフレームが記憶されていないときに、図5(a)に示すように最後に送信されるフレームのID、すなわち、受信部105によって最後に取得されたフレームのIDが図2に示すネットワーク内で用いられるIDの内、最も優先順位の高いものであり、通信バスBに接続された通信ノードから図5(b)に示すようにフレームが送信されようとしたときを想定すると、実際には、図7に示すように、受信部105によって最後に取得された最も優先順位の高いフレームが通信バスBに最初に送信されるようになる。
次に、制御部106が上述した最大遅延時間Σdtを管理する最大遅延時間管理処理について説明する。制御部106は、受信情報を取得したときに、上述で説明した受信情報を取得したときの処理に加えて、取得した受信情報によって示されるフレームのIDに対応する遅延時間dtをテーブルとして示される情報から読み出す。受信情報によって示されるフレームの遅延時間dtを読み出すと、制御部106は、図示しない記憶部に記憶されている最大遅延時間Σdtに、読み出した遅延時間dtを加算した時間で、当該最大遅延時間Σdtを更新する。一方、制御部106は、送信情報を取得したときに、上述で説明した送信情報を取得したときの処理に加えて、取得した送信情報によって示されるフレームのIDに対応する遅延時間dtをテーブルとして示される情報から読み出す。送信情報によって示されるフレームの遅延時間dtを読み出すと、制御部106は、図示しない記憶部に記憶されている最大遅延時間Σdtから、読み出した遅延時間dtを減算した時間で、当該最大遅延時間Σdtを更新する。このように、制御部106が、受信部105で受信した全てのフレームの遅延時間dtを最大遅延時間Σdtに加算し、通常送信部102から送信された全てのフレームの遅延時間dtを最大遅延時間Σdtから減算することにより、図示しない記憶部に記憶される最大遅延時間Σdtは、通常記憶部101、及び通常送信部102に記憶されている全てのフレームの遅延時間dtの総和となる。つまり、上述したように、最大遅延時間Σdtを算出することにより、受信部105によってフレームが取得されたフレームを通常記憶部101に記憶させたときに、記憶させたフレームが通常送信部102から送信されるまでの最大の遅延時間を最大遅延時間Σdtとして推定することができる。以上が、制御部106の最大遅延時間更新処理の説明である。
以上で説明したように、本実施形態に係る制御部106は、遅延時間管理処理をすることによってフレームを受信部105で受信してから通常送信部102によって送信されるまでにかかった最も長い時間を遅延時間dtとして、フレームのID毎に管理する。また、制御部106は、管理している遅延時間dtの中から、通常記憶部101、及び通常送信部102に記憶されている全てのフレームの遅延時間dtの総和を最大遅延時間Σdtとして管理する。そして、制御部106は、受信部105によってフレームが受信されたときに、受信したフレームの許容遅延時間Pdtと管理している最大遅延時間Σdtとの比較結果に基づき、受信したフレームの記憶先を決定する。制御部106が、受信したフレームの許容遅延時間Pdtが最大遅延時間Σdt未満であると判断したときは、受信したフレームを許容遅延時間Pdtが経過するまでに送信できる可能性が低いと判断して、受信したフレームを優先記憶部103に記憶させ、優先送信部104から送信させるようにする。上述したように、優先送信部104は、通常送信部102よりも優先してフレームを通信バスBに送信するため、本実施形態に係るデータ転送装置1によれば、通信バスBに接続された通信ノードからの送信データと、データ転送装置1から通信バスBに送信されるデータとが、互いに過度に遅延することを防ぐことができる。
尚、遅延時間管理処理において、制御部106が、受信情報によって示されるフレームが通常送信部102から送信されるまでの時間の内、最大の時間を遅延時間dtとして管理するのは、通常送信部102から通信バスBへのフレームの送信の頻度が、優先送信部104から通信バスBへのフレームの送信の頻度よりも高いからである。遅延時間dtは、通信バスAから受信したフレームが通信バスBへ送信されるまでの時間で更新されるため、通常送信部102、及び優先送信部104の内、送信の頻度の高い送信部から送信されるまでの時間で遅延時間dtを更新することにより、より最近の時間に基づいて遅延時間dtを管理することができる。
以上が、本実施形態に係る制御部106の処理の説明である。次に、上述で説明した制御部106の処理を示すフローチャートについて説明する。図8は、本実施形態に係る制御部106の処理の内、受信部105によってフレームが受信されたときの処理を示すフローチャートである。尚、本実施形態に係る制御部106は、後述で説明する図9のフローチャートに示す処理をしながら、受信部105によって受信情報が生成されたときに、割り込み処理として、図8のフローチャートに示す処理を開始する。
ステップS101において、制御部106は、図8のフローチャートに示す処理を開始したときに受信部105から取得した受信情報によって示されるフレームの許容遅延時間Pdtと最大遅延時間Σdtとを比較する。より詳細には、制御部106は、ステップS101において、取得した受信情報によって示されるフレームのIDに対応する許容遅延時間Pdtをテーブルとして記憶している情報から読み出す。また、制御部106は、ステップS101において、図示しない記憶部に記憶されている最大遅延時間Σdtを読み出す。ステップS101において、制御部106は、それぞれ読み出した許容遅延時間Pdtと最大遅延時間Σdtとを比較し、それぞれ読み出した許容遅延時間Pdtが最大遅延時間Σdt未満であるか否かを判断する。制御部106は、ステップS101において、許容遅延時間Pdtが最大遅延時間Σdt未満であると判断したとき、ステップS102へ処理を進める。一方、制御部106は、ステップS101において、許容遅延時間Pdtが最大遅延時間Σdt未満でないと判断したとき、ステップS103へ処理を進める。
ステップS102において、制御部106は、図8のフローチャートに示す処理を開始したときに受信部105によって取得されたフレームの記憶先として、優先記憶部103を示す記憶先情報を生成する。さらに、制御部106は、ステップS102において、記憶先情報を生成したフレームの順番情報を図示しない記憶部に記憶する。制御部106は、ステップS102の処理を完了すると、図8のフローチャートに示す処理を完了する。
ステップS103において、制御部106は、図8のフローチャートに示す処理を開始したときに受信部105によって取得されたフレームの記憶先として、通常記憶部101を示す記憶先情報を生成する。さらに、制御部106は、ステップS103において、記憶先情報を生成したフレームの順番情報を図示しない記憶部に記憶する。制御部106は、ステップS103の処理を完了すると、ステップS104へ処理を進める。
ステップS104において、制御部106は、図8のフローチャートに示す処理を開始したときに受信部105から取得した受信情報によって示されるフレームのIDに対応する遅延時間dtをテーブルとして記憶している情報から読み出す。そして、制御部106は、図示しない記憶部に記憶されている最大遅延時間Σdtに読み出した遅延時間dtを加算して、最大遅延時間Σdtを更新する。制御部106は、ステップS104の処理を完了すると、ステップS105へ処理を進める。
ステップS105において、制御部106は、図8のフローチャートに示す処理を開始したときに受信部105から取得した受信情報によって示されるフレームの計時時間Mdtの計時をゼロから開始する。制御部106は、ステップS105の処理を完了すると、図8のフローチャートに示す処理を完了する。
以上が、受信部105によって受信情報が生成されたときの制御部106の処理の説明である。次に、図9に示すフローチャートを参照しながら、制御部106が、通常記憶部101、及び優先記憶部103にそれぞれ記憶されているフレームを、通常送信部102、及び優先送信部104のいずれかから送信させるときの処理について説明する。
ステップS201において、制御部106は、図示しない記憶部に優先フレーム記憶情報を記憶しているか否かを判断した結果に基づき、優先送信部104にフレームが記憶されているか否かを判断する。制御部106は、ステップS201において、図示しない記憶部に優先フレーム記憶情報を記憶しており、優先送信部104にフレームが記憶されていると判断したとき、ステップS202へ処理を進める。一方、制御部106は、ステップS201において、図示しない記憶部に優先フレーム記憶情報を記憶しておらず、優先送信部104にフレームが記憶されていないと判断されたとき、ステップS204へ処理を進める。
ステップS202において、制御部106は、優先送信部104によって生成されるアイドル情報を取得しているか否かを判断する。制御部106は、ステップS202において、優先送信部104によって生成されるアイドル情報を取得していると判断したとき、ステップS203へ処理を進める。一方、制御部106は、ステップS202において、優先送信部104によって生成されるアイドル情報を取得していないと判断したとき、ステップS204へ処理を進める。
ステップS203において、制御部106は、優先送信許可情報を生成して、優先送信部104にフレームを送信させる。さらに、制御部106は、ステップS203において、優先送信許可情報を取得してフレームを送信した優先送信部104によって生成された優先送信情報を取得すると、取得した優先送信情報によって示されるフレームの順番情報と図示しない記憶部に記憶されている優先フレーム記憶情報とを削除する。制御部106は、ステップS203の処理を完了すると、ステップS204へ処理を進める。
ステップS204において、制御部106は、図示しない記憶部にフレーム記憶情報を記憶しているか否かを判断した結果に基づき、通常送信部102にフレームが記憶されているか否かを判断する。制御部106は、ステップS204において、図示しない記憶部にフレーム記憶情報を記憶しており、通常送信部102にフレームが記憶されていると判断したとき、ステップS205へ処理を進める。一方、制御部106は、ステップS204において、図示しない記憶部にフレーム記憶情報を記憶しておらず、通常送信部102にフレームが記憶されていないと判断されたとき、ステップS208へ処理を進める。
ステップS205において、制御部106は、通常送信部102によって生成されるアイドル情報を取得しているか否かを判断する。制御部106は、ステップS205において、通常送信部102によって生成されるアイドル情報を取得していると判断したとき、ステップS206へ処理を進める。一方、制御部106は、ステップS205において、通常送信部102によって生成されるアイドル情報を取得していないと判断したとき、ステップS208へ処理を進める。
ステップS206において、制御部106は、送信許可情報を生成して、通常送信部102にフレームを送信させる。さらに、制御部106は、ステップS206において、送信許可情報を取得してフレームを送信した通常送信部102によって生成された送信情報を取得すると、取得した送信情報によって示されるフレームの順番情報と図示しない記憶部に記憶されているフレーム記憶情報とを削除する。制御部106は、ステップS206の処理を完了すると、ステップS207へ処理を進める。
ステップS207において、制御部106は、ステップS206で取得した送信フレーム情報によって示されるフレームの計時時間Mdtの計時を停止する。制御部106は、ステップS207の処理を完了するとステップS208へ処理を進める。
ステップS208において、制御部106は、図示しない記憶部に優先フレーム記憶情報が記憶されているか否かを判断した結果に基づき、優先送信部104にフレームが記憶されているか否かを判断する。制御部106は、ステップS208において、図示しない記憶部に優先フレーム記憶情報を記憶しており、優先送信部104にフレームが記憶されていると判断したとき、ステップS211へ処理を進める。一方、制御部106は、ステップS208において、図示しない記憶部に優先フレーム記憶情報を記憶しておらず、優先送信部104にフレームが記憶されていないと判断したとき、ステップS209へ処理を進める。
ステップS209において、制御部106は、順番情報に基づいてステップS203で優先送信部104から送信されたフレームの次に優先記憶部103に記憶されたフレームがあるか否かを判断する。制御部106は、ステップS209において、ステップS203で優先送信部104から送信されたフレームの次に優先記憶部103に記憶されたフレームがあると判断したとき、ステップS210へ処理を進める。一方、制御部106は、ステップS209において、ステップS203で優先送信部104から送信されたフレームの次に優先記憶部103に記憶されたフレームがないと判断したとき、ステップS211へ処理を進める。
ステップS210において、制御部106は、ステップS209で判断したフレームを示す優先送信フレーム情報を生成して、生成した優先送信フレーム情報を取得した優先送信部104に当該フレームを優先記憶部103から取得して記憶させる。このとき、フレームを記憶した優先送信部104によって、優先フレーム記憶情報が生成され、制御部106は、生成された優先フレーム記憶情報を取得して図示しない記憶部に記憶する。制御部106は、ステップS210の処理を完了すると、ステップS211へ処理を進める。
ステップS211において、制御部106は、図示しない記憶部にフレーム記憶情報が記憶されているか否かを判断した結果に基づき、通常送信部102にフレームが記憶されているか否か、すなわち、ステップS206の処理をして通常送信部102からフレームを送信させたか否かを判断する。制御部106は、ステップS211において、図示しない記憶部にフレーム記憶情報を記憶しており、通常送信部102にフレームが記憶されていると判断したとき、ステップS214へ処理を進める。一方、制御部106は、ステップS211において、図示しない記憶部にフレーム記憶情報を記憶しておらず、通常送信部102にフレームが記憶されていないと判断したとき、ステップS212へ処理を進める。
ステップS212において、制御部106は、順番情報に基づいてステップS206で通常送信部102から送信されたフレームの次に通常記憶部101に記憶されたフレームがあるか否かを判断する。制御部106は、ステップS212において、ステップS206で通常送信部102から送信されたフレームの次に通常記憶部101に記憶されたフレームがあると判断したとき、ステップS213へ処理を進める。一方、制御部106は、ステップS212において、ステップS206で通常送信部102から送信されたフレームの次に通常記憶部101に記憶されたフレームがないと判断したとき、ステップS214へ処理を進める。
ステップS213において、制御部106は、ステップS212で判断したフレームを示す送信フレーム情報を生成して、生成した送信フレーム情報を取得した通常送信部102に当該フレームを通常記憶部101から取得して記憶させる。このとき、フレームを記憶した通常送信部102によって、フレーム記憶情報が生成され、制御部106は、生成されたフレーム記憶情報を取得して図示しない記憶部に記憶する。制御部106は、ステップS213の処理を完了すると、ステップS214へ処理を進める。
ステップS214において、制御部106は、ステップS206の処理をして通常送信部102にフレームを送信させたか否かを判断する。制御部106は、ステップS214において、ステップS206の処理をして通常送信部102にフレームを送信させたと判断したとき、ステップS215へ処理を進める。一方、制御部106は、ステップS214において、ステップS206の処理をしていないと判断したとき、ステップS201へ処理を戻す。
ステップS215において、制御部106は、ステップS206の処理で取得した送信情報によって示されるフレームのIDに対応する遅延時間dtを、テーブルとして示される情報から読み出して、最大遅延時間Σdtから読み出した遅延時間dtを減算して、最大遅延時間Σdtを更新する。制御部106は、ステップS215の処理を完了すると、ステップS216へ処理を進める。
ステップS216において、制御部106は、ステップS206の処理で取得した送信情報によって示されるフレーム、すなわち、ステップS206の処理で通常送信部102から送信させたフレームのIDに対応する遅延時間dtを、テーブルとして示される情報から読み出して、読み出した遅延時間dtがステップS207の処理で計時を停止した計時時間Mdt未満であるか否かを判断する。制御部106は、ステップS216において、読み出した遅延時間dtが計時時間Mdt未満であると判断したとき、ステップS217へ処理を進める。一方、制御部106は、ステップS216において、読み出した遅延時間dtが計時時間Mdt未満でないと判断したとき、ステップS201へ処理を戻す。
ステップS217において、制御部106は、ステップS216で判断した計時時間Mdtで、ステップS206の処理で通常送信部102から送信させたフレームのIDに対応する遅延時間dtを更新する。制御部106は、ステップS217の処理を完了すると、ステップS201へ処理を戻す。
以上が、本実施形態に係る制御部106の処理の説明である。本実施形態に係るデータ転送装置1によれば、図8、及び図9のフローチャートに示す処理を制御部106がすることにより、優先送信部104が、通常送信部102よりも優先してフレームを通信バスBに送信する。このため、本実施形態に係るデータ転送装置1によれば、通信バスBに接続された通信ノードからの送信データと、データ転送装置1から通信バスBに送信されるデータとが、互いに過度に遅延することを防ぐことができる。
(第2の実施形態)
次に、本発明の第2の実施形態に係るデータ転送装置について説明をする。図10は、本発明の第2の実施形態に係るデータ転送装置2の概略構成を示すブロック図である。データ転送装置2は、データ転送装置1と比較して転送部107をさらに備える点が相違する。したがって、データ転送装置2の構成の内、データ転送装置1の構成と同一の構成については、同一の参照符号を付して説明を省略する。
次に、本発明の第2の実施形態に係るデータ転送装置について説明をする。図10は、本発明の第2の実施形態に係るデータ転送装置2の概略構成を示すブロック図である。データ転送装置2は、データ転送装置1と比較して転送部107をさらに備える点が相違する。したがって、データ転送装置2の構成の内、データ転送装置1の構成と同一の構成については、同一の参照符号を付して説明を省略する。
転送部107は、制御部106によって通常記憶部101から優先記憶部103へ転送するフレームを示す転送フレーム情報が生成されたとき、生成された転送フレーム情報を取得する。転送フレーム情報を取得した転送部107は、取得した転送フレーム情報によって示されるフレームを通常記憶部101から優先記憶部103へ転送する。
第1の実施形態と第2の実施形態との主な相違点は、制御部106が最大遅延時間Σdtを管理するのに対して、後述する残り時間Rtを管理する点である。したがって、第2の実施形態に係る制御部106は、第1の実施形態で説明した最大遅延時間管理処理を除く処理に加えて、以下で説明する第2の実施形態の処理をする。また、第2の実施形態に係るデータ転送装置2の構成の内、制御部106を除くデータ転送装置1と同一の構成についてはそれぞれ第1の実施形態で説明した動作と同様の動作をするものとする。
第2の実施形態に係る制御部106は、受信部105によって生成された受信情報を取得すると、上述した記憶先判断処理をすることなく、取得した受信情報によって示されるフレームの記憶先として通常記憶部101を示す記憶先情報を生成する。また、制御部106は、受信情報を取得すると、取得した受信情報によって示されるフレームのIDに対応する許容遅延時間Pdtを、テーブルとして示される情報の中から読み出す。許容遅延時間Pdtを読み出すと、制御部106は、取得した受信情報によって示されるフレームが受信部105によって取得されてから当該フレームの許容遅延時間Pdtが経過するまでの残り時間Rtとして、読み出した許容時間Pdtの時間を図示しない記憶部に記憶して、残り時間Rtの計時を開始する。
制御部106が残り時間Rtを計時する手法はどのような手法であってもよいが、一例として、図示しない回路で予め定められた基準周波数に応じて生成されるパルス波をカウントし、カウントした数を換算した時間が予め定められた間隔(例えば、1[msec]の間隔)だけ経過するたびに、記憶している残り時間Rtから当該間隔を減算して、減算した時間で残り時間Rtを更新する手法が挙げられる。制御部106は、受信部105によって取得され、通常記憶部101に記憶されている全てのフレームの残り時間Rtをそれぞれ計時しながら管理する。尚、制御部106が残り時間Rtを管理するときは、通常記憶部101に記憶されているフレームと残り時間Rtとをそれぞれ対応付けて示すテーブルを図示しない記憶部に記憶して管理してもよい。
また、制御部106は、予め定められた時間αを図示しない記憶部に記憶している。そして、制御部106は、通常記憶部101に記憶されているそれぞれのフレームの残り時間Rtの内、予め定められた時間αと遅延時間dtとを加算した時間以下となる残り時間Rtのフレームがあるか否かを判断する。予め定められた時間αと残り時間Rtとを加算した時間以下となる残り時間Rtのフレームがあると判断したとき、制御部106は、当該フレームを示す転送フレーム情報を生成して、転送部107に、当該フレームを通常記憶部101から優先記憶部103へ転送させる。尚、予め定められた時間αの詳細については後述する。
転送フレーム情報を生成すると、制御部106は、図示しない記憶部に記憶している順番情報の内、転送部107に転送させたフレームの順番情報を優先記憶部103に記憶した順番を示す情報に更新し、当該フレームの残り時間Rtの計時を停止して、図示しない記憶部から計時を停止した残り時間Rtを削除する。さらに、制御部106は、送信フレーム情報を生成したとき、すなわち、通常記憶部101から通常送信部102にフレームを移動させたときにも、生成した送信フレーム情報によって示されるフレームの残り時間Rtの計時を停止して、図示しない記憶部から計時を停止した残り時間Rtを削除する。制御部106が、受信情報を取得したときに残り時間Rtの計時を開始し、転送フレーム情報を生成したとき、又は送信フレーム情報を生成したときに、取得した転送フレーム情報、又は生成した送信フレーム情報によって示されるフレームの残り時間Rtを削除することにより、通常記憶部101に記憶されている全てのフレームの残り時間Rtのみを管理することができる。
遅延時間dtは、第1の実施形態で説明した通り、あるIDのフレームを受信部105で取得してから、通常送信部102で送信するまでにかかった最も長い時間を示す。そして、あるIDのフレームを受信部105で取得してから、通常送信部102で送信するまでにかかる時間は、第1の実施形態で説明した通り、フレームのIDによって定まる優先順位の影響を受ける。したがって、優先順位の相対的に高いフレームの遅延時間dtは相対的に短い時間となり、優先順位の相対的に低いフレームの遅延時間dtは相対的に長い時間となる傾向がある。そして、この傾向は、あるIDのフレームを受信部105で取得してから、優先送信部104で送信するまでにかかる時間にも現れる。
そこで、第2の実施形態に係る制御部106は、通常記憶部101に記憶されているフレームの残り時間Rtの内、予め定められた時間αと遅延時間dtとを加算した時間以下となる残り時間Rtのフレームを、通常記憶部101から優先記憶部103に転送させる。
ここで、予め定められた時間αに遅延時間dtを加算した時間以下となる残り時間Rtのフレームについて説明する。あるフレームが優先記憶部103に記憶されてから優先送信部104によって送信されるまでの平均的な時間として前述の時間αを定めると、時間αに遅延時間dtを加算することによって、通常記憶部101から優先記憶部103へフレームを転送してから、転送されたフレームが優先送信部104によって送信されるまでの時間を、前述の傾向を加味して推定することができる。つまり、時間αに遅延時間dtを加算した時間以下となる残り時間Rtのフレームとは、優先送信部104から送信しなければ、許容遅延時間Pdtが経過するまでに通信バスBに送信することができない可能性の高いフレームと考えることができる。したがって、制御部106は、通常記憶部101に記憶されているフレームの中で、時間αに遅延時間dtを加算した時間以下となる残り時間Rtのフレームを優先記憶部103に転送させる。
これにより、第2の実施形態に係る制御部106は、通常記憶部101に記憶されているフレームの内、受信部105で取得してから許容遅延時間Pdtが経過するまでの残り時間Rtが少なくなり、優先送信部104から送信しなければ、当該許容遅延時間Pdtが経過するまでに通信バスBに送信できない可能性が高いフレームを、通常記憶部101から優先記憶部103へ転送して優先送信部104から送信させることができる。
次に、上述で説明した第2の実施形態に係る制御部106の処理を示すフローチャートについて説明する。図11は、本実施形態に係る制御部106の処理の内、受信部105によってフレームが受信されたときの処理を示すフローチャートである。尚、本実施形態に係る制御部106は、後述で説明する図12のフローチャートに示す処理をしながら、受信部105によって受信情報が生成されたときに、割り込み処理として、図11のフローチャートに示す処理を開始する。
ステップS301において、制御部106は、受信部105から取得した受信情報によって示されるフレームの記憶先として通常記憶部101を示す記憶先情報を生成する。さらに、制御部106は、ステップS301において、受信部105から取得した受信情報によって示されるフレームの順番情報を図示しない記憶部に記憶する。制御部106は、ステップS301の処理を完了すると、ステップS302へ処理を進める。
ステップS302において、制御部106は、ステップS301で取得した受信情報によって示されるフレームの許容遅延時間Pdtを読み出し、読み出した許容遅延時間Pdtの時間を、当該フレームの残り時間Rtとして図示しない記憶部に記憶する。制御部106は、ステップS302の処理を完了すると、ステップS303へ処理を進める。
ステップS303において、制御部106は、ステップS301で取得した受信情報によって示されるフレームの計時時間Mdtの計時をゼロから開始する。制御部106は、ステップS303の処理を完了すると、図11のフローチャートに示す処理を完了する。
以上が、受信部105によって受信情報が生成されたときの制御部106の処理の説明である。次に、図12に示すフローチャートを参照しながら、制御部106が、通常記憶部101、及び優先記憶部103にそれぞれ記憶されているフレームを、通常送信部102、及び優先送信部104のいずれかから送信させるときの処理について説明する。図12のフローチャートは、図9のフローチャートに示す処理の内、ステップS213の代わりにステップS401を備え、ステップS215の処理を省略したフローチャートとなっている。したがって、図12のフローチャートに示す処理の内、図9のフローチャートに示す処理と同一の処理については、同一の参照符号を付して説明を省略する。
ステップS401において、制御部106は、ステップS212で判断したフレームを示す送信フレーム情報を生成して、生成した送信フレーム情報を取得した通常送信部102に当該フレームを通常記憶部101から取得して記憶させる。このとき、フレームを記憶した通常送信部102によって、フレーム記憶情報が生成され、制御部106は、生成されたフレーム記憶情報を取得して図示しない記憶部に記憶する。さらに、制御部106は、ステップS401において、図示しない記憶部に記憶している順番情報の内、転送部107に転送させたフレームの順番情報を優先記憶部103に記憶した順番を示す情報に更新し、当該フレームの残り時間Rtの計時を停止して、図示しない記憶部から計時を停止した残り時間Rtを削除する。制御部106は、ステップS401の処理を完了すると、ステップS214へ処理を進める。
以上が、受信部105によって受信情報が生成されたときの制御部106の処理の説明である。次に、図13に示すフローチャートを参照しながら、制御部106が、残り時間Rtを計時する処理、及び転送フレーム情報を生成する処理について説明する。尚、図13に示す処理は、残り時間Rtを計時する処理を含む。このため、制御部106は、図11、又は図12のフローチャートに示す処理をしながら、予め定められた期間(例えば、1[msec])が経過するたびに、割り込み処理として、図13のフローチャートに示す処理を開始する。
ステップS501において、制御部106は、通常記憶部101に記憶されている全てのフレームの残り時間Rtをそれぞれ前述の予め定められた期間(例えば、1[msec])だけ減算する。制御部106は、ステップS501の処理を完了すると、ステップS502へ処理を進める。
ステップS502において、制御部106は、前述の時間αと遅延時間dtとを加算した時間以下となる残り時間Rtのフレームがあるか否かを、管理している残り時間Rtに基づいて判断する。制御部106は、ステップS502において、前述の時間αと遅延時間dtとを加算した時間以下となる残り時間Rtのフレームがあると判断したとき、ステップS503へ処理を進める。一方、制御部106は、ステップS502において、前述の時間αと遅延時間dtとを加算した時間以下となる残り時間Rtのフレームがないと判断したとき、図13のフローチャートに示す処理を終了する。
ステップS503において、制御部106は、ステップS502において判断した前述の時間αと遅延時間dtとを加算した時間以下となる残り時間Rtのフレームを示す転送フレーム情報を生成して、当該フレームを転送部107によって転送させる。さらに、制御部106は、ステップS503において、生成した転送フレーム情報によって示されるフレームの残り時間Rtの計時を停止して図示しない記憶部から削除する。制御部106は、ステップS503の処理を完了すると、図13のフローチャートに示す処理を終了する。
以上が、第2の実施形態に係る制御部106の処理を示すフローチャートの説明である。制御部106が、図11〜図13にそれぞれ示すフローチャートに従って処理をすることにより、通常記憶部101に記憶されているフレームの内、許容遅延時間Pdtが経過するまでの残り時間Rtが少なくなり、優先送信部104から送信しなければ、許容遅延時間Pdtが経過するまでに通信バスBに送信できない可能性が高いフレームを、通常記憶部101から優先記憶部103へ転送して優先送信部104から送信させることができる。
尚、第2の実施形態の説明では、時間αを1つだけ予め定めておくものとしたが、時間αを図2に示すネットワークを流れるフレームの全てのIDにそれぞれ対応させて前述の傾向を加味した時間として複数定めてもよい。前述の傾向を加味して時間αを定める手法として、シミュレーションをして求めた値を時間αとして定める手法が一例として挙げられる。これにより、制御部106は、ステップS502の処理において、残り時間Rtと時間αとを比較するだけで、優先送信部104から送信しなければ、許容遅延時間Pdtが経過するまでに通信バスBに送信できない可能性が高いフレームを判断することができる。
また、第1の実施形態の説明では、遅延時間dtを更新するものとしたが、予め定められた遅延時間dtを更新することなく、第1の実施形態で説明した処理をしてもよい。このときの遅延時間dtは、それぞれフレームのID毎にシミュレーションなどに基づいて予め最適な時間を定めてもよい。
また、通常記憶部101、通常送信部102の記憶素子、優先記憶部103、及び優先送信部104の記憶素子は、それぞれ一部、又は全部が、1つのRAM、又は複数のRAMで実現されてもよい。
また、図2に示す通信ノードの一例としては、自動車などに搭載されるECU(Electric Control Unit)などが挙げられる。
また、上述した説明では、データ転送装置1、及びデータ転送装置2は、それぞれ通信バスAから通信バスBへデータを転送する装置として説明したが、通信バスBから通信バスAへデータを転送するための通常記憶部101〜転送部107までの構成をそれぞれさらに備え、通信バスAと通信バスBとの間でフレームを相互に転送してもよい。
また、上述したようにフレームのIDの数字が通信ノードや優先順位などを示し、さらに、IDの数字が相対的に小さいフレームの優先順位が高く、IDの数字が相対的に大きいフレームの優先順位が低くなるように予め定められているプロトコルとしてはCAN(Controller Area Network)プロトコルが一例として挙げられる。
また、第1の実施形態の説明では、制御部106は、受信部105によって受信された全てのフレームについて記憶先判断処理をしていたが、通常記憶部101に記憶されたフレームが予め定められた数以下であるときにのみ記憶先判断処理をしてもよい。遅延時間dtは、制御部106によって更新されていく値であり、フレームが受信部105によって受信されてから通常送信部102によって送信されるまでの厳密な時間を示す値ではない。このため、通常記憶部101に記憶されているフレームの数が相対的に多いときは、最大遅延時間Σdtとして加算する遅延時間dtの数が多くなり、厳密な時間ではない遅延時間dtが累積されるため、最大遅延時間Σdtの精度が過度に低下してしまう場合も考えられる。そこで、通常記憶部101に記憶されたフレームが予め定められた数以下であるときにのみ記憶先判断処理をすることにより、最大遅延時間Σdtの精度が過度に低下することを防げる。
また、許容遅延時間Pdtが相対的に短い多数のIDのフレームを本発明に係るデータ転送装置で転送するために、優先記憶部と優先送信部とをそれぞれ2以上備えていてもよい。
また、第1の実施形態で説明した最大遅延時間Σdtは、通常記憶部101、及び通常送信部102に記憶されている全てのフレームの遅延時間dtを加算した時間として説明したが、通常送信部102に記憶されているフレームの遅延時間dtから通常送信部102に記憶されてから経過した時間を減算した時間に、通常記憶部101に記憶されている全てのフレームの遅延時間dtを加算して最大遅延時間Σdtを算出してもよい。これにより、フレームが通常送信部102に記憶されてから送信されるまでのより正確な時間を最大遅延時間Σdtに反映させることができ、記憶先判断処理においてより正確な記憶先の判断をすることができる。
また、第1の実施形態で説明した最大遅延時間Σdtは、通常記憶部101、及び通常送信部102に記憶されている全てのフレームの遅延時間dtを加算した時間として説明した。しかしながら、最大遅延時間Σdtは、通常記憶部101、及び通常送信部102に記憶されているそれぞれのフレームの遅延時間dtから、それぞれのフレームを受信したときからの経過時間を減算した遅延時間dtの残り時間を全て加算することによって算出してもよい。遅延時間dtは、上述で説明したように、データ転送装置1が通信バスAを介して、あるIDのフレームを取得してから当該フレームを通信バスBに転送するまでに実際にかかった時間の内、最大の時間のことであるが、この時間の残り時間を、通常記憶部101、及び通常送信部102に記憶されている全てのフレームの分だけ加算して、最大遅延時間Σdtを算出することにより、上述で説明した記憶先判断処理において、受信したフレームを許容遅延時間Pdtが経過するまでに通常送信部102から送信できない可能性の高さをより正確に判断できる。遅延時間dtの残り時間は、上述で説明した残り時間Rtと同様の手法で計時、及び管理をしてもよいし、他の手法で計時、及び管理をしてもよい。
また、上述で説明した図8〜図9、及び図11〜図13のフローチャートに示す処理は、制御部106によって処理される主処理(メインルーチン)の中で行われる処理であってもよい。この場合、図8〜図9、及び図11〜図13のフローチャートに示す処理の内、割り込み処理として説明した処理は、上述で説明したタイミングに限らず、主処理をしているときであればどのようなタイミングで開始してもよい。さらに、この場合、図8〜図9、及び図11〜図13のフローチャートに示す処理の内、図9、又は図12のフローチャートに示すステップS217の処理を完了したとき、制御部106は、それぞれのフローチャートに示すステップS201へ処理を戻すのではなく、主処理の中でそれぞれのフローチャートの次に定義されている処理から主処理の最後の処理まで処理を完了し、次に主処理を最初から開始して、再び図9、又は図12に示すフローチャートの処理を開始すると、それぞれのフローチャートに示すステップS201の処理から処理を開始するものとする。
また、制御部106は、記憶装置(ROM、RAM、ハードディスク等)に格納された上述した処理手順(例えば、図8〜図9、及び図11〜図13のフローチャートに示す処理)を実施可能な所定のプログラムデータが、LSI、CPU或いはマイクロコンピュータなどによって解釈実行されることで実現されてもよい。CPUとは、自動車などの移動体に搭載されるECUを構成するCPUなどであってもよい。また、この場合、プログラムデータは、記憶媒体を介して記憶装置内に導入されてもよいし、記憶媒体上から直接実行されてもよい。尚、記憶媒体とは、ROMやRAMやフラッシュメモリなどの半導体メモリ、フレキシブルディスクやハードディスクなどの磁気ディスクメモリ、CD−ROMやDVDやBDなどの光ディスクメモリ、及びメモリカードなどであってもよい。
以上、本発明を詳細に説明してきたが、上述の説明はあらゆる点において本発明の一例にすぎず、その範囲を限定しようとするものではない。上述した全ての実施形態はどのように組み合わせてもよいし、本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
本発明によれば、中継データ、及び送信データが共に過度に遅延することを防げるデータ転送装置を提供でき、例えば、複数の通信バスの一方から他方へデータを転送するデータ転送装置などに有用である。
1 データ転送装置
2 データ転送装置
10〜50 通信ノード
101 通常記憶部
102 通常送信部
103 優先記憶部
104 優先送信部
105 受信部
106 制御部
107 転送部
2 データ転送装置
10〜50 通信ノード
101 通常記憶部
102 通常送信部
103 優先記憶部
104 優先送信部
105 受信部
106 制御部
107 転送部
Claims (4)
- 予め定められた情報量の単位データを一方の通信線より取得して他方の通信線へ転送するデータ転送装置であって、
前記一方の通信線より取得した前記単位データを順番に記憶する記憶手段と、
前記記憶手段に記憶された順番に前記単位データを取得して前記他方の通信線へ送信する送信手段と、
前記一方の通信線より取得した前記単位データの内、前記記憶手段に記憶されてから前記送信手段によって送信されるまでに許容できる予め定められた許容遅延時間が経過するまでに当該送信手段から送信できない前記単位データを特定する特定手段と、
前記特定手段によって特定された前記単位データを前記送信手段よりも優先的に前記他方の通信線へ送信する優先送信手段とを備える、データ転送装置。 - 前記一方の通信線より前記単位データを取得してから前記送信手段によって送信されるまでの遅延時間を前記単位データの種別毎に予め記憶する記憶手段と、
前記一方の通信線より前記単位データを新たに取得したとき、当該単位データが前記記憶手段に記憶されるまでに前記送信手段によって送信されていない全ての前記単位データの前記遅延時間を加算することにより、新たに取得した前記単位データが前記送信手段によって送信されるまでの最大遅延時間を求める最大遅延時間演算手段とをさらに備え、
前記特定手段は、前記記憶手段に記憶されたときの前記最大遅延時間が前記許容遅延時間以上である前記単位データを、当該許容遅延時間が経過するまでに前記送信手段から送信できないデータとして特定する、請求項1に記載のデータ転送装置。 - 前記一方の通信線より前記単位データを取得してから送信されるまでの遅延時間を前記単位データの種別毎に予め記憶する遅延時間記憶手段と、
前記一方の通信線より前記単位データを取得してから前記許容遅延時間が経過するまでの残り時間を、前記一方の通信線より取得した前記単位データ毎に計時する計時手段と、
前記特定手段によって特定された前記単位データを、特定された順番に記憶する優先記憶手段と、
前記単位データが前記優先記憶手段に記憶されてから送信されるまでの予め定められた優先送信時間を記憶する優先送信時間記憶手段とをさらに備え、
前記特定手段は、前記遅延時間と前記優先送信時間とを加算した時間が前記残り時間以下となった前記単位データを、前記許容遅延時間が経過するまでに前記送信手段から送信できないデータとして特定し、
前記優先送信手段は、前記優先記憶手段に記憶された順番に前記単位データを前記他方の通信線へ送信する、請求項1に記載のデータ転送装置。 - 予め定められた情報量の単位データを一方の通信線より取得して他方の通信線へ転送するデータ転送装置で実行されるデータ転送方法であって、
前記一方の通信線より前記単位データを取得する取得ステップと、
前記取得ステップで取得された順番に前記単位データを記憶する記憶ステップと、
前記記憶ステップで記憶された順番に前記単位データを送信する送信ステップと、
前記取得ステップで取得された前記単位データの内、当該取得ステップにおいて取得されてから前記送信ステップにおいて送信されるまでに許容できる予め定められた許容遅延時間が経過するまでに送信されない前記単位データを特定する特定ステップと、
前記特定ステップにおいて特定された前記単位データを前記送信ステップよりも優先的に前記他方の通信線へ送信する優先送信ステップとを備える、データ転送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008284540A JP2010114592A (ja) | 2008-11-05 | 2008-11-05 | データ転送装置、及びデータ転送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008284540A JP2010114592A (ja) | 2008-11-05 | 2008-11-05 | データ転送装置、及びデータ転送方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010114592A true JP2010114592A (ja) | 2010-05-20 |
Family
ID=42302813
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008284540A Pending JP2010114592A (ja) | 2008-11-05 | 2008-11-05 | データ転送装置、及びデータ転送方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010114592A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015053568A (ja) * | 2013-09-06 | 2015-03-19 | 日立オートモティブシステムズ株式会社 | 通信制御装置 |
US9294402B2 (en) | 2011-03-28 | 2016-03-22 | Panasonic Intellectual Property Management Co., Ltd. | Router, method for controlling router, and program |
-
2008
- 2008-11-05 JP JP2008284540A patent/JP2010114592A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9294402B2 (en) | 2011-03-28 | 2016-03-22 | Panasonic Intellectual Property Management Co., Ltd. | Router, method for controlling router, and program |
US9444740B2 (en) | 2011-03-28 | 2016-09-13 | Panasonic Intellectual Property Management Co., Ltd. | Router, method for controlling router, and program |
JP2015053568A (ja) * | 2013-09-06 | 2015-03-19 | 日立オートモティブシステムズ株式会社 | 通信制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10129124B2 (en) | Method and apparatus for controlling in-vehicle mass diagnostic communication | |
JP4953861B2 (ja) | 車載ゲートウェイ装置及びデータ転送方法 | |
US20200186552A1 (en) | Method for sensing fraudulent frames transmitted to in-vehicle network | |
US10432645B2 (en) | In-vehicle network system, fraud-detection electronic control unit, and fraud-detection method | |
KR101870028B1 (ko) | 차량 탑재 기록 시스템 | |
JP5811897B2 (ja) | ゲートウエイ装置 | |
JP4987760B2 (ja) | 中継装置、通信システム及び通信方法 | |
WO2018186054A1 (ja) | 不正通信検知基準決定方法、不正通信検知基準決定システム及びプログラム | |
WO2018186053A1 (ja) | 不正通信検知方法、不正通信検知システム及びプログラム | |
JP2015080045A (ja) | 車載診断システム | |
CN110650175A (zh) | 在车辆网络中使用多个域同步通信节点的方法和装置 | |
US11190332B2 (en) | Operation method of communication node for time synchronization in vehicle network | |
JP2010114592A (ja) | データ転送装置、及びデータ転送方法 | |
WO2020184239A1 (ja) | 通信装置、通信システム及びメッセージ調停方法 | |
JP6319010B2 (ja) | プローブ情報収集装置、及びプローブ情報収集方法 | |
JP2003244180A (ja) | データ中継装置および多重通信システム | |
JP2009147555A (ja) | 車載用電子制御ユニットの故障予測システム | |
JP2009236026A (ja) | 車両情報記憶装置、装置情報データ記憶システム、装置情報データ記憶方法 | |
JP5075868B2 (ja) | 車載のゲートウェイ装置 | |
JP6172754B2 (ja) | 通信装置及び通信方法 | |
JP3487048B2 (ja) | 通信システム | |
JP5302380B2 (ja) | 接続装置および接続方法 | |
WO2023276635A1 (ja) | 通信装置、中継装置及び通信方法 | |
JP2018056980A (ja) | 攻撃検知装置、攻撃検知方法、および、攻撃検知プログラム | |
JP6766685B2 (ja) | 通信装置及び通信端末装置 |