(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-13
(45)【発行日】2024-05-21
(54)【発明の名称】通信システム、および中継装置
(51)【国際特許分類】
H04L 12/28 20060101AFI20240514BHJP
H04L 12/10 20060101ALI20240514BHJP
【FI】
H04L12/28 200Z
H04L12/10
(21)【出願番号】P 2021045951
(22)【出願日】2021-03-19
【審査請求日】2023-07-11
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【氏名又は名称】矢作 和行
(74)【代理人】
【識別番号】100121991
【氏名又は名称】野々部 泰平
(74)【代理人】
【識別番号】100145595
【氏名又は名称】久保 貴則
(72)【発明者】
【氏名】山内 真生
(72)【発明者】
【氏名】岸上 友久
【審査官】宮島 郁美
(56)【参考文献】
【文献】特開2015-177456(JP,A)
【文献】特開2016-201740(JP,A)
【文献】特開2002-026957(JP,A)
【文献】米国特許出願公開第2002/0006139(US,A1)
【文献】国際公開第2008/114583(WO,A1)
【文献】特開2020-107355(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-12/66,13/00,41/00-49/9057,61/00-65/80,69/00-69/40
(57)【特許請求の範囲】
【請求項1】
複数の通信線(51~54)と、
各通信線に少なくとも一つが接続された複数の電子制御装置(11~15,21,22,31,32,41~43)と、
前記電子制御装置への通信を中継する中継装置(60,60a,60b)と、を備えた通信システムであって、
前記中継装置は、
複数の前記電子制御装置のいずれかの起動を指示する起動情報を受信する受信部(S20)と、
前記起動情報を受信すると、複数の前記電子制御装置のうち前記起動情報による起動対象である対象装置が接続された前記通信線を特定する前に、複数の前記通信線を介して全ての前記電子制御装置の起動を指示する全起動情報を送信する送信部(S22)と、
複数の前記電子制御装置は、
前記全起動情報を受信すると起動処理を実行する起動部(S31)と、を備えている通信システム。
【請求項2】
前記中継装置は、
前記起動情報を受信すると、前記起動情報の内容を読み取り、前記対象装置が接続された前記通信線を特定する特定部(S23)を備え、
前記送信部は、前記特定部にて前記起動情報の内容を読み取る前に、全起動情報を送信する請求項1に記載の通信システム。
【請求項3】
前記中継装置は、
前記特定部にて前記通信線を特定すると、特定した前記通信線のみに前記起動情報を定期的に送信する定期送信部(S24)を備え、
前記電子制御装置は、前記全起動情報によって前記起動処理を実行した後に、規定時間内に前記起動情報を受信した場合は起動状態を継続し、規定時間内に前記起動情報を受信しない場合はスリープ状態に移行する起動判定部(S32,S36)を備えている請求項2に記載の通信システム。
【請求項4】
前記中継装置に対して前記起動情報を送信する送信装置(70)を、さらに備え、
前記送信装置は、前記起動情報を送信してから、前記対象装置が起動するのを待って、データを送信するデータ送信部(S11,S12)を備えている請求項3に記載の通信システム。
【請求項5】
少なくとも一つの電子制御装置(11~15,21,22,31,32,41~43)が接続された複数の通信線(51~54)と接続され、前記電子制御装置への通信を中継する中継装置であって、
複数の前記電子制御装置のいずれかの起動を指示する起動情報を受信する受信部(S20)と、
前記起動情報を受信すると、複数の前記電子制御装置のうち前記起動情報による起動対象である対象装置が接続された前記通信線を特定する前に、複数の前記通信線を介して全ての前記電子制御装置の起動を指示する全起動情報を送信する送信部(S22)と、を備えている中継装置。
【請求項6】
前記起動情報を受信すると、前記起動情報の内容を読み取り、前記対象装置が接続された前記通信線を特定する特定部(S23)を備え、
前記送信部は、前記特定部にて前記起動情報の内容を読み取る前に、全起動情報を送信する請求項5に記載の中継装置。
【請求項7】
複数の前記通信線を介して前記電子制御装置に固有の識別情報の送信を要求し、前記通信線毎に前記識別情報を収集する収集部(S41)と、
各通信線と、前記収集部で収集した前記識別情報とを関連付けたテーブルを生成するテーブル作成部(S42)と、を備え、
前記特定部は、前記起動情報の内容と、前記テーブルとを用いて、前記対象装置が接続された前記通信線を特定する請求項6に記載の中継装置。
【請求項8】
外部機器と無線通信を行う無線機(70)を、さらに備えており、
前記受信部は、前記無線機を介して、前記外部機器から前記起動情報を受信する請求項5または6に記載の中継装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、通信システム、および中継装置に関する。
【背景技術】
【0002】
通信システムの一例として、特許文献1に開示された車載通信システムがある。車載通信システムは、ノードとしてのECUを1つ以上有する複数のネットワークと、異なるネットワークのECU同士の通信を中継するGWとを備えている。全てのネットワークがスリープ状態になってから送信を開始するECUは、送信対象のECUを示す送信対象ECU情報をGWに送信する。GWには、各ネットワークを構成するECUの情報が記録されたテーブルが記憶されている。そして、GWは、送信対象ECU情報が送られて来ると、複数のネットワークのうち、送信対象ECU情報が示すECUが存在するネットワークをテーブルから特定する。GWは、その特定したネットワークだけをウェイクアップさせる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、車載通信システムは、ネットワークを特定した後に、特定されたネットワークのECUが起動処理を行うことになる。このため、車載通信システムは、送信対象ECU情報が送信されてから、ECU同士の中継が開始されるまでに要する時間が長くなるという問題がある。
【0005】
開示される一つの目的は、中継が開始されるまでに要する時間を短縮できる通信システムを提供することである。開示される他の一つの目的は、中継が開始されるまでに要する時間を短縮できる中継装置を提供することである。
【課題を解決するための手段】
【0006】
ここに開示された通信システムは、
複数の通信線(51~54)と、
各通信線に少なくとも一つが接続された複数の電子制御装置(11~15,21,22,31,32,41~43)と、
電子制御装置への通信を中継する中継装置(60,60a,60b)と、を備えた通信システムであって、
中継装置は、
複数の電子制御装置のいずれかの起動を指示する起動情報を受信する受信部(S20)と、
起動情報を受信すると、複数の電子制御装置のうち起動情報による起動対象である対象装置が接続された通信線を特定する前に、複数の通信線を介して全ての電子制御装置の起動を指示する全起動情報を送信する送信部(S22)と、
複数の電子制御装置は、
全起動情報を受信すると起動処理を実行する起動部(S31)と、を備えている。
【0007】
このように、通信システムは、中継装置が起動情報を受信すると、起動対象である対象装置が接続された通信線を特定する前に、複数の通信線を介して全起動情報を送信する。このため、通信システムは、各電子制御装置が起動処理を行っている間に、起動対象である対象装置が接続された通信線を特定することができる。よって、通信システムは、中継が開始されるまでに要する時間を短縮できる。
【0008】
ここに開示された中継装置は、
少なくとも一つの電子制御装置(11~15,21,22,31,32,41~43)が接続された複数の通信線(51~54)と接続され、電子制御装置への通信を中継する中継装置であって、
複数の電子制御装置のいずれかの起動を指示する起動情報を受信する受信部(S20)と、
起動情報を受信すると、複数の電子制御装置のうち起動情報による起動対象である対象装置が接続された通信線を特定する前に、複数の通信線を介して全ての電子制御装置の起動を指示する全起動情報を送信する送信部(S22)と、を備えている。
【0009】
このように、中継装置は、起動情報を受信すると、起動対象である対象装置が接続された通信線を特定する前に、複数の通信線を介して全起動情報を送信する。このため、中継装置は、各電子制御装置が起動処理を行っている間に、起動対象である対象装置が接続された通信線を特定することができる。よって、中継装置は、中継が開始されるまでに要する時間を短縮できる。
【0010】
この明細書において開示された複数の態様は、それぞれの目的を達成するために、互いに異なる技術的手段を採用する。請求の範囲およびこの項に記載した括弧内の符号は、後述する実施形態の部分との対応関係を例示的に示すものであって、技術的範囲を限定することを意図するものではない。この明細書に開示される目的、特徴、および効果は、後続の詳細な説明、および添付の図面を参照することによってより明確になる。
【図面の簡単な説明】
【0011】
【
図1】実施形態における通信システムの概略構成を示すブロック図である。
【
図2】実施形態におけるルーティングテーブルの概略構成を示すイメージ図である。
【
図3】実施形態における通信システムの処理動作を示す遷移図である。
【
図4】実施形態における無線機の処理動作を示すフローチャートである。
【
図5】実施形態におけるゲートウェイECUの処理動作を示すフローチャートである。
【
図6】実施形態におけるECUの処理動作を示すフローチャートである。
【
図7】変形例1における通信システムの処理動作を示すブロック図である。
【
図8】変形例2における通信システムの処理動作を示すブロック図である。
【
図9】変形例3における通信システムの処理動作を示すブロック図である。
【
図10】変形例4における通信システムの概略構成を示すブロック図である。
【
図11】変形例5における通信システムの概略構成を示すブロック図である。
【
図12】変形例6におけるゲートウェイECUの処理動作を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下において、図面を参照しながら、本開示を実施するための複数の形態を説明する。各形態において、先行する形態で説明した事項に対応する部分には同一の参照符号を付して重複する説明を省略する場合がある。各形態において、構成の一部のみを説明している場合は、構成の他の部分については先行して説明した他の形態を参照し適用することができる。
【0013】
(実施形態)
<構成>
図1、
図2を用いて、通信システム100の構成に関して説明する。なお、
図1などでは、ゲートウェイECUをGWECU、ルーティングテーブルをRT、各ポートをP1~P4、無線機をWDと略称で記載している。
【0014】
<通信システム>
本実施形態では、一例として、
図1に示す通信システム100を採用する。本実施形態では、車両に搭載可能に構成され通信システム100を採用する。この場合、通信システム100は、車載通信システムともいえる。
【0015】
通信システム100は、複数のバス51~54と、各バスに少なくとも一つが接続された複数のECU11~13,21,22,31,32,41~43とを備えている。また、通信システム100は、ゲートウェイECU60(以下、GW60)と無線機70とを備えている。なお、複数のECU11~13,21,22,31,32,41~43は、それぞれを区別する必要がない場合、符号を省略する。同様に、複数のバス51~54は、それぞれを区別する必要がない場合、符号を省略する。バスは、通信線に相当する。
【0016】
このように、本実施形態では、一例として、無線機70を備えた通信システム100を採用している。しかしながら、本開示は、これに限定されない。本開示は、無線機70を備えていなくてもよい。
【0017】
本実施形態では、一例として、CANプロトコルに準拠した通信システム100を採用できる。つまり、各ECU間は、CANプロトコルに準拠した通信を行う。このため、各バス51~54は、CANバスともいえる。また、後ほど説明するIDは、CANIDともいえる。なお、CANは、Controller Area Networkの略称である。CANは、登録商標である。
【0018】
しかしながら、本開示は、これに限定されない。通信システム100は、例えばLINのように、他のプロトコルに準拠した通信ネットワークでも採用できる。また、通信システム100は、例えばCANとLINなどのように、異なるプロトコルに準拠した通信を行うECUを含んでいてもよい。LINは、Local Interconnect Networkの略称である。
【0019】
<ECU>
各ECUは、CPUなどの演算処理装置と、RAMやROMなどの記憶装置と、通信機などを備えている。各ECUは、複数のバス51~54のいずれかと接続されている。各ECUは、通信機を用いて、自身が接続されているバスを介して通信可能に構成されている。各ECUは、制御対象の外部装置である制御機器が接続されている。なお、各ECUは、センサなどが接続されていてもよい。
【0020】
第11ECU11、第12ECU12、第13ECU13は、第1バス51に接続されている。第21ECU21、第22ECU22は、第2バス52に接続されている。第31ECU31、第32ECU32は、第3バス53に接続されている。第41ECU41、第42ECU42、第43ECU43は、第4バス54に接続されている。
【0021】
なお、第11ECU11~第13ECU13と、第1バス51を備えたネットワークは、第1ネットワークともいえる。同様に、第21ECU21、第22ECU22と、第2バス52を備えたネットワークは、第2ネットワークともいえる。第31ECU31、第32ECU32と、第3バス53を備えたネットワークは、第3ネットワークともいえる。第41ECU41~第43ECU43と、第4バス54を備えたネットワークは、第4ネットワークともいえる。なお、各ネットワークに含まれているECUの数やバスの数は、上記に限定されない。
【0022】
各ECUは、バス51~54を介して通信可能に構成されている。各ECUは、GW60を介して異なるネットワークに属するECUと通信することもできる。GW60に関しては、後ほど説明する。
【0023】
各ECUは、例えばフレームを用いて通信を行う。フレームは、各種データを含むデータフレームや起動指示を示すウェイクアップフレームなどである。各フレームには、ID(識別情報)領域とデータ領域が設けられている。ID領域には、フレームの送信先のECUのIDが含まれている。データ領域には、制御用のデータや、後ほど説明する更新プログラムやリプログ要求が含まれている。制御用のデータとは、各ECUが制御機器を制御するための演算に用いるデータである。
【0024】
例えば、起動指示を示すウェイクアップフレームには、起動情報が含まれている。この起動情報は、フレームの送信先のECUのIDと、起動を指示する情報が含まれている。この場合、フレームの送信先のECUは、起動対象のECUである。また、起動指示を示すフレームとしては、ネットワークマネジメントフレーム(管理フレーム)なども採用できる。
【0025】
なお、ウェイクアップフレームやデータフレームの送信先のECUは、送信対象ECU(TECU)ともいえる。送信対象ECUは、対象装置に相当する。一方、ウェイクアップフレームやデータフレームの送信先でないECUは、送信対象外ECU(NTECU)ともいえる。しかしながら、後ほど説明する独自ウェイクアップフレームは、全てのECUに送信される。このため、独自ウェイクアップフレームの送信先のECUは、送信対象ECUとはしない。
【0026】
各ECUは、ROMに記憶されたプログラムをCPUが実行する。CPUは、プログラムを実行することで、バスやセンサから取得したデータなどを用いて演算処理を行う。また、CPUは、演算結果やデータなどをRAMに一時的に記憶しつつ、演算処理を行う。そして、各ECUは、演算結果を出力することで制御機器を制御する。ROMは、記憶されたプログラムの書き換えが可能に構成されている。つまり、プログラムの書き換えは、リプログラミングやリプログともいえる。
【0027】
なお、各ECUは、それぞれ同様の構成を備えている。しかしながら、各ECUは、プログラムや接続されている制御機器などが異なる。各ECUは、電子制御装置に相当する。また、各ECUは、ノードともいえる。
【0028】
<ゲートウェイECU>
GW60は、CPU61、RAM62、ROM63などを備えている。また、GW60は、第1ポート65、第2ポート66、第3ポート67、第4ポート68を備えている。第1ポート65は、第1バス51が接続されている。第2ポート66は、第2バス52が接続されている。第3ポート67は、第3バス53が接続されている。第4ポート68は、第4バス54が接続されている。さらに、GW60は、後ほど説明する無線機70と通信を行う通信機が設けられている。GW60は、中継装置に相当する。
【0029】
GW60は、ECUへの通信を中継する装置である。また、GW60は、ECUが行う通信を中継するともいえる。つまり、GW60は、自身が受信したフレームをECUへと中継する。GW60は、例えば、異なるネットワーク間における通信の中継や、無線機70とECU間における通信の中継などである。通信の中継とは、情報の中継や、フレームの中継と同意である。
【0030】
一例としては、GW60は、第1ネットワークの第11ECU11と第4ネットワークの第43ECU43との通信を中継する。この場合、GW60は、第11ECU11から送信されたデータフレームを受信すると、そのデータフレームを第43ECU43に転送する。
【0031】
CPU61は、プログラムに従って演算処理を実行する。RAM62は、CPU61の演算結果や、受信したデータなどが一時的に記憶されている。ROM63は、CPU61が実行するプログラムや、ルーティングテーブル64が記憶されている。
【0032】
GW60は、ROM63に記憶されたプログラムをCPU61が実行する。CPU61は、演算結果やデータなどをRAMに一時的に記憶しつつ、演算処理を行う。ROM63には、プログラムやルーティングテーブル64が記憶されている。
【0033】
図2に示すように、ルーティングテーブル64は、受信したフレームを複数のバス51~54のうちどのバス51~54に送信するかを決定するためのものである。また、ルーティングテーブル64は、受信したフレームをどのポート65~68から送信するかを決定するためのものともいえる。
【0034】
ルーティングテーブル64は、各ECUのIDと各バス51~54とが関連付けられている。CPU61は、受信したフレーム内のIDと、ルーティングテーブル64とから、そのフレームを送信するバス51~54を決定する。例えば、第11ECU11のIDは011、第12ECU12のIDは012、第43ECU43のIDは303である。つまり、ID011は、第11ECU11に向けた送信用のIDである。ID012は、第12ECU12に向けた送信用のIDである。ID303は、第43ECU43に向けた送信用のIDである。そして、ID305は、第21ECU21と第43ECU43に向けた複数ノードへの送信用のIDである。このようなルーティングテーブル上での割り当てによって、GW60は、必要なバスにフレームを送信できる。
【0035】
<無線機>
無線機70は、車両の外部に設けられた通信装置(外部機器)との間で無線通信を行う装置である。無線機70は、GW60と電気的に接続されている。無線機70は、例えば、各ECUのROMに記憶されたプログラムをリプログするための更新プログラムやリプログ要求(RPR)などを受信する。無線機70は、受信した更新プログラム、リプログ要求、ウェイクアップフレームなどをGW60に送信する。また、無線機70は、GW60からの指示に応じて、リプログ要求などに対する応答を通信装置に送信する。更新プログラムは、リプログ用のデータなどを含んでいる。
【0036】
なお、無線機70は、送信装置に相当する。本実施形態では、送信装置として無線機70を採用している。しかしながら、本開示は、これに限定されない。送信装置としては、各ECUのいずれかを採用することもできる。送信装置としてのECUは、少なくともウェイクアップフレームを送信する。しかしながら、送信装置としてのECUは、更新プログラムは送信しない。
【0037】
<処理動作>
ここで、
図3~
図6を用いて、通信システム100の処理動作に関して説明する。本実施形態では、一例として、複数のECUのいずれかのプログラムをリプログする例を採用する。リプログ要求のフレームには、リプログ対象のECUのIDが含まれている。リプログ対象のECUは、送信対象ECUとなる。よって、リプログ対象ではないECUは、送信対象外ECUとなる。
図3の白抜き部分は、各装置が処理を行っていることを示している。
【0038】
まず、
図3、
図4を用いて、無線機の処理動作に関して説明する。無線機70は、リプログ要求を受信すると、
図4のフローチャートをスタートする。
【0039】
ステップS10では、ウェイクアップフレームを送信する。無線機70は、リプログ要求のフレームからリプログ対象のECUを特定する。無線機70は、リプログ対象のECUを起動させるためのウェイクアップフレームを生成する。そして、無線機70は、生成したウェイクアップフレームをGW60に送信する。ウェイクアップフレームには、起動情報として、フレームの送信先のECUのIDと、そのECUの起動を指示する情報とを含んでいる。フレームの送信先のECUは、リプログ対象のECUである。また、ウェイクアップフレームは、リプログ要求を示す情報を含んでいてもよい。
図3では、ウェイクアップフレームの生成をWFG、ウェイクアップフレームの送信をWFSと記載している。
【0040】
ステップS11では、ECUの起動を待つ。無線機70は、送信対象のECUの起動を待つ。つまり、無線機70は、送信対象のECUが起動したことを示す情報を含む応答フレームが、GW60から送信されることを待機する。無線機70は、応答フレームを受信するとステップS12へ進む。なお、GW60と無線機70との間は、フレームを用いない通信であっても採用できる。また、無線機70は、応答フレームの受信以外に、時間経過等による待機によってもステップS12へ移行する方式も採用できる。
【0041】
ステップS12では、データフレームを送信する(データ送信部)。無線機70は、データフレームをGW60に送信する。このデータフレームは、送信対象のECUのIDと、更新プログラムを含むフレームである。無線機70は、車両の外部に設けられた通信装置から更新プログラムを含むフレームを受信して、そのフレームを送信する。
図3では、データフレームの送信をDFSと記載している。
【0042】
このように、無線機70は、ウェイクアップフレームを送信してから、送信対象のECUが起動するのを待って、更新プログラムを含むフレームを送信する。これによって、無線機70は、送信対象のECUが更新プログラムを受信できない状態で、更新プログラムを含むフレームを送信することを抑制できる。
【0043】
ステップS13では、全データの送信が完了したか否かを判定する。無線機70は、全てのデータフレームの送信が完了したか否かを判定する。無線機70は、全てのデータフレームの送信が完了したと判定しない場合は、ステップS10へ戻る。一方、無線機70は、全てのデータフレームの送信が完了したと判定した場合は、
図4のフローチャートを終了する。
【0044】
次に、
図3、
図5を用いて、ゲートウェイECUの処理動作に関して説明する。GW60は、リプログ要求のためのウェイクアップフレームを受信すると
図5のフローチャートをスタートする。
【0045】
ステップS20では、ウェイクアップフレームを受信したか否かを判定する(受信部)。GW60は、無線機70からウェイクアップフレームを受信したか否かを判定する。GW60は、ウェイクアップフレームを受信するまでステップS20を繰り返し実行する。このように、GW60は、複数のECUのいずれかの起動を指示する起動情報を受信する。なお、GW60は、無線機70との間で無線通信を行う通信機に電力が供給されている。しかしながら、GW60は、CPU61には電力が供給されていない。
【0046】
ステップS21では、ゲートウェイECUを起動する。GW60は、自身を起動する。GW60は、ウェイクアップフレームの受信を条件に、CPU61への電力を供給することで起動する。
図3では、GW60の起動をGSUと記載している。
【0047】
ステップS22では、独自ウェイクアップフレームを送信する(送信部)。独自ウェイクアップフレーム(GWF)は、GW60独自のウェイクアップフレームである。独自ウェイクアップフレームは、全てのECUに対して起動を指示する全起動情報を含んでいる。GW60は、起動情報を受信すると、全てのECUを一旦起動させるために、全ポート65~68から独自ウェイクアップフレームを送信する。つまり、GW60は、複数のバス51~54を介して全てのECUの起動を指示する全起動情報を送信する。よって、独自ウェイクアップフレームは、全対象ウェイクアップフレームともいえる。
【0048】
また、GW60は、複数のECUのうち起動情報による起動対象のECUが接続されたバスを特定する前に、独自ウェイクアップフレームを送信する。つまり、GW60は、リプログ対象のECUに加えて、リプログ対象ではないECUも起動させる。各ECUは、起動情報や全起動情報を受信すると、起動処理を実行する。GW60は、各ECUが起動処理を実行している時間を利用して、起動対象のECUが接続されたバスを特定する。特に、本実施形態では、ステップS23で起動情報の内容を読み取る前に、独自ウェイクアップフレームを送信する例を採用する。
図3では、独自ウェイクアップフレームの送信をGWFSと記載している。
【0049】
独自ウェイクアップフレームは、全てのECUに対して起動を指示するものであればよく、特に限定されない。独自ウェイクアップフレームは、予め決められたフレームを採用すると好ましい。この場合、GW60は、ウェイクアップフレームを受信後に即座に独自ウェイクアップフレームを送信できる。つまり、GW60は、独自ウェイクアップフレームを生成する場合よりも早く、独自ウェイクアップフレームを送信できる。
【0050】
ステップS23では、起動対象を特定する(特定部)。GW60は、無線機70から受信したウェイクアップフレームに含まれている起動情報の内容を読み取り、起動対象のECUを特定する。詳述すると、GW60は、起動情報に含まれているIDと、ルーティングテーブル64とを用いて起動対象のECUを特定する。ここでの起動対象のECUは、全てのECUではなく、特定のリプログ対象のECUである。起動対象のECUは、特定の送信対象ECUである。
図3では、ルーティングテーブルの参照をRTRと記載している。
【0051】
また、上記のようにルーティングテーブル64は、各ECUのIDと各バス51~54とが関連付けられている。このため、GW60は、送信対象ECUを特定することで、そのECUが接続されているバスを特定することになる。つまり、GW60は、複数のバス51~54からウェイクアップフレームを送信するバスを特定する。
【0052】
これによって、GW60は、送信対象ECUを含む全ECUが起動処理を行っている間に、起動対象のECUを特定することができる。
【0053】
ステップS24では、ウェイクアップフレームを送信(定期送信部)。GW60は、ステップS23でバスを特定すると、特定したバスのみにウェイクアップフレームを送信する。また、GW60は、ウェイクアップフレームを定期的に送信する。これによって、GW60は、送信対象ECUに対して、定期的にウェイクアップフレームを送信することができる。これは、送信対象ECUの起動状態を維持するためである。さらに、GW60は、送信対象ECUのリプログ中に、送信対象ECUがスリープすることを抑制するためである。
【0054】
なお、後ほど説明するが、送信対象外ECUは、ウェイクアップフレームを規定時間受信しない場合、自らスリープ状態に移行する。このため、GW60は、送信対象外ECUに対してスリープを指示するフレームを送信する必要がない。よって、GW60は、自身の処理負荷を低減できる。また、GW60は、スリープを指示するフレームを送信しない分、処理時間を短縮できる。
【0055】
ステップS25では、データフレームを受信する。GW60は、無線機70からデータフレームを受信する。このデータフレームは、無線機70がステップS12で送信したものである。
【0056】
ステップS26では、ルーティングテーブルを参照する。GW60は、ステップS25で受信したデータフレームの送信先(中継先)を特定するために、ルーティングテーブル64を参照する。GW60は、ルーティングテーブル64からデータフレームに含まれているIDが関連付けられたバスを特定する。
【0057】
ステップS27では、データフレームを送信する。GW60は、ステップS26で特定したバスにデータフレームを送信する。
【0058】
ステップS28では、全データを送信完了したか否かを判定する。GW60は、無線機70から受信した全データの送信が完了したか否かを判定する。GW60は、全データの送信が完了したと判定しなかった場合はステップS24へ戻る。GW60は、全データの送信が完了したと判定した場合はステップS29へ進む。このように、GW60は、全データの送信が完了するまで、ステップS24~S27を繰り返し実行する。
【0059】
ステップS29では、スリープする。GW60は、全データを送信するとスリープ状態に移行する。
【0060】
次に、
図3、
図6を用いて、ECUの処理動作に関して説明する。各ECUは、スリープ中にウェイクアップフレームを受信するごとにフローチャートをスタートする。
【0061】
ステップS30では、ウェイクアップフレームを受信したか否かを判定する。上記のように、GW60は、全てのECUに対して独自ウェイクアップフレームを送信する。よって、ここでのウェイクアップフレームは、独自ウェイクアップフレームである。全てのECUは、独自ウェイクアップフレームを受信するまで、ステップS30を繰り返す。つまり、全てのECUは、独自ウェイクアップフレームを受信する。
【0062】
ステップS31では、ECUを起動する(起動部)。ここでは、全てのECUが独自ウェイクアップフレームを受信している。よって、全てのECUは、自身の起動処理を実行する。言い換えると、全てのECUは、全起動情報によって起動処理を実行する。ここでは、送信対象ECUだけではなく送信対象外ECUも、自身の起動処理を実行する。
【0063】
ステップS32では、規定時間内にフレームを受信したか否かを判定する(起動判定部)。各ECUは、ステップS31の後に、規定時間内にフレームを受信したか否かを判定する。ここでのフレームは、ウェイクアップフレームである。各ECUは、規定時間内にウェイクアップフレームを受信したと判定するとステップS33へ進む。また、各ECUは、規定時間内にウェイクアップフレームを受信したと判定しないとステップS36へ進む。つまり、送信対象ECUは、ステップS33へ進むことになる。一方、送信対象外ECUは、ステップS36へ進むことになる。
【0064】
ステップS33では、データフレームを受信する。
図3に示すように、送信対象ECUは、データフレームを受信する。ここでのデータフレームは、更新プログラムを含んでいる。
【0065】
ステップS34では、全データ受信完了したか否かを判定する。送信対象ECUは、更新プログラムの全データを受信完了したか否かを判定する。そして、送信対象ECUは、全データを受信完了したと判定するとステップS35へ進む。一方、送信対象ECUは、全データを受信完了したと判定しないとステップS32に戻る。このように、送信対象ECUは、全データを受信するまでステップS32、S33を繰り返す。
【0066】
ステップS35では、リプログを行う。
図3に示すように、送信対象ECUは、受信した更新プログラムでリプログを行う(RPM)。
【0067】
ステップS36では、スリープする。ECUは、スリープ状態に移行する(起動判定部)。
図3に示すように、送信対象ECUは、ステップS35でリプログが完了するとスリープ状態に移行する。一方、送信対象外ECUは、ステップS31の後に、規定時間内に起動情報を受信しない場合はスリープ状態に移行する(SLP)。
【0068】
<効果>
このように、通信システム100は、GW60が起動情報を受信すると、送信対象ECUが接続されたバスを特定する前に、複数のバスを介して全起動情報を送信する。このため、通信システム100は、各ECUが起動処理を行っている間に、送信対象ECUが接続されたバスを特定することができる。よって、通信システム100は、中継が開始されるまでに要する時間を短縮できる。本実施形態では、無線機70と送信対象ECUとの間の中継が開始されるまでに要する時間を短縮できる。詳述すると、通信システム100は、無線機70がウェイクアップフレームを送信してから、送信対象ECUが更新プログラムを含むデータフレームを受信するまでの時間を短縮できる。同様の理由によって、GW60は、中継が開始されるまでに要する時間を短縮できる。
【0069】
以上、本開示の好ましい実施形態について説明した。しかしながら、本開示は、上記実施形態に何ら制限されることはなく、本開示の趣旨を逸脱しない範囲において、種々の変形が可能である。以下に、本開示のその他の形態として、変形例1~5に関して説明する。上記実施形態および変形例1~5は、それぞれ単独で実施することも可能であるが、適宜組み合わせて実施することも可能である。本開示は、実施形態において示された組み合わせに限定されることなく、種々の組み合わせによって実施可能である。
【0070】
(変形例1)
図7を用いて、変形例1における通信システム100およびGW60に関して説明する。変形例1では、第12ECU12がウェイクアップフレームを送信する例を採用している。第11ECU11は、アクセル開度を制御する制御装置とする。第12ECU12は、レーン逸脱を検出可能な制御装置とする。第32ECU32は、燃料噴射量を制御する制御装置とする。第43ECU43は、パワーステアリング装置を制御する制御装置とする。
【0071】
なお、
図7(a)~(d)は、車両走行時の各種タイミングにおける各ECUの状態を示している。
図7では、ウェイクアップ(起動)状態のECUにハッチングを施しており、スリープ状態のECUにはハッチングを施していない。
【0072】
図7(a)は、通常走行時の状態を示している。通信システム100は、第11ECU11と第32ECU32とがGW60を介して通信している。その他のECUは、動作が不要である。よって、第2バス52と第4バス54に接続されたECUはスリープ状態である。
【0073】
図7(b)は、ウェイクアップイベントが発生した状態を示している。ウェイクアップイベントは、例えば、第12ECU12によるレーン逸脱の検出などである。第12ECU12は、GW60に対してウェイクアップフレームを送信する。そして、GW60は、ウェイクアップフレームを受信する(受信部)。本変形例では、第12ECU12が送信装置に相当する。
【0074】
図7(c)は、GW60が全ECUを起動させる状態を示している。GW60は、独自ウェイクアップフレームを全ECUに対して送信する(送信部)。これによって、全ECUは、起動処理を実行する。そして、全ECUは、一旦起動状態となる。
【0075】
図7(d)は、起動対象を特定して、その起動対象を起動させた状態を示している。GW60は、ルーティングテーブル64を参照して、起動対象を特定する(特定部)。ここでは、GW60は、起動対象を第43ECU43と特定する。GW60は、第11ECU11と第32ECU32との間、および第12ECU12と第43ECU43との間の通信を中継する。なお、上記実施形態で説明したように、通信に不要なECUは、スリープ状態に移行する。本変形例では、第2バス52に接続されたECUがスリープ状態に移行する。
【0076】
変形例1は、上記実施形態と同様の効果を奏することができる。
【0077】
(変形例2)
図8を用いて、変形例2における通信システム100およびGW60に関して説明する。変形例2では、無線機70がウェイクアップフレームを送信する例を採用している。第11ECU11は、アクセル開度を制御する制御装置とする。第21ECU21は、渋滞検知のデータを用いる制御装置とする。第32ECU32は、燃料噴射量を制御する制御装置とする。渋滞検知のデータは、無線機70と路側機などのインフラとの通信で得ることができる。
【0078】
なお、
図8(a)~(d)は、車両走行時の各種タイミングにおける各ECUの状態を示している。
図8では、ウェイクアップ状態のECUにハッチングを施しており、スリープ状態のECUにはハッチングを施していない。
【0079】
図8(a)は、通常走行時の状態を示している。通信システム100は、第11ECU11と第32ECU32とがGW60を介して通信している。その他のECUは、動作が不要である。よって、第2バス52と第4バス54に接続されたECUはスリープ状態である。
【0080】
図8(b)は、ウェイクアップイベントが発生した状態を示している。ウェイクアップイベントは、例えば、無線機70が渋滞検知のデータを受信したことなどである。無線機70は、GW60に対して、第21ECU21向けのウェイクアップフレームを送信する。そして、GW60は、そのウェイクアップフレームを受信する(受信部)。本変形例では、無線機70が送信装置に相当する。
【0081】
図8(c)は、GW60が全ECUを起動させる状態を示している。GW60は、独自ウェイクアップフレームを全ECUに対して送信する(送信部)。これによって、全ECUは、起動処理を実行する。そして、全ECUは、一旦起動状態となる。
【0082】
図8(d)は、起動対象を特定して、その起動対象を起動させた状態を示している。GW60は、ルーティングテーブル64を参照して、起動対象を特定する(特定部)。ここでは、GW60は、起動対象を第21ECU21と特定する。GW60は、第11ECU11と第32ECU32との間、および無線機70と第21ECU21との間の通信を中継する。なお、上記実施形態で説明したように、通信に不要なECUは、スリープ状態に移行する。本変形例では、第4バス54に接続されたECUがスリープ状態に移行する。
【0083】
変形例2は、上記実施形態と同様の効果を奏することができる。
【0084】
(変形例3)
図9を用いて、変形例3における通信システム100およびGW60に関して説明する。変形例3では、無線機70がウェイクアップフレームを送信する例を採用している。第11ECU11は、リプログ対象の制御装置とする。
【0085】
なお、
図9(a)~(d)は、車両停車時の各種タイミングにおける各ECUの状態を示している。
図9では、ウェイクアップ状態のECUにハッチングを施しており、スリープ状態のECUにはハッチングを施していない。
【0086】
図9(a)は、車両停車時の状態を示している。通信システム100は、全てのECUがスリープ状態である。
【0087】
図9(b)は、ウェイクアップイベントが発生した状態を示している。ウェイクアップイベントは、例えば、無線機70がリプログ要求を受信したことなどである。無線機70は、GW60に対して、第11ECU11向けのウェイクアップフレームを送信する。そして、GW60は、そのウェイクアップフレームを受信する(受信部)。本変形例では、無線機70が送信装置に相当する。
【0088】
図9(c)は、GW60が全ECUを起動させる状態を示している。GW60は、独自ウェイクアップフレームを全ECUに対して送信する(送信部)。これによって、全ECUは、起動処理を実行する。そして、全ECUは、一旦起動状態となる。
【0089】
図9(d)は、起動対象を特定して、その起動対象を起動させた状態を示している。GW60は、ルーティングテーブル64を参照して、起動対象を特定する(特定部)。ここでは、GW60は、起動対象を第11ECU11と特定する。GW60は、第11ECU11と無線機70との間の通信を中継する。なお、上記実施形態で説明したように、通信に不要なECUは、スリープ状態に移行する。本変形例では、第2バス52~第4バス54に接続されたECUがスリープ状態に移行する。
【0090】
変形例3は、上記実施形態と同様の効果を奏することができる。
【0091】
(変形例4)
図10に示すように、通信システム100は、GW60,60a,60bが多段に設けられていてもよい。通信システム100は、中継装置として、メインゲートウェイECU60(CGWECU)と、第1ゲートウェイECU60a、第2ゲートウェイECU60bを備えている。
【0092】
第1ゲートウェイECU60aは、第1ネットワークに設けられている。第1ゲートウェイECU60aは、第11ECU~第13ECU13が接続されたバスと、第14ECU14と第15ECU15が接続されたバスが接続されている。第2ゲートウェイECU60bは、第3ネットワークに設けられている。第2ゲートウェイECU60bは、第32ECU32と第31ECU31とがされている。各GW60,60a,60bは、上記実施形態と同様の構成、および同様の処理動作を行う。変形例4は、実施形態と同様の効果を奏することができる。
【0093】
(変形例5)
図11に示すように、GW60は、無線機70を備えていてもよい。変形例5は、実施形態と同様の効果を奏することができる。
【0094】
(変形例6)
図12を用いて変形例6のGW60に関して説明する。変形例6のGW60は、上記実施形態と同様の処理動作に加えて、ルーティングテーブル64の作成および変更を行う。変形例6のGW60は、RAM62にルーティングテーブル64が記憶されている。
【0095】
GW60は、ルーティングテーブル42の作成イベントが発生すると、
図12のフローチャートをスタートする。作成イベントは、例えば、所定時間ごとや、イグニッションスイッチのオンごとなどに発生する。
【0096】
ステップS40では、要求信号を送信する(収集部)。GW60は、全てのバス51~54を介して各ECUに固有の識別情報(ID)の送信を要求する。各ECUは、この要求に応じて、自身のIDを返信する。
【0097】
ステップS41では、識別情報を収集する(収集部)。GW60は、バス51~54毎に、各ECUの識別情報を収集する。GW60は、バス51~54毎に接続されているECUを把握するために識別情報を収集する。
【0098】
ステップS42では、ルーティングテーブル64を作成する(テーブル作成部)。GW60は、各バス51~54と、ステップS41で収集した識別情報とを関連付けてルーティングテーブル64を生成する。
【0099】
なお、GW60は、既にルーティングテーブル64が記憶されている場合、ステップS42でルーティングテーブル64の変更を行う。詳述すると、GW60は、既に存在するルーティングテーブル64と、ステップS41で収集した内容とは異なる場合は、ステップS42でルーティングテーブル64の変更を行う。
【0100】
変形例6は、実施形態と同様の効果を奏することができる。また、変形例6では、ネットワークの構成が変更になった場合でも対応することができる。つまり、変形例6では、各バス51~54に接続されるECUが変更されたとしても、ルーティングテーブル64を用いて起動対象を特定できる。
【0101】
本開示は、実施形態に準拠して記述されたが、本開示は当該実施形態や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態が本開示に示されているが、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範畴や思想範囲に入るものである。
【符号の説明】
【0102】
11…第11ECU、12…第12ECU、13…第13ECU、14…第14ECU、15…第15ECU、21…第21ECU、22…第22ECU、31…第31ECU、32…第32ECU、41…第41ECU、42…第42ECU、42…第43ECU、51…第1通信線、52…第2通信線、53…第3通信線、54…第4通信線、60…ゲートウェイECU、60a…第1ゲートウェイECU、60b…第2ゲートウェイECU、61…CPU、62…RAM、63…ROM、64…ルーティングテーブル、65…第1ポート、66…第2ポート、67…第3ポート、68…第4ポート、70…無線機、100…通信システム