(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-19
(45)【発行日】2023-12-27
(54)【発明の名称】制御装置、及び、端末装置
(51)【国際特許分類】
G06F 8/65 20180101AFI20231220BHJP
B60R 16/02 20060101ALI20231220BHJP
【FI】
G06F8/65
B60R16/02 660U
(21)【出願番号】P 2021051920
(22)【出願日】2021-03-25
【審査請求日】2021-11-29
(73)【特許権者】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】110001081
【氏名又は名称】弁理士法人クシブチ国際特許事務所
(72)【発明者】
【氏名】滝 知明
(72)【発明者】
【氏名】神田 岳
(72)【発明者】
【氏名】▲浜▼田 怜実
【審査官】北川 純次
(56)【参考文献】
【文献】特開2019-191619(JP,A)
【文献】特開2010-273181(JP,A)
【文献】特開2019-185807(JP,A)
【文献】特開2006-011647(JP,A)
【文献】国際公開第2014/087613(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/60-8/77
G06F 9/44-9/445
B60R 16/02
(57)【特許請求の範囲】
【請求項1】
車両に搭載される制御装置であって、
第1車両制御部に組み込まれたプログラムを第1更新手段によって更新可能であり、
第2車両制御部に組み込まれたプログラムを、前記第1更新手段とは異なる第2更新手段によって更新可能に構成され、
前記第1更新手段及び前記第2更新手段は前記車両の外部装置から更新プログラムを取得する手段であり、
前記第1更新手段及び前記第2更新手段の一方は前記車両が備える通信部を介して前記車両の外部装置からプログラムを取得する手段であり、
前記第1更新手段によって、前記第2車両制御部のプログラムのバージョンに関するバージョン情報の取得要求を受け付ける要求受付部と、
前記要求受付部が受け付けた前記取得要求に応じて、前記バージョン情報を前記第1更新手段によって送信する送信制御部と、
を備え、
前記要求受付部が、前記第2車両制御部に組み込まれ、前記第2更新手段による更新の対象となるプログラムの数を示すプログラム数情報を要求する前記取得要求を受け付けた場合に、前記第2車両制御部が有するプログラムの数を検出して前記プログラム数情報を生成し、検出したプログラムの数に基づき、前記バージョン情報を生成する更新管理部を備え、
前記送信制御部は、前記更新管理部が生成する前記プログラム数情報及び前記バージョン情報を送信する、
制御装置。
【請求項2】
前記第1更新手段は、前記車両が備える通信部を介して前記車両の外部装置から更新プログラムを取得する手段であり、
前記第2更新手段は、前記車両が備える有線コネクタを介して前記外部装置と同一または異なる外部装置から更新プログラムを取得する、請求項1に記載の制御装置。
【請求項3】
前記要求受付部は、前記第2車両制御部の起動状態に関する起動状態情報を要求する前記取得要求を受け付け、
前記送信制御部は、前記起動状態情報を送信する、請求項1または2に記載の制御装置。
【請求項4】
車両に搭載された車両制御部と通信ケーブルを介して通信可能に接続され、前記車両制御部のプログラムの更新を制御する端末装置であって、
前記車両制御部は、第1車両制御部と、第2車両制御部とを含み、
前記第1車両制御部に組み込まれたプログラムを、前記端末装置を利用する第1更新手段によって更新可能であり、
前記第2車両制御部に組み込まれたプログラムを、前記第1更新手段とは異なる第2更新手段によって更新可能であり、
前記第1車両制御部のプログラムのバージョンに関する情報である第1バージョン情報を、前記車両制御部から取得する第1取得部と、
前記第2車両制御部のプログラムのバージョンに関する情報である第2バージョン情報を、前記車両制御部から取得する第2取得部と、
前記第1バージョン情報及び前記第2バージョン情報に基づいて、前記第1車両制御部のプログラムを更新するための更新プログラムを第1外部装置から取得する更新プログラム取得部と、を備え、
前記第2取得部は、
前記第2更新手段による更新の対象となるプログラムの数を示すプログラム数情報と、前記第2車両制御部のプログラムのバージョンに関する情報とを前記車両制御部に要求し、これらの要求に応じて前記車両制御部が送信する前記プログラム数情報と前記第2バージョン情報とを取得し、前記車両制御部が有するプログラムのバージョンを特定する、端末装置。
【請求項5】
前記第2車両制御部に組み込まれたプログラムは、前記車両が備える通信部を利用する前記第2更新手段によって更新可能である、請求項4に記載の端末装置。
【請求項6】
前記第2取得部は、前記第2車両制御部の起動状態に関する起動状態情報を取得する、請求項4または5に記載の端末装置。
【請求項7】
前記更新プログラム取得部は、前記第1車両制御部のプログラムを更新するための更新プログラムを取得する処理において、前記第1車両制御部のプログラムのうち前記第2車両制御部のプログラムの更新後に更新する必要があるプログラムについては、前記更新プログラムを取得しない、請求項4から6のいずれか1項に記載の端末装置。
【請求項8】
表示部の表示を制御する表示制御部を備え、
前記表示制御部は、前記第1車両制御部のプログラムのうち前記第2車両制御部のプログラムの更新後に更新する必要があるプログラムがある場合に、前記第2車両制御部のプログラムの更新が必要であることを前記表示部に表示させる、請求項7記載の端末装置。
【請求項9】
前記更新プログラム取得部は、前記第2車両制御部のプログラムを更新するための前記更新プログラムを取得して、前記第1外部装置とは異なる第2外部装置に出力する、請求項4から8のいずれか1項に記載の端末装置。
【請求項10】
前記第2外部装置は可搬物であり、且つ前記第2車両制御部に物理的に接続される、請求項9に記載の端末装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、及び、端末装置に関する。
【背景技術】
【0002】
従来、車両に搭載された機器を制御する制御部に組み込まれたプログラムを更新する更新装置が知られている。これらの更新装置は、車両に搭載された制御部に有線接続されることが一般的であったが、近年、車両が無線通信によりサーバと通信を行い、サーバから受信したデータに基づき制御部のプログラムを更新する技術が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
車両の制御技術の進歩に伴い、車両に搭載される機器は多数に及んでいる。このため、複数の制御部のプログラムを更新する必要が生じる場合がある。しかしながら、無線通信によりプログラムが更新される制御部と、有線接続によりプログラムが更新される制御部との両方が搭載された車両について、制御部のプログラムを管理することは容易ではなかった。
本発明はかかる背景に鑑みてなされたものであり、プログラムの更新方法が異なる複数の制御部が搭載された車両について、制御部のプログラムを効率よく管理できるようにすることを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するための第1態様として、車両に搭載される制御装置であって、第1車両制御部に組み込まれたプログラムを第1更新手段によって更新可能であり、第2車両制御部に組み込まれたプログラムを、前記第1更新手段とは異なる第2更新手段によって更新可能に構成され、前記第1更新手段及び前記第2更新手段は前記車両の外部装置から更新プログラムを取得する手段であり、前記第1更新手段及び前記第2更新手段の一方は前記車両が備える通信部を介して前記車両の外部装置からプログラムを取得する手段であり、前記第1更新手段によって、前記第2車両制御部のプログラムのバージョンに関するバージョン情報の取得要求を受け付ける要求受付部と、前記要求受付部が受け付けた前記取得要求に応じて、前記バージョン情報を前記第1更新手段によって送信する送信制御部と、を備え、前記要求受付部が、前記第2車両制御部に組み込まれ、前記第2更新手段による更新の対象となるプログラムの数を示すプログラム数情報を要求する前記取得要求を受け付けた場合に、前記第2車両制御部が有するプログラムの数を検出して前記プログラム数情報を生成し、検出したプログラムの数に基づき、前記バージョン情報を生成する更新管理部を備え、前記送信制御部は、前記更新管理部が生成する前記プログラム数情報及び前記バージョン情報を送信する、制御装置が挙げられる。
【0006】
上記制御装置において、前記第1更新手段は、前記車両が備える通信部を介して前記車両の外部装置から更新プログラムを取得する手段であり、前記第2更新手段は、前記車両が備える有線コネクタを介して前記外部装置と同一または異なる外部装置から更新プログラムを取得する構成としてもよい。
【0007】
上記制御装置において、前記要求受付部は、前記第2車両制御部の起動状態に関する起動状態情報を要求する前記取得要求を受け付け、前記送信制御部は、前記起動状態情報を送信する構成としてもよい。
【0008】
上記制御装置において、前記要求受付部は、前記第2車両制御部に組み込まれ、前記第2更新手段による更新の対象となるプログラムの数を示すプログラム数情報を要求する前記取得要求を受け付け、前記送信制御部は、前記プログラム数情報を送信する構成としてもよい。
【0009】
上記制御装置において、前記要求受付部が前記取得要求を受け付けた場合に、前記第2車両制御部が有するプログラムの数を検出して前記プログラム数情報を生成し、検出したプログラムの数に基づき、前記バージョン情報を生成する更新管理部を備え、前記送信制御部は、前記更新管理部が生成する前記プログラム数情報及び前記バージョン情報を送信する構成としてもよい。
【0010】
上記目的を達成するための第2態様として、車両に搭載された車両制御部と通信ケーブルを介して通信可能に接続され、前記車両制御部のプログラムの更新を制御する端末装置であって、前記車両制御部は、第1車両制御部と、第2車両制御部とを含み、前記第1車両制御部に組み込まれたプログラムを、前記端末装置を利用する第1更新手段によって更新可能であり、前記第2車両制御部に組み込まれたプログラムを、前記第1更新手段とは異なる第2更新手段によって更新可能であり、前記第1車両制御部のプログラムのバージョンに関する情報である第1バージョン情報を、前記車両制御部から取得する第1取得部と、前記第2車両制御部のプログラムのバージョンに関する情報である第2バージョン情報を、前記車両制御部から取得する第2取得部と、前記第1バージョン情報及び前記第2バージョン情報に基づいて、前記第1車両制御部のプログラムを更新するための更新プログラムを第1外部装置から取得する更新プログラム取得部と、を備え、前記第2取得部は、前記第2更新手段による更新の対象となるプログラムの数を示すプログラム数情報と、前記第2車両制御部のプログラムのバージョンに関する情報とを前記車両制御部に要求し、これらの要求に応じて前記車両制御部が送信する前記プログラム数情報と前記第2バージョン情報とを取得し、前記車両制御部が有するプログラムのバージョンを特定する、端末装置が挙げられる。
【0011】
上記端末装置において、前記第2車両制御部に組み込まれたプログラムは、前記車両が備える通信部を利用する前記第2更新手段によって更新可能である構成としてもよい。
【0012】
上記端末装置において、前記第2取得部は、前記第2車両制御部の起動状態に関する起動状態情報を取得する構成としてもよい。
【0013】
上記端末装置において、前記第2取得部は、前記第2車両制御部に組み込まれ、前記第2更新手段による更新の対象となるプログラムの数を示すプログラム数情報を取得する構成としてもよい。
【0014】
上記端末装置において、前記更新プログラム取得部は、前記第1車両制御部のプログラムを更新するための更新プログラムを取得する処理において、前記第1車両制御部のプログラムのうち前記第2車両制御部のプログラムの更新後に更新する必要があるプログラムについては、前記更新プログラムを取得しない構成としてもよい。
【0015】
上記端末装置において、表示部の表示を制御する表示制御部を備え、前記表示制御部は、前記第1車両制御部のプログラムのうち前記第2車両制御部のプログラムの更新後に更新する必要があるプログラムがある場合に、前記第2車両制御部のプログラムの更新が必要であることを前記表示部に表示させる構成としてもよい。
【0016】
上記端末装置において、前記更新プログラム取得部は、前記第2車両制御部のプログラムを更新するための前記更新プログラムを取得して、前記第1外部装置とは異なる第2外部装置に出力する構成としてもよい。
【0017】
上記端末装置において、前記第2外部装置は可搬物であり、且つ前記第2車両制御部に物理的に接続される構成としてもよい。
【発明の効果】
【0018】
上記構成によれば、プログラムを更新する手段が異なる複数の制御部が搭載された車両について、制御部のプログラムのバージョンを他の装置が管理できる。これにより、車両の制御部のプログラムを、効率よく管理できる。
【図面の簡単な説明】
【0019】
【
図2】車載制御装置及び車両診断システムの構成図。
【
図3】車載制御装置及び車両診断システムの制御系の機能ブロック図。
【
図5】プログラムバージョン指定データの構成例を示す模式図。
【
図6】プログラム更新システムの動作を示すフローチャート。
【
図7】プログラム更新システムの動作を示すシーケンス図。
【
図8】プログラム更新システムの動作を示すシーケンス図。
【
図9】更新装置により表示される画面の例を示す図。
【発明を実施するための形態】
【0020】
以下、図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明、または、実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が必要以上に冗長になるのを避け、当業者の理解を容易にするためである。
なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することを意図していない。
【0021】
[1.プログラム更新システムの構成]
図1は、プログラム更新システム1の概略構成図である。
プログラム更新システム1は、車両Vに搭載された車載制御装置100のプログラムのバージョンを管理し、プログラムの更新を行うシステムである。
【0022】
プログラム更新システム1は、配信サーバ10、認証サーバ20、及び、無線配信サーバ30を含む。配信サーバ10、認証サーバ20及び無線配信サーバ30は、通信ネットワークNを通じて相互に通信可能に接続される。
また、プログラム更新システム1は、車両診断システム300を含む。車両診断システム300は、ケーブル61により車載制御装置100に有線接続される接続装置50と、ケーブル62により接続装置50に接続される更新装置200と、を備える。接続装置50は、例えば、VCI(Veicle Control Interface)と呼ばれる装置である。また、更新装置200として、ノート型コンピュータやデスクトップ型コンピュータを利用できる。更新装置200は、端末装置の一例に対応する。
【0023】
通信ネットワークNは、例えば、セルラー通信網、Wi-Fi(登録商標)ネットワーク、Bluetooth(登録商標)、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、公衆回線、プロバイダ装置、専用回線、無線基地局等を含む。これらの構成要素は、それぞれ通信ネットワークNを介さずに、直接、無線通信を行ってもよい。
【0024】
車両Vは、車両は、例えば、二輪や三輪、四輪等の車両である。また、車両の駆動源は、例えば、ディーゼルエンジンやガソリンエンジン等の内燃機関、電動機、或いはこれらの組み合わせである。電動機は、内燃機関に連結された発電機による発電電力、或いは二次電池や燃料電池の放電電力を使用して動作する。
【0025】
以下の説明において、プログラムとは、少なくとも1のプログラムモジュールを含む。プログラムモジュールとは、例えば、一以上のプログラムを含み、ソフトウェアとハードウェアの協働によって実現できる機能のうち部分的な機能を実行するものである。プログラム更新システム1が書き換えるプログラム、すなわち車載制御装置100が搭載するプログラムは、プログラムの動作を規定するパラメータやマップ等のデータ、および/または、プログラムにより処理される処理対象のデータを含んでもよく、ソフトウェアを言い換えることができる。
【0026】
プログラム更新システム1は、車載制御装置100のプログラムを更新する手段として、第1更新手段、及び、第2更新手段を有する。
第1更新手段は、車両診断システム300を車載制御装置100に有線接続してプログラムを更新する手段である。
【0027】
第1更新手段によるプログラム更新は、例えば、車両Vの販売店や整備工場などで実施される。車載制御装置100に車両診断システム300が接続されると、車両診断システム300は、車載制御装置100を構成するECU(Electronic Control Unit:電子制御装置)の起動状態やECUのプログラムのバージョンを取得する。車両診断システム300は、配信サーバ10に対してECUのプログラムを更新するための更新プログラムを要求する。
【0028】
配信サーバ10は、車載制御装置100のECUが搭載するプログラムのバージョンを、車両Vの車両識別番号に対応付けて管理する。配信サーバ10は、車両診断システム300から、車両Vの車両識別番号、車両Vが搭載するECUの種類、及び、ECUが搭載するプログラムのバージョンに関するデータを受信する。配信サーバ10は、車両診断システム300の要求に応じて、更新プログラムを車両診断システム300にダウンロードさせる。車両診断システム300は、配信サーバ10からダウンロードした更新プログラムを利用して車載制御装置100のECUにインストールされたプログラムを書き換える。車両診断システム300は、車載制御装置100のプログラムを更新した後に、更新後のプログラムのバージョンを、車両Vの車両識別番号や車両Vが搭載するECUの種類に対応付けて配信サーバ10に送信する。配信サーバ10は、車載制御装置100におけるプログラム更新の履歴を、車両識別番号に対応付けて管理する。配信サーバ10は、車両Vの外部装置、及び、第1外部装置の一例に対応する。
【0029】
第2更新手段は、車載制御装置100の通信機能を利用する手段であり、いわゆるOTA(Over The Air)プログラム更新である。車載制御装置100は、後述するように、セルラー通信を実行するTCU(Telematics Control Unit)122を備える。TCU122は、車両Vが備える通信部として機能することができる。車載制御装置100は、TCU122によって通信ネットワークNに接続される基地局Bと無線通信を実行し、OTAプログラム更新を実行する。この場合、車載制御装置100は、無線配信サーバ30に対して更新プログラムを要求する。車載制御装置100が送信する要求は、車両Vの車両識別番号、車両Vが搭載するECUの種類、及び、ECUが搭載するプログラムのバージョンに関するデータ等を含む。
【0030】
無線配信サーバ30は、車載制御装置100のECUが搭載するプログラムのバージョンを、車両Vの車両識別番号に対応付けて管理する。無線配信サーバ30は、車載制御装置100から、車両Vの車両識別番号、車両Vが搭載するECUの種類、及び、ECUが搭載するプログラムのバージョンに関するデータを受信する。無線配信サーバ30は、車載制御装置100の要求に応じて、更新プログラムを車載制御装置100にダウンロードさせる。車載制御装置100は、無線配信サーバ30からダウンロードした更新プログラムに基づき、車載制御装置100のECUのプログラムを更新する。車載制御装置100は、プログラムを更新した後に、更新後のプログラムのバージョンを、車両Vの車両識別番号や車両Vが搭載するECUの種類に対応付けて無線配信サーバ30に送信する。無線配信サーバ30は、車載制御装置100におけるプログラム更新の履歴を、車両識別番号に対応付けて管理する。無線配信サーバ30は、車両Vの外部装置の一例に対応する。
無線配信サーバ30は配信サーバ10(第1外部装置)と同一であってもよいし、別であってもよい。換言すると、プログラム更新システム1は、第1更新手段及び第2更新手段においてそれぞれの専用のプログラム配信サーバから更新プログラムが取得されるよう構成されてもよい。また、プログラム更新システム1は、第1更新手段及び第2更新手段において同じ配信サーバから更新プログラムが取得される構成であってもよい。
【0031】
認証サーバ20は、プログラムの更新に先立って車載制御装置100或いは車両診断システム300の認証を行う。認証サーバ20は、更新対象の車載制御装置100の車両識別番号、及び、車載制御装置100が有する鍵情報に基づき認証を実行する。認証サーバ20は、車載制御装置100の認証に成功した場合に、車載制御装置100による無線配信サーバ30へのアクセスを許可する。また、認証サーバ20は、車両診断システム300の認証に成功した場合に、車両診断システム300による配信サーバ10へのアクセスを許可する。
【0032】
本実施形態では、プログラム更新システム1が、車載制御装置100の個体を車両識別番号(Vehicle Identification Number)により識別する場合を例示するが、車両識別番号に代えて、車台番号や、車両Vの個体識別が可能なその他の情報を用いてもよい。
【0033】
[2.プログラム更新システムに含まれる装置の構成]
図2は、車載制御装置100及び車両診断システム300の構成図である。
【0034】
[2-1.車両診断システムの構成]
更新装置200は、制御部201、通信部231、入力部232、表示部233、USB(Universal Serial Bus)コネクタ234、及び、インターフェイス235を備える。制御部201は、CPU(Central Processing Unit)等で構成されるプロセッサ210と、プロセッサ210が実行するプログラムやデータを記憶する記憶部220とを備える。制御部201は、記憶部220が記憶するプログラムをプロセッサ210によって実行することにより、更新装置200を制御する。
【0035】
通信部231は、通信ネットワークNに接続される通信装置であり、制御部201の制御に従って配信サーバ10、及び認証サーバ20と通信を実行する。入力部232は、キーボード、マウス、トラックパッド等の不図示の入力デバイスを有する。入力部232は、入力デバイスに対する入力を受け付けて、入力内容を示す入力データを制御部201に出力する。表示部233は、液晶表示パネル等の不図示の表示装置を備える。表示部233は、制御部201の制御に従って文字や画像を表示装置により表示する。USBコネクタ234は、USB規格に準拠したコネクタである。USBコネクタ234には、後述するメモリデバイス60等を接続可能である。
インターフェイス235は、ケーブル62が接続されるコネクタやインターフェイス回路を備え、制御部201の制御に従って、接続装置50との間でデータ通信を実行する。インターフェイス235は、例えば、シリアル通信インターフェイスや、USBインターフェイスで構成される。
【0036】
接続装置50は、制御部51、車両側インターフェイス52、外部インターフェイス53、表示部54、及び、入力部55を備える。制御部51は、MCU(Micro Controller Unit)、MPU(Micro Processor Unit)等のプロセッサ、及び、プロセッサが実行するプログラムやデータを記憶する記憶部を備える。制御部51は、プロセッサによりプログラムを実行することによって接続装置50を制御する。
【0037】
車両側インターフェイス52は、ケーブル61が接続されるコネクタやインターフェイス回路を備え、制御部51の制御に従って車載制御装置100との間でデータ通信を実行する。外部インターフェイス53は、ケーブル62が接続されるコネクタやインターフェイス回路を備え、制御部51の制御に従って更新装置200との間でデータ通信を実行する。表示部54は、液晶表示パネル等の不図示の表示装置を備える。表示部54は、制御部51の制御に従って文字や画像を表示装置により表示する。入力部55は、複数のボタンやスイッチ等の不図示の操作子を有する。入力部55は、操作子に対する操作を検出し、検出した操作を示すデータを制御部51に出力する。
【0038】
[2-2.車載制御装置の構成]
車載制御装置100は、接続装置50とケーブル61で接続される接続コネクタであるDLC(DataLink Coupler)121と、車載機器101と、車両Vが備える個別のECUを管理する管理ECU110と、情報が入力される入力部125と、情報を出力する出力部126を備える。
【0039】
入力部125は、例えば、車載のIVI(IN-VEHICLE INFOTAINMENT)システム131におけるタッチパネルである。出力部126は、例えば、IVIシステム131が備える画像表示装置や、メーター部分に設けられた画像表示装置である。また、出力部126は、例えば、運転者席のインスツルメントパネルに設けられてよい。具体的には、出力部126は、メーターパネルに組み込まれた、いわゆるマルチインフォメーション・ディスプレイ(MID:MultiInformationDisplay)として構成されてもよい。出力部126は音声を出力するスピーカであってもよい。また出力部126は、ハザードランプであってもよい。
【0040】
車載機器101は、車両に搭載される複数の装置と、それらを制御するECUとを含んで構成されている。車載機器101が含む装置の例として、
図2には、TCU122、GPSユニット123、IVIシステム131、エンジン152、シフト装置153、ステアリング装置154、メーター155を示す。
また、
図2には、ECUの例として、エンジン152を制御するエンジンECU132、シフト装置153を制御するシフトECU133、ステアリング装置154を制御するステアリングECU134、及び、メーター155を制御するメーターECU135を示す。各々のECUは、通信路としてのバス102を介して管理ECU110とデータ通信可能に接続される。バス102は、例えば、CAN(Controller Area Network)に準拠したバス型のデータ通信ネットワークである。
【0041】
図2に示した車載制御装置100の装置、及び各装置を制御するECUは一例であり、車載機器101は、
図2に示されていない車両Vの装置、及び、これらを制御するECUを備える構成であってもよい。例えば、車両Vは、ブレーキ装置、バッテリ、サスペンションシステム、エアバッグ装置、灯火装置、各種照明装置等を備え、これらを制御するECUを備える。
【0042】
ECUは、具体的にはCPU(Central ProcessingU nit)等のプロセッサ、プログラムが書き込まれたROM(Read Only Memory)、データの一時記憶のためのRAM(Random Access Memory)等を有するコンピュータである。ROMに書き込まれたプログラムをコンピュータであるECUが実行することで上記制御が実行される。上記各ECUに代えて又はこれに加えて、上記各ECUの全部又は一部を、それぞれ一つ以上の電子回路部品を含むハードウェアにより構成することもできる。
【0043】
エンジンECU132は、制御用のプログラムとしてSW-EG142を搭載する。シフトECU133はSW-SF143を搭載し、ステアリングECU134はSW-ST144を搭載し、メーターECU135はSW-MT145を搭載する。SW-EG142、SW-SF143、SW-ST144、及びSW-MT145は、各ECUのROMに書き込まれており、第1更新手段によって更新可能である。つまり、エンジンECU132、シフトECU133、ステアリングECU134、及び、メーターECU135は、第1車両制御部の一例に対応する。
【0044】
IVIシステム131は、カーナビゲーションシステム、オーディオ装置、液晶ディスプレイ、ヘッドアップディスプレイ等の装置であり、複数の装置で構成されてもよい。IVIシステム131は、IVIシステム131を構成する装置の機能、及びIVIシステム131の制御を行うECUと、ECUにより実行される制御プログラムであるSW-IVI141とを搭載する。すなわち、IVIシステム131は、SW-IVI141に基づいて、カーナビゲーションシステム等の各種の機能を実現するとともに、IVIシステム131を構成する機器を制御する制御機能を実現する。このため、IVIシステム131は、車両Vの機能を構成する装置であるとともに、制御機能を有するECUに相当する。SW-IVI141は、IVIシステム131のECUが備えるROMに書き込まれており、第2更新手段によってSW-IVI141を更新可能である。つまり、IVIシステム131は、第2車両制御部の一例に対応する。
【0045】
IVIシステム131には、車両Vの測位を行うGPS(Global Positioning System)ユニット123が接続される。IVIシステム131は、例えばカーナビゲーションシステムの動作において、GPSユニット123から位置情報を取得する。また、IVIシステム131にはUSBコネクタ124が接続される。USBコネクタ124は、USB規格に準拠したコネクタであり、メモリデバイス60等を接続可能である。メモリデバイス60は、USB規格に準拠した可搬型の記憶デバイスであり、フラッシュROM等の書き換え可能な半導体メモリ素子を備える。メモリデバイス60は、USBコネクタ124、及び、USBコネクタ234に接続可能である。メモリデバイス60がUSBコネクタ234に接続された状態で、更新装置200は、メモリデバイス60へのプログラムやデータの書き込み、消去、フォーマット等を行える。また、メモリデバイス60がUSBコネクタ124に接続された状態で、IVIシステム131は、メモリデバイス60からプログラムやデータの読み出しを行うことができる。メモリデバイス60は、第2外部装置の一例に対応する。
【0046】
管理ECU110は、バス102を介して各ECUと通信を実行し、ECUの起動状態や動作状態を監視する。
車載機器101を構成する各々のECUは、ECUの動作やセンサの状態を診断する故障診断機能を有する。管理ECU110は、車載機器101のECUが故障診断機能により検知した故障や不具合に関する情報を、バス102を介して取得する。すなわち、管理ECU110は、車載式故障診断装置(OBD:On-Board Diagnostics)として機能する。
【0047】
[2-3.制御系の構成]
図3は、更新装置200及び車載制御装置100の制御系の機能ブロック図である。
管理ECU110は、管理ECU110のプロセッサが実行するプログラムである制御プログラム114を備える。管理ECU110は、制御プログラム114を実行することによって、車両通信制御部111、更新管理部112、及び、外部通信制御部113を構成する。
【0048】
車両通信制御部111は、車載制御装置100を構成するECUと、バス102を介して通信を実行する。更新管理部112は、第2更新手段が適用されるECUに対し、プログラムのバージョンの取得、OTAプログラム更新の実行、及び、プログラムの更新履歴の管理を行う。
【0049】
外部通信制御部113は、DLC121を介して車両診断システム300と通信を実行する。外部通信制御部113は、DLC121に車両診断システム300が接続された場合、車両診断システム300と、車載制御装置100の各ECUとの間の通信を可能とする。具体的には、外部通信制御部113は、車両診断システム300がECUのプログラムのバージョン情報の取得を要求した場合に、この取得要求を受け付ける。外部通信制御部113は、取得要求に応じて、ECUのプログラムのバージョンを示すバージョン情報を、車両診断システム300に送信する。外部通信制御部113は、要求受付部、及び、送信制御部の一例に対応する。
【0050】
更新装置200は、記憶部220に制御プログラム221を記憶する。更新装置200は、プロセッサ210によって制御プログラム221を実行することにより、車両通信制御部211、第1取得部212、第2取得部213、プログラム取得部214、表示制御部215、及び、更新処理部216を構成する。
【0051】
車両通信制御部211は、インターフェイス235及び接続装置50を介して車載制御装置100と通信を実行する。第1取得部212は、車載制御装置100が備えるECUのうち第1更新手段によってプログラム更新可能なECUについて、プログラムのバージョンを示す第1バージョン情報の取得を車載制御装置100に対して要求する。第1取得部212は、要求に応じて車載制御装置100が送信する第1バージョン情報を取得する。例えば、第1取得部212は、エンジンECU132、シフトECU133、ステアリングECU134、及び、メーターECU135のプログラムのバージョンを示す第1バージョン情報を取得する。
【0052】
第2取得部213は、車載制御装置100が備えるECUのうち第2更新手段によってプログラム更新可能なECUについて、プログラムのバージョンを示す第2バージョン情報の取得を車載制御装置100に対して要求する。第2取得部213は、要求に応じて車載制御装置100が送信する第2バージョン情報を取得する。例えば、第2取得部213は、IVIシステム131のプログラムのバージョンを示す第2バージョン情報を取得する。IVIシステム131が複数のECUを備える場合、第2バージョン情報は、IVIシステム131が有する複数のプログラムのバージョンをそれぞれ示す情報を含む。
【0053】
プログラム取得部214は、配信サーバ10に対して更新プログラムを要求し、更新プログラムをダウンロードする。プログラム取得部214は、ダウンロードしたプログラムを、記憶部220に形成される更新プログラム格納領域222に格納する。プログラム取得部214は、更新プログラム取得部の一例に対応する。
【0054】
表示制御部215は、車両通信制御部211、第1取得部212、第2取得部213、及びプログラム取得部214等の動作に関する画面を、表示部233により表示させる。
更新処理部216は、更新プログラム格納領域222に記憶された更新プログラムを用い、第1更新手段によってプログラム更新が可能なECUに対し、プログラムの更新を実行する。
【0055】
[3.プログラムの更新順序]
図4は、プログラムの更新順序の例を示す模式図である。
車載制御装置100のECUにインストールされたプログラムは、機能向上や不具合の解消を目的として随時、アップデートされ、新しいバージョンのプログラムが提供される。新しいバージョンのプログラムが提供開始されるタイミングは一定とは限らない。車載制御装置100が複数のECUを搭載する場合、各々のECUのプログラムについて、新しいバージョンのプログラムが公開されるタイミングが異なることがある。
【0056】
図4には、SW-IVI141、SW-EG142、SW-SF143、SW-ST144、及び、SW-MT145が、バージョン1(Ver.1)からバージョン2(Ver.2)にアップデートされる例を示す。横軸は時間の経過を示し、T0、T1、T2、T3、T4、及びT5はそれぞれプログラムが提供開始されるタイミング(例えば、日付)を示す。
図4(a)はSW-IVI141のバージョンの移行を示し、
図4(b)はSW-EG142のバージョンの移行を示し、
図4(c)はSW-SF143のバージョンの移行を示し、
図4(d)はSW-ST144のバージョンの移行を示し、
図4(e)はSW-MT145のバージョンの移行を示す。バージョン1は初期状態のプログラムのバージョンであり、バージョン2は更新されたプログラムのバージョンである。
【0057】
車両Vの出荷時T0では、SW-IVI141、SW-EG142、SW-SF143、SW-ST144、及びSW-MT145は、いずれもバージョン1である。
以下に説明する例では、T1でバージョン2のSW-EG142が提供開始される。続いて、T2でバージョン2のSW-SF143が提供開始され、T3でバージョン2のSW-IVI141が提供開始される。さらに、T4でバージョン2のSW-ST144の提供が開始され、T5でバージョン2のSW-MT145の提供が開始される。
【0058】
プログラム更新システム1は、
図4に示した提供開始の順序に従って車載制御装置100のプログラムを更新する。換言すれば、
図4の提供開始の順序に反する順序で、車載制御装置100のプログラムを更新することは制限される。例えば、バージョン2のSW-SF143は、バージョン2のSW-EG142よりも後に提供開始されている。このため、SW-SF143をバージョン2に更新する処理は、SW-EG142がバージョン2に更新された後であれば許容され、この反対の順序で更新することは制限される。
配信サーバ10、及び/または、無線配信サーバ30は、車載制御装置100のプログラム更新を管理するためのデータを有する。具体的には、配信サーバ10、及び/または、無線配信サーバ30は、車載制御装置100が有する複数のECUのバージョンの組合せについて、許容される組合せを示すデータを有する。このデータの一例を
図5に示す。
【0059】
図5は、プログラムバージョン指定データ40の構成例を示す模式図である。
プログラムバージョン指定データ40は、車載制御装置100が有するECUのバージョンの組合せのうち、許容される組合せを
図4の例が実施された場合のプログラムの組合せを示すデータである。
【0060】
図5の例で、プログラムバージョン指定データ40は、プログラムがインストールされたECUの名称であるシステム名称と、ECUにインストールされるプログラムと、を対応付けて含む。プログラムバージョン指定データ40は、
図5に示すように、各ECUのプログラムを更新する手段を示すデータを含んでもよい。
図5の例で、「有線」は車両診断システム300を利用したプログラム更新を示しており、第1更新手段を指す。「無線」はOTAプログラム更新を示しており、第2更新手段を指す。
【0061】
プログラムバージョン指定データ40は、各々のシステム名称およびプログラムに対応付けて、許容されるプログラムのバージョンの組合せを定める。
図5の例では、組合せ(1)は、SW-IVI141、SW-EG142、SW-SF143、SW-ST144及びSW-MT145が全てバージョン1となる組合せである。組合せ(2)は、SW-EG142がバージョン2、他のプログラムがバージョン1の組合せである。プログラムバージョン指定データ40に定められるバージョンの組合せは、各ECUのプログラムの新しいバージョンが提供開始された順序に従って定められる。
【0062】
配信サーバ10は、車両診断システム300が更新プログラムを要求した場合に、プログラムバージョン指定データ40に適合する組合せとなる順序で、更新プログラムを車両診断システム300にダウンロードさせる。また、配信サーバ10は、車両診断システム300が、プログラムバージョン指定データ40に適合しない更新プログラムを要求した場合に、更新プログラムをダウンロードさせない。このため、許容されない組合せを生じるようなプログラムの更新を防止できるので、更新装置200を操作するオペレーターの負担を軽減できる。
【0063】
さらに、本実施形態のプログラム更新システム1では、OTAプログラム更新を利用して更新されるIVIシステム131のプログラム、すなわちSW-IVI141を、車両診断システム300がダウンロードすることが可能である。
【0064】
SW-IVI141は、車載制御装置100がTCU122によって車両診断システム300からダウンロードし、管理ECU110の制御によって更新されるプログラムである。管理ECU110は、OTAプログラム更新の変形として、SW-IVI141の更新プログラムを記憶したメモリデバイス60が、USBコネクタ124に物理的に接続された場合に、メモリデバイス60内の更新プログラムを利用してSW-IVI141を更新できる。この機能を利用するため、車両診断システム300が更新プログラムを配信サーバ10から取得し、メモリデバイス60に書き込む機能を有する。これにより、車両診断システム300の管理のもとに、SW-IVI141を含むプログラムの更新を実行できる。なお、メモリデバイス60に書き込まれた更新プログラムは当該車両Vのみに適用可能な更新プログラムであり、メモリデバイス60に書き込まれた更新プログラムには有効期限が設定される。有効期限は、例えば24時間以内である。これにより、メモリデバイス60に記憶されたプログラムは特定の車両Vにのみインストール可能となるので、プログラムの個車管理を可能にし、誤った車両、誤ったタイミングのソフトウェア構成を発生させないようにすることができる。また、時間経過によってはソフトウェア構成が変わる可能性、例えば、新規な設計変更の発生により新しいプログラムが配信され、ソフトウェアの組合せの変更等が生じる可能性がある。このような事態に対応する観点から、過去一定期間以上前に作成されたツールは使えないようにすることが好ましく、メモリデバイス60に書き込まれた更新プログラムに有効期限を設定することは有用である。
【0065】
[4.プログラム更新システムの動作]
図6は、プログラム更新システム1の動作を示すフローチャートであり、特に、更新装置200の動作を示す。
図7及び
図8は、プログラム更新システム1の動作を示すシーケンス図であり、ステップSA12(
図6)における更新装置200及び車載制御装置100の動作を示す。また、
図9は、更新装置200により表示される画面の例を示す図である。
これらの図を参照して、プログラム更新システム1の動作を説明する。以下に説明する動作を実行する車載制御装置100は制御装置として機能する。この機能は、管理ECU110が制御装置の一例として実行するということもできる。
【0066】
図6の動作は車両診断システム300が車載制御装置100に接続されてから実行される。更新装置200は、車載制御装置100と通信を実行し、車載制御装置100の情報を取得する(ステップSA11)。ステップSA11で、更新装置200は、例えば、車載機器101が備えるECUの数、ECUの名称や制御対象の装置の名称、ECUのプログラム更新手段等の情報を取得する。また、更新装置200は、ステップSA11で、車両Vの車両識別番号や、車台番号等を取得してもよい。
【0067】
ステップSA11で、更新装置200は、接続装置50を制御して管理ECU110に情報要求コマンドを送信させ、このコマンドの応答として管理ECU110が送信するデータを接続装置50により受信させる。更新装置200は、接続装置50から、管理ECU110が送信したデータを取得する。以下に説明する更新装置200と車載制御装置100との間の通信においては、ステップSA11と同様に、管理ECU110にコマンドを入力し、管理ECU110に応答を出力させる。
【0068】
更新装置200は、車載制御装置100との間で、車載制御装置100が有するECUのプログラムに関する情報を取得する、車両情報取得処理を実行する(ステップSA12)。
【0069】
ステップSA12の動作の一例を、
図7に詳細に示す。
図7の動作は、更新装置200の第1取得部212と、車載制御装置100とにより実行される。
更新装置200は、管理ECU110に対し、プログラムバージョンの取得を要求する(ステップSA31)。ステップSA31で更新装置200が送信する要求は、車載制御装置100が備えるECUのうち、対象とするECUを特定する情報を含む。
管理ECU110は、プログラムバージョンの要求を受信すると、要求の対象のECUが有するプログラムのバージョンを取得して、プログラムのバージョンを示す第1バージョン情報を生成する(ステップSB11)。管理ECU110は、第1バージョン情報を含むプログラムバージョン取得応答を、更新装置200に送信する(ステップSB12)。
更新装置200は、管理ECU110が送信する第1バージョン情報を取得する(ステップSA32)。
【0070】
図7の動作は、車載機器101が備えるECUのそれぞれに対して実行される。例えば、車載機器101は、更新装置200の制御によりプログラムを更新する対象のECUが4個である場合、更新装置200は、4個のECUの各々について
図7の動作を実行する。
【0071】
また、
図7の動作において、更新装置200は、車載機器101のECUを送信先として、接続装置50からコマンドを送信させてもよい。例えば、更新装置200は、エンジンECU132を宛先とするコマンドを送信してもよい。この場合、管理ECU110は、接続装置50から入力されたコマンドをエンジンECU132に転送する。エンジンECU132は、ステップSA21の取得要求への応答として、第1バージョン情報を生成して送信する。管理ECU110は、エンジンECU132が送信する第1バージョン情報を、接続装置50に出力する。つまり、エンジンECU132が
図7のステップSB11、SB12を実行する。このような動作は、更新装置200が、車載機器101が備えるECUを特定可能な情報を有する場合に有効である。
【0072】
図7の動作は、車両診断システム300を利用する第1更新手段によりプログラムの更新を行うECUについて有効である。これに対し、第2更新手段によりプログラムの更新を行うECUは、更新装置200が送信する取得要求コマンドに応答する仕様となっていない可能性がある。従って、第2更新手段によりプログラムの更新を行うECUに対して、更新装置200は、ステップSA12で、
図7とは異なる処理を行う。
【0073】
図8は、ステップSA12の動作の別の例を示す。
図8の動作は、更新装置200の第2取得部213と、車載制御装置100とにより実行される。
更新装置200は、管理ECU110に対し、対象とするシステムを指定して、ECUの起動状態の取得を要求する(ステップSA41)。対象とするシステムとは、ECUの制御対象或いはECUを指し、本実施形態ではIVIシステム131である。
管理ECU110は、起動状態の取得要求を受信すると、対象とされたシステムを構成するECUの起動状態を示す起動状態情報を含む応答を、更新装置200に送信する(ステップSB21)。起動状態情報は、例えば、IVIシステム131の全て又は一部のECUが起動しているか省電力状態にあるかを、ECU毎に示す情報である。
【0074】
更新装置200は、起動状態情報を取得する(ステップSA42)。ここで、起動していないECUがある場合、そのECUは、ステップSA41で更新装置200が取得要求を送信したことにより起動している。ECUの起動直後はプログラムのバージョンに関する応答ができない可能性があるので、更新装置200は、ステップSA42の後に所定時間待機することが好ましい。
【0075】
更新装置200は、対象のシステムが有するプログラム数の取得要求を送信する(ステップSA43)。プログラム数は、対象のシステム、すなわちIVIシステム131にインストールされたプログラムの数を指す。管理ECU110は、プログラム数の取得要求を受信すると、対象とされたシステムのプログラム数を示すプログラム数情報を含む応答を、更新装置200に送信する(ステップSB22)。
【0076】
更新装置200は、プログラム数情報を取得する(ステップSA44)。更新装置200は、プログラムバージョンの取得を要求する(ステップSA45)。ステップSA45で更新装置200が送信する要求は、対象のシステムが有する各プログラムのバージョンを要求する。管理ECU110は、プログラムバージョンの要求を受信すると、対象のシステムが有するプログラムのバージョンを取得して、プログラムのバージョンを示す第2バージョン情報を生成する(ステップSB23)。管理ECU110は、第2バージョン情報を含むプログラムバージョン取得応答を、更新装置200に送信する(ステップSB24)。更新装置200は、管理ECU110が送信する第2バージョン情報を取得する(ステップSA46)。
【0077】
第2バージョン情報は、対象のシステムが有する各プログラムのバージョンを含む。例えば、対象のシステムが有する複数のプログラムのバージョンを示す情報を並べた形態の情報である。更新装置200は、ステップSA44で取得したプログラム数情報に基づいて、第2バージョン情報に含まれるバージョンの情報を切り出すことにより、対象のシステムが有する各プログラムのバージョンを特定できる。
【0078】
図8の動作において、更新装置200は、車載機器101の対象システム、すなわちIVIシステム131を送信先として、接続装置50からコマンドを送信させてもよい。この場合、管理ECU110は、接続装置50から入力されたコマンドをIVIシステム131に転送する。IVIシステム131は、取得要求のコマンドへの応答として、起動状態情報、プログラム数情報、及び第2バージョン情報を生成して送信する。
【0079】
図7及び
図8の動作により、更新装置200は、車載機器101が有する各々のプログラムのバージョンを取得する。
図6に戻り、更新装置200は、ステップSA12で取得した各プログラムのバージョンをもとに、配信サーバ10に対して問合わせを実行する(ステップSA13)。ステップSA13で、更新装置200は、配信サーバ10に対し、車両Vのプログラムのうち更新すべきプログラムの有無を問合わせる。
【0080】
更新装置200は、ステップSA13の問合わせの結果として配信サーバ10から送信される情報に基づき、車両Vにおいて更新対象となるプログラム、及び、各プログラムの更新順序を特定する(ステップSA14)。更新対象のプログラムとは、より新しいバージョンのプログラムが提供開始されていて、更新する必要がある又は更新が推奨されるプログラムである。更新装置200は、更新対象のプログラムの一覧を、表示部233によって表示する(ステップSA15)。
【0081】
図9は、更新装置200が表示する更新管理画面401の構成例を示す。更新管理画面401は、更新対象のプログラムを一覧表示する画面の一例である。
【0082】
更新管理画面401は、更新可否表示部411、システム名称表示部412、ダウンロード状況表示部413、及び、更新結果表示部414を含む。
システム名称表示部412には、更新対象のプログラムを有するECUのシステム名称が表示される。更新可否表示部411には、システム名称表示部412に表示されたECUのプログラムの更新を指示するチェックボックスが配置される。
図9の例では、更新対象のECUにIVIシステム131が含まれる。IVIシステム131は、車両診断システム300によるプログラムの更新の対象ではないので、IVIシステム131に対応するチェックボックスはチェック操作ができないよう塗りつぶし表示される。
【0083】
さらに、ステアリングECU134及びメーターECU135のプログラムは、IVIシステム131が更新された後でなければ、更新できない。このため、更新可否表示部411において、ステアリングECU134及びメーターECU135に対応するチェックボックスはグレーアウト表示され、チェック操作ができない状態である。
【0084】
ダウンロード状況表示部413には、配信サーバ10から更新プログラムのダウンロードを実行する場合に、ダウンロードの進捗状況が表示される。更新結果表示部414には、プログラムの更新処理の結果が表示される。
【0085】
更新管理画面401は、
図6のステップSA15で表示された後、プログラムの更新が完了するまで表示され、ダウンロード状況表示部413および更新結果表示部414の表示が随時、更新される。
【0086】
更新管理画面401により、更新装置200を操作するオペレーターは、車両Vのプログラムの更新の順序、および、更新装置200により更新できないプログラムの存在を知ることができる。
【0087】
図6に戻り、更新装置200は、更新の指示を受け付ける(ステップSA16)。更新の指示は、例えば、更新可否表示部411のチェックボックスにチェックを付ける操作である。更新装置200は、更新指示を受け付けた後、ステップSA14で特定した更新対象のプログラムの中に、車両診断システム300による更新ができないプログラムがあるか否かを判定する(ステップSA17)。
図9に示した例では、IVIシステム131のプログラムが、これに該当する。
【0088】
車両診断システム300による更新ができないプログラムがないと判定した場合(ステップSA17;NO)、更新装置200は、配信サーバ10から更新対象のプログラムに対応する更新プログラムを取得する(ステップSA18)。更新装置200は、取得した更新プログラムを用いて、車載機器101のプログラムの更新を実行し、実行中に更新管理画面401の表示を更新する(ステップSA19)。プログラムの更新が完了した後、更新装置200は本処理を終了する。
【0089】
車両診断システム300による更新ができないプログラムがあると判定した場合(ステップSA17;YES)、更新装置200は、該当するプログラムの更新をせずに更新可能なプログラムについて、更新プログラムを配信サーバ10から取得する(ステップSA20)。
図9の例では、更新可能なプログラムは、エンジンECU132及びシフトECU133のプログラムである。この場合、更新装置200は、エンジンECU132及びシフトECU133の更新プログラムを、ステップSA20でダウンロードする。
更新装置200は、取得した更新プログラムを用いて、車載機器101のプログラムの更新を実行し、実行中に更新管理画面401の表示を更新する(ステップSA21)。
【0090】
ここで、更新装置200は、メモリデバイス60を利用したプログラムの更新を行うか否かを判定する(ステップSA22)。例えば、更新装置200は、メモリデバイス60を利用するプログラム更新を行うか否かの入力を求める画面を、表示部233により表示し、この画面に対する操作を入力部232によって受け付けて、操作に基づき判定を行う。
【0091】
メモリデバイス60を利用したプログラムの更新を行わないと判定した場合(ステップSA22;NO)、更新装置200は、本処理を終了する。この場合、IVIシステム131のプログラムが更新されないが、例えばTCU122を利用したOTAプログラム更新により、IVIシステム131のプログラムを更新することが可能である。このため、IVIシステム131のプログラムの更新後に、再び車両診断システム300を車載制御装置100が接続され、ステップSA11以後の処理が行われることにより、車載制御装置100のプログラムの更新を完了できる。
【0092】
また、メモリデバイス60を利用したプログラムの更新を行うと判定した場合(ステップSA22;YES)、更新装置200は、有線で更新できないECU、すなわちステップSA17で特定したECUに対応する更新プログラムを、配信サーバ10から取得する(ステップSA23)。更新装置200は、ステップSA23で配信サーバ10から取得した更新プログラムを、USBコネクタ234に接続されたメモリデバイス60に書き込む(ステップSA24)。
【0093】
ここで、更新装置200を操作するオペレーターは、メモリデバイス60をUSBコネクタ234から取り外してUSBコネクタ124に接続する。管理ECU110は、IVIシステム131を介してUSBコネクタ124から更新プログラムを読み出し、IVIシステム131のプログラムを更新する。プログラムの更新が完了すると、IVIシステム131のプログラムのバージョンが変更される。
更新装置200は、USBコネクタ234からメモリデバイス60が取り外された後、車載制御装置100と通信を実行して、IVIシステム131のプログラムのバージョンを確認する(ステップSA25)。ステップSA25で、更新装置200は、例えば、
図8に示した動作と同様にして、第2バージョン情報を取得することにより、プログラムのバージョンを確認すればよい。
【0094】
更新装置200は、ステップSA25で確認したプログラムのバージョンに基づき、メモリデバイス60に書き込んだ更新プログラムを用いてプログラムが更新されたか否かを判定する(ステップSA26)。プログラムが更新されていないと判定した場合(ステップSA26;NO)、更新装置200はステップSA25の動作を繰り返す。
【0095】
プログラムが更新されたと判定した場合(ステップSA26;YES)、更新装置200は、更新対象の全てのプログラムの更新が完了したか否かを判定する(ステップSA27)。更新されていないプログラムがある場合(ステップSA27;NO)、更新装置200はステップSA17に戻る。
【0096】
[5.他の実施形態]
上記実施形態は本発明を適用した一具体例を示すものであり、発明が適用される形態を限定するものではない。
【0097】
上記実施形態で示した車載機器101の構成は一例であり、車載機器101が備えるECUの種類、ECUの数、ECUの制御対象の装置の構成は種々に変更可能である。また、第2更新手段によりプログラムが更新されるECUはIVIシステム131に限らず、例えば、実施形態で示したエンジンECU132、シフトECU133、ステアリングECU134、メーターECU135等を含んでもよい。
また、車両診断システム300と車載制御装置100との通信の態様についても制限はなく、例えば、更新装置200が車載制御装置100と無線通信を実行する構成であってもよい。
【0098】
また、配信サーバ10、認証サーバ20、及び無線配信サーバ30は、単独のサーバコンピュータで構成されてもよいし、複数のサーバコンピュータによって分散処理を行う構成であってもよいし、クラウドサーバで構成されてもよい。
【0099】
図2及び
図3は、本願発明の理解を容易にするために、プログラム更新システム1の各装置の機能構成を、主な処理内容により区分して示した概略図であり、装置の構成を限定するものではない。例えば、更新装置200において、プロセッサ210が備える構成要素の処理を、1つのハードウェアユニットにより実行してもよいし、複数のハードウェアユニットにより実行してもよい。車載制御装置100についても同様である。また、
図6~
図8に示した各処理は、1つのプログラムにより実行されてもよいし、複数のプログラムにより実行されてもよい。
【0100】
制御プログラム221は、可搬型の情報記録媒体に制御プログラム221を記録させた状態で実現することも可能である。情報記録媒体は、ハードディスク等の磁気的記録媒体、CD等の光学的記録媒体、USB(Universal Serial Bus)メモリやSSD(Solid State Drive)等の半導体記憶デバイスが挙げられるが、その他の記録媒体を用いることも可能である。プロセッサ210は、情報記録媒体から制御プログラム221を読み出して実行してもよい。
【0101】
[6.上記実施形態によりサポートされる構成]
上記実施形態は、以下の構成をサポートする。
【0102】
(構成1)車両に搭載される制御装置であって、第1車両制御部に組み込まれたプログラムを第1更新手段によって更新可能であり、第2車両制御部に組み込まれたプログラムを、前記第1更新手段とは異なる第2更新手段によって更新可能に構成され、前記第1更新手段によって、前記第2車両制御部のプログラムのバージョンに関するバージョン情報の取得要求を受け付ける要求受付部と、前記要求受付部が受け付けた前記取得要求に応じて、前記バージョン情報を前記第1更新手段によって送信する送信制御部と、を備え、前記第1更新手段及び前記第2更新手段は前記車両の外部装置から更新プログラムを取得する手段であり、前記第1更新手段及び前記第2更新手段の一方は前記車両が備える通信部を介して前記車両の外部装置からプログラムを取得する、制御装置。
構成1の制御装置によれば、プログラムを更新する手段が異なる複数の制御部が搭載された車両について、制御部のプログラムのバージョンを他の装置が管理できる。これにより、車両の制御部のプログラムを、効率よく管理できる。
【0103】
(構成2)前記第1更新手段は、前記車両が備える通信部を介して前記車両の外部装置から更新プログラムを取得する手段であり、前記第2更新手段は、前記車両が備える有線コネクタを介して前記外部装置と同一または異なる外部装置から更新プログラムを取得する、構成1に記載の制御装置。
構成2の制御装置によれば、通信部を介して更新プログラムを取得する制御部と、優先コネクタを介して更新プログラムを取得する制御部とを有する車両について、車両の制御部のプログラムを効率よく管理できる。
【0104】
(構成3)前記要求受付部は、前記第2車両制御部の起動状態に関する起動状態情報を要求する前記取得要求を受け付け、前記送信制御部は、前記起動状態情報を送信する、構成1または構成2に記載の制御装置。
構成3の制御装置によれば、車両の制御部の起動状態を、他の装置によって管理することができる。これにより、例えば車両の制御部の起動状態に対応して車両の制御部と通信を行うことができ、制御部の状態を効率よく管理できる。
【0105】
(構成4)前記要求受付部は、前記第2車両制御部に組み込まれ、前記第2更新手段による更新の対象となるプログラムの数を示すプログラム数情報を要求する前記取得要求を受け付け、前記送信制御部は、前記プログラム数情報を送信する、構成1または構成2に記載の制御装置。
構成4の制御装置によれば、制御部のプログラムを更新するための手段と、この手段で更新されるプログラムの数とを、他の装置によって管理できる。
【0106】
(構成5)前記要求受付部が前記取得要求を受け付けた場合に、前記第2車両制御部が有するプログラムの数を検出して前記プログラム数情報を生成し、検出したプログラムの数に基づき、前記バージョン情報を生成する更新管理部を備え、前記送信制御部は、前記更新管理部が生成する前記プログラム数情報及び前記バージョン情報を送信する、構成4に記載の制御装置。
構成5の制御装置によれば、制御部のプログラムについて、プログラム数、及び、プログラムのバージョンを、他の装置によって管理できる。このため、制御部のプログラムの管理を効率化できる。
【0107】
(構成6)車両に搭載された車両制御部と通信ケーブルを介して通信可能に接続され、前記車両制御部のプログラムの更新を制御する端末装置であって、前記車両制御部は、第1車両制御部と、第2車両制御部とを含み、前記第1車両制御部に組み込まれたプログラムを、前記端末装置を利用する第1更新手段によって更新可能であり、前記第2車両制御部に組み込まれたプログラムを、前記第1更新手段とは異なる第2更新手段によって更新可能であり、前記第1車両制御部のプログラムのバージョンに関する情報である第1バージョン情報を、前記車両制御部から取得する第1取得部と、前記第2車両制御部のプログラムのバージョンに関する情報である第2バージョン情報を、前記車両制御部から取得する第2取得部と、前記第1バージョン情報及び前記第2バージョン情報に基づいて、前記第1車両制御部のプログラムを更新するための更新プログラムを第1外部装置から取得する更新プログラム取得部と、を備える、端末装置。
構成6の端末装置によれば、ケーブルを介して車両に接続される端末装置により、プログラムを更新する手段が異なる複数の制御部について、更新手段ごとにプログラムを管理できる。これにより、車両の制御部のプログラムの管理を効率化できる。
【0108】
(構成7)前記第2車両制御部に組み込まれたプログラムは、前記車両が備える通信部を利用する前記第2更新手段によって更新可能である、構成6に記載の端末装置。
構成7の端末装置によれば、車両の制御部に組み込まれたプログラムを車両の通信部によって更新可能な構成において、ケーブルを介して車両に接続される端末装置により、プログラムを更新する手段ごとにプログラムのバージョンを管理できる。これにより、プログラムを更新する端末装置が、端末装置によらない手段で更新されるプログラムを管理できるので、プログラムの管理を、より一層効率化できる。
【0109】
(構成8)前記第2取得部は、前記第2車両制御部の起動状態に関する起動状態情報を取得する、構成6または構成7に記載の端末装置。
構成8の端末装置によれば、車両のプログラムを更新する端末装置により、端末装置によらない手段でプログラムが更新される制御部の起動状態を管理できる。これにより、プログラムの管理を、より一層効率化できる。
【0110】
(構成9)前記第2取得部は、前記第2車両制御部に組み込まれ、前記第2更新手段による更新の対象となるプログラムの数を示すプログラム数情報を取得する、構成6から構成8のいずれかに記載の端末装置。
構成9の端末装置によれば、車両のプログラムを更新する端末装置により、端末装置によらない手段でプログラムが更新される制御部のプログラム数を管理できる。これにより、プログラムの管理を、より一層効率化できる。
【0111】
(構成10)前記更新プログラム取得部は、前記第1車両制御部のプログラムを更新するための更新プログラムを取得する処理において、前記第1車両制御部のプログラムのうち前記第2車両制御部のプログラムの更新後に更新する必要があるプログラムについては、前記更新プログラムを取得しない、構成6から構成9のいずれかに記載の端末装置。
構成10の端末装置によれば、プログラムの更新の順序について錯誤を防止できる。これにより、プログラムの更新を、より適切に管理できる。
【0112】
(構成11)表示部の表示を制御する表示制御部を備え、前記表示制御部は、前記第1車両制御部のプログラムのうち前記第2車両制御部のプログラムの更新後に更新する必要があるプログラムがある場合に、前記第2車両制御部のプログラムの更新が必要であることを前記表示部に表示させる、構成10記載の端末装置。
構成11の端末装置によれば、プログラムの更新の順序に関する制約を、プログラム更新作業のオペレーターに対して通知することによって、プログラムの更新の順序を遵守させることができる。
【0113】
(構成12)前記更新プログラム取得部は、前記第2車両制御部のプログラムを更新するための前記更新プログラムを取得して、前記第1外部装置とは異なる第2外部装置に出力する、構成6から構成11のいずれかに記載の端末装置。
構成12の端末装置によれば、車両のプログラムを更新する端末装置により、端末装置によらない手段で更新されるプログラムを取得して第2外部装置に出力するので、第2外部装置を利用するプログラムの更新を実現できる。これにより、端末装置によらない手段で更新されるプログラムの更新を、端末装置を用いて管理できる。
【0114】
(構成13)前記第2外部装置は可搬物であり、且つ前記第2車両制御部に物理的に接続される、構成12に記載の端末装置。
構成13の端末装置によれば、車両が搭載する第2車両制御部に物理的に接続される可搬型の装置を利用して、第2車両制御部のプログラムを更新する。これにより、端末装置によらない手段で更新されるプログラムの更新を、端末装置を用いて管理できる。
【符号の説明】
【0115】
1…プログラム更新システム、10…配信サーバ(第1外部装置)、30…無線配信サーバ、50…接続装置、60…メモリデバイス(第2外部装置)、61、62…ケーブル、100…車載制御装置(制御装置)、101…車載機器、110…管理ECU(制御装置)、111…車両通信制御部、112…更新管理部、113…外部通信制御部(要求受付部、送信制御部)、114…制御プログラム、121…DLC、122…TCU、124…USBコネクタ、131…IVIシステム(第2車両制御部)、132…エンジンECU(第1車両制御部)、133…シフトECU(第1車両制御部)、134…ステアリングECU(第1車両制御部)、135…メーターECU(第1車両制御部)、200…更新装置、201…制御部(端末装置)、210…プロセッサ、211…車両通信制御部、212…第1取得部、213…第2取得部、214…プログラム取得部(更新プログラム取得部)、216…更新処理部、220…記憶部、221…制御プログラム、222…更新プログラム格納領域、231…通信部、232…入力部、234…USBコネクタ、235…インターフェイス、300…車両診断システム、V…車両。