JP6332040B2 - 通信システム及びサブマスタノード - Google Patents

通信システム及びサブマスタノード Download PDF

Info

Publication number
JP6332040B2
JP6332040B2 JP2015001551A JP2015001551A JP6332040B2 JP 6332040 B2 JP6332040 B2 JP 6332040B2 JP 2015001551 A JP2015001551 A JP 2015001551A JP 2015001551 A JP2015001551 A JP 2015001551A JP 6332040 B2 JP6332040 B2 JP 6332040B2
Authority
JP
Japan
Prior art keywords
header
master
node
bus
header information
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.)
Active
Application number
JP2015001551A
Other languages
English (en)
Other versions
JP2016127523A (ja
Inventor
福田 賢司
賢司 福田
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 JP2015001551A priority Critical patent/JP6332040B2/ja
Priority to DE102016200105.1A priority patent/DE102016200105B4/de
Publication of JP2016127523A publication Critical patent/JP2016127523A/ja
Application granted granted Critical
Publication of JP6332040B2 publication Critical patent/JP6332040B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • H04L12/2827Reporting to a device within the home network; wherein the reception of the information reported automatically triggers the execution of a home appliance functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、複数のノードを備えた通信システムに関する。
通信システムとして、マスタノードが、クロック信号と、ノードを指定するヘッダ情報を、バスに送信し、マスタノード以外のノードであるスレーブノードが、バスに送信されたクロック信号に同期して通信動作を行う、という通信システムがある。この通信システムにおいて、スレーブノードは、自身を指定するヘッダ情報を受信すると、そのヘッダ情報に対して送信すべきレスポンスを、バスに送信する。レスポンスは、ヘッダ情報と共に通信のフレームを成すデータ列である(例えば、特許文献1参照)。
上記通信システムでは、マスタノードに異常が生じて、バスへのクロック信号が途絶えた場合には、通信が成立しなくなる。このため、例えば特許文献1では、スレーブノードの1つを、マスタノードの故障時にマスタノードの代役をするサブマスタノードにしている。具体的には、サブマスタノードが、マスタノードに代わって、クロック信号の送信を行うと共に、ヘッダ情報の送信も行うことで、スレーブノードがヘッダ情報に対してレスポンスを送信する、というポーリング方式の通信を実施可能にしている。
特開2013−30932号公報
特許文献1のサブマスタノードは、マスタノードが正常の場合に送信する全てのヘッダ情報を送信する。このため、サブマスタノードには、マスタノードと同等以上の処理能力を持たせなければならない。よって、サブマスタノードの大型化及び高コスト化を招くこととなり、通信システム全体としても高コスト化を招くこととなる。一般に、スレーブノードは、マスタノードと比較して、処理能力の低い安価な信号処理部を主要部として構成したい、という要望があるが、その要望から乖離することとなる。
そこで、本発明は、マスタノードの故障による通信への影響を最小限にすることと、マスタノードの代役をするサブマスタノードに必要な処理能力を低減することとを、両立させることを目的としている。
第1発明の通信システムは、バスを介して接続された3つ以上のノードを備える。ノードのうちの1つは、クロック信号と、ノードを指定するヘッダ情報を、バスに送信するマスタノードである。ノードのうち、マスタノード以外のノードは、バスに送信されたクロック信号に同期して通信動作を行うスレーブノードである。スレーブノードは、自身を指定するヘッダ情報を受信すると、そのヘッダ情報に対して送信すべきレスポンスであって、ヘッダ情報と共に通信のフレームを成すレスポンスを、バスに送信する。
そして、この通信システムにおいて、スレーブノードのうちの1つは、クロック送信代行手段とヘッダ送信代行手段とを備えるサブマスタノードである。
サブマスタノードにおいて、クロック送信代行手段は、マスタノードからのクロック信号が途絶えたと判定した場合に、クロック信号のバスへの送信を、マスタノードに代わって実施する。そして、ヘッダ送信代行手段は、マスタノードからのヘッダ情報が途絶えたと判定した場合に、ヘッダ情報のバスへの送信を、マスタノードに代わって実施する。但し、ヘッダ送信代行手段は、マスタノードが正常の場合に送信するヘッダ情報のうちの一部であって、重要度が高いフレームのヘッダ情報としてメモリに記憶されているヘッダ情報を、マスタノードに代わってバスに送信する。
この通信システムによれば、マスタノードが故障しても、サブマスタノードがマスタノードに代わってクロック信号の送信とヘッダ情報の送信とを実施することにより、通信への影響を最低限に抑えることができる。サブマスタノードは、マスタノードが正常の場合に送信するヘッダ情報の全てではなく、重要度が高いフレームのヘッダ情報だけをバスに送信するため、サブマスタノードに必要な処理能力を低減させることができる。
よって、マスタノードの故障による通信への影響を最小限にすることと、マスタノードの代役をするサブマスタノードに必要な処理能力を低減することとを、両立させることができる。
なお、特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
実施形態の通信システムを表す構成図である。 バスで使用する伝送路符号の構成を示す説明図である。 バスを介して送受信されるフレームの構成を示す説明図である。 フレームを構成する各情報の内容とサイズを示す説明図である。 サブマスタの信号処理部が行う代行制御処理を表すフローチャートである。 サブマスタの信号処理部が行う学習処理を表すフローチャートである。 記憶済みヘッダテーブルの説明図である。 重要フレームリストの説明図である。 サブマスタの信号処理部が行うスリープ制御処理を表すフローチャートである。 実施形態の作用を説明する説明図である。
以下に、本発明が適用された実施形態の通信システムについて説明する。
<全体構成の説明>
図1に示す実施形態の通信システム1は、車両に搭載される通信システムであり、通信装置としてのノード3を複数備える。そして、複数のノード3は、通信路としてのバス5を介して接続されている。図1では、4つのノード3を図示しているが、ノード3の数は、3あるいは5以上でも良い。
ノード3は、車両におけるボデー系のアプリケーションを実現する電子制御装置(以下、ECUという)や、車両の状態を検出したり車両の状態を制御したりするために設けられたスイッチやセンサ等の関連機器である。尚、ECUは、「Electronic Control Unit」の略である。例えば、ノード3のうち、ECUとしては、パワーウィンドウ、ドアロックを制御するボデーECUや、ワイパを制御するワイパECUや、シートを制御するシートECUや、ライトを制御するライトECU等がある。また、ノード3のうち、関連機器としては、ライトスイッチや、ライトセンサや、ワイパスイッチや、レインセンサ等がある。
<伝送符号の説明>
バス5は、異なるノード3からハイレベル(以下単に、ハイという)の信号とローレベル(以下単に、ローという)の信号とが同時に出力されると、当該バス5上の信号レベルがローとなるように構成されている。
そして、図2に示すように、バス5に流れる「0」または「1」の伝送路符号としては、ビットの途中で信号レベルがローからハイに変化するPWM(パルス幅変調)符号が用いられる。この伝送路符号では、ドミナント(この例では0に対応)とレセッシブ(この例では1に対応)との、二値の信号を、2種類のデューティ比で表現する。具体的には、ドミナントの方がレセッシブよりローの比率が大きくなるように設定(この例では、ドミナントが1ビットの2/3の期間、レセッシブが1ビットの1/3の期間)に設定されている。そして、バス5上でドミナントとレセッシブとが衝突した場合には、ドミナントが勝つようになっている。
<フレームの説明>
図3に示すように、ノード3間の通信に使用されるフレームは、送信を許可するデータを指定するためのヘッダと、ヘッダによって指定されたデータを送信するための可変長のレスポンスからなる。
ヘッダは、送信を許可するデータのID(識別子)を示す。図4に示すように、ヘッダは、8ビットであり、ヘッダが示すIDは、フレームの種類を示すフレームIDでもある。例えば、ヘッダを成す8ビットのうち、7ビットがIDとして用いられ、残りの1ビットはパリティビットとして用いられる。
レスポンスは、図3,図4に示すように、ヘッダによって指定されたデータである「DATA」以外に、4ビットの「DLC」と、2ビットの「NM」と、2ビットの「CT」と、8ビットの「CRC」とを含む。尚、「DATA」は、0〜12バイトの範囲で可変である。
「DLC」は、レスポンスに含まれる「DATA」のデータ長を示す情報である。
「NM」は、ネットワークマネージメントのための情報であり、以下では、NM情報という。NM情報は、1ビットのウェイクアップ要求情報と、1ビットのスリープ可否情報とからなる。ウェイクアップ要求情報は、このレスポンスを送信したノード3が、後述のウェイクアップ信号を送信したノード3である場合に、例えば「1」に設定される。スリープ可否情報は、このレスポンスを送信したノード3が、後述のスリープモードに遷移可能か否かを示す情報である。この例において、スリープ可否情報が「0」であることは、スリープ禁止を示し、スリープ可否情報が「1」であることは、スリープ許可を示す。
「CT」は、フレームの連続性を示すカウンタ情報である。特定のヘッダに対するレスポンスについては、そのヘッダに対するレスポンスが送信される毎に、「CT」の値が所定のルールで更新される。例えば、あるヘッダに対するレスポンス内の「DATA」が、重要なデータであって、受信する側でデータ抜けが起こると、実施する制御への影響が大きいデータである場合、そのレスポンスを送信するノード3は、送信時毎に「CT」の値を「0→1→2→3→0」というように更新する。レスポンスを受信する側において、その「CT」の値に基づき、データの抜けを検出できるようにするためである。
「CRC」は、フレームのエラーをチェックするためのCRC(Cyclic Redundancy Check)符号である。
尚、各ノード3がどのデータを送信するかは予め定められているため、ヘッダは、レスポンスを送信すべきノードを指定するための情報でもある。ヘッダ(詳しくはヘッダが示すID)の値は、ノードを指定するヘッダ情報に相当する。
<ノードの説明>
各ノード3は、車両のバッテリ電圧を電源として動作する。各ノード3の動作モードとしては、ウェイクアップモードとスリープモードとがある。ウェイクアップモードは、予め割り当てられた全ての機能を実行可能な通常の動作モードである。スリープモードは、消費電力を抑えるために一部の機能を停止した動作モードである。各ノード3は、スリープモードでは、バス5に信号を出力しない。全てのノード3がスリープモードになることで、通信システム1全体がスリープ状態になる。
各ノード3は、スリープモードになっている場合に、自身に定められたウェイクアップ要因が発生すると、ウェイクアップする。つまり、スリープモードからウェイクアップモードに遷移する。そして、ウェイクアップ要因の発生によってウェイクアップしたノード3(後述のマスタノードを除く)は、バス5にウェイクアップ信号を送信し、他のノード3は、ウェイクアップ信号を検知することで、ウェイクアップする。後述のマスタノードはウェイクアップ要因の発生によって後述のクロック信号を送信する。ウェイクアップ信号は、ウェイクアップ要因の発生によって最初にウェイクアップしたノード3が、他のノード3をウェイクアップさせる信号であり、例えば所定時間ローになる信号である。
ここで、図1に示すように、通信システム1では、ノード3のうちの1つ(例えば前述のボデーECU)を、マスタノード(以下単に、マスタという)3aとしており、マスタ3a以外のノード3を、スレーブノード(以下単に、スレーブという)3b,3cとしている。
更に、スレーブ3b,3cのうちの1つであるスレーブ3c(例えば前述のワイパECU)を、サブマスタノード(以下単に、サブマスタという)3cとしている。サブマスタ3cは、通常時はスレーブとして動作する(つまり、他のスレーブ3bと同様に動作する)が、マスタ3aの故障時には、マスタ3aの代役を果たす。尚、以下の説明において、サブマスタ3cを他のスレーブ3bと区別しない場合には、サブマスタ3cのこともスレーブ3cという。
マスタ3aは、ウェイクアップモードの場合に、予め定められた条件が成立すると、スリープモードに遷移し、バス5に信号を送信しない状態となる。
そして、マスタ3aは、スリープモードの場合に、自身のウェイクアップ要因あるいは他のノード3からのウェイクアップ信号によってウェイクアップすると、そのウェイクアップ時から第1の規定時間T1が経過した時点で、バス5へのクロック信号の送信を開始する。本実施形態において、クロック信号は、図2に示した伝送路符号の立ち下がりエッジ(即ち、ビット境界となるエッジ)である。マスタ3aは、バス5に情報の信号を送信せずに、クロック信号だけを送信する場合には、図2示したレセッシブの信号を繰り返し送信することとなる。
そして、マスタ3aは、ウェイクアップ時から上記第1の規定時間T1よりも長い第2の規定時間T2が経過すると、バス5へのヘッダの送信を開始する。マスタ3aから送信されるヘッダは複数種類あり、各ヘッダは予め定められたスケジュールで定期的に送信される。尚、マスタ3aがヘッダを送信している場合には、送信されるヘッダにおける各ビットの境界としての立ち下がりエッジが、スレーブ3b,3cにおいてクロック信号として扱われる。その場合、マスタ3aは、バス5にクロック信号とヘッダ情報(ヘッダの値)との両方を送信していることになる。
スレーブ3b,3cも、予め定められた条件が成立するとスリープモードに遷移する。例えば、スレーブ3b,3cは、スリープモードへの遷移を指示するスリープフレームを受信した場合や、ヘッダを受信しない連続時間が所定のエラー判定時間T3以上になった場合に、スリープモードに遷移する。尚、エラー判定時間T3は、上記第2の規定時間T2よりも十分に長い。
そして、スレーブ3b,3cは、スリープモードの場合に、自身のウェイクアップ要因あるいは他のノード3からのウェイクアップ信号によってウェイクアップすると、バス5に流れる信号の立ち下がりエッジをクロック信号として抽出すると共に、そのクロック信号に同期して通信動作を行う。スレーブ3b,3cは、自身を指定するヘッダ(この例では自身が送信すべきデータを指定するヘッダ)を受信すると、そのヘッダに対して送信すべき前述のレスポンスをバス5に送信する。その際に、スレーブ3b,3cは、バス5から抽出したクロック信号に同期したタイミングで、受信データの復号化や送信データのPWM符号への符号化等を行う。
<マスタの構成>
図1に示すように、マスタ3aは、当該マスタ3aの動作を司る信号処理部21と、通信回路23と、を備える。この例では、信号処理部21は、マイクロコンピュータ(以下、マイコンと言う)によって構成されており、CPU25と、CPU25が実行するプログラムが記憶されたROM26と、CPU25による演算結果が記憶されるRAM27と、水晶発振子等を用いて構成された発振回路28と、を備える。尚、発振回路28は、信号処理部21の外に設けられていても良い。
通信回路23は、発振回路28からの内部クロックに同期して、前述したクロック信号のバス5への送信を行うと共に、通信動作を行う。クロック信号の周期は、例えば内部クロックの周期と同じである。通信回路23は、通信動作としては、例えば、信号処理部21から供給されるデータをPWM符号に符号化してバス5に送信する送信動作や、バス5上のデータを受信して例えばNRZ(Non Return to Zero)符号に復号し、復号後のデータを信号処理部21に供給する受信動作を行う。
また、通信回路23は、前述のウェイクアップ信号を検出すると、自身及び信号処理部21をウェイクアップさせる(延いては当該マスタ3aをウェイクアップさせる)機能も有している。尚、通信回路23の機能は、信号処理部21に備えられていても良い。
<スレーブの構成>
図1に示すように、スレーブ3bも、当該スレーブ3bの動作を司る信号処理部31と、通信回路33と、を備える。この例では、信号処理部31は、マイコンによって構成されており、CPU35と、CPU35が実行するプログラムが記憶されたROM36と、CPU35による演算結果が記憶されるRAM37と、を備える。
通信回路33は、バス5に流れる信号の立ち下がりエッジを、クロック信号として抽出する機能を有している。そして、通信回路33は、バス5から抽出したクロック信号に同期して、マスタ3aの通信回路23と同様の通信動作(送信動作及び受信動作)を行う。このため、通信回路33は、マスタ3aの通信回路23と同期して通信動作を行うこととなる。
また、通信回路33は、前述のウェイクアップ信号を検出すると、自身及び信号処理部31をウェイクアップさせる(延いては当該スレーブ3bをウェイクアップさせる)機能も有している。尚、通信回路33の機能は、信号処理部31に備えられていても良い。
<サブマスタの構成>
図1に示すように、サブマスタ3cも、当該サブマスタ3cの動作を司る信号処理部41と、通信回路43と、を備える。この例では、信号処理部41は、マイコンによって構成されており、CPU45と、CPU45が実行するプログラムが記憶されたROM46と、CPU45による演算結果が記憶されるRAM47と、発振回路48と、を備える。尚、発振回路48は、マスタ3aにおける発振回路28と同様のものであり、信号処理部41の外に設けられていても良い。また、スレーブ3cは、書き換えが可能な不揮発性のメモリ49も備える。
通信回路43の動作モードとしては、スレーブ3bの通信回路33と同じ動作をする通常モードと、マスタ3aの通信回路23と同じ動作をする異常時モードとがある。
通信回路43は、例えば、当該サブマスタ3cがウェイクアップした時点からは通常モードで動作する。通信回路43は、通常モードでは、バス5からクロック信号を抽出すると共に、抽出したクロック信号に同期して、他の通信回路23,33と同様の通信動作(送信動作及び受信動作)を行う。
また、通信回路43は、通常モードの場合に、バス5からクロック信号を抽出することができるか否か(即ち、マスタ3aがクロック信号を送信しているか否か)を、信号処理部41に通知するようになっている。信号処理部41は、その通知に基づいて、マスタ3aからのクロック信号が途絶えたか否かを判定する。
そして、通信回路43は、信号処理部41によってマスタ3aからのクロック信号が途絶えたと判定された場合には、異常時モードで動作する。通信回路43は、異常時モードでは、当該サブマスタ3cに備えられている発振回路48からの内部クロックに同期して、バス5へのクロック信号の送信を行うと共に、通信動作を行う。
また、通信回路43は、前述のウェイクアップ信号を検出すると、自身及び信号処理部41をウェイクアップさせる(延いては当該サブマスタ3cをウェイクアップさせる)機能も有している。尚、通信回路43の機能は、信号処理部41に備えられていても良い。
<サブマスタの信号処理部が行う代行制御処理>
次に、サブマスタ3cの信号処理部41が行う代行制御処理について、図5を用い説明する。
信号処理部41は、当該サブマスタ3cがウェイクアップすると、図5に示す代行制御処理を開始する。尚、前述したように、ノード3のうち、最初にウェイクアップしたノード3はウェイクアップ信号を送信して他のノード3をウェイクアップさせるため、サブマスタ3cがウェイクアップしたなら、正常であればマスタ3aもウェイクアップする。
図5に示すように、信号処理部41は、代行制御処理を開始すると、S110にて、当該サブマスタ3cがウェイクアップしてからクロック送信待ち時間Taが経過したか否かを判定する。クロック送信待ち時間Taは、前述した第1の規定時間T1よりも長く、且つ、前述したエラー判定時間T3よりは短い時間に設定されている。
信号処理部41は、クロック送信待ち時間Taが経過していないと判定した場合には(S110:NO)、S120にて、マスタ3aのクロック送信があるか否かを判定する。つまり、マスタ3aがバス5にクロック信号を送信しているか否かを判定する。クロック送信とは、クロック信号を送信することである。
そして、信号処理部41は、マスタ3aのクロック送信があると判定した場合には(S120:YES)、そのまま当該代行制御処理を終了するが、マスタ3aのクロック送信がないと判定した場合には(S120:NO)、S110に戻る。
一方、信号処理部41は、上記S110にて、クロック送信待ち時間Taが経過したと判定した場合、即ち、当該サブマスタ3cがウェイクアップしてからクロック送信待ち時間Taが経過してもマスタ3aがクロック信号の送信を開始しない場合には、S130に進む。つまり、この場合には、マスタ3aがクロック信号の送信を開始するはずのタイミングが経過しているのに、マスタ3aがクロック信号の送信を開始しないことから、マスタ3aからのクロック信号が途絶えたと判定して、S130に進む。
そして、信号処理部41は、S130では、クロック送信の代行を開始する。クロック送信の代行とは、マスタ3aに代わってクロック信号のバス5への送信を実施することである。信号処理部41は、具体的には、通信回路43の動作モードを、前述の通常モードから異常時モードに切り替える。
信号処理部41は、次のS140にて、上記S130でクロック送信の代行を開始してから、ヘッダ送信待ち時間Tbが経過したか否かを判定する。ヘッダ送信待ち時間Tbは、その時間Tbとクロック送信待ち時間Taとの和の時間(=Ta+Tb)が、前述した第2の規定時間T2よりも長く、且つ、前述したエラー判定時間T3よりは短くなるように設定されている。
信号処理部41は、ヘッダ送信待ち時間Tbが経過していないと判定した場合には(S140:NO)、S150にて、マスタ3aのヘッダ送信があったか否かを判定する。つまり、マスタ3aがバス5にヘッダを送信したか否かを判定する。ヘッダ送信とは、ヘッダを送信することである。例えば、信号処理部41は、通信回路43からの信号に基づいて、ヘッダ送信の有無を判定する。
そして、信号処理部41は、マスタ3aのヘッダ送信があったと判定した場合には(S150:YES)、そのまま当該代行制御処理を終了するが、マスタ3aのヘッダ送信がないと判定した場合には(S150:NO)、S140に戻る。
一方、信号処理部41は、上記S140にて、ヘッダ送信待ち時間Tbが経過したと判定した場合、即ち、クロック送信の代行を開始してからヘッダ送信待ち時間Tbが経過してもマスタ3aがヘッダの送信を開始しない場合には、S160に進む。つまり、この場合には、マスタ3aがヘッダの送信を開始するはずのタイミングが経過しているのに、マスタ3aがヘッダの送信を開始しないことから、マスタ3aからのヘッダも途絶えたと判定して、S160に進む。
そして、信号処理部41は、S160にて、ヘッダ送信の代行を開始し、その後、当該代行制御処理を終了する。ヘッダ送信の代行とは、マスタ3aに代わってヘッダの定期的な送信を実施することである。信号処理部41は、S160では、例えば、1つ目のヘッダの送信を実施し、以後は、定期的にヘッダの送信を実施する。
但し、信号処理部41は、マスタ3aが正常時に送信するヘッダの全てを送信するのではなく、その全てのヘッダのうち、重要度が高いフレームのヘッダ(以下、重要フレームヘッダともいう)としてメモリ49に記憶されているヘッダだけを、マスタ3aに代わって送信する。
<サブマスタの信号処理部が行う学習処理>
ここで、一例として、サブマスタ3cがマスタ3aに代わって送信する重要フレームヘッダは、予め選定してメモリ49やROM46に記憶しておいても良い。その場合、信号処理部41は、メモリ49又はROM46内の重要フレームヘッダを、例えばマスタ3aと同様のスケジュールで送信すれば良い。
一方、本実施形態において、サブマスタ3cの信号処理部41は、マスタ3aが正常時に送信するヘッダを監視して、重要フレームヘッダを動的に選定するようになっている。そこで、次に、信号処理部41が重要フレームヘッダを選定するために行う学習処理について説明する。
信号処理部41は、クロック送信及びヘッダ送信の代行をしていない場合、即ちマスタ3aが正常な場合において、マスタ3aからのヘッダとそれに対するレスポンスとを受信する毎に、図6に示す学習処理を行う。
図6に示すように、信号処理部41は、学習処理を開始すると、S210にて、今回受信したヘッダである受信ヘッダが、記憶済みヘッダテーブルに存在するか否かを判定する。
記憶済みヘッダテーブルは、図7に示すように、マスタ3aが送信したヘッダの各々と、各ヘッダに対して送信されたレスポンス中のカウンタ情報(前述の「CT」)とを、対応付けて記録するためのテーブルであり、メモリ49内の所定領域に記憶される。尚、図7及び後述する図8において、「0x」が先頭に付された2桁の数字は、ヘッダの値を16進数で例示したものである。
信号処理部41は、上記S210にて、受信ヘッダが記憶済みヘッダテーブルに存在しないと判定した場合には、S220にて、受信ヘッダと、その受信ヘッダに対して送信されたレスポンス中のカウンタ情報とを、記憶済みヘッダテーブル(図7)に記憶し、その後、当該学習処理を終了する。
また、信号処理部41は、上記S210にて、受信ヘッダが記憶済みヘッダテーブルに存在すると判定した場合には、S230に進み、受信ヘッダが重要フレームリストに存在するか否かを判定する。
重要フレームリストは、図8に示すように、当該学習処理で選定した重要フレームヘッダを記録するリストであり、メモリ49内の所定領域に記憶される。
信号処理部41は、上記S230にて、受信ヘッダが重要フレームリストに存在すると判定した場合には、そのまま当該学習処理を終了するが、受信ヘッダが重要フレームリストに存在しないと判定した場合には、S240に進む。
信号処理部41は、S240では、受信ヘッダのカウンタ情報と、記憶済みヘッダのカウンタ情報とが同じであるか否かを判定する。
受信ヘッダのカウンタ情報とは、受信ヘッダに対して送信されたレスポンス中のカウンタ情報である。また、記憶済みヘッダのカウンタ情報とは、記憶済みヘッダテーブルに記憶されているカウンタ情報のうち、受信ヘッダと同じヘッダに対して記憶されているカウンタ情報である。つまり、S240では、今回受信したヘッダに対して送信されたレスポンス中のカウンタ情報と、そのヘッダと同じヘッダが前回に送信されたときに送信されたレスポンス中のカウンタ情報とが、同じであるか否かを判定している。
そして、信号処理部41は、上記S240にて、受信ヘッダのカウンタ情報と記憶済みヘッダのカウンタ情報とが同じであると判定した場合には、そのまま当該学習処理を終了する。
また、信号処理部41は、上記S240にて、受信ヘッダのカウンタ情報と記憶済みヘッダのカウンタ情報とが同じはないと判定した場合には、受信ヘッダについて、カウンタ情報が更新されたと判断して、S250に進む。そして、信号処理部41は、S250では、受信ヘッダを、重要フレームヘッダとして、重要フレームリストに記憶し、その後、当該学習処理を終了する。
つまり、信号処理部41は、マスタ3aが正常な場合にバス5に流れるヘッダ及びレスポンスを監視して、同じヘッダに対するレスポンス内のカウンタ情報が更新されている場合に、そのヘッダを重要フレームヘッダとしてメモリ49内の重要フレームリストに記憶している。
そして、信号処理部41は、前述した図6のS160でヘッダ送信の代行を開始した場合には、メモリ49内の重要フレームリストに記憶されているヘッダ(重要フレームヘッダ)を、定期的に送信する。尚、信号処理部41は、重要フレームリストに記憶されているヘッダを、例えば、マスタ3aが送信するのと同じスケジュールで送信するが、マスタ3aとは異なるスケジュール(例えばマスタ3aによる送信間隔よりも長い送信間隔)で送信するようになっていても良い。
<サブマスタの信号処理部が行うスリープ制御処理>
サブマスタ3cの信号処理部41は、クロック送信及びヘッダ送信の代行をしている場合に、図9に示すスリープ制御処理を例えば一定時間毎に開始する。尚、この例では、ヘッダ送信の代行で送信される各ヘッダによって、全てのスレーブ3bの各々がレスポンスを送信すべきノードとして指定される。
図9に示すように、信号処理部41は、スリープ制御処理を開始すると、S310にて、フレームを受信する。受信されるフレームのレスポンスは、当該サブマスタ3cが送信したヘッダに対するレスポンスであり、スレーブ3bの何れかが送信したレスポンスである。
信号処理部41は、次のS320にて、S310で今回受信したフレーム(以下、受信フレームという)のレスポンスに含まれているNM情報のうちのスリープ可否情報が、スリープ許可を示す値(この例では「1」)であるか否かを判定する。そして、信号処理部41は、スリープ可否情報が「1」であると判定した場合には(S320:YES)、S330に進む。
信号処理部41は、S330では、当該サブマスタ3c以外の全てのスレーブ3bについて、上記S320でのスリープ可否情報の判定を完了したか否かを判定する。そして、信号処理部41は、このS330で否定判定(NOと判定)した場合には、S310に戻り、次のフレームの受信を行う。
また、信号処理部41は、上記S330で肯定判定(YESと判定)した場合には、S340に進む。S320の判定により、全てのスレーブ3bについて、スリープ可否情報がスリープ許可を示す「1」であると判定した場合には、S340に進むこととなる。
そして、信号処理部41は、S340では、バス5にスリープフレームを送信する。前述したように、スリープフレームは他のノード3に対してスリープモードへの遷移を指示するフレームである。よって、全てのスレーブ3bは、このスリープフレームを受信することで、スリープモードに遷移する。また、信号処理部41は、次のS350にて、当該サブマスタ3cをスリープモードに遷移させ、その後、当該スリープ制御処理を終了する。
また、信号処理部41は、上記S320にて、スリープ可否情報が「1」ではないと判定した場合には、そのまま当該スリープ制御処理を終了する。この場合には、スリープモードに遷移できないスレーブ3bが存在することから、スリープフレームを送信しない。
このように、信号処理部41は、スリープ制御処理では、スレーブ3bが送信したレスポンス内のスリープ可否情報を監視して、スレーブ3bの全てがスリープ可能になったと判定した場合に(S330:YES)、スリープフレームを送信している(S340)。
尚、サブマスタ3cが送信するヘッダとして、当該サブマスタ3cを指定するヘッダもあり、サブマスタ3cもレスポンスを送信するのであれば、上記S330では、当該サブマスタ3cについても、上記S320でのスリープ可否情報の判定を完了したか否かを判定するようにしても良い。
<実施形態の作用>
図10に示すように、例えば、時刻t1にて、スレーブ3bの何れかが、ウェイクアップ要因の発生によりウェイクアップし、そのウェイクアップしたスレーブ3bが、時刻t2にて、ウェイクアップ信号を送信したとする。
ここで、本来ならば、マスタ3aを含む他の全てのノード3がウェイクアップ信号によってウェイクアップする。そして、マスタ3aは、クロック信号の送信を開始し、その後、ヘッダの定期的な送信を開始することとなる。
一方、マスタ3aに異常が生じていて、図10における点線の枠内に示すように、マスタ3aがクロック送信とヘッダ送信をできない状態になっていたとする。
その場合には、サブマスタ3cが、ウェイクアップしてからクロック送信待ち時間Taが経過した時刻t3になると、マスタ3aからのクロック信号が途絶えたと判定して、マスタ3aに代わりクロック信号の送信を開始する(図5のS110:YES→S130)。更に、サブマスタ3cは、クロック信号の送信を開始してからヘッダ送信待ち時間Tbが経過した時刻t4になると、マスタ3aからのヘッダも途絶えたと判定して、マスタ3aに代わりヘッダの定期的な送信を開始する(図5のS140:YES→S160)。
尚、図10において、「定期」と記載している枠の期間は、サブマスタ3cがヘッダを送信し、そのヘッダに対するレスポンスを何れかのノード3が送信している期間である。また、サブマスタ3cがウェイクアップ要因により最初にウェイクアップして、ウェイクアップ信号を送信したとしても、結果は同じである。
また、サブマスタ3cは、マスタ3aがクロック信号の送信を開始したことを検出した場合には、クロック信号及びヘッダの送信を停止する。マスタ3aがクロック信号の送信を開始したことは、例えば、バス5に送信した信号レベルとバス5から受信した信号レベルとの不一致により検出することができる。
<実施形態の効果>
この通信システム1によれば、サブマスタ3cを備えるため、マスタ3aが故障しても、サブマスタ3cがマスタ3aに代わってクロック信号の送信とヘッダ情報の送信とを実施することにより、通信への影響を最低限に抑えることができる。そして、サブマスタ3cは、マスタ3aが正常の場合に送信するヘッダの全てではなく、その全てのヘッダのうち、重要フレームヘッダとしてメモリ49(詳しくはメモリ49内の重要フレームリスト)に記憶されているヘッダだけを、マスタ3aに代わって送信する。よって、マスタ3aの故障による通信への影響を最小限にすることと、マスタ3aの代役をするサブマスタ3cに必要な処理能力を低減することとを、両立させることができる。
また、サブマスタ3cの信号処理部41は、マスタ3aが正常な場合に、図6の学習処理を行うことにより、バス5に流れるヘッダ及びレスポンスを監視し、同じヘッダに対するレスポンス内のカウンタ情報が更新されている場合に、そのヘッダを重要フレームヘッダとしてメモリ49に記憶している。レスポンス内のカウンタ情報が更新されるフレームは、そのフレームを構成する「DATA」が受け側に伝わらなかった場合に、制御に対する影響が大きくなるフレームであり、重要度が高いフレームと考えられるからである。
このため、マスタ3aに代わってサブマスタ3cが送信すべき重要フレームヘッダを、通信システム1の開発時に予め決めておく必要がない。サブマスタ3cは、重要フレームヘッダを動的に学習して適切に選択することができるからである。
また、サブマスタ3cの信号処理部41は、クロック送信及びヘッダ送信の代行をしている場合に、図9のスリープ制御処理を行う。このため、マスタ3aが異常の場合でも、スレーブ3bをスリープモードにすることができ、もちろんサブマスタ3c自身もスリープモードに遷移することができる。よって、バッテリ上がりを防止することができる。
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されることなく、種々の形態を採り得る。また、数値も一例であり他の値でも良い。例えば、上記実施形態における1つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を1つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を省略してもよい。なお、特許請求の範囲に記載した文言によって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。また、上述した通信システム1及びサブマスタ3cの他、サブマスタ3cとしてコンピュータを機能させるためのプログラム、このプログラムを記録した媒体、通信復旧方法など、種々の形態で本発明を実現することもできる。
1…通信システム、3…ノード、3a…マスタノード、3b,3c…スレーブノード、3c…スレーブノードのうちの1つであるサブマスタノード、5…バス、41…信号処理部、49…メモリ

Claims (4)

  1. バス(5)を介して接続された3つ以上のノード(3)を備え、
    前記ノードのうちの1つは、クロック信号と、ノードを指定するヘッダ情報を、前記バスに送信するマスタノード(3a)であり、
    前記ノードのうち、前記マスタノード以外のノードは、前記バスに送信された前記クロック信号に同期して通信動作を行うスレーブノード(3b,3c)であり、
    前記スレーブノードは、自身を指定する前記ヘッダ情報を受信すると、そのヘッダ情報に対して送信すべきレスポンスであって、前記ヘッダ情報と共に通信のフレームを成すレスポンスを、前記バスに送信するようになっている、通信システム(1)において、
    前記スレーブノードのうちの1つは、
    前記マスタノードからの前記クロック信号が途絶えたと判定した場合に、前記クロック信号の前記バスへの送信を、前記マスタノードに代わって実施するクロック送信代行手段(41,S110〜130)と、前記マスタノードからの前記ヘッダ情報が途絶えたと判定した場合に、前記ヘッダ情報の前記バスへの送信を、前記マスタノードに代わって実施するヘッダ送信代行手段(41,S140〜S160)と、を備えるサブマスタノード(3c)であり、
    前記ヘッダ送信代行手段は、前記マスタノードが正常の場合に送信する前記ヘッダ情報のうちの一部であって、重要度が高いフレームのヘッダ情報としてメモリ(49)に記憶されているヘッダ情報を、前記マスタノードに代わって前記バスに送信すること、
    を特徴とする通信システム。
  2. 請求項1に記載の通信システムにおいて、
    前記サブマスタノードは、
    前記マスタノードが正常な場合に前記バスに流れる前記ヘッダ情報及び前記レスポンスを監視して、同じヘッダ情報に対する前記レスポンス内の情報のうち、フレームの連続性を示すカウンタ情報が更新されている場合に、そのヘッダ情報を、重要度の高いフレームのヘッダ情報として前記メモリに記憶する学習手段(41,S210〜S250)、
    を備えること、を特徴とする通信システム。
  3. 請求項1又は請求項2に記載の通信システムにおいて、
    前記サブマスタノードは、
    当該サブマスタノードが前記マスタノードに代わって前記クロック信号の送信と前記ヘッダ情報の送信とを実施している場合に動作する手段であって、他の前記スレーブノードが送信した前記レスポンス内のスリープ可否情報を監視し、他の前記スレーブノードの全てがスリープ可能になったと判定した場合に、他のノードに対してスリープモードへの遷移を指示するスリープフレームを送信するスリープ制御手段(41,S310〜S340)、を備えること、
    を特徴とする通信システム。
  4. 請求項1ないし請求項3の何れか1項に記載の通信システムに用いられるサブマスタノード(3c)。
JP2015001551A 2015-01-07 2015-01-07 通信システム及びサブマスタノード Active JP6332040B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015001551A JP6332040B2 (ja) 2015-01-07 2015-01-07 通信システム及びサブマスタノード
DE102016200105.1A DE102016200105B4 (de) 2015-01-07 2016-01-07 Kommunikationssystem und sub-master-knoten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015001551A JP6332040B2 (ja) 2015-01-07 2015-01-07 通信システム及びサブマスタノード

Publications (2)

Publication Number Publication Date
JP2016127523A JP2016127523A (ja) 2016-07-11
JP6332040B2 true JP6332040B2 (ja) 2018-05-30

Family

ID=56133261

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015001551A Active JP6332040B2 (ja) 2015-01-07 2015-01-07 通信システム及びサブマスタノード

Country Status (2)

Country Link
JP (1) JP6332040B2 (ja)
DE (1) DE102016200105B4 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112020002093B4 (de) 2019-04-25 2023-01-19 Microchip Technology Incorporated Wechseln eines masterknotens in einem drahtgebundenen lokalen netzwerk und zugehörige systeme, verfahren und vorrichtungen
JP7482736B2 (ja) 2020-09-28 2024-05-14 日立Astemo株式会社 集積回路装置
JP2022118597A (ja) * 2021-02-02 2022-08-15 株式会社オートネットワーク技術研究所 車載中継装置、異常判定システム、異常判定方法、及びプログラム
DE102022119309B3 (de) 2022-08-02 2024-01-04 Beckhoff Automation Gmbh Automatisierungssystem

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002095065A (ja) * 2000-07-07 2002-03-29 Hitachi Ltd 無線基地局、無線端末及びコンテンツプロバイダ
DE102004018316A1 (de) 2004-04-13 2005-11-03 Robert Bosch Gmbh System und Verfahren zur Übertragung und Bewertung von Daten und Teilnehmer des Systems
JP2013030932A (ja) * 2011-07-27 2013-02-07 Denso Corp 通信システム及び、当該通信システムに用いられるサブマスタノード
JP6121067B2 (ja) 2013-11-23 2017-04-26 ケーニッヒ−ペーアー・ゲーエムベーハー バスパーティシパント装置およびバスパーティシパント装置の動作の方法

Also Published As

Publication number Publication date
JP2016127523A (ja) 2016-07-11
DE102016200105A1 (de) 2016-07-07
DE102016200105B4 (de) 2022-05-19

Similar Documents

Publication Publication Date Title
US8819466B2 (en) Method and device for waking users of a bus system and corresponding users
JP6332040B2 (ja) 通信システム及びサブマスタノード
KR101380683B1 (ko) 송수신기
RU2573237C2 (ru) Способ и устройство для активизации абонентов шинной системы и соответствующий абонент
JP4946646B2 (ja) 通信ネットワークシステム及び未ウェイクアップノードのウェイクアップ方法
EP3404873B1 (en) Low-power data bus receiver
JP2013030932A (ja) 通信システム及び、当該通信システムに用いられるサブマスタノード
CN111683399A (zh) 设备唤醒电路、电子设备、唤醒系统以及设备唤醒方法
JP2013516137A (ja) パーシャルネットワーキング用改良型パターン検出のための装置及び方法
JP2015179888A (ja) 通信システム及び中継装置
JP2021158650A (ja) 中継装置
JP5347831B2 (ja) 通信システム
JP6477438B2 (ja) 通信装置および通信システム
JP2010206268A (ja) 通信システム、及びノード
JP6028717B2 (ja) 通信システムおよびゲートウェイ装置並びに通信方法
JP2015154189A (ja) 通信システム、ゲートウェイ装置及び通信ノード並びに通信制御方法
JP2013062723A (ja) 通信システム、並びに、当該通信システムを構成するマスタノード及びスレーブノード
US10038459B2 (en) Network control device
JP6040952B2 (ja) 通信システム、電子制御装置
US11645089B2 (en) Network system
KR102313599B1 (ko) 차량의 소프트웨어 업데이트 방법 및 장치
JP6520729B2 (ja) 通信装置
JP7347391B2 (ja) 通信装置
JP2017055289A (ja) マスタ通信装置及びスレーブ通信装置
JP6402452B2 (ja) ゲートウェイ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180316

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180416

R151 Written notification of patent or utility model registration

Ref document number: 6332040

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250