(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-01
(45)【発行日】2024-07-09
(54)【発明の名称】更新制御システム、更新制御方法、更新制御プログラム、車載制御装置
(51)【国際特許分類】
G06F 8/65 20180101AFI20240702BHJP
B60R 16/02 20060101ALI20240702BHJP
H04L 67/10 20220101ALI20240702BHJP
【FI】
G06F8/65
B60R16/02 660U
H04L67/10
(21)【出願番号】P 2021074713
(22)【出願日】2021-04-27
【審査請求日】2023-03-23
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110001276
【氏名又は名称】弁理士法人小笠原特許事務所
(72)【発明者】
【氏名】石川 智康
(72)【発明者】
【氏名】谷森 俊介
(72)【発明者】
【氏名】菊入 菜那
【審査官】大倉 崚吾
(56)【参考文献】
【文献】特開2020-027621(JP,A)
【文献】特開2019-200789(JP,A)
【文献】米国特許出願公開第2013/0121502(US,A1)
【文献】特開2019-153159(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/60-8/658
B60R 16/02
H04L 67/10-67/1097
(57)【特許請求の範囲】
【請求項1】
1以上の電子制御ユニットのソフトウェアの更新する車載制御装置を備える車両と、当該車載制御装置と有線による通信が可能な情報処理端末と、当該車載制御装置と無線ネットワークを介して通信可能なセンタと、を備える、更新制御システムであって、
前記センタは、
前記無線ネットワークを用いる更新処理である無線更新処理において用いられるOTA用データと、前記有線による通信を用いる更新処理である有線更新処理において用いられる有線更新用データと、を少なくとも含む、配信パッケージを記憶する配信パッケージ記憶部と、
前記配信パッケージを前記車両に送信する配信パッケージ送信部と、を備え、
前記車載制御装置は、
前記車両の状態が、前記無線更新処理が実行可能な第1の状態であるか、前記有線更新処理が実行可能な第2の状態であるかを、判定する状態判定部と、
前記配信パッケージを用いる更新処理が開始してから完了するまでの間に、前記車両の状態が前記第1の状態と前記第2の状態との間で切り替わった場合、当該切り替わり前まで実行していた更新処理の進捗状況を引き継いで、切り替わり後の状態における更新処理を実行する更新処理制御部と、を備え、
前記更新処理制御部は、
前記第1の状態と前記第2の状態との間での切り替わりがあった場合、当該切り替わり前の状態における更新処理を中断し、それまでの更新処理の進捗状況を示す進捗状況データを記憶する進捗状況記憶部と、
前記第1の状態から前記第2の状態へ切り替わった場合は、前記進捗状況記憶部で記憶した前記進捗状況データに基づいて前記有線更新処理を実行し、前記第2の状態から前記第1の状態へ切り替わった場合は、前記進捗状況記憶部で記憶した前記進捗状況データに基づいて前記無線更新処理を実行する制御切り替え部と、を含み、
前記センタは、前記車両の状態が、前記第1の状態である場合は、前記OTA用データを前記配信パッケージとして送信し、前記第2の状態である場合は、前記有線更新用データを前記配信パッケージとして送信する、更新制御システム。
【請求項2】
前記配信パッケージには、更に、前記有線更新処理および前記無線更新処理で共用である共用データが含まれており、
前記センタは、前記車両の状態が、前記第1の状態である場合は、前記共用データおよび前記OTA用データを前記配信パッケージとして送信し、前記第2の状態である場合は、前記共用データおよび前記有線更新用データを前記配信パッケージとして送信する、請求項1に記載の更新制御システム。
【請求項3】
1以上の電子制御ユニットのソフトウェアを更新する車載制御装置を備える車両と、前記車載制御装置と有線による通信が可能な情報処理端末と、前記車載制御装置と無線ネットワークを介して通信可能なセンタと、を備える、更新制御システムのコンピュータが実行する更新制御方法であって、
前記センタのコンピュータは、
前記無線ネットワークを用いる更新処理である無線更新処理において用いられるOTA用データと、前記有線による通信を用いる更新処理である有線更新処理において用いられる有線更新用データと、を少なくとも含む配信パッケージを、記憶部に記憶するステップと、
前記車両の状態が、前記無線更新処理が実行可能な第1の状態である場合は、前記OTA用データを前記配信パッケージとして前記車両に送信し、前記有線更新処理が実行可能な第2の状態である場合は、前記有線更新用データを前記配信パッケージとして前記車両に送信するステップと、を実行し、
前記車載制御装置のコンピュータは、
前記車両の状態が、前記第1の状態であるか前記第2の状態であるかを判定するステップと、
前記配信パッケージを用いる更新処理が開始してから完了するまでの間に、前記車両の状態が前記第1の状態と前記第2の状態との間で切り替わった場合、当該切り替わり前まで実行していた更新処理の進捗状況を引き継いで、切り替わり後の状態における更新処理を実行するステップと、
前記第1の状態と前記第2の状態との間での切り替わりがあった場合、当該切り替わり前の状態における更新処理を中断し、それまでの更新処理の進捗状況を示す進捗状況データを記憶するステップと、
前記第1の状態から前記第2の状態へ切り替わった場合は、前記進捗状況データに基づいて前記有線更新処理を実行するステップと、
前記第2の状態から前記第1の状態へ切り替わった場合は、前記進捗状況データに基づいて前記無線更新処理を実行するステップと、を実行する、更新制御方法。
【請求項4】
1以上の電子制御ユニットのソフトウェアを更新する車載制御装置を備える車両と、前記車載制御装置と有線による通信が可能な情報処理端末と、前記車載制御装置と無線ネットワークを介して通信可能なセンタと、を備える、更新制御システムのコンピュータに実行させる更新制御プログラムであって、
前記センタのコンピュータに、
前記無線ネットワークを用いる更新処理である無線更新処理において用いられるOTA用データと、前記有線による通信を用いる更新処理である有線更新処理において用いられる有線更新用データと、を少なくとも含む配信パッケージを、記憶部に記憶するステップと、
前記車両の状態が、前記無線更新処理が実行可能な第1の状態である場合は、前記OTA用データを前記配信パッケージとして前記車両に送信し、前記有線更新処理が実行可能な第2の状態である場合は、前記有線更新用データを前記配信パッケージとして前記車両に送信するステップと、を実行させ、
前記車載制御装置のコンピュータに、
前記車両の状態が、前記第1の状態であるか前記第2の状態であるかを判定するステップと、
前記配信パッケージを用いる更新処理が開始してから完了するまでの間に、前記車両の状態が前記第1の状態と前記第2の状態との間で切り替わった場合、当該切り替わり前まで実行していた更新処理の進捗状況を引き継いで、切り替わり後の状態における更新処理を実行するステップと、
前記第1の状態と前記第2の状態との間での切り替わりがあった場合、当該切り替わり前の状態における更新処理を中断し、それまでの更新処理の進捗状況を示す進捗状況データを記憶するステップと、
前記第1の状態から前記第2の状態へ切り替わった場合は、前記進捗状況データに基づいて前記有線更新処理を実行するステップと、
前記第2の状態から前記第1の状態へ切り替わった場合は、前記進捗状況データに基づいて前記無線更新処理を実行するステップと、を実行させる、更新制御プログラム。
【請求項5】
1以上の電子制御ユニットを含む車載ネットワークに接続されると共に、センタと無線ネットワークを介して通信可能であり、また、車両整備用の情報処理端末と有線接続による通信が可能であり、当該センタから受信した配信パッケージに基づいて1以上の電子制御ユニットのプログラムを更新するための更新処理を実行する、車両に備えられる車載制御装置であって、
前記車両の状態が、前記無線ネットワークを用いる更新処理である無線更新処理が実行可能な第1の状態であるか、前記有線接続による通信を用いる更新処理である有線更新処理が実行可能な第2の状態であるかを、判定する状態判定部と、
前記配信パッケージを用いる所定の更新処理が開始してから完了するまでの間に、前記車両の状態が前記第1の状態と前記第2の状態との間で切り替わった場合、当該切り替わり前まで実行していた更新処理の進捗状況を引き継いで、切り替わり後の状態における更新処理を実行する更新処理制御部とを備え、
前記更新処理制御部は、
前記第1の状態と前記第2の状態との間での切り替わりがあった場合、当該切り替わり前の状態における更新処理を中断し、それまでの更新処理の進捗状況を示す進捗状況データを記憶する進捗状況記憶部と、
前記第1の状態から前記第2の状態へ切り替わった場合は、前記進捗状況記憶部で記憶した前記進捗状況データに基づいて前記有線更新処理を実行し、前記第2の状態から前記第1の状態へ切り替わった場合は、前記進捗状況記憶部で記憶した前記進捗状況データに基づいて前記無線更新処理を実行する制御切り替え部と、を含
み、
前記車両の状態が前記第1の状態である場合は、前記無線更新処理において用いられるOTA用データが前記配信パッケージとして前記センタから送信され、前記車両の状態が前記第2の状態である場合は、前記有線更新処理において用いられる有線更新用データが前記配信パッケージとして前記センタから送信される、車載制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、1以上の電子制御ユニットのソフトウェアを更新する車載制御装置を備える車両と、当該車載制御装置と有線による通信が可能な情報処理端末と、当該車載制御装置と無線ネットワークを介して通信可能なセンタとを備える更新制御システムに関する。
【背景技術】
【0002】
従来から、電子制御ユニットのソフトウェア更新を行う手法として、整備工場に車両を持ち込んで有線で更新する方法(有線更新)と、整備工場に持ち込まずとも更新センタと無線通信を行い、遠隔地から更新する方法(無線更新)が知られている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記有線更新については、有線であるが故に、通信状態については安定することが期待できる。しかし、更新の完了までに時間がかかってしまう。そのため、有線更新のためには整備工場に車両を入庫させる必要があるところ、入庫中は、ユーザは車両を使用できない状態となり、ユーザの利便性の低下が懸念される。
【0005】
一方、無線更新の場合は、更新センタとの通信さえできれば、ユーザは場所を選ばず、車両を利用しながらでも更新用データの集合である配信パッケージのダウンロード等が可能である。しかし、無線通信の場合は、通信状態が不安定になる可能性がある。例えば更新センタと通信できない区間を走行する等で、通信状態が不安定になる虞がある。
【0006】
本開示は、上記課題を鑑みてなされたものであり、所定の配信パッケージに係る更新処理の開始から完了までにおいて、ユーザの利便性を確保しつつ、更新処理の完了までの時短を図ることが可能な更新制御システム、および車載制御装置を提供することである。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本開示技術の一態様は、1以上の電子制御ユニットのソフトウェアを更新する車載制御装置を備える車両と、当該車載制御装置と有線による通信が可能な情報処理端末と、当該車載制御装置と無線ネットワークを介して通信可能なセンタと、を備える更新制御システムである。センタは、上記無線ネットワークを用いる更新処理である無線更新処理において用いられるOTA用データと、上記有線による通信を用いる更新処理である有線更新処理において用いられる有線更新用データとを少なくとも含む配信パッケージを記憶する配信パッケージ記憶部、および、配信パッケージを車両に送信する配信パッケージ送信部を備える。また、車載制御装置は、車両の状態が、無線更新処理が実行可能な第1の状態であるか、有線更新処理が実行可能な第2の状態であるかを判定する状態判定部と、配信パッケージを用いる更新処理が開始してから完了するまでの間に、車両の状態が第1の状態と第2の状態との間で切り替わった場合、当該切り替わり前まで実行していた更新処理の進捗状況を引き継いで、切り替わり後の状態における更新処理を実行する更新処理制御部とを備える。
【発明の効果】
【0008】
本開示のセンタによれば、ユーザの利便性を確保しつつ、更新処理が完了するまでの時短を図ることができる。
【図面の簡単な説明】
【0009】
【
図1】本実施形態に係るシステムの全体構成を示すブロック図
【
図3】車載制御装置31の概略構成を示すブロック図
【
図6】センタ1の記憶部16に記憶されるデータの一例を示すメモリマップ
【
図8】車載制御装置31の記憶部47に記憶されるデータの一例を示すメモリマップ
【
図9】車載制御装置31が実行する制御処理の詳細を示すフローチャート
【
図10】OTA問い合わせ処理の詳細を示すフローチャート
【
図11】有線問い合わせ処理の詳細を示すフローチャート
【
図13】センタ1で実行されるセンタ側制御処理の詳細を示すフローチャート
【発明を実施するための形態】
【0010】
以下、本開示技術の実施形態について、図面を参照しながら詳細に説明する。
【0011】
[更新制御システム全体の構成について]
本開示における更新制御システムの構成について説明する。
図1は、当該更新制御システムの全体構成を示すブロック図である。当該更新制御システムは、センタ1、整備工場2、車両3を備えている。
【0012】
センタ1は、車両3に備えられる電子制御ユニットのソフトウェアの更新を管理するためのサーバである(より正確には、センタ1はこのようなサーバを含むセンタシステムであるが、以下では説明の便宜上、サーバとして説明する)。センタ1は、車両3と無線による通信が可能である。また、センタ1は、整備工場2(より正確には整備工場2が有する所定のサーバや情報処理端末等)と、少なくとも有線による通信(インターネットや専用線通信等)が可能である。
【0013】
整備工場2は、車両3を整備するための工場である。整備工場2は、図示しない整備作業用の情報処理端末(以下、整備作業端末と呼ぶ)が接続されている工場内ネットワークを有している。整備作業端末は、当該工場内ネットワークを介して、センタ1と通信可能である。また、入庫した車両3を当該工場内ネットワークまたは整備作業端末と有線で接続し、整備員による所定の操作に基づいて、当該車両3の電子制御ユニットのソフトウェアを更新するための更新処理を実行することができる。以下、当該整備工場における有線環境下での更新処理のことを有線更新と呼ぶ。また、本実施形態では、当該更新処理を構成するシーケンスについて、「更新有無問い合わせ」のシーケンスと、「配信パッケージのダウンロード」のシーケンスと、「更新データの書き込み」のシーケンスを少なくとも含むものとする。
【0014】
車両3は、センタ1と無線による通信が可能であり、当該無線通信を利用して上記更新処理を実行することができる。以下では、車両3とセンタ1との間で無線通信を用いる更新処理のことを無線更新と呼ぶ(なお、このような無線更新を提供するサービスのことは、OTAサービスと呼ばれる)。また、車両3を整備工場2に入庫させることで、上記有線更新を行うことも可能である。ここで、以下の説明では、車両3が有線で接続されておらず、有線更新はできないが無線更新は可能な状態のことを第1の状態と呼ぶ。また、車両3が整備工場2において有線接続されており、有線更新が可能な状態のことを第2の状態と呼ぶ。
【0015】
[センタ1の構成について]
図2は、上記センタ1の概略構成を示すブロック図である。
図2に示すように、センタ1は、プロセッサ11と、RAM12と、記憶装置13と、通信装置14とを備える。記憶装置13は、ハードディスクやSSD等の読み書き可能な記憶媒体を備え、本実施形態に係る処理に必要な各種のプログラムやデータを記憶する。センタ1において、プロセッサ11は、記憶装置13から読み出したプログラムを、RAM12を作業領域として用いて実行することにより、所定の制御処理を実行する。通信装置14は、ネットワークを介して、整備工場2、および、車両3と通信を行う機器である。
【0016】
[車両3の構成について]
図3は、上記車両3の概略構成を示すブロック図である。
図3に示すように、車両3は、車載制御装置31と、通信モジュール32と、複数の電子制御ユニット(ECU)33a~33dと、ダイアグ用コネクタ36とを少なくとも備えている。車載制御装置31は、バス35を介して通信モジュール32、電子制御ユニット33a~33d、ダイアグ用コネクタ36と接続されている。車載制御装置31は、通信モジュール32を介してセンタ1と無線での通信が可能である。車載制御装置31は、センタ1との間で所定のデータの送受信を行いながら、各電子制御ユニット33のソフトウェア更新処理の制御を実行する。すなわち、車載制御装置31は、無線更新によるソフトウェア更新機能を有する。通信モジュール32は、所定のネットワーク(電話網やインターネット網等)と無線で接続可能な通信機器である。また、車載制御装置31は、整備工場2に入庫している状態において、ダイアグ用コネクタ36を介して上記有線更新を実行可能である。すなわち、車載制御装置31は、有線更新によるソフトウェア更新機能を有する。
【0017】
また、車載制御装置31は、プロセッサ41と、RAM42と、ROM43と、記憶装置44とを備えるマイクロコンピュータ45、および、通信装置46を備える。車載制御装置31において、マイクロコンピュータ45のプロセッサ41は、ROM43から読み出したプログラムを、RAM42を作業領域として用いて実行することにより、所定の処理を実行する。具体的には、プロセッサ41は、上記無線更新によるソフトウェア更新機能に係る処理、または、有線更新によるソフトウェア更新機能に係る処理を実行する。通信装置46は、上記バス35を介して、通信モジュール32、電子制御ユニット33a~33d、ダイアグ用コネクタ36(に有線接続された整備作業端末)と通信を行う機器である。
【0018】
電子制御ユニット33a~33dは、車両3の各部の動作を制御する。なお、
図3における電子制御ユニット33の数は一例であることはいうまでもない。
【0019】
[センタ1の機能ブロック図]
図4は、上記センタ1の機能ブロック図である。センタ1は、記憶部16と通信部17と制御部18とを備える。通信部17及び制御部18は、
図2に示したプロセッサ11がRAM12を用いて記憶装置13に記憶されるプログラムを実行することにより実現され、記憶部16は、
図2に示した記憶装置13により実現される。
【0020】
記憶部16は、本実施形態に係る処理で使用するプログラムやデータを記憶する。
【0021】
制御部18は、通信部17を用いて、車載制御装置31との間で所定のデータの送受信を行い、無線更新の処理を実行する。また、制御部18は、通信部17を用いて、整備工場2との間で所定のデータの送受信を行い、有線更新の処理を実行する。
【0022】
[車載制御装置31の機能ブロック図]
図5は、
図3に示した車載制御装置31の機能ブロック図である。
【0023】
車載制御装置31は、記憶部47と、通信部48と、制御部49とを備える。記憶部47は、
図3に示した記憶装置44によって実現される。通信部48と、制御部49とは、
図3に示したプロセッサ41がRAM42を用いてROM43に記憶されるプログラムを実行することにより実現される。
【0024】
記憶部47は、ソフトウェア更新処理を実行するための各種プログラムや各種データを記憶する。
【0025】
制御部49は、有線更新制御部491と、OTAマスタ492とを有する。有線更新制御部491は、上述した有線更新に係る制御を行い、OTAマスタ492は、上述した無線更新に係る制御を行う。
【0026】
有線更新制御部491は、上記第2の状態において、整備作業端末からの指示(ダイアグ通信コマンド等)に基づいて、上記有線更新に係る制御を行う。
【0027】
ここで、整備工場2における車両3の有線接続の態様について補足する。本実施形態では、整備工場2において車両3(車載制御装置31)が有線接続され、センタ1と通信できる態様であれば、どのような接続態様でもよいが、例えば、以下のような接続態様が考えられる。まず、ダイアグ用コネクタ36を介して車載制御装置31を整備工場2の工場内ネットワークに接続する態様が考えられる。この場合は、同ネットワークに接続されている上記整備作業端末からの指示を制御部49が受け、当該指示内容に基づいて、制御部49が工場内ネットワークを介してセンタ1と通信を行い、有線更新の処理を実行する態様が考えられる。例えば、整備作業端末からの指示に基づいて、制御部49はセンタ1に更新の有無を問い合わせるためのデータの送信(以下、更新問い合わせと呼ぶ)を行い、有る場合は、配信パッケージ(更新用データの集合、詳細は後述)をセンタ1からダウンロードする。更に、整備作業端末からの指示に基づいて、制御部49が当該ダウンロードした配信パッケージを用いて所定の電子制御ユニット33のソフトウェアを更新するという制御が考えられる。また、他の接続態様として、ダイアグ用コネクタ36を介して整備作業端末を直接的に車載制御装置31に接続する態様も考えられる。この場合は、例えば、整備作業端末が主体となって更新処理を進めることが考えられる。例えば、次のような処理が考えられる。まず、整備作業端末からの指示に基づき、制御部49は車両3の構成情報等、その車両3に関する情報を整備作業端末に送信する。整備作業端末は、(制御部49の代わりとなって)センタ1に当該情報を含めた更新問い合わせを行う。そして、更新がある場合は、配信パッケージを整備作業端末にダウンロードし、更にこれを記憶部47に送信する。そして、整備作業端末からの指示に基づいて、制御部49が所定の電子制御ユニット33のソフトウェアを更新する処理を実行する。また、その他、ダイアグ用コネクタ36を介して整備作業端末を直接的に車載制御装置31に接続した場合で、当該整備作業端末が中継器の役割を果たすような態様でもよい。つまり、制御部49とセンタ1との間の通信を、有線接続されている整備作業端末が中継するような態様でもよい。
【0028】
その他、制御部49が上記第2の状態において上記有線更新が可能な態様であれば、整備工場2における車両3の有線での接続態様は、上記に限らずどのような接続態様であってもよい。
【0029】
次に、OTAマスタ492は、上記第1の状態において、通信部48を介してセンタ1と無線通信を行い、無線更新に関する各種の制御を実行する。具体的には、制御部49は、更新問い合わせを行い、更新がある場合は当該更新に係る配信パッケージをセンタ1から無線通信を用いてダウンロードする。そして、OTAマスタ492は、当該ダウンロードした配信パッケージに基づき電子制御ユニット33のソフトウェアの更新を実行する。
【0030】
本実施形態では、上記のような構成を用いて、次のような制御処理が行われる。すなわち、所定の配信パッケージを適用するための更新処理が開始してから当該処理が完了するまでの間に、車両3の状態が第1の状態と第2の状態との間で切り替わると、切り替わる前の更新処理の進捗状況を引き継いで、切り替わり後の状態における更新処理を継続するという制御処理が実行される。
【0031】
以下、本実施形態に係る処理の詳細について説明する。
【0032】
[センタ1で用いられるデータについて]
まず、センタ1の処理で用いられるデータについて説明する。
図6は、センタ1の記憶部16に記憶されるデータの一例を示すメモリマップである。記憶部16には、更新制御プログラム101、車両データベース102、配信パッケージ103が記憶される。また、図示は省略するが、その他、記憶部16には、更新制御に係る処理に必要となる各種データも適宜記憶される。
【0033】
更新制御プログラム101は、センタ1において、本実施形態に係るソフトウェア更新の処理を制御するためのプログラムである。
【0034】
車両データベース102は、センタ1で更新制御を管理する車両3のデータベースである。
図7に、車両データベース102のデータ構成の一例を示す。車両データベース102は、車両識別番号(VIN)111と、更新履歴112と、更新進捗状況113との項目を少なくとも含むデータベースである。車両識別番号111は、個々の車両3を識別するための番号である。更新履歴112は、所定の車両3に関する、完了した更新処理の履歴を記録したものである。更新履歴112は、所定の車両3について適用すべき更新があるか否かを判定するために用いられる。更新進捗状況113は、所定の配信パッケージ103を適用するための更新処理(つまり、1回分の更新処理)において、どこまで処理が進んでいるのかを示すためのデータである。つまり、ある配信パッケージ103を適用するための更新処理が開始した後、当該更新処理が完了するまでにおける処理の進捗状況を示すデータである。
【0035】
配信パッケージ103は、電子制御ユニット33のソフトウェアを更新するための更新データの集合である。配信パッケージ103には、1以上の電子制御ユニット33のソフトウェアを更新するための更新用データが複数含まれ得る。換言すれば、配信パッケージ103は、1以上の更新用データをまとめてパッケージ化したデータであるともいえる。例えば、1回分の更新処理における更新対象となる電子制御ユニット33(以下、ターゲットECU)が3つある場合は、これらそれぞれに対する更新用データが1つの配信パッケージ103としてまとめて配信される。
【0036】
また、配信パッケージ103には、OTA用データ104、有線更新用データ105、共通データ106の3種類のデータが含まれている。OTA用データ104は、上記無線更新においてのみ用いられるデータである。有線更新用データ105は、上記有線更新のおいてのみ用いられるデータである。例えば、所定の更新用データを、無線更新に適した形式や内容としたものがOTA用データ104であり、有線更新に適した形式や内容としたものが有線更新用データ105である。共通データ106は、上記無線更新および有線更新の双方で共通して用いられるデータである。そのため、車両3が第1の状態であるか第2の状態であるかに応じて、配信パッケージ103として車両3に送信される内容が変化し得る。換言すれば、車両3が第2の状態にある場合は、有線更新用データ105および共通データ106が送信され、これらを用いた有線更新の処理が実行される。また、車両3が第1の状態にある場合は、OTA用データ104および共通データ106が送信され、これらを用いた無線更新の処理が実行される。なお、
図6では、説明の便宜上、配信パッケージ103を1つだけ示しているが、センタ1の記憶部16には、複数の配信パッケージ103が記憶され得る。
【0037】
[車載制御装置31で用いられるデータについて]
次に、車載制御装置31で用いられるデータについて説明する。
図7は、車載制御装置31の記憶部47に記憶されるデータの一例を示すメモリマップである。車載制御装置31の記憶部47には、更新制御プログラム121、有線更新用プログラム122、OTA用プログラム123、更新環境フラグ124、更新中フラグ125、進捗状況データ126、更新作業用データ127が少なくとも記憶されている。
【0038】
更新制御プログラム121は、車載制御装置31において、本実施形態にかかる更新制御処理全体を制御するためのプログラムである。具体的には、更新制御プログラム121は、以下に説明する有線更新用プログラム122とOTA用プログラム123との実行の切り替え制御等を行うためのプログラムである。
【0039】
有線更新用プログラム122は、上記有線更新に係る更新処理を実行するためのプログラムである。また、OTA用プログラム123は、上記無線更新に係る更新処理を実行するためのプログラムである。
【0040】
更新環境フラグ124は、車両3の状態が上記第1の状態であるか第2の状態であるかを判定するためのフラグである。
【0041】
更新中フラグ125は、現在、更新処理中であるか否かを示すためのフラグである。本実施形態では、更新中フラグ125は、所定の配信パッケージ103を適用するための更新処理が開始された後、当該更新処理が完了するまではオンに設定され、更新処理が完了すればオフに設定される。例えば、配信パッケージ103をダウンロード中の状態であれば、更新中フラグ125はオンに設定される。また、所定の配信パッケージ103におけるターゲットECUが3つあるとして、そのうち2つまでは完了したが、残り1つはまだ完了していない状態のときも、更新中フラグ125はオンに設定される。当該更新対象の3つのターゲットECU全ての更新が完了すれば、更新中フラグ125はオフに設定される。
【0042】
進捗状況データ126は、更新処理が実行中(更新中フラグ125がオン)の場合に、どこまで更新処理が進んでいるのかをより具体的に示すためのデータである。例えば、更新処理を構成するシーケンスがどこまで進んでいるか、配信パッケージ103のダウンロードが完了していない場合は、どのデータまでダウンロードが済んでいるか、更新用データの書き込みに関して、どのメモリブロックまで書き込みが済んでいるか、等を示すデータが記憶される。
【0043】
更新作業用データ127は、更新処理に用いるために一時的に記憶されるデータであり、具体的には、センタ1からダウンロードした配信パッケージ103を記憶したものである。
【0044】
[車両3の制御部49が実行する処理の詳細]
次に、車両3の制御部49が実行する処理について説明する。
図9は、車両3の制御部49が実行する制御処理の詳細を示すフローチャートである。
図9において、ステップS1で、制御部49は、更新中フラグ125を参照して、現在更新処理を実行中の状態であるか否かを判定する。当該判定の結果、実行中ではない場合は(ステップS1でNO)、ステップS2で、制御部49は、車両3が第2の状態、すなわち、有線更新が可能な状態であるか否かを判定する。これは、例えば、ダイアグ用コネクタ36に所定のケーブルが接続されているか否かを検出することで判定される。またその他、ダイアグ通信コマンドが(整備作業端末から)送信されてきたか否かで判定してもよい。
【0045】
ステップS2の判定の結果、車両3が第2の状態ではない場合は(ステップS2でNO)、ステップS3で、制御部49は、OTA問い合わせ処理を実行する。一方、車両3が第2の状態である場合は(ステップS2でYES)、ステップS4で、制御部49は、有線問い合わせ処理を実行する。以下、当該ステップS3およびS4の処理の詳細を説明する。
【0046】
図10は、上記ステップS3に係るOTA問い合わせ処理の詳細を示すフローチャートである。この処理では、無線通信を用いてセンタ1に上記更新問い合わせを行うための処理が実行される(「更新問い合わせ」のシーケンス)。なお、当該処理に際して、制御部49は、OTA用プログラム123を実行する。これにより、当該処理においては、制御部49は、上記OTAマスタ492として機能する。
【0047】
図10において、まず、ステップS11で、OTAマスタ492は、更新問い合わせを行うタイミングが到来したか否かを判定する。このタイミングはどのようなタイミングでもよいが、本実施形態では、更新問い合わせは10日に1回の頻度で行われるものとする。そのため、OTAマスタ492は、前回の更新問い合わせから10日以上経過したか否かを判定することで、更新問い合わせを行うタイミングが到来したか否かを判定する。当該判定の結果、更新問い合わせを行うタイミングが到来していない場合は(ステップS11でNO)、OTAマスタ492は、OTA問い合わせ処理を終了する。一方、更新問い合わせを行うタイミングが到来している場合は(ステップS11でYES)、ステップS12で、OTAマスタ492は、無線通信を用いてセンタ1に更新問い合わせを行う。
【0048】
次に、ステップS13で、OTAマスタ492は、上記更新問い合わせに対して、センタ1から返答された内容が、更新有りを示す内容か否かを判定する。当該判定の結果、更新が無い場合は(ステップS13でNO)、OTAマスタ492は、OTA問い合わせ処理を終了する。一方、更新がある場合は(ステップS13でYES)、ステップS14で、OTAマスタ492は、更新中フラグ125にオンを設定する。そして、ステップS15で、OTAマスタ492は、無線更新に係る処理を開始する。具体的には、「配信パッケージのダウンロード」のシーケンスを開始する。以上で、OTA問い合わせ処理の説明は終了する。
【0049】
次に、
図11は、上記ステップS4に係る有線問い合わせ処理の詳細を示すフローチャートである。この処理では、有線通信を用いてセンタ1に上記更新問い合わせを行うための処理が実行される。なお、当該処理に際して、制御部49は、有線更新用プログラム122を実行する。これにより、当該処理においては、制御部49は、上記有線更新制御部491として機能する。
【0050】
図11において、まず、ステップS21で、有線更新制御部491は、上記整備作業端末から、更新問い合わせを行う旨の指示が送られてきたか否かを判定する。当該判定の結果、更新問い合わせを行う旨の指示が送られていない場合は(ステップS21でNO)、次に、ステップS22で、有線更新制御部491は、整備作業端末から、整備員による作業を終了する旨の指示が送られてきたか否かを判定する。当該判定の結果、作業終了の旨の指示が送られた場合は(ステップS22でYES)、有線更新制御部491は、有線問い合わせ処理を終了する。一方、作業終了の旨の指示が送られていない場合は(ステップS22でNO)、有線更新制御部491は、上記ステップS21に戻り、処理を繰り返す。
【0051】
一方、上記ステップS21の判定の結果、整備作業端末から、更新問い合わせを行う旨の指示が送られた場合は(ステップS21でYES)、ステップS23で、有線更新制御部491は、上記有線通信を用いてセンタ1に更新問い合わせを行う。
【0052】
次に、ステップS24で、有線更新制御部491は、上記問い合わせに対するセンタ1からの返答内容、更新有りを示す内容か否かを判定する。当該判定の結果、更新が無い場合は(ステップS24でNO)、有線更新制御部491は、有線問い合わせ処理を終了する。一方、更新がある場合は(ステップS24でYES)、ステップS25で、有線更新制御部491は、更新中フラグ125にオンを設定する。そして、ステップS26で、有線更新制御部491は、有線更新に係る処理を開始する。具体的には、「配信パッケージのダウンロード」のシーケンスを開始する。以上で、有線問い合わせ処理の説明は終了する。
【0053】
図9に戻り、次に、上記ステップS1で、現在更新処理中であると判定された場合の処理について説明する(ステップS1でYES)。この場合は、ステップS5で、制御部49は、更新制御処理を実行する。当該処理では、車両3の状態に応じて、有線更新に係る処理、または無線更新に係る処理のいずれかの実行を継続する処理が行われる。
【0054】
図12は、当該更新制御処理の詳細を示すフローチャートである。
図12において、まず、ステップS31で、制御部49は、更新環境フラグ124を参照して、車両3が現在は第1の状態であるか否かを判定する。当該判定の結果、第1の状態である場合は(ステップS31でYES)、無線更新が実行中の状態であるといえる。この場合、ステップS32で、制御部49は、車両3の状態について第1の状態から第2の状態へと切り替わったか否かを判定する。例えば、ダイアグ用コネクタ36に所定のケーブルが接続されたことが検出された場合や、整備作業端末からダイアグ通信コマンドが送信されたことを検知した場合は、制御部49は、第1の状態から第2の状態へ切り替わったと判定する。
【0055】
当該ステップS32の判定の結果、第1の状態から第2の状態への切り替わった場合は(ステップS32でYES)、ステップS34で、制御部49は、更新処理の制御を無線更新から有線更新に切り替えるための処理を実行する。当該切り替えの処理としては、例えば次のような処理が行われる。まず、制御部49は、その時点での更新処理の進捗状況を示すデータを生成し、進捗状況データ126として記憶部47に記憶する。当該データは、例えば、更新処理のシーケンスのどこまで進んだのか、配信パッケージ103のダウンロードの途中である場合、どこまでダウンロードしたのか、等を示すデータである。次に、制御部49は、車両3の状態が、第1の状態から第2の状態に切り替わった旨を示す切り替え通知をセンタ1に送信する(センタ1では、この通知を受けて、センタ1から送信する配信パッケージ103の内容を変化させる等の制御が行われる)。次に、制御部49は、実行する制御プログラムの切り替えを行う。具体的には、現在実行中のOTA用プログラム123に基づく処理を終了する。次に、制御部49は、更新環境フラグ124に、第2の状態であることを示すデータを設定する。更に、制御部49は、有線更新用プログラム122を起動する。そして、制御部49は、上記進捗状況データ126に基づいて、更新処理の進捗状況を引き継いた状態から有線更新に係る処理を実行する。つまり、上記進捗状況データ126に基づき、有線更新の環境下で更新処理が再開されることになる。その後、更新制御処理は終了する。
【0056】
なお、無線更新の制御から有線更新の制御に、その進捗状況を引き継ぐようにして切り替えることができれば、上記に限らず、どのような切り替え制御の手法を用いてもよい。
【0057】
一方、第1の状態から第2の状態に切り替わっていない場合は(ステップS32でNO)、現在の環境下での更新処理が続行される。この場合は、第1の状態のままであるため、無線更新に係る処理が続行されることになる。例えば、「配信パッケージのダウンロード」のシーケンスがまだ終わってなければ、ダウンロードの処理が継続され、「配信パッケージのダウンロード」のシーケンスが終われば、引き続いて「更新データの書き込み」のシーケンスが実行されることになる。なお、当該無線更新に係る処理においては、制御部49はOTAマスタ492として機能することになる。
【0058】
次に、上記ステップS31の判定の結果、現在の車両3の状態が第1の状態では無い場合(ステップS31でNO)について説明する。この場合は、有線更新に係る処理が実行中であるといえる。この場合は、ステップS35で、制御部49は、車両3の状態について第2の状態から第1の状態へと切り替わったか否かを判定する。例えば、ダイアグ用コネクタ36に接続されていたケーブルが未接続になったことが検出された場合や、整備作業端末から作業終了を示すコマンドが送信された場合は、制御部49は、第2の状態から第1の状態へ切り替わったと判定する。
【0059】
当該ステップS35の判定の結果、第2の状態から第1の状態へと切り替わった場合は(ステップS35でYES)、ステップS36で、制御部49は、更新処理の制御を有線更新から無線更新に切り替えるための処理を実行する。当該切り替えの処理としては、例えば次のような処理が行われる。まず、制御部49は、その時点での更新処理の進捗状況を示すデータを生成し、進捗状況データ126として記憶部47に記憶する。次に、制御部49は、車両3の状態が、第2の状態から第1の状態に切り替わった旨を示す切り替え通知をセンタ1に送信する。次に、制御部49は、現在実行中の有線更新用プログラム122に基づく処理を終了する。続いて制御部49は、更新環境フラグ124に、第1の状態であることを示すデータを設定する。更に、制御部49は、OTA用プログラム123を起動する。そして、制御部49は、上記進捗状況データ126に基づいて、更新処理の進捗状況を引き継いた状態から無線更新に係る処理を実行する。つまり、上記進捗状況データ126に基づき、無線更新の環境下で更新処理が再開されることになる。
【0060】
なお、有線更新の制御から無線更新の制御に、その進捗状況を引き継ぐようにして切り替えることができれば、上記に限らず、どのような切り替え制御の手法を用いてもよい。
【0061】
一方、第2の状態から第1の状態に切り替わっていない場合は(ステップS35でNO)、上記ステップS33で、現在の環境下での更新処理が続行される。この場合は、第2の状態が継続されているため、有線更新に係る処理が続行されることになる。なお、当該有線更新に係る処理においては、制御部49は有線更新制御部491として機能することになる。
【0062】
以上で、更新制御処理の説明を終了する。
【0063】
図9に戻り、次に、ステップS6で、制御部49は、有線更新または無線更新による更新処理が完了したか否かを判定する。更新処理が完了していない場合は(ステップS6でNO)、上記ステップS1に戻り、処理が繰り返される。一方、更新処理が完了した場合は(ステップS6でYES)、ステップS7で、制御部49は、更新中フラグ125にオフを設定する。続くステップS8で、制御部49は、更新処理が完了したことを示す更新完了通知をセンタ1に送信する。その後、上記ステップS1に戻り、処理が繰り返される。
【0064】
[センタ1における処理について]
次に、センタ1において実行される制御処理について説明する。
図13は、センタ1で実行されるセンタ側制御処理の詳細を示すフローチャートである。
図13において、まず、ステップS51で、センタ1の制御部18は、所定の車載制御装置31から上記のような更新問い合わせがあったか否かを判定する。当該判定の結果、更新問い合わせがあった場合は(ステップS51でYES)、ステップS52で、制御部18は、更新問い合わせの送信元の車両3に関して、適用すべき更新(より正確には適用すべき配信パッケージ103)があるか否かを判定する。例えば、制御部18は、車両データベース102の更新履歴112を参照して、その車両3について適用すべき更新があるか否かを判定する。当該判定の結果、適用すべき更新が無い場合は(ステップS52でNO)、制御部18は、更新は無い旨を当該車両3に送信した後、後述のステップS54に処理を進める。一方、適用すべき更新がある場合は(ステップS52でYES)、ステップS53で、制御部18は、更新問い合わせの送信元の車両3の更新がある旨を送信し、当該車両3の状態(第1の状態または第2の状態)に応じた更新処理を開始する。ここで、車両3の状態の判定手法については、次のような手法がある。例えば、車載制御装置31の制御部49が上記更新問い合わせを行う際に、センタ1に送信するデータに自身の状態を示す情報を含めておいてもよい。そして、センタ1の制御部18は、当該情報に基づいて、更新問い合わせの送信元の車両3の状態を判定すればよい。その結果、車両3の状態が第1の状態の場合は、制御部18は、無線更新を行うと判定して、OTA用データ104と共通データ106との送信を開始する。一方、第2の状態の場合は、制御部18は、有線更新を行うと判定して、有線更新用データ105と共通データ106との送信を開始する。
【0065】
次に、ステップS54で、制御部18は、所定の車載制御装置31から、上記のような切り替え通知を受信したか否かを判定する。当該判定の結果、受信している場合は(ステップS54でYES)、ステップS55で、制御部18は、当該切り替え通知の送信元についての更新制御を、有線更新と無線更新との間で切り替えるための処理を行う。具体的には、まず、制御部18は、当該切り替え通知の送信元に係る更新処理の進捗状況を更新進捗状況113に保存する。次に、制御部18は、切り替え通知の内容に応じて、送信すべき配信パッケージ103の内容を変更する。すなわち、切り替え通知の内容が第1の状態から第2の状態に切り替わった旨であれば、制御部18は、有線更新用データ105および共通データ106を送信する、あるいは、有線更新に係る処理が実行されるように制御を切り替える。逆に、切り替え通知の内容が第2の状態から第1の状態に切り替わった旨であれば、制御部18は、OTA用データ104および共通データ106を送信する、あるいは、無線更新に係る処理が実行されるように制御を切り替える。その他、制御部18は、有線更新にかかる制御と無線更新に係る制御とを、当該切り替え通知の内容に応じて適宜切り替える処理を行う。そして、制御部18は、上記進捗状況113に基づいて切り替え前の進捗状況を把握し、これを引き継いで更新処理を再開するための処理を実行する。これにより、上記切り替え通知の送信元についての更新処理が、切り替わった後の状態において継続される。
【0066】
一方、上記ステップS54の判定の結果、切り替え通知を受信していない場合は(ステップS54でNO)、次に、ステップS56で、制御部18は、所定の車両3から更新処理完了の通知を受信したか否かを判定する。受信している場合は、(ステップS56でYES)、ステップS57で、制御部18は、当該更新処理完了の通知の送信元の車両3について、更新処理が完了したことを示す設定を行う。具体的には、制御部18は、更新進捗状況113に「更新完了」を示す情報を設定する。更に制御部18は、更新履歴112に、今回完了した更新処理に関する情報を設定する。その他、当該車両3に係る更新制御を終了させるための処理も適宜実行する。その後、上記ステップS51に戻り、処理が繰り返される。
【0067】
一方、上記ステップS56の判定の結果、所定の車両3から更新処理完了の通知を受信していない場合は(ステップS56でNO)、上記ステップS57の処理はスキップされ、上記ステップS51に戻って処理が繰り返される。
【0068】
以上で、センタ側制御処理の説明は終了する。
【0069】
このように、本実施形態では、所定の配信パッケージ103に係る更新処理の開始から完了までの間に、無線更新が可能な第1の状態と有線更新が可能な第2状態との間で車両3の状態が切り替わった場合でも、その切り替わり前の更新処理の進捗を引き継いで、切り替わり後の状態における更新処理を継続することができる。無線更新可能な状態であれば、ユーザは場所を選ばず、また、車両3を使用しながらでも、配信パッケージ103のダウンロード等を行うことができる。また、有線更新の場合は安定した通信環境で配信パッケージ103のダウンロード等を行うことができる。そのため、ユーザの利便性を確保しつつ、更新処理が完了するまでの時間の短縮を図ることができる。
【0070】
[変形例]
なお、上記の開示では、有線更新が可能な第2の状態において、「配信パッケージのダウンロード」のシーケンスと「更新データの書き込み」シーケンスの双方を進める場合を例示した。他の実施形態では、第2の状態のときは、「配信パッケージのダウンロード」のシーケンスのみを行うような制御にしてもよい。つまり、第2の状態では、整備工場2において配信パッケージ103をセンタ1からダウンロードして、車載制御装置31の記憶部47このデータを記憶させる処理に留めておく。そして、「更新データの書き込み」シーケンスについては、整備工場2から出庫した後に、第1の状態において実行する制御としてもよい。また、この「配信パッケージのダウンロード」に関しても、例えば、上記整備作業端末に事前にダウンロードしておき、更新処理以外の整備作業に係る処理の実行中に、バックグラウンド処理として当該ダウンロードしておいた配信パッケージ103を記憶部47に転送しておくような制御としてもよい。
【0071】
また、所定の配信パッケージ103においてターゲットECUとされている電子制御ユニット33について、ユーザが、電子制御ユニット33単位で無線更新で更新するか、有線更新で更新するかを指定できるような構成としてもよい。例えば、ターゲットECUとして電子制御ユニットA、B、Cの3つがあった場合を想定する。このような場合であって、電子制御ユニットBについては、より確実に更新処理を済ませたいと考えた場合、電子制御ユニットBは有線更新として、その他の電子制御ユニットは無線更新とする、という旨の指定をユーザが設定できるようにしてもよい。これにより、電子制御ユニットBの更新に関しては、整備工場2で整備員にやってもらい、その他の電子制御ユニットについては無線更新で済ませる、ということが可能となり、ユーザのニーズに対してより柔軟に対応することが可能となる。
【0072】
以上、本開示技術の一実施形態を説明したが、本開示は、更新制御システムだけでなく、更新制御システムのコンピュータが実行する更新制御方法、その方法の制御プログラム、その制御プログラムを記憶したコンピューター読み取り可能な非一時的な記録媒体、車載制御装置等として捉えることが可能である。
【産業上の利用可能性】
【0073】
本開示技術は、車載制御装置を備える車両と、当該車両と有線による通信が可能な情報処理端末と、当該車載制御装置と通信可能なセンタを備える更新制御システムに利用できる。
【符号の説明】
【0074】
1 センタ
2 整備工場
3 車両
11 プロセッサ
12 RAM
13 記憶装置
14 通信装置
31 OTAマスタ
32 通信モジュール
33 電子制御装置
35 バス
36 ダイアグ用コネクタ
41 プロセッサ
42 RAM
43 ROM
44 記憶装置
45 マイクロコンピュータ
46 通信装置