【解決手段】通信装置は、所定の情報を、前記所定の情報に対応付けられる識別情報とともに送信する送信部と、前記所定の情報と前記識別情報との対応関係を変更する制御部と、を備え、前記制御部は、所定条件が成立する場合に、2以上の同一の前記所定の情報がそれぞれ異なる識別情報に対応付けられるように前記対応関係を変更する。
前記制御部は、前記所定条件が成立する場合に、前記所定条件の成立前に前記所定の情報と異なる情報に対応付けられる前記識別情報が、前記所定の情報に対応付けられるように前記対応関係を変更する、
ことを特徴とする請求項1から請求項5の何れか1項に記載の通信装置。
【発明を実施するための形態】
【0015】
以下、図面を参照し、本発明の通信装置、及び通信方法の実施形態について説明する。以下の説明において、同じ機能を有するものについて同じ符号を附す。
【0016】
(第1の実施形態)
図1は、本実施形態の通信システム1の構成を示す図である。通信システム1は、例えば車両4(移動体)に搭載される。通信システム1は、少なくとも車両4内にネットワークNWを構成する。ネットワークNWでは、例えば、バス2(通信バス)を介してCAN(Controller Area Network)、IEEE802.3などの通信方式に基づく通信が行われる。
【0017】
通信システム1は、バス2に接続されたECU10−1からECU10−3とインタフェース装置(IF装置)3とを備える。以下、ECU10−1からECU10−3を区別しない場合は、単にECU10と表記する。「−1」から「−3」などの記載は以下で説明する他の構成についても同様である。ECU10とIF装置3は、通信装置の一例である。
【0018】
以下の説明では、ECU10は、車両4のデバイスを制御する制御装置として説明するが、信号の中継機能を有する中継装置であってもよい。また、ECU10は、共通のバス2に接続されたものとして説明するが、バス2と、バス2以外のバスとに接続されていてもよい。
【0019】
ECU10は、例えばエンジンを制御するエンジンECUや、シートベルトを制御するシートベルトECU等である。ECU10は、自装置が所属するネットワークNWに送信されたフレームを受信する。以下、ネットワークNWに送信される各フレームのことをフレームFという。フレームFは、それぞれに附された識別子(以下、IDという。)により識別される。ECU10は、自ECU10に係るフレームFを識別するID(以下、受信IDという)を記憶部12(
図2B)に格納しておく。ECU10は、フレームFを受信する際には、受け付けたフレームFに附されたID(以下、送信IDという)を参照して、受信IDと同じ値の送信IDが附されたフレームFを抽出して取得する。ECU10は、通信をする際に通信相手の認証処理を実施する。
【0020】
ネットワークNWには、ECU10の他に、外部装置50が接続されるIF装置3が設けられている。例えば、IF装置3は、外部装置50と有線回線を利用して通信するための接続端子(DLC)、又は、外部装置50と無線回線を利用して通信するための無線通信部を有している。
【0021】
例えば、外部装置50は、ECU10の状態を判定する測定器である。外部装置50は、
図1に示すようにIF装置3に接続される。IF装置3は、ゲートウエイとして機能して、外部装置50とECU10の通信を中継する。なお、外部装置50をIF装置3に接続することなく、通信システム1を機能させることができる。
【0022】
図2は、本実施形態のECU10のハードウエア構成を示す図である。ECU10は、CPU10Aと、RAM(Random Access Memory)、レジスタ等の揮発性記憶装置10Bと、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)、HDD(Hard Disk Drive)の不揮発性記憶装置10Cと、無線通信インタフェース10Dと、入出力装置10Eと、通信インタフェース10Fなどを含むコンピュータである。なお、ECU10は、その種類又は用途により、無線通信インタフェース10Dと入出力装置10Eの何れか又は両方を含まない場合がある。
【0023】
図3は、本実施形態のECU10の機能構成を示す図である。ECU10は、制御部11と、記憶部12と、通信制御部13(送信部)とを含む。例えば、制御部11と通信制御部13は、CPU10A等のプロセッサが制御プログラム(ソフトウェアプログラム)を実行することにより実現される。
【0024】
制御部11は、ECU10内の各部を制御する。例えば、制御部11は、他のECU10、IF装置3、外部装置50等の他の装置からの通信要求を受け付ける。その通信要求には、制御プログラムを書き換えることを要求するものが含まれる。
【0025】
記憶部12は、揮発性記憶装置10Bと不揮発性記憶装置10Cとによって実現される。記憶部12は、アプリケーションプログラム、通信制御プログラム等の制御プログラム125と、上記の制御プログラムの実行により参照される各種情報とを格納する。各種情報には、送信ID121と受信ID122とが含まれる。
【0026】
通信制御部13は、通信インタフェース10Fを介した外部の装置との通信を制御する。通信インタフェース10Fは、ECU10をバス2に接続するインタフェースである。通信制御部13は、通信インタフェース10Fを介して、制御部11が要求する他の装置との通信を可能にする。通信制御部13は、制御部11が指定する所定の情報を、その所定の情報に対応付けられる識別情報とともに送信する。通信制御部13は、通信インタフェース10Fからの通知を受け、所定の条件を満たす通信を抽出して、他の装置からの通信要求を制御部11に通知する。
【0027】
例えば、制御部11は、所定条件が成立する場合に、2以上の同一の所定の情報がそれぞれ異なる識別情報に対応付けられるように対応関係を変更する。例えば、2以上の同一の所定の情報とは、情報の種別が同一と識別されるものであってもよい。
【0028】
次に、より具体的な一例を示す。
図4は、本実施形態の2以上の同一の所定の情報と識別情報との対応関係を説明するための図である。
【0029】
各ECU10は、例えば、下記の用途に割り付けられている。
ECU10−1は、ECU10−2とECU10−3宛の指令を送信する。
ECU10−2は、ECU10−1等から受けた指令に基づいて、例えば、それに対応させて設けられているトランスミッションを制御する。ECU10−2は、その指令に対する応答をECU10−1宛に送信する。
ECU10−3は、ECU10−1等から受けた指令に基づいて、例えば、それに対応させて設けられているバッテリのSOC(State of charge)を制御する。ECU10−3は、その指令に対する応答をECU10−1宛に送信する。
【0030】
同図は、各ECU10にそれぞれに付与された識別情報を例示する。この図に示す、送信IDは、フレームを送信する際に使用され、フレームの送信元を示すものである。受信IDは、フレームに付与されたID(送信ID)を照合する際に利用され、受信すべきフレームを識別するためのものである。制御部11は、バス2から取得したフレームに付与されている送信ID(識別情報)を、記憶部12に格納された受信IDと照合することにより、取得したフレームの認証処理をする。制御部11は、それらが一致していれば、正規の送信元から送信されたフレームであって、受信すべきものと判定する。
【0031】
図4(a)に、第1の状況にある場合の識別情報の割り付けを示す。この
図4(a)に示す識別情報(送信ID)には、「001」と「002」と「003」とが含まれる。送信IDが「001」である場合には、その送信周期が10ミリ秒であり、この送信IDは、エンジンの回転数の情報を送信する際に適用される。送信IDが「002」である場合には、その送信周期が20ミリ秒であり、この送信IDは、バッテリのSOC値を送信する際に適用される。送信IDが「003」である場合には、その送信周期が50ミリ秒であり、この送信IDは、変速機のギアの位置についての情報を送信する際に適用される。
【0032】
上記の場合、ECU10は、用途に合わせて3種類の送信IDを使い分ける。ECU10は、3種類の送信IDうちから選択した送信IDをフレームに付与してそのフレームを送信する。
【0033】
例えば、ECU10−1は、送信IDに「001」を使用して、エンジンの回転数をECU10−2に通知し、送信IDに「003」を使用して、エンジンのトルク値をECU10−2に通知する。ECU10−3は、送信IDに「002」を使用して他のECU10にバッテリのSOC値を通知する。ECU10−1は、送信IDに「002」を使用して送信されたバッテリのSOC値を取得する。
【0034】
図4(b)に、第2の状況にある場合の識別情報の割り付けを示す。この
図4(b)に示す識別情報(送信ID)には、「001」と「002」と「003」と「004」とが含まれる。送信IDが「001」である場合には、その送信周期が10ミリ秒であり、この送信IDは、エンジンの回転数の情報を送信する際に適用される。送信IDが「002」である場合には、その送信周期が20ミリ秒であり、この送信IDは、同じくエンジンの回転数の情報を送信する際に適用される。送信IDが「003」である場合には、その送信周期が50ミリ秒であり、この送信IDは、変速機のギアの位置についての情報を送信する際に適用される。送信IDが「004」である場合には、その送信周期が50ミリ秒であり、この送信IDは、バッテリのSOC値の判定閾値を指令するバッテリ充電制御のための情報を送信する際に適用される。
【0035】
例えば、ECU10−1は、送信IDに「001」と「002」とを使用して、エンジンの回転数をECU10−2に通知し、送信IDに「003」を使用して、エンジンのトルク値をECU10−2に通知する。ECU10−1は、送信IDに「004」を使用して、ECU10−3にバッテリのSOC値の判定閾値を指令するバッテリ充電制御のための情報を通知する。
【0036】
上記の
図4(a)と(b)の割り付けを対比すると、送信IDに対応する周期は共通である。その一方で、送信IDが「002」の場合の情報が異なり、また、送信ID「004」が
図4(b)に追加されている。
【0037】
図5を参照して、実施形態の制御状態の変更について説明する。
図5は、実施形態の制御状態の変更処理の手順を示すフローチャートである。
【0038】
まず、ECU10−1は、通信システム1の状況を検出し、第1の状況にあることを検出し、検出結果を他のECU10に通知する(SA11)。例えば、ECU10−1は、他のECU10等からバス2に送信された信号を検出し、各ECU10の状態を判定する。或いは、ECU10−1は、ECU10−1が管理する通信システム1の制御状態に関する情報に基づき、通信システム1の状況を検出してもよい。
【0039】
次に、ECU10−2とECU10−3は、ECU10−1からの通知を受け、第1モードの送信IDを選択する(SA21,SA31)。その後、各ECU10は、不図示の所望の処理を実施する。
【0040】
次に、ECU10−1は、通信システム1の状況を検出し、第2の状況にあることを検出し、検出結果を他のECU10に通知する(SA12)。
【0041】
次に、ECU10−2とECU10−3は、ECU10−1からの通知を受け、第2モードの送信IDを選択する(SA22,SA32)。
【0042】
なお、通信システム1は、必要に応じて上記の処理を利用して送信IDを適宜切換えてよい。
【0043】
なお、実施形態の各ECU10は、車両4に通信システム1として搭載されている。
ECU10−1の制御部11は、通信システムについて状態遷移が生じる場合に、その所定の2以上の同一の情報がそれぞれ異なる識別情報に対応付けられるように対応関係を変更する。例えば、上記の2以上の同一の所定の情報は、通信システム1の状態遷移の検証に用いられる情報である。
【0044】
図4に示した事例では、例えば、エンジンの回転数は、エンジンの停止状態とアイドリング状態とエンジンを利用した状態(走行状態又はバッテリの充電状態)の状態に応じて変化する。それゆえ、エンジンの回転数は、例えば、エンジンの作動が完了した停止状態にあることの検出に利用される。すなわち、少なくともエンジンの回転数は、動力源の作動が完了したことの検証に用いられる情報である。
【0045】
上記の実施形態によれば、ECU10−1の制御部11は、所定条件が成立する場合に、2以上の同一の所定の情報がそれぞれ異なる識別情報に対応付けられるように、その所定の情報と識別情報との対応関係を変更する。これにより、通信システム1に状態遷移が生じる場合に、その所定の情報と識別情報との対応関係を変更することにより、2以上の同一の所定の情報がそれぞれ異なる識別情報に対応付けられる。通信システム1は、その状況に応じて情報の優先度が変化しても、その変化に対応するように、関連する情報を適切に送信することができる。
【0046】
また、上記の所定条件は、通信システム1について状態遷移が生じることであり、上記の所定の情報は、通信システム1の状態遷移の完了の検証に用いられる情報であることにより、通信システム1の制御状態の変化、すなわち状態遷移の完了を速やかに検出することができ、その変化に対応するように、関連する情報を適切に送信することができる。
【0047】
また、上記の通信システム1は、動力源(エンジン、モータ等)を有する車両4として構成されていてもよい。上記の所定条件は、その動力源が作動状態となる状態遷移が生じることであってもよい。その際の所定の情報は、その動力源の作動が完了したことの検証に用いられる情報であってもよい。例えば、
図4に示した事例では、エンジンが停止状態(第1状態)から始動状態(第2状態)へと遷移する際に、その状態遷移の途上においては、その状態遷移が完了したか(すなわちエンジンの始動が完了したか(エンジンが完爆したか))の検証に用いられる情報としてのエンジン回転数は、その他の情報に比較して優先度が高い情報と考えられる。このことから、制御部11は、エンジンが停止状態(第1状態)から始動状態(第2状態)へとのように状態遷移が生じることを起点として、「エンジン回転数」が、「001」に対応付けられる状態(
図4(a))から、「エンジン回転数」がそれぞれ異なる識別情報である「001」と「002」とに対応付けられる状態、換言すれば、同一の所定の情報である「エンジン回転数」が、それぞれ異なる識別情報である「001」と「002」とに対応付けられる状態(
図4(b))となるように対応関係を変更する。なお、制御部11は、エンジンが停止状態から始動状態へと状態遷移が生じることを、イグニッションスイッチが操作されたこと、車両のドアが操作されたことなどのような車両についての所定の始動前操作が検出されたこともとに判断してもよく、したがって、制御部11は、車両の所定の始動前操作が検出されたことを起点として、「エンジン回転数」がそれぞれ異なる識別情報である「001」と「002」とに対応付けられるように対応関係を変更してもよい。
【0048】
また、制御部11は、上記の所定条件が成立する場合に、その所定条件の成立前に「所定の情報と異なる情報」に対応付けられる識別情報が、「所定の情報」に対応付けられるように対応関係を変更してもよい。つまり、
図4の事例によれば、制御部11は、所定条件の成立前において所定の情報としての「エンジン回転数」と異なる情報である「SOC値」に対応付けられる識別情報「002」を、上記の所定条件が成立したことにより、所定の情報としての「エンジン回転数」に対応付けるように変更する。
【0049】
(第1の実施形態の変形例)
第1の実施形態では、通信システム1について状態遷移が生じることを、所定条件にした事例について説明した。本変形例では、これに加えてもしくはこれに代えて、所定の情報とは異なる情報に関する所定の異常が生じることを所定条件にする事例について説明する。
【0050】
ここでは、バッテリのSOC値に関する所定の異常が生じる例をもとに説明する。バッテリのSOC値は、図示しないバッテリセンサより取得される情報をもとにECU−10が識別情報「002」を付与して送信するが、例えばバッテリセンサに何らかの異常が生じ、識別情報「002」を用いて送信するべきSOC値を正しく送信することができなくなる場合に、以下の処理を行う。
すなわち、このように正確なSOC値を取得、生成、もしくは送信することができない異常状態下においては、係る異常が生じているSOC値は、その他の情報に比較して優先度が低下した情報と考えられることから、制御部11は、かかる異常の検出を起点として、「エンジン回転数」が、「001」に対応付けられる状態(
図4(a))から、「エンジン回転数」がそれぞれ異なる識別情報である「001」と「002」とに対応付けられる状態(
図4(b))へと対応関係を変更する。換言すれば、制御部11は、所定の情報としての「エンジン回転数」とは異なる情報である「SOC値」に関する所定の異常が生じることを所定条件として、「エンジン回転数」が、「001」に対応付けられる状態(
図4(a))から、「エンジン回転数」がそれぞれ異なる識別情報である「001」と「002」とに対応付けられる状態(
図4(b))へと対応関係を変更する。
【0051】
上記の変形例によれば、第1の実施形態と同様の効果を奏することの他、上記の所定条件は、上記の所定の情報とは異なる情報に関する所定の異常が生じることであり、その所定の異常は、上記の異なる情報を生成できない事象を含むことにより、所定の情報とは異なる情報に、それに関する所定の異常が生じる場合においても、通信システムの現在の状態に適した優先度を考慮して、情報を送信することができる。
【0052】
(第2の実施形態)
第2の実施形態について説明する。上記の通り第1の実施形態では、通信システム1について状態遷移が生じることを、所定条件にした事例について説明した。本実施形態では、通信システム1が所定の機能を停止させていることを、所定条件にした事例について説明する。以下の説明では、第1の実施形態との相違点を中心に説明する。
【0053】
前述の
図1を参照し、実施形態の通信システム1について説明する。通信システム1は、バス2に接続されたECU10−1からECU10−3などのECU10と、インタフェース装置3とを備える。
図1に示すようにECU10は、通信システム1に搭載されている。ECU10の制御部11は、所定条件が成立する場合に、2以上の同一の所定の情報がそれぞれ異なる識別情報に対応付けられるように対応関係を変更する。
【0054】
実施形態に係る所定条件は、通信システム1が所定の機能を停止させていることである。例えば、通信システム1が停止させる所定の機能として、以下のものが挙げられる。
・スリープ状態時に維持する機能を除く主たる機能。
・特定の制御対象を制御するための制御機能。
・特定の制御対象の制御状態を検出する機能。
・特定の通信について所定の周期で周期的に通信する機能。
【0055】
なお、上記の「所定の条件」は、上記の内の一部又は全部の機能を停止させていることにしてよい。
【0056】
また、実施形態に係る所定の情報は、所定の機能の起動トリガの発生の検証に用いられる情報である。例えば、通信システム1は、「所定の情報」として、通信システム1の起動トリガの発生の検証に用いられる情報にするとよい。この場合、「所定の情報」を、通信システム1の起動指令に定めてもよい。
【0057】
例えば、車両4が停止状態にあるときに、通信システム1は、スリープ状態にある。スリープ状態とは、主たる機能が縮退され、一部の機能が維持された状態である。例えば、車両4が停止状態になり、且つ、メインスイッチの操作などの所定の操作が行われてから所定時間経過すると、ECU10−1は、スリープ状態になる。
【0058】
通信システム1は、その制御状態をスリープ状態から稼働状態に遷移させるには、キーレスエントリーシステムにおけるキーの検出、メインスイッチの操作の検出等をきっかけ(トリガ)にした起動要求を検出し、その結果を利用してもよい。また、スリープ状態にあるECUにあっては、スリープ状態にあるECUを起動(ウェイクアップ)させるための通信規約に基づく所定のウェイクアップ信号を検出し、その結果を利用してもよい。
【0059】
図6は、第2の実施形態の2以上の同一の所定の情報と識別情報との対応関係を説明するための図である。
図4との相違点を中心に説明する。
図6(a)に、所定の機能が稼働中の状態にある場合の識別情報の割り付けを示す。この
図6(a)に示す識別情報(送信ID)には、「001」と「002」と「003」と「004」とが含まれる。送信IDが「004」である場合には、その送信周期が60ミリ秒であり、この送信IDは、ウェイクアップ信号(ウェイクアップ要求)を送信する際に適用される。
【0060】
図6(b)に、所定の機能が停止している稼働状態にある場合の識別情報の割り付けを示す。この
図6(b)に示す識別情報(送信ID)には、「001」と「002」と「003」と「004」と「005」とが含まれる。なお、送信IDが「005」である場合には、その送信周期が70ミリ秒にした一例を示す。
【0061】
例えば、所定の機能が停止している状態、すなわちスリープ状態においては、上記のウェイクアップ信号のような当該所定の機能の起動要求の発生の検証に用いられる情報は、その他の情報に比較して優先度が高い情報と考えられる。このことから、制御部11は、所定の機能が作動する状態(第1状態)から当該所定の機能が停止する状態(第2状態)へと状態遷移が生じることを起点として、「ウェイクアップ信号(ウェイクアップ要求)」が、「004」に対応付けられる状態(
図6(a))から、「ウェイクアップ信号」がそれぞれ異なる識別情報(送信ID)である「001」と「005」とに対応付けられる状態、換言すれば、同一の所定の情報である「ウェイクアップ信号」が、それぞれ異なる識別情報である「001」と「005」とに対応付けられる状態(
図6(b))となるように対応関係を変更する。
【0062】
なお、制御部11は、
図6(a)に示す稼働状態から
図6(b)に示すスリープ状態に状態を遷移させるのに伴い、
図6(a)の「001」から「003」の送信IDに割り付けていた各項目を、
図6(b)の「002」から「004」にそれぞれ割り付けを変更する。
【0063】
なお、
図6(b)に示す割り当てでは、「ウェイクアップ信号」の項目が、その優先度を高めるように他の項目より短い送信周期に割り当てられている。スリープ状態にあるECU10は、主たる機能が停止している状態にあるため、「ウェイクアップ信号」の優先度を高めても主たる機能の稼働に影響することはない。
【0064】
上記の実施形態によれば、通信システム1が所定の機能を停止させていることを、所定条件にした場合についても、第1の実施形態と同様の効果を奏することができる。
【0065】
以上説明した少なくともひとつの実施形態によれば、通信装置は、所定の情報を、前記所定の情報に対応付けられる識別情報とともに送信する送信部と、前記所定の情報と前記識別情報との対応関係を変更する制御部と、を備え、前記制御部は、所定条件が成立する場合に、2以上の同一の前記所定の情報がそれぞれ異なる識別情報に対応付けられるように前記対応関係を変更する、ことを特徴とする。これにより、通信装置は、システムの状況に応じて変化する情報の優先度に対応するように、その情報を適切に送信することを可能にする。
【0066】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。