説明

通信システム

【課題】TDMA通信方式を用いた車載LAN通信のフェールセーフ機能の実現を目的として、通信プロトコルとハードウェアに新規な機能、仕様をインプリメントすることで、前記目的を達成することを提案するものである。
【解決手段】複数のノードと、前記複数の各ノードと1対1で接続され、前記各ノード間での通信を実現する中継ノードが在り、前記各ノード間における前記中継ノードRAを介したデータ通信が、TDMA通信方式にて行われるネットワークの通信システムであって、TDMA通信スケジュールの各サイクルには、データ通信を行うための複数の通信用time−slotと、異常通知用time−slotが割り当てられ、前記中継ノーAは、受信した前記結果データに基づいて、特定の或るノードを、前記通信データバスから切り離す。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時分割多重通信システムにおいて、エラーの発生の検出と、その対応に関するものである。
【背景技術】
【0002】
従来、Event−Trigger動作においては、各送受信ノードが自己の異常の有無を確認し、異常有りの場合には、受信エラー情報を共通バスラインにワイヤードOR接続にて出力し、通信制御主装置に通知することで障害の検出を行うこととしており、この障害検出について開示する文献も存在する(例えば、特許文献1参照。)。
【0003】
また、自動車の車載LANの一つであるCAN(Controller Area Network)は、前記Event−Trigger動作により情報伝達さがされることとなっており、通信方式としてCSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)が採用され、受信ノードは異常検出すると、バスに対してエラーフレーム送信を行って異常通知を行い、送信ノードは前記エラーフレーム受信によって送信処理を中断し、送信リトライ処理を実行する。そして、このエラーフレーム受信の頻度によって、故障ノードをバスから切り離すバスオフ等のフェールセーフ機能が働く仕組みとなっている。
【0004】
また、前述のCANのほか、将来的に個別制御されるセンサや、電装品のデータを連係させて、リアルタイムに統合的な車両システム制御を行うこと等を目的として、より高性能な車載LANの検討が活発に進められている。
そして、高速伝送/高信頼性を必要とする駆動走行制御系のネットワークでは、X−by−Wireシステム向けの通信としてTime−Trigger動作の通信制御が必要とされており、FlexRayプロトコル等においては、TDMA(Time Division Multiple Access)通信方式が採用されている。
【0005】
このTDMA通信方式の実現においては、ネットワークの全ノードがグローバル時間に同期して送信タイミングを図る、即ち、スケジュールする必要があり、全ノードは、ネットワーク内のある代表ノードが送信する同期frame(synch−frame)に従い、クロック補正をすることで網同期が図られるようになっている。この機能を司るものがスケジューラーと呼ばれるものである。
【0006】
そして、特に高い信頼性が要求されるネットワークにおいては、各ノードのスケジューラーの正常性を監視するための手段として、バスガーディアン機能が装備されることがある。
このバスガーディアン機能は、送信タイミングを図るスケジューリング機能を別ブロックで実施することでネットワークへの誤送信を阻止するものであり、データのコリジョンが許容されない通信プロトコルの保護機能、即ち、通信監視部の役割を果たすものである。
【特許文献1】特開平5−145556号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、前述のバスガーディアン機能が対応できるのは、物理層以上の通信コントローラレベルでの障害であり、物理層がハード的に故障した場合や、本来の通信コントローラ処理部であるスケジューラーと、通信監視部であるバスガーディアン機能にて二重障害が発生した場合等では、正常なノード間での通信を保護する手立てがなく、信頼性の観点から非常に大きな問題となる。
さらに、このバスガーディアン機能は、各ノードにスケジューラーを装備する必要があり、コスト的なリスクが大きい割には信頼性が十分に確保できないという結果になる。
【0008】
また、前述のTDMA通信方式においては、各ノードがTime−Trigger動作で情報伝達を実行するために、frameを送信するタイミング(time−slot)が固定されており、受信ノードは異常検出しても送信ノードへ通信する方法がない。つまり、故障ノードをバスから切り離すためのフェールセーフ機能が実装されていないこととなっている。
【0009】
そこで、本発明は、TDMA通信方式を用いた車載LAN通信のフェールセーフ機能の実現を目的として、通信プロトコルとハードウェアに新規な機能、仕様をインプリメントすることで、前記目的を達成することを提案するものである。
【課題を解決するための手段】
【0010】
本発明の解決しようとする課題は以上のごとくであり、次にこの課題を解決するための手段を説明する。
【0011】
即ち、請求項1に記載のごとく、
複数のノードと、
前記複数の各ノードと1対1で接続され、前記各ノードを終端するとともに、内部の通信データバスを介して前記各ノード間での通信を実現する中継ノードが在り、
前記各ノード間における前記中継ノードを介したデータ通信が、TDMA通信方式にて行われるネットワークの通信システムであって、
TDMA通信スケジュールの各サイクルには、
データ通信を行うための複数の通信用time−slotと、
異常通知用time−slotが割り当てられ、
前記各通信用time−slotのタイミングでは、
或る送信ノードからの送信データが前記中継ノードを介して送信され、
前記異常通知用time−slotのタイミングでは、
前記各ノードにて行われる受信データのエラーチェックの結果データが、前記各ノードから前記中継ノードにそれぞれ送信されるものとし、
前記中継ノードは、受信した前記結果データに基づいて、
特定の或るノードを、前記通信データバスから切り離すものとする。
【0012】
また、請求項2に記載のごとく、
前記各ノードには、
前記各通信用time−slotで受信する受信データのエラーチェックを行う機能と、
前記異常通知用time−slotのタイミングに、前記エラーチェックの結果データを前記中継ノードに送信する機能が設けられ、
前記中継ノードには、
前記通信データバスと前記各ノードの間にそれぞれ設けられ、前記各ノードを前記通信データバスから切り離す機能を有する閉塞処理機能部と、
前記各閉塞処理機能部と制御信号バスを介して接続されるスターコントローラが設けられ、
前記スターコントローラは、
前記結果データに基づいて、或るノードについてのエラーが閾値を超えた場合には、
前記或るノードを、前記或るノードが接続される前記閉塞処理機能部によって、前記通信データバスから切り離すこととする。
【0013】
また、請求項3に記載のごとく、
前記結果データは、
前記各通信用time−slotにおける受信データについてのエラーの有無を、エラー有り「1」、エラー無し「0」として表現されるbit列であり、
前記スターコントローラには、
前記各ノードから受信する結果データの「1」の数を、各ノードについてカウントする異常検出カウンタが設けられ、
前記スターコントローラは、
前記異常検出カウンタの或るノードについての値が閾値TH1を超えた場合には、
前記ノードを、前記ノードが接続される前記閉塞処理機能部によって、前記通信データバスから切り離すこととする。
【0014】
また、請求項4に記載のごとく、
前記スターコントローラには、
前記各ノードから受信する結果データの「1」の数を、各通信用time−slotについてカウントする異常通知カウンタが設けられ、
前記スターコントローラは、
前記異常通知カウンタの或る通信用time−slotについての値が閾値TH3を超えた場合には、
前記或る通信用time−slotにおいて送信ノードとされているノードを、
当該ノードが接続される前記閉塞処理機能部によって、前記通信データバスから切り離すこととする。
【0015】
また、請求項5に記載のごとく、
前記複数のノードと、
前記中継ノードから構成されるスターが複数あって、
前記各中継ノード同士が通信接続されるネットワークの通信システムであって、
前記各スターの各中継ノードには、
前記通信データバスと接続されるとともに、
他のスターの中継ノードと接続される対向スター通信機能部が設けられ、
或るスターの中継ノードの前記スターコントローラにおいて、
前記異常通知カウンタの或る通信用time−slotのカウンタ値が閾値TH2を超えた場合であって、その或る通信用time−slotにおいて送信ノードとされているノードが、他のスターの配下である場合には、
前記スターの前記スターコントローラは、前記対向スター通信機能部を介し、前記スターの前記スターコントローラに対し、異常通知フラグを前記異常通知用time−slotのタイミングで通知し、
前記スターの前記スターコントローラは、前記或る通信用time−slotについての異常通知カウンタのカウンタ値に、前記閾値TH2を加算し、
加算後の異常通知カウンタのカウンタ値が、前記閾値TH3を超えた場合には、
前記或る通信用time−slotにおいて送信ノードとされているノードを、
当該ノードが接続される前記閉塞処理機能部によって、前記通信データバスから切り離すこととする。
【0016】
また、請求項6に記載のごとく、
前記スター間での異常通知用time−slotにおける異常通知フラグの送信は、
前記異常通知フラグの送信に関するTDMA通信スケジュールの各サイクルの異常通知用time−slotの利用が、
各スターについて順番に割り当てられることで、
或るスターから他のスター、他のスターから或るスターへの異常通知フラグの送信が、順次行われるようにする。
【発明の効果】
【0017】
本発明では、中継ノードが、異常に関連するノードを通信データバスから切り離す、即ち、バスオフ機能を有することになり、TDMA通信による通信システムにおいてフェールセーフ機能を実現することができ、より高品質なネットワークの確保が可能となる。
また、既存のTDMA通信プロトコルとハードウェアに新規な機能、仕様をインプリメントすることで、TDMA通信方式を用いた車載LAN通信のフェールセーフ機能を実現することができる。
【発明を実施するための最良の形態】
【0018】
本実施例の通信システムは、
図1及び図2に示すごとく、
複数のノード#A−1〜#A−4と、
前記複数の各ノード#A−1〜#A−4と1対1で接続され、前記各ノード#A−1〜#A−4を終端するとともに、内部の通信データバス10Aを介して前記各ノード#A−1〜#A−4間での通信を実現する中継ノードRAが在り、
前記各ノード#A−1〜#A−4間における前記中継ノードRAを介したデータ通信が、
TDMA通信方式にて行われるネットワークの通信システムであって、
図3乃至図5に示すごとく、
TDMA通信スケジュールの各サイクルには、
データ通信を行うための複数の通信用time−slot(slot#0〜slot#7)と、
異常通知用time−slot(slot#8)が割り当てられ、
前記各通信用time−slotのタイミングでは、
或る送信ノードからの送信データが前記中継ノードRAを介して送信され、
前記異常通知用time−slotのタイミングでは、
前記各ノード#A−1〜#A−4にて行われる受信データのエラーチェックの結果データKDが、前記各ノード#A−1〜#A−4から前記中継ノードRAにそれぞれ送信されるものとし、
前記中継ノードRAは、受信した前記結果データKDに基づいて、
特定の或るノード#A−1〜#A−4を、前記通信データバス10Aから切り離すものである。
【0019】
以上の構成では、中継ノードRAが、異常に関連するノード#A−1〜#A−4を通信データバス10Aから切り離す、即ち、バスオフ機能を有することになり、TDMA通信による通信システムにおいてフェールセーフ機能を実現することができ、より高品質なネットワークの確保が可能となる。
【0020】
また、従来のTDMA通信スケジュールの概念において、例えば、FlexRayプロトコルの場合では、Symbol−windowとして割り当てられ、定常的には利用されることがないtime−slotを、異常通知用time−slotとして利用することで、本実施例を実施することができる。
つまり、既存のプロトコルに対して親和性が高く、本実施例の実施に際しては、既存技術からの変更差分が少なくて済むことになる。
【0021】
また、FlexRayプロトコルに関連するX−by−Wireアプリケーションに適用するTDMA通信システムにおいては、広帯域伝送であるため、電気的特性を満足するための中継ノード(スター機構)が必要とされるものであるが、この中継ノードへの追加機能として前述のフェールセーフ機能を実装できるので、通信主体となる各ノード#A−1〜#A−4側にバスオフの機能を持たせる構成(各ノード#A−1〜#A−4で対処する方式)と比較すると、ハードウェアとしてのコストの低減化を図ることができる。
【0022】
以下、各構成の詳細、実施形態について説明する。
図1に示すごとく、本実施例は、複数のノード#A−1〜#A−4と、前記複数の各ノード#A−1〜#A−4と1対1で接続される中継ノードRAからスターAが構成されるネットワークへの適用を考慮したものである。
また、図1の構成では、複数のノード#A−1〜#A−4/#B−1〜#B−4と、中継ノードRA・RBからそれぞれ構成されるスターA・Bにて構成されている。
【0023】
また、図3に示すごとく、TDMA通信スケジュールにおいては、各サイクルにおいて、前記ノード数(スターA・Bで合計8個)の通信用time−slot(slot#0〜#7)と、異常通知用time−slot(slot#8)が割り当てられている。
また、図3に示すごとく、各サイクルの通信用time−slotは、
slot#0:ノード#A−1→ノード#B−1
slot#1:ノード#B−1→ノード#A−1
slot#2:ノード#A−2→ノード#B−2
slot#3:ノード#B−2→ノード#A−2
slot#4:ノード#A−3→ノード#B−3
slot#5:ノード#B−3→ノード#A−3
slot#6:ノード#A−4→ノード#B−4
slot#7:ノード#B−4→ノード#A−4
のように、各通信用time−slotにおいて、或る特定のノードが送信ノードとなり、他の特定のノードに向けてのデータ通信が実施される。
【0024】
また、各通信用time−slotにおける送信データは、特定のノードの他、ネットワーク内においてデータがブロードャストされ、通信用time−slotにおいて受信ノードとされているノードの他のノードにおいても、データが受信される。各ノードにおいては、受信データのエラーチェック後、受信データが自ノード宛であるか否かを判断し、自ノード宛である場合は、そのデータを取り込む。
【0025】
また、図3に示すごとく、前記TDMA通信スケジュールにおいて、異常通知用time−slotは、各サイクルの最後にある通信用time−slotの次に割り当てられている。
また、図5に示すごとく、前記異常通知用time−slotは、前記通信用time−slot(ネットワークのノード数(中継ノードを除く))と同数に分割、即ち、#0〜#7で8分割されており、それぞれ、異常通知用time−slot#0〜#7として割り当てられている。
【0026】
また、図4に示すごとく、異常通知用time−slotでは、各ノード#A−1〜#A−4から中継ノードRA、各ノード#B−1〜#B−4から中継ノードRBへと、それぞれ、後述するエラーチェックの結果データKDが送信される。また、この異常通知用time−slotでは、前記各中継ノードRA・RBは、それぞれ、各ノードを終端することとなるため、前記結果データKDは、中継ノードRA・RB内に収容されることになる。
【0027】
また、図1に示す前記各ノード#A−1〜#A−4/#B−1〜#B−4には、それぞれ、TDMA通信スケジュールの通信用time−slotで受信する受信データのエラーチェックを行う機能が設けられている。
また、このエラーチェックは、各通信用time−slotで受信した有効データに対してFCS−Check(フレーム・チェック・シーケンス・チェック)を実行して、受信データの正常性判定を実施するものである。
【0028】
また、このエラーチェックの結果は、図6に示すごとくであり、例えば、サイクル#1のノード#A−1については、「00100010」のビット列で表される。このビット列は、通信用time−slotの順番に対応して、エラー検出された通信用time−slotについて「1」、エラー検出されなかった通信用time−slotを「0」のビットで表すこととしており、「00100010」である場合では、通信用time−slot#2・#6の受信データでエラー検出され、その他の通信用time−slotの受信データは正常であるものとされる。
【0029】
また、前記各ノード#A−1〜#A−4/#B−1〜#B−4には、図4に示すごとく、それぞれ、各通信用time−slotにおけるエラーチェックの結果のビット列を結果データKDとして、前記異常通知用time−slotのタイミングで中継ノードRA/RBへと送信する機能が設けられている。この結果データKDは、前述のごとく、前記各通信用time−slotにおける受信データについてのエラーの有無を、エラー有り「1」、エラー無し「0」として表現されるビット列である。
尚、このノード#A−1〜#A−4は、車載LANにおいては、ECU(電子制御ユニット)といわれる機能・構成を具備するものである。
【0030】
そして、図4に示すごとく、前記異常通知用time−slotでは、前記各ノード#A−1〜#A−4/#B−1〜#B−4にて行われる受信データのエラーチェックの結果データKDが、前記各ノード#A−1〜#A−4/#B−1〜#B−4から前記中継ノードRA/RBにそれぞれ送信される。
【0031】
また、図2に示すごとく、前記中継ノードRA・RBは、それぞれ、前記各ノード#A−1〜#A−4/#B−1〜#B−4を終端するとともに、内部の通信データバス10A・10Bを介して前記各ノード#A−1〜#A−4、#B−1〜#B−4間での通信を実現すべく構成されている。
【0032】
また、図2に示すごとく、スターAにつき、前記中継ノードRAには、前記通信データバス10Aと前記各ノード#A−1〜#A−4の間にそれぞれ設けられ、前記各ノード#A−1〜#A−4を前記通信データバス10Aから切り離す機能を有する閉塞処理機能部#C−1〜#C−4が設けられる。この閉塞処理機能部#C−1〜#C−4については、スターBの中継ノードRBにおいても同様である。
【0033】
また、図2に示すごとく、スターAにつき、前記中継ノードRAには、前記各閉塞処理機能部#C−1〜#C−4と制御信号バス11Aを介して接続されるスターコントローラSAが設けられており、前記各閉塞処理機能部#C−1〜#C−4は、スターコントローラSAからの指令によって、それぞれ、前述のノード#A−1〜#A−4の通信データバス10Aからの切り離しの機能を実行する。このスターコントローラSAと制御信号バス11Aについては、スターBの中継ノードRBにおいても同様である。
【0034】
また、図2に示すごとく、前記スターコントローラSA・SBは、前記結果データKDに基づいて、自配下の或るノードについてのエラーが閾値を超えた場合には、前記或るノードを、前記或るノードが接続される前記閉塞処理機能部によって、前記通信データバス10Aから切り離すこととするものである。
例えば、中継ノードRAのスターコントローラSAにおいて、自配下にあるノード#A−1についてのエラーが閾値を超えた場合には、前記閉塞処理機能部#C−1によって、ノード#A−1を通信データバス10Aから切り離すものである。
【0035】
また、前記スターコントローラSAにおけるエラーの閾値の取扱に関し、図6に示すごとく、前記スターコントローラSAには、前記各ノード#A−1〜#A−4から受信する結果データKDの「1」の数を、各ノードについてカウントする異常検出カウンタDCが設けられている(図において水平方向の「1」の個数をカウントする)。
そして、前記スターコントローラSAは、各サイクルについて各ノード#A−1〜#A−4から送信されてくる結果データKDの「1」の数を、前記異常検出カウンタDCにより累積してカウントし、前記異常検出カウンタDCの或るノード(例えば、#A−1)についての値が閾値TH1を超えた場合には、前記ノード(#A−1)を、前記ノード(#A−1)が接続される前記閉塞処理機能部(#C−1)によって、前記通信データバス10Aから切り離すこととしている。
【0036】
前記異常検出カウンタDCは、図6に示すごとく、例えば、サイクル#1でのノード#A−1からの結果データKDのビット列は、「00100010」であり、「1」の数が2個あるため、「2」(10進数)としてカウントする。また、次のサイクル#2では、ノード#1についての結果データKD「00110110」の「1」の数が4個あり、既に計上したサイクル#1でのカウント「2」に、サイクル#2での「1」の個数4が加算され、異常検出カウンタDCにおいては、カウンタ値「6」として計上される。
尚、この異常検出カウンタDCは、スターBの中継ノードRBのスターコントローラSBにおいても同様の構成とされる。
【0037】
そして、このように計上される異常検出カウンタDCのカウンタ値が、閾値TH1を超えた場合には、該当するノードについて、通信データバス10Aからの切り離しを行うものである。
図7は、サイクル#1〜サイクル#nにおける異常検出カウンタDCによるカウンタ値の変化ついて示すものであり、サイクル#nにおいて、スターAのノード#A−1については、カウンタ値が「26」となっている。そして、前記閾値TH1を「25」として設定している場合では、カウンタ値「26」の値が、閾値TH1「25」を超えたことになるので、中継ノードRAのスターコントローラSAは、ノード#A−1を通信データバス10Aから切り離すものである。
【0038】
ここで、異常検出カウンタDCのカウンタ値は、ノード#A−1においてエラーが検出された回数(図7の例では、「26」)を計上するものであり、ノード#A−1では、このカウンタ値だけエラーが検出されたということになる。
そして、このエラーの検出が閾値TH1(図7の例では「25」)を超えた場合には、前記スターコントローラSAでは、該当するノード#A−1ではエラー検出が多発しており、このエラー検出は誤検出であるものと推定し、該当するノード#A−1を故障であると判断するものである。
以上のように、各ノードからのエラーチェックの結果に基づいて、各ノードについてのエラー回数を診断することで、異常が発生している(正常なエラーチェックが行われていない)と推定されるノードの切り離しを行うものである。
【0039】
また、前記スターコントローラSAにおけるエラーの閾値の取扱に関し、図6に示すごとく、前記スターコントローラSAには、前記各ノードから受信する結果データKDの「1」の数を、各通信用time−slotについてカウントする異常通知カウンタTCが設けられている(図において垂直方向の「1」の個数をカウントする)。
そして、前記スターコントローラSAは、各サイクルについて各ノード#A−1〜#A−4から送信されてくる結果データKDの「1」の数を、通信用time−slot毎で前記異常通知カウンタTCにより累積してカウントし、前記異常通知カウンタTCの或る通信用time−slotについての値が閾値TH3を超えた場合には、前記或る通信用time−slotにおいて送信ノードとされているノード(例えば、#A−1)を、当該ノード(#A−1)が接続される前記閉塞処理機能部(#C−1)によって、前記通信データバス10Aから切り離すこととしている。
【0040】
前記異常通知カウンタTCは、図6に示すごとく、例えば、サイクル#1の通信用time−slot#2における「1」の数が2個あるため、「2」(10進数)としてカウントする。また、次のサイクル#2では、通信用time−slot#2における「1」の数が2個あり、既に計上したサイクル#1でのカウント「2」に、サイクル#2での「1」の個数2が加算され、異常通知カウンタTCにおいては、カウンタ値「4」として計上される。
尚、この異常通知カウンタTCは、スターBの中継ノードRBのスターコントローラSBにおいても同様の構成とされる。
【0041】
そして、このように計上される異常通知カウンタTCのカウンタ値が、閾値TH3を超えた場合には、該当するノードについて、通信データバス10Aからの切り離しを行うものである。
図8は、サイクル#1〜サイクル#nにおける異常通知カウンタTCによるカウンタ値の変化ついて示すものであり、サイクル#nにおいて、スターAの通信用time−slot#6については、カウンタ値が「51」となっている。そして、前記閾値TH3を「50」として設定している場合では、カウンタ値「51」の値が、閾値TH3「50」を超えたことになるので、中継ノードRAのスターコントローラSAは、通信用time−slot#6において送信ノードとされているノード#A−4を通信データバス10Aから切り離すものである。
【0042】
ここで、異常通知カウンタTCのカウンタ値は、通信用time−slot#6においてエラーが検出された回数(図8の例では、「51」)を計上するものであり、ノード#A−4から送信されたデータは、受信側ノード(ノード#A−4も含む)にて、合計してカウンタ値だけエラーが検出されたということになる。
そして、このエラーの検出が閾値TH3(図8の例では「50」)を超えた場合には、前記スターコントローラSAでは、該当するノード#A−4から送信されるデータは、各ノードによるエラーチェックによってエラーが検出される回数が多く、ノード#A−4から送信されるデータは正常でないものと推定し、該当するノード#A−4を故障であると判断するものである。
以上のように、各通信用time−slotについてのエラーチェックの結果に基づいて、各通信用time−slotについてのエラー回数を診断することで、異常が発生している(異常なデータを送信している)と推定されるノードの切り離しを行うものである。
【0043】
また、前記異常通知カウンタTCに関し、図1及び図2に示すごとく、前記複数のノード#A−1〜#A−4/#B−1〜#B−4と、前記中継ノードRA・RBから構成されるスターA・Bが複数あって、前記各中継ノードRA・RB同士が通信接続されるネットワークの通信システムにおいては、各中継ノードRA・RBのスターコントローラSA・SB間で、互いの異常通知カウンタTCのカウンタ値に関して情報交換を行う必要がある。
【0044】
これは、図4に示すごとく、前記異常通知用time−slotにおいて、各スターA/Bでは、各ノード#A−1〜#A−4/#B−1〜#B−4から中継ノードRA/RBへの結果データKDの送信が行われるものであるが、この結果データKDは、それぞれ、中継ノードRA/RBで終端されるため、中継ノードRBへはスターA側の結果データKD、中継ノードRBへはスターB側の結果データKDがそれぞれ送信されないこととなっている。
【0045】
そして、例えば、図8のサイクル#nにおいて、中継ノードRAの異常通知カウンタTCの通信用time−slot#3についてのカウンタ値が「31」となっている場合(このことは、中継ノードRAの配下にあるノード#A−1〜#A−4によるエラーチェックにより、中継ノードRBの配下にあるノード#B−2から送信されたデータについて31回のエラー検出がされたことを意味する)、このエラー検出の結果、即ち、ノード#B−2からの送信データについて、数多くのエラー検出が行われているということを、中継ノードRBへ通知してあげる必要がある。
【0046】
さらに、図8の例でいえば、サイクル#nにおいて、スターA側の異常通知カウンタTCにおいては、通信用time−slot#3につきカウンタ値「31」となっている一方、スターB側の異常通知カウンタTCにおいては、通信用time−slot#3につきカウンタ値「25」となっている。このことは、ネットワーク内の中継ノードRA・RBを除く全てのノード#A−1〜#A−4、#B−1〜#B−4において、通信用time−slot#3の受信データにつき、合計で「51」回のエラーが検出されたことを意味する。そして、この「51」という値は前記閾値TH3「50」を超えるものであることから、スターコントローラSBにより、通信用time−slot#3において送信ノードとされている#B−2を通信データバス10B(図2参照)からの切り離しを行おうとするものである。
【0047】
そして、以上のスターA/B間での異常通知カウンタTCのカウンタ値に関する情報交換につき、本実施例では、図8に示すごとく、前記異常通知カウンタTCについて閾値TH2(図8の例では「30」)を設けることで対応することとしている。
即ち、図1及び図2に示すごとく、前記複数のノード#A−1〜#A−4/#B−1〜#B−4と、前記中継ノードRA・RBから構成されるスターA・Bが複数あって、前記各中継ノードRA・RB同士が通信接続されるネットワークの通信システムであって、前記各スターA・Bの各中継ノードRA・RBには、前記通信データバス10A・10Bと接続されるとともに、他のスターA/Bの中継ノードRA/RBと接続され、各中継ノードRA/RB間での通信を確立する機能を有する対向スター通信機能部HA/HBを設ける構成とする。
【0048】
そして、図8に示すごとく、或るスターAの中継ノードRAの前記スターコントローラSAにおいて、前記異常通知カウンタTCの或る通信用time−slot(#3)のカウンタ値(「31」)が閾値TH2(「30」)を超えた場合であって、その或る通信用time−slot(#3)において送信ノードとされているノード(#B−3)が、他のスターBの配下である場合には、前記スターAの前記スターコントローラSAは、前記対向スター通信機能部HA・HBを介し、前記スターBの前記スターコントローラSBに対し、異常通知フラグFを前記異常通知用time−slotのタイミングで通知し(図4参照)、前記スターBの前記スターコントローラSBは、前記或る通信用time−slot(#3)についての異常通知カウンタTCのカウンタ値(「26」)に、前記閾値TH2(「30」)を加算し、加算後の異常通知カウンタTCのカウンタ値(「56」)が、前記閾値TH3(「50」)を超えた場合には、前記或る通信用time−slot(#3)において送信ノードとされているノード(#B−3)を、当該ノード(#B−3)が接続される前記閉塞処理機能部(#C−3)によって、前記通信データバス10Bから切り離すこととするものである。
尚、閾値TH2と閾値TH3の関係は、0<TH2<TH3の関係となっている。
【0049】
また、図8に示すごとく、前記スターA・B間での異常通知用time−slotにおける異常通知フラグFの送信は、前記異常通知フラグFの送信に関するTDMA通信スケジュールの各サイクルの異常通知用time−slotの利用が、各スターA・Bについて順番に割り当てられることで、或るスターAから他のスターB、他のスターBから或るスターAへの異常通知フラグの送信が、順次行われるようになっている。本実施例では、odd(奇数サイクル)において、スターAからスターBへの通信機会が割り当てられ、even(偶数サイクル)において、スターBからスターAへの通信機会が割り当てられるようになっている。
【0050】
以上の構成により、図8の例のサイクル#nにおいて、スターA側の異常通知カウンタTCの通信用time−slot(#3)において閾値H2超えが生じた場合には、次のサイクル#n+1において、スターAからスターBへの異常通知フラグFの送信がされる。
ここで、前記異常通知フラグFは、閾値TH2超えが生じた通信用time−slot(#3)について、「1」のbitを付加したビット列であり、本実施例では、8つの通信用time−slotが存在するため、8ビットで構成される。そして、スターB側の異常通知カウンタTCにおいては、「1」のbitが付された通信用time−slot(#3)について、閾値TH2が加算される(「26」+「30」→「56」)。
【0051】
また、以上のように、実際の異常通知カウンタTCのカウンタ値(「30」)を送信するのではなく、異常通知フラグFにて閾値TH2超えを通知する形態とすることによれば、少数のビット数の使用により、必要な情報の交換を実施することができ、また、関連する通信用time−slotをビット列の位置で特定できるものとなる。
【0052】
また、以上の構成によれば、スターA/B間(中継ノードRA/RB間(対向スター通信機能部HA・HB間))の通信を、TDMA通信スケジュールの異常通知用time−slotにインバンドさせる形態で実現することができ、この異常通知カウンタTCのカウンタ値に関する情報交換について別の信号線を確保する必要もなく、シンプルなハードウェア構成を実現することができる。
【0053】
また、以上に述べた各閾値TH1・TH2・TH3の設定値については、上記の設定例に限定されるものではなく、適宜、信頼性を確保する上で適切な値が設定される。尚、前述のごとく、閾値TH2・TH3については、0<TH2<TH3の関係とする必要がある。
【0054】
また、ノードの切り離し後におけるTDMA通信の確保に関し、TDMA通信スケジュールの同期用のシンクロフレームの生成機能をノード側に設ける構成とする他、中継ノード側に実装してノードの切り離し後の通信を確保する形態としてもよく、このように中継ノード側に実装することによれば、より高レベルなフェールセーフを実現できることとなる。
【0055】
次に、以上に述べた処理について、図9及び図10に示すフローチャートを用いて説明する。
まず、異常検出カウンタDCのカウンタ値に基づく閉塞処理に関し、図9に示すごとく、スターコントローラは、異常検出カウンタDCのカウンタ値を累積し(ステップS31)、異常検出カウンタDCのカウンタ値が閾値TH1を超えた場合には(ステップS32)、閾値TH1を超えたノードについて閉塞処理を実行する(ステップS33)。ここでの閉塞処理は、前述のごとく、受信ノードでのエラーの誤検出を推定するものである。
【0056】
また、異常通知カウンタTCのカウンタ値に基づく閉塞処理に関し、図9に示すごとく、スターコントローラは、自配下ノードの異常通知カウンタTCにつき(ステップS34)、異常通知カウンタTCのカウンタ値を累積し(ステップS35)、異常通知カウンタTCのカウンタ値が閾値TH3を超えた場合には(ステップS36)、対応する通信用time−slotにおいて送信ノードとされているノードについて閉塞処理を実行する(ステップS37)。ここでの閉塞処理は、前述のごとく、送信ノードから送信されるデータは正常でないものと推定するものである。
【0057】
また、異常通知カウンタTCのカウンタ値に基づく異常通知フラグF(図8参照)のスターA/B間での通信に関し、図9に示すごとく、スターコントローラは、他のスターの配下にあるノードが送信ノードとなっている通信用time−slotの異常通知カウンタTCについて(ステップS34)、異常通知カウンタTCのカウンタ値を累積し(ステップS38)、異常通知カウンタTCのカウンタ値が閾値TH2を超えた場合には(ステップS39)、異常通知フラグFにおいて該当する通信用time−slotについて「1」のbitを立て(ステップS40)、異常通知フラグFを対向スターへと送信する(ステップS41)。また、この異常通知フラグFの送信後は、「1」のbit立てを行った通信用time−slotのカウンタ値について、前記閾値TH2を差し引くカウンタ補正を実施する(ステップS42)(図8に示すTH2減算カウンタ補正参照)。これは、スターA・Bにおいて異常通知カウンタTCの同期を図る、つまり、カウンタ値を重複させない(エラー回数のカウントを重複させない)ことを意図するものである。また、異常通知フラグFについてもリセットを実施し、時回の通知に備えることとする(ステップS43)。
【0058】
また、異常通知カウンタTCのカウンタ値に基づく閉塞処理に関し、図10に示すごとく、異常通知フラグFを受取った側のスターにおいては、異常通知フラグFにおいて「1」のbit立てがされている通信用time−slotについて(ステップS51)、閾値H2を加算し(ステップS52)、加算後のカウンタ値が閾値TH3よりも大きい場合には(ステップS53)、対応する通信用time−slotにおいて送信ノードとされているノードについて閉塞処理を実行する(ステップS54)。
【0059】
以上が本実施例の通信システムの構成であり、図1乃至図8に示すごとく、
複数のノード#A−1〜#A−4と、
前記複数の各ノード#A−1〜#A−4と1対1で接続され、前記各ノード#A−1〜#A−4を終端するとともに、内部の通信データバス10Aを介して前記各ノード#A−1〜#A−4間での通信を実現する中継ノードRAが在り、
前記各ノード#A−1〜#A−4間における前記中継ノードRAを介したデータ通信が、
TDMA通信方式にて行われるネットワークの通信システムであって、
TDMA通信スケジュールの各サイクルには、
データ通信を行うための複数の通信用time−slot(slot#0〜slot#7)と、
異常通知用time−slot(slot#8)が割り当てられ、
前記各通信用time−slotのタイミングでは、
或る送信ノードからの送信データが前記中継ノードRAを介して送信され、
前記異常通知用time−slotのタイミングでは、
前記各ノード#A−1〜#A−4にて行われる受信データのエラーチェックの結果データKDが、前記各ノード#A−1〜#A−4から前記中継ノードRAにそれぞれ送信されるものとし、
前記中継ノードRAは、受信した前記結果データKDに基づいて、
特定の或るノード#A−1〜#A−4を、前記通信データバス10Aから切り離すものである。
【0060】
また、前記各ノード#A−1〜#A−4には、
前記各通信用time−slotで受信する受信データのエラーチェックを行う機能と、
前記異常通知用time−slotのタイミングに、前記エラーチェックの結果データKDを前記中継ノードRAに送信する機能が設けられ、
前記中継ノードRAには、
前記通信データバス10Aと前記各ノード#A−1〜#A−4の間にそれぞれ設けられ、前記各ノード#A−1〜#A−4を前記通信データバス10Aから切り離す機能を有する閉塞処理機能部#C−1〜#C−4と、
前記各閉塞処理機能部#C−1〜#C−4と制御信号バス11Aを介して接続されるスターコントローラSAが設けられ、
前記スターコントローラSAは、
前記結果データKDに基づいて、或るノード(例えば、#A−1)についてのエラーが閾値を超えた場合には、
前記或るノード(#A−1)を、前記或るノード(#A−1)が接続される前記閉塞処理機能部(#C−1)によって、前記通信データバス10Aから切り離すこととするものである。
【0061】
また、前記結果データKDは、
前記各通信用time−slotにおける受信データについてのエラーの有無を、エラー有り「1」、エラー無し「0」として表現されるbit列であり、
前記スターコントローラSAには、
前記各ノード#A−1〜#A−4から受信する結果データKDの「1」の数を、各ノードについてカウントする異常検出カウンタDCが設けられ、
前記スターコントローラSAは、
前記異常検出カウンタDCの或るノード(例えば、#A−1)についての値が閾値TH1を超えた場合には、
前記ノード(#A−1)を、前記ノード(#A−1)が接続される前記閉塞処理機能部(#C−1)によって、前記通信データバス10Aから切り離すこととするものである。
【0062】
また、前記スターコントローラSAには、
前記各ノードから受信する結果データKDの「1」の数を、各通信用time−slotについてカウントする異常通知カウンタTCが設けられ、
前記スターコントローラSAは、
前記異常通知カウンタTCの或る通信用time−slotについての値が閾値TH3を超えた場合には、
前記或る通信用time−slotにおいて送信ノードとされているノード(例えば、#A−1)を、
当該ノード(#A−1)が接続される前記閉塞処理機能部(#C−1)によって、前記通信データバス10Aから切り離すこととするものである。
【0063】
また、前記複数のノード#A−1〜#A−4/#B−1〜#B−4と、
前記中継ノードRA・RBから構成されるスターA・Bが複数あって、
前記各中継ノードRA・RB同士が通信接続されるネットワークの通信システムであって、
前記各スターA・Bの各中継ノードRA・RBには、
前記通信データバス10A・10Bと接続されるとともに、
他のスターA/Bの中継ノードRA/RBと接続される対向スター通信機能部HA/HBが設けられ、
或るスターAの中継ノードRAの前記スターコントローラSAにおいて、
前記異常通知カウンタTCの或る通信用time−slotのカウンタ値が閾値TH2を超えた場合であって、その或る通信用time−slotにおいて送信ノードとされているノード(#B−1)が、他のスターBの配下である場合には、
前記スターAの前記スターコントローラSAは、前記対向スター通信機能部HA・HBを介し、前記スターBの前記スターコントローラSBに対し、異常通知フラグを前記異常通知用time−slotのタイミングで通知し、
前記スターBの前記スターコントローラSBは、前記或る通信用time−slotについての異常通知カウンタTCのカウンタ値に、前記閾値TH2を加算し、
加算後の異常通知カウンタTCのカウンタ値が、前記閾値TH3を超えた場合には、
前記或る通信用time−slotにおいて送信ノードとされているノード(例えば、#B−1)を、
当該ノード(#B−1)が接続される前記閉塞処理機能部(#C−1)によって、前記通信データバス10Bから切り離すこととするものである。
【0064】
また、前記スターA・B間での異常通知用time−slotにおける異常通知フラグの送信は、
前記異常通知フラグの送信に関するTDMA通信スケジュールの各サイクルの異常通知用time−slotの利用が、
各スターについて順番に割り当てられることで、
或るスターから他のスター、他のスターから或るスターへの異常通知フラグの送信が、順次行われるようになっている。
【0065】
また、以上では、複数のスターA・Bについての適用について説明したが、以上の構成はスターが一つの構成についても適用可能であることはいうまでもない。尚、スターが一つで構成される場合には、前記閾値TH2及び対向スター通信機能部に関する仕様を省略することができる。
また、TDMA通信スケジュールに割り当ての例についてもあくまでも一例であり、上記の例に限定されるものではない。
【0066】
また、以上に述べた異常検出カウンタDC、及び、異常通知カウンタTCの二つのカウンタについて、それぞれ閾値を設けて異常検出を行う構成とすることによれば、異常検出カウンタDCについては、受信ノードについての異常の有無、異常通知カウンタTCについては、送信ノードについての異常の有無について診断することが可能となり、この診断結果を障害ノードの切り分けの際の指針の一つとして利用することができる。
【0067】
また、図6に示すごとく、異常検出カウンタDCについての水平方向のビット数カウント、異常通知カウンタTCについての垂直方向のビット数カウント、の両方によってエラー状況を診断することにより、各ノードにおける送信・受信データのエラーの検出が、自検出・他検出の両方で実施されることになり、より精度の高い(誤判断のない)閉塞処理の実施が可能となる。
【0068】
そして、以上の構成によれば、既存のTDMA通信プロトコルとハードウェアに新規な機能、仕様をインプリメントすることで、TDMA通信方式を用いた車載LAN通信のフェールセーフ機能を実現することができる。
【図面の簡単な説明】
【0069】
【図1】実施例に係るネットワーク構成について示す図。
【図2】中継ノード内の構成について示す図。
【図3】TDMA通信スケジュールのTime−slotの割り当てについて示す図。
【図4】異常通知用time−slotにおいて実施される通信内容について示す図。
【図5】異常通知用time−slotにおけるTime−slotの割り当てについて示す図。
【図6】異常検出カウンタDC、異常通知カウンタTCのカウントの概念について示す図。
【図7】異常検出カウンタDCの経時的な変化について示す図。
【図8】異常通知カウンタTCの経時的な変化について示す図。
【図9】自配下ノードの閉塞処理、及び、異常通知フラグの通知のフローについて示す図。
【図10】異常通知フラグに基づく自配下ノードの閉塞処理について示す図。
【符号の説明】
【0070】
A スター
RA 中継ノード
#A−1 ノード
10A 通信データバス
11A 制御信号バス
#C−1 閉塞処理機能部
SA スターコントローラ
HA 対向スター通信機能部

【特許請求の範囲】
【請求項1】
複数のノードと、
前記複数の各ノードと1対1で接続され、前記各ノードを終端するとともに、内部の通信データバスを介して前記各ノード間での通信を実現する中継ノードが在り、
前記各ノード間における前記中継ノードを介したデータ通信が、TDMA通信方式にて行われるネットワークの通信システムであって、
TDMA通信スケジュールの各サイクルには、
データ通信を行うための複数の通信用time−slotと、
異常通知用time−slotが割り当てられ、
前記各通信用time−slotのタイミングでは、
或る送信ノードからの送信データが前記中継ノードを介して送信され、
前記異常通知用time−slotのタイミングでは、
前記各ノードにて行われる受信データのエラーチェックの結果データが、前記各ノードから前記中継ノードにそれぞれ送信されるものとし、
前記中継ノードは、受信した前記結果データに基づいて、
特定の或るノードを、前記通信データバスから切り離すものとする、通信システム。
【請求項2】
前記各ノードには、
前記各通信用time−slotで受信する受信データのエラーチェックを行う機能と、
前記異常通知用time−slotのタイミングに、前記エラーチェックの結果データを前記中継ノードに送信する機能が設けられ、
前記中継ノードには、
前記通信データバスと前記各ノードの間にそれぞれ設けられ、前記各ノードを前記通信データバスから切り離す機能を有する閉塞処理機能部と、
前記各閉塞処理機能部と制御信号バスを介して接続されるスターコントローラが設けられ、
前記スターコントローラは、
前記結果データに基づいて、或るノードについてのエラーが閾値を超えた場合には、
前記或るノードを、前記或るノードが接続される前記閉塞処理機能部によって、前記通信データバスから切り離すこととする、
ことを特徴とする、請求項1に記載の通信システム。
【請求項3】
前記結果データは、
前記各通信用time−slotにおける受信データについてのエラーの有無を、エラー有り「1」、エラー無し「0」として表現されるbit列であり、
前記スターコントローラには、
前記各ノードから受信する結果データの「1」の数を、各ノードについてカウントする異常検出カウンタが設けられ、
前記スターコントローラは、
前記異常検出カウンタの或るノードについての値が閾値TH1を超えた場合には、
前記ノードを、前記ノードが接続される前記閉塞処理機能部によって、前記通信データバスから切り離すこととする、
ことを特徴とする、請求項2に記載の通信システム。
【請求項4】
前記スターコントローラには、
前記各ノードから受信する結果データの「1」の数を、各通信用time−slotについてカウントする異常通知カウンタが設けられ、
前記スターコントローラは、
前記異常通知カウンタの或る通信用time−slotについての値が閾値TH3を超えた場合には、
前記或る通信用time−slotにおいて送信ノードとされているノードを、
当該ノードが接続される前記閉塞処理機能部によって、前記通信データバスから切り離すこととする、
ことを特徴とする、請求項3に記載の通信システム。
【請求項5】
前記複数のノードと、
前記中継ノードから構成されるスターが複数あって、
前記各中継ノード同士が通信接続されるネットワークの通信システムであって、
前記各スターの各中継ノードには、
前記通信データバスと接続されるとともに、
他のスターの中継ノードと接続される対向スター通信機能部が設けられ、
或るスターの中継ノードの前記スターコントローラにおいて、
前記異常通知カウンタの或る通信用time−slotのカウンタ値が閾値TH2を超えた場合であって、その或る通信用time−slotにおいて送信ノードとされているノードが、他のスターの配下である場合には、
前記スターの前記スターコントローラは、前記対向スター通信機能部を介し、前記スターの前記スターコントローラに対し、異常通知フラグを前記異常通知用time−slotのタイミングで通知し、
前記スターの前記スターコントローラは、前記或る通信用time−slotについての異常通知カウンタのカウンタ値に、前記閾値TH2を加算し、
加算後の異常通知カウンタのカウンタ値が、前記閾値TH3を超えた場合には、
前記或る通信用time−slotにおいて送信ノードとされているノードを、
当該ノードが接続される前記閉塞処理機能部によって、前記通信データバスから切り離すこととする、
ことを特徴とする、請求項4に記載の通信システム。
【請求項6】
前記スター間での異常通知用time−slotにおける異常通知フラグの送信は、
前記異常通知フラグの送信に関するTDMA通信スケジュールの各サイクルの異常通知用time−slotの利用が、
各スターについて順番に割り当てられることで、
或るスターから他のスター、他のスターから或るスターへの異常通知フラグの送信が、順次行われるようにする、
ことを特徴とする、請求項5に記載の通信システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2007−158534(P2007−158534A)
【公開日】平成19年6月21日(2007.6.21)
【国際特許分類】
【出願番号】特願2005−348205(P2005−348205)
【出願日】平成17年12月1日(2005.12.1)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】