(57)【要約】【課題】タイム・トリガ型の通信システムにおいて、ノード単体の故障が原因で、システム全体で、通信を行うことができなくなるのを防止する。【解決手段】本発明が適用された通信システムには、コールドスタートノードとして機能し、他ノードに先駆け、自己で決定したタイミング及び周期でスタートアップフレームを送出して、通信サイクルを決定するＥＣＵと、非コールドスタートノードとして機能し、上記ＥＣＵが周期的に送出するフレームにて規定される通信サイクルに合わせて、自己の時間枠に対応する時間に、送信対象のフレームを送信するＥＣＵと、が設けられている。後者のＥＣＵは、前者のＥＣＵの故障等を原因として、前者のＥＣＵからスタートアップフレームを、起動後予め定められた時間内に、受信できなかった場合（Ｓ３７０でＹｅｓ）、自装置をコールドスタートノードとして機能させ、正常動作しない前者のＥＣＵに代わって通信サイクルを決定する。【選択図】図６
2008103922.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードが共通するデータ伝送路に接続されてなる時分割多重通信方式の通信システムであって、
前記各ノードは、予め決定された通信サイクルに合わせて、周期的に到来する通信可能期間における細分化された時間枠の一つであって、自装置に対して予め割り当てられた時間枠に対応する時間に、送信対象のデータを前記データ伝送路に送出し、前記データ伝送路に接続された他ノードにデータを送信する構成にされ、
前記複数のノードの内、特定種のノードは、基点及び周期を定めて前記通信サイクルを決定する決定手段を有し、前記決定手段により決定された通信サイクルに合わせて、自装置に対して予め割り当てられた時間枠に対応する時間に、送信対象のデータを前記データ伝送路に送出する構成にされ、
前記特定種のノード以外のノードの内、少なくとも一以上のノードは、
前記通信サイクルが決定された場合、前記決定された前記通信サイクルに合わせて、前記予め割り当てられた時間枠に対応する時間に、送信対象のデータを前記データ伝送路に送出し、前記データ伝送路に接続された他ノードにデータを送信する通信制御手段と、
基点及び周期を定めて前記通信サイクルを決定する決定手段と、
自装置の起動後、所定時間内は、自装置の前記決定手段の作動を禁止し、前記所定時間継続して、他ノードにより前記通信サイクルが決定されなかった場合には、自装置の前記決定手段を作動させる作動制御手段と、
を備える両性ノードとして構成されていること
を特徴とする通信システム。
【請求項２】
前記両性ノード及び前記特定種のノードが有する各決定手段は、
通信サイクル決定用のデータを、前記データ伝送路に送出すると共に、当該動作も含めて複数回、周期的に前記通信サイクル決定用のデータを前記データ伝送路に送出する送出手段と、
前記データ伝送路を通じて他ノードから前記通信サイクル決定用のデータを受信すると、前記データの受信タイミング及び受信周期にて定まる通信サイクルに合わせて、自装置に予め割り当てられた時間枠に対応する時間に、前記通信サイクル決定用のデータに対する応答データを、前記データ伝送路に送出する応答手段と、
を備え、
前記通信サイクルが未決定の環境下において、自装置が前記通信サイクル決定用のデータを他ノードから受信していない場合、自装置の前記送出手段を作動させ、この動作を契機として、前記他のノードから送信されてくる応答データを受信した時点で、前記送出手段により送出された前記通信サイクル決定用のデータの送信タイミング及び送信周期で定まる通信サイクルを、以後の通信に用いる通信サイクルに決定する構成にされていること
を特徴とする請求項１記載の通信システム。
【請求項３】
前記両性ノードは、前記データ伝送路に複数接続されており、
前記各両性ノードに対しては、前記決定手段の作動を禁止する時間としての前記所定時間が、前記各両性ノードの前記決定手段が所定個数以上同時動作しないように、個別に設定されていること
を特徴とする請求項１又は請求項２記載の通信システム。
【請求項４】
前記各両性ノードは、
自装置の起動後からの経過時間を計測する計測手段と、
前記計測手段の計測結果に基づき、自装置の起動後、自装置が最初に前記データ伝送路からデータを受信するまでの時間を、記録する時間記録手段と、
前記時間記録手段により記録された時間に、予め定められた固有値を加算して得られた時間を、前記決定手段の作動を禁止する時間として設定する設定手段と、
を備え、
前記各両性ノードの作動制御手段は、自装置の前記計測手段が計測する経過時間に基づき、自装置の起動後、前記所定時間として、自装置の前記設定手段により設定された時間、自装置の前記決定手段の作動を禁止する構成にされ、
前記各両性ノードに対しては、同一の固有値を採る両性ノードが所定個数未満となるように、個別に前記固有値が設定されていること
を特徴とする請求項１又は請求項２記載の通信システム。
【請求項５】
複数のノードが共通するデータ伝送路に接続されてなる時分割多重通信方式の通信システムであって、
前記各ノードは、予め決定された通信サイクルに合わせて、周期的に到来する通信可能期間における細分化された時間枠の一つであって、自装置に対して予め割り当てられた時間枠に対応する時間に、送信対象のデータを前記データ伝送路に送出して、前記データ伝送路に接続された他ノードにデータを送信し、
前記複数のノードの内、特定種のノードは、基点及び周期を定めて前記通信サイクルを決定する決定手段を有し、前記決定手段により決定された通信サイクルに合わせて、自装置に対して予め割り当てられた時間枠に対応する時間に、送信対象のデータを前記データ伝送路に送出する
通信システムの前記データ伝送路に接続される通信装置であって、
前記通信サイクルが決定された場合、前記決定された前記通信サイクルに合わせて、自装置に対して予め割り当てられた時間枠に対応する時間に、送信対象のデータを前記データ伝送路に送出し、前記データ伝送路に接続された他ノードにデータを送信する通信制御手段と、
基点及び周期を定めて前記通信サイクルを決定する決定手段と、
自装置の起動後、所定時間内は、自装置の前記決定手段の作動を禁止し、前記所定時間継続して、他ノードにより前記通信サイクルが決定されなかった場合には、自装置の前記決定手段を作動させ、自装置を、前記特定種のノードとして機能させる作動制御手段と、
を備えることを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時分割多重通信方式の通信システムであって、各ノードが、個別の時間帯に、データ伝送路にデータを送出して、衝突を回避するタイム・トリガ型の通信システム、及び、この通信システムに用いられる通信装置に関する。
【背景技術】
【０００２】
従来、時分割多重通信方式の通信システムとしては、イベント・トリガ型の通信システム、及び、タイム・トリガ型の通信システムが知られている。
イベント・トリガ型の通信システムは、各ノードが、事象の発生に同期して通信要求を発し、送信権を獲得することができた場合に限って、データ伝送路に、送信対象のデータを送出し、各ノード間でデータの送受を行うものである。
【０００３】
一方、タイム・トリガ型の通信システムは、各ノードに対し時間枠を個別に設定して、各ノードが、他のノードとは重複しない個別の時間帯に、データ伝送路にデータを送出するようにしたシステムである。このタイム・トリガ型の通信システムでは、各ノードが、周期的に到来する自装置に割り当てられた時間枠に対応する時間に限って、データ伝送路に、送信対象のデータを送出する。尚、タイム・トリガ型の通信プロトコルとしては、ＦｌｅｘＲａｙ（登録商標）プロトコルが知られている（例えば、非特許文献１参照）。
【非特許文献１】”フレックスレイ通信システムプロトコル仕様書バージョン２．１改定版Ａ（FlexRay communications System Protocol Specification Version 2.1 Revision A）”、[online]、フレックスレイコンソーシアム（FlexRay Consortium）、［平成１８年９月２９日検索］、インターネット＜ＵＲＬ：http://www.flexray.com/specification#request#v21.php＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、タイム・トリガ型の通信システムでは、各ノードが、共通する時間軸で動作し、予め定められた通信サイクルに合わせて、自装置に割り当てられた時間枠に対応する時間に、データを送出する必要がある。このため、タイム・トリガ型の通信プロトコルには、これを実現するための手続きが定義されている。
【０００５】
例えば、ＦｌｅｘＲａｙ（登録商標）プロトコルにおいては、通信システムを構成するノードとして、コールドスタートノードと、非コールドスタートノードと、が定義されており、当該プロトコルにて実現される通信システムにおいては、コールドスタートノードが、通信サイクルの基点及び周期を定めて、通信サイクルを一意に決定する。
【０００６】
具体的に、コールドスタートノードは、任意の時点で、スタートアップフレームをデータ伝送路に送出すると共に、当該フレームを含めて複数のスタートアップフレームを、自装置のクロックに基づき、所定周期で、順にデータ伝送路に送出する。この動作により、コールドスタートノードは、自装置におけるデータ送出タイミング（上記時間枠）及び周期を、実時間軸上に定める。各ノードの時間枠は、他ノードの時間枠と一定の対応関係を有するため、このコールドスタートノードの動作により、通信サイクルは、一意に決定される。
【０００７】
尚、通信サイクルは、先にスタートアップフレームを送信したコールドスタートノード（以下、「リーディングコールドスタートノード」という。）に対して、他のコールドスタートノード（以下、「フォロイングコールドスタートノード」という。）が、応答フレームを送信することにより、最終的に決定される。
【０００８】
具体的に、フォロイングコールドスタートノードは、リーディングコールドスタートノードから送信されてきたスタートアップフレームの受信タイミング及び受信周期にて定まる通信サイクルに合わせて、自装置に割り当てられた時間枠に対応する時間に、応答フレームを送出する。即ち、フォロイングコールドスタートノードは、リーディングコールドスタートノードに同期して動作し、自装置に割り当てられた時間枠に対応する時間に、応答フレームを送出するのである。
【０００９】
これにより、コールドスタートノード間では、リーディングコールドスタートノードにて定められた通信サイクルに基づいて、通信が行われる。また、非コールドスタートノードは、上記手法にて決定された通信サイクルに合わせて、データ送出動作を行うことにより、先に通信を開始しているコールドスタートノードのネットワークに参加する。
【００１０】
尚、各コールドスタートノードは、自身からのスタートアップフレームの送出前に、スタートアップフレームを受信した場合、フォロイングコールドスタートノードとして機能し、それ以外の場合には、リーディングコールドスタートノードとして機能する。このため、通信システムにおいては、最低二つのコールドスタートノードを配置することで、上述したタイム・トリガ方式の通信を行うことができる。
【００１１】
但し、通信システムに、二つしかコールドスタートノードが配置されていない環境下では、コールドスタートノードが一つでも故障して正常に動作しなくなると、通信サイクルの決定手続きを正常に行えず、システム全体が正常に機能しなくなる。従って、通信システムには、三以上のコールドスタートノードを設けるのが好ましい。
【００１２】
しかしながら、コールドスタートノードを四以上設けると、リーディングコールドスタートノード及びフォロイングコールドスタートノードの組が、二組以上発生する可能性がある。この場合には、各組で個別にクロック同期が行われて、各組で異なる通信サイクルが決定され、システム全体が不安定になる。各組で異なる通信サイクルが決定される現象は、クリークと呼ばれ、このようなクリークが発生すると、システム内で複数のクラスタ（小ネットワーク）が生成されるため、クラスタ間ではクロック同期をとることができなくなり、全体として正常な通信を行うことができなくなるのである。
【００１３】
即ち、従来技術では、複数のコールドスタートノードが故障する可能性を考慮して、通信システム内に、多数のコールドスタートノードを配置することができないといった問題があった。
【００１４】
本発明は、こうした問題に鑑みなされたものであり、上述したタイム・トリガ型の通信システムにおいて、通信サイクルを決定する特定種のノードが正常動作しなくなった場合でも、他ノード間では正常に通信を行うことが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【００１５】
かかる目的を達成するためになされた本発明は、複数のノードが共通するデータ伝送路に接続されてなる時分割多重通信方式の通信システム、及び、当該データ伝送路に接続される通信装置に関するものである。
【００１６】
具体的に、本発明（請求項１記載）の通信システムは、各ノードが、予め決定された通信サイクルに合わせて、自装置に対して予め割り当てられた時間枠に対応する時間に、送信対象のデータを、データ伝送路に送出し、データ伝送路に接続された他ノードに、データを送信する構成にされたものである。尚、各ノードに割り当てられる時間枠は、周期的に到来する通信可能期間における細分化された時間枠の一つであり、各ノードに対しては、異なる時間枠が割り当てられる。
【００１７】
この通信システムでは、複数のノードの内、特定種のノードが、基点及び周期を定めて、上記通信サイクルを決定する決定手段を有し、上記特定種のノードは、この決定手段にて決定された通信サイクルに合わせて、自装置に対して予め割り当てられた時間枠に対応する時間に、送信対象のデータをデータ伝送路に送出する。
【００１８】
一方、この通信システムでは、上記特定種のノード以外のノードの内、少なくとも一以上のノードが、必要に応じて、上記特定種のノードとしても機能する両性ノードとして構成されている。
【００１９】
具体的に、両性ノードは、他ノード（又は自装置）により通信サイクルが決定された場合、決定された通信サイクルに合わせて、予め割り当てられた時間枠に対応する時間に、送信対象のデータをデータ伝送路に送出して、データ伝送路に接続された他ノードにデータを送信する動作を、通信制御手段にて実現する。
【００２０】
また、両性ノードは、特定種のノードと同様に、基点及び周期を定めて通信サイクルを決定する決定手段を有し、自装置の起動後、所定時間内に、他ノードにより通信サイクルが決定されない場合には、自装置にて、決定手段を作動させ、通信サイクルを決定する。
【００２１】
尚、この両性ノードの特徴は、自装置の起動後、所定時間内については、決定手段を作動させない点にある。即ち、本発明の通信システムにおける両性ノードは、自装置の起動後、所定時間内は、決定手段の作動を禁止し、所定時間継続して、他ノードにより通信サイクルが決定されなかった場合には、決定手段を作動させる動作を、作動制御手段にて実現する。
【００２２】
具体的に、上記所定時間としては、特定種のノードが正常動作している際に通信サイクルが決定されるまでの最大所要時間よりも長い時間、を設定することができる。
このような構成の両性ノード（請求項５記載の通信装置）が備えられた通信システム（請求項１）によれば、特定種のノードが故障して、通信サイクルが決定されない場合、両性ノードが、特定種のノードとしての機能を果し、通信サイクルを決定する。
【００２３】
従って、この通信システムによれば、上記特定種のノードが故障した場合であっても、両性ノードの機能により、通信システム内では、通信サイクルを決定して、通信を開始することができる。よって、この発明によれば、上述の時分割多重通信方式の通信システムにおいて、ノード単体の故障を原因として、システム全体の通信が不能になるのを抑制することができ、信頼性の高い通信システムを構築することができる。
【００２４】
尚、両性ノード及び特定種のノードが有する各決定手段は、作動すると、当該通信システムを構成する自装置以外の他ノードのデータ送信動作に先駆けて、所定データを、データ伝送路に送出すると共に、自装置のクロックに基づき、以後、周期的に送信対象のデータを、データ伝送路に送出することにより、当該伝送路上での通信サイクルを決定する構成にすることができる。この場合、他のノードは、上記決定手段により送出されたデータの受信タイミングを、当該データを送信したノードの時間枠の到来タイミングとして認識し、上記決定手段により送出されたデータの周期を、当該データを送信したノードの時間枠の到来周期であると認識することにより、上記両性ノード又は特定種のノードにより決定された通信サイクルを認識することができる。
【００２５】
また、決定手段は、ＦｌｅｘＲａｙ（登録商標）プロトコルに準じて、次のように構成されてもよい。即ち、決定手段は、通信サイクル決定用のデータを、データ伝送路に送出すると共に、当該動作も含めて複数回、周期的に上記通信サイクル決定用のデータをデータ伝送路に送出する送出手段と、データ伝送路を通じて他ノードから上記通信サイクル決定用のデータを受信すると、当該データの受信タイミング及び受信周期にて定まる通信サイクルに合わせて、自装置に予め割り当てられた時間枠に対応する時間に、通信サイクル決定用のデータに対する応答データを、データ伝送路に送出する応答手段と、を備え、通信サイクルが未決定の環境下において、自装置が通信サイクル決定用のデータを他ノードから受信していない場合、自装置の送出手段を作動させ、この動作を契機として、他のノードから送信されてくる応答データを受信した時点で、送出手段により送出された通信サイクル決定用のデータの送信タイミング及び送信周期で定まる通信サイクルを、以後の通信に用いる通信サイクルに決定する構成にされてもよい（請求項２）。
【００２６】
ところで、両性ノードが、データ伝送路に複数接続された通信システムにおいては、決定手段の作動を禁止する時間について、無条件に、これを定めると、各両性ノードの決定手段が多数同時動作する可能性がある。そして、各両性ノードの決定手段が、多数同時に動作すると、当該通信システムにおいては、多数の両性ノードが個別に通信サイクルを決定することになり、通信サイクルが多重に定められて、クラスタが複数発生し、通信システム全体が不安定になる可能性がある。
【００２７】
このため、両性ノードがデータ伝送路に複数接続される通信システムの場合には、各両性ノードの決定手段が、所定個数以上同時動作しないように、各両性ノードに対して、決定手段の作動を禁止する時間を、個別に設定するとよい（請求項３）。
【００２８】
このように各両性ノードに対し、決定手段の作動を禁止する時間を個別に定めると、両性ノードが所定個数以上同時に、通信サイクルの決定動作に移らないように、通信システムを構成することができる。従って、この発明（請求項３）によれば、通信サイクルが多重に定められて、通信システム全体が不安定になるのを防止することができる。
【００２９】
尚、ＦｌｅｘＲａｙ（登録商標）プロトコルの通信システムに、本発明を適用する場合には、各両性ノードの決定手段が、３個以上同時動作しないように、決定手段の作動を禁止する時間を設定すればよい。
【００３０】
また、決定手段の作動を禁止する時間については、予め実験により最適値を求めて、これを各ノードのＲＯＭ等に記録し、各ノードに対して、設計段階で、上記決定手段の作動を禁止する時間を定めるようにすればよい。
【００３１】
但し、各ノードの起動時間が夫々異なる場合には、各ノードに対し同時に電源を投入しても、起動後の経過時間についての計測開始点を、複数のノード間で揃えることができない。即ち、各ノードに対し、設計段階で、上記決定手段の作動を禁止する時間を定める場合には、各ノードにおける起動時間も考慮して、上記決定手段の作動を禁止する時間を、ノード毎に定めなければならず、その作業が煩雑である。
【００３２】
従って、上記両性ノードは、次のように構成されるのが好ましい。即ち、各両性ノードは、自装置の起動後からの経過時間を計測する計測手段の計測結果に基づき、自装置の起動後、自装置が最初にデータ伝送路からデータを受信するまでの経過時間を、記録する時間記録手段を備える構成にされるのが好ましい。
【００３３】
そして、各両性ノードには、自装置の時間記録手段により記録された時間に、予め定められた固有値を加算して得られた時間を、自装置の決定手段の作動を禁止する時間として設定する設定手段を設け、各両性ノードは、自装置の前記計測手段が計測する経過時間に基づき、自装置の起動後、自装置の上記設定手段により設定された時間、自装置の上記決定手段の作動を禁止する構成にされるとよい。
【００３４】
そして、各両性ノードに対しては、同一の固有値を採る両性ノードが所定個数未満となるように、個別に固有値を設定されるとよい（請求項４）。尚、この固有値については、各ノードのＲＯＭ等に記録することで、各両性ノードに設定することができる。
【００３５】
各両性ノードの起動が、システム内のノードのいずれかからデータ伝送路に最初にデータが送出されるまでの期間に完了するように、当該通信システムが構成されている場合には、各両性ノードにて、最初にデータ伝送路からデータを受信する時点は、実時間軸上で一致する。従って、各両性ノードの起動時間が、夫々異なり、計測手段による計測開始点が、実時間軸上で、ノード毎に異なっていても、各ノードでの起動後、各ノードの時間記録手段が記録した時間が経過する時点は、各ノードにおいて、同一時刻である。
【００３６】
従って、このような通信システムにおいて、同一の固有値を採る両性ノードが所定個数未満となるように、各両性ノードに対して、固有値を設定すれば、各両性ノードにおける起動時間の相違を考慮せずに、両性ノードが所定個数以上同時に、通信サイクルの決定動作に移らないように、通信システムを構成することができる。
【００３７】
よって、この発明によれば、両性ノードが所定個数以上同時に、通信サイクルの決定動作に移らないように、簡単に、決定手段の作動を禁止する時間を設定することができる。
【発明を実施するための最良の形態】
【００３８】
以下、本発明の実施例について、図面と共に説明する。図１は、本発明が適用された通信システム１の構成を表すブロック図である。
図１に示すように、本実施例の通信システム１は、車両制御用の電子制御装置（以下、単に「ＥＣＵ」という。）１０が、共通するデータ伝送路ＬＮに複数接続されてなる通信システムである。この通信システム１では、物理的にデータ伝送路ＬＮが各ＥＣＵ１０間で共有されているため、時分割多重通信方式により、各ＥＣＵ１０間で通信を行う。具体的に、本実施例では、タイム・トリガ型の通信手順が規定された通信プロトコルが採用されており、当該通信システム１は、タイム・トリガ型の通信システムとして動作する。尚、上記通信プロトコルとしては、ＦｌｅｘＲａｙ（登録商標）プロトコルを挙げることができる。
【００３９】
詳述すると、本実施例の通信システム１は、マイクロコンピュータ１１と、通信コントローラ１３と、送受信回路１５と、を備える。マイクロコンピュータ１１は、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ１１ａ等を内蔵し、ＲＯＭに記録された各種プログラムを実行して、車両制御を行うと共に、車両制御の結果等、他ＥＣＵに送信すべきデータを、通信コントローラ１３及び送受信回路１５を通じて他ＥＣＵ１０に送信する。また、マイクロコンピュータ１１は、他ＥＣＵから送信されてきたデータに基づいて、車両制御等の各種処理を実行する。
【００４０】
一方、通信コントローラ１３は、上記通信プロトコルに従って、通信制御を行うものである。具体的に、この通信コントローラ１３は、マイクロコンピュータ１１から入力された送信対象のデータを、当該通信プロトコルに適合するフォーマットのフレームに変換し、このフレームを、予め定められた通信サイクルに合わせて、自装置に割り当てられた時間枠（スロット）に対応する時間に、データ伝送路ＬＮに送出する。
【００４１】
尚、当該通信システム１においては、上述したように、タイム・トリガ方式が採用されており、所定周期の通信サイクルにおいて、その周期に相当する期間の全部及び一部が通信可能期間として設定され、この通信可能期間が、複数の時間枠に細分化されている。図２は、細分化された時間枠と、各ＥＣＵ１０との対応関係を表す図である。
【００４２】
本実施例の通信システム１においては、各ＥＣＵ１０に対し、システム設計段階で、重複しない個別のフレームＩＤを割り当てている。一方、本実施例において、上記の各時間枠は、フレームＩＤと、一対一で対応する。
【００４３】
即ち、本実施例では、各ＥＣＵ１０に対し、システム設計段階で、重複しない個別のフレームＩＤを割り当てることにより、各ＥＣＵ１０に対して、重複しないように、時間枠を割り当てている。尚、このフレームＩＤは、ＥＥＰＲＯＭ１１ａに記録され、当該ＥＣＵ１０の起動時に、マイクロコンピュータ１１の動作により、通信コントローラ１３にセットされる。そして、通信コントローラ１３は、このフレームＩＤに対応する時間枠に、マイクロコンピュータ１１から入力された送信対象のデータを格納したフレームを、送受信回路１５を介して、データ伝送路ＬＮに送出する。
【００４４】
ところで、このような構成の通信システム１では、各ＥＣＵ１０が同期して動作する必要があるが、当該通信システム１では、各ＥＣＵ１０間での同期が取れておらず、データ伝送路ＬＮを通じて通信が行われていない場合、一のＥＣＵ１０が、自装置の内部クロックに基づき、周期的に、スタートアップフレーム（詳細後述）を複数回送信し、通信サイクルを定める。
【００４５】
即ち、スタートアップフレームの受信側ＥＣＵ１０は、スタートアップフレームの受信周期を、自装置の内部クロックに基づいて計測して、この計測時間を、通信サイクルの周期であると取り扱い、スタートアップフレームの受信時刻を、スタートアップフレームを送信したＥＣＵ１０に割り当てられた時間枠（スロット）に対応する時間であると取り扱う。
【００４６】
スタートアップフレームを含む当該通信プロトコルにて送受信されるフレームには、スロット番号と一対一に対応する上記フレームＩＤが付されており、このフレームＩＤに基づいて、受信側ＥＣＵ１０では、スタートアップフレームの受信時点が、どの時間枠に対応するのかを解釈することができる。また、スロット番号とフレームＩＤとには一定の対応関係があるため、受信側ＥＣＵ１０では、スタートアップフレームの受信時点を基準にし、このスタートアップフレームのフレームＩＤと、自装置に割り当てられたフレームＩＤとを比較することで、自装置の時間枠が、スタートアップフレームの受信時点を基準にして、自己の時間軸上で、どの時点にあるのかを把握することができる。
【００４７】
本実施例では、このような原理で、スタートアップフレームの受信側ＥＣＵ１０において、スタートアップフレームの送信側ＥＣＵ１０で定められた通信サイクルを認識し、この通信サイクルに合わせて、自装置の時間枠に対応する時間に、送信対象のデータを格納したフレームを、データ伝送路ＬＮに送出する。
【００４８】
尚、本実施例の通信システム１では、スタートアップフレームの送信権を有するＥＣＵ１０が、通信システム１を構成する複数のＥＣＵ１０の内、一部のＥＣＵ１０に限定されている。ここでは、スタートアップフレームの送信権を有するＥＣＵ１０を、特に、コールドスタートノードという。本実施例の通信システム１が、このように構成されているのは、コールドスタートノードが、多数同時に、システム内に存在すると、これらのコールドスタートノードにより、通信サイクルが多重に定められて、通信システム１内に、小ネットワーク（クラスタ）が多数形成されるためである。
【００４９】
具体的に、本実施例の通信システム１には、ＥＣＵ１０として、初期状態でコールドスタートノードとして機能するＥＣＵ１０ａと、初期状態では、コールドスタートノードとして機能しないが、故障等でＥＣＵ１０ａが機能しない場合に限って、コールドスタートノードに遷移するＥＣＵ１０ｂと、が設けられている。各ＥＣＵ１０ｂは、ＥＣＵ１０ａが正常に機能しない場合、異なるタイミングにて、コールドスタートノードに遷移する。
【００５０】
この点について、詳述すると、各ＥＣＵ１０が備える通信コントローラ１３は、通信モードとして、当該ＥＣＵ１０をコールドスタートノードとして機能させる通信モードＡと、当該ＥＣＵ１０を非コールドスタートノードとして機能させる通信モードＢと、を有し、起動時にマイクロコンピュータ１１からのモード設定を受けて、通信モードＡ及び通信モードＢのいずれか一方のモードで動作する。
【００５１】
本実施例の通信システム１において、デフォルトの通信モードとして、通信モードＡが指定されているのは、複数のＥＣＵ１０の内、二つのＥＣＵ１０ａに限られる。他のＥＣＵ１０ｂに対しては、デフォルトの通信モードとして通信モードＢが指定されており、この通信モードの指定値は、予めシステム設計段階で、各ＥＣＵ１０のＥＥＰＲＯＭ１１ａに記録されている。
【００５２】
マイクロコンピュータ１１は、内蔵のＥＥＰＲＯＭ１１ａに記録されたデフォルト通信モードの指定値に基づいて、当該指定値が、通信モードＡを示す場合には、起動時に、通信コントローラ１３を、通信モードＡで作動させ、当該指定値が、通信モードＢを示す場合には、通信コントローラ１３を、通信モードＢで作動させる。そして、通信コントローラ１３を、通信モードＢで作動させた場合には、必要に応じて、通信コントローラ１３を、通信モードＡで再始動させて、自装置を、コールドスタートノードに遷移させる。
【００５３】
通信コントローラ１３は、通信モードＡで作動すると、次の手順で通信を開始する。図３は、通信モードＡで作動された通信コントローラ１３が実行する処理を示したフローチャートである。
【００５４】
通信コントローラ１３は、通信モードＡで作動すると、まず、データ伝送路ＬＮを流れるフレームの受信を試みて、データ伝送路ＬＮにフレームが送出されているか否かを判断する（Ｓ１１０）。
【００５５】
そして、フレームが送出されていない場合には、スタートアップフレームを送信する処理を開始する（Ｓ１２０）。尚、スタートアップフレームは、フレーム内のヘッダに記述される所定のパラメータ（スタートアップインディケータ）が値「１」に設定されたものである。これに対し、非スタートアップフレームにおいては、当該パラメータが値「０」に設定される。
【００５６】
具体的に、Ｓ１２０に移行すると、当該通信コントローラ１３は、スタートアップフレームの送信タイミング及び送信周期を決定し、その決定内容に従って、自装置の内部クロックに基づき、スタートアップフレームを、周期的に、繰返しデータ伝送路ＬＮに送出する処理を開始する。この送信タイミングは、当該通信コントローラ１３の作動時期によって変動する非固定のタイミングであり、任意のタイミングである。
【００５７】
このようにして、スタートアップフレームを複数回送信すると、正常に他のコールドスタートノードが動作している場合には、図４に示すように、５回目以降のスタートアップフレームに対して、このスタートアップフレームの送信タイミング及び送信周期で定まる通信サイクルに合わせ、他のコールドスタートアップノードから、応答フレームが送信されてくる。
【００５８】
従って、通信コントローラ１３は、スタートアップフレームを周期的に送信しつつ、応答フレームの受信状況を把握し、このスタートアップフレームに対応する通信サイクルに合わせて、他のコールドスタートアップノードから、正常に、応答フレームが送信されてきたか否かを判断する（Ｓ１３０）。そして、正常に応答フレームが送信されてきたと判断すると（Ｓ１３０でＹｅｓ）、自装置から送信した上記スタートアップフレームの送信タイミング及び送信周期で定められる通信サイクルを、以後、通信システム１での通信に用いる通信サイクルに決定して、Ｓ１７０に移行する。
【００５９】
そして、Ｓ１７０で実行する通常通信処理では、マイクロコンピュータ１１から入力される送信対象のデータを受け付けて、これを当該システム１の規格に適合するフレームに変換し、上記決定した通信サイクルに合わせて、自装置に割り当てられた時間枠に対応する時間に、上記フレームを、データ伝送路ＬＮに送出する動作を行うと共に、他ＥＣＵ１０から受信した自装置宛のフレームに格納されたデータを、マイクロコンピュータ１１に入力する動作を行う。
【００６０】
但し、通信モードＡで動作する通信コントローラ１３は、この通常通信処理の際にも、送信フレームを、非スタートアップフレームではなく、スタートアップフレームとして継続的に送信する。このようにして通信コントローラ１３から継続的に送信されるスタートアップフレームは、他のＥＣＵ１０が同期をとるための同期フレームとして用いられる。
【００６１】
この他、通信コントローラ１３は、応答フレームを正常に受信することができなかった場合、Ｓ１３０において、応答フレームが正常に送信されてきていないと判断し（Ｓ１３０でＮｏ）、スタートアップフレームの送信動作を停止して、Ｓ１１０に移行する。
【００６２】
また、通信コントローラ１３は、自身がスタートアップフレームをデータ伝送路ＬＮに送出する前に、他ＥＣＵからのフレームを受信すると、データ伝送路ＬＮにフレームが送出されていると判断し（Ｓ１１０でＹｅｓ）、Ｓ１５０に移行する。
【００６３】
そして、Ｓ１５０に移行すると、通信コントローラ１３は、同期確立処理を行って、データ伝送路ＬＮを流れる他のコールドスタートノード（即ち、リーディングコールドスタートノード）から発せられたスタートアップフレームの受信時刻及び受信周期に基づき、この受信時刻及び受信周期から導出される通信サイクルに適合するように、自己からのデータ送信タイミング及び送信周期を決定する。即ち、通信コントローラ１３は、リーディングコールドスタートノードから発せられたスタートアップフレームに基づき、このコールドスタートノードと同期をとり、自装置の時間枠に対応する時間に、送信対象のデータを格納したフレームを、データ伝送路ＬＮに送出できるようにする。
【００６４】
また、この処理を終えると、通信コントローラ１３は、Ｓ１６０に移行し、上記リーディングコールドスタートノードから発せられたスタートアップフレームが示す通信サイクルに合わせて、自装置の時間枠に対応する時間に、このスタートアップフレームに対する応答フレームを、送受信回路１５を介して、データ伝送路ＬＮに送出し、上記スタートアップフレームを先に送信してきたリーディングコールドスタートノードに対して、応答フレームを送信する。尚、応答フレームは、スタートアップフレームとして、データ伝送路ＬＮに送出される。
【００６５】
また、このようにして、Ｓ１６０での処理を終えると、通信コントローラ１３は、Ｓ１７０に移行して、通常通信処理を開始する。尚、この通常通信処理では、マイクロコンピュータ１１から入力される送信対象のデータを受け付けて、これを当該システム１の規格に適合するフレームに変換し、Ｓ１５０で同期をとったリーディングコールドスタートノードの通信サイクルに合わせて、自装置に割り当てられた時間枠に対応する時間に、上記フレームを、データ伝送路ＬＮに送出する動作を行うと共に、他ＥＣＵ１０から受信した自装置宛のフレームに格納されたデータを、マイクロコンピュータ１１に入力する動作を行う。そして、通信コントローラ１３は、この通常通信処理（Ｓ１７０）を、電源がオフにされるまで、継続的に実行する。
【００６６】
一方、通信モードＢで作動すると、通信コントローラ１３は、内蔵する時間計測用のカウンタのカウント値ＣＴＲを、ゼロに初期化し（Ｓ２１０）、その後、カウンタを作動させて、時間計測を開始する（Ｓ２２０）。尚、図５は、通信モードＢで作動された通信コントローラ１３が実行する処理を示したフローチャートである。
【００６７】
Ｓ２２０での処理を終えると、通信コントローラ１３は、データ伝送路ＬＮを流れるフレームの受信を試みて、データ伝送路ＬＮからフレームを受信するまで待機し（Ｓ２３０）、データ伝送路ＬＮからフレームを受信すると（Ｓ２３０でＹｅｓ）、Ｓ２４０に移行する。
【００６８】
Ｓ２４０に移行すると、通信コントローラ１３は、データ伝送路ＬＮから最初に受信したフレームの受信時点でのカウント値ＣＴＲを、フレーム受信時刻ＴＲとして、レジスタに出力する。また、Ｓ２５０にて、同期確立処理を行い、データ伝送路ＬＮを流れるコールドスタートノードから発せられたスタートアップフレームの受信時刻及び受信周期に基づき、この受信時刻及び受信周期から導出される通信サイクルに適合するように、自己からのデータ送信タイミング及び送信周期を決定する。
【００６９】
即ち、通信コントローラ１３は、コールドスタートノードから発せられたスタートアップフレームに基づき、コールドスタートノードと同期をとり、自装置の時間枠に対応する時間に、送信対象のデータを格納したフレームを、データ伝送路ＬＮに送出できるようにする。尚、この際には、二つのコールドスタートノードの夫々から発せられたスタートアップフレームに基づき、同期をとる。
【００７０】
また、この処理を終えると、通信コントローラ１３は、Ｓ２６０に移行し、通常通信処理を開始する。即ち、Ｓ２６０では、マイクロコンピュータ１１から入力される送信対象のデータを受け付けて、これを当該システム１の規格に適合するフレームに変換し、Ｓ２５０で同期をとったコールドスタートノードの通信サイクルに合わせて、自装置に割り当てられた時間枠に対応する時間に、上記フレームを、データ伝送路ＬＮに送出する動作を行うと共に、他ＥＣＵ１０から受信した自装置宛のフレームに格納されたデータを、マイクロコンピュータ１１に入力する動作を行う。
【００７１】
但し、通信モードＢで作動した場合、通信コントローラ１３は、自装置から送出するフレームの全てを、非スタートアップフレームとして送出する。そして、通信コントローラ１３は、この通常通信処理（Ｓ２６０）を、電源がオフにされるまで、継続的に実行する。
【００７２】
続いて、通信コントローラ１３を作動させると共に、通信コントローラ１３の通信モードを切り替えるために、マイクロコンピュータ１１が実行する作動制御処理について、図６を用いて、説明する。この作動制御処理は、電源投入時に、マイクロコンピュータ１１により実行される。尚、図６は、マイクロコンピュータ１１が、自装置の電源投入時に実行する作動制御処理を表すフローチャートである。
【００７３】
作動制御処理を開始すると、マイクロコンピュータ１１は、まずＳ３１０にて、初期設定処理を実行する。この初期設定処理において、マイクロコンピュータ１１は、通信コントローラ１３を初期化し、動作パラメータ等を設定する。また、この処理を終えると、マイクロコンピュータ１１は、Ｓ３２０に移行し、ＥＥＰＲＯＭ１１ａに記録されたデフォルト通信モードの指定値を参照して、自装置に対し、デフォルトの通信モードとして、通信モードＡが指定されているか否かを判断する。そして、デフォルトの通信モードとして、通信モードＡが指定されていると判断すると（Ｓ３２０でＹｅｓ）、Ｓ３８０に移行し、通信コントローラ１３を、通信モードＡで作動させ、通信コントローラ１３に図３に示す処理を実行させる。その後、当該作動制御処理を終了する。
【００７４】
一方、Ｓ３２０において、自装置に対し、デフォルトの通信モードとして、通信モードＢが指定されていると判断すると（Ｓ３２０でＮｏ）、マイクロコンピュータ１１は、Ｓ３３０に移行し、通信コントローラ１３を、通信モードＢで作動させ、通信コントローラ１３に図５に示す処理を実行させる。
【００７５】
また、通信モードＢを作動させた後には、ＥＥＰＲＯＭ１１ａに記憶されたパラメータＴＲ＿ＰＲＥの値、及び、パラメータＲＮＤの値に基づいて、パラメータＮを、次の値に設定する（Ｓ３４０）。
【００７６】
Ｎ＝ＴＲ＿ＰＲＥ＋ＲＮＤ
尚、ここで用いるパラメータＴＲ＿ＰＲＥの値は、通信コントローラ１３の前回作動時に、通信コントローラ１３がフレーム受信時刻ＴＲとして出力した値であり、前回の作動制御処理実行時のＳ３６０で、ＥＥＰＲＯＭ１１ａに書き込まれるものである。但し、初回の作動制御処理実行時のために、ＥＥＰＲＯＭ１１ａには、パラメータＴＲ＿ＰＲＥのデフォルト値が、システム設計段階で定められ、記録されているものとする。
【００７７】
また、パラメータＲＮＤの値は、システム設計段階で、予め、通信システム１を構成する各ＥＣＵ１０に割り当てられた値である。本実施例において各ＥＣＵ１０には、パラメータＲＮＤの値として、夫々異なる値が設定されている。即ち、各ＥＣＵ１０に対しては、パラメータＲＮＤの値として、他のＥＣＵ１０とは重複しない値が設定され、予め、各ＥＣＵ１０のＥＥＰＲＯＭ１１ａに記録されている。
【００７８】
Ｓ３４０において、上記のように、パラメータＮの値を設定すると、マイクロコンピュータ１１は、Ｓ３５０に移行し、二つのコールドスタートノード間でスタートアップフレームの交換が行われて、自装置（通信コントローラ１３）が、通常通信処理の実行を開始している状態にあるか否かを判断する。そして、通常通信処理の実行を開始している状態にあると判断すると（Ｓ３５０でＹｅｓ）、Ｓ３６０に移行する。これに対し、通常通信処理の実行を開始していないと判断すると（Ｓ３５０でＮｏ）、Ｓ３７０に移行する。
【００７９】
Ｓ３６０に移行すると、マイクロコンピュータ１１は、通信コントローラ１３からフレーム受信時刻ＴＲとして出力された値を、内蔵のＥＥＰＲＯＭ１１ａに、パラメータＴＲ＿ＰＲＥの値として記録する。その後、当該作動制御処理を終了する。
【００８０】
一方、Ｓ３７０に移行すると、マイクロコンピュータは、通信コントローラ１３のカウント値ＣＴＲを参照し、カウント値ＣＴＲが、Ｓ３４０で設定された値Ｎより大きいか否かを判断し、カウント値ＣＴＲが値Ｎ以下であると判断すると（Ｓ３７０でＮｏ）、Ｓ３５０に移行し、カウント値ＣＴＲが値Ｎより大きいと判断すると（Ｓ３７０でＹｅｓ）、Ｓ３８０に移行する。
【００８１】
そして、Ｓ３７０でＹｅｓと判断した後のＳ３８０では、通信コントローラ１３を通信モードＡで再度作動させて、通信コントローラ１３の通信モードを、通信モードＢから通信モードＡに切り替える。このＳ３８０での処理により、通信コントローラ１３では、図５に示す処理に代えて、図３に示す処理が、Ｓ１１０から実行される。即ち、Ｓ３８０での処理により、マイクロコンピュータ１１は、自装置を、コールドスタートノードに遷移させる。その後、当該作動制御処理を終了する。
【００８２】
尚、本実施例において、通信コントローラ１３が、通信モードＢから通信モードＡに切り替わるタイミングは、カウント値ＣＴＲが値Ｎを超えた時点であるが、本実施例では、以下の条件を満足するように通信システム１を構成することで、上記タイミングが、各ＥＣＵ１０ｂ間でばらばらになるようにしている。
【００８３】
即ち、本実施例では、各ＥＣＵ１０に同時に電源が投入されるように、通信システム１を構成すると共に、スタートアップフレームの送信動作の実行時期を調整することにより、各ＥＣＵ１０ｂにて通信コントローラ１３が通信モードＢで作動される時点よりも、後に、ＥＣＵ１０ａにてスタートアップフレームの送信動作が行われるように、通信システム１を構成している。
【００８４】
このように各ＥＣＵ１０が動作する通信システム１では、各ＥＣＵ１０ｂにおいて記録されるパラメータＴＲ＿ＰＲＥの値が、各ＥＣＵ１０ｂ間で同時に受信された、コールドスタートノードにより最初にデータ伝送路ＬＮに送出されたスタートアップフレームの受信時刻に対応する値となる。
【００８５】
本実施例では、このスタートアップフレームの受信時刻を基点として、この受信時刻に対応するパラメータＴＲ＿ＰＲＥの値にパラメータＲＮＤの値を加算し、通信モードの切替タイミングを規定することで、各ＥＣＵ１０ｂにおいてカウンタの作動時期が異なっていても、各ＥＣＵ１０ｂが、重複せずに、確実に異なる時点で、通信モードＡに切り替わるようにしている。
【００８６】
従って、本実施例によれば、なんらかの原因により、ＥＣＵ１０ａが作動しなかった場合、順に、ＥＣＵ１０ｂを、コールドスタートノードとして機能させることができる。
以上、本実施例の通信システム１について説明したが、この通信システム１によれば、デフォルトで非コールドスタートノードに設定された各ＥＣＵ１０ｂが、予め定められたパラメータＮの値に対応する時間内に、自装置の通信コントローラ１３にて通常通信処理が開始されない場合、コールドスタートノードにより当該通信システム１での通信サイクルが決定されていないと判断し、自装置を、コールドスタートノードとして機能させる。従って、本実施例によれば、デフォルトでコールドスタートノードとして設定されたＥＣＵ１０ａが、何らかの原因により正常に動作しないことにより、システム内で正常に通信が開始されなくなるのを防止することができる。
【００８７】
即ち、本実施例によれば、ＥＣＵ１０ａが故障しても、ＥＣＵ１０ｂが非コールドスタートノードからコールドスタートノードに遷移して、ＥＣＵ１０ａに代わって、スタートアップフレームを送信し各ノード間での通信開始に必要な通信サイクルを決定するので、ＥＣＵ１０ａ単体の故障を原因として、システム全体の通信が不能になるのを防止することができ、信頼性の高い通信システム１を構築することができる。
【００８８】
特に、本実施例では、ＥＣＵ１０ｂが同時にコールドスタートノードに遷移することにより、通信サイクルが多重に定められて、クラスタが複数発生し、通信システム１全体が不安定になるのを防止するために、各ＥＣＵ１０ｂにて、個別に、パラメータＮの値を設定し、ＥＣＵ１０ｂが複数個同時にコールドスタートノードに遷移しないようにした。従って、本実施例の通信システム１によれば、ＥＣＵ１０ａが故障しても、非コールドスタートノードが多数同時にコールドスタートノードに遷移することにより、通信システム１全体が不安定になるのを防止することができる。
【００８９】
尚、本発明の特定種のノードは、本実施例において、ＥＣＵ１０ａに相当し、両性ノードは、ＥＣＵ１０ｂに相当する。また、決定手段は、Ｓ１１０〜Ｓ１６０の処理にて実現され、通信制御手段は、Ｓ１７０，Ｓ２６０の処理にて実現されている。また、送出手段は、Ｓ１２０の処理にて実現され、応答手段は、Ｓ１５０〜Ｓ１６０の処理にて実現されている。また、作動制御手段は、Ｓ３５０，Ｓ３７０，Ｓ３８０の処理にて実現され、計測手段は、カウンタと、Ｓ２１０〜Ｓ２２０の処理とにより実現され、時間記録手段は、Ｓ２４０，Ｓ３６０の処理にて実現されている。その他、設定手段は、Ｓ３４０の処理にて実現されている。
【００９０】
また、本発明の通信システム及び通信装置は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、上記実施例では、車内ネットワークに、本発明を適用した例を説明したが、本発明は、その他の種々のネットワークに対して適用することができる。
【図面の簡単な説明】
【００９１】
【図１】通信システム１の構成を表すブロック図である。
【図２】時間スロットの割り当て方法に関する説明図である。
【図３】通信コントローラ１３が実行する処理を示したフローチャートである。
【図４】コールドスタートノード間での通信の態様を示したタイムチャートである。
【図５】通信コントローラ１３が実行する処理を示したフローチャートである。
【図６】マイクロコンピュータ１１が実行する作動制御処理を表すフローチャートである。
【符号の説明】
【００９２】
１…通信システム、１０…ＥＣＵ、１１…マイクロコンピュータ、１１ａ…ＥＥＰＲＯＭ、１３…通信コントローラ、１５…送受信回路、ＬＮ…データ伝送路
【図１】
2008103922.tif 000003
【図２】
2008103922.tif 000004
【図３】
2008103922.tif 000005
【図４】
2008103922.tif 000006
【図５】
2008103922.tif 000007
【図６】
2008103922.tif 000008