JP2015111790A - 通信システム、及び通信ノード並びに通信方法 - Google Patents

通信システム、及び通信ノード並びに通信方法 Download PDF

Info

Publication number
JP2015111790A
JP2015111790A JP2013253587A JP2013253587A JP2015111790A JP 2015111790 A JP2015111790 A JP 2015111790A JP 2013253587 A JP2013253587 A JP 2013253587A JP 2013253587 A JP2013253587 A JP 2013253587A JP 2015111790 A JP2015111790 A JP 2015111790A
Authority
JP
Japan
Prior art keywords
communication node
communication
request frame
node
wake
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
JP2013253587A
Other languages
English (en)
Inventor
信之 中川
Nobuyuki Nakagawa
信之 中川
正成 今田
Masashige Imada
正成 今田
洋志 長尾
Hiroshi Nagao
洋志 長尾
加藤 光敏
Mitsutoshi Kato
光敏 加藤
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2013253587A priority Critical patent/JP2015111790A/ja
Publication of JP2015111790A publication Critical patent/JP2015111790A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】通信システムの消費電力を低減すること。【解決手段】第1の通信ノードと複数の第2の通信ノードとを有する通信システムであって、第1の通信ノードは、複数の第2の通信ノードのうちの一つの第2の通信ノードからの該第2の通信ノード以外の他の第2の通信ノードをウエイクアップさせる要求に基づいて、該他の第2の通信ノードをウエイクアップさせるウエイクアップ要求フレームを作成する第1の演算処理部と、第1の演算処理部により作成したウエイクアップ要求フレームを送信する送信部とを有し、第2の通信ノードは、他の第2の通信ノードをウエイクアップさせる要求を行った後に、ウエイクアップ要求フレームを受信したか否かに基づいて、第2の通信ノードと第1の通信ノードとの間の接続状態を判断する第2の演算処理部とを有する。【選択図】図1

Description

本発明は、通信システムに関する。
車両には、車両内の様々な制御を行うために車載ネットワークが構成される。車載ネットワークは、LANに、多くの電子制御ユニット(ECU: Electronic Control Unit)、センサ、アクチュエータなどが接続されることにより構成される。以下、車載ネットワークに接続される、電子制御ユニット、センサ、アクチュエータなどを通信ノードと呼ぶ。通信ノードは、車両内の様々な位置に設置され、通信線や電線により接続される。
例えば、通信線に、複数の通信ノードが接続されることにより、車載ネットワークが構成される。車載ネットワークには、CAN(Controller Area Network)、LIN(Local Interconnect Network)がある。また、車載ネットワークには、 FlexRay(登録商標)に従って通信を行うものがある。
ところで、車載ネットワークに接続される複数の通信ノードのうち、スリープ状態の通信ノードを個別に動作状態に移行させる機能を導入することが検討されている。スリープ状態の通信ノードを動作状態へ移行させる専用のウエイクアップ要求フレームが用意され、このウエイクアップ要求フレームを送信することにより、スリープ状態の通信ノードを個別に動作状態へ移行させる。この機能は、セレクティブウエイクアップ(Selective Wake-up)と呼ばれることもある。スリープ状態の通信ノードのうち、スリープ状態から動作状態へ移行させる通信ノード以外の通信ノードは、スリープ状態を継続する。さらに、動作状態へ移行した通信ノードは、所定の期間、他の通信ノードからフレームを受信しない場合や、他の通信ノードへフレームを送信しない場合には、スリープ状態へ移行する。
複数の通信端末を通信可能に接続したシステムが知られている。スレーブ通信端末は、マスタ通信端末に参加要求を送信する。マスタ通信端末は、通信端末の送信順序を登録する競合管理テーブルを有し、スレーブ通信端末からの参加要求を受信すると、そのスレーブ通信端末を送信順序のいずれかの順位に登録することにより競合管理テーブルを更新し、競合管理テーブルの内容を含む管理フレームをブロードキャスト送信する(例えば、特許文献1参照)。
特開2004−363702号公報
マスタとして機能するマスタ通信ノードとスレーブとして機能するスレーブ通信ノードとを有する通信システムに、セレクティブウエイクアップ機能を導入することを考える。
スレーブ通信ノードが他のスレーブ通信ノードをウエイクアップさせるために他のスレーブ通信ノードのマスタ通信ノードへ送信するフレームを「ウエイクアップ依頼フレーム」と呼ぶ。また、マスタ通信ノードが配下のスレーブ通信ノードをウエイクアップさせるために該スレーブ通信ノードへ送信するフレームを「ウエイクアップ要求フレーム」と呼ぶ。
ウエイクアップ状態の第1のスレーブ通信ノードは、スリープ状態の第2のスレーブ通信ノードをウエイクアップ状態へと遷移させるため、第2のスレーブ通信ノードのマスタ通信ノードにウエイクアップ依頼フレームを送信する。
ウエイクアップ依頼フレームを受信したマスタ通信ノードは、第2のスレーブ通信ノードをウエイクアップ状態へと遷移させるため、第2のスレーブ通信ノードにウエイクアップ要求フレームを送信する。
第2のスレーブ通信ノードは、マスタ通信ノードからのウエイクアップ要求フレームを受信すると、ウエイクアップし、ウエイクアップ状態へ遷移する。
仮に、マスタ通信ノードと第2のスレーブ通信ノードとの間の通信が途絶えているとする。
第1のスレーブ通信ノードは、マスタ通信ノードと第2のスレーブ通信ノードとの間の通信が途絶えていることを認識できない。このため、第1のスレーブ通信ノードは、マスタ通信ノードにウエイクアップ依頼フレームを送信した後、所定の待機時間、ウエイクアップ状態を継続する。この待機時間は、ウエイクアップ依頼フレームがマスタ通信ノードに受信され、マスタ通信ノードから第2のスレーブ通信ノードにウエイクアップ要求フレームが送信され、第2のスレーブ通信ノードが該ウエイクアップ要求フレームを受信し、ウエイクアップし、通信可能となると想定される時間に基づいて、予め設定される。
第1のスレーブ通信ノードは、待機期間が経過しても第2のスレーブ通信ノードとの間で通信ができない場合には、フェールセーフ状態へ移行する。このため、ウエイクアップ依頼フレームを送信してから想定される時間が長くなると、フェールセーフ状態へ移行するまでの待機時間が長くなる。また、第1のスレーブ通信ノードは、待機時間の間、ウエイクアップ状態を継続する。ウエイクアップ状態は起動している状態であるため、第1のスレーブ通信ノードの消費電力が大きくなる。
また、仮に、第1のスレーブ通信ノードと第2のスレーブ通信ノードとの間で通信途絶えなどの障害が発生したとする。
第1のスレーブ通信ノードと第2のスレーブ通信ノードとの間で通信が成立しないため、第1のスレーブ通信ノードは待機期間が経過した後にフェースセーフ状態へ遷移する。フェールセーフ状態に遷移した第1のスレーブ通信ノードは、第2のスレーブ通信ノードが通信可能な状態であるか否かを認識できない。つまり、仮に、第2のスレーブ通信ノードが通信可能な状態に復帰しても、第1のスレーブ通信ノードは、第2のスレーブ通信ノードが通信可能な状態に復帰したことを認識できない。このため、第1のスレーブ通信ノードは、フェールセーフ状態を解除できる状態であるにもかかわらず、フェールセーフ状態を継続する。その結果、フェールセーフ状態が長くなる。
本発明の目的は、通信システムの消費電力を低減することである。
開示の一実施例の通信システムは、
第1の通信ノードと複数の第2の通信ノードとを有する通信システムであって、
前記第1の通信ノードは、
前記複数の第2の通信ノードのうちの一つの第2の通信ノードからの該第2の通信ノード以外の他の第2の通信ノードをウエイクアップさせる要求に基づいて、該他の第2の通信ノードをウエイクアップさせるウエイクアップ要求フレームを作成する第1の演算処理部と、
前記他の第2の通信ノードに前記第1の演算処理部により作成したウエイクアップ要求フレームを送信する送信部と
を有し、
前記第2の通信ノードは、
前記他の第2の通信ノードをウエイクアップさせる要求を行った後に、前記ウエイクアップ要求フレームを受信したか否かに基づいて、前記第2の通信ノードと前記第1の通信ノードとの間の接続状態を判断する第2の演算処理部
を有する。
開示の実施例によれば、通信システムの消費電力を低減することができる。
通信システムの一実施例を示す図である。 第1の通信ノードの一実施例を示す図である。 第1の通信ノードの一実施例を示す機能ブロック図である。 CANフレームの一実施例を示す図である。 第5の通信ノードの一実施例を示す図である。 接続状態管理テーブルの一例を示す図である。 第5の通信ノードの一実施例を示す機能ブロック図である。 通信システムの動作(その1)の一実施例を示すシーケンスチャートである。 接続状態管理テーブルの一例を示す図である。 通信システムの動作(その2)の一実施例を示すシーケンスチャートである。 通信システムの動作(その3)の一実施例を示すシーケンスチャートである。 第5の通信ノードの一実施例を示す機能ブロック図である。 通信システムの動作(その4)の一実施例を示すシーケンスチャートである。 通信システムの動作(その5)の一実施例を示すシーケンスチャートである。 通信システムの動作(その6)の一実施例を示すシーケンスチャートである。 通信システムの動作(その7)の一実施例を示すシーケンスチャートである。 通信システムの動作(その8)の一実施例を示すシーケンスチャートである。
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。以下で説明する実施例は一例に過ぎず、本発明が適用される実施の形態は、以下の実施例に限られない。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
<第1の実施例>
<通信システム>
図1に、通信システムの一実施例を示す。
通信システムは、第1の通信ノード100と、第2の通信ノード200と、第3の通信ノード300と、第4の通信ノード400と、第5の通信ノード500と、第6の通信ノード600と、第7の通信ノード700と、第8の通信ノード800と、第9の通信ノード900と、第10の通信ノード1000と、第11の通信ノード1100と、第12の通信ノード1200と、第13の通信ノード1300とを備える。
図1には、13個の通信ノードにより通信システムを構成する場合について示すが、2−12個の通信ノードにより構成してもよいし、14個以上の通信ノードにより構成してもよい。
第1の通信ノード100−第4の通信ノード400および第9の通信ノード900−第13の通信ノード1300は、通信バス60により有線接続される。第5の通信ノード500−第8の通信ノード800および第13の通信ノード1300は、通信バス70により有線接続される。
第1の通信ノード100−第13の通信ノード1300は、例えば車両等の移動体に搭載される。通信システムの一実施例は、車両に搭載される。通信システムの一実施例は、CANなどのLANが適用される。LANには、情報系LAN、パワートレイン系LAN、ボディ系LANなどである。
第1の通信ノード100−第13の通信ノード1300のうち、所定の通信ノードによりグループが構成される。
第1の通信ノード100−第4の通信ノード400により第1のグループ10が構成され、第9の通信ノード900−第12の通信ノード1200により第2のグループ20が構成され、第2の通信ノード200および第4の通信ノード400により第3のグループ30が構成される。さらに、第5の通信ノード500−第8の通信ノード800により第4のグループ40が構成され、第6の通信ノード600および第8の通信ノード800により第5のグループ50が構成される。
また、第5の通信ノード500および第13の通信ノード1300はマスタノードとして機能し、第5の通信ノード500および第13の通信ノード1300以外の通信ノードはスレーブ通信ノードとして機能する。マスタノードは、1または複数のスレーブ通信ノードをウエイクアップさせるためにウエイクアップ要求フレームを送信したり、他のマスタノードにウエイクアップ依頼フレームを送信したりする。スレーブ通信ノードは、マスタノードにウエイクアップ依頼フレームを送信する。ウエイクアップ依頼フレームは、通信相手となるスレーブ通信ノードを管理するマスタノードに、該スレーブ通信ノードのウエイクアップを依頼する際に送信するフレームである。ウエイクアップ要求フレームは、マスタノードが、配下のスレーブ通信ノードに、ウエイクアップを要求する際に送信するフレームである。
第5の通信ノード500は、第4のグループ40および第5のグループ50のマスタノードとして機能する。この場合、第5の通信ノード500は、1度のウエイクアップ要求フレームの送信で、第4のグループ40を構成するスレーブ通信ノードおよび第5のグループ50を構成するスレーブ通信ノードを個別にウエイクアップさせることができる。また、第5の通信ノード500は、1度のウエイクアップ要求フレームの送信で、第4のグループ40を構成する全スレーブ通信ノードおよび第5のグループ50を構成する全スレーブ通信ノードをそれぞれ同時にウエイクアップさせることもできる。第5の通信ノード500は、第4のグループ40および第5のグループ50を構成する各スレーブ通信ノードの接続状態を管理する。
第13の通信ノード1300は、第1のグループ10−第3のグループ30のマスタノードとして機能する。この場合、第13の通信ノード1300は、1度のウエイクアップ要求フレームの送信で、第1のグループ10−第3のグループ30を構成するスレーブ通信ノードを個別にウエイクアップさせることができる。また、第13の通信ノード1300は、1度のウエイクアップ要求フレームの送信で、第1のグループ10を構成する全スレーブ通信ノード、第3のグループ30を構成する全スレーブ通信ノードをそれぞれ同時にウエイクアップさせることもできる。第13の通信ノード1300は、第1のグループ10−第3のグループ30を構成する各スレーブ通信ノードの接続状態を管理する。
各通信ノードは、電子制御ユニットなどにより実現される。また、各通信ノードに、センサ、アクチュエータなどが実装されてもよい。例えば、マスタノードにエアコンの制御機能が実装され、複数のスレーブ通信ノードのいずれかに温度センサなどが実装されてもよい。
一例として、第1の通信ノード100と第6の通信ノード600との間で通信を行う場合について説明する。他の通信ノード間で通信を行う場合についても適用できる。
第1の通信ノード100は、第6の通信ノード600をウエイクアップさせるために、ウエイクアップ依頼フレームを送信する。上述したように、ウエイクアップ依頼フレームは、通信相手となるスレーブ通信ノードを管理するマスタノードに、該スレーブ通信ノードのウエイクアップを依頼する際に送信するフレームである。ウエイクアップ依頼フレームは、第13の通信ノード1300を経由して、第6の通信ノード600のマスタノードである第5の通信ノード500に受信される。第13の通信ノード1300を経由する際、第13の通信ノード1300は、第1の通信ノード100の接続状態を更新する。
第5の通信ノード500は、第1の通信ノード100からのウエイクアップ依頼フレームに基づいて、第6の通信ノード600をウエイクアップさせるためのウエイクアップ要求フレームを送信する。上述したように、ウエイクアップ要求フレームは、マスタノードが、該マスタノードの配下のスレーブ通信ノードに、ウエイクアップを要求する際に送信するフレームである。
第6の通信ノード600は、ウエイクアップ要求フレームを受信すると、ウエイクアップし、ウエイクアップ要求フレームの送信元である第5の通信ノード500にウエイクアップフレームを送信する。ウエイクアップフレームは、ウエイクアップ要求フレームを受信したスレーブ通信ノードが、該ウエイクアップ要求フレームの送信元へ送信する応答である。
第5の通信ノード500は、第6の通信ノード600からのウエイクアップフレームを受信すると第6の通信ノード600の接続状態を接続している状態に更新する。
また、第5の通信ノード500は、所定の送受信待機時間が経過しても、第6の通信ノード600からのウエイクアップフレームを受信できない場合には第6の通信ノード600の接続状態を通信途絶えに更新する。第5の通信ノード500は、第6の通信ノード600からのウエイクアップフレームを受信できない場合、ウエイクアップ依頼フレームのデータID(ID)を記憶するとともに、第13の通信ノード1300に、第1の通信ノード100をスリープ状態に遷移させるスリープ依頼フレームを送信する。スリープ依頼フレームは、マスタノードが配下のスレーブ通信ノードをスリープ状態に遷移させる場合に、該スレーブ通信ノードを管理するマスタノードに送信するフレームである。
第13の通信ノード1300は、第5の通信ノード500からのスリープ依頼フレームを受信すると、第1の通信ノード100にスリープ要求フレームを送信すると共に、第1の通信ノード100の通信状態を更新する。スリープ要求フレームは、マスタノードが、該マスタノードの配下のスレーブ通信ノードに、スリープ状態に遷移することを要求する際に送信するフレームである。
第1の通信ノード100は、第13の通信ノード1300からのスリープ要求フレームを受信し、スリープ状態に遷移する。
<第1の通信ノード100>
図2は、第1の通信ノード100の一実施例を示す。図2は、主に第1の通信ノード100のハードウェア構成を示す。第2の通信ノード200−第4の通信ノード400、第6の通信ノード600−第12の通信ノード1200のハードウェア構成も、図2に示す第1の通信ノード100を適用できる。
第1の通信ノード100は、マイクロコントローラ102と、トランシーバ110とを備える。
マイクロコントローラ102は、CPU104と、ROM106と、RAM108とを備える。
第1の通信ノード100が2個以上のトランシーバを有するようにしてもよい。また、第1の通信ノード100が2個以上のマイクロコントローラを有するようにしてもよい。
CPU104は、第1の通信ノード100を制御する。具体的には、CPU104は、通信相手となるスレーブ通信ノードを管理するマスタノードに、該スレーブ通信ノードをウエイクアップさせるために、ウエイクアップ依頼フレームを送信する制御を実行する。また、CPU104は、マスタノードから、ウエイクアップ要求フレームを受信した場合にウエイクアップするとともに、該マスタノードにウエイクアップフレームを送信する制御を実行する。また、CPU104は、ウエイクアップ依頼フレームを送信した後、送受信待機時間を経過しても、ウエイクアップ要求フレームを受信しない場合、通信途絶えのダイアグコードを記録して、スリープ状態に遷移する制御を実行する。ここで、送受信待機時間は、送受信のために待受ける時間を示し、この時間が経過した後、スリープ状態またはフェールセーフ状態に遷移する。スリープ状態またはフェールセーフ状態のどちらに遷移するかは予め設定される。フェールセーフ状態に遷移し、他のウエイクアップする要因がない場合にスリープ状態に遷移するようにしてもよい。
ROM106は、第1の通信ノード100の制御を、CPU104が実行するためのプログラムを格納するためのメモリである。
RAM108は、CPU104が第1の通信ノード100の制御を実行する際に、データを一時的に格納するためのメモリである。また、RAM108は、ダイアグコードを記録する。
トランシーバ110は、マイクロコントローラ102、通信バス60と接続される。トランシーバ110は、CPU104からのウエイクアップ依頼フレームを送信する。また、トランシーバ110は、マスタノードからのウエイクアップ要求フレームをマイクロコントローラ102に入力する。
<第1の通信ノード100の機能>
第1の通信ノード100の機能の一実施例について説明する。
図3は、第1の通信ノード100の機能の一実施例を示す機能ブロック図である。この機能ブロック図により表される機能は、主に、マイクロコントローラ102により実行される。第2の通信ノード200−第4の通信ノード400、第6の通信ノード600−第12の通信ノード1200の機能も、図3に示す第1の通信ノード100の機能ブロック図を適用できる。
マイクロコントローラ102は、ウエイクアップ依頼フレーム作成部1042と、状態制御部1044と、応答フレーム作成部1046として機能する。
ウエイクアップ依頼フレーム作成部1042は、トランシーバ110と接続される。ウエイクアップ依頼フレーム作成部1042は、スリープ状態のスレーブ通信ノードのウエイクアップを、該スレーブ通信ノードを管理するマスタノードへ依頼するウエイクアップ依頼フレームを作成する。ウエイクアップ依頼フレーム作成部1042は、トランシーバ110へ、ウエイクアップ依頼フレームを入力する。
図4は、CANフレームの一例を示す。ウエイクアップ依頼フレームは、CANフレームを適用できる。
CANフレームは、スタートオブフレーム(SOF: Start Of Frame)ビットと、IDと、リモートトランスミッションリクエスト(RTR: Remote Transmission Request)ビットと、データ長コード(DLC: Data Length Code)と、Dataフィールドと、CRCスロットと、ACK(アクノレッジ)スロットと、エンドオブフレーム(EOF: End of Frame)とが含まれる。
スタートオブフレームビットは、メッセージの始めを示し、ドミナント(論理0)ビットで示される。
IDは、メッセージを識別し、メッセージの優先順位を示す。IDは、11ビットで表されてもよいし(標準フレーム)、29ビットで表されてもよい(拡張フレーム)。IDは、データIDとも呼ばれる。
リモートトランスミッションリクエストビットは、リモートフレームとデータフレームを区別するのに使用される。ドミナント(論理0)のリモートトランスミッションリクエストビットはデータフレームを示す。リセッシブ(論理1)のリモートトランスミッションリクエストビットはリモートフレームを示す。
データ長コードは、データフィールドに含まれるバイト数を示す。
Dataフィールドには、0〜8バイトのデータが含まれる。
CRCは、巡回冗長検査を示す。CRCには、15ビットの巡回冗長検査コードとリセッシブデリミタビットが含まれる。CRCフィールドは、エラー検出に使用される。
ACK(アクノレッジ)スロットは、メッセージを正しく受信した場合に、メッセージの最後に送信する。送信側のノードはバス上でACKビットの有無をチェックし、ACKが検出されなかった場合は再度送信を試みるのが好ましい。
エンドオブフレームは、データフレームやリモートフレームの終了位置を示す。エンドオブフレームは、7ビットで構成され、ビットレベルは全て"リセッシブ"である。
ウエイクアップ依頼フレーム作成部1042は、ウエイクアップ依頼フレームであること、またウエイクアップさせるスレーブ通信ノードをIDにより指定してもよいし、データにより指定してもよい。例えば、ウエイクアップさせるスレーブ通信ノードをIDにより指定する場合には、IDを「00000000001」とすることにより全通信ノードをウエイクアップさせることを依頼することが指定され、IDを「00000000010」とすることにより第1のグループ10をウエイクアップさせることを依頼することが指定され、IDを「00000000100」とすることにより第2のグループ20をウエイクアップさせることが指定される。ウエイクアップさせるスレーブ通信ノードをデータにより指定する場合にも適用できる。
状態制御部1044は、トランシーバ110と接続される。状態制御部1044は、第1の通信ノード100の状態に関する制御を実行する。第1の通信ノード100の状態には、ウエイクアップ状態と、スリープ状態と、フェールセーフ状態がある。ウエイクアップ状態は、動作状態であり、データの送受信が可能である。スリープ状態は、電力消費を抑えるために、一定時間データの送受信がないときに動作を一時的に停止している状態である。スリープ状態では、ウエイクアップ要求フレームを受信することによりウエイクアップ状態に遷移できる。フェールセーフ状態は、他のノードから送信されるデータを受信できない場合や、制御ができない状態となった場合に、動作を停止している状態である。フェールセーフ状態では、ウエイクアップ要求フレームを受信することによりウエイクアップ状態に遷移できる。
状態制御部1044には、トランシーバ110からウエイクアップ要求フレームが入力される。状態制御部1044は、ウエイクアップ要求フレームが入力されると、ウエイクアップし、ウエイクアップ状態に遷移する。状態制御部1044は、ウエイクアップ状態に遷移した後、応答フレーム作成部1046にウエイクアップフレームを作成するように命令する。
状態制御部1044は、ウエイクアップ依頼フレームの送信後に、該ウエイクアップ依頼フレームを受信したマスタノードからのウエイクアップ要求フレームがトランシーバ110から入力された場合にはウエイクアップ状態を継続する。一方、状態制御部1044は、ウエイクアップ依頼フレームの送信後に送受信待機時間が経過しても、該ウエイクアップ依頼フレームを受信したマスタノードからのウエイクアップ要求フレームがトランシーバ110から入力されない場合には、通信途絶えのダイアグコードをRAM108に記録し、スリープ状態に遷移する。
応答フレーム作成部1046は、トランシーバ110と、状態制御部1044と接続される。応答フレーム作成部1046は、状態制御部1044からのウエイクアップフレームを作成する命令にしたがって、ウエイクアップ要求フレームを送信したマスタノードを宛先とするウエイクアップフレームを作成する。応答フレーム作成部1046は、トランシーバ110にウエイクアップフレームを入力する。
<第5の通信ノード500>
図5は、第5の通信ノード500の一実施例を示す。図5は、主に第5の通信ノード500のハードウェア構成を示す。第13の通信ノード1300のハードウェア構成も、図5に示す第5の通信ノード500を適用できる。
第5の通信ノード500は、マイクロコントローラ502と、トランシーバ510とを備える。
マイクロコントローラ502は、CPU504と、ROM506と、RAM508と、接続状態管理テーブル509とを備える。
第5の通信ノード500が2個以上のトランシーバを有するようにしてもよい。また、第5の通信ノード500が2個以上のマイクロコントローラを有するようにしてもよい。
CPU504は、第5の通信ノード500を制御する。具体的には、CPU504は、第5の通信ノード500の配下の各スレーブ通信ノードの接続状態を管理する。第5の通信ノード500の配下のスレーブ通信ノードは、第6の通信ノード600−第8の通信ノード800である。
CPU504は、スレーブ通信ノードからのウエイクアップ依頼フレームにより指定されるスレーブ通信ノードが、第5の通信ノード500の配下のスレーブ通信ノードである場合に、該ウエイクアップ依頼フレームに基づいて処理する。CPU504は、ウエイクアップ依頼フレームにより指定されるスレーブ通信ノードをウエイクアップさせるため、ウエイクアップ要求フレームを作成する。
CPU504は、スレーブ通信ノードからのウエイクアップ依頼フレームにより指定されるスレーブ通信ノードが、第5の通信ノード500の配下のスレーブ通信ノードでない場合には、該ウエイクアップ依頼フレームを受信しない。
CPU504は、ウエイクアップ要求フレームの送信先のスレーブ通信ノードから該ウエイクアップ要求フレームの応答であるウエイクアップフレームを受信したか否かに基づいて、第5の通信ノード500と、該第5の通信ノード500の配下のスレーブ通信ノードとの間の通信が途絶えているか否かを判断する。CPU504は、第5の通信ノード500と、該第5の通信ノード500の配下のスレーブ通信ノードとの間の通信が途絶えていると判断した場合、ウエイクアップ依頼フレームを送信したスレーブ通信ノードをスリープ状態にさせるため、該スレーブ通信ノードを管理するマスタノードへスリープ依頼フレームを送信する。また、CPU504は、他のノードからスリープ依頼フレームを受信した場合、スリープ依頼フレームにより指定されるスレーブ通信ノードをスリープ状態に遷移させるためのスリープ要求フレームを作成する。
ROM506は、第5の通信ノード500の制御を、CPU504が実行するためのプログラムを格納する。
RAM508は、CPU504が第5の通信ノード500の制御を実行する際に、データを一時的に格納する。
接続状態管理テーブル509は、第5の通信ノード500の配下のスレーブ通信ノードについて、接続状態を管理するためのテーブルである。故障診断ツールにより要求された場合には、この接続状態管理テーブル509に格納される情報が、送信される。故障診断ツールは、接続状態管理テーブル509に格納される情報を解析することにより故障診断などを行う。
<接続状態管理テーブル509>
図6は、接続状態管理テーブル509の一例を示す。
接続状態管理テーブル509には、配下のスレーブ通信ノードについて、接続状態と、接続確認時間と、スリープフラグと、グループ情報とが格納される。
図6には、第5の通信ノード500の配下の第6の通信ノード600−第8の通信ノード800についての接続状態と、接続確認時間と、スリープフラグと、グループ情報とが格納される。
接続状態は、スレーブ通信ノードが、該スレーブ通信ノードを管理するマスタノードとの間で接続されているか否かを示す。図6には、接続されている場合には「○」が記され、接続されていない場合には「−」が記される。さらに、接続状態管理テーブル509には、「現在」と「過去」の接続状態が格納される。「過去」の接続状態は、イグニッションがオンにされるなどの車両が起動されてから過去に1回でも接続が確認できた場合には「○」とされる。
接続確認時間は、マスタノードが、該マスタノードの配下のスレーブ通信ノードと接続しているか否かを確認した時間を示す。接続確認時間は、第5の通信ノード500が配下のスレーブ通信ノードからのフレームを受信した時間である。また、接続確認時間は、第5の通信ノード500からスレーブ通信ノードにフレームを送信し、該スレーブ通信ノードから応答を受信した時間である。また、接続確認時間は、第5の通信ノード500からスレーブ通信ノードにフレームを送信し、該スレーブ通信ノードから応答を受信しない状態が所定の送受信待機時間経過した後の時間である。
接続状態管理テーブル509には、接続確認時間として、接続されていると確認できた時間と、接続を確認した時間が格納される。図6には、接続されていると確認できた時間は「接続あり」と記載され、接続を確認した時間は「確認」と記載されている。
スリープフラグは、スレーブ通信ノードがスリープ状態であるか否かを示す。図6には、スリープ状態である場合には「○」が記され、スリープ状態でない場合には「−」が記される。
グループ情報は、スレーブ通信ノードが属するグループを示す。図6には、第5の通信ノード500において設定されたグループ毎に、属する場合には「○」が記され、属さない場合には「−」が記される。
トランシーバ510は、マイクロコントローラ502、通信バス70と接続される。トランシーバ510は、CPU504からのウエイクアップ要求フレームを送信する。また、トランシーバ510は、スレーブ通信ノードからのウエイクアップ依頼フレームおよびウエイクアップフレームをマイクロコントローラ502に入力する。
<第5の通信ノード500の機能>
図7は、第5の通信ノード500の機能の一実施例を示す機能ブロック図である。この機能ブロック図により表される機能は、主に、マイクロコントローラ502により実行される。第13の通信ノード1300の機能も、図7に示す第5の通信ノード500の機能ブロック図を適用できる。
マイクロコントローラ102は、ウエイクアップ要求フレーム作成部5042と、通信制御部5044と、スリープ依頼・要求フレーム作成部5046として機能する。
ウエイクアップ要求フレーム作成部5042は、トランシーバ510と接続される。ウエイクアップ要求フレーム作成部5042には、通信制御部5044からウエイクアップ依頼フレームが入力される。ウエイクアップ要求フレーム作成部5042は、ウエイクアップ依頼フレームにより指定されるスレーブ通信ノードをウエイクアップさせるウエイクアップ要求フレームを作成する。ウエイクアップ要求フレーム作成部5042は、トランシーバ510へ、ウエイクアップ要求フレームを入力する。ウエイクアップ要求フレーム作成部5042は、通信制御部5044からウエイクアップ依頼フレームをウエイクアップ要求フレームとして、トランシーバ510へ入力するようにしてもよい。
ウエイクアップ要求フレームは、図4を参照して説明したCANフレームを適用できる。
通信制御部5044は、トランシーバ110と、ウエイクアップ要求フレーム作成部5042と接続される。通信制御部5044は、第5の通信ノード500の通信に関する制御を実行する。通信制御部5044は、トランシーバ510から、他のマスタノードからのウエイクアップ依頼フレームが入力された場合に、ウエイクアップ要求フレーム作成部5042に該ウエイクアップ依頼フレームを入力する。
通信制御部5044は、ウエイクアップ要求フレームを送信してからの経過時間を計測する。
通信制御部5044は、ウエイクアップ要求フレームの宛先のスレーブ通信ノードからのウエイクアップフレームがトランシーバから入力された場合、接続状態管理テーブル509を更新する。具体的には、通信制御部5044は、「接続状態」を「○」に更新するとともに、「接続確認時間」を更新する。
通信制御部5044は、ウエイクアップ要求フレームを送信してから送受信待機時間が経過してもウエイクアップ要求フレームの宛先のスレーブ通信ノードからのウエイクアップフレームがトランシーバから入力されない場合、接続状態管理テーブル509を更新する。具体的には、通信制御部5044は、「接続状態」を「−」に更新するとともに、「接続確認時間」を更新する。さらに、通信制御部5044は、ウエイクアップ要求フレームを送信してから送受信待機時間が経過してもウエイクアップフレームがトランシーバから入力されない場合、ウエイクアップ依頼フレームを送信したスレーブ通信ノードをスリープ状態に遷移させるフレームを作成するように、スリープ依頼・要求フレーム作成部5046に命令する。
スリープ依頼・要求フレーム作成部5046は、トランシーバ510と、通信制御部5044と接続される。スリープ依頼・要求フレーム作成部5046は、通信制御部5044からのウエイクアップ依頼フレームを送信したスレーブ通信ノードをスリープ状態に遷移させるフレームを作成する命令にしたがって、スリープ状態に遷移させるフレームを作成する。スリープ依頼・要求フレーム作成部5046は、ウエイクアップ依頼フレームを送信したスレーブ通信ノードが、第5の通信ノード500の配下である場合には、スリープ要求フレームを作成する。スリープ依頼・要求フレーム作成部5046は、ウエイクアップ依頼フレームを送信したスレーブ通信ノードが、第5の通信ノード500の配下でない場合には、スリープ依頼フレームを作成する。スリープ依頼・要求フレーム作成部5046は、トランシーバ510にスリープ依頼フレームまたはスリープ要求フレームを入力する。
<通信システムの動作>
図8は、通信システムの動作の一実施例(その1)を示す。
図8には、第1の通信ノード100と第6の通信ノード600との間で通信を行う際の動作を示す。第6の通信ノード600は、スリープ状態である。
通信システムの動作の説明の前に、第13の通信ノード1300の備える接続状態管理テーブル1309について説明する。
図9は、接続状態管理テーブル1309の一例を示す。
接続状態管理テーブル1309には、第13の通信ノード1300の配下の第1の通信ノード100−第4の通信ノード400、第9の通信ノード900−第12の通信ノード1200についての接続状態と、接続確認時間と、スリープフラグと、グループ情報とが格納される。
通信システムの動作について説明する。
ステップS802では、第1の通信ノード100は、第6の通信ノード600をウエイクアップさせるウエイクアップ依頼フレームを第5の通信ノード500を宛先として作成する。
ステップS804では、第1の通信ノード100は、第5の通信ノード500にウエイクアップ依頼フレームを送信する。
ステップS806では、第1の通信ノード100は、タイマを起動する。
ステップS808では、第13の通信ノード1300は、ウエイクアップ依頼フレームを受信する。
ステップS810では、第13の通信ノード1300は、接続状態管理テーブル1309の第1の通信ノード100の「接続状態」と「接続確認時間」とを更新する。
ステップS812では、第5の通信ノード500は、ウエイクアップ依頼フレームを受信する。
ステップS814では、第5の通信ノード500は、第5のグループ50に属する通信ノード、すなわち、第6の通信ノード600および第8の通信ノード800をウエイクアップさせるウエイクアップ要求フレームを作成する。
ステップS816では、第5の通信ノード500は、第5のグループ50に属する通信ノードにウエイクアップ要求フレームを送信する。
ステップS818では、第1の通信ノード100は、ウエイクアップ要求フレームを受信する。
ステップS820では、第1の通信ノード100は、タイマを停止する。
ステップS822では、第5の通信ノード500は、第5のグループ50に属する通信ノードの通信途絶えの監視を実施する。
ステップS824では、第6の通信ノード600は、第5の通信ノード500からのウエイクアップ要求フレームを受信する。
ステップS826では、第6の通信ノード600は、ウエイクアップする。
ステップS828では、第6の通信ノード600は、ウエイクアップフレームを作成する。
ステップS830では、第6の通信ノード600は、第5の通信ノード500にウエイクアップフレームを送信する。
ステップS832では、第5の通信ノード500は、第6の通信ノード600からのウエイクアップフレームを受信する。
ステップS834では、第5の通信ノード500は、接続状態管理テーブル509の第6の通信ノード600の「接続状態」と「接続確認時間」とを更新する。第5の通信ノード500は、第5のグループ50に属する通信ノードに対して、ウエイクアップ要求フレームを送信し続けるようにしてもよい。
ステップS836では、第1の通信ノード100と第6の通信ノード600との間で通信が実行される。
図8に示されるシーケンスチャートにおいて、ステップS806、S808およびS812は、ほぼ同時に実行される。ステップS818、S822およびS824も、ほぼ同時に実行される。
図10は、通信システムの動作の一実施例(その2)を示す。
図10には、図8に示す動作において、第5の通信ノード500からウエイクアップ要求フレームが送信されなかった場合の動作を示す。
ステップS1002では、第1の通信ノード100は、第6の通信ノード600をウエイクアップさせるウエイクアップ依頼フレームを第5の通信ノード500を宛先として作成する。
ステップS1004では、第1の通信ノード100は、第5の通信ノード500にウエイクアップ依頼フレームを送信する。
ステップS1006では、第1の通信ノード100は、タイマを起動する。
ステップS1008では、第13の通信ノード1300は、ウエイクアップ依頼フレームを受信する。
ステップS1010では、第13の通信ノード1300は、接続状態管理テーブル1309の第1の通信ノード100の「接続状態」と「接続確認時間」とを更新する。
ステップS1012では、第5の通信ノード500は、ウエイクアップ依頼フレームを受信する。
ステップS1014では、第5の通信ノード500は、第5のグループ50に属する通信ノード、すなわち、第6の通信ノード600および第8の通信ノード800をウエイクアップさせるウエイクアップ要求フレームを作成する。
ステップS1016では、第5の通信ノード500は、第5のグループ50に属する通信ノードにウエイクアップ要求フレームを送信できない。
ステップS1018では、第1の通信ノード100は、ウエイクアップ依頼フレームを送信してから送受信待機時間を経過したか否かを判定する。送受信待機時間を経過していないと判定した場合、ステップS1018に戻る。
ステップS1020では、第1の通信ノード100は、送受待機時間を経過したと判定した場合、フェールセーフ状態に遷移する。
図10に示されるシーケンスチャートにおいて、ステップS1006、S1008およびS1012は、ほぼ同時に実行される。
図11は、通信システムの動作の一実施例(その3)を示す。
図11には、図8に示す動作において、第6の通信ノード600からウエイクアップフレームが送信されなかった場合の動作を示す。
ステップS1102−S1128は、図8のステップS802−S828を適用できる。
ステップS1130では、第6の通信ノード600は、第5の通信ノード500にウエイクアップフレームを送信できない。
ステップS1132では、第5の通信ノード500は、ウエイクアップ要求フレームを送信してから送受信待機時間を経過したか否かを判定する。送受信待機時間を経過していないと判定した場合、ステップS1132に戻る。
ステップS1134では、第5の通信ノード500は、ウエイクアップ要求フレームを送信してから送受信待機時間を経過したと判定した場合、接続状態管理テーブル509の第6の通信ノード600の「接続状態」と「接続確認時間」とを更新する。
ステップS1136では、第5の通信ノード500は、第5のグループ50に属する通信ノードの通信途絶えの監視を停止する。
ステップS1138では、第5の通信ノード500は、第1の通信ノード100からのウエイクアップ依頼フレームのデータIDを記憶する。
ステップS1140では、第5の通信ノード500は、第1の通信ノード100をスリープ状態に遷移させるスリープ依頼フレームを第13の通信ノード1300を宛先として作成する。
ステップS1142では、第5の通信ノード500は、第13の通信ノード1300にスリープ依頼フレームを送信する。
ステップS1144では、第13の通信ノード1300は、スリープ依頼フレームを受信する。
ステップS1146では、第13の通信ノード1300は、第1の通信ノード100をスリープ状態に遷移させるスリープ要求フレームを第1の通信ノード100を宛先として作成する。
ステップS1148では、第13の通信ノード1300は、第1の通信ノード100にスリープ要求フレームを送信する。
ステップS1150では、第13の通信ノード1300は、接続状態管理テーブル1309の第1の通信ノード100の「スリープフラグ」を「○」に更新する。
ステップS1152では、第1の通信ノード100は、スリープ要求フレームを受信する。
ステップS1154では、第1の通信ノード100は、スリープ状態に遷移する。
図11に示されるシーケンスチャートにおいて、ステップS1106、S1108およびS1112は、ほぼ同時に実行される。ステップS1118、S1122およびS1124は、ほぼ同時に実行される。
通信システムの一実施例によれば、スレーブ通信ノードは、該スレーブ通信ノードから他のスレーブ通信ノードをウエイクアップさせるために送信するウエイクアップ依頼フレームに応じてマスタ通信ノードから送信されるウエイクアップ要求フレームを受信するようにした。スレーブ通信ノードは、ウエイクアップ依頼フレームを送信してから送受信待機時間が経過してもウエイクアップ要求フレームを受信しない場合には、スリープ状態に遷移できる。このため、通信負荷を低減できる。
また、ウエイクアップ依頼フレームを送信したスレーブ通信ノードは、他のスレーブ通信ノードが通信可能状態となると想定される時間までウエイクアップ状態を継続することなく、ウエイクアップ依頼フレームを送信してから送受信待機時間が経過してもウエイクアップ要求フレームを受信しない場合には、スリープ状態に遷移できる。ウエイクアップ状態を継続する時間を短縮できるとともにアイドル時間を短縮できるため、消費電力を低減できる。
<第2の実施例>
<通信システム>
通信システムの一実施例は、図1を参照して説明した通信システムを適用できる。
通信システムの一実施例では、第1のスレーブ通信ノードは、第2のスレーブ通信ノードと通信ができないため、フェールセーフ状態に遷移している。この状態で、第2のスレーブ通信ノードの通信途絶えから復帰したことを確認できた場合に、第1のスレーブ通信ノードをウエイクアップさせる。
図1を参照して説明する。
第1の通信ノード100は、第6の通信ノード600との間で通信が成立せず、フェールセーフ状態である。第5の通信ノード500は、第1の通信ノード100から、第6の通信ノード600をウエイクアップさせるために送信されたウエイクアップ依頼フレームのデータIDを記憶している。
第9の通信ノード900は、第6の通信ノード600をウエイクアップさせるために、ウエイクアップ依頼フレームを送信する。ウエイクアップ依頼フレームは、第13の通信ノード1300を経由して、第6の通信ノード600のマスタノードである第5の通信ノード500に受信される。第13の通信ノード1300を経由する際、第13の通信ノード1300は、第9の通信ノード900の接続状態を更新する。
第5の通信ノード500は、第9の通信ノード900からのウエイクアップ依頼フレームを受信すると、接続状態管理テーブル509を参照し、第6の通信ノード600の現在の接続状態を確認する。
第5の通信ノード500は、第6の通信ノード600の現在の接続状態が接続されている状態である場合または第6の通信ノード600の現在の接続状態が接続されていない状態であっても直近の接続確認時間からの経過時間が設定時間未満である場合、第6の通信ノード600をウエイクアップさせるためのウエイクアップ要求フレームを送信する。
第6の通信ノード600は、ウエイクアップ要求フレームを受信すると、ウエイクアップし、ウエイクアップ要求フレームの送信元である第5の通信ノード500にウエイクアップフレームを送信する。
第5の通信ノード500は、第1の通信ノード100をウエイクアップさせるために、第13の通信ノード1300にウエイクアップ依頼フレームを送信する。
第13の通信ノード1300は、第5の通信ノード500からのウエイクアップ依頼フレームに基づいて、第1の通信ノード100をウエイクアップさせるためのウエイクアップ要求フレームを送信する。第13の通信ノード1300は、第1の通信ノード100のスリープフラグを更新する。
第5の通信ノード500は、第6の通信ノード600の現在の接続状態が接続されていない状態であり、且つ直近の接続確認時間からの経過時間が設定時間よりも経過している場合、第6の通信ノード600との間で通信できないと判断する。第6の通信ノード600との間で通信できないと判断した場合、第5の通信ノード500は、第9の通信ノード900をスリープ状態に遷移させると判断する。
第5の通信ノード500は、第9の通信ノード900からのウエイクアップ依頼フレームのデータIDを記憶するとともに、第13の通信ノード1300に、第9の通信ノード900をスリープ状態に遷移させることを許可するスリープ許可フレームを送信する。
第13の通信ノード1300は、第5の通信ノード500からのスリープ許可フレームを受信すると、第9の通信ノード900のスリープフラグを更新する。
第9の通信ノード900は、スリープ状態に遷移することが許可された状態となる。
第9の通信ノード900は、所定の期間が経過した後、または車両のイグニッションオフからイグニッションオンにされた場合に、最初の状態、つまり、第6の通信ノード600にウエイクアップ依頼フレームを送信する前の状態に戻る。
<第1の通信ノード100>
第1の通信ノード100の一実施例は、図2を参照して説明した第1の通信ノード100を適用できる。
<第1の通信ノード100の機能>
第1の通信ノード100の機能の一実施例は、図3を参照して説明した第1の通信ノード100を適用できる。
<第5の通信ノード500>
第5の通信ノード500の一実施例は、図5を参照して説明した第5の通信ノードを適用できる。
<第5の通信ノード500>
図12は、第5の通信ノード500の機能の一実施例を示す。
第5の通信ノード500の機能の一実施例は、図7を参照して説明した第5の通信ノード500に、スリープ許可フレーム作成部5048を追加したものである。
通信制御部5044は、トランシーバ510から、他のマスタノードからのウエイクアップ依頼フレームが入力された場合に、接続状態管理テーブル509を参照し、ウエイクアップの対象となるスレーブ通信ノードの接続状態を確認する。
通信制御部5044は、ウエイクアップの対象となるスレーブ通信ノードの接続状態が接続されている状態である場合、ウエイクアップ要求フレーム作成部5042に該ウエイクアップ依頼フレームを入力する。また、通信制御部5044は、スレーブ通信ノードの現在の接続状態が接続されていない状態であっても直近の接続確認時間からの経過時間が設定時間未満である場合、ウエイクアップ要求フレーム作成部5042に該ウエイクアップ依頼フレームを入力する。
通信制御部5044は、スレーブ通信ノードの現在の接続状態が接続されていない状態であり、且つ直近の接続確認時間からの経過時間が設定時間以上である場合、スリープ許可フレーム作成部5048に該ウエイクアップ依頼フレームを入力する。
スリープ許可フレーム作成部5048は、トランシーバ510と、通信制御部5044と接続される。スリープ許可フレーム作成部5048は、通信制御部5044からのスリープ許可フレームを作成する命令にしたがって、ウエイクアップ依頼フレームを送信したスレーブ通信ノードをスリープ状態に遷移させることを許可するスリープ許可フレームを作成する。スリープ許可フレーム作成部5048は、トランシーバ510にスリープ許可フレームを入力する。
通信制御部5044は、トランシーバ510から、他のマスタノードからのウエイクアップ許可フレームが入力された場合に、接続状態管理テーブル509の該ウエイクアップ許可フレームによりスリープ状態に遷移することが許可されるスレーブ通信ノードのスリープフラグをオンにする。
<通信システムの動作>
図13は、通信システムの動作の一実施例(その4)を示す。
第1の通信ノード100は、第6の通信ノード600との間で通信ができなかったことにより、フェールセーフ状態に遷移している。この状態で、第9の通信ノード900が、第6の通信ノード600と通信を行う場合の動作について説明する。
ステップS1302では、第1の通信ノード100は、フェールセーフ状態である。
ステップS1304では、第9の通信ノード900は、第6の通信ノード600をウエイクアップさせるウエイクアップ依頼フレームを第5の通信ノード500を宛先として作成する。
ステップS1306では、第9の通信ノード900は、第5の通信ノード500にウエイクアップ依頼フレームを送信する。
ステップS1308では、第9の通信ノード900は、タイマを起動する。
ステップS1310では、第13の通信ノード1300は、ウエイクアップ依頼フレームを受信する。
ステップS1312では、第13の通信ノード1300は、接続状態管理テーブル1309の第9の通信ノード900の「接続状態」と「接続確認時間」とを更新する。
ステップS1314では、第5の通信ノード500は、ウエイクアップ依頼フレームを受信する。
ステップS1316では、第5の通信ノード500は、接続状態管理テーブル509を参照し、第6の通信ノード600が現在接続されていること、または現在接続されていない場合でも直近の接続確認時間からの経過時間が設定時間未満であることを確認する。
ステップS1318では、第5の通信ノード500は、第5のグループ50に属する通信ノード、すなわち、第6の通信ノード600および第8の通信ノード800をウエイクアップさせるウエイクアップ要求フレームを作成する。
ステップS1320では、第5の通信ノード500は、第5のグループ50に属する通信ノードにウエイクアップ要求フレームを送信する。
ステップS1322では、第9の通信ノード900は、ウエイクアップ要求フレームを受信する。
ステップS1324では、第1の通信ノード100は、タイマを停止する。
ステップS1326では、第5の通信ノード500は、第5のグループ50に属する通信ノードの通信途絶えの監視を実施する。
ステップS1328では、第6の通信ノード600は、第5の通信ノード500からのウエイクアップ要求フレームを受信する。
ステップS1330では、第6の通信ノード600は、ウエイクアップする。
ステップS1332では、第6の通信ノード600は、ウエイクアップフレームを作成する。
ステップS1334では、第6の通信ノード600は、第5の通信ノード500にウエイクアップフレームを送信する。
ステップS1336では、第5の通信ノード500は、第6の通信ノード600からのウエイクアップフレームを受信する。
ステップS1338では、第5の通信ノード500は、記憶しているデータIDに基づいて、第1の通信ノード100をウエイクアップさせるウエイクアップ依頼フレームを第13の通信ノード1300を宛先として作成する。第5の通信ノード500は、第6の通信ノード600からのウエイクアップフレームを受信することにより、第6の通信ノード600が通信途絶えから回復したことを認識する。第5の通信ノード500は、RAM508に、第6の通信ノード600をウエイクアップさせるために第1の通信ノード100から送信されたウエイクアップ依頼フレームのデータIDを記憶している。第5の通信ノード500は、記憶しているウエイクアップ依頼フレームのデータIDに基づいて、第1の通信ノード100をウエイクアップさせるウエイクアップ依頼フレームを第13の通信ノード1300を宛先として作成する。
ステップS1340では、第5の通信ノード500は、第13の通信ノード1300にウエイクアップ依頼フレームを送信する。
ステップS1342では、第13の通信ノード1300は、ウエイクアップ依頼フレームを受信する。
ステップS1344では、第13の通信ノード1300は、第1の通信ノード100をウエイクアップさせるウエイクアップ要求フレームを作成する。
ステップS1346では、第13の通信ノード1300は、第1の通信ノード100にウエイクアップ要求フレームを送信する。
ステップS1348では、第13の通信ノード1300は、接続状態管理テーブル1309の第1の通信ノード100の「スリープフラグ」をオフに更新する。
ステップS1350では、第1の通信ノード100は、第13の通信ノード1300からのウエイクアップ要求フレームを受信する。
ステップS1352では、第1の通信ノード100は、ウエイクアップする。
図13に示されるシーケンスチャートにおいて、ステップS1308、S1310およびS1314は、ほぼ同時に実行される。ステップS1322、S1326およびS1328は、ほぼ同時に実行される。
図14は、通信システムの動作の一実施例(その5)を示す。
図14には、図13に示す動作において、第5の通信ノード500により接続状態管理テーブル509が参照された結果、第6の通信ノード600が現在接続されていること、または現在接続されていない場合でも直近の接続確認時間からの経過時間が設定時間未満であることの両方が確認できなかった場合の動作について説明する。
ステップS1402−S1414は、図13のステップS1302−S1314を適用できる。
ステップS1416では、第5の通信ノード500は、接続状態管理テーブル509を参照し、第6の通信ノード600が現在接続されておらず、且つ直近の接続確認時間からの経過時間が設定時間以上であることを確認する。
ステップS1418では、第5の通信ノード500は、第9の通信ノード900からのウエイクアップ依頼フレームのデータIDを記憶する。
ステップS1420では、第5の通信ノード500は、第9の通信ノード900をスリープ許可状態にするスリープ許可フレームを第13の通信ノード1300を宛先として作成する。
ステップS1422では、第5の通信ノード500は、第13の通信ノード1300にスリープ許可フレームを送信する。
ステップS1424では、第13の通信ノード1300は、スリープ許可フレームを受信する。
ステップS1426では、第13の通信ノード1300は、接続状態管理テーブル1309の第9の通信ノード900の「スリープフラグ」を更新する。
ステップS1428では、第9の通信ノード900は、送受信待機時間を経過したか否かを判定する。送受信待機時間を経過していないと判定した場合、ステップS1428に戻る。
ステップS1430では、第9の通信ノード900は、送受待機時間を経過したと判定した場合、フェールセーフ状態に遷移する。第9の通信ノード900は、送受待機時間を経過したと判定した場合、スリープ状態に遷移するようにしてもよい。
通信システムの一実施例によれば、スレーブ通信ノードが、通信相手となる他のスレーブ通信ノードとの間で通信途絶えによりフェールセーフ状態に遷移している状態で、他の通信ノードが通信途絶えから復帰した場合に、通信可能となったことをスレーブ通信ノードへ通知できる。このため、スレーブ通信ノードがフェールセーフ状態となってから、該フェール状態から復帰するまでの時間を短縮できる。
また、マスタ通信ノードは、スレーブ通信ノードから他のスレーブ通信ノードをウエイクアップさせるために送信するウエイクアップ依頼フレームに基づいて、他のスレーブ通信ノードにウエイクアップ要求フレームを送信することなく通信できるか否かを判断できる。
<第3の実施例>
<通信システム>
通信システムの一実施例は、図1を参照して説明した通信システムを適用できる。
通信システムの一実施例では、第1の通信ノード100と第6の通信ノード600との間で通信を行う。第6の通信ノード600は、スリープ状態である。第1の通信ノード100は、第6の通信ノード600をウエイクアップさせるために、ウエイクアップ依頼フレームを送信する。ウエイクアップ依頼フレームは、第13の通信ノード1300を経由して、第6の通信ノード600のマスタノードである第5の通信ノード500に受信される。第13の通信ノード1300を経由する際、第13の通信ノード1300は、第1の通信ノード100の接続状態を更新する。
第5の通信ノード500は、第1の通信ノード100からのウエイクアップ依頼フレームを受信すると、接続状態管理テーブル509を参照し、第6の通信ノード600の現在の接続状態を確認する。
第5の通信ノード500は、第6の通信ノード600の現在の接続状態が接続されている状態である場合または第6の通信ノード600の現在の接続状態が接続されていない状態であっても直近の接続確認時間からの経過時間が設定時間未満である場合、第6の通信ノード600をウエイクアップさせるためのウエイクアップ要求フレームを送信する。
第6の通信ノード600は、ウエイクアップ要求フレームを受信すると、ウエイクアップし、ウエイクアップ要求フレームの送信元である第5の通信ノード500にウエイクアップフレームを送信する。
第5の通信ノード500は、第6の通信ノード600の現在の接続状態が接続されていない状態であり、且つ直近の接続確認時間からの経過時間が設定時間よりも経過している場合、第6の通信ノード600との間で通信できないと判断する。
第6の通信ノード600との間で通信できないと判断した第5の通信ノード500は、第1の通信ノード100をスリープ状態にすることを許可する。
第5の通信ノード500は、第1の通信ノード100からのウエイクアップ依頼フレームのデータIDを記憶するとともに、第13の通信ノード1300に、第1の通信ノード100をスリープ状態に遷移させることを許可するスリープ許可フレームを送信する。
第13の通信ノード1300は、第5の通信ノード500からのスリープ許可フレームを受信すると、接続状態管理テーブル1309の第1の通信ノード100のスリープフラグを更新する。
第1の通信ノード100は、スリープ状態に遷移することが許可された状態となる。
第1の通信ノード100は、所定の期間が経過した後、または車両のイグニッションオフからイグニッションオンにされた場合に、最初の状態、つまり、第6の通信ノード600にウエイクアップ依頼フレームを送信する前の状態に戻る。
<第1の通信ノード100>
第1の通信ノード100の一実施例は、図2を参照して説明した第1の通信ノード100を適用できる。
<第1の通信ノード100の機能>
第1の通信ノード100の機能の一実施例は、図3を参照して説明した第1の通信ノード100の機能ブロック図を適用できる。
<第5の通信ノード500>
第5の通信ノード500の一実施例は、図5を参照して説明した第5の通信ノードを適用できる。
<第5の通信ノード500>
図12は、第5の通信ノード500の機能の一実施例は、図12を参照して説明した第5の通信ノード500の機能ブロック図を適用できる。
<通信システムの動作>
図15は、通信システムの動作の一実施例(その6)を示す。
ステップS1502では、第1の通信ノード100は、第6の通信ノード600をウエイクアップさせるウエイクアップ依頼フレームを第5の通信ノード500を宛先として作成する。
ステップS1504では、第1の通信ノード100は、第5の通信ノード500にウエイクアップ依頼フレームを送信する。
ステップS1506では、第1の通信ノード100は、タイマを起動する。
ステップS1508では、第13の通信ノード1300は、ウエイクアップ依頼フレームを受信する。
ステップS1510では、第13の通信ノード1300は、接続状態管理テーブル1309の第1の通信ノード100の「接続状態」と「接続確認時間」とを更新する。
ステップS1512では、第5の通信ノード500は、ウエイクアップ依頼フレームを受信する。
ステップS1514では、第5の通信ノード500は、接続状態管理テーブル509を参照し、第6の通信ノード600が現在接続されていること、または現在接続されていない場合でも直近の接続確認時間からの経過時間が設定時間未満であることを確認する。
ステップS1516では、第5の通信ノード500は、第5のグループ50に属する通信ノード、すなわち、第6の通信ノード600および第8の通信ノード800をウエイクアップさせるウエイクアップ要求フレームを作成する。
ステップS1518では、第5の通信ノード500は、第5のグループ50に属する通信ノードにウエイクアップ要求フレームを送信する。
ステップS1520では、第1の通信ノード100は、ウエイクアップ要求フレームを受信する。
ステップS1522では、第1の通信ノード100は、タイマを停止する。
ステップS1524では、第5の通信ノード500は、第5のグループ50に属する通信ノードの通信途絶えの監視を実施する。
ステップS1526では、第6の通信ノード600は、第5の通信ノード500からのウエイクアップ要求フレームを受信する。
ステップS1528では、第6の通信ノード600は、ウエイクアップする。
ステップS1530では、第6の通信ノード600は、ウエイクアップフレームを作成する。
ステップS1532では、第6の通信ノード600は、第5の通信ノード500にウエイクアップフレームを送信する。
ステップS1534では、第5の通信ノード500は、第6の通信ノード600からのウエイクアップフレームを受信する。
ステップS1536では、第5の通信ノード500は、接続状態管理テーブル509の第6の通信ノード600の「接続状態」と「接続確認時間」を更新する。
図15に示されるシーケンスチャートにおいて、ステップS1506、S1508およびS1512は、ほぼ同時に実行される。ステップS1520、S1524およびS1526は、ほぼ同時に実行される。
図16は、通信システムの動作の一実施例(その7)を示す。
図16には、図15に示す動作において、第5の通信ノード500により接続状態管理テーブル509が参照された結果、第6の通信ノード600が現在接続されていること、または現在接続されていない場合でも直近の接続確認時間からの経過時間が設定時間未満であることの両方が確認できなかった場合の動作について説明する。
ステップS1602−S1612は、図15のステップS1502−S1512を適用できる。
ステップS1614では、第5の通信ノード500は、接続状態管理テーブル509を参照し、第6の通信ノード600が現在接続されておらず、且つ直近の接続確認時間からの経過時間が設定時間以上であることを確認する。
ステップS1616では、第5の通信ノード500は、第1の通信ノード100からのウエイクアップ依頼フレームのデータIDを記憶する。
ステップS1618では、第5の通信ノード500は、第1の通信ノード100をスリープ許可状態にするスリープ許可フレームを第13の通信ノード1300を宛先として作成する。
ステップS1620では、第5の通信ノード500は、第13の通信ノード1300にスリープ許可フレームを送信する。
ステップS1622では、第13の通信ノード1300は、スリープ許可フレームを受信する。
ステップS1624では、第13の通信ノード1300は、接続状態管理テーブル1309の第1の通信ノード100の「スリープフラグ」を「○」(オン)に更新する。
ステップS1626では、第1の通信ノード100は、送受信待機時間を経過したか否かを判定する。送受信待機時間を経過していないと判定した場合、ステップS1626に戻る。
ステップS1628では、第1の通信ノード100は、送受待機時間を経過したと判定した場合、フェールセーフ状態に遷移する。第1の通信ノード100は、送受待機時間を経過したと判定した場合、スリープ状態に遷移するようにしてもよい。
図16に示されるシーケンスチャートにおいて、ステップS1606、S1608およびS1612は、ほぼ同時に実行される。
図17は、通信システムの動作の一実施例(その8)を示す。
図17に示される例では、図15を参照して説明した動作において、第6の通信ノード600からウエイクアップフレームが送信されない場合を示す。
ステップS1702−S1730は、図15のステップS1502−S1530を適用できる。
ステップS1732では、第6の通信ノード600は、第5の通信ノード500にウエイクアップフレームを送信できない。
ステップS1734では、第5の通信ノード500は、ウエイクアップ要求フレームを送信してから送受信待機時間を経過したか否かを判定する。送受信待機時間を経過していないと判定した場合、ステップS1734に戻る。
ステップS1736では、第5の通信ノード500は、ウエイクアップ要求フレームを送信してから送受信待機時間を経過したと判定した場合、接続状態管理テーブル509の第6の通信ノード600の「接続状態」と「接続確認時間」とを更新する。
ステップS1738では、第5の通信ノード500は、第1の通信ノード100からのウエイクアップ依頼フレームのデータIDを記憶する。
ステップS1740では、第5の通信ノード500は、第1の通信ノード100をスリープ許可状態にするスリープ許可フレームを第13の通信ノード1300を宛先として作成する。
ステップS1742では、第5の通信ノード500は、第13の通信ノード1300にスリープ許可フレームを送信する。
ステップS1744では、第13の通信ノード1300は、スリープ許可フレームを受信する。
ステップS1746では、第13の通信ノード1300は、接続状態管理テーブル1309の第1の通信ノード100の「スリープフラグ」を「○」に更新する。
図17に示されるシーケンスチャートにおいて、ステップS1706、S1708およびS1712は、ほぼ同時に実行される。ステップS1720、S1724およびS1726は、ほぼ同時に実行される。
通信システムの一実施例によれば、マスタ通信ノードは、スレーブ通信ノードから他のスレーブ通信ノードをウエイクアップさせるために送信するウエイクアップ依頼フレームに基づいて、他のスレーブ通信ノードにウエイクアップ要求フレームを送信することなく通信できるか否かを判断できる。
このため、通信負荷を低減しつつ、スレーブ通信ノードがスリープ状態に遷移することを許可することができる。
以上、本発明は特定の実施例及び変形例を参照しながら説明されてきたが、各実施例及び変形例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウエアで、ソフトウエアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。
10 第1のグループ
20 第2のグループ
30 第3のグループ
40 第4のグループ
50 第5のグループ
60、70 通信バス
100 第1の通信ノード
102 マイクロコントローラ
104 CPU
106 ROM
108 RAM
110 トランシーバ
200 第2の通信ノード
300 第3の通信ノード
400 第4の通信ノード
500 第5の通信ノード
502 マイクロコントローラ
504 CPU
506 ROM
508 RAM
509 接続状態管理テーブル
600 第6の通信ノード
700 第7の通信ノード
800 第8の通信ノード
900 第9の通信ノード
1000 第10の通信ノード
1100 第11の通信ノード
1200 第12の通信ノード
1300 第13の通信ノード
1309 接続状態管理テーブル

Claims (9)

  1. 第1の通信ノードと複数の第2の通信ノードとを有する通信システムであって、
    前記第1の通信ノードは、
    前記複数の第2の通信ノードのうちの一つの第2の通信ノードからの該第2の通信ノード以外の他の第2の通信ノードをウエイクアップさせる要求に基づいて、該他の第2の通信ノードをウエイクアップさせるウエイクアップ要求フレームを作成する第1の演算処理部と、
    前記他の第2の通信ノードに前記第1の演算処理部により作成したウエイクアップ要求フレームを送信する送信部と
    を有し、
    前記第2の通信ノードは、
    前記他の第2の通信ノードをウエイクアップさせる要求を行った後に、前記ウエイクアップ要求フレームを受信したか否かに基づいて、前記第2の通信ノードと前記第1の通信ノードとの間の接続状態を判断する第2の演算処理部
    を有する、通信システム。
  2. 第1の通信ノードと複数の第2の通信ノードとを有する通信システムにおける第1の通信ノードであって、
    前記複数の第2の通信ノードのうちの一つの第2の通信ノードからの該第2の通信ノード以外の他の第2の通信ノードをウエイクアップさせる要求に基づいて、該他の第2の通信ノードをウエイクアップさせるウエイクアップ要求フレームを作成する演算処理部と、
    前記他の第2の通信ノードに前記演算処理部により作成したウエイクアップ要求フレームを送信する送信部と
    を有し、
    前記演算処理部は、前記他の第2の通信ノードから前記ウエイクアップ要求フレームに対する応答フレームを受信しない場合に、前記第2の通信ノードをスリープ状態に遷移させるためのスリープ要求フレームを作成し、
    前記送信部は、前記第2の通信ノードに前記スリープ要求フレームを送信する、通信ノード。
  3. 前記演算処理部は、前記他の第2の通信ノードが通信途絶えから復帰した際に、前記第2の通信ノードをウエイクアップさせるウエイクアップ要求フレームを作成し、
    前記送信部は、前記第2の通信ノードに該ウエイクアップ要求フレームを送信する、請求項2に記載の通信ノード。
  4. 第1の通信ノードと通信を行う複数の第2の通信ノードのうちの一つの通信ノードであって、
    前記第1の通信ノードに、該通信ノード以外の他の第2の通信ノードをウエイクアップさせる要求を行った後に、前記第1の通信ノードにより前記他の第2の通信ノードをウエイクアップさせるために送信するウエイクアップ要求フレームが送信されたか否かに基づいて、前記通信ノードと前記第1の通信ノードとの間の接続状態を判断する演算処理部
    を有する、通信ノード。
  5. 前記演算処理部は、前記ウエイクアップ要求フレームを受信しない場合に、通信途絶えのダイアグコードを記憶し、スリープ状態に遷移する制御を実行する、請求項4に記載の通信ノード。
  6. 前記演算処理部は、前記他の第2の通信ノードが通信途絶えから復帰した際に、前記第1の通信ノードから送信されるウエイクアップ要求フレームにしたがって、ウエイクアップする制御を実行する、請求項5に記載の通信ノード。
  7. 第1の通信ノードと該第1の通信ノードと通信を行う複数の第2の通信ノードとを有する通信システムにおける通信方法であって、
    前記第1の通信ノードは、
    前記複数の第2の通信ノードのうちの一つの第2の通信ノードから、該第2の通信ノード以外の他の第2の通信ノードをウエイクアップさせるウエイクアップ依頼フレームを受信し、
    該ウエイクアップ依頼フレームに基づいて、該他の第2の通信ノードをウエイクアップさせるウエイクアップ要求フレームを作成し、
    前記他の第2の通信ノードに前記ウエイクアップ要求フレームを送信し、
    前記第2の通信ノードは、
    前記他の第2の通信ノードをウエイクアップさせるウエイクアップ依頼フレームを送信し、
    前記ウエイクアップ要求フレームを受信したか否かに基づいて、前記第2の通信ノードと前記第1の通信ノードとの間の接続状態を判断する、通信方法。
  8. 第1の通信ノードと複数の第2の通信ノードとを有する通信システムにおける第1の通信ノードの通信方法であって、
    前記複数の第2の通信ノードのうちの一つの第2の通信ノードからの該第2の通信ノード以外の他の第2の通信ノードをウエイクアップさせる要求に基づいて、該他の第2の通信ノードをウエイクアップさせるウエイクアップ要求フレームを作成し、
    前記他の第2の通信ノードに前記ウエイクアップ要求フレームを送信し、
    前記他の第2の通信ノードから前記ウエイクアップ要求フレームに対する応答フレームを受信しない場合に、前記第2の通信ノードをスリープ状態に遷移させるためのスリープ要求フレームを作成し、
    前記第2の通信ノードに前記スリープ要求フレームを送信する、通信方法。
  9. 第1の通信ノードと通信を行う複数の第2の通信ノードのうちの一つの第2の通信ノードの通信方法であって、
    前記第1の通信ノードに、該第2の通信ノード以外の他の第2の通信ノードをウエイクアップさせるウエイクアップ依頼フレームを送信し、
    前記第1の通信ノードにより前記他の第2の通信ノードをウエイクアップさせるために送信するウエイクアップ要求フレームが送信されたか否かに基づいて、前記第2の通信ノードと前記第1の通信ノードとの間の接続状態を判断する、通信方法。
JP2013253587A 2013-12-06 2013-12-06 通信システム、及び通信ノード並びに通信方法 Pending JP2015111790A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013253587A JP2015111790A (ja) 2013-12-06 2013-12-06 通信システム、及び通信ノード並びに通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013253587A JP2015111790A (ja) 2013-12-06 2013-12-06 通信システム、及び通信ノード並びに通信方法

Publications (1)

Publication Number Publication Date
JP2015111790A true JP2015111790A (ja) 2015-06-18

Family

ID=53526351

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013253587A Pending JP2015111790A (ja) 2013-12-06 2013-12-06 通信システム、及び通信ノード並びに通信方法

Country Status (1)

Country Link
JP (1) JP2015111790A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017204263A (ja) * 2016-05-10 2017-11-16 エルエス産電株式会社Lsis Co., Ltd. スレーブデバイスの制御方法
JP2018074243A (ja) * 2016-10-25 2018-05-10 株式会社デンソー 中継装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017204263A (ja) * 2016-05-10 2017-11-16 エルエス産電株式会社Lsis Co., Ltd. スレーブデバイスの制御方法
US10277502B2 (en) 2016-05-10 2019-04-30 Lsis Co., Ltd. Slave device control method
JP2018074243A (ja) * 2016-10-25 2018-05-10 株式会社デンソー 中継装置

Similar Documents

Publication Publication Date Title
CN103200035B (zh) 基于osek标准的网络休眠方法、装置及ecu
CN109710554B (zh) Fc-ae-1553总线与can总线非透明桥接系统
CN111698107B (zh) 整车网络管理方法、装置、系统及计算机设备
US9276822B2 (en) Method for transmitting messages in a communication network
CN107018089B (zh) 网络中的通信节点的操作方法
WO2019184455A1 (zh) 信息传输方法、装置、设备及存储介质
JP2008312024A (ja) 中継接続ユニット
JP2015177456A (ja) 通信システム及び中継装置
KR20160146045A (ko) 차량 네트워크에서 통신노드의 동작방법
JP2015179888A (ja) 通信システム及び中継装置
CN108123838B (zh) 节点状态管理方法及节点状态管理装置
KR102293037B1 (ko) 네트워크에서 통신 노드의 동작 방법
JP2015111790A (ja) 通信システム、及び通信ノード並びに通信方法
US9323629B2 (en) Method for managing path failures of OSEK networks
JP5218979B2 (ja) データ転送装置
JP2009248711A (ja) 車載通信システム
JP2013098916A (ja) 中継システム、及び、当該中継システムを構成する中継装置
JP2015154189A (ja) 通信システム、ゲートウェイ装置及び通信ノード並びに通信制御方法
JP2015091062A (ja) 通信システムおよびゲートウェイ装置並びに通信方法
JP6477438B2 (ja) 通信装置および通信システム
JP2009124480A (ja) 車載ゲートウェイ及び車両用通信システム
KR20160146048A (ko) 차량 네트워크에서 통신 노드의 동작방법
JP2002073121A (ja) ネットワーク制御システム、その通信モジュール、及びリモート制御方法
JP2014187544A (ja) 通信システム、及び通信ノード並びに通信方法
JP2014154998A (ja) 通信システム、及び通信ノード並びに通信方法