JP7723554B2 - 車両用電子制御装置のプログラム書き換えシステム及びプログラム書き換え方法 - Google Patents

車両用電子制御装置のプログラム書き換えシステム及びプログラム書き換え方法

Info

Publication number
JP7723554B2
JP7723554B2 JP2021154157A JP2021154157A JP7723554B2 JP 7723554 B2 JP7723554 B2 JP 7723554B2 JP 2021154157 A JP2021154157 A JP 2021154157A JP 2021154157 A JP2021154157 A JP 2021154157A JP 7723554 B2 JP7723554 B2 JP 7723554B2
Authority
JP
Japan
Prior art keywords
rewrite
program
vehicle electronic
electronic control
ecu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021154157A
Other languages
English (en)
Other versions
JP2023045626A (ja
Inventor
一司 小内
一貴 樋口
俊史 三宅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Astemo Ltd
Original Assignee
Astemo Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Astemo Ltd filed Critical Astemo Ltd
Priority to JP2021154157A priority Critical patent/JP7723554B2/ja
Publication of JP2023045626A publication Critical patent/JP2023045626A/ja
Application granted granted Critical
Publication of JP7723554B2 publication Critical patent/JP7723554B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、車両用電子制御装置のプログラム書き換えシステム及びプログラム書き換え方法に関する。
自動車などの車両に搭載された電子制御装置(ECU:Electric Control Unit)で動作する制御プログラムに対し、ECUの機能変更や不具合改修などを目的として、新しいバージョンの制御プログラムへの書き換え(リプログラミング)が行われることがある。このようなECUの制御プログラムの書き換えに関連する技術の一例として、プログラム更新を行おうとしているユーザの情報である第1のユーザ情報と、プログラム更新の管理者として予め登録されているユーザの情報である第2のユーザ情報とを照合することによって車両のユーザが管理者であるか否かを判定し、判定の結果に基づいて制御プログラムの更新に関する処理を制御することにより、プログラム更新が管理者によって適切に行われるようにする技術が提案されている。
特開2020-27668号公報
ここで、例えば、車両の製造工程において、ECUの製造拠点から車両の製造拠点にECUを出荷した後、車両の製造拠点における車両への組付け前の段階になってから、ECUの制御プログラムの書き換えの必要性が生じることがある。この場合、出荷済みのECUを再度ECUの製造拠点において回収し、製造拠点において制御プログラムの書き換えを行い、確認作業を行った後に、再度出荷するという流れで作業が行われていた。しかし、このような流れであると制御プログラムの書き換えに時間を要することから、ECUの出荷先である車両の製造拠点において制御プログラムの書き換え作業を直接行うことが求められるようになった。このため、出荷先の製造拠点においても、高い正確性をもって確実に制御プログラムの書き換えを行うことができるようにする方法が必要とされていた。
そこで、本発明の1つの態様では、ECUの制御プログラムの書き換え作業の精度を向上させることを目的とする。
本発明の1つの態様では、車両用電子制御装置と、前記車両用電子制御装置で動作する制御プログラムに対する書き換えプログラム及びプログラム書き換えに関連する設定情報を含んだ記述ファイルを用いて、前記制御プログラムの書き換えに用いる情報を含んだ書き換えファイルを生成するファイル生成装置と、前記車両用電子制御装置と通信可能に接続され、前記書き換えファイルに基づいて前記制御プログラムの書き換え要求を前記車両用電子制御装置に対して送信するプログラム書き換え装置とを備えたプログラム書き換えシステムが、次のように構成される。すなわち、前記ファイル生成装置は、プログラムの書き換え対象とする車両用電子制御装置を示す対象情報を取得して、当該対象情報を含んだ前記書き換えファイルを生成するように構成される。前記プログラム書き換え装置は、前記書き換えファイルを取得し、当該書き換えファイルから前記対象情報を読み出して、当該対象情報を含んだ前記制御プログラムの書き換え要求を前記車両用電子制御装置に対して送信するように構成される。前記車両用電子制御装置は、前記書き換え要求を受信したときに、当該書き換え要求から前記対象情報を読み出すとともに当該車両用電子制御装置が備えるメモリに格納された当該車両用電子制御装置の識別情報を読み出して、前記識別情報と前記対象情報とを照合し、当該照合結果に基づいて前記制御プログラムの書き換えを実行するか否かを決定するように構成される。
本発明によれば、ECUの制御プログラムの書き換え作業の精度を向上させることが可能となる。
本発明の一実施形態におけるプログラム書き換えシステムの一例を示すブロック図である。 本発明の一実施形態におけるプログラム書き換えシステムの概要の一例を示すブロック図である。 本発明の一実施形態におけるファイル生成装置による書き換えファイル生成処理の一例を示すフローチャートである。 本発明の一実施形態におけるプログラム書き換え装置によるプログラム書き換え処理の一例を示すフローチャートである。 本発明の一実施形態におけるECUによるプログラム書き換え処理の一例を示すフローチャートである。 本発明の一実施形態におけるプログラム書き換えシステムのデータの一例を示す説明図である。 本発明の一実施形態におけるプログラム書き換えシステムのデータ及び処理の一例を示す説明図である。
以下、添付された図面を参照し、本発明を実施するための実施形態の具体例について詳述する。なお、図面の一部においては、構成要素の符号のみを付し、名称の記載を省略している。
図1は、自動車等の車両に搭載されるECUにおいて動作する制御プログラムの書き換えを行うシステムの一例を示す。
システム1は、ファイル生成装置10、プログラム書き換え装置20及びECU30を備える。
ファイル生成装置10は、プログラムの書き換え作業を行う作業者等が使用するコンピュータであり、ECU30の制御プログラムの書き換えを行うのに必要な情報を含んだ書き換えファイルを生成する機能を有する。ファイル生成装置10は、プロセッサ11、RAM12、ROM13及び入出力インタフェース14を含む。
プロセッサ11は、プログラムに記述された命令セット(データの転送、演算、加工、制御、管理など)を実行するハードウェアであって、演算装置、命令や情報を格納するレジスタ、周辺回路などから構成されている。プロセッサ11は、ROM13に格納されたプログラムをRAM12にロードして実行する。プロセッサ11は、プログラムを実行することによってその機能が実現する、書き換えファイル生成部111を備える。
書き換えファイル生成部111は、ROM13に格納された、書き換えプログラム131及び記述ファイル132を用いて、書き換えファイル501を生成する。このとき、書き換えファイル生成部111は、プログラムの書き換え対象とするECU30を示す情報(例えば、プログラムの書き換え対象とするECU30の属性、特性、機能や用途等を識別可能な情報)を取得する。そして、当該プログラムの書き換え対象とするECU30を示す対象情報601を含んだ書き換えファイル501を生成する。当該対象情報601は、例えば、作業者による入力によって指定された情報や、予め書き換えプログラム131に対応付けて設定された情報等によって取得することが可能である。
RAM12は、電源供給遮断によってデータが消失する揮発性メモリであり、プロセッサ11が動作中に使用する一時的な記憶領域を提供する。
ROM13は、電気的にデータを書き換え可能な不揮発性メモリであり、例えば、フラッシュROMやEEPROMを含む。ROM13は、ECU30の制御プログラム332に対する書き換えプログラム131と、プログラム書き換えに関連する設定情報(測定変数、バリアントの依存関係のデータオブジェクトに関する各種パラメータや通信用のパラメータ等)を含んだ記述ファイル132と、これらを用いて書き換えファイル生成部111により生成された書き換えファイル501(501-1)とが格納される領域を含む。この書き換えファイル501は、対象情報601(601-1)を含む。書き換えファイル501は、例えばPDXファイル等である。
入出力インタフェース14は、入出力装置(キーボード、マウス、タッチパネル及びディスプレイ等、図示省略)との情報の送受信を行い、ユーザ操作等による入力を受け付ける一方、コンピュータによる処理結果を出力する。また、入出力インタフェース14は、USBメモリや外付けストレージ等の外部メモリとの間のデータの書き込み及び読み出しを行う。
なお、図示を省略しているが、ファイル生成装置10は、さらに、外部ネットワークとの通信を実現する通信インタフェース等を備える。
プログラム書き換え装置20は、プログラムの書き換え作業を行う作業者等が使用するコンピュータであり、ECU30に直接アクセスしてECU30に制御プログラムの書き換え要求を送信する機能を有する。プログラム書き換え装置20は、プロセッサ21、RAM22、ROM23、通信インタフェース24及び入出力インタフェース25を含む。
プロセッサ21は、プログラムの書き換えツールとして動作するプログラムを実行することによってその機能が実現する、プログラム書き換え部211を備える。
プログラム書き換え部211は、ファイル生成装置10によって生成された書き換えファイル501を取得し、当該書き換えファイル501に含まれる対象情報601を含んだ制御プログラムの書き換え要求701を、ECU30に対して送信する。そして、ECU30から書き換えプログラムの転送要求を受信したときに、書き換えファイル501に含まれる書き換えプログラムをECU30に送信する。
RAM22は、プログラム書き換え部211が生成した、ECU30に対するプログラムの書き換え要求701(701-1)が格納される領域を含む。書き換え要求701は、対象情報601(601-3)を含む。
ROM23は、ファイル生成装置10によって生成された、対象情報601(601-2)を含んだ書き換えファイル501(501-2)が格納される領域を含む。なお、当該書き換えファイル501もRAM22にのみ書き込んで処理を実行するような構成にすることも可能である。
通信インタフェース24は、ECU30との間で通信が可能なプロトコルでデータの送受信を行う。本実施形態では、一例として、ECU30を車両への組付ける前の段階を想定しているため、プログラム書き換え装置20とECU30とが直接接続されてデータの送受信を行う。また、ファイル生成装置10との間で通信することも可能であり、通信によって書き換えファイル501を受信することも可能である。
入出力インタフェース25は、入出力装置との間で、ユーザ操作等による入力を受け付ける一方、コンピュータによる処理結果を出力するほか、USBメモリや外付けストレージ等の外部メモリとの間のデータの書き込み及び読み出しを行う。
ECU30は、車載機器(例えば、燃料噴射弁、点火プラグ、自動変速機、ブラシレスモータなど)を、制御プログラムを実行することによって電子制御するマイクロコンピュータを備える。ECU30のマイクロコンピュータは、プロセッサ31、RAM32、ROM33及び通信インタフェース34を含む。
プロセッサ31は、プログラムを実行することによってその機能が実現する、書き換え可否決定部311及びプログラム書き換え部312を備える。
書き換え可否決定部311は、ファイル生成装置10で生成された、プログラムの書き換え対象とするECU30を示す対象情報601を含んだ書き換え要求701を受信したときに、ROM33に予め書き込まれたECU30の識別情報331を読み出すとともに書き換え要求701から対象情報601を読み出して、識別情報331と対象情報601とを照合し、当該照合結果に基づいて、制御プログラム332の書き換えを実行するか否かを決定する。
プログラム書き換え部312は、書き換え可否決定部311において、制御プログラム332の書き換えを実行すると決定したときに、プログラム書き換え装置20から制御プログラム332に対する書き換えプログラムを受信し、受信した書き換えプログラムで制御プログラム332を書き換える。
RAM32は、電源供給遮断によってデータが消失する揮発性メモリであり、プロセッサ31が動作中に使用する一時的な記憶領域を提供する。RAM32には、プログラム書き換え装置20から受信した書き換え要求701(701-2)が格納される領域を含む。書き換え要求701は、対象情報601(601-4)を含む。
ROM33は、電気的にデータを書き換え可能な不揮発性メモリであり、例えば、フラッシュROMやEEPROMを含む。ROM33は、ECU30を識別する情報(例えば、ECU30の属性、特性、機能や用途等を識別可能な情報)である識別情報331と、制御対象とする車載機器を制御する制御プログラム332が格納された領域を含む。
通信インタフェース34は、例えばCANトランシーバ等で構成されており、プログラム書き換え装置20や車載ネットワークとの間で通信を行う。
なお、図示を省略しているが、ECU30は、さらに、制御対象とする車載機器の制御に関連する外部機器に接続され、外部機器に対するアナログ信号及びデジタル信号の入出力機能を提供する入出力インタフェース等を備える。
次に、本システム1におけるプログラム書き換え処理の概要について、図2を参照しながら説明する。これ以降の本実施形態の説明においては、システム1の運用環境として、ECU30が、開発段階において用いられる開発用の装置と、車両への組み付け段階の製品である量産用の装置との2種類存在することを想定する。通常、開発用のECUで動作する制御プログラムと、量産用のECUで動作する制御プログラムは異なっていることが多いため、開発用のECUを対象とする書き換えプログラムは開発用のECUに、量産用のECUを対象とする書き換えプログラムは量産用のECUに対して正確に書き込む必要がある。図2を用いた説明では、開発用のECUをECU30A、量産用のECUをECU30Bとする。なお、図2では、図1に示した構成要素の一部の図示を省略している。
まず、開発用のECUであるECU30Aに対するプログラムの書き換えについて説明する。ファイル生成装置10は、開発用のECUを対象とする書き換えプログラム131A及び記述ファイル132Aを用い、書き換えファイル501Aを生成する。このとき、ファイル生成装置10は、書き換えファイル501Aに、プログラムの書き換え対象が開発用のECUであることを示す対象情報601Aを含める(S11-S13)。
そして、プログラム書き換え装置20では、当該書き換えファイル501Aを、通信や各種の外付けメモリ等を介して取得する(S14)。そして、プログラム書き換え装置20では、当該書き換えファイル501Aに含まれる対象情報601Aを含んだプログラムの書き換え要求701Aを生成してECU30Aに送信し(S15)、ECU30Aで、当該書き換え要求701Aを受信する(S16)。なお、書き換えファイル501Aに含まれる対象情報601Aと、プログラムの書き換え要求701Aに含める対象情報601Aとは、値(データ内容)が完全同一である必要はなく、いずれもが開発用のECUを対象とすることを示す点で一致していればよい。
一方、ECU30Aは、自装置が開発用のECUであることを示す識別情報331AをROM13において保持している。そして、ECU30Aは、書き換えファイル501Aに含まれる対象情報601Aと識別情報331Aとを照合し、両方が開発用のECUであることを示す情報であるため、制御プログラム332を書き換える。
同様に、量産用のECUであるECU30Bに対するプログラムの書き換えについて説明する。ファイル生成装置10は、量産用のECUを対象とする書き換えプログラム131B及び記述ファイル132Bを用い、書き換えファイル501Bを生成する。このとき、ファイル生成装置10は、書き換えファイル501Bに、プログラムの書き換え対象が量産用のECUであることを示す対象情報601Bを含める(S21-S23)。
そして、プログラム書き換え装置20では、当該書き換えファイル501Bを、通信や各種の外付けメモリ等を介して取得する(S24)。そして、プログラム書き換え装置20では、当該書き換えファイル501Bに含まれる対象情報601Bを含んだプログラムの書き換え要求701Bを生成してECU30Bに送信し(S25)、ECU30Bで、当該書き換え要求701Bを受信する(S26)。なお、書き換えファイル501Bに含まれる対象情報601Bと、プログラムの書き換え要求701Bに含める対象情報601Bとにおいても、値(データ内容)が完全同一である必要はなく、いずれもが量産用のECUを対象とすることを示す点で一致していればよい。
一方、ECU30Bは、自装置が量産用のECUであることを示す識別情報331BをROM13において保持している。そして、ECU30Bは、書き換えファイル501Bに含まれる対象情報601Bと識別情報331Bとを照合し、両方が量産用のECUであることを示す情報であるため、制御プログラム332を書き換える。
ここで、プログラム書き換え装置20が、プログラムの書き換え対象が開発用のECUである書き換え要求701Aを、量産用のECUであるECU30Bに送信した場合(S31)について説明する。この場合、ECU30Bでは、書き換え要求701Aに含まれる対象情報601Aと、自装置が量産用のECUであることを示す識別情報331Bとを照合する。その結果、対象情報601Aと識別情報331Bとが示す対象のECUが不一致であるため、ECU30Bは制御プログラム332の書き換えを行わない。
また同様に、プログラム書き換え装置20が、プログラムの書き換え対象が量産用のECUである書き換え要求701Bを、開発用のECUであるECU30Aに送信した場合(S32)、ECU30Aでは、書き換え要求701Bに含まれる対象情報601Bと、自装置が開発用のECUであることを示す識別情報331Aとを照合する。その結果、対象情報601Bと識別情報331Aとが示す対象のECUが不一致であるため、ECU30Aは制御プログラムの書き換えを行わない。
したがって、開発用のECUを対象とする書き換えプログラムで量産用のECUであるECU30Bの制御プログラムを書き換えること、また、量産用のECUを対象とする書き換えプログラムで開発用のECUであるECU30Aの制御プログラムを書き換えてしまう状況を回避することが可能となる。
次に、ファイル生成装置10で実行される処理の一例について、図3に示すフローチャートを参照しながら説明する。
ステップ1001で、書き換えファイル生成部111は、ユーザによる操作等に応じて、書き換えプログラム131及び記述ファイル132をROM13から読み出して取得する。なお、これらの書き換えプログラム131及び記述ファイル132は、ネットワークや各種の外付けメモリ等を介して取得することも可能である。
ステップ1002で、書き換えファイル生成部111は、プログラムの書き換えを行う対象を、開発用のECUと量産用のECUとのいずれとするかを示す情報を取得する。前述したように、当該情報は、例えば、作業者による入力によって指定された情報や、予め書き換えプログラム131に対応付けて設定された情報等によって取得することが可能である。
ステップ1003で、書き換えファイル生成部111は、ステップ1002で取得した情報が、開発用のECUと量産用のECUとのいずれを示しているかを判定する。開発用のECUである場合にはステップ1004に進み、量産用のECUである場合にはステップ1005に進む。
ステップ1004で、書き換えファイル生成部111は、プログラムの書き換え対象が開発用のECUであることを示す対象情報601を含んだ書き換えファイル501を生成する。
ステップ1005で、書き換えファイル生成部111は、プログラムの書き換え対象が量産用のECUであることを示す対象情報601を含んだ書き換えファイル501を生成する。
次に、プログラム書き換え装置20で実行される処理の一例について、図4に示すフローチャートを参照しながら説明する。
ステップ1011で、プログラム書き換え部211は、ユーザによる操作等に応じて、ファイル生成装置10によって生成された書き換えファイル501を取得する。書き換えファイル501は、ネットワークや各種の外付けメモリ等を介して取得することが可能である。
ステップ1012で、プログラム書き換え部211は、書き換えファイル501から、対象情報601を読み出して取得する。換言すれば、プログラム書き換え部211は、プログラムの書き換えを行う対象を、開発用のECUと量産用のECUとのいずれとするかを示す情報を取得する。
ステップ1013で、プログラム書き換え部211は、対象情報601を含んだプログラムの書き換え要求701Aを生成し、ECU30に対して送信する。
ステップ1014で、プログラム書き換え部211は、ECU30から、プログラムの書き換えを実行するか否かを示す応答を受信する。より具体的には、当該応答は、プログラムの書き換えを実行するときには書き換えプログラムの転送要求であり、書き換えを実行しないときには、書き換え処理の中止を通知する応答となる。
ステップ1015で、プログラム書き換え部211は、ステップ1014で受信した応答が、プログラムの書き換えを実行することを示す応答であったか否かを判定する。プログラムの書き換えを実行する場合にはステップ1016に進み、実行しない場合にはステップ1017に進む。
ステップ1016で、プログラム書き換え部211は、ECU30に対して、書き換えファイル501に含まれる書き換えプログラムを送信する。
ステップ1017で、プログラム書き換え部211は、ECU30において制御プログラムの書き換えが行われないことを通知する警告を出力する。当該警告は任意の方法で行うことが可能である。例えば、プログラム書き換え部211は、ディスプレイ等の出力装置(図示省略)によって出力したり、所定のアドレスにメッセージを送信したりすることができる。
次に、ECU30で実行される処理の一例について、図5に示すフローチャートを参照しながら説明する。
ステップ1021で、書き換え可否決定部311は、プログラム書き換え装置20から、書き換え要求701を受信する。
ステップ1022で、書き換え可否決定部311は、ROM33から識別情報331を読み出して取得する。
ステップ1023で、書き換え可否決定部311は、書き換え要求701に含まれる対象情報601を読み出して取得する。
ステップ1024で、書き換え可否決定部311は、識別情報331が開発用のECUと量産用のECUとのいずれを示しているかを判定する。開発用のECUを示している場合にはステップ1025に進み、量産用のECUを示している場合にはステップ1028に進む。
ステップ1025で、書き換え可否決定部311は、対象情報601が開発用のECUと量産用のECUとのいずれを示しているかを判定する。開発用のECUを示している場合には、ステップ1026に進み、量産用のECUを示している場合には、ステップ1027に進む(No)。
ステップ1026で、書き換え可否決定部311は、識別情報331及び対象情報601のいずれもが開発用のECUであることを示しているため、制御プログラム332を書き換える条件が成立したと判別する。
ステップ1027で、書き換え可否決定部311は、識別情報331が開発用のECUを示している一方で対象情報601が量産用装置を示しているため、制御プログラム332を書き換える条件が成立していないと判別する。
ステップ1028で、書き換え可否決定部311は、対象情報601が開発用のECUと量産用のECUとのいずれを示しているかを判定する。量産用のECUを示している場合には、ステップ1029に進み、開発用のECUを示している場合には、ステップ1030に進む。
ステップ1029で、書き換え可否決定部311は、識別情報331及び対象情報601のいずれもが量産用のECUであることを示しているため、制御プログラム332を書き換える条件が成立したと判別する。
ステップ1030で、書き換え可否決定部311は、識別情報331が量産用のECUを示している一方で対象情報601が開発用のECUを示しているため、制御プログラム332を書き換える条件が成立していないと判別する。
ステップ1031で、書き換え可否決定部311は、制御プログラム332を書き換える条件が成立したか否かを判定する。条件が成立している場合には、書き換え可否決定部311は、制御プログラムの書き換えを実行することを決定してステップ1032に進み(Yes)、条件が成立していない場合には、制御プログラム332の書き換えを実行しないことを決定し、ステップ1033に進む(No)。
ステップ1032で、プログラム書き換え部312は、制御プログラム332の書き換え処理を実行する。より具体的には、プログラム書き換え部312は、プログラム書き換え装置20に対して、制御プログラム332に対する書き換えプログラムの転送要求を送信する。そして、プログラム書き換え装置20が転送要求に応じて送信した書き換えプログラムを受信し、当該書き換えプログラムを用いて制御プログラム332を書き換える。
ステップ1033で、プログラム書き換え部312は、制御プログラム332の書き換えを行わないことを示す情報(エラー)を出力する。このとき、前述したように、プログラム書き換え装置20を介して警告を出力することが可能である。
ここで、本システム1において実行されるプログラムの書き換え処理について、ISO14229-1で定められるECUの診断用の通信プロトコルであるUDS(Unified Diagnostic Services)プロトコルに従ったデータの具体例を示しつつ説明する。
図6は、UDSプロトコルに基づいたプログラムの書き換え要求701のデータ構造の具体例を示している。この書き換え要求701は、書き換えファイル501のPDXファイルに基づいて生成され、SID(Service Identifier)が「34」の「Download Request」を示す。そして、当該書き換え要求701は、「dataFormatIdentifier」のパラメータを備える。この「dataFormatIdentifier」のパラメータには、上位4ビットに圧縮情報である「compressionMethod」が含まれ、下位4ビットに暗号化情報である「encryptionMethod」が含まれる。本実施形態では、この「compressionMethod」の値の定義を新たに設け、対象情報601を設定することにより、書き換え要求701に対象情報601を含めることを実現させる。より具体的には、「compressionMethod」が「1111b」であるときに開発用のECUの制御プログラム332を書き換え対象とすることを示し、「0001b」であるときに量産用のECUの制御プログラム332を書き換え対象とするものとして定義する。
図7は、このようなUDSプロトコルに基づいた書き換え要求701を用いて、プログラム書き換え装置20及びECU30の間でどのようなデータが送受信されるかについての具体例を示している。図7(A)は、制御プログラム332の書き換えを実行する場合、図7(B)は制御プログラム332の書き換えを実行しない場合について図示している。
図7(A)を参照すると、まず、プログラム書き換え装置20は、SIDが「34」の「Download Parameter(Download Request)」のデータをECU30に対して送信する。そして、ECU30の書き換え可否決定部311では、前述した「compressionMethod」に設定された対象情報601に基づいて、制御プログラム332の書き換えを実行するか否かを判別する。例えば、ECU30のROM13に格納された識別情報331が、開発用のECUであることを示す情報(EngineeringKEY)である場合、「compressionMethod」の値が「1111b」であれば制御プログラム332の書き換えを実行し、「0001b」であれば書き換えを実行しない。逆に、識別情報331が、量産用のECUであることを示す情報(EngineeringKEY以外)である場合、「compressionMethod」の値が「0001b」であれば制御プログラム332の書き換えを実行し、「1111b」であれば書き換えを実行しない。
ECU30のプログラム書き換え部312は、書き換え可否決定部311によって制御プログラム332の書き換えを実行すると決定されると、制御プログラム332(Code Flush)を消去する。このとき、プログラム書き換え部312は、プログラム書き換え装置20に対して「7F 34 78」のデータを送信し、データの消去が終了すると、「Download Request」に対する応答として、SIDが「74」のデータを必要なパラメータとともに返信する。
そして、プログラム書き換え装置20は、SIDが「36」の「Transfer Data」のデータ、すなわち、制御プログラム332に対する書き換えプログラムを含んだデータをECU30に送信する。そして、ECU30のプログラム書き換え部312は、制御プログラム332に対する書き換え処理を行う。このとき、プログラム書き換え部312は、プログラム書き換え装置20に対して「7F 36 78」のデータを送信し、データの書き換えが終了すると、「Transfer Data」に対する応答として、SIDが「76」のデータを必要なパラメータとともに返信する。
一方、図7(B)では、プログラム書き換え装置20が、SIDが「34」の「Download Parameter(Download Request)」のデータをECU30に対して送信する。しかし、ECU30の書き換え可否決定部311において、制御プログラム332の書き換えを実行しないと決定されたものとする。この場合、ECU30の書き換え可否決定部311は、プログラム書き換え装置20に対して、書き換えが行われなかったことを示す「7F 34 31」のデータを送信する。当該データによって、プログラム書き換え装置20は、ECU30において制御プログラム332の書き換えが行われなかったことを識別することが可能となる。
このように、本実施形態によれば、ECU30の制御プログラム332に対する書き換えが発生したときに、ファイル生成装置10によって、開発用のECUと量産用のECUとのいずれの制御プログラム332を書き換え対象とするかを示す対象情報601を含んだ書き換えファイル501が生成される。そして、プログラム書き換え装置20では、当該書き換えファイル501を用い、対象情報601を含んだ書き換え要求701をECU30に送信する。そして、ECU30では、自装置の識別情報331と、書き換え要求701に含まれた対象情報601とを照合して、両方が開発用のECUを示している場合又は両方が量産用のECUを示している場合のみ、制御プログラム332の書き換えを実行する。これにより、開発用のECUを対象とする書き換えプログラムで量産用のECUの制御プログラムを書き換えてしまうこと、また、量産用のECUを対象とする書き換えプログラムで開発用のECUの制御プログラムを書き換えてしまうことを回避することが可能となる。したがって、開発用のECU30と量産用のECU30が両方存在する作業環境においても、プログラムの書き換え作業を正確に行うことが可能となり、プログラムの書き換え作業の精度を向上させることができる。その結果、意図しない制御プログラムの書き換えが行われたECU30が市場に流出することを回避することが可能となる。
また、このとき、ECU30において制御プログラム332の書き換えを実行しないと決定したときには、書き換え処理が中止され、プログラム書き換え装置20に対してエラーが返信される。これにより、プログラム書き換え装置20において、書き換えに失敗したことを示す警告を出力することができる。このため、作業者は、書き換え作業に不具合があったことをすぐに把握することができ、作業をやり直すこと等が可能となる。
なお、本実施形態では、開発用のECUと量産用のECUとを識別してプログラムの書き換えを制御する例を用いて説明したが、ECU30において保持する識別情報331や、書き換えファイル501及び書き換え要求701で保持する対象情報601における値の定義を変えることにより、任意の識別対象についてプログラム書き換え処理の可否を判別することができる。例えば、プログラム書き換え処理の可否をさらに細かい種別ごとに判別したい場合には、識別情報331及び対象情報601のいずれにも、当該種別ごとに異なる値を設定しておき、両者を照合するようにすればよい。さらには、プログラム書き換え処理の可否をECU30の個体ごとに判別したい場合には、識別情報331及び対象情報601のいずれにも、ECU30の個体を識別可能な識別子を設定してもよい。
また、本実施形態では、ECU30が車両に組付けられる前を想定して説明したが、車両への組付け後においても適用可能である。例えば、OTA(Over the Air)によって車両に搭載されたECUのプログラムを書き換えるシステム等においても、本実施形態で説明した技術を適用して、車両に送信される書き換え要求にECUの対象情報を含め、プログラムの書き換え対象とするECUにも識別情報を予め設定しておき、識別情報と対象情報と照合することによって書き換えを実行するか否かを決定する制御を行うことにより、誤ったECUを対象としてプログラムの書き換えを行ってしまうことを回避することが可能となる。
以上説明した本発明の実施形態は、本発明の技術的範囲で考え得る実施態様の一部に過ぎず、本発明の例示として開示されるものであって、本発明の技術的範囲を制限するものではない。また、各実施形態における機能的構成及び物理的構成は、前述の態様に限定されるものではなく、例えば、各機能や物理的資源を統合して実装したり、逆に、さらに分散して実装したり、さらには、構成の一部について他の構成の追加、削除、置換等をすることも可能である。
10…ファイル生成装置、111…書き換えファイル生成部、20…プログラム書き換え装置、211…プログラム書き換え部、30…ECU、311…書き換え可否決定部、312…プログラム書き換え部、331…識別情報、332…制御プログラム、501…書き換えファイル、601…対象情報、701…書き換え要求

Claims (5)

  1. 車両用電子制御装置と、
    前記車両用電子制御装置で動作する制御プログラムに対する書き換えプログラム及びプログラム書き換えに関連する設定情報を含んだ記述ファイルを用いて、前記制御プログラムの書き換えに用いる情報を含んだ書き換えファイルを生成するファイル生成装置と、
    前記車両用電子制御装置と通信可能に接続され、前記書き換えファイルに基づいて前記制御プログラムの書き換え要求を前記車両用電子制御装置に対して送信するプログラム書き換え装置と
    を備えたプログラム書き換えシステムであって、
    前記ファイル生成装置は、プログラムの書き換え対象とする車両用電子制御装置を示す対象情報を取得して、当該対象情報を含んだ前記書き換えファイルを生成するように構成され、
    前記プログラム書き換え装置は、前記書き換えファイルを取得し、当該書き換えファイルから前記対象情報を読み出して、当該対象情報を含んだ前記制御プログラムの書き換え要求を前記車両用電子制御装置に対して送信するように構成され、
    前記車両用電子制御装置は、前記書き換え要求を受信したときに、当該書き換え要求から前記対象情報を読み出すとともに当該車両用電子制御装置が備えるメモリに格納された当該車両用電子制御装置の識別情報を読み出して、前記識別情報と前記対象情報とを照合し、当該照合結果に基づいて前記制御プログラムの書き換えを実行するか否かを決定するように構成された、プログラム書き換えシステム。
  2. 前記識別情報が、前記車両用電子制御装置が開発段階において用いられる開発用の装置と車両への組み付け段階の製品である量産用の装置とのいずれであるかを示す情報である一方、前記対象情報は、プログラムの書き換え対象とする車両用電子制御装置が前記開発用の装置と前記量産用の装置とのいずれであるかを示す情報であり、
    前記車両用電子制御装置は、前記対象情報及び前記識別情報の両方が前記開発用の装置であることを示す情報であるとき、又は、前記対象情報及び前記識別情報の両方が前記量産用の装置であることを示す情報であるときに、前記制御プログラムの書き換えを実行すると決定するように構成された、請求項1に記載のプログラム書き換えシステム。
  3. 前記車両用電子制御装置は、前記制御プログラムの書き換えを実行しないと決定したときに警告を出力するように構成された、請求項1又は2に記載のプログラム書き換えシステム。
  4. 前記車両用電子制御装置は、前記制御プログラムの書き換えを実行すると決定したときに、前記制御プログラムに対する書き換えプログラムの転送要求を前記プログラム書き換え装置に送信して、当該転送要求に応じて前記プログラム書き換え装置から送信された前記書き換えプログラムを受信し、当該書き換えプログラムを用いて前記制御プログラムを書き換えるように構成された、請求項1~3のいずれか1項に記載のプログラム書き換えシステム。
  5. 車両用電子制御装置と、
    前記車両用電子制御装置で動作する制御プログラムに対する書き換えプログラム及びプログラム書き換えに関連する設定情報を含んだ記述ファイルを用いて、前記制御プログラムの書き換えに用いる情報を含んだ書き換えファイルを生成するファイル生成装置と、
    前記車両用電子制御装置と通信可能に接続され、前記書き換えファイルに基づいて前記制御プログラムの書き換え要求を前記車両用電子制御装置に対して送信するプログラム書き換え装置と
    が実行するプログラム書き換え方法であって、
    前記ファイル生成装置が、プログラムの書き換え対象とする車両用電子制御装置を示す対象情報を取得して、当該対象情報を含んだ前記書き換えファイルを生成し、
    前記プログラム書き換え装置が、前記書き換えファイルを取得し、当該書き換えファイルから前記対象情報を読み出して、当該対象情報を含んだ前記制御プログラムの書き換え要求を前記車両用電子制御装置に対して送信し、
    前記車両用電子制御装置が、前記書き換え要求を受信したときに、当該書き換え要求から前記対象情報を読み出すとともに当該車両用電子制御装置が備えるメモリに格納された当該車両用電子制御装置の識別情報を読み出して、前記識別情報と前記対象情報とを照合し、当該照合結果に基づいて前記制御プログラムの書き換えを実行するか否かを決定する、
    プログラム書き換え方法。
JP2021154157A 2021-09-22 2021-09-22 車両用電子制御装置のプログラム書き換えシステム及びプログラム書き換え方法 Active JP7723554B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021154157A JP7723554B2 (ja) 2021-09-22 2021-09-22 車両用電子制御装置のプログラム書き換えシステム及びプログラム書き換え方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021154157A JP7723554B2 (ja) 2021-09-22 2021-09-22 車両用電子制御装置のプログラム書き換えシステム及びプログラム書き換え方法

Publications (2)

Publication Number Publication Date
JP2023045626A JP2023045626A (ja) 2023-04-03
JP7723554B2 true JP7723554B2 (ja) 2025-08-14

Family

ID=85777054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021154157A Active JP7723554B2 (ja) 2021-09-22 2021-09-22 車両用電子制御装置のプログラム書き換えシステム及びプログラム書き換え方法

Country Status (1)

Country Link
JP (1) JP7723554B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013141948A (ja) 2012-01-12 2013-07-22 Denso Corp 車両通信システム
WO2021092745A1 (zh) 2019-11-12 2021-05-20 华为技术有限公司 一种设备升级方法及相关设备
WO2021181828A1 (ja) 2020-03-10 2021-09-16 日立Astemo株式会社 車両制御装置及び車両制御システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013141948A (ja) 2012-01-12 2013-07-22 Denso Corp 車両通信システム
WO2021092745A1 (zh) 2019-11-12 2021-05-20 华为技术有限公司 一种设备升级方法及相关设备
WO2021181828A1 (ja) 2020-03-10 2021-09-16 日立Astemo株式会社 車両制御装置及び車両制御システム

Also Published As

Publication number Publication date
JP2023045626A (ja) 2023-04-03

Similar Documents

Publication Publication Date Title
US20210405996A1 (en) Server, managing method, non-transitory storage medium, software updating device, center, and over-the-air master
US20180095745A1 (en) Computer System, Method of Updating Software with Computer System, and Program Therefor
CN104809009A (zh) 一种汽车电控单元的程序加载引导方法
US10691805B2 (en) Resident manufacturing test software based system for mitigating risks associated with vehicle control modules
CN112860778A (zh) 桌面应用程序的数据库管理方法、装置、设备和介质
US20030110468A1 (en) Program code generator and program
JP2016170471A (ja) 電子制御装置
CN113946356A (zh) 电子控制器程序的更新方法、装置、电子控制器
CN112230848A (zh) 一种nvm自动配置方法、装置和设备
JP2023045626A (ja) 車両用電子制御装置、ファイル生成装置、プログラム書き換え装置及びプログラム書き換え方法
US11941126B2 (en) Center, information rewriting method, and non-transitory storage medium
CN117687730A (zh) 车机场景编排方法及装置
US11954205B2 (en) Security control for electronic control unit
CN116880871A (zh) 车用控制器的刷新方法、装置、设备及存储介质
CN116974616A (zh) 一种通过u盘升级整车所有电控单元的方法
US8694198B2 (en) Method for accessing control units arranged in a vehicle, control program and communication control unit
KR102864980B1 (ko) 보안성을 강화한 리프로그램 방법
JP6107710B2 (ja) プログラム管理装置、車両用制御装置及びプログラム管理プログラム
KR20060114660A (ko) 장치관리 시스템 및 그 시스템에서의 장치관리 스케줄링방법
US20250165378A1 (en) Electronic control device and authentication method
US20240202108A1 (en) Computer-implemented method for determining compatible system elements and system
US20060150052A1 (en) Accepting a set of data in a computer unit
US12151692B2 (en) Performance tuning for electronic control unit
US20260003968A1 (en) Vehicle
CN112416409B (zh) 车载电脑软件升级方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240412

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250424

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250708

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250801

R150 Certificate of patent or registration of utility model

Ref document number: 7723554

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150