(57)【要約】【課題】通信システムにおいて動的にアドレスを割り当てる処理を短時間で行うことができる通信システム等を提供することを目的とする。【解決手段】複数のＥＣＵに電源が投入された時刻ｔ１の後の第１通信タイミングにて、ＥＣＵ１Ａによって、通信バスに起動信号を送信し、スロットＩＤ「１」を自己に割り当て、複数のＥＣＵに電源が投入された後の第２通信タイミングにて、ＥＣＵ１Ｂによって、通信バスに起動信号を送信し、スロットＩＤ「２」を自己に割り当てる（時刻ｔ２）。第３通信タイミングの時刻ｔ３にて、ＥＣＵ１Ｃ及びＥＣＵ１Ｄによって、通信バスに起動信号を送信し、ＥＣＵ１ＣのみにスロットＩＤを割り当てる。このとき、ＥＣＵ１Ｃ及びＥＣＵ１Ｄは、起動信号を送信した後に、通信エラー情報に基づいて他のＥＣＵとの間での優劣を判定し、優劣の判定結果に基づいて、スロットＩＤが自己に割り当てられたか否かを判定する。【選択図】図４
2008306649.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信装置が通信バスに接続され、所定の通信サイクルを分割した各スロットを特定するスロット識別子を各通信装置に割り当て、各通信装置が自己に割り当てられたスロット識別子で特定されるスロット内で他の通信装置にデータを送信する通信システムであって、
前記複数の通信装置に電源が投入された後の第１通信タイミングにて、前記通信バスに起動信号を送信し、第１のスロット識別子を自己に割り当てる第１通信装置と、
前記複数の通信装置に電源が投入された後の第２通信タイミングにて、前記通信バスに起動信号を送信し、第２のスロット識別子を自己に割り当てる第２通信装置と、
前記複数の通信装置に電源が投入された後の第３通信タイミングにて、前記通信バスに起動信号を送信する複数の第３通信装置とを備え、
前記第３通信装置は、
前記起動信号を送信した後に、通信エラー情報に基づいて他の第３通信装置との間での優劣を判定し、
前記優劣の判定結果に基づいて、前記スロットの識別子が自己に割り当てられたか否かを判定すること
を特徴とする通信システム。
【請求項２】
他の第３通信装置との間で優劣が存在しないと判定した場合に全ての第３通信装置にスロット識別子の割り当てが完了したことを判定すること
を特徴とする請求項１に記載の通信システム。
【請求項３】
前記第３通信装置は、他の第３通信装置よりも先に前記通信バスに起動信号を送信した場合には、他の第３通信装置に対して優と判定し、他の第３通信装置よりも後に前記通信バスに起動信号を送信した場合には、他の第３通信装置に対して劣と判定することを特徴とする請求項１に記載の通信システム。
【請求項４】
前記第３通信装置は、前記優劣の判定によって優と判定した場合には、現時点で他の第３通信装置に割り当てられていないスロット識別子を自己の識別子として割り当て、前記優劣の判定によって劣と判定した場合には、他の第３通信装置に割り当てられたスロット識別子をインクリメントして、次回の通信タイミングにて起動信号を送信することを特徴とする請求項１に記載の通信システム。
【請求項５】
前記第１通信装置、前記第２通信装置及び前記第３通信装置は、所定時間以上に亘って前記通信バスに起動信号を送信する通信装置が無い場合に、当該通信バスに接続された全ての通信装置へのスロット識別子の割り当てが完了したと判定することを特徴とする請求項１に記載の通信システム。
【請求項６】
所定の通信サイクルを分割した各スロットを特定するスロット識別子が割り当てられ、当該スロット識別子で特定されるスロット内でデータを送信する通信装置であって、
電源が投入された後の所定の通信タイミングにて、通信バスに、起動信号を送信する手段と、
前記起動信号を送信した後に、通信エラー情報を受信したか否かを判定して他の通信装置との間での優劣を判定する手段と、
前記優劣の判定結果に基づいて、前記スロットの識別子が自己に割り当てられたか否かを判定する手段と
を備えることを特徴とする通信装置。
【請求項７】
複数の通信装置が通信バスに接続され、所定の通信サイクルを分割した各スロットを特定するスロット識別子を各通信装置に割り当て、各通信装置が自己に割り当てられたスロット識別子で特定されるスロット内で他の通信装置にデータを送信する通信システムの起動方法であって、
前記複数の通信装置に電源が投入された後の第１通信タイミングにて、第１通信装置によって、前記通信バスに起動信号を送信し、第１のスロット識別子を自己に割り当てるステップと、
前記複数の通信装置に電源が投入された後の第２通信タイミングにて、第２通信装置によって、前記通信バスに起動信号を送信し、第２のスロット識別子を自己に割り当てるステップと、
前記複数の通信装置に電源が投入された後の第３通信タイミングにて、複数の第３通信装置によって、前記通信バスに起動信号を送信し、各第３通信装置にスロット識別子を割り当てるステップとを有し、
前記第３通信装置にスロット識別子を割り当てるステップは、当該第３通信装置によって、前記起動信号を送信した後に、通信エラー情報に基づいて他の第３通信装置との間での優劣を判定し、前記優劣の判定結果に基づいて、前記スロットの識別子が自己に割り当てられたか否かを判定すること
を特徴とする通信システムの起動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信回線に接続された各ノードが他のノードとの間で同期をとって通信を行う同期型の通信システム、通信装置、当該通信システムの起動方法に関する。
【背景技術】
【０００２】
所定のプロトコルに従って通信データが伝送される通信バスに複数のＥＣＵが接続される通信システムにおいては、当該通信システムの用途やグレードなどによって、通信バスに接続されるＥＣＵの数が変動する。また、この通信システムにおいては、仕向地が多岐に亘る場合に、個々のＥＣＵに仕向地に応じた動作をさせる必要がある。このため、この通信システムにおいては、工場出荷時等に、所定のマスタとなる特定のＥＣＵから、スレーブとなる複数のＥＣＵに、仕向地情報やアドレス等の情報を通知する必要がある。
【０００３】
この通信システムの一例としては、車両に搭載される通信ネットワークシステムのプロトコルの１種として、ＦｌｅｘＲａｙ（Daimler Chrysler AGの登録商標）と呼ばれる通信プロトコルに準拠したものがある。ＦｌｅｘＲａｙは、高い信頼性を確保しながら最大１０Ｍｂｐｓ程度の通信速度を実現するものであり、車両走行に直接関わる部分の電子化制御（例えばＸ−ｂｙ−ｗｉｒｅ）を実用化する上での重要な技術として注目されている。
【０００４】
ＦｌｅｘＲａｙでは、データ転送方式としてタイムトリガ方式を採用しており、ネットワーク上の各ノードのフレーム送信のタイミングが予めスケジューリングされる。ＦｌｅｘＲａｙの一通信周期はコミュニケーション・サイクルと呼ばれる。このコミュニケーション・サイクルには、１つのフレームを送信する時間区分であるスロットの長さが固定長とされた静的領域（スタティック・セグメント）と、スロットの長さが可変長とされた動的領域（ダイナミック・セグメント）とが定義されている。ＦｌｅｘＲａｙでは、ネットワーク上の各ノードが、ネットワーク内における共通時間であるグローバルタイムに従って、各コミュニケーション・サイクル内の静的領域や動的領域において自ノードに割り当てられたスロットのタイミングを認識する。各ノードは、自ノードに割り当てられたスロット内のみで、他ノードにフレームを送信できる。
【０００５】
このようなタイムトリガ方式で通信データを授受する通信システムにおいては、マスタとなるＥＣＵによって、スレーブとなるＥＣＵに、一斉且つ動的にアドレス（ID）を割り当てようとすると、通信衝突が発生する。すなわち、アドレスが各ノードに割り当てられていない状況においては、ＥＣＵの通信確立が出来ないという問題が発生する。このため、各ＥＣＵに任意の待ち時間を設定して、起動タイミングをずらすことで、通信衝突を避けて通信確立させることによって、アドレスの動的な割り当てを行っている。
【０００６】
これに対し、従来においては、下記の特許文献１等に記載されている技術がある。この特許文献１に記載の通信システムは、ネットワークの立ち上げ時に同一種別ＩＤを有するノードが存在する場合に、物理アドレスの割り当てを容易且つ迅速に行うことを目的としている。具体的には、通信バスに各種ノードと共にネットワーク管理ノードを接続し、当該ネットワーク管理ノードによって、ネットワークの立ち上げ時に同一種別ＩＤに設定されたノードで同時に物理アドレスを取得する送信フレームの送信を行う。この送信フレームの送信によって、衝突エラーが発生したときには、各ノードの製造番号等の識別可能な番号に基づいて遅延時間を設定し、設定した遅延時間経過後に送信フレームの再送信を行う。これによって、送信フレームの同時送信を回避できるとしている。
【特許文献１】特開２００４−０４８３０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した通信システムにおいては、工場出荷時等には、通信バスに接続されるＥＣＵ数が不明であるために、全てのＥＣＵに対してアドレスが割り当てられたことを、起動時刻からタイムアウト時間を経過したことによって確認している。例えば、ＥＣＵごとに０ｍｓｅｃ、１００ｍｓｅｃ、２００ｍｓｅｃ，・・・といったように、それぞれのＥＣＵについて異なる待ち時間を設定し、タイムアウト時間を、通信バスに接続する可能性があるＥＣＵ内における待ち時間の最大値とする必要がある。すなわち、このタイムアウト時間は、通信バスに接続されるＥＣＵの最大数と、各ＥＣＵにアドレスが割り当てる時間とを掛け合わせた時間を確保する必要がある。
【０００８】
したがって、上述の仮に全てのＥＣＵについてアドレスの動的な割り当て処理が終わった場合においても、タイムアウト時間の最大値まで終了確認を行うことができず、アドレス割当処理に長い時間がかかってしまう問題がある。
【０００９】
そこで、本発明は、上述した実情に鑑みて提案されたものであり、通信システムにおいて動的にアドレスを割り当てる処理を短時間で行うことができる通信システム、通信装置、当該通信システムの起動方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、複数の通信装置が通信バスに接続され、所定の通信サイクルを分割した各スロットを特定するスロット識別子を各通信装置に割り当て、各通信装置が自己に割り当てられたスロット識別子で特定されるスロット内で他の通信装置にデータを送信する通信システムである。この通信システムにおいては、上述の課題を解決するために、複数の通信装置に電源が投入された後の第１通信タイミングにて、第１通信装置によって、通信バスに起動信号を送信し、第１のスロット識別子を自己に割り当て、複数の通信装置に電源が投入された後の第２通信タイミングにて、第２通信装置によって、通信バスに起動信号を送信し、第２のスロット識別子を自己に割り当て、複数の通信装置に電源が投入された後の第３通信タイミングにて、複数の第３通信装置によって、通信バスに起動信号を送信し、各第３通信装置にスロット識別子を割り当てる。このとき、第３通信装置は、起動信号を送信した後に、通信エラー情報に基づいて他の第３通信装置との間での優劣を判定し、優劣の判定結果に基づいて、スロットの識別子が自己に割り当てられたか否かを判定する。
【発明の効果】
【００１１】
本発明に係る通信システムによれば、通信バスに接続された複数の通信装置のうち第１通信タイミングで起動する第１通信装置と、第２通信タイミングで起動する第２通信装置と、第３通信タイミングで起動する複数の第３通信装置とを設定しておくことにより、通信バスに接続されている台数分に比例した時間のみで全ての通信装置にスロット識別子を割り当てることができる。すなわち、第３通信タイミングで同時に複数の第３通信装置が起動信号を送出しても、各第３通信装置が取得した通信エラー情報に基づいて何れかの第３通信装置にスロット識別子を割り当てることができる。したがって、この通信システムによれば、動的に各第３通信装置にスロット識別子を割り当てる処理を最小の時間で完了することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について図面を参照して説明する。
【００１３】
本発明は、例えば図１に示すように、複数のＥＣＵ（Electric Control Unit）１Ａ，１Ｂ，１Ｃ，１Ｄ（以下、総称する場合には単に「ＥＣＵ１」と呼ぶ。）が共通した通信バス２に接続されて構成された車載用の通信システムに適用される。各ＥＣＵ１は、アプリケーションレベルでの機能は各々異なるものの、通信に関しては、基本的に共通の構成、機能を有している。また、各ＥＣＵ１は、終端抵抗を有するＥＣＵである。複数のうちの何れかのＥＣＵ１は、マスタ機器であり、他のＥＣＵ１は、スレーブ機器である。更に、ＥＣＵ１の種類としては、他の通信回線と接続されたゲートウェイ、診断機器等の通信システムに対して特定の役割を持つものが挙げられる。
【００１４】
この通信システムにおいて、各ＥＣＵ１は、通信バス２を介してデータの授受を行うための通信プロトコルとして、タイムトリガ型の通信プロトコルに準拠した処理を行う。このタイムトリガ型の通信プロトコルとしては、ＦｌｅｘＲａｙプロトコルが挙げられる。
【００１５】
ＦｌｅｘＲａｙプロトコルによって規定しているデータ転送の仕組みは、ＥＣＵ１ごとに所定の期間（スロット）でのみデータ転送を許可するというものである。ＦｌｅｘＲａｙでのデータ転送は、通信システムの稼動中に繰り返されるコミュニケーション・サイクルを単位として行われる。コミュニケーション・サイクルは、スタティック・セグメントと、ダイナミック・セグメントと、シンボル・ウィンドウと、ネットワーク・アイドルタイムの４つのセグメントから構成される。このコミュニケーション・サイクルが繰り返されるごとに、各ＥＣＵ１は、コミュニケーション・サイクル内の自己のスロットにてデータ転送を行う機会が与えられる。この通信システムにおいては、各ＥＣＵ１が同期を取って動作する必要があるが、次の通信周期、奇数サイクルによる通信周期、偶数サイクルによる通信周期、サイクル０による通信周期などを認識して同期を取る。
【００１６】
このスロットは、各ＥＣＵ１に割り当てられる。したがって、各ＥＣＵ１は、自己がデータ転送をすることができるスロットＩＤが自己のアドレスとなる。すなわち、複数のＥＣＵ１のうちでデータ転送をすることができるスロットは、通信システムにおいて１つのＥＣＵ１だけである。したがって、データ受信側のＥＣＵ１は、データ受信時のスロットのＩＤを識別することによって、データ送信元を識別できる。
【００１７】
スタティック・セグメントは、一定のフレームサイズでデータ転送を行う期間である。このスタティック・セグメントは、複数のスタティック・スロットに区分されて構成される。スタティック・スロットは、各ＥＣＵ１が１フレームを送信する時間区分（帯域）である。全てのスタティック・スロットの時間は等しく、各スロット内で送信されるフレームの長さも等しい。
【００１８】
ダイナミック・セグメントは、可変フレームサイズでデータ転送を行う期間である。このダイナミック・セグメントは、複数のダイナミック・スロットから構成される。ダイナミック・スロットは、ダイナミック・セグメントにおいて１フレームを送信する時間区分であり、その長さや数が、フレーム長や数の変化に柔軟に対応できるように可変とされ、最小のスロット単位であるミニスロットの整数倍の長さに設定される。
【００１９】
シンボル・ウィンドウは、ネットワークのスタートアップ時やウェイクアップ時などにオプションとして使用される領域である。また、ネットワーク・アイドルタイムは、エラー訂正や、詳細を後述するクロック同期の同期補正量算出などで使用される領域である。
【００２０】
なお、以下に説明する通信システムにおける主な通信仕様としては通信周期であるこのコミュニケーション・サイクルが１０ｍｓｅｃ、スタティック・セグメントの最大スロット数は１００、ダイナミック・セグメントは無いものとして説明する。
【００２１】
このような通信システムは、当該通信システムに電源が投入された時に、各ＥＣＵ１に動的に識別子であるスロットＩＤ（アドレス）を割り当てる処理を短時間で行うことを特徴とするものである。
【００２２】
この通信システムにおけるＥＣＵ１の内部構成を、図２を参照して説明する。なお、図２においては２個のＥＣＵ１Ａ、ＥＣＵ１Ｂを示して説明するが、図１に示すように、通信システムの通信バス２に接続された他のＥＣＵも同様の機能を有しているものとする。なお、図２を参照した以下の説明においては、ＥＣＵ１の基本的な機能を説明し、詳細なＥＣＵ１及び通信システム全体での動作は、後述のフローチャートを参照して説明する。
【００２３】
ＥＣＵ１は、待ち時間通信確立処理部１１と、待ち時間計測処理部１２と、スロットＩＤ決定部１３と、優劣判断部１４と、スロットＩＤ割り当て処理部１５と、終了判断処理部１６と、通信制御部１７とを備える。なお、ＥＣＵ１の各部１１〜１７は、ＥＣＵ１に備えられるプログラムによって実現される機能部であり、必ずしもこのように区分されない。また、図２においては、ＥＣＵ１Ａ，１Ｂに備えられる各部１１〜１７をそれぞれ、Ａ，Ｂという符号を付して区別している。
【００２４】
待ち時間通信確立処理部１１は、各ＥＣＵ１に電源が投入された後の各ＥＣＵ１に予め設定されている待ち時間の経過後に、通信を開始する。この待ち時間は、図１に示したように、通信システムにおけるマスタ機器であるＥＣＵ１Ａの待ち時間は０であり、スレーブ機器であるＥＣＵ１Ｂの待ち時間は１００であり、スレーブ機器であるＥＣＵ１Ｃ、ＥＣＵ１Ｄの待ち時間は２００，３００といったように設定される。この通信システムは、最初の第１通信タイミングに起動する第１の通信装置（ＥＣＵ１Ａ）であるマスタ機器と、このマスタ機器の次の第２通信タイミングに起動する第２通信装置（ＥＣＵ１Ｂ）であるスレーブ機器と、この第２通信タイミングの次の第３通信タイミングで同時に起動する複数の第３通信装置（ＥＣＵ１Ｃ、ＥＣＵ１Ｄ）であるスレーブ機器とに、複数のＥＣＵ１を区分している。このように各ＥＣＵ１に待ち時間が設定されることにより、通信システムは、全ＥＣＵ１に同時に電源が投入された後には、先ず第１の通信装置が起動した後に、第２通信装置が起動し、第１の通信装置及び第２通信装置の起動が完了した後に、同時に複数の第３通信装置が起動することになる。この起動順序は、各ＥＣＵ１の待ち時間計測処理部１２によって計測される。
【００２５】
待ち時間計測処理部１２によって所定の待ち時間の経過が計測された後、ＥＣＵ１は、スロットＩＤ決定部１３によって、通信システムにおけるスロットＩＤ（識別子、アドレス）が決定される。このアドレスは、スタティック・セグメントにおけるスロットＩＤとして決定される。そして、スロットＩＤ決定部１３は、決定したスロットＩＤを自己のスロットＩＤとして起動することを示す起動信号であるスタートアップフレームを通信バス２に送出する。
【００２６】
ＥＣＵ１ＡのスロットＩＤ決定部１３は、全ＥＣＵ１に電源が投入されると略同時に、スタティック・セグメントにおける所定のスロットＩＤのスロットにてスタートアップフレームを通信バス２に送出する。ＥＣＵ１ＢのスロットＩＤ決定部１３は、全ＥＣＵ１に電源が投入された所定の待ち時間後に、所定のスロットＩＤのスロットにてスタートアップフレームを通信バス２に送出する。
【００２７】
このとき、スタートアップフレームを送信していないＥＣＵ１Ｃ，１Ｄは、電源が投入されると同時に通信バス２に流れている情報を読み込むだけのリードオンリー状態となっている。したがって、待ち状態のＥＣＵ１Ｃ，１Ｄは、通信システムにおけるスロットＩＤがどのＥＣＵ１に割り当てられたかを読み取り可能となっている。
【００２８】
例えば図３に示すように、ゲートウェイであるＥＣＵ１Ａは、スロットＩＤが「１」に割り当てられ、エンジンコントロールＥＣＵであるＥＣＵ１Ｂは、スロットＩＤが「２」として割り当てられ、その他のメータコントロールＥＣＵ等の複数のＥＣＵ１は、スロットＩＤが「３」として割り当てられる。
【００２９】
この待ち時間は、各ＥＣＵ１の待ち時間計測処理部１２によって計測される。第３通信装置であるＥＣＵ１Ｃ及びＥＣＵ１Ｄは、第１通信装置であるＥＣＵ１Ａ、第２通信装置であるＥＣＵ１Ｂが共に通信を開始したことを確認した後に、通信バス２を介した通信を開始する。
【００３０】
ＥＣＵ１は、優劣判断部１４によって、スロットＩＤ決定部１３によって決定したスロットＩＤが自己に割り当てられたか否かを判定する。このとき、ＥＣＵ１は、略同時に起動することによって発生する通信エラー情報を受信し、当該通信エラー情報の種類によって、他のＥＣＵ１に対する優劣を判定する。例えば、ＥＣＵ１ＣがＥＣＵ１Ｄよりも先に起動信号を送出した場合には、ＥＣＵ１Ｃはシンタックスエラー（ｓｙｎｔａｘ  ｅｒｒｏｒ）となり、ＥＣＵ１Ｄはコンフリクトエラーとなる。
【００３１】
スロットＩＤ割り当て処理部１５は、優劣判断部１４によって、同時に起動した他のＥＣＵ１に対して優と判定した場合に、スタートアップフレームに含めたスロットＩＤを自己に割り当てられたスロットＩＤとする。
【００３２】
終了判断処理部１６は、所定の期間に亘って通信バス２にスタートアップフレームが送信されない場合、通信バス２に接続された全てのＥＣＵ１にアドレス割り当てが完了したことを判定する。このアドレス割り当てが完了したと判定したことによって、通信システムの起動処理が完了したと判定できる。
【００３３】
通信制御部１７は、待ち時間通信確立処理部１１，待ち時間計測処理部１２，スロットＩＤ決定部１３，優劣判断部１４，スロットＩＤ割り当て処理部１５及び終了判断処理部１６によって行われた起動処理後に、上述のＦｌｅｘＲａｙプロトコルに従ってデータを授受する処理を行う。具体的には、通信制御部１７は、起動処理時にはスタートアップフレームを通信バス２に対して送出すると共に通信バス２から他のＥＣＵ１からのスタートアップフレームを受信し、更に、通信エラー情報も受信する。また、通信制御部１７は、起動処理後には、スタティック・セグメントにおいて割り当てられた自己のスロットにおいてデータを送出し、その他のスロットにて他のＥＣＵ１から送信されたデータを受信する送受信制御処理を行う。
【００３４】
このような通信システムにおいては、図２に示した各部１１〜１７を備えることにより、図４に示すような起動処理を実現できる。図４によれば、先ず、時刻ｔ１にて通信バス２に接続された全てのＥＣＵ１Ａ，１Ｂ，１Ｃ，１Ｄに電源が投入される。すると、先ず、予め待ち時間が０，すなわちスロットＩＤの「１」のスロット内で、ＥＣＵ１Ａがスタートアップフレームを通信バス２に送出する。このとき、他のＥＣＵ１Ｂ，１Ｃ，１Ｄはリードオンリー状態となっているために、スロットＩＤ「１」内でＥＣＵ１Ａから送信されたスタートアップフレームを受信する。
【００３５】
次に、待ち時間が１００、すなわちスロットＩＤ「２」となると、ＥＣＵ１Ａと同様の動作をＥＣＵ１Ｂが行うことにより、ＥＣＵ１Ｂがスタートアップフレームを送出し、ＥＣＵ１ＢにスロットＩＤの「２」が割り当てられる。この時刻ｔ２の状態においては、ＥＣＵ１Ａ、ＥＣＵ１Ｂそれぞれは、通信バス２を介して通信確立が完了した状態である。
【００３６】
次に、ＥＣＵ１Ｃ及びＥＣＵ１Ｄは、時刻ｔ３にて、ＥＣＵ１ＡにスロットＩＤの「１」、ＥＣＵ１ＢにスロットＩＤの「２」が割り当てられたことを確認すると、時刻ｔ２において、スタートアップフレームを送出する。このとき、ＥＣＵ１Ｃ及びＥＣＵ１Ｄは、現時点においてスロットＩＤが「２」まで割り当てているので、当該スロットＩＤの「２」をインクリメントしたスロットＩＤの「３」で特定されるスロット内で、スタートアップフレームを送出する。
【００３７】
このとき、ＥＣＵ１Ｃ及びＥＣＵ１Ｄが同時に通信バス２にスタートアップフレームを送出すると、通信バス２においてフレームの衝突が発生する。このフレームの衝突は、通信エラーとしてＥＣＵ１Ｃ及びＥＣＵ１Ｄの双方に検知される。この通信エラーに基づいて、ＥＣＵ１Ｃ及びＥＣＵ１Ｄは、先にスタートアップフレームを送出したＥＣＵ１Ｃが優であり、ＥＣＵ１Ｄが劣であることを認識できる。その後、ＥＣＵ１Ｄは、ＥＣＵ１ＣにスロットＩＤの「３」の割り当てが完了した時刻ｔ４において、スタートアップフレームを送出することによって、スロットＩＤの「３」をインクリメントしたスロットＩＤの「４」が割り当てられることになる。
【００３８】
その後、ＥＣＵ１Ａ〜１Ｄは、所定の時間に亘ってスタートアップフレームが通信バス２に送出されていないことを検知した時刻ｔ５において、通信バス２に接続された全てのＥＣＵ１Ａ〜１ＤにスロットＩＤの割り当てが完了したと判定して、通常のデータ転送を行うことができる。
【００３９】
つぎに、上述したように構成された通信システムにおいて、各ＥＣＵ１の動作について図５及び図６のフローチャートを参照して説明する。図５のフローチャートは、通信システムにおけるマスタ機器であるＥＣＵ１Ａの動作を示し、図６のフローチャートは、通信システムにおけるスレーブ機器であるＥＣＵ１Ｂ〜１Ｄの動作を示す。なお、全てのＥＣＵ１に図５及び図６に示すフローチャートの動作を実行するプログラムを記憶しておき、自己がマスタ機器かスレーブ機器かを判定し、マスタ機器であると判定した場合には図５のフローチャートの動作を行い、スレーブ機器であると判定した場合には図６のフローチャートの動作を行っても良いの勿論である。
【００４０】
図５によれば、マスタ機器であるＥＣＵ１Ａは、電源が投入されると、先ずステップＳ１において、予め自己に設定されたスロットＩＤを割り当てることを決定する。ここで、ステップＳ１の処理を行うＥＣＵ１は、他のＥＣＵ１を制御するマスタ機器としてのＥＣＵ１Ａであり、通信システムにおいて特定の役割を有するＥＣＵ１である。したがって、マスタ機器となるＥＣＵ１Ａに割り当てられるスロットＩＤは、通信システムにおいて特定のスロットＩＤであり、優先的に割り当てられている。したがって、マスタ機器となるＥＣＵ１Ａがスタートアップフレームを送出しても、フレームの衝突は発生しない。
【００４１】
具体的には、ステップＳ１において、ＥＣＵ１Ａは、通信システムにおけるスタティック・セグメント内のスロット数が１００であるので、スロットＩＤの「１」〜「１０」までを特定のスロットＩＤとして確保する。なお、スタティック・セグメント内のスロット数、マスタ機器となるＥＣＵ１Ａが確保するスロット数は、前記の例には限らない。
【００４２】
また、通信システムが車両に搭載される場合に、車両にとって必要度が高いＥＣＵに所定のスロットＩＤを設定しても良い。車両にとって必要度が高いＥＣＵとしては、エンジンコントロールＥＣＵやゲートウェイ用のＥＣＵなどが挙げられる。
【００４３】
次のステップＳ２において、ＥＣＵ１Ａは、ＦｌｅｘＲａｙプロトコルに準拠した通信設定処理を行う。
【００４４】
次のステップＳ３において、ＥＣＵ１Ａは、電源が投入された直後に初期起動するリーディングＥＣＵとして、スタートアップフレームを通信バス２に送出する。このとき、他のＥＣＵ１は、リードオンリー状態であって起動はしない。その後、ＥＣＵ１Ａは、ステップＳ４において、自己と他のＥＣＵ１との少なくとも二つのＥＣＵ１の起動がされて、通信システムにおけるアドレスであるスロットＩＤが割り当てられたことを認識する。その後、ＥＣＵ１Ａは、後述の図５の処理が行われ、全てのＥＣＵ１にスロットＩＤの割り当てが完了して所定時間に亘ってスタートアップフレームが送出されない場合に、起動処理が終了したことを判断できる。この所定時間は、例えばコミュニケーション・サイクルに相当する時間や、スタティック・セグメントに相当する時間などを設定することができる。
【００４５】
一方、マスタ機器ではない他のＥＣＵ１は、電源が投入されると、図６に示すように、ステップＳ１１にてＦｌｅｘＲａｙプロトコルに準拠した通信設定処理を行う。
【００４６】
次のステップＳ１２において、ＥＣＵ１は、通信システムにおいて第１通信タイミングで起動するＥＣＵ１Ａ、第２通信タイミングで起動するＥＣＵ１Ｂが通信確立済か否かを確認する。このとき、ＥＣＵ１は、マスタ機器であるＥＣＵ１Ａからスタートアップフレームが送信されてＥＣＵ１ＡにスロットＩＤが割り当てられていると判定し、且つＥＣＵ１Ｂからスタートアップフレームが送信されてＥＣＵ１ＢにスロットＩＤが割り当てられていると判定した場合には、ステップＳ１５に処理を進める。一方、ＥＣＵ１ＡにスロットＩＤが未だ割り当てられていない場合には、ステップＳ１３に処理を進める。
【００４７】
ステップＳ１３において、ＥＣＵ１は、自己に設定されている待ち時間が経過したか否かを判定する。自己の待ち時間が経過していると判定した場合にはスタートアップフレームを通信バス２に送出し、経過していないと判定した場合にはステップＳ１２に処理を戻す。
【００４８】
ここで、第１通信タイミングで起動したマスタ機器であるＥＣＵ１Ａに続く第２通信タイミングにおいて、起動するＥＣＵ１Ｂは、ステップＳ１２の判定が否定判定となり、ステップＳ１３が肯定判定となる。したがって、第２通信タイミングにて、ＥＣＵ１Ｂは、ステップＳ１４によって、スタートアップフレームを通信バス２に送出する。これにより、第２通信タイミングにて、ＥＣＵ１Ｂは、スロットＩＤが割り当てられる。
【００４９】
また、第３通信タイミングで起動するＥＣＵ１Ｃ及びＥＣＵ１Ｄは、ステップＳ１２において、ＥＣＵ１Ａ及びＥＣＵ１Ｂに既にスロットＩＤが割り当てられていて通信確立済みであると判定して、ステップＳ１５にて、待ち時間を強制的に終了させる。すなわち、ＥＣＵ１ＣとＥＣＵ１Ｄに異なる待ち時間が設定されていても、ＥＣＵ１Ａ及びＥＣＵ１Ｂの通信が確立されたことを確認して、ＥＣＵ１Ｃ及びＥＣＵ１Ｄが略同時に次のステップＳ１６に処理を進める。
【００５０】
ＥＣＵ１Ｃ及びＥＣＵ１Ｄは、ステップＳ１６において、現時点において通信システムにて既に割り当てられているスロットＩＤとは異なるスロットＩＤを決定する。このとき、ＥＣＵ１Ａ及びＥＣＵ１Ｂが起動した直後においては、他のＥＣＵ１Ｃ及びＥＣＵ１Ｄには、第３通信タイミングで同時に起動することが設定されている。また、第３通信タイミング以降であっても、現時点において通信システムに割り当てられているスロットＩＤをインクリメントしたスロットＩＤのスロットにてスタートアップフレームを送出することになる。
【００５１】
次のステップＳ１７において、ＥＣＵ１Ｃ及びＥＣＵ１Ｄは、現時点において通信システムに割り当てられているスロットＩＤをインクリメントしたスロットＩＤのスロットにて、通信バス２にスタートアップフレームを送出する。ここで、ＥＣＵ１Ｃ及びＥＣＵ１Ｄといった複数のＥＣＵ１が略同時にスタートアップフレームを送出した場合には、通信バス２においてフレームの衝突が発生する。例えば、先に通信バス２にスタートアップフレームを送出したＥＣＵ１Ｃには、シンタックスエラーが発生し、後に通信バス２にスタートアップフレームを送出したＥＣＵ１Ｄには、衝突エラー（コンフリクトエラー）が発生する。このように、ＦｌｅｘＲａｙプロトコルに準拠した通信システムは、同じスロット内で先にフレームを送信したＥＣＵ１Ｃと後にフレームを送出したＥＣＵ１Ｄとで発生する通信エラー情報の種類が異なる。
【００５２】
次のステップＳ１８において、ＥＣＵ１Ｃ及びＥＣＵ１Ｄは、通信エラー情報を受信したか否かを判定する。通信エラー情報を受信したと判定した場合、ステップＳ１９において、ＥＣＵ１Ｃ及びＥＣＵ１Ｄは、受信した通信エラー情報に基づいて優劣を判断する。このとき、ＥＣＵ１Ｃ及びＥＣＵ１Ｄは、通信エラー情報としてシンタックスエラーを受信した場合には優と判定し、コンフリクトエラーを受信した場合には劣と判定する。
【００５３】
次のステップＳ２０において、ＥＣＵ１Ｃ及びＥＣＵ１Ｄは、ステップＳ１９の優劣の判定において、自己が他のＥＣＵ１に対して優か否かを判定し、優である場合にはステップＳ２１に処理を進め、優ではない場合にはステップＳ１６に処理を戻す。
【００５４】
ステップＳ２１において、ＥＣＵ１Ｃ及びＥＣＵ１Ｄは、ステップＳ２０において自己が優となったことにより、ステップＳ１７で送出したスタートアップフレームのスロットＩＤが割り当てられることが確定する。
【００５５】
次のステップＳ２２において、ＥＣＵ１Ｃは、ステップＳ２２において、他のＥＣＵ１ＤのスロットＩＤの割り当てが完了した後に、起動処理を終了することになる。このとき、ＥＣＵ１Ｃは、全てのＥＣＵ１にスロットＩＤの割り当てが完了して所定時間に亘ってスタートアップフレームが送出されない場合に、起動処理が終了したことを判断できる。
【００５６】
例えばＥＣＵ１ＤのみにスロットＩＤが割り当てられていないといった状況のように、ステップＳ１７にてスタートアップフレームを送信しても、ステップＳ１８にて通信エラー情報を受信していないと判定した場合には、ステップＳ２３において、当該スタートアップフレームを送信したスロットのスロットＩＤを自己に割り当てられたことを確定させる。その後、ＥＣＵ１Ｄは、通信システムにおける起動処理が完了したことを判定して処理を終了する。
【００５７】
以上、詳細に説明したように、本発明を適用した通信システムによれば、通信バス２に接続された複数のＥＣＵ１のうち第１通信タイミングで起動するＥＣＵ１と、第２通信タイミングで起動するＥＣＵ１と、第３通信タイミングで起動する複数のＥＣＵ１とを設定しておくことにより、通信バス２に接続されている台数分に比例した時間のみで全てのＥＣＵ１にスロットＩＤを割り当てることができる。すなわち、第３通信タイミングで同時に複数のＥＣＵ１がスタートアップフレームを送出しても、各ＥＣＵ１が取得した通信エラー情報に基づいて何れかのＥＣＵ１にスロットＩＤを割り当てることができる。したがって、この通信システムによれば、動的に各ＥＣＵ１にスロットＩＤ（アドレス）を割り当てる処理を最小の時間で完了することができる。
【００５８】
具体的には、通信バス２に接続されているＥＣＵ１の数が不明である場合には、図７に示すように、全てのＥＣＵ１に電源が投入されて、ＥＣＵ１Ａ、ＥＣＵ１Ｂが時刻ｔ１０で起動し、更に、ＥＣＵ１Ｃ、ＥＣＵ１Ｄの順番で起動が完了した時刻ｔ１１以降であっても、通信バス２に接続される可能性があるＥＣＵ１の最大数の起動時間の時刻ｔ１２まで待つ必要がある。これに対し、通信システムによれば、同時にスタートアップフレームを送出したことによる優劣の判定によって、確実に時刻ｔ１２よりも前に起動処理を完了することができる。
【００５９】
また、この通信システムによれば、第１通信タイミング、第２通信タイミングでＥＣＵ１が起動したことを確認した後に、残りのＥＣＵ１が起動するので、当該残りのＥＣＵ１を略同時に起動することができる。
【００６０】
更に、この通信システムによれば、通信バス２において優劣が存在しない状況となった場合に全ＥＣＵ１にスロットＩＤの割り当てが完了したと判定できるので、第３通信タイミングでスタートアップフレームを送出する複数のＥＣＵ１のうち最後に残ったＥＣＵ１がスタートアップフレームを送出した直後にスロットＩＤの割り当てが完了したことを判定できる。
【００６１】
更に、通信システムによれば、第３通信タイミング以降にてスタートアップフレームを送出するＥＣＵ１によって、先にスタートアップフレームを送出したＥＣＵ１を優と判定し、後にスタートアップフレームを送出したＥＣＵ１を劣と判定するのみで動的にスロットＩＤを割り当てることができる。具体的には、通信バス２で伝送される通信エラー情報が、先に通信バス２にスタートアップフレームを送出したＥＣＵ１と、後に通信バス２にスタートアップフレームを送出したＥＣＵ１とで異なることを認識することによって、第３通信タイミング以降にてスタートアップフレームを送出するＥＣＵ１にスロットＩＤを割り当てることができる。
【００６２】
更にまた、この通信システムによれば、優劣の判定によって優と判定した場合には、現時点で他のＥＣＵ１に割り当てられていないスロットＩＤを自己のスロットＩＤとして割り当て、優劣の判定によって劣と判定した場合には、他のＥＣＵ１に割り当てられたスロットＩＤをインクリメントして、次回の通信タイミングにて起動信号を送信するので、優劣の判定において優となったＥＣＵ１から順番にスロットＩＤを割り当てることができる。また、劣と判定した複数のＥＣＵ１を、再度同一のスロットでスタートアップフレームを送出させることができる。
【００６３】
更に、各ＥＣＵ１は、所定時間以上に亘って通信バス２に起動信号を送信するＥＣＵ１が無い場合に、当該通信バス２に接続された全てのＥＣＵ１へのスロットＩＤの割り当てが完了したと判定するので、通信バス２に接続されているＥＣＵ１に対して全てのスロットＩＤの割り当てが終了した場合においても、接続する可能性があるＥＣＵ１の最大のタイムアウトまで待つ必要がなくなる。
【００６４】
なお、上述の実施の形態は本発明の一例である。このため、本発明は、上述の実施形態に限定されることはなく、この実施の形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論である。
【図面の簡単な説明】
【００６５】
【図１】本発明を適用した通信システムの構成を示すブロック図である。
【図２】本発明を適用した通信システムにおけるＥＣＵの機能的な構成を示すブロック図である。
【図３】ＥＣＵの具体例を説明する図である。
【図４】本発明を適用した通信システムにおける起動処理を示すタイミングチャートである。
【図５】本発明を適用した通信システムにおいてマスタ機器が行う動作を説明するフローチャートである。
【図６】本発明を適用した通信システムにおいてスレーブ機器が行う動作を説明するフローチャートである。
【図７】比較例としての起動処理を示すタイミングチャートである。
【符号の説明】
【００６６】
１  ＥＣＵ
２  通信バス
１１  時間通信確立処理部
１２  時間計測処理部
１３  スロットＩＤ決定部
１４  優劣判断部
１５  スロットＩＤ割り当て処理部
１６  終了判断処理部
１７  通信制御部
【図１】
2008306649.tif 000003
【図２】
2008306649.tif 000004
【図３】
2008306649.tif 000005
【図４】
2008306649.tif 000006
【図５】
2008306649.tif 000007
【図６】
2008306649.tif 000008
【図７】
2008306649.tif 000009