JP2011020618A - ノード - Google Patents

ノード Download PDF

Info

Publication number
JP2011020618A
JP2011020618A JP2009168876A JP2009168876A JP2011020618A JP 2011020618 A JP2011020618 A JP 2011020618A JP 2009168876 A JP2009168876 A JP 2009168876A JP 2009168876 A JP2009168876 A JP 2009168876A JP 2011020618 A JP2011020618 A JP 2011020618A
Authority
JP
Japan
Prior art keywords
schedule
communication
node
determined
nodes
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.)
Granted
Application number
JP2009168876A
Other languages
English (en)
Other versions
JP5391897B2 (ja
Inventor
Tetsuo Nakagawa
哲夫 中川
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 JP2009168876A priority Critical patent/JP5391897B2/ja
Publication of JP2011020618A publication Critical patent/JP2011020618A/ja
Application granted granted Critical
Publication of JP5391897B2 publication Critical patent/JP5391897B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】スケジュールが通信途中に切り替わる場合において、通信速度を落とさずに、ノードが起動時にどのスケジュールに従ってよいかを把握できるようにして、通信に参加できるようにすること。
【解決手段】フレームを送信せずに受信だけをするように初期化をする(S110)。正常なフレームを受信しないまま(S120NO)タイムアウトしたと判断すると(S130YES)起動時スケジュールであると判定して(S140)この処理を終え、起動時スケジュールに従って通信を開始する。正常なフレームを受信したと判断すると(S120YES)複数サイクル分のデータIDを取得して、判定処理を実行する(S1800)。判定処理でスケジュールを判定したら(S190YES)そのスケジュールに従って通信を開始する。判定処理でスケジュール判定しなかったら(S190NO)通信を開始せずS120に戻る。
【選択図】図3

Description

スケジュールに従って通信をするノードに関する。
スケジュールを用いるタイムトリガ方式の通信プロトコル(FlexRay(登録商標)など)による通信システムでは、この通信システムに属する通信機能を備えたノード全てが、通信起動時に互いに同期を取った後、規定のスケジュールに従ってバス通信をする。このようなスケジュールは、フレームIDの配列として定義されている。フレームIDとは、各ノードが送信するフレームの時間領域に基づいて、フレームの先頭に付けられるものである。さらに、通常はフレームIDと送信内容を一意に関連づけて送信することにより、フレームIDは時間領域と送信内容の両方を示す識別子として用いられる。
ところで、既存の通信システムに新たなノードを接続する場合、その新たなノードは、元々あるノードによって継続されている通信の途中で起動しても、スケジュールなどの通信条件が把握できないので通信に参加できない。よって、通信システム全体を再起動する必要があった。そこで、元々あるノードの内の一つが、通信条件を示すデータを周期的にバスに送信する。そして、その新たなノードは、その通信条件を示すデータをバスから取得して、必要な設定をしてから通信に参加する。そうすれば、通信途中であっても、ノードを容易に追加できるようになる(特許文献1)。
特開2008−236217号公報
スケジュールが複数用意されていて、通信途中に切り替わる通信システムを前提とする。そして、ある一つのノードが、トラブル等によって再起動をした後、他のノードによって継続されている通信に、再起動したノードを復帰させる場合を考える。この場合、特許文献1の技術によれば、通信条件を示すデータが周期的に送信されるので、そのデータに基づいてスケジュールを調べることで、通信に復帰することはできる。しかし、通信条件を示すデータが周期的に流れていることによって、通信が定常的に低速になってしまう。つまり、偶発的な事態に備えるために、本来不要な情報を周期的に送信すれば、必要な情報の通信速度が落ちてしまう。また、背景技術で述べたような、ノードを追加する場合などにおいても同様な課題が生じる。
本発明はこの課題に鑑み、スケジュールが通信途中に切り替わる場合において、通信速度を落とさずに、ノードが起動時においてどのスケジュールに従ってよいかを把握して、通信に参加できるようにすることを目的とする。
この課題を解決するための請求項1の発明は、識別子の配列によって定義される複数のスケジュール、及びその複数のスケジュールそれぞれにおいて自身に割り当てられた識別子がどれであるかを記憶しておき、複数のスケジュールの中から採用されている何れか一つのスケジュールに従って、自身に割り当てられた識別子を送信情報の一部としてバスに送信し、採用されているスケジュールが、記憶された複数のスケジュールの範囲内で通信途中に切り替わるノードである。
そして、このノードは、取得手段と判定手段とを備える。取得手段は、採用されているスケジュールが把握できない場合、送信情報のバスへの送信を禁止する一方で、他ノードによって送信された送信情報をバスから受信して、その受信した送信情報に含まれる識別子を取得する。判定手段は、取得手段によって取得された識別子に基づいて、記憶している複数のスケジュールそれぞれに基づいて、採用されているスケジュールを判定する。そして、このノードは、判定手段によって判定されたスケジュールに従って、送信情報の送信を開始する。
この発明によれば、スケジュールが通信途中に切り替わる場合において、通信速度を落とさずに、ノードが起動時にどのスケジュールに従ってよいかを把握して、通信に参加できるようになる。理由を説明する。まず、どのスケジュールに従ってよいか把握できない間は、送信情報を送信しないようになっている。よって、その間において、他ノードからの送信情報との衝突を起こして、通信を不調にさせることは無い。
そして、取得手段と判定手段との動作は、他ノードが行う「通常の通信から得られる情報」を利用して、通信に参加するためのものである。「通常の通信から得られる情報」というのは、識別子のことである(識別子は、通常の通信に用いるものであって、本来はどのスケジュールであるかを伝達するためのものではない)。よって、余分な情報を周期的に送信するなどして通信速度を落とすことがない。よって、上記の効果が得られる。
なお、バスに送信情報が流れていなければ、取得手段は識別子を取得できない。しかし、この場合でも判定手段の動作は先述した通りである。つまり「ゼロ個の識別子が取得された」という取得結果に基づいて判定をする。このように識別子が取得できない場合というのは、他ノードも送信情報を送信していない、つまり、通信システム全体の起動直後である場合を想定している。
また「採用されているスケジュールが把握できない場合」というのは、つまり起動時のことを指している。ここで言う「起動時」とは、主にはノードの電源投入または再起動による起動直後を想定しているが、これ以外にも、エラー等によって通信が中断した後に行う復帰動作時なども含む。
ところで、スケジュール判定のためには、少なくとも1サイクル分の識別子を取得するのが望ましい。毎サイクル同じ配列のスケジュールであれば、1サイクル分の情報は、正しい判定をするのに十分な情報だからである。しかし、たまたま他ノードがその時に送信情報の送信を失敗すると、スケジュールの判定を誤ってしまうことも考えられる。そこで次のようにすると良い。
請求項2のノードは、取得手段が、スケジュールの複数サイクル分の識別子を取得する。そして、判定手段は、集約手段と、算出手段とを備える。集約手段は、取得手段によって取得された複数サイクル分の識別子を取得時刻に従って配列し、その配列をスケジュールの1サイクル分に集約する。そして算出手段は、集約手段によって集約された識別子の配列と、スケジュールそれぞれの識別子の配列との差を算出する。そして判定手段は、算出手段によって算出された差の中で最少のものに対応するスケジュールが、採用されているスケジュールであると判定する。
この発明によれば、複数サイクル分の識別子に基づくので、判定の精度が上がる。なお、集約方法としては例えば、論理和や論理積が挙げられる。
ところで、集約方法が例えば論理積だと、取得した識別子が集約によって欠落することもあり、場合によっては望ましくない。そこで次のようにすると良い。
請求項3のノードは、集約手段が、取得手段によって取得された複数サイクル分の識別子を、各サイクル分同士の論理和を取ることで集約する。この発明によれば、取得した識別子を欠落させることなく集約できる。
ところで、算出された差がどれも大きい場合、判定結果の信頼性が低いことになる。そうすると、ときには判定を誤ってしまうことも考えられる。そうすると、通信に参加した際に、衝突等を起こして通信を不調にさせてしまう可能性が高まる。そこで次のようにすると良い。
請求項4のノードは、判定手段が、算出手段によって算出された差の中で最少のものが閾値未満かを検査する検査手段を備える。さらに判定手段は、検査手段の検査結果が閾値未満だと、算出手段によって算出された差の中で最少のものに対応するスケジュールが、採用されているスケジュールであると判定する一方で、検査手段の検査結果が閾値以上だと、採用されているスケジュールを判定しない。
この発明によれば、誤って通信を不調にさせる可能性が低くなる。理由を述べる。構成上、スケジュールを判定しなければ、送信を開始しないようになっている。よって、算出手段による算出結果が閾値以上であれば、スケジュールが判定されないので送信が開始されない。よって、算出手段による算出結果が閾値以上の場合、つまりスケジュールの判定が誤っている可能性が高い場合に「誤った判定に基づいて送信情報の送信を開始して、通信を不調にさせる」ということを防ぐことができる。
ところで当初の課題は次のようにしても解決できる。請求項5の発明は、互いに通信可能に接続された3つ以上のノードが、切り替え可能なスケジュールに従って送信情報を送信するための通信処理を実行する通信システムに用いられるノードである。そして、判断手段と取得手段と判定手段とを備える。
判断手段は、通信処理を開始する前に、通信処理が複数の他ノードによって既に実行されているか否かを判断する。そして、取得手段は、通信処理が複数の他ノードによって既に実行されていると判断手段によって判断された場合には、他ノードが従っているスケジュールに関するスケジュール情報を、他ノードによって送信される送信情報から取得する。また、判定手段は、取得手段によって取得されたスケジュール情報に基づいて、他ノードが従っているスケジュールを判定する。そして、このノードは、判定手段によって判定されたスケジュールに従って通信処理を開始する。
この発明によれば、スケジュールが通信途中に切り替わる場合において、通信速度を落とさずに、ノードが起動時にどのスケジュールに従ってよいかを把握して、通信に参加できるようになる。
理由を説明する。送信情報を送信するための通信処理を開始する前に、他ノードによる通信が実行されていると判断すると、他ノードが従っているスケジュールを判定して、その判定したスケジュールに従って通信処理を開始するので、起動時にどのスケジュールに従ってよいかを把握して、通信に参加できる。
また、他ノードからの送信情報を利用したスケジュールの判定によって通信に参加するので、余分な情報を周期的に送信して通信速度を落とすようなことがない。よって、上記の効果が得られる。
ところで、通信処理を他ノードがまだ実行していない場合については、次のようにすると良い。請求項6のノードは、通信処理が複数の他ノードによってまだ実行されていないと判断手段によって判断された場合には、通信システム全体の起動時のものとして予め定められたスケジュールに従って通信処理を開始する。よって、通信処理を他ノードがまだ実行していない場合でも、通信を開始することができる。
ところで当初の課題は次のようにしても解決できる。請求項7の発明は、互いに通信可能に接続された3つ以上のノードが、切り替え可能なスケジュールに従って送信情報を送信するための通信処理を実行する通信システムに用いられるノードである。そして、取得手段と判定手段とを備える。
取得手段は、通信処理を中断した後、他ノードによる通信処理の継続中に通信処理を再開する場合、他ノードが従っているスケジュールに関するスケジュール情報を、他ノードによって送信される送信情報から取得する。また、判定手段は、取得手段によって取得されたスケジュール情報に基づいて、他ノードが従っているスケジュールを判定する。そして、このノードは、判定手段によって判定されたスケジュールに従って通信処理を再開する。
この発明によれば、請求項5と同様な効果が得られる。理由は、請求項5での説明とほぼ同様である。請求項5と異なるのは、取得手段が、他ノードによって通信処理が継続されている最中に再起動によって通信に復帰する場合を前提とした点である。よって請求項5とは異なり、判断手段を備えていない。
また、上記発明は、具体的には次のようにすると良い。請求項8のノードは、FlexRayによって通信をする。FlexRayは高速通信が特長であるので、通信速度を落とさない上記発明との組み合わせは有効である。
通信システムのブロック構成図。 各場面において送信されるデータIDを示した図。 起動処理のフローチャート。 判定処理のフローチャート。 テンプレートの説明図。
本発明の実施例を説明する。図1は、本発明が適用された通信システム1のブロック構成図である。図に示すように、通信システム1は、エンジンECU(Electronic Control Unit:電子制御装置)10・ABS/ECU20・メータECU30が互いにバス通信できるように、バス99に接続されている。そして各ECUは、FlexRayによって通信するようになっている。また、通信システム1は、自動車に搭載されるものであり、エンジンECU10はエンジン、ABS/ECU20はABS、メータECU30はメータを制御すると共に、制御対象に関する情報としてのフレームを送受信する通信機能を備える。なお、実際の自動車には多数のECUが搭載されるが、本実施例では説明を簡略にするために3つのECUのみを示している。
図に示すように、エンジンECU10は、マイコン100・トランシーバ200を備える。マイコン100は、トランシーバ200を通じて、バス99からフレームを取得したり、バス99にフレームを送信したりできる。マイコン100の内部構造を説明する。図に示すように、マイコン100は、CPU110・CC(コミュニケーション・コントローラ)120・フラッシュROM130・RAM140を備える。CPU110は、フレームの送受信をするための通信処理の主体となる。CC120は、トランシーバ200とCPU110とのインタフェイスである。RAM140は、CPU110がプログラムの実行時等に使用する記憶媒体である。フラッシュROM130は、CPU110に接続され、スケジュールや、フレームを送受信するためのプログラム、さらに、<1>(データID:Xを<X>と示す。)<5>・<7>が自装置に割り当てられていることを記憶している。
データIDとは、送信内容を示す識別子である。スケジュールは、データIDとは別に、ECUがフレームを送信する時間領域に基づいて、フレームの先頭に付加されるフレームIDの配列によって定義される。そして、各ECUは、このスケジュールに従って通信をする。つまり各ECUは、通信中はバス99からフレームIDを取得することで、スケジュール上の時刻を確認し続け、自装置に割り当てられたフレームを送信する時間領域が来たら、その時間領域に基づいてフレームの先頭にフレームIDを付加されたフレームに、送信内容を示すデータIDを付加したデータを格納して送信する。
なお、本実施例の通信システム1で規定されているスケジュールには、起動時スケジュール、及び通常スケジュールα・β・γの四つがある。さらに、それぞれのスケジュールについてテンプレートがある。これらについては後述する。
ABS/ECU20・メータECU30は、エンジンECU10とハードウェア構成やフラッシュROM130の記憶内容は同じである。よって、内部構成の図示を省く。ただし異なる点がある。それは、割り当てられたデータIDである。その割り当ては、ABS/ECU20は<2>・<4>・<6>、メータECU30は<3>・<9>となっている。
ところでスケジュールは、フレームIDの配列として定義されていると先述したが、フレームに付加するデータIDを決定するために、データIDの配列としてのスケジュールも記憶しておく必要がある。そして本実施例では、少なくともデータIDのスケジュールが定まれば、フレームIDのスケジュールも一意に定まるように、両スケジュールの対応関係が定められている。そこで、後述するように、スケジュールの判定において、データIDによる方法を採用している。次から、このデータID及びスケジュールについて具体的に説明する。
図2は、各場面において、各フレームがバス99に送信される様子を示した図である。各フレームは、データIDによって示す。データID後のカッコ内のA・B・Cは、送信主体のECUを確認的に示すために、エンジンECU10を「A」、ABS/ECU20を「B」、メータECU30を「C」に置き換えて表記したものである。
図2(a)は、通信システム1全体が起動する場面である。まず、各ECUは起動直後、フレームを送信せずに、受信だけをしようとする。そうすれば、当然どのECUもフレームを受信しない。そうすると各ECUは、一定時間フレームを受信しなかったことを根拠として、通信システム1全体の起動時であると判定する(図3の起動処理で詳述)。そして、互いに同期を取った後、起動時スケジュールに従って通信を開始する。起動時スケジュールは、図2(a)に示すように、<1>→<2>→<3>を1サイクルとしている。
図2(b)は、起動時スケジュールから通常スケジュールαに切り替わる場面である。切り替えは、エンジンECU10が主導する。具体的には、まず、エンジンECU10が、切り替えを指示する情報をバス99に送信する。そして、エンジンECU10は、その指示に対しての返事が他のECUから正常に来たことを確認した後、切り替え後のスケジュールに従って、フレームを送信する。このようにして、起動時スケジュールを終えた後は、三つの通常スケジュールの中から一つが採用されるようになっている。
通常スケジュールαは、<5>→<4>→<9>を1サイクルとしている。よって、図に示すように、起動時スケジュールから通常スケジュールαに切り替わると<3>の次に、エンジンECU10が<5>を送信する。そして、他のECUも、通常スケジュールαに従ってフレームを送信する。
図2(c)は、通常スケジュールαの最中に、ABS/ECU20が一時停止した場面である。原因としては電圧降下等がある。こうなると、通常スケジュールαにおいてABS/ECU20に割り当てられている<4>の送信が行われないまま、通信が続けられることになる。
図2(d)は、ABS/ECU20が、上記のように一時停止した後に、再起動した場面である。再起動した直後のABS/ECU20は、フレームを送信せずに、他のECU(エンジンECU10・メータECU30)によって実施されているスケジュールの判定をする(図3の起動処理で詳述)。
図2(e)は、ABS/ECU20が、スケジュールの判定後にフレームの送信を再開した場面である。通常スケジュールαと判定したので、それに従って、<4>の送信をする。
本発明の特徴は、再起動後のスケジュール判定(図2(d))及びその後の通信復帰(図2(e))にある。また、このようにして通信復帰をするとなると、従来とは異なり「自装置の起動時は通信システム全体の起動時」とみなすことができない。そこで、図2(a)の通信システム1全体の起動時においても、スケジュール判定をする必要が出てくる。次から、このスケジュール判定をするための起動処理を図3で説明する。
図3は、起動処理を示すフローチャートである。この処理は、各ECUのCPU(エンジンECU10の場合ならCPU110)が、自装置の起動直後に実行するものである。まず、フレームを送信せずに、受信だけをするようにしつつ、初期化をする(S110)。次に、正常なフレームを受信したかを判断する(S120)。受信していないと判断すると(S120NO)、一回目のS120の時を起点にして、タイムアウトしたかを判断する(S130)。タイムアウトしていないと判断すると(S130NO)、S120に戻る。一方、タイムアウトしたと判断すると(S130YES)、起動時スケジュールに従って通信を開始する状態であると判定して(S140)、この処理を終える。そして、起動時スケジュールに従って、通信を開始する。つまり、図2(a)で説明した、起動から送信開始までの内容である。
一方、正常なフレームを受信したと判断すると(S120YES)、各サイクルの開始をフレームの先頭に付加されているフレームIDから判断する(S150)。具体的には、出現するフレームIDの最も小さいフレームの出現時点をサイクルの先頭とする。このフレームIDは、スケジュール情報を示すための情報である。FlexRayでは、フレームIDはサイクルの先頭から1、2、3…と順番づけられるので、最小のフレームIDを含むフレームが先頭のフレームであると判断できる。
フレームIDによりサイクルの先頭でないと判断すると(S150NO)、S120に戻る。一方、フレームIDによりサイクルの先頭と判断すると(S150YES)、データIDの取得を開始する(S160)。次に3サイクル分のデータIDを取得したかを、フレームIDに基づいて判断する(S170)。取得していないと判断すると(S170NO)、一回目のS170の時を起点にして、タイムアウトしたかを判断する(S175)。タイムアウトしていないと判断すると(S175NO)、S160に戻る。一方、タイムアウトしたと判断すると(S175YES)、S120に戻る。なお、このようにしてS120に戻った場合、S130のタイムアウトの起点は、戻った直後のS120の時点である。
一方、3サイクル分のデータIDを取得したと判断すると(S170YES)、判定処理を実行する(S1800)。図4は判定処理を示すフローチャートである。まず、取得したデータIDに基づいて、サンプリングパターン(図5で後述)を作る(S1810)。次に、何れか一つのスケジュールのテンプレート(図5で後述)をフラッシュROM130から読み出す(S1820)。
図5(a)は通常スケジュールβを示した図である。通常スケジュールβは、2サイクルに一回だけ送信するフレームがある。具体的には、偶数サイクルは<5>→空→<4>→空→<9>、奇数サイクルは<5>→<7>→<4>→<6>→<9>が1サイクルとなっている。
一方、スケジュールのテンプレートとは、スケジュールと、取得したデータIDとを比べることができるように、スケジュールを規格化したものである。具体的には、偶数サイクルと奇数サイクルとの論理和(OR)を取って、そこから自装置に割り当てられたものを除いてできるものである。これを予め作成すると共にフラッシュROM130に記憶しておく。
そして、ABS/ECU20が記憶する通常スケジュールβ用テンプレートは、<5>→<7>→空→空→<9>となる(図5(b))。通常スケジュールβの場合「偶数サイクルOR奇数サイクル=奇数サイクル」であり、ABS/ECU20には<4>・<6>が割り当てられているからである。
同じようにして、起動時スケジュール及び通常スケジュールα・γについてもテンプレートを作成・記憶しておく。ただし、起動時スケジュールや通常スケジュールαの場合は、毎サイクル同じなので、論理和を取る必要はない。(通常スケジュールγの具体的な説明は省く。)
一方、サンプリングパターンの作成は、S160で取得したデータIDを元にして、テンプレート作成と同じように行う。具体的には、まず、取得したデータIDをサイクル毎に配列する。このとき、サイクルの開始を示す信号に挟まれたデータIDを、1サイクル分のものとする。そして、テンプレートと簡単に比べられるように、各サイクル同士の論理和を取ることで、1サイクル分に集約する。ただし、テンプレートの作成とは異なり、自装置に割り当てられたデータIDを省くことはしない。なぜなら、自装置に割り当てられたデータIDは、スケジュール判定の時点で実施されているスケジュールにおいては送信されないはずなので、省く必要がないからである。
このような手順で、S1820で読み出すテンプレートを予め作成すると共に、サンプリングパターン作成をする(S1810)。なお、S1820はスケジュールの数だけ繰り返すステップであり、一度読み出したものを二度は読み出さない。
次に、作成したサンプリングパターンと、直前のS1820で読み出したテンプレートとを比べて、テンプレートには含まれないのに対して、サンプリングパターンには含まれるデータIDがあるかを判断する(S1830)。このようなデータIDがあると判断すると(S1830YES)、S1820に戻る。つまり、このようなテンプレートに対応するスケジュールは、スケジュール判定の時点で実施されているスケジュールではないと直ぐに判断できるので、後のステップを省いている。
一方、サンプリングパターンのみに含まれるデータIDは無いと判断すると(S1830NO)、テンプレートとサンプリングパターンとの差を取ると共にRAM140に保持する(S1840)。つまり、サンプリングパターンには含まれないのに対して、テンプレートには含まれるデータIDを探す。次に、このようなデータIDが無く、差がゼロであるかを判断する(S1850)。差がゼロであると判断すると(S1850YES)、そのテンプレートに対応するスケジュールが、スケジュール判定の時点で実施されているスケジュールであると判定して(S1860)、この処理を終える。
一方、差がゼロではないと判断すると(S1850NO)、全テンプレート(四つ)を読み出したかを判断する(S1870)。まだ読み出していないと判断すると(S1870NO)、S1820に戻る。
一方、全テンプレートを読み出したと判断すると(S1870YES)、S1840で算出した差の中で最少(つまりテンプレートのみに含まれるデータIDの個数が最少)のテンプレートが複数あるかを判断する(S1875)。つまり、最少のものが一つだけなのか、複数あるのかを判断する。複数あると判断すると(S1875YES)、スケジュールを判定することなく、この処理を終える。なぜなら、このような場合は、スケジュールを一意に判定できないからである。
一方、差が最少のテンプレートは一つしかないと判断すると(S1875NO)、そのテンプレートの差が閾値未満かを判断する(S1880)。閾値以上と判断すると(S1880NO)、スケジュールを判定することなく、この処理を終える。なぜなら、このような場合は「差が最少のテンプレートに対応するスケジュールが、スケジュール判定の時点で実施されているスケジュールである」という判定は、信頼できないからである。
一方、閾値未満と判断すると(S1880YES)、そのテンプレートに対応するスケジュールがスケジュール判定の時点で実施されているスケジュールであると判定して(S1890)、この処理を終える。
図3に戻る。判定処理後、「記憶しているスケジュールの何れか一つが、スケジュール判定の時点で実施されているスケジュールであるという判定を判定処理でしたか」を判断する(S190)。判定をしたと判断すると(S190YES)、この処理を終える。そして、判定したスケジュールに従って、通信に参加して、送信フレームの送信を再開する。つまり、図2(c)(d)(e)で説明した内容である。
一方、スケジュールの判定をしていないと判断すると(S190NO)、S120に戻る。よって、スケジュールを判定しない限り、起動処理を延々と繰り返すことになり、通信に参加することができない。よって「スケジュールが把握できないまま通信に参加して、衝突等を起こす」ことを防いでいる。
効果をまとめる。各ECUは、一時停止して再起動した後も通信に復帰でき、しかも、衝突を起こしたり、通信速度を低くしたりすることがない。また、複数サイクル分のIDの論理和を取ってテンプレートと比べるので、1サイクル分だけ取得する方法とは異なり、「たまたまその時だけフレームが送信されなかった」という理由で、判定を誤ることが少ない。また、スケジュール判定が信頼できない場合は通信に復帰しないので、衝突等を起こす可能性が低い。
変形例を述べる。タイムトリガ方式の他のプロトコル、例えばLINを用いてもよい。また、S150、S1830、並びにS1850及びS1860を省いてもよい。S150を省いた場合は、サンプリングパターン作成(S1810)のときに、先頭を示す信号を初めて受信する以前のデータIDを無視する。また、S1830、並びにS1850及びS1860は、他のステップを飛ばすことを目的としたものであるので、これらのステップを省けば実行する処理が冗長にはなるが、各処理に対応するプログラムは簡潔になる。
また、テンプレートの形式を変えても良い。図5を用いて説明する。図5(c)(d)(e)は、テンプレートの変形例である。図5(c)は論理和を取り、自装置に割り当てられたデータIDを除かないようにしたものである。このようにすると、サンプリングパターンとの差がゼロになることはないので、必然的にS1850及びS1860を省くことになる。
図5(d)は、2サイクルをそのままテンプレートにしたものである。この場合のサンプリングパターン作成は、例えば、6サイクル分を取得して、偶数サイクル同士・奇数サイクル同士の論理和を取って行う。
図5(e)は、論理積を取る方法である。毎サイクル送信されるデータIDのみが対象となり、そうでないデータIDは無視することになる。よって、情報に欠落が出てしまう。しかし、毎サイクル送信されるデータIDについては判定が厳しくなるので、より安全になる。つまり、論理和だと一回でも受信すればサンプリングパターンに反映されるのに対して、論理積だと一回でも受信できないとサンプリングパターンに反映されない。よって、テンプレートとの差が大きくなりやすいので、判定が厳しくなる。
また、スケジュール判定ができないことによって、起動処理を延々と繰り返す場合、一定回数繰り返したら、通信への途中復帰を諦めて、エラーメッセージを送信したり、通信システム全体の再起動を促したりしてもよい。
またS170で、規定時間分のデータIDを取得したかを判断するようにしてもよい。この場合は、S175のタイムアウトは省くことになる。またS170で、データIDの個数で判断するようにしてもよい。
また、先頭のフレームを検出する方法は、検出したフレームIDからサイクルの先頭を逆算して、サイクルの時間管理に用いるタイマの値を補正する方法でもよい。
また、実施例ではデータIDによって定義されるスケジュールを判定したが、フレームIDによって定義されるスケジュールを判定するようにしてもよい。両IDは、スケジュールを定義するものであると共に、各フレームに含まれるものなので、どちらを用いてもスケジュール判定は可能である。また、データIDを付加しないフレームフォーマットを採用する場合もあるので、この場合は当該変形例が特に有用である。
また、自動車に搭載されるECUでなくても、通信機能を備える他の装置に適用しても良い。また、スケジュール判定に用いるためのデータIDは、実施例ではバスを流れる全てのものを取得したが、記憶しているテンプレートに合わせて一部を取得するようにしても良い。
実施例と特許請求の範囲との対応を説明する。S110〜S130が判断手段、S160/S170が取得手段、S120/S140/判定処理が判定手段、S1810が集約手段、S1820/S1840が算出手段、S1880が検査手段、のソフトウェアに相当する。また、ECUがノード、データIDが識別子およびスケジュール情報、フレームが送信情報、に相当する。
1…通信システム、10…エンジンECU、20…ABS/ECU、30…メータECU、99…バス、100…マイコン、110…CPU、120…CC、130…フラッシュROM、140…RAM、200…トランシーバ

Claims (8)

  1. 識別子の配列によって定義される複数のスケジュール、及びその複数のスケジュールそれぞれにおいて自身に割り当てられた識別子がどれであるかを記憶しておき、
    前記複数のスケジュールの中から採用されている何れか一つのスケジュールに従って、前記自身に割り当てられた識別子を送信情報の一部としてバスに送信し、
    前記採用されているスケジュールが、前記記憶された複数のスケジュールの範囲内で通信途中に切り替わるノードであって、
    前記採用されているスケジュールが把握できない場合、前記送信情報の前記バスへの送信を禁止する一方で、他ノードによって送信された前記送信情報を前記バスから受信して、その受信した送信情報に含まれる前記識別子を取得する取得手段と、
    前記取得手段によって取得された識別子に基づいて、前記記憶している複数のスケジュールそれぞれに基づいて、前記採用されているスケジュールを判定する判定手段とを備え、
    前記判定手段によって判定されたスケジュールに従って、前記送信情報の送信を開始する
    ことを特徴とするノード。
  2. 前記取得手段は、前記スケジュールの複数サイクル分の識別子を取得して、
    前記判定手段は、
    前記取得手段によって取得された複数サイクル分の識別子を取得時刻に従って配列し、その配列を前記スケジュールの1サイクル分に集約する集約手段と、
    前記集約手段によって集約された識別子の配列と、前記スケジュールそれぞれの識別子の配列との差を算出する算出手段とを備えると共に、
    前記算出手段によって算出された差の中で最少のものに対応するスケジュールが、前記採用されているスケジュールであると判定する
    ことを特徴とする請求項1のノード。
  3. 前記集約手段は、前記取得手段によって取得された複数サイクル分の識別子を、各サイクル分同士の論理和を取ることで集約する
    ことを特徴とする請求項2のノード。
  4. 前記判定手段は、
    前記算出手段によって算出された差の中で最少のものが閾値未満かを検査する検査手段を備えると共に、
    前記検査手段の検査結果が前記閾値未満だと、前記算出手段によって算出された差の中で最少のものに対応するスケジュールが、前記採用されているスケジュールであると判定する一方で、
    前記検査手段の検査結果が前記閾値以上だと、前記採用されているスケジュールを判定しない
    ことを特徴とする請求項2又は請求項3のノード。
  5. 互いに通信可能に接続された3つ以上のノードが、切り替え可能なスケジュールに従って送信情報を送信するための通信処理を実行する通信システムに用いられるノードであって、
    前記通信処理を開始する前に、前記通信処理が複数の他ノードによって既に実行されているか否かを判断する判断手段と、
    前記通信処理が複数の他ノードによって既に実行されていると前記判断手段によって判断された場合には、他ノードが従っているスケジュールに関するスケジュール情報を、他ノードによって送信される前記送信情報から取得する取得手段と、
    前記取得手段によって取得されたスケジュール情報に基づいて、他ノードが従っているスケジュールを判定する判定手段とを備え、
    前記判定手段によって判定されたスケジュールに従って前記通信処理を開始する
    ことを特徴とするノード。
  6. 前記通信処理が複数の他ノードによってまだ実行されていないと前記判断手段によって判断された場合には、前記通信システム全体の起動時のものとして予め定められたスケジュールに従って前記通信処理を開始する
    ことを特徴とする請求項5のノード。
  7. 互いに通信可能に接続された3つ以上のノードが、切り替え可能なスケジュールに従って送信情報を送信するための通信処理を実行する通信システムに用いられるノードであって、
    前記通信処理を中断した後、他ノードによる前記通信処理の継続中に前記通信処理を再開する場合、他ノードが従っているスケジュールに関するスケジュール情報を、他ノードによって送信される前記送信情報から取得する取得手段と、
    前記取得手段によって取得されたスケジュール情報に基づいて、他ノードが従っているスケジュールを判定する判定手段とを備え、
    前記判定手段によって判定されたスケジュールに従って前記通信処理を再開する
    ことを特徴とするノード。
  8. FlexRay(登録商標)によって通信をすることを特徴とする請求項1〜請求項7何れかのノード。
JP2009168876A 2009-07-17 2009-07-17 ノード Expired - Fee Related JP5391897B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009168876A JP5391897B2 (ja) 2009-07-17 2009-07-17 ノード

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009168876A JP5391897B2 (ja) 2009-07-17 2009-07-17 ノード

Publications (2)

Publication Number Publication Date
JP2011020618A true JP2011020618A (ja) 2011-02-03
JP5391897B2 JP5391897B2 (ja) 2014-01-15

Family

ID=43631060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009168876A Expired - Fee Related JP5391897B2 (ja) 2009-07-17 2009-07-17 ノード

Country Status (1)

Country Link
JP (1) JP5391897B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008042888A (ja) * 2006-07-10 2008-02-21 Nissan Motor Co Ltd 通信ネットワークシステム及び未ウェイクアップノードのウェイクアップ方法
WO2008041271A1 (fr) * 2006-09-29 2008-04-10 Fujitsu Microelectronics Limited Système d'émission/reception, noeud et procédé de communication
JP2008213718A (ja) * 2007-03-06 2008-09-18 Auto Network Gijutsu Kenkyusho:Kk 車両用制御装置
JP2008277873A (ja) * 2007-04-25 2008-11-13 Auto Network Gijutsu Kenkyusho:Kk 中継接続ユニット
JP2009027327A (ja) * 2007-07-18 2009-02-05 Mitsubishi Electric Corp データ送受信装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008042888A (ja) * 2006-07-10 2008-02-21 Nissan Motor Co Ltd 通信ネットワークシステム及び未ウェイクアップノードのウェイクアップ方法
WO2008041271A1 (fr) * 2006-09-29 2008-04-10 Fujitsu Microelectronics Limited Système d'émission/reception, noeud et procédé de communication
JP2008213718A (ja) * 2007-03-06 2008-09-18 Auto Network Gijutsu Kenkyusho:Kk 車両用制御装置
JP2008277873A (ja) * 2007-04-25 2008-11-13 Auto Network Gijutsu Kenkyusho:Kk 中継接続ユニット
JP2009027327A (ja) * 2007-07-18 2009-02-05 Mitsubishi Electric Corp データ送受信装置

Also Published As

Publication number Publication date
JP5391897B2 (ja) 2014-01-15

Similar Documents

Publication Publication Date Title
US10902109B2 (en) Misuse detection method, misuse detection electronic control unit, and misuse detection system
US20180048663A1 (en) Network monitoring device and computer program product
JP6418217B2 (ja) 通信システムで実行される情報集約方法
CN110572443B (zh) 长连接状态更新方法、服务端、服务器及存储介质
JP2011040886A (ja) 診断装置および診断システム
JP2014230140A (ja) 中継装置
US9641383B2 (en) Method for error diagnosis of can communication
KR20150019499A (ko) 게이트웨이의 메시지 처리 방법
JP6176199B2 (ja) 伝送路異常検出装置
US20230155806A1 (en) Method and System for Performing Time-Synchronization Between Units of a Communication Bus System
JP5391897B2 (ja) ノード
US8688241B2 (en) Distributed control system for monitoring a significant control
JP6743724B2 (ja) 通信ネットワーク及び通信端末
JP6913869B2 (ja) 監視装置、監視システムおよびコンピュータプログラム
US20230093337A1 (en) Method and System for Performing Time-Synchronization
JP2010113419A (ja) マルチコア制御装置
JP4123946B2 (ja) 時刻同期システム
JP2007293678A (ja) 共用バス接続診断装置
JP5783088B2 (ja) 車両制御システム
JP5783143B2 (ja) エンジン制御装置
CN112367386A (zh) 基于Ignite的自动化运维方法、装置及计算机设备
JP6569407B2 (ja) マスタ通信装置及びスレーブ通信装置
JP5268791B2 (ja) 制御システム
JP6024604B2 (ja) 通信装置
JP2007043398A (ja) 通信システム及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120209

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130625

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: 20130917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130930

R151 Written notification of patent or utility model registration

Ref document number: 5391897

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

LAPS Cancellation because of no payment of annual fees