JP6519453B2 - 通信システム - Google Patents

通信システム Download PDF

Info

Publication number
JP6519453B2
JP6519453B2 JP2015225642A JP2015225642A JP6519453B2 JP 6519453 B2 JP6519453 B2 JP 6519453B2 JP 2015225642 A JP2015225642 A JP 2015225642A JP 2015225642 A JP2015225642 A JP 2015225642A JP 6519453 B2 JP6519453 B2 JP 6519453B2
Authority
JP
Japan
Prior art keywords
frame
unit
receiving
transmission
reception
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.)
Active
Application number
JP2015225642A
Other languages
English (en)
Other versions
JP2017098603A (ja
Inventor
孝夫 長谷川
孝夫 長谷川
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2015225642A priority Critical patent/JP6519453B2/ja
Publication of JP2017098603A publication Critical patent/JP2017098603A/ja
Application granted granted Critical
Publication of JP6519453B2 publication Critical patent/JP6519453B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

本発明は、通信システムに関する。
例えば特許文献1には、データ送信端末が一度に複数のデータ受信端末へデータ伝送を行う通信システムが記載されている。特許文献1に記載の通信システムにおいて、データ送信端末は、複数の異なるパケットを連続的に送信し、その後、データ受信端末の各々は、受信エラーが生じたパケット(即ち、受信に失敗したパケット)を示す再送要求を送信する。そして、データ送信端末は、データ受信端末からの再送要求が示すパケットを再送信する。
特開2004−88258号公報
例えば、送信側装置から複数の受信側装置へ、伝送対象のデータを含むフレームが一斉に送信され、各受信側装置は、受信したフレーム中のデータを用いて、当該受信側装置に割り当てられた制御対象を制御する、といった通信システムが考えられる。
この場合、受信側装置の全てがフレームの受信に成功すれば、受信側装置の各々は、同じタイミングのデータを取得することができる。同じタイミングのデータとは、同じタイミングでの情報を示すデータ、である。そして、受信側装置の各々が、その同じタイミングのデータを用いて当該受信側装置の制御対象を制御することにより、各受信側装置が同期して制御対象を制御することができ、その結果、通信システム全体として信頼性の高い制御を実現することができる。
しかし、複数の受信側装置の何れかに受信エラーが生じた場合、その受信側装置では、フレームの受信に失敗することとなり、受信したフレームは破棄される。よって、受信エラーが生じた受信側装置が取得するデータは更新されず、フレームの受信に成功した受信側装置が取得するデータは最新のデータに更新される、という状況が生じる。
このため、データの同時性が確保されなくなる。データの同時性とは、全ての受信側装置が同じタイミングのデータを取得することである。
一方、上記特許文献1の技術は、データの同時性を確保できるものではない。
そこで、本発明は、送信側装置から複数の受信側装置に、データを含むフレームが送信される通信システムにおいて、全ての受信側装置が同じタイミングのデータを取得できるようにすること、を目的としている。
本発明の通信システム(1)は、伝送対象のデータを含むフレームを送信する送信側装置(2,10)と、前記フレームを受信する複数の受信側装置(11,12,13)と、を備える。
そして、送信側装置は、フレームを複数の受信側装置に一斉に送信する送信部(S120,S140,S150)、を備える。
また、受信側装置の各々は、判定部(S250,S290,S320,S410)と、破棄部(S420)と、を備える。
判定部は、当該受信側装置以外の受信側装置である他の受信側装置において、フレームの受信エラーが生じたか否かを判定する。受信エラーは、フレームの受信に失敗したことを意味する。破棄部は、判定部により、他の受信側装置において受信エラーが生じたと判定された場合に、当該受信側装置が受信したフレームに含まれていたデータを破棄する。
この通信システムによれば、複数の受信側装置のうちの何れかに受信エラーが生じた場合に、フレームの受信に成功した受信側装置においても、受信したフレーム中のデータは取得されず破棄される。このため、前述の状況、即ち、受信エラーが生じた受信側装置が取得するデータは更新されず、フレームの受信に成功した受信側装置が取得するデータは最新のデータに更新される、という状況が回避される。よって、全ての受信側装置が同じタイミングのデータを取得できるようにすることを実現することができる。即ち、データの同時性を実現することができる。
本発明の通信システムは、例えば下記のように構成することができる。
送信側装置が備える送信部は、複数の受信側装置に同じフレームを2回送信するように構成される。しかも、送信部は、2回送信する同じフレームのうち、先に送信する方である1回目フレームを送信してから、一定時間が経過すると、2回送信する同じフレームのうち、後に送信する方である2回目フレームを送信するように構成される。
そして、送信側装置は、禁止部(S130)を更に備える。その禁止部は、送信部が1回目フレームを送信してから前記一定時間が経過するまでの間に、受信側装置の何れかからの受信エラー通知を当該送信側装置が受信した場合に、送信部が2回目フレームを送信することを禁止する。
また、受信側装置の各々は、通知部(S270)を更に備える。その通知部は、1回目フレームについて受信エラーが生じたか否かを判定し、受信エラーが生じたと判定した場合に、送信側装置へ前記受信エラー通知を送信する。
そして、受信側装置の各々が備える判定部は、当該受信側装置が1回目フレームを受信してから、前記一定時間よりも長い受信待機時間が経過するまでの間に、当該受信側装置が2回目フレームを受信しなければ、他の受信側装置において受信エラーが生じたと判定するように構成される。
更に、受信側装置の各々が備える破棄部は、判定部により他の受信側装置において受信エラーが生じたと判定された場合に、当該受信側装置が受信した1回目フレームに含まれていたデータを破棄するように構成される。
このように構成された通信システムにおいて、全ての受信側装置が1回目フレームの受信に成功した場合には、何れの受信側装置も受信エラー通知を送信しないため、送信側装置からは、1回目フレームに続き、2回目フレームが送信される。この場合、受信側装置の各々は、1回目フレーム中のデータを取得することで、最新のデータを取得することができる。もちろん、2回目フレームに受信エラーがなければ、1回目フレームではなく、2回目フレーム中のデータを取得することもできる。1回目フレームと2回目フレームとで、データは同じであるからである。
一方、何れかの受信側装置において、1回目フレームについて受信エラーが生じた場合、即ち、1回目フレームの受信に失敗した場合、その受信側装置は、送信側装置へ受信エラー通知を送信する。このため、送信側装置からは2回目フレームが送信されなくなる。
すると、この場合、1回目フレームの受信に成功した受信側装置は、1回目フレームを受信してから受信待機時間が経過しても2回目フレームを受信しなくなるため、当該受信側装置が受信した1回目フレーム中のデータを破棄部によって破棄することとなる。よって、前述の状況が回避されて、データの同時性を実現することができる。
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
実施態様の通信システムの構成を示すブロック図である。 フレームの構成を示す説明図である。 スイッチングハブ処理を表すフローチャートである。 受信エンドノード処理を表すフローチャートである。 受信待機タイマ処理を表すフローチャートである。 第1の動作例を説明するタイムチャートである。 第2の動作例を説明するタイムチャートである。 第3の動作例を説明するタイムチャートである。
以下、図面を参照しながら、発明を実施するための形態を説明する。
[構成]
図1に示す実施態様の通信システム1は、自動車に搭載される通信システムである。
通信システム1は、イーサネットにおけるプロトコルのうち、例えばUDPを用いた通信システムであり、ノードとして、4つのECU10〜13を備える。更に、通信システム1は、中継装置としてのスイッチングハブ2を備える。尚、イーサネットは登録商標である。ECUは、「Electronic Control Unit」、即ち電子制御装置の略である。UDPは、「User Datagram Protocol」の略である。
ECU10は、通信線30によってスイッチングハブ2と接続されている。そして、スイッチングハブ2は、通信線31〜33の各々によってECU11〜13と接続されている。ECU10から送信されるフレームは、スイッチングハブ2を経由して、ECU11〜13の何れかに送信される。
例えば、ECU10は、エンジンを制御するECUであり、ECU11は、トランスミッションを制御するECUであり、ECU12は、ステアリング装置を制御するECUであり、ECU13は、ブレーキ装置を制御するECUである。そして、ECU10には、検出対象の物理量としてのエンジン回転数を検出するためのセンサ40が接続されている。また、ECU11には、トランスミッションの変速比等を制御するためのアクチュエータ41が接続されており、ECU12には、ステアリング装置の動力となるアクチュエータ42が接続されており、ECU13には、ブレーキ装置の動作/非動作等を制御するためのアクチュエータ43が接続されている。
ECU10から送信されるフレームのうち、ECU11〜13にとって同時性が必要なデータを含むフレームは、ECU11〜13に一斉送信されるフレームとされる。
同時性が必要なデータとは、ECU11〜13の各々が制御対象を制御する上で、同じタイミングの値であることが必要なデータである。以下では、同時性が必要なデータを含むフレームのことを、同時データフレームという。本実施形態において、同時データフレームは、ブロードキャストフレームとされる。
このため、ECU10から送信されるフレームのうち、同時データフレームは、スイッチングハブ2を経由して、3つのECU11〜13に一斉に送信される。
例えば、ECU10は、センサ40からの信号に基づきエンジン回転数を検出する。そして、ECU10は、検出した最新のエンジン回転数を表すデータ(以下、回転数データという)を含むフレームを、一定時間毎に、ブロードキャストフレームとしてスイッチングハブ2に送信する。すると、スイッチングハブ2は、そのフレームを各ECU11〜13へ一斉に送信する。そして、ECU11〜13の各々は、ECU10からのフレームに含まれている回転数データを用いて、制御対象を制御する。具体的には、ECU11は回転数データに基づいてアクチュエータ41を制御し、ECU12は回転数データに基づいてアクチュエータ42を制御し、ECU13は回転数データに基づいてアクチュエータ43を制御する。この例では、回転数データが、同時性が必要なデータの一例であり、回転数データを含むフレームが、同時データフレームの一例である。
通信システム1において通信されるフレームは、図2に示すイーサネットフレームである。このイーサネットフレームは、宛先MACアドレス、送信元MACアドレス、タイプ、データ、およびFCSの各領域を備える。FCSは、「Frame Check Sequence」の略である。宛先MACアドレスは、フレームの宛先装置のMACアドレスであり、送信元MACアドレスは、フレームの送信元装置のMACアドレスである。MACアドレスは、装置のアドレスに相当する。そして、宛先MACアドレスからタイプまでの領域が、イーサネットヘッダ部となっている。また、図2では図示を省略しているが、フレームにおけるデータ領域には、UDPヘッダ部と、UDPで送受信されるデータが配置されるUDPデータ部とが、カプセル化されて含まれる。本実施形態において、回転数データ等の伝送対象データは、そのUDPデータ部に配置される。
そして、ブロードキャストフレームは、宛先MACアドレスのビットが全て「1」になっているフレームである。尚、同時データフレームは、ブロードキャストフレームではなく、例えば、ECU11〜ECU13を宛先とするマルチキャストフレームであっても良い。その場合、宛先MACアドレスは、ECU11〜13が宛先であることを示す値になっていれば良い。
一方、図1に示すように、ECU10〜13の各々は、当該ECUの動作を司る制御部50〜53を備える。ECU10〜13の動作は、制御部50〜53の処理動作によって実現される。
制御部50〜53は、CPUと、RAM、ROM、フラッシュメモリ等の半導体メモリと、を有する周知のマイクロコンピュータ(以下、マイコンという)を中心に構成されている。制御部50〜53の機能(即ち、ECU10〜13の機能)は、当該制御部のCPUが非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。例えば、上記ROMが、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムの実行により、プログラムに対応する方法が実行される。尚、制御部50〜53を構成するマイコンの数は1つでも複数でも良い。制御部50〜53の機能を実現する手法はソフトウェアに限るものではなく、その一部又は全部の機能を、論理回路やアナログ回路等を組み合わせたハードウェアを用いて実現しても良い。
また、スイッチングハブ2も、当該スイッチングハブ2の動作を司る制御部20を備える。スイッチングハブ2の動作は、制御部20の処理動作によって実現される。ECU10〜13の制御部50〜53について説明したことは、スイッチングハブ2の制御部20についても同様である。
[各装置の処理内容]
ECU10は、同時データフレームを、ブロードキャストフレームとして、スイッチングハブ2に送信する。
また、フレームには、そのフレームが冗長送信対象フレームであるか否かを識別可能な識別子(以下、冗長送信識別子という)が含まれている。冗長送信対象フレームとは、宛先の装置に対して2回送信されるフレームのことである。冗長送信識別子は、1ビット以上のコードであり、例えば、フレームのタイプ領域に配置される。冗長送信識別子の値は、冗長送信対象フレームであることを示す第1の値と、冗長送信対象フレームでないことを示す第2の値との、何れかに設定される。そして、ECU10は、当該ECU10が送信する同時データフレームについては、冗長送信識別子の値を、上記第1の値に設定する。このため、ECU10から送信される同時データフレームは、冗長送信対象フレームとして扱われる。
スイッチングハブ2は、ECU10からフレームを受信する毎に、図3のスイッチングハブ処理を行う。
図3に示すように、スイッチングハブ2は、まずS110にて、受信したフレーム(以下、受信フレームともいう)が冗長送信対象フレームであるか否かを判定する。具体的には、受信フレーム中の冗長送信識別子が上記第1の値であるか否かを判定し、冗長送信識別子の値が上記第1の値であれば、冗長送信対象フレームであると判定する。
スイッチングハブ2は、上記S110にて、受信フレームが冗長送信対象フレームであると判定した場合には、S120に進み、受信フレームを、送信対象ノードとしてのECU10〜13に送信する。具体的には、当該スイッチングハブ2のポートのうち、ECU10〜13が接続されている3つのポートから、受信フレームを一斉に送信する。このS120により、受信フレームの1回目の送信が実施される。このS120で送信される受信フレームは、ECU10からの同時データフレームであり、冗長送信対象フレームである。また、このS120で送信されるフレームは、2回送信される冗長送信対象フレーのうち、1回目の冗長送信対象フレーム(以下、1回目フレームともいう)である。
スイッチングハブ2は、次のS130にて、ECU11〜13の何れかからの受信エラー通知があったか否かを判定する。つまり、受信エラー通知を受信したか否かを判定する。例えば、受信エラー通知は、タイプ領域のうち、冗長送信識別子が配置される領域とは異なる領域に、当該フレームが受信エラー通知であることを示す識別子が含まれたフレームである。
スイッチングハブ2は、S130にて、受信エラー通知がないと判定した場合には、S140にて、S120で受信フレームを送信してから、一定のエラー検出待機時間が経過したか否かを判定し、エラー検出待機時間が経過していなければ、S130に戻る。
尚、エラー検出待機時間は、受信エラー通知を待つ時間である。このため、エラー検出待機時間は、当該スイッチングハブ2がECU11〜13にフレームを送信してから、ECU11〜13の何れかが受信エラー通知を送信した場合に、その受信エラー通知がスイッチングハブ2に受信されるまでの最大時間よりも、少し長い時間に設定されている。
また、スイッチングハブ2は、上記S140にて、エラー検出待機時間が経過したと判定した場合には、S150に進み、S120で送信した受信フレームを、再び送信対象ノードとしてのECU10〜13に送信する。このS150により、1回目と同じ受信フレームの、2回目の送信が実施される。つまり、S150で送信されるフレームは、2回送信される冗長送信対象フレーのうち、2回目の冗長送信対象フレーム(以下、2回目フレームともいう)である。
そして、スイッチングハブ2は、次のS160にて、送信元のECU10へ、送信成功を示す信号として、ACKフレームを送信し、その後、当該図3の処理を終了する。ACKは、「ACKnowledgement」、即ち肯定応答の略である。例えば、ACKフレームは、UDPデータ部に、当該フレームがACKフレームであることを示す識別子が含まれたフレームである。
また、スイッチングハブ2は、上記S130にて、受信エラー通知があったと判定した場合には、S170に進む。このため、S120で1回目フレームの送信を実施してからエラー検出待機時間が経過するまでの間に、ECU11〜13の何れかからの受信エラー通知を受信した場合には、2回目フレームの送信を行うことなく、S170に進むこととなる。
そして、スイッチングハブ2は、S170では、送信元のECU10へ、送信失敗を示す信号として、NACKフレームを送信し、その後、当該図3の処理を終了する。NACKは、「Negative ACKnowledgement」、即ち否定応答の略である。 例えば、NACKフレームは、UDPデータ部に、当該フレームがNACKフレームであることを示す識別子が含まれたフレームである。
また、スイッチングハブ2は、上記S110にて、受信フレームが冗長送信対象フレームでないと判定した場合には、S180に進み、イーサネットの規格に基づいた通常の中継処理を行った後、当該図3の処理を終了する。通常の中継処理は、例えば、当該スイッチングハブ2のポートのうち、受信フレームの転送先ポートを、受信フレーム中の宛先MACアドレスと、当該スイッチングハブ2に記憶されているMACアドレステーブルとに基づいて決定し、その決定したポートから受信フレームを送信する、といった処理である。
一方、ECU11〜13の各々は、フレームを受信する毎に、図4の受信エンドノード処理を行う。ここでは、ECU11を主体にして説明するが、ECU12,13も同じ処理を行う。
図4に示すように、ECU11は、受信エンドノード処理を開始すると、S210にて、スイッチングハブ2からの受信フレームが冗長送信対象フレームであるか否かを判定する。具体的には、受信フレーム中の冗長送信識別子が上記第1の値であるか否かを判定し、冗長送信識別子の値が上記第1の値であれば、冗長送信対象フレームであると判定する。
ECU11は、上記S210にて、受信フレームが冗長送信対象フレームであると判定した場合には、S220に進み、当該ECUの状態がアイドル状態か否かを判定する。
ECUの状態としては、アイドル状態と受信中状態とがある。アイドル状態とは、スイッチングハブ2から2回送信される冗長送信対象フレームのうち、1回目フレーム(即ち、新規のフレーム)を待っている状態である。受信中状態とは、スイッチングハブ2から2回送信される冗長送信対象フレームのうち、2回目フレーム(即ち、前回と同じフレーム)を待っている状態である。
ECU11は、S220にて、アイドル状態であると判定した場合には、S230に進み、受信エラーがあったか否かを判定する。このS230で有無を判定する受信エラーは、今回受信した1回目フレームについての受信エラーである。受信エラーは、受信フレームのエラー(即ち、誤り)であり、換言すれば、受信フレームの異常である。例えば、受信フレームにデータ長の異常があったり、FCS領域のコードを用いたチェックでエラーを検出したりした場合に、受信エラーがあったと判定する。受信エラーは、フレームの受信に失敗したということでもある。
ECU11は、S230にて、受信エラーがなかったと判定した場合には、S240に進み、受信フレームに含まれている伝送対象データであって、この例ではUDPデータ部に配置されているデータを、1回目受信データとしてRAM等のメモリ内に保存する。このS230により、スイッチングハブ2からの1回目フレームに含まれていた伝送対象データが、1回目受信データとしてメモリに保存される。
ECU11は、次のS250にて、受信待機タイマをリセットして始動させる。受信待機タイマは、1回目フレームを受信してからの経過時間を計測するためのタイマであり、例えば、所定の一定時間毎にカウントアップされるカウンタによって構成されている。そして、ECU11は、次のS260にて、当該ECUの状態をアイドル状態から受信中状態に設定し、その後、当該受信エンドノード処理を終了する。
また、ECU11は、上記S230にて、受信エラーがあったと判定した場合には、S270に進み、スイッチングハブ2へ、受信エラーの発生を知らせるためのフレームとして、前述の受信エラー通知を送信する。そして、その後、当該受信エンドノード処理を終了する。尚、受信エラーがあった場合、例えばS270又は図示しない別のステップにて、受信フレームは破棄される。このため、1回目フレームに含まれていた伝送対象データは保存されることなく破棄される。
一方、ECU11は、上記S220にて、アイドル状態ではない(即ち、受信中状態である)と判定した場合には、S280に進む。このため、ECU11は、前述のS260で当該ECUの状態を受信中状態に設定した後、スイッチングハブ2から、前回受信したフレームと同じフレーム(即ち、2回目フレーム)を受信した場合に、S280に進むこととなる。
ECU11は、S280では、S230と同様に、受信エラーがあったか否かを判定する。このS280で有無を判定する受信エラーは、今回受信した2回目フレームについての受信エラーである。
ECU11は、上記S280にて、受信エラーがなかったと判定した場合には、S290に進み、上記S250で始動させた受信待機タイマを停止させる。そして、次のS300にて、受信確定を行う。
受信確定とは、受信フレームに含まれていた転送対象データを、当該ECUにおける制御処理に使用するデータ(以下、処理対象データという)としてRAM等のメモリに保存することである。ECUにおける制御処理は、そのECUの制御対象を制御するための処理である。ECU11は、S300では、今回の受信フレーム(即ち、2回目フレーム)に含まれていた転送対象データを、処理対象データとしてメモリに保存する。
尚、S300では、1回目受信データで受信確定をしても良い。つまり、前述のS240でメモリに保存した1回目受信データを、処理対象データとしてメモリに保存しても良い。1回目フレームと2回目フレームとで、含まれる転送対象データは同じであるからである。
そして、ECU11は、次のS310にて、当該ECUの状態を受信中状態からアイドル状態に設定し、その後、当該受信エンドノード処理を終了する。
また、ECU11は、上記S280にて、受信エラーがあったと判定した場合には、S320に進み、上記S250で始動させた受信待機タイマを停止させる。そして、次のS330では、1回目受信データで受信確定をする。つまり、S240でメモリに保存した1回目受信データを、処理対象データとしてメモリに保存する。そして、ECU11は、次のS340にて、当該ECUの状態を受信中状態からアイドル状態に設定し、その後、当該受信エンドノード処理を終了する。尚、この場合、受信フレームはエラーがあるため破棄される。
また、ECU11は、上記S210にて、受信フレームが冗長送信対象フレームでないと判定した場合には、S350に進み、通常のフレーム受信処理を行った後、当該受信エンドノード処理を終了する。尚、通常のフレーム受信処理は、例えば、受信フレームについて受信エラーの有無を判定し、受信エラーがなければ、受信フレーム中の目的のデータをメモリに保存し、受信エラーがあれば、受信フレームを破棄する、といった処理である。
また、ECU11〜13の各々は、図4のS250で受信待機タイマを始動させると、例えば、その受信待機タイマがカウントアップされる一定時間毎に、図5の受信待機タイマ処理を行う。ここでは、ECU11を主体にして説明するが、ECU12,13も同じ処理を行う。
図5に示すように、ECU11は、受信待機タイマ処理を開始すると、S410にて、受信待機タイマの値に基づいて受信待機時間が経過したか否かを判定する。具体的には、受信待機タイマの値が、受信待機時間に相当する値以上になったか否かを判定する。受信待機時間に相当する値は、受信待機時間を上記一定時間で割った値である。また、受信待機時間は、前述のエラー検出待機時間よりも長い時間に設定されている。
ECU11は、上記S410にて、受信待機時間が経過していないと判定した場合には、そのまま当該受信待機タイマ処理を終了する。
また、ECU11は、上記S410にて、受信待機時間が経過したと判定した場合には、S420に進み、図4のS240で保存した1回目受信データを破棄する。ECU11は、次のS430にて、当該ECUの状態をアイドル状態に設定すると共に、受信待機タイマを停止させる。そして、その後、当該受信待機タイマ処理を終了する。
[動作例]
通信システム1の動作例を図6〜図8を用いて説明する。
図6は、ECU11〜13の全てが、スイッチングハブ2から2回送信される冗長送信対象フレームを、両方とも正常に受信することができた場合を表している。
〈1〉図6に示すように、ECU10は、前述の冗長送信識別子が含まれる同時データフレームを、ブロードキャストフレームとして、スイッチングハブ2に送信する。この同時データフレームが、スイッチングハブ2及び各ECU11〜13において、冗長送信対象フレームとして扱われる。
〈2〉スイッチングハブ2は、ECU10からの同時データフレームを受信すると、図3のS110で、冗長送信対象フレームであると判定する。そして、スイッチングハブ2は、図6に示すように、ECU10から受信した同時データフレームを、ECU11〜13へ一斉に送信する。この送信が、1回目フレームの送信となる。
〈3〉ECU11〜13は、スイッチングハブ2からの1回目フレームを受信すると、図4のS210で、冗長送信対象フレームであると判定し、図4のS220で、アイドル状態であると判定する。そして、図4のS230にて、受信エラーの有無を判定する。
〈4〉図6に示す例の場合、ECU11〜13の全てが、スイッチングハブ2からの1回目フレームを正常に受信して、図4のS230でNO(即ち、受信エラーなし)と判定する。このため、ECU11〜13は、1回目受信データの保存と、受信待機タイマの始動とを行うと共に、当該ECUの状態を、2回目フレームを待つ受信中状態に変更する。これらの動作は、図4のS240〜S260によって実現される。
そして、この場合、ECU11〜13は、スイッチングハブ2に受信エラー通知を送信しない。
〈5〉このため、図6に示すように、スイッチングハブ2は、1回目フレームの送信を行ってから、エラー検出待機時間が経過すると、図3のS140でYESと判定して、前回送信したのと同じ2回目フレームを、ECU11〜13へ一斉に送信する。
〈6〉ECU11〜13は、スイッチングハブ2からの2回目フレームを受信すると、図4のS210で、冗長送信対象フレームであると判定する。また、図4のS220では、受信中状態であると判定する。ECU11〜13の状態は、1回目フレームを正常に受信したことにより、受信中状態になっているからである。そして、ECU11〜13は、図4のS280にて、受信エラーの有無を判定する。
〈7〉図6に示す例の場合、ECU11〜13の全てが、スイッチングハブ2からの2回目フレームも正常に受信して、図4のS280でNO(即ち、受信エラーなし)と判定する。このため、ECU11〜13は、受信待機タイマの停止と、受信確定とを行うと共に、当該ECUの状態を、新規のフレームを待つアイドル状態に変更する。これらの動作は、図4のS290〜S310によって実現される。
〈8〉また、図6に示すように、スイッチングハブ2は、ECU11〜13への2回目フレームの送信を行った後、ECU10へACKフレームを送信する。
ECU10は、スイッチングハブ2から送信されるACKフレームを受信することで、当該ECU10が送信した同時データフレームがECU11〜13に正しく届いたことを、認識することができる。
次に、図7は、図6と比較すると、ECU11〜13のうち、例えばECU12が、スイッチングハブ2からの2回目フレームを正常に受信することができなかった場合を表している。つまり、図6の場合とは、上記〈7〉の動作が異なる。
図7に示す例の場合、ECU11〜13のうち、ECU12は、スイッチングハブ2からの2回目フレームを正常に受信することができず、図4のS280でYES(即ち、受信エラーあり)と判定する。このため、ECU12は、1回目フレームから取り出した1回目受信データで受信確定をする。そして、この場合、ECU12は、ECU11,13と同様に、受信待機タイマの停止を行うと共に、当該ECUの状態をアイドル状態に変更することとなる。
次に、図8は、図6と比較すると、ECU11〜13のうち、例えばECU12が、スイッチングハブ2からの1回目フレームを正常に受信することができなかった場合を表している。つまり、図6の場合とは、上記〈4〉〜〈8〉の動作が異なる。
図8に示す例の場合、ECU11〜13のうち、ECU12は、スイッチングハブ2からの1回目フレームを正常に受信することができず、図4のS230でYES(即ち、受信エラーあり)と判定する。このため、ECU12は、受信したフレーム中のデータを保存することなく、図4のS270にて、スイッチングハブ2に受信エラー通知を送信する。また、ECU12の状態は、アイドル状態のままとなる。このため、ECU12は、次の新規のフレームを待つこととなる。
図8に示す例の場合、スイッチングハブ2は、1回目フレームの送信を行ってから、エラー検出待機時間が経過するまでの間に、ECU12からの受信エラー通知を受信することとなる。よって、スイッチングハブ2は、図3のS130でYESと判定して、2回目フレームの送信を中止する。そして、この場合、スイッチングハブ2は、図3のS170にて、ECU10へNACKフレームを送信する。
また、ECU11,13は、図8に示す例の場合には、2回目フレームを受信することができなくなる。
このため、ECU11,13は、図4のS250で受信待機タイマを始動させてから、受信待機時間が経過するまでの間に、図4のS290又はS320で受信待機タイマを停止させることができず、その結果、図5のS410で、受信待機時間が経過したと判定することとなる。
つまり、ECU11,13は、1回目フレームを受信してから、受信待機時間が経過するまでの間に、2回目フレームを受信したか否かを、図5のS410で判定している。換言すれば、ECU11,13は、1回目フレームを受信してから、2回目フレームを受信できないまま受信待機時間が経過したか否かを、図5のS410で判定している。
そして、ECU11,13は、図5のS410で、受信待機時間が経過したと判定した場合には、他のECUにおいて受信エラーが生じた、即ち、他のECUが同時データフレームの受信に失敗した、と判断して、図5のS420,S430の処理を行う。つまり、1回目受信データを破棄して、受信確定をせず、当該ECUの状態を、受信中状態からアイドル状態に戻す。このため、ECU11,13も、次の新規のフレームを待つこととなる。
一方、ECU10は、スイッチングハブ2から送信されるNACKフレームを受信することで、当該ECU10が送信した同時データフレームがECU11〜13に正しく届かなかったことを、認識することができる。
[変形例1]
図4の受信エンドノード処理は、図4における点線の矢印で示すように、S220でNOと判定された場合に、S320へ進むようになっていても良い。このように変形した場合、ECU11〜13は、2回目フレームを受信した場合に、受信エラーの有無に拘わらず、1回目受信データで受信確定することとなる。そして、このように変形しても結果は同じである。
[効果]
本実施形態の通信システム1では、同時データフレーム(即ち、同時性が必要なデータを含むフレーム)をECU10からECU11〜13へ配信する場合に、ECU11〜13の各々は、他のECUにおいて受信エラーが生じたと判定すると、正常に受信したデータを破棄する。このため、受信エラーが生じたECUが取得するデータは更新されず、フレームの受信に成功したECUが取得するデータは最新のデータに更新される、という状況が回避される。よって、ECU11〜13の全てが同じタイミングのデータを取得できるようにすることができる。即ち、データの同時性を実現することができる。
また、通信システム1では、同時データフレームを、冗長対象送信フレームとしている。このため、スイッチングハブ2は、基本的には、同時データフレームを2回送信するが、1回目フレームを送信してからエラー検出待機時間が経過するまでの間に、ECU11〜13の何れかからの受信エラー通知を受信した場合には、2回目フレームの送信を止める。そして、ECU11〜13は、1回目フレームを受信してから、上記エラー検出待機時間よりも長い受信待機時間が経過するまでの間に、2回目フレームを受信しなければ、他のECUにおいて受信エラーが生じたと判定する。
よって、ECU11〜13は、他のECUにおいて受信エラーが生じたことを簡単に検出することができる。そして、ECU11〜13は、他のECUにおいて受信エラーが発生したことを検出した場合に、1回目フレームから取得した1回目受信データを破棄するため、データの同時性が確保される。この場合、2回目フレームは送信されないからである。
例えば、通信プロトコルとして従来のUDPだけでは、”ACKなし”かつ”peer to peer通信”のため、各エンドノードが互いの通信状態を監視したり、データの同時性を保障したりすることはできなかった。一方、本実施形態を適用すれば、データの同時性を保障することができるようになる。尚、エラー検出待機時間と、受信待機時間は、効率的なデータ配信を行うことが可能な値に適宜設定することができる。
また、スイッチングハブ2は、2回目フレームの送信を行った場合に、送信元のECU10へ送信成功を示すACKフレームを送信する。このため、ECU10は、そのACKフレームを受信することで、当該ECU10が送信したフレームがECU11〜13に正しく届いたことを確認することができる。
また、スイッチングハブ2は、2回目フレームの送信を中止した場合に、送信元のECU10へ送信失敗を示すNACKフレームを送信する。このため、ECU10は、そのNACKフレームを受信することで、当該ECU10が送信したフレームがECU11〜13に正しく届かなかったことを確認することができる。その場合、ECU10は、例えば、エラー履歴を記憶したり、前回と同じフレームを再送信したり、次の新たなフレームを作成して送信したりすることができる。
また、フレームには冗長送信識別子が含まれており、スイッチングハブ2は、その冗長送信識別子に基づいて、受信フレームが冗長送信対象フレームであるか否かを判定する。そして、スイッチングハブ2は、受信フレームが冗長送信対象フレームであると判定した場合、即ち、図3のS110でYESと判定した場合には、図3のS120〜S170の処理を行う動作モードとなる。また、スイッチングハブ2は、受信フレームが冗長送信対象フレームでないと判定した場合、即ち、図3のS110でNOと判定した場合には、図3のS120〜S170の処理を行わず、通常の中継処理を行う動作モードになる。
このため、スイッチングハブ2の動作モードを、同時データフレームを配信する場合と、そうでない場合とで、適切に切り替えることができる。
また、ECU11〜13の各々も、冗長送信識別子に基づいて、受信フレームが冗長送信対象フレームであるか否かを判定する。そして、ECU11〜13の各々は、受信フレームが冗長送信対象フレームであると判定した場合、即ち、図4のS210でYESと判定した場合には、図4のS220〜S340の処理及び図5の処理を行う動作モードとなる。また、スイッチングハブ2は、受信フレームが冗長送信対象フレームでないと判定した場合、即ち、図4のS210でNOと判定した場合には、図4のS220〜S340の処理及び図5の処理を行わず、通常のフレーム受信処理を行う動作モードになる。
このため、ECU11〜13の動作モードを、同時データフレームを受信する場合と、そうでない場合とで、適切に切り替えることができる。
尚、上記実施形態では、スイッチングハブ2が、送信側装置に相当し、ECU11〜13が、受信側装置に相当する。そして、スイッチングハブ2では、制御部20が、図3の処理を行うことで、送信部、禁止部、正常通知部、失敗通知部及び中継動作切替部の各々として機能する。制御部20が行う処理のうち、S120,S140,S150が、送信部としての処理に相当し、S130が、禁止部としての処理に相当し、S160が、正常通知部としての処理に相当し、S170が、失敗通知部としての処理に相当し、S110が、中継動作切替部としての処理に相当する。また、ECU11〜13では、制御部51〜53が、図4と図5の処理を行うことで、判定部、破棄部、通知部及び受信動作替部の各々として機能する。制御部51〜53が行う処理のうち、S250,S290,S320,S410が、判定部としての処理に相当し、S420が、破棄部としての処理に相当し、S270が、通知部としての処理に相当し、S210が、受信動作替部としての処理に相当する。
[変形例2]
ECU10とECU11〜13がスイッチングハブ2を介さずに通信するようになっていても良い。その場合、ECU10が、図3におけるS120〜S150の処理を行えば良い。但し、S120とS150では、受信したフレームではなく、当該ECU10で生成したフレームを送信することとなる。また、この場合、ECU10が、送信側装置に相当することとなる。一方、スイッチングハブ2が図3の処理を行うことで、ECU10の処理負荷を低減できるという利点がある。
[他の実施形態]
以上、本発明を実施するための形態について説明したが、本発明は上述の実施形態に限定されることなく、種々変形して実施することができる。
例えば、ECU10からのフレームの送信は、一定時間毎の定期送信に限らず、特定のイベントが発生したときに送信するイベント送信でも良い。また、受信側装置としてのECUの数は、3つに限らず2つ又は4以上であっても良い。また、冗長送信識別子や、受信エラー通知の識別子等、前述したフレームの各識別子は、そのフレームを受信する装置において読み取り可能な領域に配置されていれば、前述した領域とは異なる領域に配置されても良い。
また、上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしても良い。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしても良い。また、上記実施形態の構成の一部を省略しても良い。なお、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。また、上述した通信システムの他、当該通信システムを構成する送信側装置、中継装置、受信側装置や、それらの各々としてとしてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、通信方法など、種々の形態で本発明を実現することもできる。
1…通信システム、2…スイッチングハブ、10〜13…ECU。

Claims (6)

  1. 伝送対象のデータを含むフレームを送信する送信側装置(2,10)と、前記フレームを受信する複数の受信側装置(11,12,13)と、を備える通信システム(1)であって、
    前記送信側装置は、
    前記フレームを前記複数の受信側装置に一斉に送信する送信部(S120,S140,S150)を備え、
    前記受信側装置の各々は、
    当該受信側装置以外の前記受信側装置である他の受信側装置において、前記フレームの受信エラーが生じたか否かを判定する判定部(S250,S290,S320,S410)と、
    前記判定部により、前記他の受信側装置において前記受信エラーが生じたと判定された場合に、当該受信側装置が受信した前記フレームに含まれていた前記データを破棄する破棄部(S420)と、を備え
    前記送信側装置が備える前記送信部は、
    前記複数の受信側装置に同じ前記フレームを2回送信するように構成されていて、しかも、2回送信する同じ前記フレームのうち、先に送信する方である1回目フレームを送信してから、一定時間が経過すると、2回送信する同じ前記フレームのうち、後に送信する方である2回目フレームを送信するように構成されており、
    前記送信側装置は、
    前記送信部が前記1回目フレームを送信してから前記一定時間が経過するまでの間に、前記受信側装置の何れかからの受信エラー通知を当該送信側装置が受信した場合に、前記送信部が前記2回目フレームを送信することを禁止する禁止部(S130)、を更に備え、
    前記受信側装置の各々は、
    前記1回目フレームについて受信エラーが生じたか否かを判定し、受信エラーが生じたと判定した場合に、前記送信側装置へ前記受信エラー通知を送信する通知部(S270)、を更に備え、
    前記受信側装置の各々が備える前記判定部は、
    当該受信側装置が前記1回目フレームを受信してから、前記一定時間よりも長い受信待機時間が経過するまでの間に、当該受信側装置が前記2回目フレームを受信しなければ、前記他の受信側装置において前記受信エラーが生じたと判定するように構成され、
    前記受信側装置の各々が備える前記破棄部は、
    前記判定部により前記他の受信側装置において前記受信エラーが生じたと判定された場合に、当該受信側装置が受信した前記1回目フレームに含まれていた前記データを破棄するように構成されている、
    通信システム。
  2. 請求項に記載の通信システムであって、
    前記送信側装置(2)は、
    送信元装置(10)から前記フレームを受信して、その受信したフレームを前記複数の受信側装置に送信する中継装置(2)である
    通信システム。
  3. 請求項に記載の通信システムにおいて、
    前記中継装置は、
    前記送信部が、前記2回目フレームの送信を行った場合に、前記送信元装置へ送信成功を示す信号を送信する正常通知部(S160)、を更に備える、
    通信システム。
  4. 請求項又は請求項に記載の通信システムにおいて、
    前記中継装置は、
    前記禁止部により前記2回目フレームの送信が禁止された場合に、前記送信元装置へ送信失敗を示す信号を送信する失敗通知部(S170)、を更に備える、
    通信システム。
  5. 請求項ないし請求項の何れか1項に記載の通信システムであって、
    前記フレームには、当該フレームが、前記送信部により2回送信される対象のフレームである冗長送信対象フレームか否かを識別可能な識別子が含まれており、
    前記中継装置は、
    当該中継装置が前記送信元装置から受信した前記フレームに含まれている前記識別子に基づいて、前記受信したフレームが前記冗長送信対象フレームであるか否かを判定し、前記受信したフレームが前記冗長送信対象フレームであると判定した場合には、当該中継装置の動作モードを、前記送信部及び前記禁止部が機能する動作モードにし、前記受信したフレームが前記冗長送信対象フレームでないと判定した場合には、当該中継装置の動作モードを、前記送信部及び前記禁止部が機能しない動作モードにする中継動作切替部(S110)、を更に備え、
    前記受信側装置の各々は、
    当該受信側装置が受信したフレームに含まれている前記識別子に基づいて、前記受信したフレームが前記冗長送信対象フレームであるか否かを判定し、前記受信したフレームが前記冗長送信対象フレームであると判定した場合には、当該受信側装置の動作モードを、前記通知部、前記判定部及び前記破棄部が機能する動作モードにし、前記受信したフレームが前記冗長送信対象フレームでないと判定した場合には、当該受信側装置の動作モードを、前記通知部、前記判定部及び前記破棄部が機能しない動作モードにする受信動作替部(S210)、を更に備える、
    通信システム。
  6. 請求項ないし請求項の何れか1項に記載の通信システムであって、
    前記フレームには、当該フレームが、前記送信部により2回送信される対象のフレームである冗長送信対象フレームか否かを識別可能な識別子が含まれており、
    前記受信側装置の各々は、
    当該受信側装置が受信したフレームに含まれている前記識別子に基づいて、前記受信したフレームが前記冗長送信対象フレームであるか否かを判定し、前記受信したフレームが前記冗長送信対象フレームであると判定した場合には、当該受信側装置の動作モードを、前記通知部、前記判定部及び前記破棄部が機能する動作モードにし、前記受信したフレームが前記冗長送信対象フレームでないと判定した場合には、当該受信側装置の動作モードを、前記通知部、前記判定部及び前記破棄部が機能しない動作モードにする受信動作替部(S210)、を更に備える、
    通信システム。
JP2015225642A 2015-11-18 2015-11-18 通信システム Active JP6519453B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015225642A JP6519453B2 (ja) 2015-11-18 2015-11-18 通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015225642A JP6519453B2 (ja) 2015-11-18 2015-11-18 通信システム

Publications (2)

Publication Number Publication Date
JP2017098603A JP2017098603A (ja) 2017-06-01
JP6519453B2 true JP6519453B2 (ja) 2019-05-29

Family

ID=58817404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015225642A Active JP6519453B2 (ja) 2015-11-18 2015-11-18 通信システム

Country Status (1)

Country Link
JP (1) JP6519453B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3088786B1 (fr) * 2018-11-16 2022-01-21 Psa Automobiles Sa Procede de determination d’un defaut de fonctionnement d’un nœud communicant d’un reseau de communication embarque dans un vehicule terrestre a moteur

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683790A (ja) * 1992-06-26 1994-03-25 Matsushita Electric Ind Co Ltd データ転送装置
JP2010279062A (ja) * 2001-11-12 2010-12-09 Hitachi Ltd 通信経路制御装置
JP3948345B2 (ja) * 2002-05-20 2007-07-25 株式会社デンソー 通信システム
JP5671390B2 (ja) * 2011-03-24 2015-02-18 富士通テン株式会社 通信装置および通信システム

Also Published As

Publication number Publication date
JP2017098603A (ja) 2017-06-01

Similar Documents

Publication Publication Date Title
JP5510275B2 (ja) 通信システム、マスタノード、スレーブノード
KR102286050B1 (ko) 차량 네트워크에서 진단 오류 방지를 위한 방법 및 장치
US8780772B2 (en) Communication protocol for wireless enhanced controller area networks
JP2005228316A (ja) Tcpコネクション管理装置、tcpコネクション管理方法及びプログラム保存装置
KR20160023900A (ko) 데이터 처리 방법 및 장치
US10462161B2 (en) Vehicle network operating protocol and method
JP2008290666A (ja) 電子制御装置
WO2021005875A1 (ja) 車載通信システム、車載装置および車両通信方法
KR20160096526A (ko) 네트워크의 진단 방법 및 장치
JP7189349B2 (ja) ゲートウェイ装置、データフレーム送信方法およびプログラム
JP6519453B2 (ja) 通信システム
JP6176199B2 (ja) 伝送路異常検出装置
US8122147B2 (en) Method for acknowledgement of messages in a star network
JP4337720B2 (ja) 電子制御ユニット
JP2009027270A (ja) 通信システム、中継装置及び通信方法
JP2006229399A (ja) 通信システム、中継ノード及びそれらに用いる通信方法並びにそのプログラム
EP1901497A1 (en) Apparatus for low latency communications through an alternate path
JP6981114B2 (ja) 車両ネットワークシステム
JP6743724B2 (ja) 通信ネットワーク及び通信端末
JP2004349961A (ja) 中継装置、及びプログラム
WO2010027064A1 (ja) データ伝送方法、データ伝送システム、データ送信装置、データ受信装置、及び制御プログラム
JP7039959B2 (ja) 通信システム、中継装置、及びノード
KR20110069501A (ko) Autosar 기반 can 통신 장치 및 방법
JP6798349B2 (ja) 通信システム及び中継装置
JP4890909B2 (ja) 通信システム及び通信方法。

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190319

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190408

R151 Written notification of patent or utility model registration

Ref document number: 6519453

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250