(第1の実施形態)
図1は、本発明に係る中継システム1の概略構成を説明するブロック図である。本発明に係る中継システム1は、第1の通信ノード10a〜10b、第1の中継装置20、第2の中継装置30、第2の通信ノード40a〜40b、基準ノード50a〜50b、及び基準ノード60a〜60bを備えている。
第1の通信ノード10a〜10bのそれぞれは、第1の通信線Aに接続されており、通信情報を第1の通信線Aに送信する。第1の中継装置20は、第1の通信線A、及び第2の通信線Bに接続されており、第1の通信線Aから受信した通信情報の中で第2の通信線Bに中継するように予め定められた通信情報を、第2の通信線Bに送信することによって、通信情報を第1の通信線Aから第2の通信線Bに中継する。第2の中継装置30は、第1の中継装置20と同様に、通信情報を第1の通信線Aから第2の通信線Bに中継する。第2の通信ノード40a〜40bのそれぞれは、第2の通信線Bに接続されており、第1の中継装置20、及び第2の中継装置30によってそれぞれ中継される通信情報の中から自ノードに送信された通信情報を受信する。基準ノード50a〜50b、及び基準ノード60a〜60bについてはそれぞれ後述する。
中継システム1では、第1の通信線Aに接続されている第1の通信ノード10a〜10b、及び基準ノード50a〜50bで第1のネットワークを構成している。さらに、中継システム1では、第2の通信線Bに接続されている第2の通信ノード40a〜40b、及び基準ノード60a〜60bで第2のネットワークを構成している。そして、第1の中継装置20、及び第2の中継装置30のそれぞれは、第1のネットワークと第2のネットワークとに接続され、第1のネットワークで送受信される通信情報の中で中継するように予め定められた通信情報を第2のネットワークに送信して中継する。
尚、図1には、第1のネットワークに接続される第1の通信ノードの一例として2つの第1の通信ノード10a〜10bを示しているが、第1のネットワークに接続される第1の通信ノードは1つであってもよいし3以上であってもよい。また、図1には、第2のネットワークに接続される第2の通信ノードの一例として2つの第2の通信ノード40a〜40bを示しているが、第2のネットワークに接続される第2の通信ノードは1つであってもよいし3以上であってもよい。また、図1には第1のネットワークと第2のネットワークとを中継する中継装置として第1の中継装置20、及び第2の中継装置30の2つの中継装置を示しているが、第1のネットワークと第2のネットワークとを中継する中継装置は3以上であってもよい。
本実施形態に係る中継システム1は、通信プロトコルの一例として、ネットワーク毎にFlexRayプロトコルにしたがって送信受信される通信情報を第1の中継装置20、及び第2の中継装置30でそれぞれ中継するものとする。以下に、FlexRayプロトコルの概要について説明する。
図2は、FlexRayプロトコルにおける通信時間の階層的な分け方を説明する図である。以下、第1のネットワークにおける通信を一例としてFlexRayプロトコルにおける通信時間の分け方について説明する。FlexRayプロトコルにおける通信時間は、図2に示すように0から63のコミュニケーションサイクルに分けて定められている。第1のネットワークを構成する全てのノード、すなわち、図1に示す例では第1の通信ノード10a〜10b、及び基準ノード50a〜50bは、それぞれ1つのコミュニケーションサイクルの中で割り当てられた時間に通信情報を順番に送信する。そして、第1のネットワークを構成する全てのノードが、それぞれ1つのコミュニケーションサイクルにおける通信情報の送受信を完了すると次のコミュニケーションサイクルにおける通信情報の送受信を開始し、0〜63までのコミュニケーションサイクルを完了すると、再び0のコミュニケーションサイクルから通信情報の送受信を繰り返す。
図2に示すように1つのコミュニケーションサイクルにおける時間は、静的セグメント、動的セグメント、シンボルウインドウ、及びNIT(Network Idle Time:ネットワークアイドルタイム)に分けられる。さらに、図2に示すように、静的セグメントにおける時間は、1〜n番目まで順番に番号が増加する静的スロットという時間単位で分けられる。FlexRayプロトコルでは、通信情報としてフレームが送受信され、1つの静的スロットの時間には、静的スロットの番号と同じ番号のフレームIDのフレームの送信時間が割り当てられる。また、全てのノード(本実施形態では、第1の通信ノード10a〜10b、第2の通信ノード40a〜40b、基準ノード50a〜50b、及び基準ノード60a〜60b)は、互いに異なるフレームIDのフレームを送信する。
そして、1つのネットワークに接続されている全てのノードのそれぞれが、時間の経過にしたがって増加する静的スロットの番号を、それぞれ内部に備えているタイマを用いて時間を計時することによって共通して独自に認識する。1つのネットワークに接続されている全てのノードは、それぞれが独自に認識した時間に基づき、自ノードから送信するフレームのフレームIDと同じ番号の静的スロットに対応する期間が到来するタイミング(以下、自ノードの送信タイミングと称する)が到来したと判断したときにフレームを送信することにより、互いに送信するフレームを衝突することなく送信できる。
動的セグメントは、1つのネットワークに接続されたそれぞれのノードが、必要に応じて任意のタイミングでフレームを送信できる期間である。また、シンボルウインドウは、必ずしも設けられなくてもよい。また、NITは、後述する同期補正処理、及びエラー訂正などをする期間である。
以下、1つのネットワークに接続されている全てのノードが、第1のネットワークにおける共通の時間を独自に認識して、フレームを互いに同期しながら送信するために、自ノードの送信タイミングを認識する同期処理を、第1のネットワークに接続されているノードの同期処理を一例として説明する。基準ノード50a〜50bは、FlexRayプロトコルにおいていわゆるコールドスタート・ノードと呼ばれるノードである。基準ノード50a〜50bは、同一、或いは互いに異なる外部のスイッチにより作動状態になったときに、同期処理を開始する。
より詳細には、基準ノード50a〜50bは、それぞれ外部のスイッチにより作動状態になったときに、第1の通信線Aから、CAS(Collision Avoidance Symbol)を受信するまで、予め定められた待機期間を通じて待機する。第1のネットワークに接続されたコールドスタート・ノード、すなわち、本実施形態では基準ノード50a〜50bの内、予め定められた待機期間が経過するまでにCASを受信できない基準ノードが、先にCASを第1の通信線Aに送信し、リーディング・コールドスタート・ノードとなる。ここで、仮に、基準ノード50aの外部のスイッチが基準ノード50bよりも先にオンにされて作動状態になったのに続いて基準ノード50bが作動状態になり、互いにCASを受信できないまま基準ノード50aの待機期間が先に経過し、基準ノード50aが基準ノード50bよりも先にCASを送信する場合を想定して、前述の同期処理を説明する。
基準ノード50aが基準ノード50bよりも先にCASを送信すると、基準ノード50aは上述したようにリーディング・コールドスタート・ノードとなり、リーディング・コールドスタート・ノードの同期処理を開始する。これに対して、まだ待機期間の経過していない基準ノード50bは、基準ノード50aから先に送信されたCASを受信してフォローイング・コールドスタート・ノードとなり、フォローイング・コールドスタート・ノードの同期処理を開始する。リーディング・コールドスタート・ノードとなった基準ノード50aは、同期処理を開始すると、ゼロのコミュニケーションサイクルからフレームの送信を開始する。
より具体的には、リーディング・コールドスタート・ノードとなった基準ノード50aは、同期処理を開始すると、ゼロのコミュニケーションサイクルから予め定められた連続するコミュニケーションサイクルにおいて、コミュニケーションサイクル毎にスタートアップフレームを第1の通信線Aへ送信する。一方、フォローイング・コールドスタート・ノードとなった基準ノード50bは、同期処理を開始すると、前述の予め定められた連続するコミュニケーションサイクルにおいて、コミュニケーションサイクル毎に基準ノード50aから送信されるスタートアップフレームを受信し、スタートアップフレームを受信したタイミングに基づき、1つのコミュニケーションサイクルにおいて、自ノードからフレームを送信するタイミングを認識する。
フォローイング・コールドスタート・ノード、すなわち、本実施形態では基準ノード50bが、スタートアップフレームを受信したタイミングに基づいて、自ノードからフレームを送信するタイミングを認識するときには、内部に備えられたタイマを用いる。より詳細には、第1のネットワークに接続される全てのノードは、それぞれ予め定められた互いに異なるフレームIDのフレームを送信する。そして、1つのネットワークでは、上述で説明したように、1つの静的スロットに対応する時間は、静的スロットの番号と同じフレームIDのフレームの送信時間となる。また、FlexRayプロトコルでは、1つのネットワークに接続されているノードから送信されたフレームは、同一のネットワークに接続されている全てのノードによって受信される。
つまり、自ノードの送信タイミングは、それぞれのノードが、ある静的スロットに対応する時間で当該静的スロットの番号と同じフレームIDのフレームを受信してから自ノードから送信されるフレームIDと同じ静的スロットに対応する時間が到来するまでの時間を内部に備えているタイマを用いて計測することによって、それぞれ認識できる。
ただし、FlexRayプロトコルでは、典型的には、1つのネットワークに接続されている全てのノードの中でコールドスタートノード、或いは同期ノードとして予め定められたノードから送信されるスタートアップフレーム、或いは同期フレームを受信してからの時間に基づいて、1つのネットワークに接続された全てのノードのそれぞれが自ノードの送信タイミングを認識する。
フォローイング・コールドスタート・ノードとなった基準ノード50bも同様に、基準ノード50aから送信されたスタートアップフレームを受信してからの時間を計測することによって、自ノードの送信タイミングを認識する。自ノードの送信タイミングを認識すると、基準ノード50bは、自ノードの送信タイミングが到来したときにスタートアップフレームの送信を開始する。
フォローイング・コールドスタート・ノードとなった基準ノード50bが、スタートアップフレームの送信を開始すると、当該ノードがスタートアップフレームの送信を開始してから予め定められた連続するコミュニケーションサイクルにおいて、コミュニケーションサイクル毎にスタートアップフレームを第1の通信線Aに送信する。このとき、リーディング・コールドスタート・ノードである基準ノード50aは、引き続きスタートアップフレームをコミュニケーションサイクル毎に送信している。
基準ノード50a、及び基準ノード50bの両方からスタートアップフレームが送信されるコミュニケーションサイクルが到来すると、次に、コールドスタート・ノードでない第1の通信ノード10a〜10b(非コールドスタート・ノード)が、第1のネットワークにおける自ノードの送信タイミングをそれぞれ認識する、非コールドスタート・ノードの同期処理を開始する。
より詳細には、第1の通信ノード10a〜10bのそれぞれは、非コールドスタート・ノードの同期処理を開始すると、予め定められた連続するコミュニケーションサイクルでコミュニケーションサイクル毎に基準ノード50aと基準ノード50bとの両方から第1の通信線Aに送信されるスタートアップフレームを受信する。第1の通信ノード10a〜10bは、予め定められた連続する全てのコミュニケーションサイクルで、基準ノード50aと基準ノード50bとの両方から送信されるスタートアップフレームを受信できたとき、スタートアップフレームを受信したタイミングに基づいて、基準ノード50bと同様に自ノードの送信タイミングをそれぞれ認識する。
そして、第1のネットワークに接続された全てのノードは、自ノードの送信タイミングをそれぞれ認識したとき、それぞれのノードの同期処理を完了する。
以上で説明したように、第1のネットワークに接続されている全てのノードは、互いに送信するフレームが衝突しないように同期して送信できるように、予め定められた連続するコミュニケーションサイクルで、自ノードの送信タイミングをそれぞれ認識する同期処理をする。第1のネットワークに接続されている全てのノードは、同期処理を完了した後、予め定められた任意のタイミングでフレームの送受信を開始する。
尚、上述の説明では、リーディング・コールドスタート・ノードが、ゼロのコミュニケーションサイクルから同期処理を開始することを説明したが、1つのネットワークに接続された全てのノードがそれぞれの同期処理を完了した後、コミュニケーションサイクルの数がゼロになったときには、上述で説明した同期処理はしない。
ただし、第1のネットワークに接続されている全てのノードは、コールドスタート・ノードから第1の通信線Aに送信されるスタートアップフレームだけでなく、同期処理を完了した後、前述の同期ノードからコミュニケーションサイクル毎に送信される同期フレームに基づいて、最初に認識した自ノードの送信タイミングを互いに補正する同期補正処理をしてもよい。
また、上述の説明では、一例として、第1のネットワークに接続されている基準ノード50a〜50b、及び第1の通信ノード10a〜10bが、第1のネットワークにおける自ノードの送信タイミングを認識するそれぞれの同期処理を説明したが、第2のネットワークに接続されている全てのノードも同様に同期処理をして第2のネットワークにおける自ノードの送信タイミングをそれぞれ認識する。
また、本実施形態に係る第1の中継装置20、及び第2の中継装置30のそれぞれは、第1の通信線Aから受信したフレームを第2の通信線Bに送信して中継するため、第2のネットワークにおける自装置の送信タイミング(上述した自ノードの送信タイミング)を認識する同期処理を少なくともする。
より具体的には、第1の中継装置20が、第2のネットワークにおけるコールドスタート・ノードとして構成されている場合は、上述で説明したリーディング・コールドスタート・ノード、或いはフォローイング・コールドスタート・ノードの同期処理をして、第2のネットワークにおける自装置の送信タイミングを認識する。また、第1の中継装置20が非コールドスタート・ノードとして構成されている場合は、上述で説明した非コールドスタート・ノードの同期処理をして第2のネットワークにおける自装置の送信タイミングを認識する。第2の中継装置30も第1の中継装置20と同様に同期処理をして、第2のネットワークにおける自装置の送信タイミングを認識する。
そして、本実施形態に係る第1の中継装置20、及び第2の中継装置30は、第2のネットワークにおける自装置の送信タイミングを認識する同期処理をして認識した自装置の送信タイミングで、第1の通信線Aから受信したフレームの中から第2の通信線Bに中継するフレームを送信して中継する。
また、第2のネットワークには、第1の中継装置20、及び第2の中継装置30によって、第1のネットワークで送受信されるフレームが送信されるため、第2のネットワークにおける静的スロットは、第2のネットワークに接続された全てのノードからそれぞれ送信されるフレームのフレームIDに対応する静的スロットだけでなく、第1のネットワークにおいて送受信されるフレームのフレームIDに対応する番号の静的スロットも考慮して設けなければならない。
ここで、上述したスタートアップフレーム、及び同期フレームなどを説明するために、図3を参照しながら、FlexRayプロトコルにしたがって送受信されるフレームの概略構成について説明する。図3は、本実施形態に係る全てのノード、及び全ての中継装置が送受信するFlexRayプロトコルで規定されたフレームの概略構成を示す図である。FlexRayプロトコルにおけるフレームは、図3に示すように、大きく分けてヘッダセグメント、ペイロードセグメント、及びトレーラセグメントからなる。ヘッダセグメントは、図3に示すように、同期フレームインジケータ、スタートアップフレームインジケータ、フレームID、及びサイクルカウンタなどの情報で構成される。これらのデータは、“1”、又は“0”を示す1ビット以上の情報で構成される。
同期フレームインジケータは、フレームが上述で説明した同期フレームであるか否かを示す1ビットの情報であり、同期フレームインジケータとして“1”の情報を含むフレームは、あるネットワークに接続された全てのノード、及び中継装置において同期フレームと見なされる。
また、スタートアップフレームインジケータは、フレームが上述で説明したスタートアップフレームであるか否かを示す1ビットの情報であり、スタートアップフレームインジケータとして“1”の情報を含むフレームは、あるネットワークに接続された全てのノード、及び中継装置においてスタートアップフレームと見なされる。また、フレームIDは、フレームの識別子を示す11ビットの情報である。また、サイクルカウンタは、それぞれのノードがフレームを送信した回数を示す6ビットの情報であって、この情報は、上述で説明したように時間の経過にしたがって増加するコミュニケーションサイクルの数を示す。
尚、ヘッダセグメントには、上述で説明した情報の他にも、予約ビット、ペイロードプリアンブルインジケータ、及びヌルフレームインジケータなどの情報も含まれるが、本発明の要旨とは関係がないため、説明を省略する。
次に、ペイロードセグメントについて説明する。ペイロードセグメントは、0〜254バイトの情報量を有し、フレームで送信先のノードに伝えたい情報を示す。トレーラセグメントは、24ビットの情報量のCRC(Cyclic Redundancy Check)コードであって、ヘッダセグメント、及びペイロードセグメントに含まれる情報に基づいて計算されたCRCコードで構成される。以上が、FlexRayプロトコルにしたがって送受信されるフレームの概略構成の説明である。
以上が、FlexRayプロトコルの概要の説明である。次に、本実施形態に係る第1の中継装置20、及び第2の中継装置30のそれぞれについて説明する。まず、第1の中継装置20の概略構成について説明する。図4は、本実施形態に係る第1の中継装置20の概略構成を示すブロック図である。本実施形態に係る第1の中継装置20は、中継部201と、送信部203と、中断部204とを備える。
中継部201は、上述で説明したいずれかの同期処理をして第2のネットワークにおける自装置の送信タイミングを認識した後、第1の通信線Aから受信したフレームの中から中継するように予め定められたフレームを、同期処理で認識した第2のネットワークにおける自装置の送信タイミングで第2の通信線Bへ送信して中継する。
より詳細には、中継部201は、全てのノードから第1の通信線Aに送信されるフレームを受信して、記憶部202に記憶させる。中継部201は、フレームを受信する度に、受信したフレームに含まれるサイクルカウンタによって示される数値を後述する交替時点認識部205に通知する。また、中継部201は、後述するように定時中断部206によって中断指示情報が生成されたとき、フレームの中継を中断する。また、中継部201は、後述するように中継再開部207によって再開指示情報が生成されたとき、中断したフレームの中継を再開する。
記憶部202には、中継部201によって第1の通信線Aから受信されたフレームの内、第2の通信線Bに中継するフレームが記憶される。ここで、記憶部202には、例えば、第1の通信線Aに送信されるフレームのフレームIDの中から第2の通信線Bに中継するフレームのフレームIDを予め定めて、いわゆるルーティングマップとしてさらに記憶させておいてもよい。記憶部202に、中継するフレームのフレームIDを予め記憶させておくことにより、中継部201は、第1の通信線Aから受信したフレームの中から、記憶部202に記憶されているフレームIDのフレームを選択して、選択したフレームのみを中継するフレームとして記憶部202に記憶させることができる。
中継部201は、記憶部202に記憶されたフレームを、図示しない演算部で処理する。ここで、中継部201が、図示しない演算部でする処理の一例としては、フレームのチェックサムを計算し直す、記憶したフレームを第2の通信線Bへ送信して中継する順番を決定するなどの処理が挙げられる。
中継部201は、第1の通信線Aからフレームを受信している期間を通じて、記憶部202に記憶されたフレームを、図示しない演算部で処理し、処理の完了したフレームを、既に認識した第2のネットワークにおける送信タイミングが到来したときに、図示しない送信部で第2の通信線Bに送信して中継する。ここで、中継部201が、上述で説明したように、記憶したフレームを第2の通信線Aへ送信して中継する順番を決定する処理を図示しない演算部でする場合には、中継部201は、決定した順番で、図示しない送信部を用いてフレームを送信して中継する。
送信部203は、後述するように中継部201がフレームの中継を中断している期間を通じて、記憶部202に既に記憶され、中継部201の図示しない演算部による処理の完了したフレームを、完了した順番に第2の通信線Bに送信する。より詳細には、送信部203は、後述するように定時中断部206によって中断指示情報が生成されたとき、記憶部202に既に記憶され、処理の完了したフレームを完了した順番に、中継部201によって認識された送信タイミングで第2の通信線Bに送信することを開始する。このとき、上述したように、中継部201が、記憶部202に記憶されたフレームを第2の通信線Aへ送信する順番を図示しない演算部で決定する処理をする場合には、送信部203は、中継部201によって認識された送信タイミングが到来したときに、当該処理で決定された順番で、記憶部202に記憶されたフレームを送信する。
一方、送信部203は、後述するように中継再開部207によって再開指示情報が生成され、中継部201がフレームの中継を再開したとき、フレームの第2の通信線Bへの送信を停止する。
中断部204は、中継部201から通知されるサイクルカウンタの数に基づき、予め定められたタイミングで中継部201のフレームの中継を中断させる。より詳細には、中断部204は、交替時点認識部205と、定時中断部206と、中継再開部207とを含む。
交替時点認識部205は、上述で説明したように中継部201から通知されるサイクルカウンタの数に基づき、予め定められた交替タイミングを認識する。本実施形態に係る交替時点認識部205が認識する交替タイミングには、第1の中継装置20から第2の中継装置30にフレームの中継を交替する第1の交替タイミングと、第2の中継装置30から第1の中継装置20にフレームの中継を交替する第2の交替タイミングとの2種類の交替タイミングがある。
そして、交替時点認識部205は、前述の第1の交替タイミングに対応する予め定められた1以上のサイクルカウンタの数を図示しない記憶部に記憶している。さらに、交替時点認識部205は、前述の第2の交替タイミングに対応する予め定められた1以上のサイクルカウンタの数を図示しない記憶部に記憶している。
そして、交替時点認識部205は、中継部201から通知されるサイクルカウンタの数と、第1の交替タイミングとして図示しない記憶部に記憶しているサイクルカウンタの数とが一致したとき、第1の交替タイミングが到来したと判断し、第1の交替タイミングが到来したことを示す第1の交替タイミング情報を生成する。また、交替時点認識部205は、中継部201から通知されるサイクルカウンタの数と、第2の交替タイミングとして図示しない記憶部に記憶しているサイクルカウンタの数とが一致したとき、第2の交替タイミングが到来したと判断し、第2の交替タイミングが到来したことを示す第2の交替タイミング情報を生成する。
定時中断部206は、交替時点認識部205によって、第1の交替タイミング情報が生成されたとき、生成された第1の交替タイミング情報を取得する。定時中断部206は、第1の交替タイミング情報を取得したとき、後述する中断指示情報を生成する。
中継再開部207は、交替時点認識部205によって、第2の交替タイミング情報が生成されたとき、生成された第2の交替タイミング情報を取得する。中継再開部207は、第2の交替タイミング情報を取得したとき、フレームの中継を再開させる指示を示す再開指示情報を生成する。
以上が、第1の中継装置20の概略構成の説明である。次に、第2の中継装置30の概略構成について説明する。ただし、第2の中継装置30の概略構成は、第1の中継装置20の概略構成と比較して、定時中断部206、及び中継再開部207の動作のみが異なり、他の構成要素は同じそれぞれ動作をする。このため、第2の中継装置30の概略構成の説明では、定時中断部206、及び中継再開部207の動作のみを説明し、他の構成要素の説明は省略する。
第2の中継装置30の定時中断部206は、交替時点認識部205によって第2の交替タイミング情報が生成されたとき、生成された第2の交替タイミング情報を取得する。第2の中継装置30の定時中断部206は、第2の交替タイミング情報を取得したとき、後述する中断指示情報を生成する。
第2の中継装置30の中継再開部207は、交替時点認識部205によって第1の交替タイミング情報が生成されたとき、生成された第1の交替タイミング情報を取得する。第2の中継装置30の中継再開部207は、第1の交替タイミング情報を取得したとき、フレームの中継を再開させる指示を示す再開指示情報を生成する。
以上が、第2の中継装置30の概略構成の説明である。次に、本実施形態に係る中継システム1において、第1の中継装置20と第2の中継装置30とが、互いにフレームの中継を交替するときの動作を説明する。まず、第1の中継装置20から第2の中継装置30に中継を交替するタイミングが到来したとき、すなわち、第1の交替タイミングが到来したときの第1の中継装置20と第2の中継装置30との動作をそれぞれ説明する。
尚、以下の説明では、第1の通信ノード10a〜20b、基準ノード50a〜50b、第2の通信ノード40a〜40b、基準ノード60a〜60b、第1の中継装置20、及び第2の中継装置30のそれぞれのネットワークにおけるそれぞれの同期処理が完了して、第1の中継装置20、及び第2の中継装置30が、それぞれ第2のネットワークにおける送信タイミングを認識し、既に、第1の中継装置20がフレームの中継をしており、第2の中継装置30がフレームの中継を中断している場合を一例として説明する。
第1の交替タイミングが到来したときの第1の中継装置20の動作について説明する。第1の中継装置20の交替時点認識部205は、中継部201から通知されるサイクルカウンタの数が、第1の交替タイミングとして予め記憶しているサイクルカウンタの数と一致したとき、第1の交替タイミング情報を生成する。第1の交替タイミング情報を取得した定時中断部206は、次のコミュニケーションサイクルからフレームの中継を中断する指示を示す中断指示情報を生成する。中断指示情報を取得すると中継部201は、内部に備えている図示しないタイマを用いて、中断指示情報を取得したときのコミュニケーションサイクルにおける上述で説明したNITのタイミングが到来したことを判断したときに、フレームの中継を中断する。
また、第1の交替タイミング情報を取得した送信部203は、中継部201がフレームの中継を中断している期間を通じて、上述で説明したように、記憶部202に既に記憶され、中継されずに残っているフレームを、第2のネットワークにおける自装置の送信タイミングで、記憶部202から第2の通信線Bへ送信する。
次に、第1の交替タイミングが到来したときの第2の中継装置30の動作について説明する。第2の中継装置30の交替時点認識部205は、中継部201から通知されるサイクルカウンタの数が、第1の交替タイミングとして予め記憶しているサイクルカウンタの数と一致したとき、第1の交替タイミング情報を生成する。第1の交替タイミング情報を取得した第2の中継装置30の中継再開部207は、次のコミュニケーションサイクルからフレームの中継を再開する指示を示す再開指示情報を生成する。再開指示情報を取得すると第2の中継装置30の中継部201は、内部に備えられている図示しないタイマを用いて、再開指示情報を取得したときのコミュニケーションサイクルにおける上述で説明したNITのタイミングが到来したことを判断したときに、フレームの中継を再開する。
また、第1の交替タイミング情報を取得した第2の中継装置30の送信部203は、第2の中継装置30の中継部201がフレームの中継を再開した後、記憶部202に記憶されているフレームの送信を停止する。
以上が、第1の交替タイミングが到来したときの第1の中継装置20と第2の中継装置30との動作の説明である。次に、第2の中継装置30から第1の中継装置20に中継を交替するタイミングが到来したとき、すなわち、第2の交替タイミングが到来したときの第1の中継装置20と第2の中継装置30との動作をそれぞれ説明する。
第2の交替タイミングが到来したときの第1の中継装置20の動作について説明する。第1の中継装置20の交替時点認識部205は、中継部201から通知されるサイクルカウンタの数が、第2の交替タイミングとして予め記憶しているサイクルカウンタの数と一致したとき、第2の交替タイミング情報を生成する。第2の交替タイミング情報を取得した第1の中継装置20の中継再開部207は、次のコミュニケーションサイクルからフレームの中継を再開する指示を示す再開指示情報を生成する。再開指示情報を取得すると第1の中継装置20の中継部201は、内部に備えている図示しないタイマを用いて、再開指示情報を取得したときのコミュニケーションサイクルにおけるNITのタイミングが到来したことを判断したときに、フレームの受信を再開する。
また、第2の交替タイミング情報を取得した第1の中継装置20の送信部203は、中継部201がフレームの中継を再開したときにフレームの送信を停止する。
次に、第2の交替タイミングが到来したときの第2の中継装置30の動作について説明する。第2の中継装置30の交替時点認識部205は、中継部201から通知されるサイクルカウンタの数が、第2の交替タイミングとして予め記憶しているサイクルカウンタの数と一致したとき、第2の交替タイミング情報を生成する。第2の交替タイミング情報を取得した第2の中継装置30の定時中断部206は、次のコミュニケーションサイクルからフレームの中継を中断する指示を示す中断指示情報を生成する。中断指示情報を取得すると第2の中継装置30の中継部201は、内部に備えている図示しないタイマを用いて、中断指示情報を取得したときのサイクルにおけるNITのタイミングが到来したことを判断したときに、フレームの中継を中断する。
また、第2の交替タイミング情報を取得した第2の中継装置30の送信部203は、第2の中継装置30の中継部201がフレームの中継を中断している期間を通じて、上述で説明したように、第2の中継装置30の記憶部202に既に記憶され、中継されずに残っているフレームを第2のネットワークにおける自装置の送信タイミングで、第2の中継装置30の記憶部202から第2の通信線Bへ送信する。
以上が、第2の交替タイミングが到来したときの第1の中継装置20と第2の中継装置30との動作の説明である。
第1の中継装置20では、第1の交替タイミングが到来したときに、定時中断部206が、上述で説明したようにフレームの中継を停止させた後、記憶部202に残っているフレームを図示しない演算部で処理して、送信部203で第2の通信線Bに送信する。すなわち、第1の中継装置20の中継部201が、第1の通信線Aから受信するフレームの単位時間当たりの数に対して、図示しない演算部で処理できるフレームの単位時間当たりの数が少なく、記憶部202に記憶されるフレームの数が時間の経過と共に増大していくとしても、第1の交替タイミングが到来した後に、第1の中継装置20では、中継部201による中継を中断して送信部203による送信をする。したがって、本実施形態に係る中継システム1によれば、第1の中継装置20では、第1の交替タイミングが到来したときに、中継部201がフレームの中継を中断している間に、記憶部202に記憶されている残りのフレームを全て第2の通信線Bへ送信し、中継するデータを、大きな遅延を生じさせることなく第2の通信線Bに送信できるという効果を得られる。
また、本実施形態に係る中継システム1によれば、第1の交替タイミングが到来したときに、第1の中継装置20から第2の中継装置30にフレームの中継を交替するため、第2の中継装置30は、記憶部202に記憶された残っているフレームを全て第2の通信線Bに送信した後に、中継を再開できるという効果を得られる。
そして、本実施形態に係る中継システム1では、第1の交替タイミングが到来したときに、第1の中継装置20の中継部201によるフレームの中継を中断させたときに、第2の中継装置20の中継部201でフレームの中継が再開されるため、第1の通信線Aから第2の通信線Bへのフレームの中継を中断することなく続けることができるという効果を得られる。
また、第2の中継装置30では、第2の交替タイミングが到来したときに、定時中断部206が上述で説明したようにフレームの中継を停止させた後、記憶部202に残っているフレームを図示しない演算部で処理して、送信部203で第2の通信線Bに送信する。すなわち、第2の中継装置30の中継部201が第1の通信線Aから受信するフレームの単位時間当たりの数に対して、図示しない演算部で処理できるフレームの単位時間当たりの数が少なく、記憶部202に記憶されるフレームの数が時間の経過と共に増大していくとしても、第2の交替タイミングが到来した後に、第2の中継装置30では、中継部201による中継を中断して送信部203による送信をする。したがって、本実施形態に係る中継システム1によれば、第2の中継装置30では、第2の交替タイミングが到来したときに、中継部201がフレームの中継を中断している間に、記憶部202に記憶されている残りのフレームを全て第2の通信線Bへ送信し、中継するデータを、大きな遅延を生じさせることなく第2の通信線Bに送信できるという効果を得られる。
また、本実施形態に係る中継システム1によれば、第2の交替タイミングが到来したときに、第2の中継装置30から第1の中継装置20にフレームの中継を交替するため、第1の中継装置20は、記憶部202に残っているフレームを全て第2の通信線Bに送信した後に、フレームの中継を再開できるという効果を得られる。
そして、本実施形態に係る中継システム1では、第2の交替タイミングが到来したときに、第2の中継装置30の中継部201によるフレームの中継を中断させたときに、第1の中継装置20の中継部201でフレームの中継が再開されるため、第2の交替タイミングが到来したときにも、第1の通信線Aから第2の通信線Bへのフレームの中継を中断することなく続けることができるという効果を得られる。
また、本実施形態に係る中継システム1によれば、第1の中継装置20と第2の中継装置30との間で互いに交替しながら中継をするため、それぞれの記憶部202の記憶可能な情報量を低減することができる。すなわち、本実施形態に係る中継システム1によれば、第1の中継装置20と第2の中継装置30とのそれぞれの記憶部202を容量の少ない記憶部で実現でき、低コストで大きな遅延を生じさせることなく、通信情報を中継できるという効果を得られる。
また、本実施形態に係る中継システム1では、上述で説明したように、第1の通信線Aから受信するフレームの中から第2の通信線Bに送信して中継するフレームを選択するために、記憶部202にルーティングマップを記憶させておくものとした。そして、本実施形態に係る中継システム1によれば、第1の中継装置20、及び第2の中継装置30の記憶部202として、同一のルーティングマップを記憶している記憶部を用いることができ、互いの中継装置の間で異なるフレームIDのフレームを遅延させることなく中継するためにルーティングマップを適切に予め定めることを省略できる。
以上で説明した第1の中継装置20と第2の中継装置30とが互いにフレームの中継を交替する動作をタイミングチャートで例として示す図が図5である。図5に示す“中継”とは、第1の中継装置20、又は第2の中継装置30がそれぞれの中継部201で上述で説明したようにフレームを中継する期間である。また、図5に示す“送信”とは、第1の中継装置20、又は第2の中継装置30がそれぞれの送信部203で上述で説明したようにフレームを送信し、中継部201によるフレームの中継を中断する期間である。また、図5に示す“待機”は、第1の中継装置20、又は第2の中継装置30がそれぞれの送信部203で記憶部202に記憶されて残っている全てのフレームが第2の通信線Bに送信され、送信するフレームが記憶されておらず、待機する期間を示す。
尚、図5には、第1の中継装置20と第2の中継装置30とが中継を交替するタイミング、すなわち、第1の交替タイミングの次に第2の交替タイミングが到来する時間間隔と、第2の交替タイミングの次に第1の交替タイミングが到来する時間間隔とが互いに等間隔である場合を一例として示しているが、これらの時間間隔は、互いに異なるように任意の時間間隔にしてもよい。
より具体的には、例えば、ある第1の交替タイミングと、当該第1の交替タイミングの次に到来する第2の交替タイミングとの時間間隔が10コミュニケーションサイクルであったとしても、当該第2の交替タイミングと次に到来する第1の交替タイミングとの時間間隔は20コミュニケーションサイクルであってもよい。
また、第1の中継装置20、及び第2の中継装置30は、待機しているときにおいて、中継部201の図示しない演算部で、次に中継を再開するときの準備のための処理、或いは中継の処理に拘わらない他の処理など、中継の処理とは異なる処理をしてもよい。
また、他の一実施形態に係る第1の中継装置20、及び第2の中継装置30は、1つのコミュニケーションサイクルの時間が経過する度に中継を交替してもよいし、複数の連続したコミュニケーションサイクルに対応する時間が経過する度に中継を交替してもよい。
また、他の一実施形態に係る第1の中継装置20、及び第2の中継装置30は、1つの静的スロットの時間が経過する度に中継を交替してもよいし、複数の連続した静的スロットの時間が経過する度に中継を交替してもよい。
また、本発明に係る中継システム1における、第1の交替タイミングの次に第2の交替タイミングが到来する時間間隔と、第2の交替タイミングの次に第1の交替タイミングが到来する時間間隔とは、第1の通信線A、及び第2の通信線Bにそれぞれ送信される通信情報の情報量などを予めシミュレーションして求めた結果などに基づいて、第1の中継装置20、及び第2の中継装置30の記憶部202にフレームを記憶しきれなくなることのないように、記憶部202の記憶可能な情報量に応じて、予め定めておいてもよい。
また、上述した第1の実施形態の説明では、第1の交替タイミング、及び第2の交替タイミングを判断するために、フレームに含まれるサイクルカウンタの数を用いる場合を一例として説明した。しかしながら、他の一実施形態に係る第1の中継装置20、及び第2の中継装置30のそれぞれは、第2のネットワークに接続されたノードの内、上述で説明したコールドスタートノード、或いは同期ノードとして予め定められたノードから送信される同期フレームを予め定められた任意の回数だけ受信したときに、第1の交替タイミング、又は第2の交替タイミングが到来したと判断してもよい。
また、上述した第1の実施形態の説明では、第1の中継装置20、及び第2の中継装置30は、第1の通信線Aから第2の通信線Bにフレームを中継するため、第2のネットワークにおける自装置の送信タイミングをそれぞれ認識するものとした。しかしながら、他の一実施形態に係る第1の中継装置20、及び第2の中継装置30のそれぞれは、第1の通信線Aから第2の通信線Bにフレームを中継する場合に、第1のネットワークにおける自装置の送信タイミングを認識する同期処理もしてよい。
さらに、第1の中継装置20、及び第2の中継装置30のそれぞれが、第1のネットワークにおける自装置の送信タイミングも認識する他の一実施形態では、第1の中継装置20、及び第2の中継装置30は、それぞれの中継部201の内部に備えられているタイマを用いて第1のネットワークにおけるコミュニケーションサイクルの数を独自に認識できる。このため、第1の中継装置20、及び第2の中継装置30のそれぞれが、第1のネットワークにおける自装置の送信タイミングを認識する他の一実施形態では、第1の中継装置20、及び第2の中継装置30のそれぞれが独自に認識したコミュニケーションサイクルの数に基づいて、上述で説明した第1の交替タイミング、及び第2の交替タイミングのそれぞれの到来を判断してもよい。
第1の中継装置20、及び第2の中継装置30のそれぞれが、第2のネットワークにおける自装置の送信タイミングに加えて、第1のネットワークにおける自装置の送信タイミングも認識する他の一実施形態では、1つのコミュニケーションサイクルにおける静的スロットの配置が、第1のネットワークと第2のネットワークとの間で異なる。このため、第1の中継装置20、及び第2の中継装置30のそれぞれの中継部201の図示しない演算部には、それぞれ第1のネットワークにおいて配置された静的スロットのタイミングで受信したフレーム(第1の通信線Aから受信したフレーム)を第2のネットワークにおいて配置されている静的スロットの時間のいずれの時間に送信するかを決定する処理の負荷がかかる。中継部201の図示しない演算部にかかる負荷が高くなると、処理できるフレームの単位時間当たりの数が少なくなり、記憶部202に記憶されるフレームの数が増大していく。
しかしながら、第1の中継装置20、及び第2の中継装置30のそれぞれが、第2のネットワークにおける自装置の送信タイミングに加えて、第1のネットワークにおける自装置の送信タイミングも認識する他の一実施形態においても、本実施形態に係る中継システム1によれば、第1の実施形態で説明した効果が得られる。
また、上述した第1の実施形態の説明では、第1の中継装置20、及び第2の中継装置30が、それぞれ第1の通信線Aから第2の通信線Bにフレームを中継する場合を一例として説明したが、第1の通信線Aから第2の通信線Bにフレームを中継する場合と同様に、第2の通信線Bから第1の通信線Aにもフレームを中継してもよい。この場合、第1の中継装置20、及び第2の中継装置30は、第1のネットワーク、及び第2のネットワークのそれぞれにおける自装置の送信タイミングをそれぞれ認識する同期処理をする。
また、他の一実施形態では、第1の中継装置20、及び第2の中継装置30のそれぞれにおいて、中継部201の送信部の機能と、送信部203の機能とを1つの送信部で実現してもよい。
また、上述した第1の実施形態の説明では、FlexRayプロトコルにしたがって中継をする中継システム1を一例として説明した。しかしながら、本発明に係る中継システム1は、上述で説明したように第1の通信線A、及び第2の通信線Bの少なくともいずれか一方から受信される通信情報に基づいて、中継先のネットワークにおいて他のノードの送信タイミングと重複しない自装置の送信タイミングを第1の中継装置20、及び第2の中継装置30がそれぞれ認識できるプロトコルであって、第1の実施形態で説明したように第1の交替タイミング、及び第2の交替タイミングをそれぞれ判断できるのであれば、どのようなプロトコルにしたがって通信情報を送受信するネットワークにも適用できる。このようなプロトコルのより具体的な一例としては、グローバルタイマ機能を有するプロトコルが挙げられる。
また、本発明に係る中継システム1における第1の中継装置20、及び第2の中継装置30のそれぞれの全ての受信部、及び送信部以外の構成は、記憶装置(ROM、RAM、ハードディスクなど)に格納された上述した処理を実施可能な所定のプログラムデータが、LSI、CPU或いはマイクロコンピュータなどによって第1の中継装置20、及び第2の中継装置30のそれぞれで解釈実行されることで実現されてもよい。CPUとは、自動車などの移動体に搭載されるECU(Electric Control Unit)を構成するCPUなどであってもよい。また、この場合、プログラムデータは、記憶媒体を介して記憶装置内に導入されてもよいし、記憶媒体上から直接実行されてもよい。尚、記憶媒体とは、ROMやRAMやフラッシュメモリなどの半導体メモリ、フレキシブルディスクやハードディスクなどの磁気ディスクメモリ、CD−ROMやDVDやBDなどの光ディスクメモリ、及びメモリカードなどであってもよい。
また、第1の実施形態に係る中継システム1によれば、第1の中継装置20と第2の中継装置30とで交替しながら中継をするため、記憶部202の記憶可能な情報量に拘わらず、記憶部202にフレームが記憶しきれなくなることを防げる。つまり、本実施形態に係る中継システム1によれば、既に稼働している2つ1組の中継装置の記憶部をより大きな情報の情報量を記憶できる記憶部に交換するなどのハードウェア構成の変更をすることなく、既に稼働している2つ1組の中継装置のそれぞれで実行される処理手順を実施可能なプログラムを、上述した第1の中継装置20、及び第2の中継装置30のそれぞれで解釈実行される所定のプログラムデータに書き換えるだけで、第1の実施形態で説明した効果を得ることができる。
また、本発明に係る中継システム1における全ての受信部、及び送信部は、典型的には、レジスタ、及び通信線からフレームを受信するための電子回路などで主に構成されるインターフェース回路であってもよい。