最初に、本発明の実施形態の内容を列記して説明する。
(1)本発明の実施の形態に係る車載通信システムは、車両に搭載される車載通信システムであって、第1の車載装置および第2の車載装置を含む複数の車載装置と、前記第1の車載装置が前記第2の車載装置から受信したデータのエラーに関するエラー情報を取得する取得部と、前記取得部によって取得された前記エラー情報に基づいて、前記第2の車載装置から前記第1の車載装置への通信経路を、他の前記車載装置を経由して前記第2の車載装置から前記第1の車載装置へ至る別の通信経路へ切り替えるか否かを判断する判断処理を行う判断部とを備える。
このような構成により、エラー情報に基づいて、たとえば、第2の車載装置から第1の車載装置への通信経路において伝送されるデータのロスが発生したか否か、または当該データのロスが発生するおそれの有無を認識することができる。これにより、データのロスが発生したとき、またはデータのロスが発生するおそれがあるとき等の適切なタイミングにおいて、当該通信経路を別の通信経路へ切り替えることを判断することができる。したがって、データのロスを低減しながら、車載ネットワークにおける冗長切り替えを適切に行うことができる。
(2)好ましくは、前記エラー情報は、前記データのエラー数を含む。
このような構成により、エラー数に基づいて、第2の車載装置から第1の車載装置への通信経路において伝送されるデータのロスが発生したか否かをより正しく認識することができる。
(3)好ましくは、前記エラー情報は、前記第1の車載装置による誤り訂正処理におけるエラー訂正数を含む。
このような構成により、エラー訂正数に基づいて、データのロスが発生する予兆を認識することができるので、第2の車載装置から第1の車載装置への通信経路において伝送されるデータのロスが発生するおそれの有無をより正しく認識することができる。これにより、データのロスが発生する前に、冗長切り替えを行うことができる。
(4)好ましくは、前記判断部は、前記エラー情報に含まれる値と所定のしきい値とを比較し、比較結果に基づいて前記判断処理を行う。
このような構成により、たとえば、第2の車載装置から第1の車載装置への通信経路において伝送されるデータのロスが発生したか否か、および当該データのロスが発生するおそれの有無を簡易に認識することができる。
(5)本発明の実施の形態に係る車載装置は、車両に搭載される車載装置であって、前記車両に搭載された他の車載装置である対象装置からデータを受信する受信部と、前記受信部によって受信された前記データのエラーに関するエラー情報を作成する作成部と、前記作成部によって作成された前記エラー情報に基づいて、前記対象装置から自己の車載装置への通信経路を、前記車両に搭載された他の別の車載装置を経由して前記対象装置から自己の車載装置へ至る別の通信経路へ切り替えるか否かを判断する判断部とを備える。
このような構成により、エラー情報に基づいて、たとえば、対象装置から自己の車載装置への通信経路において伝送されるデータのロスが発生したか否か、または当該データのロスが発生するおそれの有無を認識することができる。これにより、データのロスが発生したとき、またはデータのロスが発生するおそれがあるとき等の適切なタイミングにおいて、当該通信経路を別の通信経路へ切り替えることを判断することができる。したがって、データのロスを低減しながら、車載ネットワークにおける冗長切り替えを適切に行うことができる。
(6)本発明の実施の形態に係る通信制御方法は、車両に搭載される車載通信システムであって、第1の車載装置および第2の車載装置を含む複数の車載装置と、取得部と、判断部とを備える車載通信システムにおける通信制御方法であって、前記取得部が、前記第1の車載装置が前記第2の車載装置から受信したデータのエラーに関するエラー情報を取得するステップと、前記判断部が、前記取得部によって取得された前記エラー情報に基づいて、前記第2の車載装置から前記第1の車載装置への通信経路を、他の前記車載装置を経由して前記第2の車載装置から前記第1の車載装置へ至る別の通信経路へ切り替えるか否かを判断する判断処理を行うステップとを含む。
このような構成により、エラー情報に基づいて、たとえば、第2の車載装置から第1の車載装置への通信経路において伝送されるデータのロスが発生したか否か、または当該データのロスが発生するおそれの有無を認識することができる。これにより、データのロスが発生したとき、またはデータのロスが発生するおそれがあるとき等の適切なタイミングにおいて、当該通信経路を別の通信経路へ切り替えることを判断することができる。したがって、データのロスを低減しながら、車載ネットワークにおける冗長切り替えを適切に行うことができる。
(7)本発明の実施の形態に係る通信制御プログラムは、車両に搭載される車載通信システムであって、複数の車載装置を備える車載通信システムにおいて用いられる通信制御プログラムであって、コンピュータを、前記車両に搭載された他の車載装置である対象装置から受信されたデータのエラーに関するエラー情報を作成する作成部と、前記作成部によって作成された前記エラー情報に基づいて、前記対象装置から自己の車載装置への通信経路を、前記車両に搭載された他の別の車載装置を経由して前記対象装置から自己の車載装置へ至る別の通信経路へ切り替えるか否かを判断する判断部、として機能させるためのプログラムである。
このような構成により、エラー情報に基づいて、たとえば、対象装置から自己の車載装置への通信経路において伝送されるデータのロスが発生したか否か、または当該データのロスが発生するおそれの有無を認識することができる。これにより、データのロスが発生したとき、またはデータのロスが発生するおそれがあるとき等の適切なタイミングにおいて、当該通信経路を別の通信経路へ切り替えることを判断することができる。したがって、データのロスを低減しながら、車載ネットワークにおける冗長切り替えを適切に行うことができる。
以下、本発明の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、以下に記載する実施の形態の少なくとも一部を任意に組み合わせてもよい。
<第1の実施の形態>
[構成および基本動作]
図1は、本発明の第1の実施の形態に係る車載通信システムの構成を示す図である。
図1を参照して、車載通信システム301は、スイッチ装置(車載装置)101A,101B,101Cを備える。以下、スイッチ装置101A,101B,101Cの各々をスイッチ装置101とも称する。
車載通信システム301は、車両1に搭載される。また、複数の車内通信デバイス111は、車両1に搭載される。
なお、車載通信システム301は、3つのスイッチ装置101を備える構成に限らず、2つ、または4つ以上のスイッチ装置101を備える構成であってもよい。
車内通信デバイス111は、たとえば、TCU(Telematics Communication Unit)、セントラルゲートウェイ、ヒューマンマシンインタフェース、カメラ、センサおよびナビゲーション装置等であり、スイッチ装置101と通信を行うことが可能である。
TCUは、たとえば、LTE(Long Term Evolution)または3G等の通信規格に従って、図示しない無線基地局装置と無線通信を行うことが可能であり、かつスイッチ装置101と通信を行うことが可能である。
セントラルゲートウェイは、たとえば、エンジン制御部等の制御デバイスとCAN(Controller Area Network)経由で通信を行うことが可能であり、かつスイッチ装置101と通信を行うことが可能である。
セントラルゲートウェイは、制御デバイスと車内通信デバイス111との間でやり取りされる情報の中継処理を行う。
車両1における車載ネットワークは、たとえば、スイッチ装置101A〜101Cの3つのスイッチ装置101により形成されるリング型のネットワークトポロジを有する。また、車載ネットワークにおける、スイッチ装置101A〜101Cの相互の接続関係、およびスイッチ装置101と各車内通信デバイス111との接続関係は、たとえば固定されている。
スイッチ装置101A〜101Cは、たとえば、車載のイーサネット(登録商標)通信用のケーブル(以下、イーサネットケーブルとも称する。)10により互いに接続されている。また、スイッチ装置101は、たとえば、イーサネットケーブル10により車内通信デバイス111と接続されている。
スイッチ装置101は、自己に直接接続された車内通信デバイス111と通信を行うことが可能であり、かつ他のスイッチ装置101と通信を行うことが可能である。
より詳細には、スイッチ装置101、および当該スイッチ装置101と直接接続された他の装置間では、たとえば、イーサネットフレームを用いて情報のやり取りが行われる。
具体的には、車内通信デバイス111は、たとえば、1または複数のスイッチ装置101を介して他の車内通信デバイス111へイーサネットフレームを送信する。
このイーサネットフレームには、たとえば、差出元MAC(Media Access Control)アドレスおよび宛先MACアドレスとして、それぞれ当該車内通信デバイス111のMACアドレスおよび当該他の車内通信デバイス111のMACアドレスが含まれる。
スイッチ装置101は、具体的にはレイヤ2(L2)スイッチであり、車内通信デバイス111からイーサネットフレームを受信すると、受信したイーサネットフレームに含まれる宛先MACアドレスを参照し、参照した宛先MACアドレスに応じてイーサネットフレームを他のスイッチ装置101または宛先の車内通信デバイス111へ送信する中継処理を行う。中継処理の詳細については後述する。
[課題]
スイッチ装置101A〜101Cの環境は、それぞれ異なる場合が多い。たとえば、スイッチ装置101A〜101Cは、車両のダッシュボード、ならびに車両の前部および後部等の異なる場所に設けられており、周囲温度がそれぞれ異なる。
各スイッチ装置101間を接続するイーサネットケーブル10は、たとえば、エンジンからの低周波ノイズ、および各デバイスからのクロックノイズ等の影響を受ける。これらのノイズの発生は、突発的であったり定常的であったりする。
イーサネットケーブル10は、ノイズ源と自己との位置関係に応じてノイズを受信することがある。この場合、各スイッチ装置101間で伝送される信号にノイズが重畳し、定常的な、または突発的な信号品質の低下が発生する。このため、車載ネットワークにおいて、データが正しく伝送されなくなることがある。
そこで、本発明の実施の形態に係る車載通信システムでは、以下のような構成および動作により、このような課題を解決する。
[スイッチ装置101の構成]
図2は、本発明の第1の実施の形態に係る車載通信システムにおけるスイッチ装置の構成を示す図である。
図2を参照して、スイッチ装置101は、スイッチ部31と、判断部32と、複数のポート部33と、複数の通信ポート34とを備える。
通信ポート34は、たとえば、イーサネットケーブル10を接続可能なコネクタ等の部品である。なお、通信ポート34は、集積回路の端子であってもよい。各通信ポート34には、イーサネットケーブル10が接続されている。
ポート部33は、通信ポート34に対応して設けられる。ポート部33および対応の通信ポート34には、固有のポート番号が割り当てられる。
この例では、通信ポート34である通信ポート34A,34Bは、イーサネットケーブル10を介して他のスイッチ装置101に接続されている。複数の通信ポート34のうちの通信ポート34A,34Bを除く通信ポート34は、イーサネットケーブル10を介して車内通信デバイス111に接続されている。また、ポート部33であるポート部33A,33Bは、通信ポート34A,34Bにそれぞれ対応する。
ポート部33は、通信ポート34経由で他のスイッチ装置101または車内通信デバイス111からイーサネットフレームを受信すると、受信したイーサネットフレームを処理し、処理後のイーサネットフレームをスイッチ部31へ出力する。
また、ポート部33は、スイッチ部31からイーサネットフレームを受けると、受信したイーサネットフレームを処理し、処理後のイーサネットフレームを対応の通信ポート34経由で他のスイッチ装置101または車内通信デバイス111へ送信する。ポート部33の動作の詳細については後述する。
スイッチ部31は、たとえばL2スイッチとして動作し、ポート部33からイーサネットフレームを受けると、受けたイーサネットフレームに含まれる宛先MACアドレスを参照する。
スイッチ部31は、たとえば、宛先MACアドレスと出力先の通信ポート34のポート番号との対応関係を示すARL(Address Resolution Logic)テーブルを保持する。
ARLテーブルの内容は、上述したように固定されている接続関係に基づいて、たとえばユーザにより予め定められている。
スイッチ部31は、参照した宛先MACアドレスに対応するポート番号をARLテーブルから取得し、受信したイーサネットフレームを、取得したポート番号に対応するポート部33および通信ポート34経由で他のスイッチ装置101または車内通信デバイス111へ送信する。
なお、スイッチ部31は、レイヤ3(L3)スイッチとしても動作可能な構成であってもよい。
図3は、本発明の第1の実施の形態に係るスイッチ装置におけるポート部の構成を示す図である。
図3を参照して、ポート部33は、受信部41と、送信部42と、フレーム処理部(取得部および作成部)43とを含む。
ポート部33は、たとえば、所定の通信規格に従って100Mbps(Megabits per second)の通信速度でイーサネットフレームの送受信を行う場合、以下の処理を行う。
すなわち、ポート部33における送信部42は、スイッチ部31からイーサネットフレームを受けると、受けたイーサネットフレームに含まれるデータのCRC(Cyclic Redundancy Check)値を算出し、算出したCRC値を当該イーサネットフレームにおけるたとえばFCS(Frame Check Sequence)フィールドに格納する。
そして、送信部42は、所定の変調方式に従って、イーサネットフレームを示すビット列をシンボル列に変換する。
送信部42は、変換後のシンボル列における先頭のシンボルから順に、当該シンボルに応じて搬送波を変調することにより電気信号を生成し、生成した電気信号を、対応の通信ポート34を介して接続された他のスイッチ装置101または車内通信デバイス111へ送信する。
受信部41は、他のスイッチ装置101である対象装置からデータを受信する。より詳細には、受信部41は、対応の通信ポート34を介して接続された対象装置または車内通信デバイス111から電気信号を受信すると、所定の変調方式に従って電気信号を復調することにより、シンボル列を生成する。受信部41は、生成したシンボル列をフレーム処理部43へ出力する。
フレーム処理部43は、受信部41によって受信されたデータのエラーに関するエラー情報E1を取得する。
詳細には、フレーム処理部43は、たとえば、所定の単位時間当たりに受信する複数のイーサネットフレームにおけるCRCエラーの発生数を含むエラー情報E1を作成する。
より詳細には、フレーム処理部43は、受信部41からシンボル列を受けると、受けたシンボル列をビット列に変換する。ここで、変換後のビット列はイーサネットフレームを示す。
フレーム処理部43は、変換後のビット列すなわちイーサネットフレームのCRCチェックを行う。より詳細には、フレーム処理部43は、イーサネットフレームにおけるFCSフィールドからCRC値を取得する。
また、フレーム処理部43は、イーサネットフレームに含まれるデータのCRC値を算出し、算出したCRC値と取得したCRC値とを比較する、すなわち照合する。
フレーム処理部43は、これらのCRC値が一致する場合、データが正しいと判断し、当該イーサネットフレームをスイッチ部31へ出力する。
一方、フレーム処理部43は、これらのCRC値が一致しない場合、データが誤っていると判断し、たとえば、当該イーサネットフレームを破棄するとともに、当該イーサネットフレームの再送要求を送信部42経由で対象装置または車内通信デバイス111へ送信する。
フレーム処理部43は、たとえば、所定の単位時間が経過するごとに、誤っていると判断したフレーム数を集計し、集計結果すなわち単位時間当たりのCRCエラーの発生数(以下、単にCRCエラー数とも称する。)を含むエラー情報E1を作成する。フレーム処理部43は、作成したエラー情報E1を判断部32へ出力する。
図4は、本発明の第1の実施の形態に係る車載通信システムにおける各スイッチ装置間の接続の一例を示す図である。図4では、スイッチ装置101A〜101Cの各々において、スイッチ装置101間の通信に用いる通信ポート34A,34B、およびスイッチ装置101と車内通信デバイス111との間の通信に用いる2つの通信ポート34が示される。
図4を参照して、スイッチ装置101Aの通信ポート34Bが、スイッチ装置101Bの通信ポート34Aにイーサネットケーブル10を介して接続されている。スイッチ装置101Bの通信ポート34Bが、スイッチ装置101Cの通信ポート34Aにイーサネットケーブル10を介して接続されている。また、スイッチ装置101Cの通信ポート34Bが、スイッチ装置101Aの通信ポート34Aにイーサネットケーブル10を介して接続されている。
[判断情報の作成および送信]
図2および図4を参照して、以下では、スイッチ装置101Bにおいて行われる判断情報の作成処理および送信処理について説明するが、スイッチ装置101A,101Cにおいても同様の作成処理および送信処理が行われる。
スイッチ装置101Bにおける判断部32は、フレーム処理部43によって作成されたエラー情報E1に基づいて、対象装置から自己のスイッチ装置101Bへの通信経路を、他の別のスイッチ装置101を経由して対象装置から自己のスイッチ装置101Bへ至る別の通信経路へ切り替えるか否かを判断する判断処理を行う。
より詳細には、判断部32は、たとえば、エラー情報E1に含まれる値と所定のしきい値Th1とを比較し、比較結果に基づいて判断処理を行う。
具体的には、判断部32は、たとえば、MACアドレスと装置の種類すなわちスイッチ装置または車内通信デバイスとの対応関係を示す種類情報を保持している。
判断部32は、スイッチ部31が保持するARLテーブルを参照し、ARLテーブルおよび種類情報に基づいて、ポート部33Aおよびポート部33Bがそれぞれ対応の通信ポート34Aおよび34Bを介して接続された装置の種類がスイッチ装置であることを認識する。
判断部32は、スイッチ装置に接続されたポート部33A,33Bからのエラー情報E1について判断処理を行う。
より詳細には、判断部32は、スイッチ装置に接続されたポート部33Aからエラー情報E1を受けて、受けたエラー情報E1に含まれるCRCエラー数NA1がしきい値Th1以上である場合、対象装置すなわちスイッチ装置101Aから自己のスイッチ装置101Bへの通信経路を、スイッチ装置101Cを経由してスイッチ装置101Aから自己のスイッチ装置101Bへ至る通信経路へ切り替えるべきと判断する。
判断部32は、判断結果を示す判断情報ACBを作成し、作成した判断情報ACBをスイッチ部31、ポート部33Aおよび通信ポート34A経由でスイッチ装置101Aへ直接送信する。
なお、判断部32は、スイッチ装置101Aおよび101B間においてデータが良好に伝送されない可能性が高いため、作成した判断情報ACBをスイッチ部31、ポート部33B、通信ポート34Bおよびスイッチ装置101C経由でスイッチ装置101Aへ送信してもよい。また、判断部32は、判断情報ACBのスイッチ装置101Aへの直接送信、および判断情報ACBのスイッチ装置101C経由でのスイッチ装置101Aへの送信の両方を行ってもよい。
また、判断部32は、スイッチ装置に接続されたポート部33Bからエラー情報E1を受けて、受けたエラー情報E1に含まれるCRCエラー数NB1がしきい値Th1以上である場合、対象装置すなわちスイッチ装置101Cから自己のスイッチ装置101Bへの通信経路を、スイッチ装置101Aを経由してスイッチ装置101Cから自己のスイッチ装置101Bへ至る通信経路へ切り替えるべきと判断する。
判断部32は、判断結果を示す判断情報CABを作成し、作成した判断情報CABをスイッチ部31、ポート部33Bおよび通信ポート34B経由でスイッチ装置101Cへ直接送信する。
なお、判断部32は、スイッチ装置101Cおよび101B間においてデータが良好に伝送されない可能性が高いため、作成した判断情報CABをスイッチ部31、ポート部33A、通信ポート34Aおよびスイッチ装置101A経由でスイッチ装置101Cへ送信してもよい。また、判断部32は、判断情報CABのスイッチ装置101Cへの直接送信、および判断情報CABのスイッチ装置101A経由でのスイッチ装置101Cへの送信の両方を行ってもよい。
また、判断部32は、ポート部33Aからのエラー情報E1に含まれるCRCエラー数、およびポート部33Bからのエラー情報E1に含まれるCRCエラー数の両方がしきい値Th1以上である場合、以下の処理を行う。
すなわち、判断部32は、たとえば、CRCエラー数がより少ないエラー情報E1を用いない。
具体的には、ポート部33Bからのエラー情報E1に含まれるCRCエラー数が、ポート部33Aからのエラー情報E1に含まれるCRCエラー数より少ない場合、判断部32は、ポート部33Aからのエラー情報E1を用いるが、ポート部33Bからのエラー情報E1を用いない。
そして、判断部32は、スイッチ装置101Aから自己のスイッチ装置101Bへの通信経路を、スイッチ装置101Cを経由してスイッチ装置101Aから自己のスイッチ装置101Bへ至る通信経路へ切り替えるべきと判断するが、スイッチ装置101Cから自己のスイッチ装置101Bへの通信経路を、スイッチ装置101Aを経由してスイッチ装置101Cから自己のスイッチ装置101Bへ至る通信経路へ切り替えるべきと判断しない。
なお、判断部32は、ポート部33Aからのエラー情報E1に含まれるCRCエラー数、およびポート部33Bからのエラー情報E1に含まれるCRCエラー数の両方がしきい値Th1以上である場合、通信経路の切り替えを判断しない構成であってもよい。
[判断情報の受信]
以下では、スイッチ装置101A,101Cにおいて行われる判断情報の受信処理および通信経路の変更処理について説明するが、スイッチ装置101Bにおいても同様の受信処理および通信経路の変更処理が行われる。
[スイッチ装置101Aにおける処理]
図5は、本発明の第1の実施の形態に係るスイッチ装置におけるスイッチ部が保持するARLテーブルの一例を示す図である。
図5を参照して、スイッチ装置101Aにおけるスイッチ部31は、宛先MACアドレスと出力先の通信ポート34のポート番号との対応関係を示すARLテーブルTab1を保持する。
ARLテーブルTab1では、スイッチ装置101BのMACアドレス、およびスイッチ装置101Bに接続されている車内通信デバイス111のMACアドレスと通信ポート34Bのポート番号とが対応している。
また、ARLテーブルTab1では、スイッチ装置101CのMACアドレス、およびスイッチ装置101Cに接続されている車内通信デバイス111のMACアドレスと通信ポート34Aのポート番号とが対応している。
また、図示しないが、ARLテーブルTab1では、スイッチ装置101Aに接続されている車内通信デバイス111のMACアドレスと通信ポート34Aおよび34Bと異なる通信ポート34のポート番号とが対応している。
再び図3を参照して、ポート部33Bにおけるフレーム処理部43は、通信ポート34Bおよび受信部41経由でスイッチ装置101Bから判断情報ACBを受信すると、受信した判断情報ACBを判断部32へ出力する。
再び図2を参照して、判断部32は、ポート部33Bから判断情報ACBを受けると、受けた判断情報ACBに基づいて、自己のスイッチ装置101Aからスイッチ装置101Bへの通信経路を、スイッチ装置101Cを経由して自己のスイッチ装置101Aからスイッチ装置101Bへ至る通信経路へ切り替えるべきと認識する。
具体的には、判断部32は、スイッチ部31が保持するARLテーブルTab1を以下のように書き換える。
すなわち、判断部32は、ARLテーブルTab1において、スイッチ装置101BのMACアドレス、およびスイッチ装置101Bに接続されている車内通信デバイス111のMACアドレスに対応するポート番号を、通信ポート34Bのポート番号から通信ポート34Aのポート番号に書き換える。
これにより、スイッチ装置101Aからスイッチ装置101Bへ伝送されるべきイーサネットフレームは、スイッチ装置101Aからスイッチ装置101Cを経由してスイッチ装置101Bへ伝送される、すなわち通信経路が切り替えられる。
[スイッチ装置101Cにおける処理]
図6は、本発明の第1の実施の形態に係るスイッチ装置におけるスイッチ部が保持するARLテーブルの一例を示す図である。
図6を参照して、スイッチ装置101Cにおけるスイッチ部31は、宛先MACアドレスと出力先の通信ポート34のポート番号との対応関係を示すARLテーブルTab2を保持する。
ARLテーブルTab2では、スイッチ装置101AのMACアドレス、およびスイッチ装置101Aに接続されている車内通信デバイス111のMACアドレスと通信ポート34Bのポート番号とが対応している。
また、ARLテーブルTab2では、スイッチ装置101BのMACアドレス、およびスイッチ装置101Bに接続されている車内通信デバイス111のMACアドレスと通信ポート34Aのポート番号とが対応している。
また、図示しないが、ARLテーブルTab2では、スイッチ装置101Cに接続されている車内通信デバイス111のMACアドレスと通信ポート34Aおよび34Bと異なる通信ポート34のポート番号とが対応している。
再び図3を参照して、ポート部33Aにおけるフレーム処理部43は、通信ポート34Aおよび受信部41経由でスイッチ装置101Bから判断情報CABを受信すると、受信した判断情報CABを判断部32へ出力する。
再び図2を参照して、判断部32は、ポート部33Aから判断情報CABを受けると、受けた判断情報CABに基づいて、自己のスイッチ装置101Cからスイッチ装置101Bへの通信経路を、スイッチ装置101Aを経由して自己のスイッチ装置101Cからスイッチ装置101Bへ至る通信経路へ切り替えるべきと認識する。
具体的には、判断部32は、スイッチ部31が保持するARLテーブルTab2を以下のように書き換える。
すなわち、判断部32は、ARLテーブルTab2において、スイッチ装置101BのMACアドレス、およびスイッチ装置101Bに接続されている車内通信デバイス111のMACアドレスに対応するポート番号を、通信ポート34Aのポート番号から通信ポート34Bのポート番号に書き換える。
これにより、スイッチ装置101Cからスイッチ装置101Bへ伝送されるべきイーサネットフレームは、スイッチ装置101Cからスイッチ装置101Aを経由してスイッチ装置101Bへ伝送される、すなわち通信経路が切り替えられる。
[スイッチ装置101の変形例]
再び図2を参照して、スイッチ装置101は、所定の通信規格に従って100Mbpsの通信速度でイーサネットフレームの送受信を行う構成に限らず、1Gbps(Gigabits per second)の通信速度でイーサネットフレームの送受信を行う構成であってもよい。
この例では、イーサネットフレームの送信先の装置において、前方誤り訂正(Forward Error Correction:FEC)、およびCRCチェックが行われる。
再び図3を参照して、スイッチ装置101の変形例における送信部42は、たとえば1518バイトのサイズのイーサネットフレームをスイッチ部31から受けると、受けたイーサネットフレームに含まれるデータのCRC値を算出し、算出したCRC値を当該イーサネットフレームにおけるFCSフィールドに格納する。
そして、送信部42は、たとえばPAM3の変調方式に従って、イーサネットフレームを示すビット列をシンボル列に変換する。ここでは、送信部42は、1シンボル当たり3ビットのシンボルを用いて変換する。
送信部42は、変換後のシンボル列を冗長化する。具体的には、送信部42は、変換後のシンボル列を188シンボルごとに分割することにより複数の符号化前データを作成する。
送信部42は、作成した符号化前データに基づいて(204,188)リード−ソロモン符号を作成する。
ここで、(x,y)リード−ソロモン符号において、xが符号化前データおよび冗長情報を合計したシンボル数であり、yが符号化前データのシンボル数である。したがって、xからyを差し引いた値が、冗長情報のシンボル数である。
より詳細には、送信部42は、符号化前データの先頭に51シンボルのゼロデータを付加することにより239シンボルのデータを作成し、作成した239シンボルのデータを(255,239)リード−ソロモン符号に符号化する。
そして、送信部42は、(255,239)リード−ソロモン符号において、先頭の51シンボルのデータを除去することにより(204,188)リード−ソロモン符号を作成する。
たとえば、(204,188)リード−ソロモン符号では、188シンボルの符号化前データのうち、16を2で除した8シンボルまでリード−ソロモン符号で訂正することが可能である。
送信部42は、作成した複数の(204,188)リード−ソロモン符号における先頭のシンボルから順に、当該シンボルに応じて搬送波を変調することにより電気信号を生成し、生成した電気信号を、対応の通信ポート34を介して接続された他のスイッチ装置101または車内通信デバイス111へ送信する。
受信部41は、対応の通信ポート34を介して接続された対象装置または車内通信デバイス111から電気信号を受信すると、PAM3の変調方式に従って、電気信号を復調することによりシンボル列を生成する。受信部41は、生成したシンボル列をフレーム処理部43へ出力する。
フレーム処理部43は、たとえば自己のスイッチ装置101による誤り訂正処理におけるエラー訂正数を含むエラー情報E2を作成する。
詳細には、フレーム処理部43は、たとえば、受信部41によって受信されたシンボル列の誤り訂正数を含むエラー情報E2を作成する。
より詳細には、フレーム処理部43は、受信部41からシンボル列を受けると、受けたシンボル列すなわち複数の(204,188)リード−ソロモン符号を複数の符号化前データに変換する。
フレーム処理部43は、複数の(204,188)リード−ソロモン符号を複数の符号化前データに変換する際に、誤り訂正を行った合計回数を記録し、記録した合計回数すなわち1フレーム当たりの誤り訂正の回数(以下、単に誤り訂正回数とも称する。)を含むエラー情報E2を作成する。フレーム処理部43は、作成したエラー情報E2を判断部32へ出力する。
フレーム処理部43は、変換後の複数の符号化前データを結合してシンボル列を生成し、生成したシンボル列をビット列に変換する。ここで、変換後のビット列は、1518バイトのサイズのイーサネットフレームを示す。
フレーム処理部43は、変換後のビット列すなわちイーサネットフレームにおけるFCSフィールドからCRC値を取得する。
また、フレーム処理部43は、イーサネットフレームに含まれるデータのCRC値を算出し、算出したCRC値と取得したCRC値とを比較する、すなわち照合する。
フレーム処理部43は、これらのCRC値が一致する場合、イーサネットフレームをスイッチ部31へ出力する。
一方、フレーム処理部43は、これらのCRC値が一致しない場合、たとえばイーサネットフレームの再送要求を送信部42経由で他のスイッチ装置101または車内通信デバイス111へ送信する。
なお、フレーム処理部43は、誤り訂正回数を含むエラー情報E2を判断部32へ出力する構成に限らず、誤り訂正回数、およびCRCチェックの結果を含むエラー情報E2を判断部32へ出力する構成であってもよい。
再び図2および図4を参照して、以下では、スイッチ装置101Bにおいて行われる判断情報の作成処理および送信処理について説明するが、スイッチ装置101A,101Cにおいても同様の作成処理および送信処理が行われる。
スイッチ装置101Bにおける判断部32は、スイッチ部31が保持するARLテーブルを参照し、ARLテーブルおよび種類情報に基づいて、ポート部33Aおよびポート部33Bがそれぞれ対応の通信ポート34Aおよび34Bを介して接続された装置の種類がスイッチ装置であることを認識する。
判断部32は、スイッチ装置に接続されたポート部33A,33Bからのエラー情報E2について判断処理を行う。
より詳細には、判断部32は、たとえば、エラー情報E2に含まれる誤り訂正回数と(204,188)リード−ソロモン符号を用いた場合における誤り訂正能力に基づく所定のしきい値Th2とを比較し、比較結果に基づいて判断処理を行う。
(204,188)リード−ソロモン符号を用いた場合、1518バイトのサイズのイーサネットフレームに対して、1518に(8/188)を乗じた65バイト程度まで誤り訂正を行うことが可能である。このため、たとえば、ユーザは、50バイトまでの誤り訂正を容認する場合、50バイトの誤り訂正に対応する誤り訂正数として、50に(8/3)を乗じた133をしきい値Th2に設定する。
判断部32は、スイッチ装置に接続されたポート部33Aからエラー情報E2を受けて、受けたエラー情報E2に含まれる誤り訂正回数NA2がしきい値Th2以上である場合、対象装置すなわちスイッチ装置101Aから自己のスイッチ装置101Bへの通信経路を、スイッチ装置101Cを経由してスイッチ装置101Aから自己のスイッチ装置101Bへ至る通信経路へ切り替えるべきと判断する。
判断部32は、判断結果を示す判断情報ACBを作成し、作成した判断情報ACBをスイッチ部31、ポート部33Aおよび通信ポート34A経由でスイッチ装置101Aへ直接送信する。
また、判断部32は、スイッチ装置に接続されたポート部33Bからエラー情報E2を受けて、受けたエラー情報E2に含まれる誤り訂正回数NB2がしきい値Th2以上である場合、対象装置すなわちスイッチ装置101Cから自己のスイッチ装置101Bへの通信経路を、スイッチ装置101Aを経由してスイッチ装置101Cから自己のスイッチ装置101Bへ至る通信経路へ切り替えるべきと判断する。
判断部32は、判断結果を示す判断情報CABを作成し、作成した判断情報CABをスイッチ部31、ポート部33Bおよび通信ポート34B経由でスイッチ装置101Cへ直接送信する。
また、判断部32は、ポート部33Aからのエラー情報E2に含まれる誤り訂正回数、およびポート部33Bからのエラー情報E2に含まれる誤り訂正回数の両方がしきい値Th2以上である場合、以下の処理を行う。
すなわち、判断部32は、たとえば、誤り訂正回数がより少ないエラー情報E2を用いない。
具体的には、ポート部33Bからのエラー情報E2に含まれる誤り訂正回数が、ポート部33Aからのエラー情報E2に含まれる誤り訂正回数より少ない場合、判断部32は、ポート部33Aからのエラー情報E2を用いるが、ポート部33Bからのエラー情報E2を用いない。
そして、判断部32は、スイッチ装置101Aから自己のスイッチ装置101Bへの通信経路を、スイッチ装置101Cを経由してスイッチ装置101Aから自己のスイッチ装置101Bへ至る通信経路へ切り替えるべきと判断するが、スイッチ装置101Cから自己のスイッチ装置101Bへの通信経路を、スイッチ装置101Aを経由してスイッチ装置101Cから自己のスイッチ装置101Bへ至る通信経路へ切り替えるべきと判断しない。
なお、判断部32は、ポート部33Aからのエラー情報E2に含まれる誤り訂正回数、およびポート部33Bからのエラー情報E2に含まれる誤り訂正回数の両方がしきい値Th2以上である場合、通信経路の切り替えを判断しない構成であってもよい。
また、スイッチ装置101の変形例では、判断部32は、誤り訂正回数に基づいて通信経路の切り替えを判断する構成であるとしたが、これに限定するものではない。判断部32は、誤り訂正回数およびCRCエラー数に基づいて通信経路の切り替えを判断する構成であってもよい。より詳細には、判断部32は、たとえば、エラー情報E2に含まれるCRCチェックの結果を集計することによりCRCエラー数を算出する。そして、判断部32は、誤り訂正回数がしきい値Th2以上であるか、またはCRCエラー数がしきい値Th1以上である場合、通信経路を切り替えるべきと判断する。
また、スイッチ装置101の変形例は、1Gbpsの通信速度でイーサネットフレームの送受信を行う構成に限らず、1Gbpsおよび100Mbpsの両方の通信速度でイーサネットフレームの送受信を行うことが可能な構成であってもよい。
また、スイッチ装置101の変形例では、判断部32は、設定したしきい値Th2を固定的に用いる構成であるとしたが、これに限定するものではない。判断部32は、しきい値Th2を動的に用いる構成であってもよい。具体的には、判断部32は、たとえば、誤り訂正回数とCRCエラー数との関係性を学習し、学習結果に基づいて、CRCエラーの発生しない誤り訂正回数を算出し、算出結果に基づいてしきい値Th2を動的に設定する。
[動作の流れ]
車載通信システム301における各装置は、コンピュータを備え、当該コンピュータにおけるCPU等の演算処理部は、以下のシーケンス図またはフローチャートの各ステップの一部または全部を含むプログラムを図示しないメモリからそれぞれ読み出して実行する。これら複数の装置のプログラムは、それぞれ、外部からインストールすることができる。これら複数の装置のプログラムは、それぞれ、記録媒体に格納された状態で流通する。
図7は、本発明の第1の実施の形態に係る車載通信システムにおけるスイッチ装置がイーサネットフレームの受信を行う際の動作手順を定めたフローチャートである。
図7では、100Mbpsの通信速度でイーサネットフレームの送受信を行うスイッチ装置101における動作の流れが示される。
図7を参照して、まず、スイッチ装置101は、対象装置または車内通信デバイス111からイーサネットフレームを受信するまで待機する(ステップS102でNO)。
そして、スイッチ装置101は、イーサネットフレームを対象装置または車内通信デバイス111から受信すると(ステップS102でYES)、受信したイーサネットフレームに含まれるCRC値を用いて、当該イーサネットフレームに含まれるデータが正しいか否かを判断する(ステップS104)。
スイッチ装置101は、当該イーサネットフレームに含まれるデータが正しいと判断すると(ステップS104でYES)、当該イーサネットフレームに含まれる宛先MACアドレスに基づいて、当該イーサネットフレームをスイッチ装置101または車内通信デバイス111へ送信する、すなわち転送する(ステップS106)。
一方、スイッチ装置101は、当該イーサネットフレームに含まれるデータが誤っていると判断すると(ステップS104でNO)、当該イーサネットフレームを破棄するとともに、当該イーサネットフレームの送信元の装置へ再送要求を送信する(ステップS108)。
次に、スイッチ装置101は、当該イーサネットフレームを転送するか(ステップS106)、または再送要求を送信すると(ステップS108)、対象装置または車内通信デバイス111から新たなイーサネットフレームを受信するまで待機する(ステップS102でNO)。
図8は、本発明の第1の実施の形態に係る車載通信システムにおけるスイッチ装置が判断情報の作成および送信を行う際の動作手順を定めたフローチャートである。
図8では、100Mbpsの通信速度でイーサネットフレームの送受信を行うスイッチ装置101Bにおける動作の流れが示される。
図8を参照して、まず、スイッチ装置101Bは、所定の単位時間ごとのエラー情報E1の作成タイミングが到来するまで待機する(ステップS202でNO)。
そして、スイッチ装置101Bは、エラー情報E1の作成タイミングが到来すると(ステップS202でYES)、誤っていると判断したフレーム数を集計し、CRCエラー数を含むエラー情報E1を作成する(ステップS204)。ここで、エラー情報E1は、スイッチ装置101Bにおけるポート部33ごとに作成される。
次に、スイッチ装置101Bは、ポート部33Aにおいて作成されたエラー情報E1に含まれるCRCエラー数NA1がしきい値Th1以上である場合、(ステップS206でYES)、以下の処理を行う。
すなわち、スイッチ装置101Bは、対象装置すなわちスイッチ装置101Aから自己のスイッチ装置101Bへの通信経路を、スイッチ装置101Cを経由してスイッチ装置101Aから自己のスイッチ装置101Bへ至る通信経路へ切り替えるべきと判断し、判断結果を示す判断情報ACBを作成する(ステップS208)。
次に、スイッチ装置101Bは、作成した判断情報ACBをスイッチ装置101Aへ直接送信するか、またはスイッチ装置101C経由でスイッチ装置101Aへ送信する(ステップS210)。
次に、スイッチ装置101Bは、ポート部33Bにおいて作成されたエラー情報E1に含まれるCRCエラー数NB1がしきい値Th1以上である場合、(ステップS212でYES)、以下の処理を行う。
すなわち、スイッチ装置101Bは、対象装置すなわちスイッチ装置101Cから自己のスイッチ装置101Bへの通信経路を、スイッチ装置101Aを経由してスイッチ装置101Cから自己のスイッチ装置101Bへ至る通信経路へ切り替えるべきと判断し、判断結果を示す判断情報CABを作成する(ステップS214)。
次に、スイッチ装置101Bは、作成した判断情報CABをスイッチ装置101Cへ直接送信するか、またはスイッチ装置101A経由でスイッチ装置101Cへ送信する(ステップS216)。
次に、スイッチ装置101Bは、エラー情報E1の新たな作成タイミングが到来するまで待機する(ステップS202でNO)。
なお、上記ステップS206〜S210と、ステップS212〜S216との順番は、上記に限らず、順番を入れ替えてもよい。
図9は、本発明の第1の実施の形態に係る車載通信システムにおけるスイッチ装置がエラー情報を作成する際の動作手順を定めたフローチャートである。
図9では、1Gbpsの通信速度でイーサネットフレームの送受信を行うスイッチ装置101における動作の流れが示される。
図9を参照して、まず、スイッチ装置101は、対象装置または車内通信デバイス111から(204,188)リード−ソロモン符号により符号化されたイーサネットフレームを受信するまで待機する(ステップS302でNO)。
そして、スイッチ装置101は、(204,188)リード−ソロモン符号により符号化されたイーサネットフレームを対象装置または車内通信デバイス111から受信すると(ステップS302でYES)、(204,188)リード−ソロモン符号を符号化前データに復号する復号処理を行う(ステップS304)。
次に、スイッチ装置101は、復号処理を行った際の誤り訂正回数を含むエラー情報E2を作成する(ステップS306)。
次に、スイッチ装置101は、復号したイーサネットフレームに含まれるCRC値を用いて、当該イーサネットフレームに含まれるデータが正しいか否かを判断する(ステップS308)。
スイッチ装置101は、当該イーサネットフレームに含まれるデータが正しいと判断すると(ステップS308でYES)、当該イーサネットフレームに含まれる宛先MACアドレスに基づいて、当該イーサネットフレームをスイッチ装置101または車内通信デバイス111へ送信する、すなわち転送する(ステップS310)。
一方、スイッチ装置101は、当該イーサネットフレームに含まれるデータが誤っていると判断すると(ステップS308でNO)、当該イーサネットフレームを破棄するとともに、当該イーサネットフレームの送信元の装置へ再送要求を送信する(ステップS312)。
次に、スイッチ装置101は、当該イーサネットフレームを転送するか(ステップS310)、または再送要求を送信すると(ステップS312)、対象装置または車内通信デバイス111から(204,188)リード−ソロモン符号により符号化された新たなイーサネットフレームを受信するまで待機する(ステップS302でNO)。
図10は、本発明の第1の実施の形態に係る車載通信システムにおけるスイッチ装置が判断情報の作成および送信を行う際の動作手順を定めたフローチャートである。
図10では、1Gbpsの通信速度でイーサネットフレームの送受信を行うスイッチ装置101Bにおける動作の流れが示される。
図10を参照して、まず、スイッチ装置101Bは、複数のポート部33のうちのポート部33Aまたは33Bにおいてエラー情報E2が作成されるまで待機する(ステップS402でNOおよびステップS404でNO)。
そして、スイッチ装置101Bは、複数のポート部33のうちのポート部33Aにおいてエラー情報E2が作成され、かつ当該エラー情報E2に含まれる誤り訂正回数NA2がしきい値Th2以上である場合(ステップS402でYESおよびステップS406でYES)、以下の処理を行う。
すなわち、スイッチ装置101Bは、対象装置すなわちスイッチ装置101Aから自己のスイッチ装置101Bへの通信経路を、スイッチ装置101Cを経由してスイッチ装置101Aから自己のスイッチ装置101Bへ至る通信経路へ切り替えるべきと判断し、判断結果を示す判断情報ACBを作成する(ステップS408)。
次に、スイッチ装置101Bは、作成した判断情報ACBをスイッチ装置101Aへ直接送信するか、またはスイッチ装置101C経由でスイッチ装置101Aへ送信する(ステップS410)。
一方、スイッチ装置101Bは、複数のポート部33のうちのポート部33Bにおいてエラー情報E2が作成され、かつ当該エラー情報E2に含まれる誤り訂正回数NB2がしきい値Th2以上である場合(ステップS402でNO、ステップS404でYESおよびステップS412でYES)、以下の処理を行う。
すなわち、スイッチ装置101Bは、対象装置すなわちスイッチ装置101Cから自己のスイッチ装置101Bへの通信経路を、スイッチ装置101Aを経由してスイッチ装置101Cから自己のスイッチ装置101Bへ至る通信経路へ切り替えるべきと判断し、判断結果を示す判断情報CABを作成する(ステップS414)。
次に、スイッチ装置101Bは、作成した判断情報CABをスイッチ装置101Cへ直接送信するか、またはスイッチ装置101A経由でスイッチ装置101Cへ送信する(ステップS416)。
次に、スイッチ装置101Bは、判断情報ACBをスイッチ装置101Aへ送信するか(ステップS410)、または判断情報CABをスイッチ装置101Cへ送信すると(ステップS416)、複数のポート部33のうちのポート部33Aまたは33Bにおいて新たなエラー情報E2が作成されるまで待機する(ステップS402でNOおよびステップS404でNO)。
なお、本発明の第1の実施の形態に係る車載通信システムは、車載装置として、複数のスイッチ装置101を備える構成であるとしたが、これに限定するものではない。車載通信システム301は、車載装置として、ゲートウェイ装置等のデータを中継する装置を複数備える構成であってもよい。
また、本発明の第1の実施の形態に係る車載通信システムでは、スイッチ装置101は、100Mbpsの通信速度および1Gbpsの通信速度でイーサネットフレームの送受信を行う構成であるとしたが、これに限定するものではない。スイッチ装置101は、100Mbpsおよび1Gbpsと異なる通信速度でイーサネットフレームの送受信を行う構成であってもよい。
また、本発明の第1の実施の形態に係る車載通信システムでは、スイッチ装置101におけるフレーム処理部43は、エラー情報を取得する。そして、当該スイッチ装置101における判断部32は、フレーム処理部43によって取得されたエラー情報に基づいて、判断処理を行う。
しかしながら、車載通信システム301は、このような構成に限定されるものではない。すなわち、スイッチ装置101の代わりに、車載通信システム301におけるスイッチ装置101以外の車載装置が、エラー情報の取得、およびエラー情報に基づく判断処理を行なう構成であってもよい。
この場合、車載通信システム301は、取得部と、判断部とを備える。取得部および判断部は、同じ車載装置に設けられてもよいし、別個の車載装置にそれぞれ設けられてもよい。
取得部は、たとえば、スイッチ装置101Bにおけるフレーム処理部43によって作成されたエラー情報を取得する。判断部は、取得部によって取得されたエラー情報に基づいて判断処理を行う。そして、判断部は、判断結果を示す判断情報ACB,CABを作成し、作成した判断情報ACB,CABをスイッチ装置101A,101Cへそれぞれ送信する。
また、本発明の第1の実施の形態に係る車載通信システムでは、エラー情報E1が用いられる構成であるとしたが、これに限定するものではない。車載通信システム301では、エラー情報E1と異なるエラー情報が用いられる構成であってもよい。
また、本発明の第1の実施の形態に係る車載通信システムでは、イーサネットフレームの差出元および宛先が車内通信デバイス111であるとしたが、これに限定するものではない。車載通信システム301では、イーサネットフレームの差出元および宛先の少なくともいずれか一方が、スイッチ装置101であってもよい。
ところで、たとえば、特許文献1に記載の冗長構成を車載ネットワークに適用する構成が考えられる。しかしながら、車両では、スペースに制約があるため、エンジンおよびモータ等の雑音源と信号線とが近接する配置となることがある。
このような配置となる場合、雑音源の動作に応じて通信環境が急激に悪化するため、たとえば信号線よって伝送される信号のノイズレベルが急激に上昇し、データが正しく伝送されないことがある。このようなデータのロスを低減しながら、車載ネットワークにおける冗長切り替えを適切に行うことが可能な技術が求められる。
これに対して、本発明の第1の実施の形態に係る車載通信システムでは、スイッチ装置101Bのポート部33Aにおけるフレーム処理部43は、自己のスイッチ装置101Bがスイッチ装置102Aから受信したデータのエラーに関するエラー情報E1またはE2を取得する。そして、判断部32は、フレーム処理部43によって取得されたエラー情報E1またはE2に基づいて、スイッチ装置101Aから自己のスイッチ装置101Bへの通信経路を、スイッチ装置101Cを経由してスイッチ装置101Aからスイッチ装置101Bへ至る別の通信経路へ切り替えるか否かを判断する判断処理を行う。
このような構成により、エラー情報E1またはE2に基づいて、たとえば、スイッチ装置101Aからスイッチ装置101Bへの通信経路において伝送されるデータのロスが発生したか否か、または当該データのロスが発生するおそれの有無を認識することができる。これにより、データのロスが発生したとき、またはデータのロスが発生するおそれがあるとき等の適切なタイミングにおいて、当該通信経路を別の通信経路へ切り替えることを判断することができる。したがって、データのロスを低減しながら、車載ネットワークにおける冗長切り替えを適切に行うことができる。
また、本発明の第1の実施の形態に係る車載通信システムでは、エラー情報E1は、上記データのエラー数を含む。
このような構成により、エラー数に基づいて、スイッチ装置101Aからスイッチ装置101Bへの通信経路において伝送されるデータのロスが発生したか否かをより正しく認識することができる。
また、本発明の第1の実施の形態に係る車載通信システムでは、エラー情報E2は、スイッチ装置101Bによる誤り訂正処理におけるエラー訂正数を含む。
このような構成により、エラー訂正数に基づいて、データのロスが発生する予兆を認識することができるので、スイッチ装置101Aからスイッチ装置101Bへの通信経路において伝送されるデータのロスが発生するおそれの有無をより正しく認識することができる。これにより、データのロスが発生する前に、冗長切り替えを行うことができる。
また、本発明の第1の実施の形態に係る車載通信システムでは、判断部32は、エラー情報E1またはE2に含まれる値と所定のしきい値とを比較し、比較結果に基づいて判断処理を行う。
このような構成により、たとえば、スイッチ装置101Aからスイッチ装置101Bへの通信経路において伝送されるデータのロスが発生したか否か、および当該データのロスが発生するおそれの有無を簡易に認識することができる。
また、本発明の第1の実施の形態に係るスイッチ装置101Bでは、受信部41は、他のスイッチ装置101である対象装置からデータを受信する。フレーム処理部43は、受信部41によって受信されたデータのエラーに関するエラー情報E1またはE2を作成する。そして、判断部32は、フレーム処理部43によって作成されたエラー情報E1またはE2に基づいて、対象装置から自己のスイッチ装置101Bへの通信経路を、他の別のスイッチ装置101を経由して対象装置から自己のスイッチ装置101Bへ至る別の通信経路へ切り替えるか否かを判断する。
このような構成により、エラー情報E1またはE2に基づいて、たとえば、対象装置から自己のスイッチ装置101Bへの通信経路において伝送されるデータのロスが発生したか否か、または当該データのロスが発生するおそれの有無を認識することができる。これにより、データのロスが発生したとき、またはデータのロスが発生するおそれがあるとき等の適切なタイミングにおいて、当該通信経路を別の通信経路へ切り替えることを判断することができる。したがって、データのロスを低減しながら、車載ネットワークにおける冗長切り替えを適切に行うことができる。
次に、本発明の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
<第2の実施の形態>
本実施の形態は、第1の実施の形態に係る車載通信システムと比べて、エラー情報を作成するスイッチ装置と判断処理を行うスイッチ装置とが異なる車載通信システムに関する。以下で説明する内容以外は第1の実施の形態に係る車載通信システムと同様である。
図11は、本発明の第2の実施の形態に係る車載通信システムにおける各スイッチ装置間の接続の一例を示す図である。
図11を参照して、車載通信システム302は、スイッチ装置(車載装置)102A,102B,102Cを備える。以下、スイッチ装置102A,102B,102Cの各々をスイッチ装置102とも称する。
車載通信システム302は、車両1に搭載される。また、6つの車内通信デバイス111は、車両1に搭載される。
なお、車載通信システム302は、3つのスイッチ装置102を備える構成に限らず、2つ、または4つ以上のスイッチ装置102を備える構成であってもよい。
車載通信システム302における車内通信デバイス111の動作は、図1に示す車載通信システム301における車内通信デバイス111と同様である。
図11では、スイッチ装置102A〜102Cの各々において、スイッチ装置102間の通信に用いる通信ポート34A,34B、およびスイッチ装置102と車内通信デバイス111との間の通信に用いる2つの通信ポート34が示される。
スイッチ装置102Aの通信ポート34Bが、スイッチ装置102Bの通信ポート34Aにイーサネットケーブル10を介して接続されている。スイッチ装置102Bの通信ポート34Bが、スイッチ装置102Cの通信ポート34Aにイーサネットケーブル10を介して接続されている。また、スイッチ装置102Cの通信ポート34Bが、スイッチ装置102Aの通信ポート34Aにイーサネットケーブル10を介して接続されている。
[スイッチ装置102の構成]
図12は、本発明の第2の実施の形態に係る車載通信システムにおけるスイッチ装置の構成を示す図である。
図12を参照して、スイッチ装置102は、スイッチ部31と、4つの通信ポート34と、判断部52と、4つのポート部53とを備える。
ポート部53は、通信ポート34に対応して設けられる。ポート部53および対応の通信ポート54には、固有のポート番号が割り当てられる。
なお、スイッチ装置102は、ポート部53および通信ポート54の組を4つ備える構成に限らず、ポート部53および通信ポート54の組を3つまたは5つ以上備える構成であってもよい。
スイッチ装置102におけるスイッチ部31および通信ポート34の動作は、図2に示すスイッチ装置101におけるスイッチ部31および通信ポート34とそれぞれ同様である。
この例では、通信ポート34である通信ポート34A,34Bは、イーサネットケーブル10を介して他のスイッチ装置102に接続されている。4つの通信ポート34のうちの通信ポート34A,34Bを除く2つの通信ポート34は、イーサネットケーブル10を介して車内通信デバイス111に接続されている。また、ポート部53であるポート部53A,53Bは、通信ポート34A,34Bにそれぞれ対応する。
図13は、本発明の第2の実施の形態に係るスイッチ装置におけるポート部の構成を示す図である。
図13を参照して、ポート部53は、送信部42と、受信部(取得部)61と、フレーム処理部(作成部)63とを含む。
ポート部53における受信部61および送信部42の動作は、図3に示すポート部33における受信部41および送信部42とそれぞれ同様である。
ポート部53は、たとえば、所定の通信規格に従って100Mbpsの通信速度でイーサネットフレームの送受信を行う場合、以下の処理を行う。
すなわち、ポート部53における受信部61は、対応の通信ポート34を介して接続された他のスイッチ装置102すなわち対象装置または車内通信デバイス111から電気信号を受信すると、所定の変調方式に従って、電気信号を復調することによりシンボル列を生成する。受信部41は、生成したシンボル列をフレーム処理部63へ出力する。
フレーム処理部63は、受信部61からシンボル列を受けると、受けたシンボル列をビット列に変換する。ここで、変換後のビット列はイーサネットフレームを示す。
フレーム処理部63は、変換後のビット列すなわちイーサネットフレームにおけるFCSフィールドからCRC値を取得する。
また、フレーム処理部63は、イーサネットフレームに含まれるデータのCRC値を算出し、算出したCRC値と取得したCRC値とを比較する、すなわち照合する。
フレーム処理部63は、これらのCRC値が一致する場合、データが正しいと判断し、当該イーサネットフレームをスイッチ部31へ出力する。
一方、フレーム処理部63は、これらのCRC値が一致しない場合、データが誤っていると判断し、たとえば、当該イーサネットフレームを破棄するとともに、当該イーサネットフレームの再送要求を送信部42経由で対象装置または車内通信デバイス111へ送信する。
たとえば、スイッチ装置102において通信ポート34A,34Bが対象装置に接続された専用の通信ポート34として運用されている場合、ポート部53A,53Bでは、エラー情報E1が作成される。一方、他の2つのポート部53では、エラー情報E1が作成されない。
より詳細には、ポート部53A,53Bにおけるフレーム処理部63は、たとえば、所定の単位時間が経過するごとに、誤っていると判断したフレーム数を集計し、集計結果すなわちCRCエラー数を含むエラー情報E1を作成する。フレーム処理部43は、作成したエラー情報E1を含むイーサネットフレームを送信部42経由で対象装置へ送信する。
[判断処理]
以下では、スイッチ装置102Aにおいて行われる判断処理について説明するが、スイッチ装置102B,102Cにおいても同様の判断処理が行われる。
再び図11〜図13を参照して、スイッチ装置102Aでは、ポート部53Bにおける受信部61は、スイッチ装置102Bが自己のスイッチ装置102Aから受信したデータのエラーに関するエラー情報E1を取得する。
より詳細には、受信部61は、エラー情報E1を含むイーサネットフレームを受信すると、受信したイーサネットフレームをフレーム処理部63経由でスイッチ部31へ出力する。
スイッチ部31は、ポート部53Bからイーサネットフレームを受けると、受けたイーサネットフレームからエラー情報E1を取得し、取得したエラー情報E1をポート部53Bのポート番号とともに判断部52へ出力する。
また、ポート部53Aにおける受信部61は、スイッチ装置102Cが自己のスイッチ装置102Aから受信したデータのエラーに関するエラー情報E1を取得する。
より詳細には、受信部61は、エラー情報E1を含むイーサネットフレームを受信すると、受信したイーサネットフレームをフレーム処理部63経由でスイッチ部31へ出力する。
スイッチ部31は、ポート部53Aからイーサネットフレームを受けると、受けたイーサネットフレームからエラー情報E1を取得し、取得したエラー情報E1をポート部53Aのポート番号とともに判断部52へ出力する。
判断部52は、ポート部53Bにおける受信部61によって取得されたエラー情報E1に基づいて、自己のスイッチ装置102Aからスイッチ装置102Bへの通信経路を、スイッチ装置102Cを経由して自己のスイッチ装置102Aからスイッチ装置102Bへ至る別の通信経路へ切り替えるか否かを判断する判断処理を行う。
より詳細には、判断部52は、ポート部53Bからエラー情報E1およびポート部53Bのポート番号を受けて、受けたポート部53Bのポート番号に基づいて、エラー情報E1がポート部53Bによって受信されたことを認識する。
判断部52は、受けたエラー情報E1に含まれるCRCエラー数がしきい値Th1以上である場合、自己のスイッチ装置102Aからスイッチ装置102Bへの通信経路を、スイッチ装置102Cを経由して自己のスイッチ装置102Aからスイッチ装置102Bへ至る通信経路へ切り替えるべきと判断する。
そして、判断部52は、判断結果に基づいて、スイッチ部31が保持するARLテーブルを書き換える。
また、判断部52は、ポート部53Aにおける受信部61によって取得されたエラー情報E1に基づいて、自己のスイッチ装置102Aからスイッチ装置102Cへの通信経路を、スイッチ装置102Bを経由して自己のスイッチ装置102Aからスイッチ装置102Cへ至る別の通信経路へ切り替えるか否かを判断する判断処理を行う。
より詳細には、判断部52は、ポート部53Aからエラー情報E1およびポート部53Aのポート番号を受けて、受けたポート部53Aのポート番号に基づいて、エラー情報E1がポート部53Aによって受信されたことを認識する。
判断部52は、受けたエラー情報E1に含まれるCRCエラー数がしきい値Th1以上である場合、自己のスイッチ装置102Aからスイッチ装置102Cへの通信経路を、スイッチ装置102Bを経由して自己のスイッチ装置102Aからスイッチ装置102Cへ至る通信経路へ切り替えるべきと判断する。
そして、判断部52は、判断結果に基づいて、スイッチ部31が保持するARLテーブルを書き換える。
また、判断部52は、ポート部53Bによって受信されたエラー情報E1に含まれるCRCエラー数、およびポート部53Aによって受信されたエラー情報E1に含まれるCRCエラー数の両方がしきい値Th1以上である場合、以下の処理を行う。
すなわち、判断部52は、たとえば、CRCエラー数がより少ないエラー情報E1を用いない。
具体的には、ポート部53Aによって受信されたエラー情報E1に含まれるCRCエラー数が、ポート部53Bによって受信されたエラー情報E1に含まれるCRCエラー数より少ない場合、判断部52は、ポート部53Bによって受信されたエラー情報E1を用いるが、ポート部53Aによって受信されたエラー情報E1を用いない。
そして、判断部32は、自己のスイッチ装置102Aからスイッチ装置102Bへの通信経路を、スイッチ装置102Cを経由して自己のスイッチ装置102Aからスイッチ装置102Bへ至る通信経路へ切り替えるべきと判断するが、自己のスイッチ装置102Aからスイッチ装置102Cへの通信経路を、スイッチ装置102Bを経由して自己のスイッチ装置102Aからスイッチ装置102Cへ至る通信経路へ切り替えるべきと判断しない。
なお、判断部52は、ポート部53Bによって受信されたエラー情報E1に含まれるCRCエラー数、およびポート部53Aによって受信されたエラー情報E1に含まれるCRCエラー数の両方がしきい値Th1以上である場合、通信経路の切り替えを判断しない構成であってもよい。
[スイッチ装置102の変形例]
再び図12を参照して、スイッチ装置102は、所定の通信規格に従って100Mbpsの通信速度でイーサネットフレームの送受信を行う構成に限らず、1Gbpsの通信速度でイーサネットフレームの送受信を行う構成であってもよい。
この例では、イーサネットフレームの送信先の装置において、前方誤り訂正(FEC)、およびCRCチェックが行われる。
再び図13を参照して、スイッチ装置102の変形例における受信部61および送信部42の動作は、上述のスイッチ装置101の変形例における受信部41および送信部42とそれぞれ同様である。
受信部61は、対応の通信ポート34を介して接続された対象装置または車内通信デバイス111から電気信号を受信すると、PAM3の変調方式に従って、電気信号を復調することによりシンボル列を生成する。受信部41は、生成したシンボル列をフレーム処理部63へ出力する。
フレーム処理部63は、受信部61からシンボル列を受けると、受けたシンボル列すなわち複数の(204,188)リード−ソロモン符号を複数の符号化前データに変換する。
フレーム処理部63は、変換後の複数の符号化前データを結合してシンボル列を生成し、生成したシンボル列をビット列に変換する。ここで、変換後のビット列は、1518バイトのサイズのイーサネットフレームを示す。
フレーム処理部63は、変換後のビット列すなわちイーサネットフレームにおけるFCSフィールドからCRC値を取得する。
また、フレーム処理部63は、イーサネットフレームに含まれるデータのCRC値を算出し、算出したCRC値と取得したCRC値とを比較する、すなわち照合する。
フレーム処理部63は、これらのCRC値が一致する場合、イーサネットフレームをスイッチ部31へ出力する。
一方、フレーム処理部43は、これらのCRC値が一致しない場合、たとえばイーサネットフレームの再送要求を送信部42経由で対象装置または車内通信デバイス111へ送信する。
たとえば、スイッチ装置102において通信ポート34A,34Bが対象装置に接続された専用の通信ポート34として運用されている場合、ポート部53A,53Bでは、エラー情報E2が作成される。一方、他の2つのポート部53では、エラー情報E2が作成されない。
より詳細には、ポート部53A,53Bにおけるフレーム処理部63は、複数の(204,188)リード−ソロモン符号を複数の符号化前データに変換する際に、誤り訂正を行った合計回数を記録し、記録した合計回数すなわち誤り訂正回数を含むエラー情報E2を作成する。
フレーム処理部63は、作成したエラー情報E2を含むイーサネットフレームを送信部42経由で対象装置へ送信する。
再び図11〜図13を参照して、以下では、スイッチ装置102Aにおいて行われる判断処理について説明するが、スイッチ装置102B,102Cにおいても同様の判断処理が行われる。
スイッチ装置102Aでは、ポート部53Bにおける受信部61は、スイッチ装置102Bが自己のスイッチ装置102Aから受信したデータのエラーに関するエラー情報E2を取得する。
より詳細には、受信部61は、エラー情報E2を含むイーサネットフレームを受信すると、受信したイーサネットフレームをフレーム処理部63経由でスイッチ部31へ出力する。
スイッチ部31は、ポート部53Bからイーサネットフレームを受けると、受けたイーサネットフレームからエラー情報E2を取得し、取得したエラー情報E2をポート部53Bのポート番号とともに判断部52へ出力する。
また、ポート部53Aにおける受信部61は、スイッチ装置102Cが自己のスイッチ装置102Aから受信したデータのエラーに関するエラー情報E2を取得する。
より詳細には、受信部61は、エラー情報E2を含むイーサネットフレームを受信すると、受信したイーサネットフレームをフレーム処理部63経由でスイッチ部31へ出力する。
スイッチ部31は、ポート部53Bからイーサネットフレームを受けると、受けたイーサネットフレームからエラー情報E2を取得し、取得したエラー情報E2をポート部53Bのポート番号とともに判断部52へ出力する。
判断部52は、ポート部53Bにおける受信部61によって取得されたエラー情報E2に基づいて、自己のスイッチ装置102Aからスイッチ装置102Bへの通信経路を、スイッチ装置102Cを経由して自己のスイッチ装置102Aからスイッチ装置102Bへ至る別の通信経路へ切り替えるか否かを判断する判断処理を行う。
より詳細には、判断部52は、ポート部53Bからエラー情報E2およびポート部53Bのポート番号を受けて、受けたポート部53Bのポート番号に基づいて、エラー情報E2がポート部53Bによって受信されたことを認識する。
判断部52は、受けたエラー情報E2に含まれる誤り訂正回数がしきい値Th2以上である場合、自己のスイッチ装置102Aからスイッチ装置102Bへの通信経路を、スイッチ装置102Cを経由して自己のスイッチ装置102Aからスイッチ装置102Bへ至る通信経路へ切り替えるべきと判断する。
そして、判断部52は、判断結果に基づいて、スイッチ部31が保持するARLテーブルを書き換える。
また、判断部52は、ポート部53Aにおける受信部61によって取得されたエラー情報E2に基づいて、自己のスイッチ装置102Aからスイッチ装置102Cへの通信経路を、スイッチ装置102Bを経由して自己のスイッチ装置102Aからスイッチ装置102Cへ至る別の通信経路へ切り替えるか否かを判断する判断処理を行う。
より詳細には、判断部52は、ポート部53Aからエラー情報E2およびポート部53Aのポート番号を受けて、受けたポート部53Aのポート番号に基づいて、エラー情報E2がポート部53Aによって受信されたことを認識する。
判断部52は、受けたエラー情報E2に含まれる誤り訂正回数がしきい値Th2以上である場合、自己のスイッチ装置102Aからスイッチ装置102Cへの通信経路を、スイッチ装置102Bを経由して自己のスイッチ装置102Aからスイッチ装置102Cへ至る通信経路へ切り替えるべきと判断する。
そして、判断部52は、判断結果に基づいて、スイッチ部31が保持するARLテーブルを書き換える。
また、判断部52は、ポート部53Bによって受信されたエラー情報E2に含まれる誤り訂正回数、およびポート部53Aによって受信されたエラー情報E2に含まれる誤り訂正回数の両方がしきい値Th2以上である場合、以下の処理を行う。
すなわち、判断部52は、たとえば、誤り訂正回数がより少ないエラー情報E2を用いない。
具体的には、ポート部53Aによって受信されたエラー情報E2に含まれる誤り訂正回数が、ポート部53Bによって受信されたエラー情報E2に含まれる誤り訂正回数より少ない場合、ポート部53Bによって受信されたエラー情報E2を用いるが、ポート部53Aによって受信されたエラー情報E2を用いない。
そして、判断部32は、自己のスイッチ装置102Aからスイッチ装置102Bへの通信経路を、スイッチ装置102Cを経由して自己のスイッチ装置102Aからスイッチ装置102Bへ至る通信経路へ切り替えるべきと判断するが、自己のスイッチ装置102Aからスイッチ装置102Cへの通信経路を、スイッチ装置102Bを経由して自己のスイッチ装置102Aからスイッチ装置102Cへ至る通信経路へ切り替えるべきと判断しない。
なお、判断部52は、ポート部53Bによって受信されたエラー情報E2に含まれる誤り訂正回数、およびポート部53Aによって受信されたエラー情報E2に含まれる誤り訂正回数の両方がしきい値Th2以上である場合、通信経路の切り替えを判断しない構成であってもよい。
以上のように、本発明の第2の実施の形態に係る車載通信システムでは、スイッチ装置101Aのポート部53Bにおける受信部61は、スイッチ装置101Bが、自己のスイッチ装置101Aから受信したデータのエラーに関するエラー情報E1またはE2を取得する。そして、スイッチ装置101Aにおける判断部52は、受信部61によって取得されたエラー情報E1またはE2に基づいて、自己のスイッチ装置101Aからスイッチ装置101Bへの通信経路を、スイッチ装置101Cを経由してスイッチ装置101Aからスイッチ装置101Bへ至る別の通信経路へ切り替えるか否かを判断する判断処理を行う。
このような構成により、エラー情報E1またはE2に基づいて、たとえば、スイッチ装置101Aからスイッチ装置101Bへの通信経路において伝送されるデータのロスが発生したか否か、または当該データのロスが発生するおそれの有無を認識することができる。これにより、データのロスが発生したとき、またはデータのロスが発生するおそれがあるとき等の適切なタイミングにおいて、当該通信経路を別の通信経路へ切り替えることを判断することができる。したがって、データのロスを低減しながら、車載ネットワークにおける冗長切り替えを適切に行うことができる。
その他の構成および動作は第1の実施の形態に係る車載通信システムと同様であるため、ここでは詳細な説明を繰り返さない。
なお、本発明の第1の実施の形態および第2の実施の形態に係る各装置の構成要素および動作のうち、一部または全部を適宜組み合わせることも可能である。
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
以上の説明は、以下に付記する特徴を含む。
[付記1]
車両に搭載される車載通信システムであって、
第1の車載装置および第2の車載装置を含む複数の車載装置と、
前記第1の車載装置が前記第2の車載装置から受信したデータのエラーに関するエラー情報を取得する取得部と、
前記取得部によって取得された前記エラー情報に基づいて、前記第2の車載装置から前記第1の車載装置への通信経路を他の前記車載装置を経由して前記第2の車載装置から前記第1の車載装置へ至る別の通信経路へ切り替えるか否かを判断する判断処理を行う判断部とを備え、
前記車載装置は、スイッチ装置またはゲートウェイ装置であり、
前記データは、前記第1の車載装置が前記第2の車載装置から受信したイーサネットフレームに含まれ、
前記取得部は、所定の単位時間当たりに受信する複数の前記イーサネットフレームにおけるCRC(Cyclic Redundancy Check)エラーの発生数を含むエラー情報、または1フレーム当たりの前方誤り訂正による誤り訂正の回数を含むエラー情報を取得し、
前記車載通信システムは、3つの車載装置を備え、
前記判断部は、前記取得部によって取得された前記エラー情報に基づいて、前記第2の車載装置から前記第1の車載装置への通信経路を第3の前記車載装置を経由して前記第2の車載装置から前記第1の車載装置へ至る別の通信経路へ切り替えるか否かを判断する前記判断処理を行う、車載通信システム。
[付記2]
前記判断部は、前記エラー情報に含まれる値と誤り訂正能力に基づく所定のしきい値とを比較し、比較結果に基づいて前記判断処理を行う、付記1に記載の車載通信システム。
[付記3]
車両に搭載される車載装置であって、
前記車両に搭載された他の車載装置である対象装置からデータを受信する受信部と、
前記受信部によって受信された前記データのエラーに関するエラー情報を作成する作成部と、
前記作成部によって作成された前記エラー情報に基づいて、前記対象装置から自己の車載装置への通信経路を、前記車両に搭載された他の別の車載装置を経由して前記対象装置から自己の車載装置へ至る別の通信経路へ切り替えるか否かを判断する判断部とを備え、
前記車載装置は、スイッチ装置またはゲートウェイ装置であり、
前記データは、前記対象装置から受信したイーサネットフレームに含まれ、
前記作成部は、所定の単位時間当たりに受信する複数の前記イーサネットフレームにおけるCRCエラーの発生数を含むエラー情報、または1フレーム当たりの前方誤り訂正による誤り訂正の回数を含むエラー情報を作成する、車載装置。