JP2008022071A - 通信ネットワークシステム及び受信エラーの通知方法 - Google Patents

通信ネットワークシステム及び受信エラーの通知方法 Download PDF

Info

Publication number
JP2008022071A
JP2008022071A JP2006189677A JP2006189677A JP2008022071A JP 2008022071 A JP2008022071 A JP 2008022071A JP 2006189677 A JP2006189677 A JP 2006189677A JP 2006189677 A JP2006189677 A JP 2006189677A JP 2008022071 A JP2008022071 A JP 2008022071A
Authority
JP
Japan
Prior art keywords
node
frame
slot
reception
dynamic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006189677A
Other languages
English (en)
Inventor
Satoyuki Mizuno
智行 水野
Futoshi Matsuo
太 松尾
Hideki Sudo
秀樹 数藤
Takenori Hashizume
武徳 橋詰
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.)
Nissan Motor Co Ltd
Original Assignee
Nissan Motor Co Ltd
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 Nissan Motor Co Ltd filed Critical Nissan Motor Co Ltd
Priority to JP2006189677A priority Critical patent/JP2008022071A/ja
Publication of JP2008022071A publication Critical patent/JP2008022071A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】受信側のノードでフレームの受信エラーを検出したときに、その旨を送信側のノードに確実に通知して、高い信頼性を確保できるようにする。
【解決手段】ネットワーク上の各ノード100のコミュニケーション・コントローラ102が、他ノードに割り当てられたスタティック・スロットでのフレーム受信時に受信エラーを検出した場合に、当該受信エラーとなったフレームの送信元ノードに割り当てられたダイナミック・スロットを用いて、受信エラーが検出されたことを示す診断結果フレームを送信し、また、自ノードに割り当てられたダイナミック・スロットで診断結果フレームを受信したときには、自ノードが送信したフレームに受信エラーが発生したと判定する。
【選択図】図6

Description

本発明は、時分割多重通信型の通信ネットワークシステム、及び、時分割多重通信型の通信ネットワークシステムにおける受信エラー通知方法に関する。
車両に搭載される通信ネットワークシステムのプロトコルの1種として、FlexRay(Daimler Chrysler AGの登録商標)と呼ばれる通信プロトコルが知られている。このFlexRayは、高い信頼性を確保しながら最大10Mbps程度の通信速度を実現するものであり、車両走行に直接関わる部分の電子化制御(X−by−wire)を実用化する上での重要な技術として注目されている。
FlexRayでは、データ転送方式としてタイムトリガ方式を採用しており、ネットワーク上の各ノードのフレーム送信のタイミングが予めスケジューリングされる。FlexRayの一通信周期はコミュニケーション・サイクルと呼ばれ、このコミュニケーション・サイクルには、1つのフレームを送信する時間区分であるスロットの長さが固定長とされた静的領域(スタティック・セグメント)と、スロットの長さが可変長とされた動的領域(ダイナミック・セグメント)とが定義されている。FlexRayでは、ネットワーク上の各ノードが、ネットワーク内における共通の時間認識であるグローバルタイムに従って、各コミュニケーション・サイクル内の静的領域や動的領域において自ノードに割り当てられたスロットのタイミングを認識し、当該スロット内で、他ノードに転送すべきフレームを送信するようになっている。
以上のように、FlexRayでは、ネットワーク上の各ノードが予めスケジューリングされた送信タイミングでフレームを送信するタイムトリガ方式を採用しているため、ノード間での送信フレームの衝突は想定されていない。このため、FlexRayのフレーム・フォーマットには、車載用の通信ネットワークシステムのプロトコルとして広く普及しているCAN(Controller Area Network)のフレームで定義されているようなACK情報は定義されておらず、ネットワーク上の各ノードは、フレームの受信エラーを送信側ノードに通知する機能を備えていない。なお、FlexRayのフレーム・フォーマットについては、下記非特許文献1に詳細が記載されている。
「FlexRay Communication System Protocol Specification Version2.1 RevisionA」,2005年12月,p.90−99
しかしながら、通信プロトコルとしてFlexRayを採用した通信ネットワークシステムにおいても、例えばノイズの発生などにより、あるノードが送信したフレームを他のノードが正常に受信できないことは生じうる。この場合、現状では、受信側のノードは正常に受信できなかったフレームを破棄してアプリケーションで使用しないという対策が取られるが、受信側ノードから送信側ノードに対して受信エラーが通知されないため、送信側ノードは、自ノードが送信したフレームが正常に受信されたかどうかを確認することができない。このため、例えば上述したX−by−wireのような高い信頼性の確保が必須とされるシステムを実現するという観点からは、必ずしも十分な信頼性が確保されているとは言い難く、改善が求められている。
本発明は、以上のような従来の実情に鑑みて創案されたものであって、受信側のノードでフレームの受信エラーを検出したときに、その旨を送信側のノードに確実に通知して、高い信頼性を確保することができる通信ネットワークシステム及び受信エラーの通知方法を提供することを目的としている。
本発明は、一通信周期内にスロットの長さが固定長とされた静的領域とスロットの長さが可変長とされた動的領域とを有し、ネットワーク上の各ノードが、少なくとも静的領域において自ノードに割り当てられたスロット内で他ノードに転送すべきフレームを送信する時分割多重通信型の通信ネットワークシステムを対象とする。このような時分割多重通信型の通信ネットワークシステムにおいて、本発明では、ネットワーク上の各ノードに、静的領域において他ノードに割り当てられたスロット内のフレームを正常に受信できたか否かを判定し、受信エラーが検出されたときには、受信エラーが検出されたことを示す診断結果フレームを、動的領域において受信エラーとなったフレームの送信元である他のノードに対して割り当てられたスロットを用いて送信するとともに、動的領域において自ノードに割り当てられたスロット内で診断結果フレームを受信した場合には、自ノードが送信したフレームに受信エラーが発生したと判定する機能を持たせることで、上述した課題を解決する。
本発明によれば、ネットワーク上のあるノードでフレームの受信エラーが検出されたときに、その旨の情報が、当該受信エラーとなったフレームの送信元のノードに対して確実に通知されるので、通信の信頼性を向上させることができる。
以下、本発明の実施形態として、通信プロトコルにFlexRayを採用した車載用の通信ネットワークシステムに本発明を適用した例について、具体的に説明する。
[システム概要]
本実施形態の通信ネットワークシステムは、図1に示すように、ノード1〜16がFlexRayバス20に接続されて構成され、これらのノード1〜16間でFlexRayプロトコルに従った通信を行って情報を共有する車載用のネットワークシステムである。なお、FlexRayでは、通信に冗長性を持たせて信頼性を確保するために、チャンネルA,Bの2チャンネルでのデュアル通信をサポートしているが、本実施形態では、説明の簡単のために、1チャンネルのみでの通信を行うものとして説明する。
FlexRayでのデータ転送の仕組みを図2に概略的に示す。FlexRayでのデータ転送は、通信ネットワークシステムの稼動中に繰り返されるコミュニケーション・サイクル(通信周期)を単位として行われる。コミュニケーション・サイクルは、図2に示すように、スタティック・セグメント(静的領域)と、ダイナミック・セグメント(動的領域)と、シンボル・ウィンドウと、ネットワーク・アイドルタイムの4つのセグメントから構成される。
スタティック・セグメントは、フレームサイズ一定でデータ転送を行う期間であり、複数のスタティック・スロットから構成される。スタティック・スロットは、スタティック・セグメントにおいて1フレームを送信する時間区分(帯域)であり、全てのスタティック・スロットの時間は等しく、そのスロット内で送信されるフレームの長さも等しい。このスタティック・セグメントでは、ネットワーク上の各ノードが予め定められたスケジュールにのみ従って通信を行う。
ダイナミック・セグメントは、フレームサイズ可変でデータ転送を行う期間であり、複数のダイナミック・スロットから構成される。ダイナミック・スロットは、ダイナミック・セグメントにおいて1フレームを送信する時間区分であり、その長さは、ネットワーク上の各ノードの送信要求に従って変化させることが可能である。なお、このダイナミック・スロットの長さは、最小のスロット単位であるミニスロットの整数倍とされ、フレームを送信しないダイナミック・スロットの長さは1ミニスロット分の長さであり、フレームを送信するダイナミック・スロットの長さは、フレームが収まる数+1個分のミニスロットの長さとなる。このダイナミック・セグメントでは、ネットワーク上の各ノードが優先度に従った通信を行うことが可能である。
シンボル・ウィンドウは、ネットワークのスタートアップ時やウェイクアップ時などに使用される領域であり、また、ネットワーク・アイドルタイムは、エラー訂正やクロック同期の同期補正量算出などで使用される領域である。なお、上述したコミュニケーション・サイクルにおけるダイナミック・セグメントとシンボル・ウィンドウは、オプションとして設定されるものであり、通信ネットワークシステムの構成や用途によっては不要とされる。
FlexRayのフレーム・フォーマットを図3に概略的に示す。FlexRayのフレームは、図3に示すように、ヘッダ・セグメント(5バイト)と、ペイロード・セグメント(0〜254バイト)と、トレイラ・セグメント(3バイト)の3つのセグメントで構成される。ヘッダ・セグメントには、送信するデータに関するヘッダ情報が格納され、ペイロード・セグメントには、データそのものが格納される。また、トレイラ・セグメントはフレーム全体でエラーがあるかどうかをチェックする機能を持ち、ヘッダ・セグメントとペイロード・セグメントをCRC(Cyclic Redundancy Check)にかけた結果が格納される。
本実施形態の通信ネットワークシステムでは、ネットワーク上の各ノード1〜16が、上述したコミュニケーション・サイクルのスタティック・セグメントにおいて自ノードに割り当てられたスタティック・スロット内で、自ノードのアプリケーションデータを含む上述したフォーマットのフレームを送信する。また、ネットワーク上の各ノード1〜16は、スタティック・セグメントの他ノードに割り当てられたスタティック・スロットで他ノードが送信したフレームを受信する。このとき、各ノード1〜16は、他ノードから送信されたフレームを正常に受信できたか否かの判定(受信診断)を行い、正常に受信できたフレームのみを自ノードのアプリケーションで使用し、受信エラーが検出されたフレームは破棄する。
また、特に本実施形態の通信ネットワークシステムでは、ネットワーク上の各ノード1〜16が、受信診断により他のノードから送信されたフレームの受信エラーを検出した場合には、上述したコミュニケーション・サイクルのダイナミック・セグメントにおいて、当該受信エラーとなったフレームの送信元である他のノードに割り当てられたダイナミック・スロットを用いて、受信エラーが検出されたことを示す診断結果フレームを送信する。また、ネットワーク上の各ノード1〜16は、ダイナミック・セグメントの自ノードに割り当てられたダイナミック・スロット内で診断結果フレームを受信した場合に、自ノードが送信したフレームに受信エラーが発生したと判断する。つまり、本実施形態の通信ネットワークシステムでは、各ノード1〜16間でデータ転送を行う単位であるコミュニケーション・サイクルのダイナミック・セグメントを診断結果フレームの送信期間として利用し、ネットワーク上のあるノードがフレームの受信エラーを検出したときに、当該フレームの送信元ノードに割り当てられたダイナミック・スロット内で診断結果フレームを送信することで、送信元ノードに対して受信エラーを通知するようにしている。なお、本実施形態では、コミュニケーション・サイクルのダイナミック・セグメントを診断結果フレームの送信期間としてのみ利用することを前提として説明するが、診断結果フレームだけでなく、通常のアプリケーションデータを含むフレームの送信も合わせて行う期間とすることも可能である。ただし、この場合には、受信エラーが生じたときにその旨を送信元ノードに確実に通知できるようにするために、診断結果フレーム送信の優先順位を通常のフレーム送信の優先順位よりも高く設定しておくことが望ましい。
通信ネットワークシステムの細かな通信諸元(ノード数や通信速度、コミュニケーション・サイクル長、スタティック・セグメント長、ダイナミック・セグメント長、スタティック・スロット数、スタティック・スロット長、ミニスロット数、ミニスロット長など)は、プロトコル仕様書で認められている範囲内においてシステム設計時に定められ、また、各ノードのスロット割り当てなどもシステム構成に応じて設計時に定められる。本実施形態の通信ネットワークシステムでは、ネットワーク上の各ノード1〜16が図4(a)に示す通信諸元で通信を行うものとし、各ノード1〜16のスロット割り当ては、図4(b)のように定められているものとする。
[ノード構成]
次に、本実施形態の通信ネットワークシステムにおいて、FlexRayバス20に接続されたネットワーク上の各ノード1〜16の構成について、より具体的に説明する。これら各ノード1〜16は、後述するホストCPUのアプリケーションレベルでの機能は各々異なるものの、通信に関しては、基本的に共通の構成、機能を有している。以下では、これらのノード1〜16をノード100と総称して説明する。
ノード100のハード的な内部構成を図5に示す。ノード100の内部には、図5に示すように、主要な構成要素として、ホストCPU101と、コミュニケーション・コントローラ102と、バス・ドライバ103とが設けられている。ホストCPU101は、ノード100の全体を制御するコントローラであり、コミュニケーション・コントローラ102は、ノード100の通信を制御するコントローラである。また、バス・ドライバ103は、FlexRayバス20とコミュニケーション・コントローラ102との間での物理的信号と論理的信号との信号変換を行うものである。なお、FlexRayバス20は、例えばUTP(Unshield Twisted Pair)ケーブルなどからなり、コネクタ104によりノード100と接続され、ノード100の内部において、受信時のノイズを除去するフィルタ105を介してバス・ドライバ103に接続されている。
コミュニケーション・コントローラ102の主要な機能構成を図6に示す。コミュニケーション・コントローラ102には、ソフトウェアで実現される主要な機能構成として、図6に示すように、コントローラ・ホスト・インターフェース部111、状態遷移処理部112、クロック同期・スタートアップ処理部113、送信処理部114、受信処理部115、受信診断処理部116、送信診断処理部117の各機能が設けられる。
コントローラ・ホスト・インターフェース部111は、ホストCPU101との間でのデータの送受信を制御するものであり、状態遷移処理部112は、FlexRayプロトコルに従ったコミュニケーション・コントローラ102の状態遷移を制御するものである。また、クロック同期・スタートアップ処理部113は、通信起動時のシーケンス制御を行い、他のノードとの間での通信の同期をとるためのクロック同期処理を行う。
送信処理部114は、自ノードからのフレームの送信を制御するものである。具体的には、送信処理部114は、コミュニケーション・サイクルのスタティック・セグメントにおけるスタティック・スロットをカウントするスロット・カウンタを持ち、カウンタ値が自ノードに割り当てられているスロットIDの値と一致するタイミングで、ホストCPU101からのアプリケーションデータを、上述したフレーム・フォーマットに従った形式でバス・ドライバ103を介してFlexRayバス20上に送出する。
また、送信処理部114は、受信診断処理部116による受信診断の結果、受信エラーが検出された場合には、コミュニケーション・サイクルのダイナミック・セグメントで受信エラーとなったフレームの送信元ノードに割り当てられたダイナミック・スロットを用い、受信エラーが検出されたことを示す診断結果フレームをFlexRayバス20上に送出する処理を行う。なお、受信エラーとなったフレームの送信元ノードに割り当てられたダイナミック・スロットの識別は、例えば、ダイナミック・セグメントにおいてミニスロット長(本実施形態では10μs)に亘ってフレームの開始を示すフレーム・スタート・シーケンスが検出されない場合、ミニスロット長が経過した時点で1つのダイナミック・スロットが終了したものと判定し、また、フレーム・スタート・シーケンスが検出された(フレームを受信した)場合は、その後のフレーム終了を示すフレーム・エンド・シーケンスが検出されてからマージンとして定めた1ミニスロット分の時間が経過した時点で1つのダイナミック・スロットが終了したものと判定し、これらダイナミック・スロットの経過をカウントして送信元ノードに割り当てられているダイナミック・スロットのスロットIDと照合するといった手法で実現できる。
送信処理部114が送信する診断結果フレームは、例えば図3に示したフレーム・フォーマットを基準とし、図7に示すように、このフレーム・フォーマットで規定されているペイロード・セグメント(アプリケーションデータが格納される送信データ部)を除いて、ヘッダ・セグメント(ヘッダ部)とトレイラ・セグメント(エラーチェック部)のみを有する形式とすることが望ましい。診断結果フレームの形式を以上のような形式とすることにより、コミュニケーション・コントローラ102の送信処理部114のロジックを大きく変更することなく、通常のFlexRayフレームの送信と同様の処理で診断結果フレームを送信することが可能となり、また、診断結果フレームのフレーム長を最小限にして、通信負荷の削減を図ることが可能となる。
受信処理部115は、ネットワーク上の他ノードからのフレームの受信を制御するものである。具体的には、受信処理部115は、コミュニケーション・サイクルのスタティック・セグメントにおいてネットワーク上の他ノードに割り当てられているスタティック・スロット内のフレームを受信し、フレーム内に含まれる他ノードのアプリケーションデータを抽出して、コントローラ・ホスト・インターフェース部111からホストCPU101へと転送する。また、受信処理部115は、コミュニケーション・サイクルのダイナミック・セグメントにおいて自ノードに割り当てられたダイナミック・スロット内で上述した診断結果フレームを受信する処理も行う。
受信診断処理部116は、スタティック・スロット内で他ノードから送信されたフレームを受信処理部115で正常に受信できたか否かを診断するものである。具体的には、受信診断処理部116は、受信処理部115がフレームを受信した際に得られる図8に示すような受信ステータス(ValidFrame,SyntaxError,ContentError,Bviolation)をもとに他ノードからのフレームの受信診断を行い、ValidFrame=1、且つ、SyntaxError=0、且つ、ContentError=0、且つ、Bviolation=0の場合のみフレームを正常に受信したと判定し、それ以外の場合は受信エラーと判定する。そして、受信診断処理部116は、受信エラーが発生していると判定した場合には、コントローラ・ホスト・インターフェース部111を介してホストCPU101へ受信ステータスを通知するとともに、送信処理部114に受信エラーが検出されたことを通知する。
送信診断処理部117は、受信処理部115により自ノードに割り当てられたダイナミック・スロット内で他ノードからの診断結果フレームが受信されたか否かにより、送信処理部114により自ノードに割り当てられたスタティック・スロット内で送信したアプリケーションデータを含むフレームが、他のノードで正常に受信されたか否かを診断するものである。この送信診断処理部117による診断は、例えば、受信処理部115が診断結果フレームを受信する際に得られる上述した受信ステータスをもとに実施することができる。すなわち、受信処理部115が自ノードに割り当てられたダイナミック・スロット内で診断結果フレームを受信しようとしたときに、当該ダイナミック・スロット内に他ノードからの診断結果フレームが含まれていなければ、そのときの受信ステータスは、ValidFrame=0、SyntaxError=0、ContentError=0、Bviolation=0となる。したがって、送信診断処理部117は、受信処理部115が診断結果フレームを受信する際に得られる受信ステータスが、ValidFrame=0、且つ、SyntaxError=0、且つ、ContentError=0、且つ、Bviolation=0となっていれば、自ノードに割り当てられたダイナミック・スロットでは他ノードからの診断結果フレームが送信されておらず、自ノードに割り当てられたスタティック・スロットで送信したアプリケーションデータを含むフレームは、他ノードにより正常に受信されたと判定することができる。
また、受信処理部115が診断結果フレームを受信する際に得られる受信ステータスが、ValidFrame=1、且つ、SyntaxError=0、且つ、ContentError=0、且つ、Bviolation=0となっていれば、他ノードからの診断結果フレームが受信処理部115により正常に受信されたことを示しているので、この場合には、送信診断処理部117は、自ノードに割り当てられたスタティック・スロットで送信したアプリケーションデータを含むフレームが、ネットワーク上のいずれか1つの他ノードで正常に受信されず、この他ノードで受信エラーが発生したものと判定することができる。
また、受信処理部115が診断結果フレームを受信する際に得られる受信ステータスが上述した2つのパターン以外となっている場合は、受信処理部115による診断結果フレームの受信に異常が生じていると判定できる。この診断結果フレームの受信エラーの要因としては、自ノードに割り当てられたダイナミック・スロット内で複数の他ノードから送信された診断結果フレームが競合している場合と、自ノードに割り当てられたダイナミック・スロット内で発生したノイズをデータとして受信した場合とが考えられる。ここで、診断結果フレームの競合による受信エラーは、自ノードに割り当てられたスタティック・スロットで送信したアプリケーションデータを含むフレームが、ネットワーク上の複数の他ノードで正常に受信されず、これら複数の他ノードから同時に診断結果フレームが送信された場合に発生するものである。一方、ノイズの影響による受信エラーは、自ノードに割り当てられたスタティック・スロットで送信したアプリケーションデータを含むフレームは他ノードで正常に受信され、他ノードからの診断結果フレームは送信されていないが、自ノードに割り当てられたダイナミック・スロット内で発生したノイズを受信処理部115がデータとして受信した場合に発生するものである。したがって、送信診断処理部117は、受信処理部115が診断結果フレームを受信する際に得られる受信ステータスが診断結果フレームの受信エラーを示すものである場合には、その受信エラーが、診断結果フレームの競合によるものであるのか、ノイズの影響によるものであるのかを識別する必要がある。
そこで、送信診断処理部117は、例えば以下の手法により、診断結果フレームの受信エラーが、診断結果フレームの競合によるものであるのか、或いはノイズの影響によるものであるのかを識別する。すなわち、送信診断処理部117は、まず、自ノードに割り当てられたダイナミック・スロットが開始されてから次のダイナミック・スロットが開始されるまでのスロット長を検出し、自ノードに割り当てられたダイナミック・スロットのスロット長が、診断結果フレームを送信する場合のダイナミック・スロットのスロット長と同じ長さとなっているかを判定する。診断結果フレームの長さは図7に例示したように予め定められており、ダイナミック・スロットの長さは診断結果フレームが収まる数+1個分のミニスロットの長さとなるので、診断結果フレームを送信する場合のダイナミック・スロットのスロット長は一定である。送信診断処理部117は、この診断結果フレームを送信する場合のダイナミック・スロットのスロット長を記憶しておき、自ノードに割り当てられたダイナミック・スロットのスロット長と、診断結果フレームを送信する場合のダイナミック・スロットのスロット長とを比較して、これらが同じ長さとなっていなければ、自ノードに割り当てられたダイナミック・スロット内で診断結果フレームは送信されておらず、ノイズを受信したものと判定する。
また、短時間の間に複数回のノイズが発生した場合には、自ノードに割り当てられたダイナミック・スロット内で診断結果フレームが送信されていなくても、そのスロット長が診断結果フレームを送信する場合のダイナミック・スロットのスロット長と同じ長さとなることも考えられる。そこで、このような場合には、図9(a),(b)に示すように、自ノードに割り当てられたダイナミック・スロット内の複数のタイミング、具体的には、例えばダイナミック・スロット内のミニスロットの境界となるタイミング(本実施形態では10μs)ごとにFlexRayバス20のバス状態をサンプリングして信号成分の有無を判定し、ダイナミック・スロット内のデータが診断結果フレームに相当する長さで連続しているか否かを推定することにより、自ノードに割り当てられたダイナミック・スロット内のデータがノイズであるのか、或いは診断結果フレームであるのかを判定する。
送信診断処理部117は、以上の手法により自ノードに割り当てられたダイナミック・スロット内のデータがノイズであるのか、或いは診断結果フレームであるのかを判定することで、診断結果フレームの受信エラーが、診断結果フレームの競合によるものであるのか、或いはノイズの影響によるものであるのかを識別することが可能となる。
送信診断処理部117は、以上の送信診断の結果、送信処理部114により自ノードに割り当てられたスタティック・スロット内で送信したアプリケーションデータを含むフレームが、他のノードで正常に受信されずに受信エラーが発生したと判定した場合には、その旨の情報を、コントローラ・ホスト・インターフェース部111を介してホストCPU101に通知する。
[ノードの動作]
次に、本実施形態の通信ネットワークシステムにおける各ノード100の動作について説明する。図10は、コミュニケーション・サイクルごとに、ノード100のコミュニケーション・コントローラ102により実行される一連の処理の流れを示すフローチャートである。
コミュニケーション・サイクルの開始が検出されて図10のフローが開始されると、ノード100のコミュニケーション・コントローラ102は、まず、ステップS101において、スタティック・セグメント内のスタティック・スロットを認識し、ステップS102において、ステップS101で認識したスタティック・スロットが自ノードに割り当てられたスロットか、或いは他ノードに割り当てられたスロットかを判定する。そして、ステップS101で認識したスタティック・スロットが自ノードに割り当てられたスロットであれば、コミュニケーション・コントローラ102は、ステップS103において、当該スタティック・スロット内で、ホストCPU101で作成されたアプリケーションデータを含むフレームを、バス・ドライバ103からFlexRayバス20上へと送出する処理を行う。一方、ステップS101で認識したスタティック・スロットが他ノードに割り当てられたスロットであれば、コミュニケーション・コントローラ102は、ステップS104において、当該スタティック・スロット内で他ノードから送信されたフレームを、バス・ドライバ103を介して受信する処理を行い、また、ステップS105において、ステップS104でのフレーム受信が正常に行われたかどうかの受信診断を行う。
コミュニケーション・コントローラ102は、以上のステップS101〜ステップS105の処理を、スタティック・セグメントの終了が検出されるまで繰り返し、ステップS106においてスタティック・セグメントが終了したと判定された段階で、ステップS107へと処理を移行する。
スタティック・セグメントが終了してステップS107に進むと、コミュニケーション・コントローラ102は、このステップS107において、スタティック・セグメントで他ノードから送信されたフレームを受信した際の受信診断(ステップS105の受信診断)の結果として、受信エラーが検出されているか否かを確認する。すなわち、スタティック・セグメントで他ノードから送信されたフレームを全て正常に受信した場合と、何れかの他ノードから送信されたフレームの受信時に受信エラーを検出した場合とで、ダイナミック・セグメントでの処理が異なるため、コミュニケーション・コントローラ102は、ステップS107で受信診断の結果を確認して、受信エラーが検出されているか否かにより、以降の処理を分岐している。
スタティック・セグメントでのフレーム受信の際の受信診断で受信エラーを検出している場合、コミュニケーション・コントローラ102は、ステップS108において、ダイナミック・セグメント内のダイナミック・スロットを認識し、ステップS109において、ステップS108で認識したダイナミック・スロットが自ノードに割り当てられたスロットか否かを判定する。そして、ステップS108で認識したダイナミック・スロットが自ノードに割り当てられたスロットであれば、コミュニケーション・コントローラ102は、ステップS110において、当該ダイナミック・スロット内で他ノードから診断結果フレームが送信されているか否かを確認することで、ステップS103で自ノードが送信したフレームが他ノードで受信エラーとなったかどうかの送信診断を行う。
また、ステップS108で認識したダイナミック・スロットが自ノードに割り当てられたスロットでない場合、コミュニケーション・コントローラ102は、ステップS111において、ステップS108で認識したダイナミック・スロットが、ステップS105での受信診断で受信エラーを検出したフレームの送信元ノードに割り当てられたスロットか否かを判定する。そして、ステップS108で認識したダイナミック・スロットが受信エラーを検出したフレームの送信元ノードに割り当てられたスロットであれば、コミュニケーション・コントローラ102は、ステップS112において、当該ダイナミック・スロット内で、受信エラーが検出されたことを示す診断結果フレームを、バス・ドライバ103からFlexRayバス20上へと送出する処理を行う。
スタティック・セグメントでのフレーム受信の際の受信診断で受信エラーを検出している場合、コミュニケーション・コントローラ102は、以上のステップS108〜ステップS112の処理を、ダイナミック・セグメントの終了が検出されるまで繰り返し、ステップS113においてダイナミック・セグメントが終了したと判定された段階で、一連の処理を終了する。
一方、スタティック・セグメントでのフレーム受信の際の受信診断で受信エラーを検出していない場合には、コミュニケーション・コントローラ102は、ステップS114において、ダイナミック・セグメント内のダイナミック・スロットを認識し、ステップS115において、ステップS114で認識したダイナミック・スロットが自ノードに割り当てられたスロットか否かを判定する。そして、ステップS114で認識したダイナミック・スロットが自ノードに割り当てられたスロットであれば、コミュニケーション・コントローラ102は、ステップS116において、当該ダイナミック・スロット内で他ノードから診断結果フレームが送信されているか否かを確認することで、ステップS103で自ノードが送信したフレームが他ノードで受信エラーとなったかどうかの送信診断を行う。
スタティック・セグメントでのフレーム受信の際の受信診断で受信エラーを検出していない場合は、コミュニケーション・コントローラ102は、以上のステップS114〜ステップS116の処理を、ダイナミック・セグメントの終了が検出されるまで繰り返し、ステップS117においてダイナミック・セグメントが終了したと判定された段階で、一連の処理を終了する。
図10のステップS105で実施される受信診断の具体的な処理手順を図11に示す。ノード100のコミュニケーション・コントローラ102は、受信診断処理を行う場合、図11に示すように、まずステップS201において、図10のステップS104でのフレーム受信の際の受信ステータス(ValidFrame,SyntaxError,ContentError,Bviolation)を取得する。そして、コミュニケーション・コントローラ102は、ステップS202において、ステップS201で取得した受信ステータスが、ValidFrame=1、且つ、SyntaxError=0、且つ、ContentError=0、且つ、Bviolation=0となっているか否かを確認し、受信ステータスが上記のようになっていればステップS104でのフレーム受信が正常に行われたと判定し(ステップS203)、受信ステータスが上記以外の場合にはステップS104でのフレーム受信の際に受信エラーが発生していると判定する(ステップS204)。
図10のステップS110またはステップS116で実施される送信診断の具体的な処理手順を図12に示す。また、自ノードに割り当てられたダイナミック・スロット内で診断結果フレームを受信しようとしたときにFlexRayバス20上で実際に生じている現象の具体例(ケース1〜ケース6)と送信診断による判定結果との関係を図13に示す。
ノード100のコミュニケーション・コントローラ102は、送信診断処理を行う場合、図12に示すように、まずステップS301において、自ノードに割り当てられたダイナミック・スロット内で診断結果フレームを受信しようとしたときの受信ステータス(ValidFrame,SyntaxError,ContentError,Bviolation)を取得するとともに、自ノードに割り当てられたダイナミック・スロットのスロット長と、当該ダイナミック・スロット内のミニスロット境界ごとのバス状態のサンプリング結果とを取得する。
次に、コミュニケーション・コントローラ102は、ステップS302において、ステップS301で取得した受信ステータスが、ValidFrame=0、且つ、SyntaxError=0、且つ、ContentError=0、且つ、Bviolation=0となっているか否かを確認する。ここで、受信ステータスが上記のようになっていれば、自ノードに割り当てられたダイナミック・スロット内で他ノードからの診断結果フレームが送信されていないことを示しているので、コミュニケーション・コントローラ102は、自ノードに割り当てられたスタティック・スロットで送信したアプリケーションデータを含むフレームは、他ノードにより正常に受信されていると判定する(ステップS306、図13のケース1)。
一方、ステップS301で取得した受信ステータスが、ValidFrame=0、且つ、SyntaxError=0、且つ、ContentError=0、且つ、Bviolation=0となっていなければ、コミュニケーション・コントローラ102は、ステップS303において、ステップS301で取得した受信ステータスが、ValidFrame=1、且つ、SyntaxError=0、且つ、ContentError=0、且つ、Bviolation=0となっているか否かを確認する。ここで、受信ステータスが上記のようになっていれば、自ノードに割り当てられたダイナミック・スロット内で他ノードからの診断結果フレームが正常に受信されたことを示しているので、コミュニケーション・コントローラ102は、自ノードに割り当てられたスタティック・スロットで送信したアプリケーションデータを含むフレームが他ノードの何れかで正常に受信されず、受信エラーが発生したものと判定する(ステップS307、図13のケース2)。
ステップS301で取得した受信ステータスが以上の2つのパターン以外の場合には、コミュニケーション・コントローラ102は、次のステップS304において、ステップS301で取得したスロット長が診断結果フレームを送信する場合のダイナミック・スロットのスロット長(診断スロット長)と同じ長さとなっているか否かを確認する。ここで、自ノードに割り当てられたダイナミック・スロットのスロット長が診断スロット長と異なる長さであれば、自ノードに割り当てられたダイナミック・スロット内でノイズを受信していることを示しているので、コミュニケーション・コントローラ102は、当該ダイナミック・スロット内で他ノードからの診断結果フレームは送信されておらず、自ノードに割り当てられたスタティック・スロットで送信したアプリケーションデータを含むフレームは、他ノードにより正常に受信されたものと判定する(ステップS306、図13のケース3,4)。
ステップS301で取得したスロット長が診断スロット長と同じ長さとなっている場合には、コミュニケーション・コントローラ102は、次のステップS304において、ステップS301で取得したバス状態のサンプリング結果が、診断結果フレームのフレーム長に相当する期間に亘って連続してアクティブとなっているか否かを確認する。ここで、バス状態のサンプリング結果が診断結果フレームのフレーム長に相当する期間に亘って連続してアクティブとなっていなければ、自ノードに割り当てられたダイナミック・スロット内で断続的に発生した複数のノイズを受信していることを示しているので、コミュニケーション・コントローラ102は、当該ダイナミック・スロット内で他ノードからの診断結果フレームは送信されておらず、自ノードに割り当てられたスタティック・スロットで送信したアプリケーションデータを含むフレームは、他ノードにより正常に受信されたと判定する(ステップS306、図13のケース5)。一方、バス状態のサンプリング結果が診断結果フレームのフレーム長に相当する期間に亘って連続してアクティブとなっていれば、自ノードに割り当てられたダイナミック・スロット内で複数の他ノードからの診断結果フレームが送信され、これら診断結果フレームの競合が生じていることを示しているので、コミュニケーション・コントローラ102は、自ノードに割り当てられたスタティック・スロットで送信したアプリケーションデータを含むフレームが他ノードの何れかで正常に受信されず、受信エラーが発生したものと判定する(ステップS307、図13のケース6)。
[実施形態の効果]
以上、具体的な例を挙げながら詳細に説明したように、本実施形態の通信ネットワークシステムでは、ネットワーク上の各ノード100のコミュニケーション・コントローラ102が、他ノードに割り当てられたスタティック・スロットでのフレーム受信時に受信エラーを検出した場合に、当該受信エラーとなったフレームの送信元ノードに割り当てられたダイナミック・スロットを用いて、受信エラーが検出されたことを示す診断結果フレームを送信し、また、自ノードに割り当てられたダイナミック・スロットで診断結果フレームを受信したときには、自ノードが送信したフレームに受信エラーが発生したと判定するようにしている。したがって、本実施形態の通信ネットワークシステムでは、ネットワーク上のあるノードでフレームの受信エラーが検出されたときに、その旨の情報を、当該受信エラーとなったフレームの送信元ノードに確実に通知することができ、通信の信頼性を向上させることができる。
また、本実施形態の通信ネットワークシステムでは、受信エラーが発生したことを示す診断結果フレームを、アプリケーションデータを含む通常のFlexRayフレームのフォーマットをもとに、この通常のFlexRayフレームからアプリケーションデータの部分を除いた構造のフレームとしているので、コミュニケーション・コントローラ102の送信処理部114のロジックを大きく変更することなく、通常のFlexRayフレームの送信と同様の処理で診断結果フレームを送信することが可能となり、また、診断結果フレームのフレーム長を最小限にして、通信負荷の削減を図ることが可能となる。
また、本実施形態の通信ネットワークシステムでは、ネットワーク上の各ノード100のコミュニケーション・コントローラ102が、自ノードに割り当てられたダイナミック・スロットで何らかの信号成分を受信したときに、自ノードに割り当てられたダイナミック・スロットのスロット長が、診断結果フレームを送信する場合のスロット長と同じ長さとなっているか否か、さらには、自ノードに割り当てられたダイナミック・スロット内の複数のタイミングでサンプリングしたバス状態が、診断結果フレームに相当する期間に亘り連続的にアクティブとなっているか否かにより、自ノードに割り当てられたダイナミック・スロットで受信した信号成分が診断結果フレームであるのか、或いはノイズであるのかを識別するようにしているので、ノイズを診断結果フレームであると認識してしまうことによる誤判定を有効に防止することができる。
なお、以上説明した通信ネットワークシステムは本発明の一適用例を例示したものであり、本発明の技術的範囲は、以上の説明で開示した内容に限定されるものではなく、これらの開示から容易に導き得る様々な代替技術も含まれることは勿論である。例えば、上述した通信ネットワークシステムでは、ネットワークトポロジとしてバス型を採用しているが、バス型以外にもスター型やバス型とスター型とのハイブリッドなど、様々なトポロジが採用可能である。また、本発明は、通信プロトコルにFlexRayプロトコルを採用した通信ネットワークシステムに限らず、FlexRayのコミュニケーション・サイクルと同様の通信周期で通信を行う他のプロトコルを採用した通信ネットワークシステムに対しても、有効に適用可能である。
本発明を適用した通信ネットワークシステムの全体構成を示す図である。 FlexRayプロトコルにおけるデータ転送の仕組みを説明する図である。 FlexRayプロトコルにおけるフレーム・フォーマットを示す図である。 本発明を適用した通信ネットワークシステムの設計情報を示す図であり、(a)は設計時に定められた通信諸元を示す図、(b)は設計時に定められた各ノードに対するスロットの割り当てを示す図である。 ネットワークのノードとして接続される各ノードのハード的な内部構成を示す図である。 各ノードが備えるコミュニケーション・コントローラの機能ブロック図である。 診断結果フレームのフレーム構造を示す図である。 フレームを受信した際に得られる受信ステータスの内容を説明する図である。 ダイナミック・スロット内の複数のタイミングでバス状態をサンプリングする様子を示す図であり、(a)は1つのダイナミック・スロット内で複数の診断結果フレームが競合している場合のサンプリング結果を示す図、(b)は1つのダイナミック・スロット内で複数のノイズが断続的に発生している場合のサンプリング結果を示す図である。 本発明を適用した通信ネットワークシステムにおいて、コミュニケーション・サイクルごとにノードのコミュニケーション・コントローラにより実行される一連の処理の流れを示すフローチャートである。 図10のステップS105で実施される受信診断の具体的な処理手順を示すフローチャートである。 図10のステップS110またはステップS116で実施される送信診断の具体的な処理手順を示すフローチャートである。 自ノードに割り当てられたダイナミック・スロット内で診断結果フレームを受信しようとしたときにFlexRayバス上で実際に生じている現象の具体例と送信診断による判定結果との関係を示す図である。
符号の説明
1〜16 ノード
20 FlexRayバス
100 ノード
101 ホストCPU
102 コミュニケーション・コントローラ
103 バス・ドライバ
114 送信処理部
115 受信処理部
116 受信診断処理部
117 送信診断処理部

Claims (5)

  1. 一通信周期内に、1つのフレームを送信する時間区分であるスロットの長さが固定長とされた静的領域と、前記スロットの長さが可変長とされた動的領域とを有し、ネットワーク上の各ノードが、少なくとも前記静的領域において自ノードに割り当てられたスロット内で他ノードに転送すべきフレームを送信する時分割多重通信型の通信ネットワークシステムにおいて、
    前記ネットワーク上の各ノードが、
    前記静的領域において他ノードに割り当てられたスロット内のフレームを正常に受信できたか否かを判定する受信診断手段と、
    前記受信診断手段により受信エラーが検出されたときに、受信エラーが検出されたことを示す診断結果フレームを、前記動的領域において前記受信エラーとなったフレームの送信元である他のノードに対して割り当てられたスロットを用いて送信する診断結果送信手段と、
    前記動的領域において自ノードに割り当てられたスロット内で前記診断結果フレームを受信した場合に、自ノードが送信したフレームに受信エラーが発生したと判定する送信診断手段とを備えることを特徴とする通信ネットワークシステム。
  2. 前記ネットワーク上の各ノードが自ノードに割り当てられたスロット内で送信する送信フレームは、ヘッダ部と送信データ部とエラーチェック部とからなるフレーム構造を有し、
    前記診断結果フレームは、前記送信フレームのフレーム構造から送信データ部を除いたフレーム構造を有することを特徴とする請求項1に記載の通信ネットワークシステム。
  3. 前記送信診断手段は、前記動的領域において自ノードに割り当てられたスロットの長さが前記診断結果フレームが送信された場合のスロットの長さと一致するか否かを判定して、その判定結果に基づいて、前記動的領域において自ノードに割り当てられたスロット内の信号が前記診断結果フレームであるかノイズであるかを判断することを特徴とする請求項1に記載の通信ネットワークシステム。
  4. 前記送信診断手段は、前記動的領域において自ノードに割り当てられたスロット内の複数のタイミングで信号成分の有無を判定して、その判定結果に基づいて、前記動的領域において自ノードに割り当てられたスロット内の信号が前記診断結果フレームであるかノイズであるかを判断することを特徴とする請求項1に記載の通信ネットワークシステム。
  5. 一通信周期内に、1つのフレームを送信する時間区分であるスロットの長さが固定長とされた静的領域と、前記スロットの長さが可変長とされた動的領域とを有し、ネットワーク上の各ノードが、少なくとも前記静的領域において自ノードに割り当てられたスロット内で他ノードに転送すべきフレームを送信する時分割多重通信型の通信ネットワークシステムにおいて、前記静的領域で送信されたフレームの受信エラーを受信側ノードから送信側ノードへと通知する受信エラー通知方法であって、
    前記受信側ノードは、前記静的領域で送信されたフレームの受信エラーを検出したときに、受信エラーが検出されたことを示す診断結果フレームを、前記動的領域において前記受信エラーとなったフレームの送信元である送信側ノードに対して割り当てられたスロットを用いて送信し、
    前記送信側ノードは、前記動的領域において自ノードに割り当てられたスロット内で前記診断結果フレームを受信した場合に、自ノードが送信したフレームに受信エラーが発生したと判定することを特徴とする受信エラー通知方法。
JP2006189677A 2006-07-10 2006-07-10 通信ネットワークシステム及び受信エラーの通知方法 Pending JP2008022071A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006189677A JP2008022071A (ja) 2006-07-10 2006-07-10 通信ネットワークシステム及び受信エラーの通知方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006189677A JP2008022071A (ja) 2006-07-10 2006-07-10 通信ネットワークシステム及び受信エラーの通知方法

Publications (1)

Publication Number Publication Date
JP2008022071A true JP2008022071A (ja) 2008-01-31

Family

ID=39077738

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006189677A Pending JP2008022071A (ja) 2006-07-10 2006-07-10 通信ネットワークシステム及び受信エラーの通知方法

Country Status (1)

Country Link
JP (1) JP2008022071A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008022072A (ja) * 2006-07-10 2008-01-31 Nissan Motor Co Ltd 通信ネットワークシステム及びエラー検証方法
JP2010183270A (ja) * 2009-02-04 2010-08-19 Renesas Electronics Corp 通信制御回路、通信ノード、通信システム、並びに通信制御方法及びプログラム
JP2010226409A (ja) * 2009-03-24 2010-10-07 Furukawa Electric Co Ltd:The 車両用通信システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008022072A (ja) * 2006-07-10 2008-01-31 Nissan Motor Co Ltd 通信ネットワークシステム及びエラー検証方法
JP2010183270A (ja) * 2009-02-04 2010-08-19 Renesas Electronics Corp 通信制御回路、通信ノード、通信システム、並びに通信制御方法及びプログラム
JP2010226409A (ja) * 2009-03-24 2010-10-07 Furukawa Electric Co Ltd:The 車両用通信システム

Similar Documents

Publication Publication Date Title
US10020958B2 (en) Can fd
EP2883332B1 (en) Flexray network runtime error detection and containment
RU2597501C2 (ru) Способ и устройство для последовательной передачи данных с гибким размером сообщений и переменной длительностью бита
US9032124B2 (en) Definition of wakeup bus messages for partial networking
RU2603534C2 (ru) Способ и устройство для последовательной передачи данных с гибким размером сообщений и переменной длительностью бита
JP5434512B2 (ja) 車載通信システム、ゲートウェイ装置
US8347009B2 (en) Communication system having a plurality of communication nodes
US8407339B2 (en) Star network and method for preventing a repeated transmission of a control symbol in such a star network
EP3599743B1 (en) Method and device for communicating data frames on a multi-master bus
JP4807171B2 (ja) 通信ネットワークシステム及びエラー検証方法
US11016925B2 (en) Protocol-tolerant communications in controller area networks
US9319162B2 (en) Signal processor and communication device
JP2008022071A (ja) 通信ネットワークシステム及び受信エラーの通知方法
CN112823496B (zh) 帧屏蔽单元、用于串行总线系统的用户站以及用于在串行总线系统中进行通信的方法
CN116266803A (zh) 用于控制器局域网的设备
RU2602353C2 (ru) Способ и устройство для последовательной передачи данных с гибким размером сообщений и переменной длительностью бита
JP4862521B2 (ja) 通信ネットワークシステム及びそのスタートアップ方法
JP4884490B2 (ja) 通信システム及び通信方法
JP2008022079A (ja) 通信ネットワークシステム及び受信診断結果の通知方法
CN111314192A (zh) 一种高速总线结构和通信节点间传输数据的方法
CN116405153A (zh) 用于控制器局域网的设备
EP3076604A1 (en) Communication device and link establishment method
JP2008022066A (ja) 通信ネットワークシステム及びノード同期補正機能の故障診断方法
JP2012129771A (ja) 通信ノード、及び通信システム並びに方法
Mahmud Various Emerging Time-Triggered Protocols for Drive-by-Wire Applications