IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社デンソーの特許一覧

特開2024-131584車載更新装置、ソフトウェアの更新方法及びソフトウェアの更新プログラム
<>
  • 特開-車載更新装置、ソフトウェアの更新方法及びソフトウェアの更新プログラム 図1
  • 特開-車載更新装置、ソフトウェアの更新方法及びソフトウェアの更新プログラム 図2
  • 特開-車載更新装置、ソフトウェアの更新方法及びソフトウェアの更新プログラム 図3
  • 特開-車載更新装置、ソフトウェアの更新方法及びソフトウェアの更新プログラム 図4
  • 特開-車載更新装置、ソフトウェアの更新方法及びソフトウェアの更新プログラム 図5
  • 特開-車載更新装置、ソフトウェアの更新方法及びソフトウェアの更新プログラム 図6
  • 特開-車載更新装置、ソフトウェアの更新方法及びソフトウェアの更新プログラム 図7
  • 特開-車載更新装置、ソフトウェアの更新方法及びソフトウェアの更新プログラム 図8
  • 特開-車載更新装置、ソフトウェアの更新方法及びソフトウェアの更新プログラム 図9
  • 特開-車載更新装置、ソフトウェアの更新方法及びソフトウェアの更新プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024131584
(43)【公開日】2024-09-30
(54)【発明の名称】車載更新装置、ソフトウェアの更新方法及びソフトウェアの更新プログラム
(51)【国際特許分類】
   G06F 8/654 20180101AFI20240920BHJP
【FI】
G06F8/654
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023041940
(22)【出願日】2023-03-16
(71)【出願人】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】110000567
【氏名又は名称】弁理士法人サトー
(72)【発明者】
【氏名】佐藤 剛
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376CA55
5B376CA71
5B376GA08
(57)【要約】      (修正有)
【課題】車載更新装置における記憶領域や通信負荷の増大を回避すると共に、メモリ構成の不整合を回避しつつ、メモリ構成が異なる様々な更新対象の電子制御装置に対してソフトウェアの更新を適切に実施する。
【解決手段】ソフトウェア更新システム1において、車載更新装置5の制御部9は、配信装置であるサーバから更新パッケージを取得する更新パッケージ取得部9aと、ダイアグ通信の要求メッセージを更新対象の電子制御装置へ送信させる要求メッセージ送信部9bと、要求メッセージに対する応答メッセージを更新対象の電子制御装置から取得する応答メッセージ取得部9cと、応答メッセージの取得状況に基づいて更新対象の電子制御装置のメモリ構成を特定するメモリ構成特定部9dと、メモリ構成特定部の特定結果にしたがってソフトウェアの更新を更新対象の電子制御装置に指示する更新指示部9eと、を備えソフトウェアの更新プログラムを実行する。
【選択図】図1
【特許請求の範囲】
【請求項1】
配信装置から更新ソフトウェアを含む更新パッケージを取得し、前記更新ソフトウェアを更新対象の電子制御装置へ送信して前記更新対象の電子制御装置のソフトウェアを更新する車載更新装置(5,22)であって、
前記配信装置から前記更新パッケージを取得する更新パッケージ取得部(9a,23b)と、
ダイアグ通信の要求メッセージを前記更新対象の電子制御装置へ送信させる要求メッセージ送信部(9b,23c)と、
前記要求メッセージに対する応答メッセージを前記更新対象の電子制御装置から取得する応答メッセージ取得部(9c,23d)と、
前記応答メッセージの取得状況に基づいて前記更新対象の電子制御装置のメモリ構成を特定するメモリ構成特定部(9d,23e)と、
前記メモリ構成特定部の特定結果にしたがってソフトウェアの更新を前記更新対象の電子制御装置に指示する更新指示部(9e,23f)と、を備える車載更新装置。
【請求項2】
前記要求メッセージ送信部は、前記要求メッセージとしてUDSで規定されている診断通信プロトコルのSID$10のメッセージを前記更新対象の電子制御装置へ送信させる請求項1に記載した車載更新装置。
【請求項3】
前記メモリ構成特定部は、前記応答メッセージとしてUDSで規定されている診断通信プロトコルのSID$50のメッセージ、又は応答コード$33を伴うSID$7Fのメッセージが前記応答メッセージ取得部により取得された場合に、前記更新対象の電子制御装置のメモリ構成が2面構成であることを特定する請求項2に記載した車載更新装置。
【請求項4】
前記メモリ構成特定部は、前記応答メッセージとしてUDSで規定されている診断通信プロトコルの応答コード$12を伴うSID$7Fのメッセージが前記応答メッセージ取得部により取得された場合に、前記更新対象の電子制御装置のメモリ構成が1面構成であることを特定する請求項2に記載した車載更新装置。
【請求項5】
前記メモリ構成特定部は、前記要求メッセージが送信されてから前記応答メッセージが取得されずに所定時間が経過した場合に、前記更新対象の電子制御装置のメモリ構成が1面構成であることを特定する請求項2に記載した車載更新装置。
【請求項6】
前記要求メッセージ送信部は、複数の前記更新対象の電子制御装置に対して宛先を個別に指定し、前記要求メッセージを複数の前記更新対象の電子制御装置へ個別送信させる請求項1に記載した車載更新装置。
【請求項7】
前記要求メッセージ送信部は、複数の前記更新対象の電子制御装置に対して宛先を個別に指定せず、前記要求メッセージを複数の前記更新対象の電子制御装置へブロードキャスト送信させる請求項1に記載した車載更新装置。
【請求項8】
前記更新パッケージ取得部は、前記更新対象の電子制御装置を特定可能な諸元データを含む前記更新パッケージを取得し、
前記要求メッセージ送信部は、前記諸元データを含む前記更新パッケージが前記更新パッケージ取得部により取得された場合に、前記ダイアグ通信の要求メッセージを前記更新対象の電子制御装置へ送信させる請求項1に記載した車載更新装置。
【請求項9】
前記更新対象の電子制御装置を特定可能な諸元データを取得する諸元データ取得部(23a)と、
前記更新パッケージ取得部は、前記諸元データを含まない前記更新パッケージを取得し、
前記要求メッセージ送信部は、前記諸元データが前記諸元データ取得部により取得された場合に、前記ダイアグ通信の要求メッセージを前記更新対象の電子制御装置へ送信させる請求項1に記載した車載更新装置。
【請求項10】
前記要求メッセージ送信部は、前記諸元データを解析することで前記更新対象の電子制御装置を特定する請求項8又は9に記載した車載更新装置。
【請求項11】
配信装置から更新ソフトウェアを含む更新パッケージを取得し、前記更新ソフトウェアを更新対象の電子制御装置へ送信して前記更新対象の電子制御装置のソフトウェアを更新する車載更新装置(5,23)において、
前記配信装置から前記更新パッケージを取得する更新パッケージ取得手順と、
ダイアグ通信の要求メッセージを前記更新対象の電子制御装置へ送信させる要求メッセージ送信手順と、
前記要求メッセージに対する応答メッセージを前記更新対象の電子制御装置から取得する応答メッセージ取得手順と、
前記応答メッセージの取得状況に基づいて前記更新対象の電子制御装置のメモリ構成を特定するメモリ構成特定手順と、
前記メモリ構成特定手順の特定結果にしたがってソフトウェアの更新を前記更新対象の電子制御装置に指示する更新指示手順と、を行うソフトウェアの更新方法。
【請求項12】
配信装置から更新ソフトウェアを含む更新パッケージを取得し、前記更新ソフトウェアを更新対象の電子制御装置へ送信して前記更新対象の電子制御装置のソフトウェアを更新する車載更新装置(5,22)の制御部(9,23)に、
前記配信装置から前記更新パッケージを取得する更新パッケージ取得手順と、
ダイアグ通信の要求メッセージを前記更新対象の電子制御装置へ送信させる要求メッセージ送信手順と、
前記要求メッセージに対する応答メッセージを前記更新対象の電子制御装置から取得する応答メッセージ取得手順と、
前記応答メッセージの取得状況に基づいて前記更新対象の電子制御装置のメモリ構成を特定するメモリ構成特定手順と、
前記メモリ構成特定手順の特定結果にしたがってソフトウェアの更新を前記更新対象の電子制御装置に指示する更新指示手順と、を行うソフトウェアの更新プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車載更新装置、ソフトウェアの更新方法及びソフトウェアの更新プログラムに関する。
【背景技術】
【0002】
車載更新装置において、例えばサーバから取得した更新ソフトウェアを更新対象の電子制御装置(以下、更新対象ECU(Electronic Control Unit)と称する)へ送信して更新対象ECUのソフトウェアを更新する構成が供されている。更新対象ECUは、機能やコスト等の観点から搭載しているマイコンが様々であり、メモリ構成も様々である。
【0003】
例えば加減速、停止、旋回等の車両走行制御に関与する更新ソフトウェアを更新対象ECUにインストールする場合、ソフトウェアの記憶領域を2面で持つ更新対象ECU(以下、2面ECUと称する)に対しては、走行可能状態で更新ソフトウェアのインストールを行うことができる一方、ソフトウェアの記憶領域を1面でしか持たない更新対象ECU(以下、1面ECUと称する)に対しては、駐車状態で更新ソフトウェアのインストールを行う必要がある。このような事情から、更新対象ECUのメモリ構成によりソフトウェアの更新方法を切り替える手法が採用されている。
【0004】
例えば特許文献1には、サーバにおいて、1面ECUに向けた更新ソフトウェアと2面ECUに向けた更新ソフトウェアとの両方を含む更新パッケージを生成して配信する構成が開示されている。この場合、車載更新装置は、サーバから取得した更新パッケージに含まれる更新対象ECUの情報に基づいて更新対象ECUが1面ECUであるか2面ECUであるかを判定し、ソフトウェアの更新方法を切り替える。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2022-126194号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1の構成では、サーバから車載更新装置へ配信される更新パッケージに更新対象ECUの情報を含める必要がある。そのため、更新対象ECUの情報を記憶するための記憶領域を車載更新装置に確保したり、更新パッケージのデータ量の増大により通信負荷が増大したりする問題がある。又、例えば交換等によりECUのメモリ構成が変更されると、サーバが保持する更新対象ECUの情報と、実際の更新対象ECUのメモリ構成とが整合しなくなる問題もある。
【0007】
本発明は、上記した事情に鑑みてなされたものであり、その目的は、車載更新装置における記憶領域や通信負荷の増大を回避すると共に、例えば交換等によるメモリ構成の不整合を回避しつつ、メモリ構成が異なる様々な更新対象の電子制御装置に対してソフトウェアの更新を適切に実施することができる車載更新装置、ソフトウェアの更新方法及びソフトウェアの更新プログラムを提供することにある。
【課題を解決するための手段】
【0008】
請求項1に記載した発明によれば、車載更新装置(5,22)は、配信装置から更新ソフトウェアを含む更新パッケージを取得し、前記更新ソフトウェアを更新対象の電子制御装置へ送信して前記更新対象の電子制御装置のソフトウェアを更新する。更新パッケージ取得部(9a,23b)は、前記配信装置から前記更新パッケージを取得する。要求メッセージ送信部(9b,23c)は、ダイアグ通信の要求メッセージを前記更新対象の電子制御装置へ送信させる。応答メッセージ取得部(9c,23d)は、前記要求メッセージに対する応答メッセージを前記更新対象の電子制御装置から取得する。メモリ構成特定部(9d,23e)は、前記応答メッセージの取得状況に基づいて前記更新対象の電子制御装置のメモリ構成を特定する。更新指示部(9e,23f)は、前記メモリ構成特定部の特定結果にしたがってソフトウェアの更新を前記更新対象の電子制御装置に指示する。
【0009】
ダイアグ通信の要求メッセージを更新対象の電子制御装置へ送信し、要求メッセージに対する応答メッセージを更新対象の電子制御装置から取得し、応答メッセージの取得状況に基づいて更新対象の電子制御装置のメモリ構成を特定するようにした。更新対象の電子制御装置のメモリ構成を特定すると、その特定結果にしたがってソフトウェアの更新を更新対象の電子制御装置に指示するようにした。ダイアグ通信を利用して更新対象の電子制御装置のメモリ構成を特定することで、サーバから車載更新装置へ配信される更新パッケージに更新対象の電子制御装置の情報を含める必要をなくすことができる。又、更新対象の電子制御装置のメモリ構成を逐一特定することで、実際のメモリ構成を特定することができる。これにより、車載更新装置における記憶領域や通信負荷の増大を回避すると共に、例えば交換等によるメモリ構成の不整合を回避しつつ、メモリ構成が異なる様々な更新対象の電子制御装置に対してソフトウェアの更新を適切に実施することができる。
【図面の簡単な説明】
【0010】
図1】第1実施形態を示す機能ブロック図
図2】セッションの遷移を説明する図
図3】車載更新装置の処理を示すフローチャート
図4】更新対象ECU(2面ECU)の処理を示すフローチャート
図5】更新対象ECU(1面ECU)の処理を示すフローチャート
図6】処理の流れを示す図
図7】処理の流れを示す図
図8】第2実施形態を示す機能ブロック図
図9】処理の流れを示す図
図10】処理の流れを示す図
【発明を実施するための形態】
【0011】
以下、幾つかの実施形態について図面を参照して説明する。以下に示す各実施形態において、先行する実施形態で説明した内容に対応する部分には同一の参照符号を付し、重複する説明を省略することがある。
【0012】
(第1実施形態)
第1実施形態について図1から図7を参照して説明する。ソフトウェア更新システム1は、車両に搭載されている車両側システム2と、OTA(Over The Air)センターとして機能するサーバ3(配信装置に相当する)とが通信ネットワーク4を介してデータ通信可能に構成されている。車両側システム2は、OTAマスタとして機能する車載更新装置5と、多数のECU6とが車載ネットワーク7を介してデータ通信可能に構成されている。本実施形態では、4つのECUが車載ネットワーク7と接続されている構成を例示しているが、車載ネットワーク7と接続されるECUの個数は任意である。車載ネットワーク7は、例えばCAN(Controller Area Network)(登録商標)である。車載ネットワーク7は、FLEXRAY(登録商標)、CXPI(Clock Extension Peripheral Interface)(登録商標)、Ethernet(登録商標)等であっても良い。本実施形態では、1つの車載ネットワーク7に全てのECU6が接続されている構成を例示しているが、車載ネットワーク7の個数は任意である。即ち、車載ネットワーク7とECU6からなる構成は多くのバリエーションが存在する。
【0013】
ECU6は、例えば駆動系の制御を行う装置、ADAS(Advanced Driving Assistant System)系の制御を行う装置、マルチメディア系の制御を行う装置等であり、ソフトウェアの改修や機能向上等によりソフトウェアの更新対象である更新対象ECU6となり得る。尚、ソフトウェアとは、コンピュータに動作を行わせるための処理手順を命令する所謂プログラムに加え、プログラムを実行する上で参照されるファイル、データ、ライブラリ等を含む。
【0014】
ECU6の種別として、ソフトウェアの記憶領域の構成により、ソフトウェアの記憶領域を2面で持つ2面メモリを搭載する2面ECUと、ソフトウェアの記憶領域を1面でしか持たない1面メモリを搭載する1面ECUとがある。2面メモリはデュアルバンクメモリと称される場合があり、1面メモリはシングルバンクメモリと称される場合がある。尚、ECUに搭載されるメモリは1面メモリであるが、外付けメモリをソフトウェアの記憶領域として使用する構成は、2面ECUと同等として扱うことができる。この場合、外付けメモリは、ECUに内蔵されていても良いし、外部に配置されていても良い。
【0015】
2面ECUは、記憶領域である2つの面をそれぞれ稼働面と非稼働面として切り替え可能であり、新旧2つのバージョンのソフトウェアを格納することができる。2面ECUは、走行可能状態で稼働面に格納されているソフトウェアを実行中に非稼働面に新バージョンのソフトウェアを書き込むことで、更新ソフトウェアのインストールを行うことができる。一方、1面ECUは、稼働面と非稼働面とを切り替える概念がなく、新旧2つのバージョンのソフトウェアを格納することができない。1面ECUは、駐車状態でソフトウェアを書き込む必要があり、駐車状態でソフトウェアを書き込むことで、更新ソフトウェアのインストールを行うことができる。例えば車両がエンジン自動車であれば、走行可能状態とはイグニッションがオンの状態であり、駐車状態とはイグニッションがオフの状態である。例えば車両が電気自動車であれば、走行可能状態とはEV(Electric Vehicle)システムがオンの状態であり、駐車状態とはEVシステムがオフの状態である。
【0016】
車載更新装置5は、サーバ3と通信ネットワーク4を介して無線接続することで当該サーバ3から配信された更新パッケージを受信可能となる。サーバ3から配信される更新パッケージには、更新対象ECU6を特定可能な諸元データと、更新ソフトウェアとが含まれる。車載更新装置5は、サーバ3から配信された更新パッケージを取得すると、その取得した更新パッケージから諸元データ及び更新ソフトウェアを抽出し、その抽出した諸元データから更新対象ECU6を特定し、その抽出した更新ソフトウェアを更新対象ECU6へ送信すると共に更新指示を更新対象ECU6へ送信し、更新対象ECU6にソフトウェアの更新を実施させる。即ち、更新対象ECU6は、車載更新装置5から更新ソフトウェアを受信すると共に更新指示を受信し、更新ソフトウェアを記憶領域へ書き込むことでソフトウェアの更新を実施する。サーバ3から通信ネットワーク4を介して取得された更新ソフトウェアが更新対象ECU6に書き込まれる態様は所謂無線リプロと称される。尚、本実施形態では、サーバ3と通信ネットワーク4を介して無線接続する機能が車載更新装置5に含まれている構成を例示しているが、車載更新装置5とは別体で、サーバ3と通信ネットワーク4を介して無線接続するデータ通信機として機能するDCM(Data Communication Module)が設けられる構成でも良い。
【0017】
諸元データは、更新対象ECU6を特定可能なデータとして例えば更新対象ECU6の識別情報(ID)を含む。更に、諸元データは、更新データ関連情報、ハードウェア属性情報及びソフトウェア属性情報のうち少なくとも1つを含んでも良い。更新データ関連情報は、例えば更新プログラムバージョン、更新プログラムサイズロールバックプログラムバージョン、ロールバックプログラムサイズ、書き込みデータ種別等である。ハードウェア属性情報は、例えば電源制御情報等である。ソフトウェア属性情報は、例えばセキュリティアクセス鍵情報、書き換え方法、転送サイズ等である。
【0018】
又、車載ネットワーク7にはリプログツール8が着脱可能に接続される。リプログツール8は、車載ネットワーク7と接続されている状態で更新ソフトウェアを更新対象ECU6へ配信すると共に更新指示を更新対象ECU6へ送信し、更新対象ECU6にソフトウェアの更新を実施させる。即ち、更新対象ECU6は、リプログツール8から更新ソフトウェアを受信すると共に更新指示を受信し、更新ソフトウェアを記憶領域へ書き込むことでソフトウェアの更新を実施する。リプログツール8から通信ネットワーク4を介さずに取得された更新ソフトウェアが更新対象ECU6に書き込まれる態様は所謂有線リプロと称される。本実施形態では、リプログツール8が車載ネットワーク7と直接接続される構成を例示しているが、リプログツール8が車載更新装置5を介して車載ネットワーク7と接続される構成でも良い。
【0019】
車載更新装置5は、制御部9と、データ通信部10と、CAN通信部11とを備える。制御部9は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)及びI/O(Input/Output)等を有するマイコンを主体として構成されている。制御部9は、非遷移的実体的記憶媒体に格納されている制御プログラムを実行することで当該制御プログラムに対応する処理を実行し、車載更新装置5の動作全般を制御する。データ通信部10は、通信ネットワーク4との間でのデータ信号の送受信を制御する。CAN通信部11は、車載ネットワーク7との間でのCAN信号の入出力を制御する。
【0020】
ECU6は、制御部12と、CAN通信部13とを備える。制御部12は、CPU、ROM、RAM及びI/O等を有するマイコンを主体として構成されている。制御部12は、非遷移的実体的記憶媒体に格納されている制御プログラムを実行することで当該制御プログラムに対応する処理を実行し、ECU6の動作全般を制御する。CAN通信部13は、車載ネットワーク7との間でのCAN信号の入出力を制御する。
【0021】
制御部9は、更新パッケージ取得部9aと、要求メッセージ送信部9bと、応答メッセージ取得部9cと、メモリ構成特定部9dと、更新指示部9eとを備える。これらの各部9a~9eは、ソフトウェアの更新方法を実現すると共に、ソフトウェアの更新プログラムを実行する。
【0022】
更新パッケージ取得部9aは、サーバ3から配信された更新パッケージがデータ通信部10により受信されることで更新パッケージを取得する。サーバ3から配信される更新パッケージには、更新対象ECU6を特定可能な諸元データと、更新ソフトウェアとが含まれる。更新パッケージ取得部9aは、サーバ3から配信された更新パッケージを取得すると、その取得した更新パッケージから諸元データ及び更新ソフトウェアを抽出する。
【0023】
要求メッセージ送信部9bは、更新パッケージから諸元データ及び更新ソフトウェアが更新パッケージ取得部9aにより抽出されると、その抽出された諸元データを解析することで更新対象ECU6を特定する。要求メッセージ送信部9bは、更新対象ECU6を特定すると、ダイアグ通信の要求メッセージをCAN通信部11から更新対象ECU6へ送信させる。要求メッセージ送信部9bは、更新対象ECU6が複数であれば、ダイアグ通信の要求メッセージを複数の更新対象ECU6へ個別送信させる場合と、ダイアグ通信の要求メッセージを複数の更新対象ECU6へブロードキャスト送信させる場合とがある。メッセージ送信部9bが更新対象ECU6へ送信させるダイアグ通信の要求メッセージは、例えばUDS(Unified Diagnostic Services)(ISO14229-1)で規定されている診断通信プロトコルのSID$10のメッセージである。SID$10は、ダイアグセッションコントロールのリクエストメッセージに相当する。
【0024】
ここで、ダイアグセッションコントロールについて説明する。車載更新装置5から送信されるリクエストメッセージは、例えばダイアグセッションコントロールSIDと、セッションタイプを含む。具体的には、ダイアグセッションコントロールSIDは$10であり、セッションタイプは遷移させたいセッション番号となる。
【0025】
更新対象ECU6は、上記したリクエストメッセージを受信すると、レスポンスメッセージを送信する。肯定応答の場合のレスポンスメッセージは、例えばダイアグセッションコントロールレスポンスSID、セッションタイプを含む。具体的には、ダイアグセッションコントロールレスポンスSIDは$50である。一方、否定応答の場合のレスポンスメッセージは、例えばネガティブレスポンスSID、リクエストSID、応答コードを含む。具体的には、ネガティブレスポンスSIDは$7Fであり、リクエストSIDは$10である。そして、更新対象ECU6において、サポートされていないセッションへの遷移リクエストの場合の応答コードは$12である。更新対象ECU6にセキュリティロックがかかっており、セッション遷移することができない場合であり、セキュリティアクセス否定の場合の応答コードは$33である。
【0026】
ISO14229-1はダイアグ通信のセッションを定義し、ECU6毎に独自のセッションを定義可能としている。図2に示すように、有線リプロ時に使用するプログラミングセッションからデフォルトセッションへのセッション移行ではECUリセットを伴い、一方、無線リプロ時に使用するOTAプログラミングセッションからデフォルトセッションへのセッション移行ではECUリセットを伴わない。即ち、有線リプロと無線リプロとでは異なるセッションを使用する。この場合、1面ECUのソフトウェアの更新はブートローダを介して実施することからECUリセットを伴うので、プログラミングセッションからデフォルトセッションへのセッション移行となる。一方、2面ECUのソフトウェアの更新はECUリセットを伴わないので、OTAプログラミングセッションからデフォルトセッションへのセッション移行となる。
【0027】
更新対象ECU6は、車載更新装置5からSID$10のメッセージを受信すると、無線リプロ時に使用するOTAプログラミングセッションをサポートしている場合には、OTAプログラミングセッションへの遷移要求に対して肯定応答の応答メッセージを車載更新装置5へ送信する。具体的には、更新対象ECU6は、肯定応答の応答メッセージとしてSID$50のメッセージを車載更新装置5へ送信する。
【0028】
或いは、更新対象ECU6は、車載更新装置5からSID$10のメッセージを受信した際に、更新対象ECU6にセキュリティロックがかかっていると、アクセス拒否される。この場合、更新対象ECU6は、セキュリティ未解除であることを示す応答コードを伴う否定応答を車載更新装置5へ送信する。セキュリティ未解除であることを示す応答コードを伴う否定応答は、応答コード$33を伴うSID$7Fである。具体的には、更新対象ECU6は、応答コード$33を伴うSID$7Fのメッセージを車載更新装置5へ送信する。セキュリティ未解除であることを示す応答コードを伴う否定応答は、2面ECUであることに対応することから、以降の説明では、肯定応答は、遷移要求に対する肯定応答の応答メッセージと、セキュリティ未解除であることを示す応答コードを伴う否定応答の応答メッセージを含む。図面の説明についても同様である。
【0029】
一方、更新対象ECU6は、無線リプロ時に使用するOTAプログラミングセッションをサポートしていない場合には、OTAプログラミングセッションへの遷移要求に対して否定応答の応答メッセージを車載更新装置5へ送信する、又は応答メッセージを車載更新装置5へ送信しない。具体的には、更新対象ECU6は、SID$10のメッセージが個別送信されたメッセージであれば、サポートされていない要求であるとする否定応答の応答メッセージを車載更新装置5へ送信する。更新対象ECU6は、SID$10のメッセージがブロードキャスト送信されたメッセージであれば、応答メッセージを車載更新装置5へ送信しない。サポートされていない要求であることを示す応答コードを伴う否定応答の応答メッセージは、応答コード$12を伴うSID$7Fである。具体的には、更新対象ECU6は、応答コード$12を伴うSID$7Fのメッセージを車載更新装置5へ送信する。
【0030】
応答メッセージ取得部9cは、更新対象ECU6から送信された応答メッセージがCAN通信部11により受信されることで応答メッセージを取得する。
【0031】
メモリ構成特定部9dは、応答メッセージの取得状況に基づいて更新対象ECU6のメモリ構成を特定する。メモリ構成特定部9dは、要求メッセージが送信されてから所定時間が経過する前に更新対象ECU6から肯定応答の応答メッセージがCAN通信部11により受信されたことで肯定応答の応答メッセージを取得したと判定すると、更新対象ECU6のメモリ構成が2面構成であり、更新対象ECU6が2面ECUであると特定する。
【0032】
一方、メモリ構成特定部9dは、要求メッセージが送信されてから所定時間が経過する前に更新対象ECU6から否定応答(サポートされていない要求であることを示す応答コードを伴う否定応答)の応答メッセージがCAN通信部11により受信されたことで否定応答の応答メッセージを取得したと判定すると、又は要求メッセージが送信されてから更新対象ECU6から応答メッセージを取得せずに所定時間が経過したと判定すると、更新対象ECU6のメモリ構成が1面構成であり、更新対象ECU6が1面ECUであると特定する。
【0033】
このようにメモリ構成特定部9dは、UDSで規定されている診断通信プロトコルのSID$10の既存の要求メッセージを利用し、その要求メッセージに対して更新対象ECU6から送信される応答メッセージの取得状況に基づいて更新対象ECU6のメモリ構成を特定する。即ち、メモリ構成特定部9dは、メモリ構成を直接的に問い合わせるメッセージの送受信を規定することなく、既存のメッセージの送受信を利用して更新対象ECU6のメモリ構成を特定する。
【0034】
更新指示部9eは、更新対象ECU6のメモリ構成がメモリ構成特定部9dにより特定されると、その特定結果にしたがってソフトウェアの更新を更新対象ECU6に指示する。即ち、ソフトウェアの更新のフェーズとして、更新ソフトウェアをサーバ3から受信するダウンロードのフェーズ、ダウンロードした更新ソフトウェアを更新対象ECU6の記憶領域に書き込むインストールのフェーズ、インストールした更新ソフトウェアを有効化するアクティベートのフェーズにおいて、更新指示部9eは、インストールを指示するタイミングと、アクティベートを指示するタイミングとを、それぞれメモリ構成の特定結果にしたがって設定する。
【0035】
次に、上記した構成の作用について図3から図7を参照して説明する。ここでは、車載更新装置5が行うソフトウェア更新指示処理、更新対象ECU6が行う要求メッセージ取得処理について順次説明する。尚、例えば車両がエンジン自動車である場合について説明する。
【0036】
(1)車載更新装置5が行うソフトウェア更新指示処理(図3参照)
車載更新装置5において、制御部9は、ソフトウェア更新指示処理を開始し、サーバ3から配信された更新パッケージがデータ通信部10により受信されたことで更新パッケージを取得すると(A1、更新パッケージ取得手順に相当する)、その取得した更新パッケージから諸元データ及び更新ソフトウェアを抽出し、その抽出した諸元データから更新対象ECU6を特定する(A2)。
【0037】
制御部9は、要求メッセージとしてSID$10のメッセージをCAN通信部11から更新対象ECU6へ送信させ(A3、要求メッセージ送信手順に相当する)、更新対象ECU6からの応答メッセージの受信を待機すると共に(A4)、SID$10のメッセージを送信させてからの経過時間を監視する(A5)。
【0038】
制御部9は、SID$10のメッセージを送信させてから所定時間が経過する前に更新対象ECU6から送信された応答メッセージがCAN通信部11により受信されたことで応答メッセージを取得したと判定すると(A4:YES、応答メッセージ取得手順に相当する)、その取得した応答メッセージが肯定応答又は否定応答の何れであるかを判定する(A6)。この場合の否定応答は、サポートされていない要求であることを示す応答コードを伴う否定応答である。
【0039】
制御部9は、SID$50のメッセージを取得し、肯定応答の応答メッセージであると判定すると(A6:YES)、更新対象ECU6のメモリ構成が2面構成であり、更新対象ECU6が2面ECUであると特定する(A7、メモリ構成特定手順に相当する)。制御部9は、更新対象ECU6が2面ECUであると特定すると、更新ソフトウェアのインストールを更新対象ECU6に指示し(A8、更新指示手順に相当する)、イグニッションのオンからオフへの切り替えを待機する(A11)。尚、制御部9は、応答コード$33を伴うSID$7FのメッセージSを取得した場合も、更新対象ECU6のメモリ構成が2面構成であり、更新対象ECU6が2面ECUであると特定する。
【0040】
一方、制御部9は、応答コード$12を伴うSID$7Fのメッセージを取得し、サポートされていない要求であることを示す応答コードを伴う否定応答の応答メッセージであると判定すると(A6:NO)、更新対象ECU6のメモリ構成が1面構成であり、更新対象ECU6が1面ECUであると特定する(A9、メモリ構成特定手順に相当する)。制御部9は、更新対象ECU6が1面ECUであると特定すると、更新ソフトウェアのインストールを更新対象ECU6に指示せず、例えばインストールの待機中を示す通知信号をHMI(Human Machine Interface)へ送信し、インストールの待機中をHMIから運転者へ通知し(A10)、イグニッションのオンからオフへの切り替えを待機する(A11)。HMIは例えばCID(Center Information Display)やメータパネルのインジケータ等であり、制御部9は、CIDにメッセージを表示させたりメータパネルのインジケータを点灯させたりすることで、インストールの待機中をHMIから運転者へ通知する。
【0041】
又、制御部9は、更新対象ECU6から何れの応答メッセージもCAN通信部11により受信されず、何れの応答メッセージも取得せずにSID$10のメッセージを送信させてから所定時間が経過したと判定すると(A5:YES)、この場合も、更新対象ECU6のメモリ構成が1面構成であり、更新対象ECU6が1面ECUであると特定し(A9)、インストールの待機中をHMIから運転者へ通知し(A10)、イグニッションのオンからオフへの切り替えを待機する(A11)。
【0042】
制御部9は、イグニッションのオンからオフへの切り替えを判定すると(A11:YES)、インストール待機中の更新対象ECU6が存在するか否かを判定する(A2)。制御部9は、インストール待機中の更新対象ECU6が存在しないと判定すると(A12:NO)、更新ソフトウェアのアクティベートをアクティベート待機中の更新対象ECU6に指示し(A14、更新指示手順に相当する)、ソフトウェア更新指示処理を終了する。
【0043】
一方、制御部9は、インストール待機中の更新対象ECU6が存在すると判定すると(A12:YES)、更新ソフトウェアのインストールを当該インストール待機中の更新対象ECU6に指示し(A13、更新指示手順に相当する)、更新ソフトウェアのアクティベートをアクティベート待機中の更新対象ECU6に指示し(A14、更新指示手順に相当する)、ソフトウェア更新指示処理を終了する。
【0044】
(2)更新対象ECU6が行う要求メッセージ取得処理
更新対象ECU6が行う要求メッセージ取得処理として、更新対象ECU6が2面ECUの場合、更新対象ECU6が1面ECUの場合について順次説明する。
【0045】
(2-1)2面ECUが行う要求メッセージ取得処理(図4参照)
2面ECUにおいて、制御部12は、要求メッセージ取得処理を開始し、車載更新装置5から送信されたSID$10のメッセージがCAN通信部13により受信されたことで要求メッセージとしてSID$10のメッセージを取得すると(B1)、肯定応答の応答メッセージとしてSID$50のメッセージをCAN通信部13から車載更新装置5へ送信させ(B2)、車載更新装置5からのインストールの指示を待機する(B3)。
【0046】
制御部12は、車載更新装置5からのインストールの指示を判定すると(B3:YES)、更新ソフトウェアのインストールを実施し(B4)、インストールを正常終了すると、イグニッションのオンからオフへの切り替えを待機する(B5)。制御部12は、イグニッションのオンからオフへの切り替えを判定すると(B5:YES)、車載更新装置5からのアクティベートの指示を待機する(B6)。制御部12は、車載更新装置5からのアクティベートの指示を判定すると(B6:YES)、更新ソフトウェアのアクティベートを実施し(B7)、アクティベートを正常終了すると、要求メッセージ取得処理を終了する。
【0047】
(2-2)1面ECUが行う要求メッセージ取得処理(図5参照)
1面ECUにおいて、制御部12は、要求メッセージ取得処理を開始し、車載更新装置5から送信されたSID$10のメッセージがCAN通信部13により受信されたことで要求メッセージとしてSID$10のメッセージを取得すると(B11)、SID$10のメッセージが個別送信されたメッセージ又はブロードキャスト送信されたメッセージの何れであるかを判定する(B12,B13)。
【0048】
制御部12は、SID$10のメッセージが個別送信されたメッセージであると判定すると(B12:YES)、サポートされていない要求であることを示す応答コードを伴う否定応答の応答メッセージとして応答コード$12を伴うSID$7FのメッセージをCAN通信部13から車載更新装置5へ送信させ(B14)、イグニッションのオンからオフへの切り替えを待機する(B15)。一方、制御部12は、SID$10のメッセージがブロードキャスト送信されたメッセージであると判定すると(B13:YES)、サポートされていない要求であることを示す応答コードを伴う否定応答の応答メッセージとして応答コード$12を伴うSID$7FのメッセージをCAN通信部13から車載更新装置5へ送信させず、イグニッションのオンからオフへの切り替えを待機する(B15)。
【0049】
制御部12は、イグニッションのオンからオフへの切り替えを判定すると(B15:YES)、車載更新装置5からのインストールの指示を待機する(B16)。制御部12は、車載更新装置5からのインストールの指示を判定すると(B16:YES)、更新ソフトウェアのインストールを実施し(B17)、インストールを正常終了すると、車載更新装置5からのアクティベートの指示を待機する(B18)。制御部12は、車載更新装置5からのアクティベートの指示を判定すると(B18:YES)、更新ソフトウェアのアクティベートを実施し(B19)、アクティベートを正常終了すると、要求メッセージ取得処理を終了する。
【0050】
即ち、図6に示すように、車載更新装置5は、SID$10のメッセージを個別送信した場合には、SID$50のメッセージの送信元の更新対象ECU6を2面ECUとして特定する。車載更新装置5は、図示しないが、応答コード$33を伴うSID$7Fのメッセージの送信元の更新対象ECU6を2面ECUとして特定する。車載更新装置5は、応答コード$12を伴うSID$7Fのメッセージの送信元の更新対象ECU6を1面ECUとして特定する。車載更新装置5は、イグニッションのオン中に2面ECUに対してインストールを指示し、イグニッションのオンからオフへの切り替え後に1面ECUに対してインストールを指示し、2面ECU及び1面ECUの両方に対してアクティベートを指示する。
【0051】
又、図7に示すように、車載更新装置5は、SID$10のメッセージをブロードキャスト送信した場合には、SID$50のメッセージの送信先の更新対象ECU6を2面ECUとして特定する。車載更新装置5は、図示しないが、応答コード$33を伴うSID$7Fのメッセージの送信元の更新対象ECU6を2面ECUとして特定する。車載更新装置5は、SID$10のメッセージの送信先であるが応答メッセージを送信しない更新対象ECU6を1面ECUとして特定する。この場合も、車載更新装置5は、イグニッションのオン中に2面ECUに対してインストールを指示し、イグニッションのオンからオフへの切り替え後に1面ECUに対してインストールを指示し、2面ECU及び1面ECUの両方に対してアクティベートを指示する。
【0052】
尚、上記した構成において、ソフトウェアの更新をストリーミング方式又はストレージ方式の何れで実施しても良い。ストリーミング方式では、車載更新装置5は、サーバ3からの更新パッケージのダウンロード中にインストールを更新対象ECU6へ指示することで、サーバ3からの更新パッケージのダウンロードを実行しながら更新対象ECU6への更新ソフトウェアの送信を実行する。ストレージ方式では、車載更新装置5は、サーバ3からの更新パッケージのダウンロードを終了後にインストールを更新対象ECU6へ指示することで、サーバ3からの更新パッケージのダウンロードの実行を終了後に更新対象ECU6への更新ソフトウェアの送信を実行する。
【0053】
又、以上は、車両走行可能状態から駐車状態への移行として、エンジンを搭載するエンジン車においてイグニッションのオンからオフへの切り替えを判定する構成を例示したが、電気自動車の場合であればEVシステムのオンからオフへの切り替えを判定しても良い。
【0054】
以上に説明したように第1実施形態によれば、以下に示す作用効果を得ることができる。車載更新装置5において、ダイアグ通信の要求メッセージとしてUDSで規定されている診断通信プロトコルのSID$10のメッセージを更新対象ECU6へ送信し、要求メッセージに対する応答メッセージを更新対象ECU6から取得し、応答メッセージの取得状況に基づいて更新対象ECU6のメモリ構成を特定し、その特定結果にしたがってソフトウェアの更新を更新対象ECU6に指示するようにした。
【0055】
ダイアグ通信を利用して更新対象ECU6のメモリ構成を特定することで、サーバ3から車載更新装置5へ配信される更新パッケージに更新対象ECU6の情報を含める必要をなくすことができる。又、更新対象ECUメモリ構成を逐一特定することで、実際のメモリ構成を特定することができる。これにより、車載更新装置5における記憶領域や通信負荷の増大を回避すると共に、例えば交換等によるメモリ構成の不整合を回避しつつ、メモリ構成が異なる様々な更新対象ECU6に対してソフトウェアの更新を適切に実施することができる。
【0056】
応答メッセージとしてSID$50のメッセージ、又は応答コード$33を伴うSID$7Fのメッセージを取得すると、更新対象ECU6のメモリ構成が2面構成であることを特定するようにした。SID$50のメッセージ、又は応答コード$33を伴うSID$7Fのメッセージにより更新対象ECU6が2面ECUであることを特定することができる。
【0057】
応答メッセージとして応答コード$12を伴うSID$7Fのメッセージを取得すると、更新対象ECU6のメモリ構成が1面構成であることを特定するようにした。SID$7Fのメッセージにより更新対象ECU6が1面ECUであることを特定することができる。
【0058】
ダイアグ通信の要求メッセージが送信されてから応答メッセージが取得されずに所定時間が経過すると、更新対象ECU6のメモリ構成が1面構成であることを特定するようにした。更新対象ECU6が応答メッセージを送信しない場合でも当該更新対象ECU6が1面ECUであることを特定することができる。
【0059】
サーバ3から諸元データを含む更新パッケージを取得すると、ダイアグ通信の要求メッセージを更新対象ECU6へ送信するようにした。更新パッケージを取得することを契機として更新対象ECU6を特定し、ダイアグ通信の要求メッセージを更新対象ECU6へ送信することができる。
【0060】
(第2実施形態)
第2実施形態について図8から図10を参照して説明する。第1実施形態は、サーバ3から配信される更新パッケージに諸元データと更新ソフトウェアとが含まれる構成であるが、第2実施形態は、更新ソフトウェアを含む更新パッケージとは別に諸元データが配信される構成である。
【0061】
ソフトウェア更新システム21において、車載更新装置22の制御部23は、諸元データ取得部23aと、更新パッケージ取得部23bと、要求メッセージ送信部23cと、応答メッセージ取得部23dと、メモリ構成特定部23eと、更新指示部23fとを備える。諸元データ取得部23aは、サーバ3から配信された諸元データがデータ通信部10により受信されることで諸元データを取得する。更新パッケージ取得部23b、要求メッセージ送信部23c、応答メッセージ取得部23d、メモリ構成特定部23e及び更新指示部23fは、それぞれ第1実施形態で説明した更新パッケージ取得部9a、要求メッセージ送信部9b、応答メッセージ取得部9c、メモリ構成特定部9d及び更新指示部9eと同様の処理を行う。
【0062】
この場合、図9から図10に示すように、車載更新装置22は、サーバ3から更新パッケージを受信することに先立って諸元データを受信し、その受信した諸元データから更新対象ECU6を特定することで、サーバ3から更新パッケージを受信する前に、SID$10のメッセージを更新対象ECU6へ送信可能となる。
【0063】
以上に説明したように第2実施形態によれば、以下に示す作用効果を得ることができる。車載更新装置22において、ダイアグ通信の要求メッセージとしてUDSで規定されている診断通信プロトコルのSID$10のメッセージを更新対象ECU6へ送信し、要求メッセージに対する応答メッセージを更新対象ECU6から取得し、応答メッセージの取得状況に基づいて更新対象ECU6のメモリ構成を特定し、その特定結果にしたがってソフトウェアの更新を更新対象ECU6に指示するようにした。第1実施形態と同様に、車載更新装置22における記憶領域や通信負荷の増大を回避すると共に、例えば交換等によるメモリ構成の不整合を回避しつつ、メモリ構成が異なる様々な更新対象ECU6に対してソフトウェアの更新を適切に実施することができる。
【0064】
サーバ3から諸元データを取得すると、ダイアグ通信の要求メッセージを更新対象ECU6へ送信するようにした。サーバ3から更新パッケージを取得する以前でも、サーバ3から諸元データを取得することを契機として更新対象ECU6を特定し、ダイアグ通信の要求メッセージを更新対象ECU6へ送信することができる。
【0065】
(その他の実施形態)
本開示は、実施例に準拠して記述されたが、当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、更には、それらに一要素のみ、それ以上、或いはそれ以下を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【0066】
本開示に記載の制御部及びその手法は、コンピュータソフトウェアに具体化された一つ乃至は複数の機能を実行するようにソフトウェアされたプロセッサ及びメモリを構成することにより提供された専用コンピュータにより実現されても良い。或いは、本開示に記載の制御部及びその手法は、一つ以上の専用ハードウェア論理回路によりプロセッサを構成することにより提供された専用コンピュータにより実現されても良い。若しくは、本開示に記載の制御部及びその手法は、一つ乃至は複数の機能を実行するようにソフトウェアされたプロセッサ及びメモリと一つ以上のハードウェア論理回路により構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより実現されても良い。又、コンピュータソフトウェアは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていても良い。
【0067】
本開示は、特許請求の範囲の記載に加え、以下の発明も含む。
[1]
配信装置から更新ソフトウェアを含む更新パッケージを取得し、前記更新ソフトウェアを更新対象の電子制御装置へ送信して前記更新対象の電子制御装置のソフトウェアを更新する車載更新装置(5,22)であって、
前記配信装置から前記更新パッケージを取得する更新パッケージ取得部(9a,23b)と、
ダイアグ通信の要求メッセージを前記更新対象の電子制御装置へ送信させる要求メッセージ送信部(9b,23c)と、
前記要求メッセージに対する応答メッセージを前記更新対象の電子制御装置から取得する応答メッセージ取得部(9c,23d)と、
前記応答メッセージの取得状況に基づいて前記更新対象の電子制御装置のメモリ構成を特定するメモリ構成特定部(9d,23e)と、
前記メモリ構成特定部の特定結果にしたがってソフトウェアの更新を前記更新対象の電子制御装置に指示する更新指示部(9e,23f)と、を備える車載更新装置。
【0068】
[2]
前記要求メッセージ送信部は、前記要求メッセージとしてUDSで規定されている診断通信プロトコルのSID$10のメッセージを前記更新対象の電子制御装置へ送信させる[1]に記載した車載更新装置。
【0069】
[3]
前記メモリ構成特定部は、前記応答メッセージとしてUDSで規定されている診断通信プロトコルのSID$50のメッセージ、又は応答コード$33を伴うSID$7Fのメッセージが前記応答メッセージ取得部により取得された場合に、前記更新対象の電子制御装置のメモリ構成が2面構成であることを特定する[2]に記載した車載更新装置。
【0070】
[4]
前記メモリ構成特定部は、前記応答メッセージとしてUDSで規定されている診断通信プロトコルの応答コード$12を伴うSID$7Fのメッセージが前記応答メッセージ取得部により取得された場合に、前記更新対象の電子制御装置のメモリ構成が1面構成であることを特定する[2]又は[3]に記載した車載更新装置。
【0071】
[5]
前記メモリ構成特定部は、前記要求メッセージが送信されてから前記応答メッセージが取得されずに所定時間が経過した場合に、前記更新対象の電子制御装置のメモリ構成が1面構成であることを特定する[2]から[4]の何れか一項に記載した車載更新装置。
【0072】
[6]
前記要求メッセージ送信部は、複数の前記更新対象の電子制御装置に対して宛先を個別に指定し、前記要求メッセージを複数の前記更新対象の電子制御装置へ個別送信させる[1]から[5]の何れか一項に記載した車載更新装置。
【0073】
[7]
前記要求メッセージ送信部は、複数の前記更新対象の電子制御装置に対して宛先を個別に指定せず、前記要求メッセージを複数の前記更新対象の電子制御装置へブロードキャスト送信させる[1]から[5]の何れか一項に記載した車載更新装置。
【0074】
[8]
前記更新パッケージ取得部は、前記更新対象の電子制御装置を特定可能な諸元データを含む前記更新パッケージを取得し、
前記要求メッセージ送信部は、前記諸元データを含む前記更新パッケージが前記更新パッケージ取得部により取得された場合に、前記ダイアグ通信の要求メッセージを前記更新対象の電子制御装置へ送信させる[1]から[7]の何れか一項に記載した車載更新装置。
【0075】
[9]
前記更新対象の電子制御装置を特定可能な諸元データを取得する諸元データ取得部(23a)と、
前記更新パッケージ取得部は、前記諸元データを含まない前記更新パッケージを取得し、
前記要求メッセージ送信部は、前記諸元データが前記諸元データ取得部により取得された場合に、前記ダイアグ通信の要求メッセージを前記更新対象の電子制御装置へ送信させる[1]から[7]の何れか一項に記載した車載更新装置。
【0076】
[10]
前記要求メッセージ送信部は、前記諸元データを解析することで前記更新対象の電子制御装置を特定する[8]又は[9]に記載した車載更新装置。
【符号の説明】
【0077】
図面中、1,21はソフトウェア更新システム、3はサーバ(配信装置)、5、22は車載更新装置、9,23は制御部、9a,23bは更新パッケージ取得部、9b,23cは要求メッセージ送信部、9c,23dは応答メッセージ取得部、9d,23eはメモリ構成特定部、9e,23fは更新指示部、23aは諸元データ取得部である。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10