[go: up one dir, main page]

JP7677030B2 - Software update device, software update system, and software update method - Google Patents

Software update device, software update system, and software update method Download PDF

Info

Publication number
JP7677030B2
JP7677030B2 JP2021122292A JP2021122292A JP7677030B2 JP 7677030 B2 JP7677030 B2 JP 7677030B2 JP 2021122292 A JP2021122292 A JP 2021122292A JP 2021122292 A JP2021122292 A JP 2021122292A JP 7677030 B2 JP7677030 B2 JP 7677030B2
Authority
JP
Japan
Prior art keywords
update
software
vehicle
update process
software update
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
JP2021122292A
Other languages
Japanese (ja)
Other versions
JP2023018282A (en
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.)
Nissan Motor Co Ltd
Original Assignee
Nissan Motor Co 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 Nissan Motor Co Ltd filed Critical Nissan Motor Co Ltd
Priority to JP2021122292A priority Critical patent/JP7677030B2/en
Publication of JP2023018282A publication Critical patent/JP2023018282A/en
Priority to JP2025074580A priority patent/JP2025105856A/en
Application granted granted Critical
Publication of JP7677030B2 publication Critical patent/JP7677030B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、ソフトウェアを更新するソフトウェア更新装置、ソフトウェア更新システム、及びソフトウェア更新方法に関するものである。 The present invention relates to a software update device, a software update system, and a software update method for updating software.

従来より、ユーザの好みに応じたタイミングで、ソフトウェアを自動的に更新することができる情報処理端末が知られている(特許文献1)。この情報処理端末は、車両に搭載された車載端末としても用いることができる。 Conventionally, information processing terminals that can automatically update software at times according to the user's preferences have been known (Patent Document 1). This information processing terminal can also be used as an in-vehicle terminal installed in a vehicle.

特開2016-38634号公報JP 2016-38634 A

上記情報処理端末では、ソフトウェア更新に対するユーザの承諾処理が考慮されてないため、更新処理の開始を承諾するかユーザに求めても、ユーザからの回答がない場合、更新処理を開始すべきか否かを判定するのが難しい、という問題がある。 The above information processing terminal does not take into account the user's consent process for software updates, so even if the user is asked whether to consent to the start of the update process, if there is no response from the user, it is difficult to determine whether the update process should be started.

本発明が解決しようとする課題は、ソフトウェアの更新処理の開始を承諾するかユーザに求め、ユーザからの回答がない場合であっても、更新処理を開始すべきか否かを判定できるソフトウェア更新装置、ソフトウェア更新システム、及びソフトウェア更新方法を提供することである。 The problem that the present invention aims to solve is to provide a software update device, a software update system, and a software update method that can prompt a user to agree to the start of a software update process and determine whether or not to start the update process even if there is no response from the user.

本発明は、車両の外部に設けられたサーバーから、車載制御装置のソフトウェアの更新に関する更新処理情報を取得し、更新処理の開始を承諾するかをユーザに求める承諾要求情報を出力し、承諾要求情報に対するユーザの回答である回答情報に応じて、更新処理を実行し、承諾要求情報が出力された後、所定時間以上、回答情報が入力されない場合、更新処理に要する所要時間及びソフトウェアを更新することに対する重要度のうち少なくとも何れか一方に基づき、更新処理を開始するか否かを判定することにより、上記課題を解決する。 The present invention solves the above problem by obtaining update processing information related to software updates for an on-board control device from a server installed outside the vehicle, outputting consent request information that asks the user whether to consent to the start of the update processing, executing the update processing according to response information that is the user's response to the consent request information, and determining whether to start the update processing based on at least one of the time required for the update processing and the importance of updating the software if no response information is input for a predetermined period of time or more after the consent request information is output.

本発明によれば、ソフトウェアの更新処理の開始を承諾するかをユーザに求め、ユーザからの回答がない場合であっても、更新処理を開始すべきか否かを判定できる。 According to the present invention, the user is asked whether or not to consent to the start of the software update process, and even if there is no response from the user, it is possible to determine whether or not to start the update process.

図1は、第1実施形態に係るソフトウェア更新装置を含むソフトウェア更新システムの一例を示すブロック図である。FIG. 1 is a block diagram showing an example of a software updating system including a software updating device according to the first embodiment. 図2は、OTAによるソフトウェア更新のフローを説明するための説明図である。FIG. 2 is an explanatory diagram for explaining the flow of a software update via OTA. 図3は、ECUのメモリ構成に応じた、OTAによるソフトウェア更新を説明するための説明図である。FIG. 3 is an explanatory diagram for explaining software updating by OTA according to the memory configuration of the ECU. 図4は、更新処理開始の承諾をユーザに求める際に車載HMIに表示される画面の一例である。FIG. 4 is an example of a screen displayed on the in-vehicle HMI when requesting the user's consent to start the update process. 図5は、図1に示すソフトウェア更新装置10のコントローラ40が有する機能ブロックの一例である。FIG. 5 is an example of a functional block of the controller 40 of the software updating device 10 shown in FIG. 図6は、第1実施形態に係るソフトウェア更新方法のフローチャートである。FIG. 6 is a flowchart of the software updating method according to the first embodiment. 図7は、第2実施形態に係るソフトウェア更新方法のフローチャートである。FIG. 7 is a flowchart of a software updating method according to the second embodiment. 図8は、第3実施形態に係るソフトウェア更新方法のフローチャートである。FIG. 8 is a flowchart of a software updating method according to the third embodiment.

以下、本発明に係るソフトウェア更新装置、ソフトウェア更新システム、及びソフトウェア更新方法の実施の形態を図面に基づいて説明する。 Below, an embodiment of a software update device, a software update system, and a software update method according to the present invention will be described with reference to the drawings.

≪第1実施形態≫
本実施形態に係るソフトウェア更新装置10は、図1に示すように、ソフトウェア更新システム100の一部として実現される。図1は、本実施形態に係るソフトウェア更新システム100の一例を示すブロック図である。ソフトウェア更新システム100は、車両1の電子制御装置(以下、ECU(Electronic Control Unit)と称する)が実行する、車両制御や診断等のソフトウェアを、OTA(Over The Air)により更新可能なシステムである。このようなOTAによりソフトウェアを更新することは、FOTA(Firmware Over The Air)とも称される。ECUのソフトウェアは、ECUが備えるマイコンがプログラムを実行することで、実現される。本実施形態では、無線によるECUのソフトウェア更新として、ECUのマイコンが実行するプログラムを無線により書き換える場合を例に挙げて説明するが、ソフトウェア更新システム100は、例えば、車両1のナビゲーションシステムで使用される地図データ、ECUで使用される制御パラメータ等、各種ソフトウェアで使用されるデータを無線で書き換える場合にも適用することができる。またソフトウェア更新システム100は、ECUにFPGA(Field Programmable Gate Array)が用いられている場合、FPGAの機能(ロジック)を無線で書き換える場合にも適用することができる。また図1では、車両1として一台の車両が図示されているが、ソフトウェア更新システム100は、複数の車両1を対象にして、ソフトウェアの更新可能なシステムである。
First Embodiment
As shown in FIG. 1, the software update device 10 according to the present embodiment is realized as a part of a software update system 100. FIG. 1 is a block diagram showing an example of the software update system 100 according to the present embodiment. The software update system 100 is a system capable of updating software for vehicle control, diagnosis, and the like, executed by an electronic control unit (hereinafter referred to as an ECU (Electronic Control Unit)) of a vehicle 1, over the air (OTA). Updating software by OTA is also called FOTA (Firmware Over The Air). The software of the ECU is realized by a microcomputer included in the ECU executing a program. In the present embodiment, a case where a program executed by a microcomputer of the ECU is rewritten wirelessly as an example of updating the software of the ECU wirelessly will be described. However, the software update system 100 can also be applied to a case where data used in various software, such as map data used in a navigation system of the vehicle 1 and control parameters used in the ECU, are rewritten wirelessly. The software update system 100 can also be applied to cases where an FPGA (Field Programmable Gate Array) is used in the ECU and the function (logic) of the FPGA is rewritten wirelessly. Although one vehicle is illustrated as the vehicle 1 in Fig. 1, the software update system 100 is a system capable of updating software for multiple vehicles 1.

また本実施形態において、「ECUのソフトウェア更新」とは、ECUのソフトウェアのバージョンが新しいバージョンに変わること、すなわち、マイコンの実行対象であるプログラムが新しいバージョンに変わることを意味する。また無線によるソフトウェア更新は、新しいバージョンのプログラムそのものを車両1の外部から無線を介して取得して書き換えることに加えて、新しいバージョンのプログラムが実行される際に使用される各種データ、及び新しいバージョンのプログラムと古いバージョンのプログラムの差分データを、車両1の外部から無線を介して取得して書き換えることも含む。以降の説明では、新しいバージョンのプログラムや差分データ等、ソフトウェアの更新に必要なデータを「更新用データ」と称する。また、「新しいバージョンのプログラム」を「新プログラム」と称し、「古いバージョンのプログラム」を「旧プログラム」と称し、「新しいバージョンのプログラムと古いバージョンのプログラムの差分のデータ」を「差分データ」と称する。また本実施形態において、「完了」とは、物事が正常に終了したことを意味し、異常事態により物事が終了したことは含まない。例えば、「処理の完了」とは、処理が正常終了したことを意味し、処理が異常終了したことは含まない。また本実施形態では、ソフトウェアの更新に関する手続きを行うユーザとして、車両1の乗員(ドライバーを含む)を例に挙げて説明する。 In this embodiment, "ECU software update" means that the version of the ECU software is changed to a new version, that is, the program to be executed by the microcomputer is changed to a new version. In addition, the wireless software update includes not only obtaining the new version of the program itself from outside the vehicle 1 via wireless and rewriting it, but also obtaining various data used when the new version of the program is executed and difference data between the new version of the program and the old version of the program via wireless from outside the vehicle 1 and rewriting it. In the following explanation, data necessary for software update, such as the new version of the program and difference data, is referred to as "update data". Also, the "new version of the program" is referred to as the "new program", the "old version of the program" is referred to as the "old program", and the "difference data between the new version of the program and the old version of the program" is referred to as the "difference data". In this embodiment, "completion" means that something has ended normally, and does not include the end of something due to an abnormal situation. For example, "completion of processing" means that processing has ended normally, and does not include the end of processing abnormally. In this embodiment, the user who performs the software update procedure will be an occupant of vehicle 1 (including the driver).

図1に示すように、ソフトウェア更新システム100は、車両1と、サーバー2と、ユーザ端末3を含む。ソフトウェア更新システム100に含まれる各構成は、無線通信回線網4を介して、情報の授受が可能になっている。無線通信回線網4は、例えば4G回線等による移動体通信ネットワーク、インターネット、Wifi(Wireless Fidelity)(登録商標)等を含んで構成される。まず、ソフトウェア更新システム100において、車両1、サーバー2、及びユーザ端末3それぞれの役割について説明する。 As shown in FIG. 1, the software update system 100 includes a vehicle 1, a server 2, and a user terminal 3. Each component included in the software update system 100 is capable of sending and receiving information via a wireless communication network 4. The wireless communication network 4 includes, for example, a mobile communication network using a 4G line or the like, the Internet, Wi-Fi (Wireless Fidelity) (registered trademark), and the like. First, the roles of the vehicle 1, the server 2, and the user terminal 3 in the software update system 100 will be described.

車両1は、ソフトウェアを更新可能なECUを搭載する。車両1は、サーバー2との間で、ソフトウェア更新に関する各種情報の授受を行う。車両1からサーバー2には、車両1に搭載される各ECUに関する情報が送信される。ECUに関する情報としては、例えば、ソフトウェアの現在のバージョンが挙げられる。車両1が搭載する各ECUに関する情報は、所定の送信条件(例えば、所定の周期ごと)に基づき、車両1からサーバー2に送信される。 Vehicle 1 is equipped with an ECU capable of updating software. Vehicle 1 exchanges various information related to software updates with server 2. Information about each ECU installed in vehicle 1 is transmitted from vehicle 1 to server 2. Information about the ECU includes, for example, the current version of the software. Information about each ECU installed in vehicle 1 is transmitted from vehicle 1 to server 2 based on a predetermined transmission condition (for example, at a predetermined interval).

またサーバー2から車両1には、ソフトウェア更新に関する情報が送信される。ソフトウェア更新に関する情報としては、例えば、キャンペーン情報、更新用データ、更新処理に要する時間の見積り、更新の重要度等が挙げられる。キャンペーンとは、サーバー2が配信パッケージを一又は複数の車両1に配信するイベントである。配信パッケージには、更新用データ、更新用データの認証処理に用いられる認証用データ等が含まれる。キャンペーン情報は、ユーザにソフトウェア更新の概要を提示するための情報である。キャンペーン情報の具体例、更新処理に要する時間の見積り、及び更新の重要度については後述する。ソフトウェアの更新処理が開始されることに対してユーザが承諾した場合、車両1では、後述するソフトウェア更新装置10により、ソフトウェアの更新処理が実行される。車両1で更新処理が開始されると、車両1からサーバー2には、更新処理の経過状況を表す情報が送信される。 Information regarding software updates is also transmitted from the server 2 to the vehicle 1. Examples of information regarding software updates include campaign information, update data, an estimate of the time required for the update process, and the importance of the update. A campaign is an event in which the server 2 distributes a distribution package to one or more vehicles 1. The distribution package includes update data, authentication data used in the authentication process of the update data, and the like. The campaign information is information for presenting an overview of the software update to the user. Specific examples of campaign information, an estimate of the time required for the update process, and the importance of the update will be described later. If the user agrees to the start of the software update process, the software update process is executed in the vehicle 1 by the software update device 10 described later. When the update process is started in the vehicle 1, information indicating the progress of the update process is transmitted from the vehicle 1 to the server 2.

サーバー2は、ソフトウェア更新システム100においてソフトウェア更新処理を統括し、OTAセンターとして機能するサーバーである。サーバー2は、車両1との間で上述したソフトウェア更新に関する各種情報の授受を行う。またサーバー2は、ユーザ端末3との間でも、各種情報の授受を行う。 Server 2 is a server that manages the software update process in software update system 100 and functions as an OTA center. Server 2 exchanges various information related to the above-mentioned software updates with vehicle 1. Server 2 also exchanges various information with user terminal 3.

サーバー2は、更新用データを格納する格納機能、各ソフトウェアのバージョン、更新対象となる車両1の車両識別番号(VIN:Vehicle Identification Number)、更新対象のECU等を管理するデータ管理機能、キャンペーン情報の配信タイミング等のキャンペーンに関する情報を管理するキャンペーン管理機能、キャンペーン情報及び更新用データを配信する配信機能等を有している。サーバー2は、例えば、更新用データの提供事業者から、更新用データを含む各種情報を受信すると、更新用データを記憶装置に格納する。サーバー2は、提供事業者から受信した情報に基づき、更新用データの配信対象であるVIN及び更新対象のECU(以降、更新対象ECUと称す)を特定する。サーバー2は、キャンペーン情報の配信タイミングを設定し、キャンペーン情報の配信タイミングになると、キャンペーン情報を車両1及び/又はユーザ端末3に送信する。配信パッケージが車両1に送信されることに対してユーザが承諾した場合、サーバー2は、車両1に配信パッケージを送信する。サーバー2による配信パッケージの送信が完了した後に、車両1で更新処理が開始されると、サーバー2は、車両1から更新処理の進捗状況を表す進捗情報を受信し、受信した進捗情報をユーザ端末3に送信する。 The server 2 has a storage function for storing update data, a data management function for managing the version of each software, the vehicle identification number (VIN: Vehicle Identification Number) of the vehicle 1 to be updated, the ECU to be updated, etc., a campaign management function for managing information related to the campaign such as the timing of distribution of campaign information, and a distribution function for distributing campaign information and update data. For example, when the server 2 receives various information including update data from a provider of update data, the server 2 stores the update data in a storage device. Based on the information received from the provider, the server 2 identifies the VIN to which the update data is to be distributed and the ECU to be updated (hereinafter referred to as the ECU to be updated). The server 2 sets the distribution timing of the campaign information, and when the distribution timing of the campaign information arrives, the server 2 transmits the campaign information to the vehicle 1 and/or the user terminal 3. If the user agrees to the transmission of the distribution package to the vehicle 1, the server 2 transmits the distribution package to the vehicle 1. When the update process is started in the vehicle 1 after the server 2 has completed transmission of the distribution package, the server 2 receives progress information indicating the progress of the update process from the vehicle 1 and transmits the received progress information to the user terminal 3.

ユーザ端末3は、ユーザからの操作入力を受け付ける機能や各種画面を表示する機能を有し、ユーザが携帯可能な端末である。ユーザ端末3としては、例えば、スマートフォンやタブレット等が挙げられる。ユーザ端末3は、サーバー2との間で、キャンペーン情報等の各種情報の授受を行う。ユーザ端末3は、サーバー2からキャンペーン情報を受信すると、キャンペーン情報をユーザに通知する。また配信パッケージが送信されることへの承諾を示す操作をユーザがユーザ端末3に行った場合、ユーザ端末3は、ユーザが承諾したことを表す情報を、サーバー2に送信する。またユーザ端末3は、サーバー2を介して、車両1との間で、更新処理に関する情報の授受を行う。ユーザ端末3は、サーバー2から、更新処理開始の承諾をユーザに求めるための情報が入力された場合、ユーザに承諾を求めるための画像を表示する。またユーザ端末3は、更新処理開始の承諾を示す操作をユーザがユーザ端末3に行った場合、ユーザが承諾したことを表す承諾情報をサーバー2に送信する。車両1で更新処理が開始されると、ユーザ端末3は、サーバー2から、更新処理の進捗状況を表す進捗情報を受信し、受信した進捗情報をユーザに通知する。 The user terminal 3 is a terminal that can be carried by a user and has a function of accepting operation input from a user and a function of displaying various screens. Examples of the user terminal 3 include a smartphone and a tablet. The user terminal 3 exchanges various information such as campaign information with the server 2. When the user terminal 3 receives the campaign information from the server 2, it notifies the user of the campaign information. When the user performs an operation on the user terminal 3 indicating consent to the transmission of the distribution package, the user terminal 3 transmits information indicating that the user has consented to the server 2. The user terminal 3 also exchanges information regarding the update process with the vehicle 1 via the server 2. When information for requesting the user to consent to the start of the update process is input from the server 2, the user terminal 3 displays an image for requesting consent from the user. When the user performs an operation on the user terminal 3 indicating consent to the start of the update process, the user terminal 3 transmits consent information indicating that the user has consented to the server 2. When the update process is started in the vehicle 1, the user terminal 3 receives progress information indicating the progress of the update process from the server 2 and notifies the user of the received progress information.

次に、車両1、サーバー2、及びユーザ端末3それぞれの構成について、図1を用いて説明する。まずサーバー2の構成について説明する。図1に示すように、サーバー2は、通信装置21と、データベース22と、制御装置23を備える。 Next, the configuration of the vehicle 1, the server 2, and the user terminal 3 will be described with reference to FIG. 1. First, the configuration of the server 2 will be described. As shown in FIG. 1, the server 2 includes a communication device 21, a database 22, and a control device 23.

通信装置21は、無線通信回線網4を介して、車両1及びユーザ端末3との間でデータ通信を行う通信機能を有する。通信装置21が車両1との間でデータの送受信を行うためには、車両1が無線通信回線網4の圏内に位置する必要がある。また通信装置21がユーザ端末3との間でデータの送受信を行うためには、ユーザ端末3が無線通信回線網4の圏内に位置する必要がある。 The communication device 21 has a communication function for performing data communication between the vehicle 1 and the user terminal 3 via the wireless communication network 4. In order for the communication device 21 to transmit and receive data between the vehicle 1, the vehicle 1 needs to be located within the range of the wireless communication network 4. In addition, in order for the communication device 21 to transmit and receive data between the user terminal 3, the user terminal 3 needs to be located within the range of the wireless communication network 4.

データベース22は、車両1の登録情報、キャンペーン情報、更新用データ等を格納する。車両1の登録情報は、少なくとも、車両1のVIN、車両1が搭載するECUの数及び各ECUの種別、及び各ECUのソフトウェアのバージョンを含む。キャンペーン情報は、更新用データのデータサイズ、更新対象のECUを識別する情報(ECU名、ECUのID等)、更新対象であるソフトウェアのバージョンの情報(バージョン名、バージョンのID等)、更新される機能の概要説明、配信パッケージのダウンロードが完了するまでの見積り時間(ダウンロード見積り時間)、及び、車両1での更新処理が完了するまでの見積り時間(更新処理見積り時間)等を含む。 The database 22 stores the registration information of the vehicle 1, campaign information, update data, etc. The registration information of the vehicle 1 includes at least the VIN of the vehicle 1, the number of ECUs installed in the vehicle 1 and the type of each ECU, and the software version of each ECU. The campaign information includes the data size of the update data, information identifying the ECU to be updated (ECU name, ECU ID, etc.), information on the version of the software to be updated (version name, version ID, etc.), a brief description of the functions to be updated, the estimated time until the download of the distribution package is completed (estimated download time), and the estimated time until the update process in the vehicle 1 is completed (estimated update process time), etc.

制御装置23は、サーバー2の司令塔として機能する装置であって、例えば、コンピュータプログラムにより具体化された一又は複数の機能を実行するようにプログラムされたプロセッサとメモリとで構成される。制御装置23は、上述した、データ管理機能、キャンペーン管理機能、配信機能等を有している。本実施形態では、制御装置23の機能の一例として、更新処理見積り時間を算出する機能、及び更新の重要度を算出する機能について説明する。 The control device 23 is a device that functions as the command center of the server 2, and is composed of, for example, a processor and memory programmed to execute one or more functions embodied in a computer program. The control device 23 has the above-mentioned data management function, campaign management function, distribution function, etc. In this embodiment, as examples of the functions of the control device 23, a function for calculating an estimated update processing time and a function for calculating the importance of an update will be described.

制御装置23は、更新用データのデータサイズに基づき、更新処理見積り時間を算出する。後述するように、更新対象ECUで更新処理が実行されている間(更新対象ECUが旧プログラムでの動作を停止してから、新プログラムで正常起動するまでの期間を含む)では、更新対象ECUはソフトウェアの機能を実行できない。このため、更新処理見積り時間は、車両1が備える機能を使用できない時間として、ダウンタイムとも称される。 The control device 23 calculates the estimated update processing time based on the data size of the update data. As described below, while the update processing is being performed on the ECU to be updated (including the period from when the ECU to be updated stops operating under the old program to when it starts up normally under the new program), the ECU to be updated cannot execute software functions. For this reason, the estimated update processing time is also referred to as downtime, as it is the time during which the functions of the vehicle 1 cannot be used.

例えば、更新用データのデータサイズと更新処理見積り時間の関係を示すマップが予めデータベース22に格納されている場合、制御装置23は、当該マップを参照して、データサイズに応じた更新処理見積り時間を算出する。また例えば、制御装置23は、更新用データのデータサイズが大きいほど、更新処理見積り時間を長く算出する。なお、更新用データのデータサイズは、新プログラムそのもののデータサイズ、又は差分データのデータサイズのいずれであってもよい。また更新処理見積り時間の算出方法は一例であって、制御装置23は、その他の算出方法を用いて更新処理見積り時間を算出してもよい。 For example, if a map showing the relationship between the data size of the update data and the estimated update processing time is stored in advance in the database 22, the control device 23 refers to the map and calculates the estimated update processing time according to the data size. Also, for example, the larger the data size of the update data, the longer the estimated update processing time calculated by the control device 23. Note that the data size of the update data may be either the data size of the new program itself or the data size of the difference data. Also, the method of calculating the estimated update processing time is one example, and the control device 23 may calculate the estimated update processing time using other calculation methods.

また制御装置23は、更新対象ECUの種別に基づき、更新の重要度を算出する。更新の重要度とは、車両1の走行及び車両1のセキュリティのうち少なくとも何れか一つの指標に基づく重要度である。車両1の走行の指標に基づく重要度としては、ASIL(Automotive Safety Integrity Level)が挙げられる。ASILとは、車両1の機能安全について規格されたIEC61508/ISO2626に規定されている、自動車の安全要求と安全対策を指定する指標である。ASILには4段階の安全性レベルが規定されており、安全性の基準が高い順に、ASIL-D、ASIL-C、ASIL-B、ASIL-Aと定められている。車両1に搭載される一部又は全部のECUには、予めASILのランクが付されている。また車両1のセキュリティの指標に基づく重要度としては、セキュリティパッチの緊急度(優先度)が挙げられる。セキュリティパッチは、セキュリティ上何らかの問題を引き起す可能性がある脆弱性やセキュリティホールが見つかった場合に、それらを修正するためのファイルである。制御装置23により算出される更新の重要度には、上述した、ASILのランク及びセキュリティパッチの緊急度が含まれる。なお、車両1に搭載されている一又は全部のECUに、ASILと同様に、規格化されたセキュリティのランクが付されている場合、制御装置23は、更新の重要度として、規格化されたセキュリティのランクを用いてもよい。 The control device 23 also calculates the importance of the update based on the type of the ECU to be updated. The importance of the update is based on at least one of the indices of the running of the vehicle 1 and the security of the vehicle 1. An example of the importance based on the indices of the running of the vehicle 1 is ASIL (Automotive Safety Integrity Level). ASIL is an index that specifies the safety requirements and safety measures of an automobile, as stipulated in IEC61508/ISO2626, which is a standard for the functional safety of the vehicle 1. ASIL has four safety levels, and the highest safety standards are ASIL-D, ASIL-C, ASIL-B, and ASIL-A. Some or all of the ECUs installed in the vehicle 1 are assigned an ASIL rank in advance. An example of the importance based on the indices of the security of the vehicle 1 is the urgency (priority) of the security patch. A security patch is a file for correcting vulnerabilities or security holes that may cause some security problems when they are found. The importance of the update calculated by the control device 23 includes the ASIL rank and the urgency of the security patch, as described above. Note that if a standardized security rank, similar to the ASIL, is assigned to one or all of the ECUs mounted on the vehicle 1, the control device 23 may use the standardized security rank as the importance of the update.

例えば、制御装置23は、更新用データの提供事業者から、更新用データとともに、更新の緊急度を表す情報を受信した場合、更新の緊急度を表す情報を受信しない場合に比べて、更新の重要度を高く算出する。また例えば、制御装置23は、更新対象ECUが車両1の走行に関与するECUの場合、更新対象ECUが車両1の走行に関与しないECUの場合に比べて、更新の重要度を高く算出する。車両1の走行に関与するECUとしては、一例として、図1に示す走行系ECU14Bが挙げられる。また車両1の走行に関与しないECUとしては、一例として、図1に示すボディ系ECU14A及びマルチメディア系ECU14Cが挙げられる。また例えば、制御装置23は、更新対象ECUに付されたASILのランクが所定の基準ランクよりも高い場合、更新対象ECUに付されたASILのランクが所定の基準ランクよりも低い場合に比べて、更新の重要度を高く算出する。なお、更新の重要度の算出方法は一例であって、制御装置23は、その他の算出方法を用いて更新の重要度を算出してもよい。 For example, when the control device 23 receives information indicating the urgency of the update together with the update data from the provider of the update data, the control device 23 calculates the importance of the update to be higher than when the information indicating the urgency of the update is not received. Also, for example, when the ECU to be updated is an ECU involved in the running of the vehicle 1, the control device 23 calculates the importance of the update to be higher than when the ECU to be updated is an ECU not involved in the running of the vehicle 1. As an example of an ECU involved in the running of the vehicle 1, there is the driving system ECU 14B shown in FIG. 1. As an example of an ECU not involved in the running of the vehicle 1, there are the body system ECU 14A and the multimedia system ECU 14C shown in FIG. 1. Also, for example, when the ASIL rank assigned to the ECU to be updated is higher than a predetermined reference rank, the control device 23 calculates the importance of the update to be higher than when the ASIL rank assigned to the ECU to be updated is lower than a predetermined reference rank. Note that the calculation method of the importance of the update is only an example, and the control device 23 may calculate the importance of the update using other calculation methods.

ユーザ端末3の構成について説明する。図1に示すように、ユーザ端末3は、端末通信装置31と、端末HMI(Human Machine Interface)32と、端末制御装置33を備える。 The configuration of the user terminal 3 will now be described. As shown in FIG. 1, the user terminal 3 includes a terminal communication device 31, a terminal HMI (Human Machine Interface) 32, and a terminal control device 33.

端末通信装置31は、無線通信回線網4を介して、サーバー2との間でデータ通信を行う機能を有する。端末HMI32は、ユーザの操作入力を受け付ける装置及びユーザに情報を知らせる装置のうち少なくとも何れか一方として機能する。端末HMI32としては、例えば、タッチパネルディスプレイが挙げられる。なお、端末HMI32は、情報を表示する装置に限られず、例えば、スピーカー等、情報を音声出力する装置であってもよい。なお、ユーザ端末3が、Bluetooth(登録商標)等を通じて車両1の車載装置と直接接続している場合にはユーザ端末3は、車両1の車載通信装置11を介してサーバー2とデータ通信を行ってもよい。また、車載装置とユーザ端末3が直接接続している場合には、車載装置は、ユーザ端末3から無線通信回線網4を介してサーバー2と通信してもよい。 The terminal communication device 31 has a function of performing data communication with the server 2 via the wireless communication network 4. The terminal HMI 32 functions as at least one of a device that accepts user operation input and a device that notifies the user of information. An example of the terminal HMI 32 is a touch panel display. The terminal HMI 32 is not limited to a device that displays information, and may be a device that outputs information by voice, such as a speaker. If the user terminal 3 is directly connected to the in-vehicle device of the vehicle 1 via Bluetooth (registered trademark) or the like, the user terminal 3 may perform data communication with the server 2 via the in-vehicle communication device 11 of the vehicle 1. If the in-vehicle device and the user terminal 3 are directly connected, the in-vehicle device may communicate with the server 2 from the user terminal 3 via the wireless communication network 4.

端末制御装置33は、ユーザ端末3の司令塔として機能する装置であって、例えば、コンピュータプログラムにより具体化された一又は複数の機能を実行するようにプログラムされたプロセッサとメモリとで構成される。端末制御装置33は、車両1のECUのソフトウェア更新処理において、キャンペーン情報及び更新処理の進捗情報をユーザに通知するための処理を実行する。キャンペーン情報を例に挙げると、端末制御装置33は、端末通信装置31を介してサーバー2からキャンペーン情報を受信した場合、キャンペーン情報を端末HMI32に出力して、キャンペーン情報を端末HMI32に表示させる。また端末制御装置33は、車両1のECUのソフトウェア更新処理において、ユーザに承諾を求めるための処理を実行する。更新処理開始の承諾をユーザに求める場合を例に挙げると、端末制御装置33は、更新処理開始の承諾をユーザに求めるための承諾要求画像を生成し、承諾要求画像を端末HMI32に出力して、承諾要求画像を端末HMI32に表示させる。 The terminal control device 33 is a device that functions as a control tower for the user terminal 3, and is composed of, for example, a processor and a memory programmed to execute one or more functions embodied by a computer program. The terminal control device 33 executes a process for notifying the user of campaign information and progress information of the update process in the software update process of the ECU of the vehicle 1. Taking campaign information as an example, when the terminal control device 33 receives campaign information from the server 2 via the terminal communication device 31, it outputs the campaign information to the terminal HMI 32 and displays the campaign information on the terminal HMI 32. The terminal control device 33 also executes a process for requesting consent from the user in the software update process of the ECU of the vehicle 1. Taking the case of requesting consent from the user to start the update process as an example, the terminal control device 33 generates a consent request image for requesting consent to start the update process from the user, outputs the consent request image to the terminal HMI 32, and displays the consent request image on the terminal HMI 32.

車両1の室外にいるユーザは、ユーザ端末3が無線通信回線網4の圏内に位置する場合、ソフトウェア更新に関する各種情報をユーザ端末3により確認しながら操作入力を行い、ソフトウェア更新に関する手続きを行うことができる。なお、上述したユーザ端末3のブロック構成や機能は一例であって、ユーザ端末3を限定するものではない。また、本発明に係るソフトウェア更新装置、ソフトウェア更新システム、及びソフトウェア更新方法では、ユーザ端末3は必ずしも必要ではない。つまり、本発明は、ユーザ端末3を含まないソフトウェア更新システムにも適用することができる。ユーザ端末3のブロック構成や機能には、本願出願時に知られたブロック構成や機能を適用できるものとする。また本実施形態では、ユーザである乗員が車載端末12を使用して更新処理に関する手続きを行う場合を例に挙げて説明するが、本発明に係るソフトウェア更新装置、ソフトウェア更新システム、及びソフトウェア更新方法は、ユーザがユーザ端末を使用して更新処理に関する手続きを行う場合にも適用することができる。 When the user terminal 3 is located within the range of the wireless communication network 4, the user outside the vehicle 1 can perform software update procedures by inputting operations while checking various information related to the software update on the user terminal 3. Note that the block configuration and functions of the user terminal 3 described above are merely examples and are not limited to the user terminal 3. Furthermore, the software update device, software update system, and software update method according to the present invention do not necessarily require the user terminal 3. In other words, the present invention can also be applied to a software update system that does not include the user terminal 3. The block configuration and functions of the user terminal 3 can be those known at the time of filing the present application. Furthermore, in this embodiment, an example is described in which a passenger, who is a user, performs procedures related to the update process using the in-vehicle terminal 12, but the software update device, software update system, and software update method according to the present invention can also be applied to a case in which a user performs procedures related to the update process using a user terminal.

次に、車両1の構成について説明する。図1に示すように、車両1は、ソフトウェア更新装置10と、車載通信装置11と、車載端末12と、イグニッションスイッチ13と、ボディ系ECU14Aと、走行系ECU14Bと、マルチメディア系ECU14Cと、電源系ECU14Dを含む。車両1に含まれる各構成は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)等の車載ネットワークよって接続されている。 Next, the configuration of vehicle 1 will be described. As shown in FIG. 1, vehicle 1 includes a software update device 10, an in-vehicle communication device 11, an in-vehicle terminal 12, an ignition switch 13, a body system ECU 14A, a driving system ECU 14B, a multimedia system ECU 14C, and a power supply system ECU 14D. Each component included in vehicle 1 is connected by an in-vehicle network such as a Controller Area Network (CAN) or a Local Interconnect Network (LIN).

車載通信装置11は、無線通信回線網4を介して、サーバー2との間でデータ通信を行う機能を有する。車載通信装置11としては、例えば、テレマティクスコントロールユニット(TCU:Telematics Control Unit)が挙げられる。 The in-vehicle communication device 11 has a function of performing data communication with the server 2 via the wireless communication network 4. An example of the in-vehicle communication device 11 is a telematics control unit (TCU).

車載端末12は、車両1に乗車するユーザ(乗員)からの操作入力を受け付ける機能や各種画面を表示する機能を有する端末である。車載端末12としては、例えば、タッチパネルディスプレイ等が挙げられる。車載端末12には、ソフトウェア更新装置10から、乗員に各種情報を知らせるための信号が入力される。車載端末12は、例えば、ソフトウェア更新装置10から、更新処理開始の承諾を乗員に求めるための情報が入力された場合、乗員に承諾を求めるための画像を表示する。また車載端末12は、例えば、乗員が更新処理開始を承諾する操作を車載端末12に対して行った場合、乗員が承諾したことを表す承諾情報をソフトウェア更新装置10に出力する。車両1の室内にいるユーザは、車両1が無線通信回線網4の圏内に位置する場合、ソフトウェア更新に関する各種情報を車載端末12により確認しながら操作入力を行い、ソフトウェア更新に関する手続きを行うことができる。なお、車載端末12は、情報を表示する装置に限られず、例えば、スピーカー等、情報を音声出力する装置であってもよい。 The in-vehicle terminal 12 is a terminal having a function of accepting operation input from a user (passenger) riding in the vehicle 1 and a function of displaying various screens. Examples of the in-vehicle terminal 12 include a touch panel display. Signals for informing the occupant of various information are input from the software update device 10 to the in-vehicle terminal 12. For example, when information for requesting the occupant to consent to the start of the update process is input from the software update device 10, the in-vehicle terminal 12 displays an image for requesting the occupant to consent. In addition, when, for example, the occupant performs an operation on the in-vehicle terminal 12 to consent to the start of the update process, the in-vehicle terminal 12 outputs consent information indicating that the occupant has consented to the software update device 10. When the vehicle 1 is located within the range of the wireless communication network 4, a user in the cabin of the vehicle 1 can perform operation input while checking various information related to the software update using the in-vehicle terminal 12, and perform procedures related to the software update. Note that the in-vehicle terminal 12 is not limited to a device for displaying information, and may be, for example, a device for outputting information by voice, such as a speaker.

イグニッションスイッチ13は、車両1の起動スイッチとして機能し、車両1のイグニッションをオン又はオフするためのスイッチである。イグニッションスイッチ13は、例えば、乗員がイグニッションをオンからオフにする操作を行った場合、ユーザの操作内容を表す信号をソフトウェア更新装置10に出力する。 The ignition switch 13 functions as a start switch for the vehicle 1 and is a switch for turning the ignition of the vehicle 1 on or off. For example, when an occupant performs an operation to turn the ignition from on to off, the ignition switch 13 outputs a signal representing the user's operation to the software update device 10.

ボディ系ECU14A、走行系ECU14B、及びマルチメディア系ECU14Cは、ソフトウェア更新装置10により更新される対象のECUの一例である。各ECUは、機能ブロックとして、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、及びフラッシュメモリ(Flash Memory)から構成されるマイコンと、電源回路、データ転送回路等を有する。フラッシュメモリには、ECUのソフトウェアを実現するためのプログラムが格納されている。マイコンがフラッシュメモリに格納されたプログラムを実行して各種処理を行うことで、ECUのソフトウェアは実現される。 The body system ECU 14A, driving system ECU 14B, and multimedia system ECU 14C are examples of ECUs that are updated by the software update device 10. Each ECU has, as functional blocks, a microcomputer consisting of a CPU (Central Processing Unit), ROM (Read Only Memory), RAM (Random Access Memory), and flash memory, as well as a power supply circuit, a data transfer circuit, etc. The flash memory stores programs for realizing the software of the ECU. The ECU software is realized when the microcomputer executes the programs stored in the flash memory to perform various processes.

ECUのフラッシュメモリは、メモリ構成に応じて、シングルバンクメモリとダブルバンクメモリに区分される。シングルバンクメモリは、プログラムの格納領域とマイコンによるプログラムの実行領域に区別がなく、マイコンがプログラムを実行中の間、シングルバンクメモリにプログラムを書き換えることはできない。一方、ダブルバンクメモリは、プログラムの格納領域として2面の領域を有しており、マイコンは、2面の格納領域のうちいずれか一方の格納領域のプログラムを実行する。このため、ダブルバンクメモリでは、マイコンがプログラムを実行中の間であっても、実行中のプログラムを格納しない他方の格納領域にプログラムを書き込むことができる。ダブルバンクメモリが有する2面のプログラム格納領域について、以降では、便宜上、第1メモリ及び第2メモリと称する。 ECU flash memory is classified into single bank memory and double bank memory according to the memory configuration. Single bank memory does not distinguish between the program storage area and the area where the program is executed by the microcomputer, and the program cannot be rewritten in the single bank memory while the microcomputer is executing the program. On the other hand, double bank memory has two areas for storing programs, and the microcomputer executes the program in one of the two storage areas. Therefore, with double bank memory, even while the microcomputer is executing a program, it is possible to write a program to the other storage area that does not store the program being executed. For convenience, the two program storage areas of double bank memory will be referred to as the first memory and the second memory hereinafter.

ボディ系ECU14Aは、車両1のボディ系の制御を行うECUの総称である。ボディ系ECU14Aとしては、例えば、車両1のドアのロック/アンロックを制御するドア制御用ECU、車両1のメーター表示を制御するメーター制御用ECU、車両1のエアコンの駆動を制御するエアコン制御用ECU、車両1ウィンドウの開閉を制御するウィンドウ制御用ECU等が挙げられる。走行系ECU14Bは、車両1の走行系の制御を行うECUの総称である。走行系ECU14Bとしては、例えば、車両1の駆動源を制御する駆動源制御用ECU、車両1のブレーキの駆動を制御するブレーキ制御用ECU、車両1のパワーステアリングの駆動を制御するパワーステアリング制御用ECU等が挙げられる。マルチメディア系ECU14Cは、車両1のマルチメディア系の制御を行うECUの総称である。マルチメディア系ECU14Cとしては、例えば、車両1のナビゲーションシステムを制御するナビゲーション制御用ECU、車両1のオーディオ機器を制御するオーディオ制御用ECU等が挙げられる。 The body system ECU 14A is a general term for ECUs that control the body system of the vehicle 1. Examples of the body system ECU 14A include a door control ECU that controls the locking/unlocking of the doors of the vehicle 1, a meter control ECU that controls the meter display of the vehicle 1, an air conditioner control ECU that controls the operation of the air conditioner of the vehicle 1, and a window control ECU that controls the opening and closing of the windows of the vehicle 1. The driving system ECU 14B is a general term for ECUs that control the driving system of the vehicle 1. Examples of the driving system ECU 14B include a drive source control ECU that controls the drive source of the vehicle 1, a brake control ECU that controls the operation of the brakes of the vehicle 1, and a power steering control ECU that controls the operation of the power steering of the vehicle 1. The multimedia system ECU 14C is a general term for ECUs that control the multimedia system of the vehicle 1. Examples of the multimedia system ECU 14C include a navigation control ECU that controls the navigation system of the vehicle 1, and an audio control ECU that controls the audio equipment of the vehicle 1.

ボディ系ECU14A、走行系ECU14B、及びマルチメディア系ECU14Cには、ソフトウェア更新装置10から更新処理の制御信号が入力され、各ECUではソフトウェアの更新処理が実行される。なお、図1では、各ECUが1つずつ示されているが、更新対象ECUの数は特に限定されず、ソフトウェア更新システム100は、複数の更新対象ECUに対して、ソフトウェアを更新することができる。また図1に示すボディ系ECU14A、走行系ECU14Bと、マルチメディア系ECU14Cは、車両1に搭載されるECUの一例であって、車両1に搭載されるECUの種別やECUの区別の仕方を限定するものではない。また車両1は、図1に示されるECU以外のECUを搭載していてもよい。 The body system ECU 14A, driving system ECU 14B, and multimedia system ECU 14C receive update process control signals from the software update device 10, and each ECU executes software update processing. Note that while FIG. 1 shows one of each ECU, the number of ECUs to be updated is not particularly limited, and the software update system 100 can update software for multiple ECUs to be updated. Also, the body system ECU 14A, driving system ECU 14B, and multimedia system ECU 14C shown in FIG. 1 are examples of ECUs mounted on the vehicle 1, and do not limit the types of ECUs mounted on the vehicle 1 or the way in which the ECUs are distinguished. Also, the vehicle 1 may be equipped with ECUs other than those shown in FIG. 1.

電源系ECU14Dは、車両1の電源系の制御を行うECUの総称である。電源系ECU14Dとしては、例えば、車両1に搭載されているACC(アクセサリー)電源及びIG(イグニッション)電源を制御する電源制御用ECUが挙げられる。電源系ECU14Dには、ソフトウェア更新装置10から更新処理の制御信号が入力される。例えば、電源系ECU14Dは、車両1のイグニッションをオフさせる処理を実行する。 The power supply system ECU 14D is a general term for the ECUs that control the power supply system of the vehicle 1. An example of the power supply system ECU 14D is a power supply control ECU that controls the ACC (accessory) power supply and IG (ignition) power supply mounted on the vehicle 1. A control signal for the update process is input to the power supply system ECU 14D from the software update device 10. For example, the power supply system ECU 14D executes a process to turn off the ignition of the vehicle 1.

ここで、OTAによるソフトウェア更新フローの概要とECUのメモリ構成との関係について、図2~図4を用いて説明する。図2は、OTAによるソフトウェア更新のフローを説明するための説明図である。図2に示すように、OTAによるソフトウェア更新は、複数の段階を経て行われる。具体的に、OTAによるソフトウェア更新では、キャンペーン情報の通知(ステップS1)、ダウンロード(ステップS2)、インストール(ステップS3)、アクティベート(ステップS4)、更新完了確認(ステップS5)が順次行われる。 Here, the outline of the OTA software update flow and its relationship with the memory configuration of the ECU will be explained using Figs. 2 to 4. Fig. 2 is an explanatory diagram for explaining the OTA software update flow. As shown in Fig. 2, the OTA software update is carried out in multiple stages. Specifically, the OTA software update sequentially involves notification of campaign information (step S1), download (step S2), installation (step S3), activation (step S4), and confirmation of update completion (step S5).

ステップS1では、サーバー2から車両1及び/又はユーザ端末3にキャンペーン情報が送信され、車載端末12及び/又はユーザ端末3を介して、ユーザにキャンペーン情報が通知される。ステップS2では、更新用データを含む配信パッケージがサーバー2から車両1に送信され、車両1では配信パッケージが格納される。ステップS3では、更新対象ECUに対して新プログラムの書き込み処理が行われる。ステップS4では、マイコンによる新プログラムの読込処理により、新プログラムが有効化される。ステップS5では、ソフトウェア更新の完了が車載端末12及び/又はユーザ端末3を介して通知される。 In step S1, campaign information is sent from the server 2 to the vehicle 1 and/or the user terminal 3, and the user is notified of the campaign information via the in-vehicle terminal 12 and/or the user terminal 3. In step S2, a distribution package including update data is sent from the server 2 to the vehicle 1, and the distribution package is stored in the vehicle 1. In step S3, a process of writing a new program to the ECU to be updated is performed. In step S4, the new program is enabled by a process of reading the new program by the microcomputer. In step S5, completion of the software update is notified via the in-vehicle terminal 12 and/or the user terminal 3.

図3は、ECUのメモリ構成に応じた、OTAによるソフトウェア更新を説明するための説明図である。図3は、図2に示す複数のステップのうち、ダウンロード、インストール、アクティベート、及び更新完了確認の各ステップを「更新状態」として示している。また図3は、各更新状態における車両1の状態を「車両状態」として示し、更新対象ECUの動作を「対象ECU」として示し、ユーザの状態を「ユーザ」として示している。図3(A)は、ECUのメモリ構成がシングルバンクの場合でのソフトウェア更新フローの一例であり、図3(B)は、ECUのメモリ構成がダブルバンクの場合でのソフトウェア更新フローの一例である。 Figure 3 is an explanatory diagram for explaining software updates by OTA according to the memory configuration of the ECU. Of the multiple steps shown in Figure 2, Figure 3 shows each step of download, installation, activation, and update completion confirmation as an "update state." Figure 3 also shows the state of the vehicle 1 in each update state as a "vehicle state," the operation of the ECU to be updated as a "target ECU," and the state of the user as a "user." Figure 3 (A) is an example of a software update flow when the ECU has a single-bank memory configuration, and Figure 3 (B) is an example of a software update flow when the ECU has a double-bank memory configuration.

図3(A)に示すように、更新対象ECUのメモリ構成がシングルバンクの場合、車両1が走行可能な状態(イグニッションスイッチ13がオン)で、車両1では配信パッケージの「ダウンロード」が行われる。ダウンロード完了後、車両1が停車した状態でイグニッションスイッチ13がオンからオフに切り替わると、車両1では更新処理開始の承諾をユーザに求める「承諾要求」が行われる。本実施形態では、車両1に乗車中のユーザは、ソフトウェア更新に関する各種情報を車載端末12により確認しながら操作入力を行い、ソフトウェア更新に関する手続きを行う。 As shown in FIG. 3(A), when the memory configuration of the ECU to be updated is single bank, the distribution package is "downloaded" in the vehicle 1 while the vehicle 1 is in a state in which it can be driven (ignition switch 13 is on). After the download is complete, when the ignition switch 13 is switched from on to off while the vehicle 1 is stopped, a "consent request" is made in the vehicle 1 to ask the user for consent to the start of the update process. In this embodiment, the user in the vehicle 1 performs operation input while checking various information related to the software update on the in-vehicle terminal 12, and performs the procedure for the software update.

図4は、更新処理開始の承諾を車両1の乗員に求める際に車載端末12に表示される画面の一例である。サーバー2からのダウンロードが完了後、車両1の乗員(ドライバー)がイグニッションスイッチ13をオンからオフに切り替えると、例えば、図4に示すように、車両1のディスプレイ(車載端末12)には、画面Dとして、更新処理開始の承諾を乗員に求める情報C1(「ソフトウェアを更新しますか?」の表示)と、乗員が操作可能な2つのアイコンとして、承諾を示すアイコンA1(「今すぐ」の表示)及び拒否を示すアイコンA2(「後で」の表示)が表示される。乗員が更新処理開始を承諾してアイコンA1を押した場合、車両1ではECUのソフトウェア更新処理が開始される。一方、乗員が更新処理開始を承諾せずにアイコンA2を押した場合、車両1ではECUのソフトウェア更新処理が開始されることなく、車両1のイグニッションをオフする処理が電源系ECU14Dにより実行される。また車載端末12には、更新処理の延期を示す更新処理延期通知が表示される(例えば、「次回へ延期します」の表示)。 Figure 4 is an example of a screen displayed on the in-vehicle terminal 12 when the occupant of the vehicle 1 is asked to consent to the start of the update process. After the download from the server 2 is completed, when the occupant (driver) of the vehicle 1 switches the ignition switch 13 from on to off, for example, as shown in Figure 4, the display (in-vehicle terminal 12) of the vehicle 1 displays, as a screen D, information C1 (display of "Do you want to update the software?") requesting the occupant to consent to the start of the update process, and two icons that the occupant can operate, an icon A1 (display of "Now") indicating consent and an icon A2 (display of "Later") indicating refusal. If the occupant consents to the start of the update process and presses the icon A1, the ECU software update process is started in the vehicle 1. On the other hand, if the occupant does not consent to the start of the update process and presses the icon A2, the ECU software update process is not started in the vehicle 1, and the power supply system ECU 14D executes the process of turning off the ignition of the vehicle 1. Additionally, the in-vehicle terminal 12 displays a notification that the update process has been postponed (for example, a message that says "Postponed until next time").

図3に戻り、乗員が更新処理開始を承諾すると、車両1では更新用データを用いた「インストール」が行われる。具体的に、ECUのフラッシュメモリでは、旧プログラムの削除後に、新プログラムを書き込む書き換え処理が行われる。書き換え処理が完了すると、ECUのマイコンに新プログラムを読み込ませる「アクティベート」が行われる。その後、車両1の電源再起動処理(リブート処理)を経て、ソフトウェア更新が完了する。ソフトウェア更新が完了すると、車載端末12には、更新が完了したことを示す更新完了通知が表示される(例えば、「ソフトウェア更新は完了しました」の表示)。また更新処理の完了後、車両1のイグニッションをオフする処理が電源系ECU14Dにより実行される。 Returning to FIG. 3, when the occupant agrees to start the update process, an "installation" is performed in the vehicle 1 using the update data. Specifically, in the ECU's flash memory, the old program is deleted and then a rewrite process is performed to write the new program. When the rewrite process is complete, an "activation" process is performed to have the ECU's microcomputer read the new program. The vehicle 1 is then powered on again (rebooted), and the software update is complete. When the software update is complete, the in-vehicle terminal 12 displays an update completion notification indicating that the update has been completed (for example, a display of "Software update has been completed"). In addition, after the update process is complete, the power supply system ECU 14D executes a process to turn off the ignition of the vehicle 1.

また図3(B)に示すように、ECUのメモリ構成がダブルバンクの場合、車両1が走行可能な状態で、車両1では配信パッケージの「ダウンロード」の他、更新用データを用いた「インストール」が行われる。ECUのマイコンが第1メモリに格納されたプログラム(旧プログラム)を実行している場合、第2メモリでは、新プログラムを書き込む書き込み処理が行われる。インストール完了後、車両1が停車した状態でイグニッションスイッチ13がオンからオフに切り替わると、車両1では更新処理開始の承諾を乗員に求める「承諾要求」が行われる(図4参照)。乗員が更新処理開始を承諾すると、マイコンの読込先のメモリを第1メモリから第2メモリに変更する「アクティベート」が行われる。その後、車両1の電源再起動処理を経て、ソフトウェア更新が完了する。 As shown in FIG. 3B, when the ECU has a double-bank memory configuration, the vehicle 1 "downloads" the distribution package and also "installs" the update data while the vehicle 1 is in a driveable state. When the ECU's microcomputer is executing the program (old program) stored in the first memory, a write process is performed to write the new program in the second memory. After the installation is complete, when the ignition switch 13 is turned from on to off while the vehicle 1 is stopped, a "consent request" is made in the vehicle 1 to ask the occupant for consent to the start of the update process (see FIG. 4). When the occupant consents to the start of the update process, an "activation" is performed to change the memory the microcomputer reads from from the first memory to the second memory. The vehicle 1 is then powered on again, and the software update is completed.

このように、ECUのフラッシュメモリの構成に応じて、ソフトウェア更新処理の具体的な内容には、「インストール」及び「アクティベート」と「アクティベート」の違いがあるが、いずれの更新処理であっても、更新処理開始の承諾を乗員に求め、乗員が更新処理開始を承諾した操作を行った場合に、車両1では更新処理が実行される。しかしながら、図4の例において、車載端末12に画面D1が表示された状態で乗員が何ら操作しない場合、更新処理開始に対する乗員の意思(承諾又は拒否)を確認できず、更新処理を開始すべきか否かを判定できないという問題がある。そこで、本実施形態に係るソフトウェア更新装置10は、以下の構成及び方法によって、上記の問題の解決を図る。 As described above, the specific content of the software update process varies between "install" and "activate" and "activate" depending on the configuration of the ECU's flash memory, but regardless of the update process, the occupant is asked to consent to starting the update process, and the update process is executed in the vehicle 1 when the occupant performs an operation that consents to starting the update process. However, in the example of FIG. 4, if the occupant does not perform any operation while screen D1 is displayed on the in-vehicle terminal 12, the occupant's intention (approval or refusal) regarding the start of the update process cannot be confirmed, and it is not possible to determine whether the update process should be started or not. Therefore, the software update device 10 according to this embodiment aims to solve the above problem by the following configuration and method.

次に、ソフトウェア更新装置10について説明する。図5に示すように、ソフトウェア更新装置10は、コントローラ40を備えている。図5は、ソフトウェア更新装置10のコントローラ40が有する機能ブロックの一例である。コントローラ40は、ハードウェア及びソフトウェアを備えたコンピュータにより構成され、プログラムを格納したメモリと、このメモリに格納されたプログラムを実行するCPU等を有している。なお、動作回路としては、CPUに代えて又はこれとともに、MPU、DSP、ASIC、FPGAなどを用いることができる。 Next, the software update device 10 will be described. As shown in FIG. 5, the software update device 10 includes a controller 40. FIG. 5 shows an example of a functional block of the controller 40 of the software update device 10. The controller 40 is configured by a computer including hardware and software, and includes a memory that stores a program, and a CPU that executes the program stored in the memory. Note that, as the operating circuit, an MPU, DSP, ASIC, FPGA, etc. can be used instead of or in addition to the CPU.

図5に示すように、コントローラ40は、機能ブロックとして、情報取得部41と、記憶部42と、出力部43と、開始判定部44と、更新処理実行部45と、電源処理実行部50を有している。コントローラ40は、メモリに記憶されたソフトウェアによって、機能ブロックの各機能を実現する。 As shown in FIG. 5, the controller 40 has, as functional blocks, an information acquisition unit 41, a storage unit 42, an output unit 43, a start determination unit 44, an update processing execution unit 45, and a power processing execution unit 50. The controller 40 realizes each function of the functional blocks by software stored in the memory.

情報取得部41は、サーバー2から、車載通信装置11を介して、ソフトウェア更新に関する更新処理情報を取得する。更新処理情報は、上述した、キャンペーン情報、及び配信パッケージを含む。また情報取得部41は、イグニッションスイッチ13から、イグニッションスイッチ13のオン状態又はオフ状態を示す信号を取得する。また情報取得部41は、車載端末12から、ユーザの操作を示す信号を取得する。図4の例において、乗員が承諾表示であるアイコンA1を押した場合、情報取得部41は、車載端末12から、承諾表示が乗員により押されたことを示す信号を取得する。一方、図4の例において、乗員が拒否表示であるアイコンA2を押した場合、情報取得部41は、車載端末12から、拒否表示が乗員により押されたことを示す信号を取得する。 The information acquisition unit 41 acquires update processing information related to software updates from the server 2 via the in-vehicle communication device 11. The update processing information includes the campaign information and distribution package described above. The information acquisition unit 41 also acquires a signal indicating the on or off state of the ignition switch 13 from the ignition switch 13. The information acquisition unit 41 also acquires a signal indicating a user operation from the in-vehicle terminal 12. In the example of FIG. 4, when the occupant presses icon A1, which indicates consent, the information acquisition unit 41 acquires a signal from the in-vehicle terminal 12 indicating that the consent display has been pressed by the occupant. On the other hand, in the example of FIG. 4, when the occupant presses icon A2, which indicates refusal, the information acquisition unit 41 acquires a signal from the in-vehicle terminal 12 indicating that the refusal display has been pressed by the occupant.

記憶部42は、情報取得部41により取得された情報のうち、サーバー2から取得した情報を記憶する記憶装置として機能する。記憶部42としては、例えば、フラッシュメモリ等の不揮発性記録媒体が用いられる。記憶部42は、サーバー2から取得されたキャンペーン情報及び配信パッケージを格納する。また記憶部42は、車両1に搭載されるECUに関する情報(ECUのメモリ構成等)を記憶していてもよい。記憶部42に記憶された各種情報は、更新処理実行部45での処理に用いられる。 The memory unit 42 functions as a storage device that stores information acquired from the server 2 among the information acquired by the information acquisition unit 41. For example, a non-volatile recording medium such as a flash memory is used as the memory unit 42. The memory unit 42 stores the campaign information and distribution packages acquired from the server 2. The memory unit 42 may also store information related to the ECU installed in the vehicle 1 (such as the memory configuration of the ECU). The various information stored in the memory unit 42 is used for processing by the update process execution unit 45.

出力部43は、更新処理実行部45による更新処理の開始を承諾するかを車両1の乗員に求める承諾要求情報を出力する。承諾要求情報としては、例えば、画像、音声などが挙げられるが、乗員に承諾を求める方法は特に限定されない。例えば、出力部43は、図4に示すような「ソフトウェアを更新しますか?」の表示画像をメモリから読み出して、画像信号を車載端末12に出力する。これにより、図4の例のような画面Dが車載端末12に表示される。また例えば、出力部43は、画像信号とともに又はこれに代えて、更新処理開始を承諾するかを乗員に求める音声信号を車載端末12に出力してもよい。これにより、音声により更新処理開始の承諾を乗員に求めることができる。 The output unit 43 outputs consent request information that requests the occupant of the vehicle 1 to consent to the start of the update process by the update process execution unit 45. Examples of the consent request information include an image and a sound, but the method of requesting consent from the occupant is not particularly limited. For example, the output unit 43 reads out a display image of "Do you want to update the software?" as shown in FIG. 4 from the memory and outputs an image signal to the in-vehicle terminal 12. As a result, a screen D as shown in the example of FIG. 4 is displayed on the in-vehicle terminal 12. Also, for example, the output unit 43 may output an audio signal to the in-vehicle terminal 12 together with or instead of the image signal, requesting the occupant to consent to the start of the update process. As a result, the occupant can be requested to consent to the start of the update process by voice.

また本実施形態では、出力部43は、所定の出力条件を満たした場合、承諾要求情報を出力する。出力部43は、情報取得部41により取得された情報に基づき、イグニッションスイッチ13が乗員によりオンからオフに操作されたか否かを判定する。出力部43は、イグニッションスイッチ13の状態を示す信号がオン状態からオフ状態に切り替わった場合、承諾要求情報を出力する。なお、出力部43による出力条件は一例であって、出力条件はその他の条件であってもよい。 In addition, in this embodiment, the output unit 43 outputs consent request information when a predetermined output condition is satisfied. The output unit 43 determines whether the ignition switch 13 has been operated from on to off by the occupant based on the information acquired by the information acquisition unit 41. The output unit 43 outputs consent request information when a signal indicating the state of the ignition switch 13 switches from an on state to an off state. Note that the output condition by the output unit 43 is an example, and the output condition may be other conditions.

開始判定部44は、更新処理実行部45による更新処理を開始するか否かを判定する。開始判定部44は、出力部43により出力された承諾要求情報に対して乗員が更新処理開始を承諾した場合、更新処理を開始すると判定し、承諾要求情報に対して乗員が更新処理開始を拒否した場合、更新処理を開始しないと判定する。図4の例において、車載端末12に表示された画面Dに対して、乗員が承諾表示(アイコンA1)又は拒否表示(アイコンA2)を操作した場合、情報取得部41は、車載端末12から、承諾表示又は拒否表示が乗員により押されたことを示す操作信号を取得する。開始判定部44は、情報取得部41が取得した操作信号を、承諾要求情報に対する乗員の回答である回答情報と見なす。開始判定部44は、回答情報に応じて、更新処理を開始するか否かを判定する。例えば、開始判定部44は、回答情報が、乗員により承諾表示が操作されたことを示す場合、更新処理を開始すると判定し、回答情報が、乗員により拒否表示が操作されたことを示す場合、更新処理を開始しないと判定する。 The start determination unit 44 determines whether or not to start the update process by the update process execution unit 45. If the occupant agrees to start the update process in response to the consent request information output by the output unit 43, the start determination unit 44 determines to start the update process, and if the occupant refuses to start the update process in response to the consent request information, the start determination unit 44 determines not to start the update process. In the example of FIG. 4, when the occupant operates the consent display (icon A1) or the refusal display (icon A2) on the screen D displayed on the in-vehicle terminal 12, the information acquisition unit 41 acquires an operation signal from the in-vehicle terminal 12 indicating that the consent display or the refusal display has been pressed by the occupant. The start determination unit 44 regards the operation signal acquired by the information acquisition unit 41 as answer information, which is the occupant's answer to the consent request information. The start determination unit 44 determines whether or not to start the update process according to the answer information. For example, the start determination unit 44 determines to start the update process if the response information indicates that the occupant has operated the consent display, and determines not to start the update process if the response information indicates that the occupant has operated the refusal display.

また本実施形態では、開始判定部44は、承諾要求情報が出力された後、所定時間以上、回答情報が入力されない場合、更新処理に要する所要時間に基づき、更新処理を開始するか否かを判定する。つまり、更新処理開始を承諾するかを乗員に求めたにもかかわらず、乗員が何ら回答しない場合、開始判定部44は、更新処理に要する所要時間に基づき、更新処理を開始するか否かを判定する。所定時間は、予め設定された時間である。また更新処理に要する所要時間とは、サーバー2で算出された、車両1での更新処理が完了するまでの見積り時間である。 In addition, in this embodiment, if no response information is input for a predetermined time or more after the consent request information is output, the start determination unit 44 determines whether or not to start the update process based on the time required for the update process. In other words, if the occupant does not respond despite being asked whether to consent to the start of the update process, the start determination unit 44 determines whether or not to start the update process based on the time required for the update process. The predetermined time is a time that is set in advance. Furthermore, the time required for the update process is the estimated time calculated by the server 2 until the update process in the vehicle 1 is completed.

開始判定部44は、更新処理に要する所要時間が第1閾値未満の場合、更新処理を開始すると判定し、更新処理に要す所要時間が第1閾値以上の場合、更新処理を開始しないと判定する。第1閾値は、予め設定された閾値(単位:時間)である。第1閾値は、例えば、各ECUの更新処理の平均時間に基づき算出された時間である。 The start determination unit 44 determines to start the update process if the time required for the update process is less than the first threshold, and determines not to start the update process if the time required for the update process is equal to or greater than the first threshold. The first threshold is a preset threshold (unit: time). The first threshold is, for example, a time calculated based on the average time for the update process of each ECU.

更新処理実行部45は、承諾要求情報に対する乗員の回答である回答情報に応じて、更新処理を実行する。更新処理実行部45は、開始判定部44により更新処理を開始すると判定された場合、更新処理を実行し、開始判定部44により更新処理を開始しないと判定された場合、更新処理の実行を延期する。なお、開始判定部44により更新処理を開始しないと判定された場合、更新処理の実行が延期されればよく、更新処理実行部45は、その他の処理を実行してもよい。 The update process execution unit 45 executes the update process according to the response information, which is the occupant's response to the consent request information. If the start determination unit 44 determines that the update process should be started, the update process execution unit 45 executes the update process, and if the start determination unit 44 determines that the update process should not be started, the update process execution unit 45 postpones the execution of the update process. Note that if the start determination unit 44 determines that the update process should not be started, it is sufficient that the execution of the update process is postponed, and the update process execution unit 45 may execute other processes.

更新処理実行部45は、更新処理を実行する機能ブロックとして、更新対象ECUのメモリ構成に応じたインストール実行部及びアクティベート実行部を含む。図5に示すように、更新処理実行部45は、メモリ構成がシングルバンクに対応した第1インストール実行部46及び第1アクティベート実行部47と、メモリ構成がダブルバンクに対応した第2インストール実行部48及び第2アクティベート実行部49とを含む。図3を用いて説明したように、ECUのメモリ構成がシングルバンクかダブルバンクかの違いによって、「インストール」及び「アクティベート」それぞれの処理内容が異なる。このため、本実施形態では、複数のインストール実行部及び複数のアクティベート実行部が設けられている。更新対象ECUのメモリ構成がシングルバンクの場合、第1インストール実行部46により新プログラムのインストールが行われ、第1アクティベート実行部47により新プログラムのアクティベートが行われる。一方、更新対象ECUのメモリ構成がダブルバンクの場合、第2インストール実行部48により新プログラムのインストールが行われ、第2アクティベート実行部49により新プログラムのアクティベートが行われる。更新処理実行部45は、記憶部42に記憶された車両1に搭載されるECUに関する情報から、更新対象ECUのメモリ構成を判別する。 The update process execution unit 45 includes an installation execution unit and an activation execution unit corresponding to the memory configuration of the ECU to be updated as a functional block that executes the update process. As shown in FIG. 5, the update process execution unit 45 includes a first installation execution unit 46 and a first activation execution unit 47 corresponding to a single-bank memory configuration, and a second installation execution unit 48 and a second activation execution unit 49 corresponding to a double-bank memory configuration. As described with reference to FIG. 3, the processing contents of "install" and "activate" differ depending on whether the memory configuration of the ECU is single-bank or double-bank. For this reason, in this embodiment, multiple installation execution units and multiple activation execution units are provided. When the memory configuration of the ECU to be updated is single-bank, the first installation execution unit 46 installs a new program, and the first activation execution unit 47 activates the new program. On the other hand, when the memory configuration of the ECU to be updated is double-bank, the second installation execution unit 48 installs a new program, and the second activation execution unit 49 activates the new program. The update process execution unit 45 determines the memory configuration of the ECU to be updated from information about the ECU installed in the vehicle 1 stored in the storage unit 42.

第1インストール実行部46は、フラッシュメモリに格納されている旧プログラムを削除した後に、新プログラムを書き込むインストール処理を実行する。第1アクティベート実行部47は、フラッシュメモリに書き込まれた新プログラムを、更新対象ECUが備えるマイコンに読み込ませるアクティベート処理を実行する。 The first installation execution unit 46 executes an installation process to write a new program after deleting the old program stored in the flash memory. The first activation execution unit 47 executes an activation process to read the new program written in the flash memory into the microcomputer of the ECU to be updated.

フラッシュメモリの第1メモリ及び第2メモリのうち第1メモリに旧プログラムが格納され、マイコンが旧プログラムを読み込んでいる場合、第2インストール実行部48は、旧プログラムが格納されていない第2メモリに、新プログラムを書き込むインストール処理を実行する。第2アクティベート実行部49は、更新対象ECUが備えるマイコンによるプログラムの読込先を、第1メモリから第2メモリに切り替えるアクティベート処理を実行する。 When the old program is stored in the first memory of the first and second memories of the flash memory and the microcomputer is reading the old program, the second installation execution unit 48 executes an installation process to write the new program to the second memory where the old program is not stored. The second activation execution unit 49 executes an activation process to switch the program reading destination by the microcomputer of the ECU to be updated from the first memory to the second memory.

電源処理実行部50は、車両1のIG電源である駆動用バッテリの出力電力をゼロにするための制御信号を電源系ECU14Dに出力し、車両1のイグニッションをオフさせる。 The power supply processing execution unit 50 outputs a control signal to the power supply system ECU 14D to set the output power of the drive battery, which is the IG power supply of the vehicle 1, to zero, and turns off the ignition of the vehicle 1.

次に、図6のフローチャートを参照しながら、本実施形態に係るソフトウェア更新方法の一例を説明する。図6に示すフローチャートは、図5に示すソフトウェア更新装置10のコントローラ40により実行される。なお、図6のフローチャートは、更新対象ECUのメモリ構成がシングルバンクの場合のフローチャートである。また図6のフローチャートは、図2に示す、ダウンロード(ステップS2)~更新完了の確認(ステップS5)のフローチャートである。 Next, an example of a software update method according to this embodiment will be described with reference to the flowchart in FIG. 6. The flowchart in FIG. 6 is executed by the controller 40 of the software update device 10 shown in FIG. 5. Note that the flowchart in FIG. 6 is a flowchart for the case where the memory configuration of the ECU to be updated is a single bank. The flowchart in FIG. 6 is also a flowchart of the steps from download (step S2) to confirmation of update completion (step S5) shown in FIG. 2.

ステップS11では、コントローラ40は、サーバー2から、車載通信装置11を介して、配信パッケージを取得する(ダウンロード)。配信パッケージは、更新用データ、更新用データの認証処理に用いられる認証用データ、及び更新処理見積り時間を含む。 In step S11, the controller 40 acquires (downloads) a distribution package from the server 2 via the in-vehicle communication device 11. The distribution package includes update data, authentication data used in the authentication process of the update data, and an estimated update process time.

ステップS12では、コントローラ40は、イグニッションスイッチ13が乗員の操作によりオンからオフに切り替わったか否かを判定する。コントローラ40は、イグニッションスイッチ13から、乗員による操作を示す信号を取得する。乗員によりイグニッションスイッチ13がオンからオフに切り替わった場合、ステップS13に進み、イグニッションスイッチ13がオンを維持する場合、乗員によりイグニッションスイッチ13がオンからオフに切り替わるまで、ステップS12で待機する。 In step S12, the controller 40 determines whether the ignition switch 13 has been switched from on to off by the occupant's operation. The controller 40 acquires a signal indicating the operation by the occupant from the ignition switch 13. If the ignition switch 13 has been switched from on to off by the occupant, the controller 40 proceeds to step S13, and if the ignition switch 13 remains on, the controller 40 waits in step S12 until the occupant switches the ignition switch 13 from on to off.

ステップS13では、コントローラ40は、ソフトウェアの更新処理開始を車両1の乗員に承諾を求める承諾要求情報を出力する。例えば、図4の例のように、コントローラ40は、乗員に承諾を求める承諾要求情報を車載端末12の画面に表示させる。 In step S13, the controller 40 outputs consent request information that requests the occupant of the vehicle 1 to consent to the start of the software update process. For example, as shown in the example of FIG. 4, the controller 40 displays the consent request information that requests the occupant's consent on the screen of the in-vehicle terminal 12.

ステップS14では、コントローラ40は、ステップS13で出力した承諾要求情報に対して乗員からの回答があるか否かを判定する。例えば、図4の例のように、承諾要求情報が車載端末12の画面に表示されている場合、コントローラ40は、画面への乗員の操作を示す信号が入力されると、入力された信号を乗員からの回答情報と見なし、乗員からの回答があると判定する。一方、コントローラ40は、画面への乗員の操作を示す信号が入力されないと、乗員からの回答がないと判定する。乗員からの回答があると判定された場合、ステップS15に進み、乗員からの回答がないと判定された場合、ステップS18に進む。 In step S14, the controller 40 determines whether or not there is a response from the occupant to the consent request information output in step S13. For example, as in the example of FIG. 4, when the consent request information is displayed on the screen of the in-vehicle terminal 12, when a signal indicating an operation by the occupant is input to the screen, the controller 40 regards the input signal as response information from the occupant and determines that there is a response from the occupant. On the other hand, when a signal indicating an operation by the occupant is not input to the screen, the controller 40 determines that there is no response from the occupant. If it is determined that there is a response from the occupant, the process proceeds to step S15, and if it is determined that there is no response from the occupant, the process proceeds to step S18.

ステップS14において、乗員からの回答があると判定されると、ステップS15に進む。ステップS15では、コントローラ40は、ステップS14で入力された乗員からの回答情報が、更新処理開始に対する承諾を示す情報か否かを判定する。例えば、図4の例において、乗員がアイコンA1(「今すぐ」の表示)を押した場合、ステップS14で取得した回答情報には、乗員が承諾したことを示す情報が含まれるため、コントローラ40は、更新処理開始に乗員が承諾したと判定する。また例えば、図4の例において、乗員がアイコンA2(「後で」の表示)を押した場合、ステップS14で取得した回答情報には、乗員が拒否することを示す情報が含まれるため、コントローラ40は、更新処理開始に乗員が承諾していないと判定する。乗員が承諾したと判定された場合、ステップS16に進み、乗員が承諾していないと判定された場合、ステップS17に進む。 If it is determined in step S14 that there is a response from the occupant, the process proceeds to step S15. In step S15, the controller 40 determines whether the response information from the occupant input in step S14 indicates consent to the start of the update process. For example, in the example of FIG. 4, if the occupant presses icon A1 (displaying "Now"), the response information acquired in step S14 includes information indicating that the occupant has consented, and the controller 40 determines that the occupant has consented to the start of the update process. Also, for example, in the example of FIG. 4, if the occupant presses icon A2 (displaying "Later"), the response information acquired in step S14 includes information indicating that the occupant refuses, and the controller 40 determines that the occupant has not consented to the start of the update process. If it is determined that the occupant has consented, the process proceeds to step S16, and if it is determined that the occupant has not consented, the process proceeds to step S17.

ステップS15で乗員が承諾したと判定された場合、ステップS16に進む。ステップS16では、コントローラ40は、更新対象ECUに対してソフトウェアの更新処理を実行する。具体的には、ECUのメモリ構成がシングルバンクの場合、図3(A)の例で示すように、コントローラ40は、インストール処理及びアクティベート処理を実行する。各処理の具体的な内容については、既述の説明を援用する。 If it is determined in step S15 that the occupant has consented, the process proceeds to step S16. In step S16, the controller 40 executes a software update process for the ECU to be updated. Specifically, when the memory configuration of the ECU is a single bank, as shown in the example of FIG. 3(A), the controller 40 executes an installation process and an activation process. The specific contents of each process are described above.

ステップS15で乗員が承諾していないと判定された場合、又はステップS16での処理が終了した場合、ステップS17に進む。ステップS17では、コントローラ40は、ステップS12で乗員によるイグニッションスイッチ13への操作に対応する処理として、車両1のイグニッションをオフする処理を実行する。具体的には、コントローラ40は、車両1のイグニッションをオフさせる制御信号を、電源系ECU14Dに出力する。ステップS15の処理が終了すると、図6に示すフローチャートでの処理が終了する。 If it is determined in step S15 that the occupant has not consented, or if the processing in step S16 has ended, the process proceeds to step S17. In step S17, the controller 40 executes a process to turn off the ignition of the vehicle 1 as a process corresponding to the operation of the ignition switch 13 by the occupant in step S12. Specifically, the controller 40 outputs a control signal to the power supply system ECU 14D to turn off the ignition of the vehicle 1. When the processing in step S15 ends, the processing in the flowchart shown in FIG. 6 ends.

ステップS14で乗員からの回答がないと判定された場合、ステップS18に進む。ステップS18では、コントローラ40は、所定時間が経過したか否かを判定する。所定時間が経過したと判定した場合、ステップS19に進む。所定時間が経過していないと判定された場合、ステップS14に戻り、コントローラ40は、上述したステップS14での処理を実行する。 If it is determined in step S14 that there is no response from the occupant, the process proceeds to step S18. In step S18, the controller 40 determines whether or not a predetermined time has elapsed. If it is determined that the predetermined time has elapsed, the process proceeds to step S19. If it is determined that the predetermined time has not elapsed, the process returns to step S14, and the controller 40 executes the process in step S14 described above.

ステップS18で所定時間が経過したと判定された場合、ステップS19に進む。ステップS19では、コントローラ40は、ステップS11で取得した更新処理の所要時間が第1閾値未満であるか否かを判定する。具体的には、コントローラ40は、インストール処理及びアクティベート処理の所要時間が第1閾値未満か否かを判定する。更新処理の所要時間が第1閾値未満と判定された場合、ステップS20に進み、更新処理の所要時間が第1閾値以上と判定された場合、ステップS21に進む。 If it is determined in step S18 that the predetermined time has elapsed, the process proceeds to step S19. In step S19, the controller 40 determines whether the time required for the update process obtained in step S11 is less than a first threshold. Specifically, the controller 40 determines whether the time required for the installation process and the activation process is less than the first threshold. If it is determined that the time required for the update process is less than the first threshold, the process proceeds to step S20, and if it is determined that the time required for the update process is equal to or greater than the first threshold, the process proceeds to step S21.

ステップS19で更新処理の所要時間が閾値未満と判定された場合、ステップS20に進む。ステップS20では、コントローラ40は、更新処理を開始すると判定する。その後、ステップS16に進み、コントローラ40は、上述した更新処理を実行する。一方、ステップS19で更新処理の所要時間が閾値以上と判定された場合、ステップS21に進む。ステップS21では、コントローラ40は、更新処理を開始しないと判定する。その後、ステップS17に進み、コントローラ40は、上述した車両1のイグニッションをオフさせる処理を実行し、図6に示すフローチャートでの処理が終了する。 If it is determined in step S19 that the time required for the update process is less than the threshold, the process proceeds to step S20. In step S20, the controller 40 determines to start the update process. Then, the process proceeds to step S16, where the controller 40 executes the update process described above. On the other hand, if it is determined in step S19 that the time required for the update process is equal to or greater than the threshold, the process proceeds to step S21. In step S21, the controller 40 determines not to start the update process. Then, the process proceeds to step S17, where the controller 40 executes the process of turning off the ignition of the vehicle 1 described above, and the process in the flowchart shown in FIG. 6 ends.

更新対象ECUのメモリ構成がダブルバンクの場合のフローチャートについて、図6を用いて、シングルバンクでの処理と異なるステップのみを説明する。メモリ構成がダブルバンクの場合、コントローラ40は、ステップS11の処理が終了すると、ステップS12に進む前に、ステップS11で取得した新プログラムを用いて、インストール処理を実行する。具体的には、ECUのメモリ構成がダブルバンクの場合、コントローラ40は、図3(B)の例で示すようなインストール処理を実行する。処理の具体的な内容については、既述の説明を援用する。 For the flowchart when the memory configuration of the ECU to be updated is double bank, only the steps that differ from the processing for a single bank will be explained using FIG. 6. When the memory configuration is double bank, after the processing of step S11 is completed, the controller 40 executes an installation process using the new program acquired in step S11 before proceeding to step S12. Specifically, when the memory configuration of the ECU is double bank, the controller 40 executes an installation process as shown in the example of FIG. 3(B). For the specific contents of the process, the explanation given above will be used.

またステップS16では、コントローラ40は、更新対象ECUに対するソフトウェアの更新処理として、アクティベート処理を実行する。具体的には、ECUのメモリ構成がダブルバンクの場合、図3(B)の例で示すように、コントローラ40は、アクティベート処理として、ECUのマイコンの読込先を旧プログラムが格納されているメモリから新プログラムが格納されているメモリに切り替える。 In addition, in step S16, the controller 40 executes an activation process as a software update process for the ECU to be updated. Specifically, when the memory configuration of the ECU is double bank, as shown in the example of FIG. 3(B), the controller 40 switches the read destination of the ECU's microcomputer from the memory in which the old program is stored to the memory in which the new program is stored as the activation process.

またステップS19では、コントローラ40は、ステップS11で取得した更新処理の所要時間が第1閾値未満であるか否かを判定する。具体的には、ECUのメモリ構成がダブルバンクの場合、コントローラ40は、アクティベート処理の所要時間が第1閾値未満であるか否かを判定する。 In step S19, the controller 40 determines whether the time required for the update process obtained in step S11 is less than a first threshold value. Specifically, when the memory configuration of the ECU is double bank, the controller 40 determines whether the time required for the activation process is less than a first threshold value.

以上のように、本実施形態に係るソフトウェア更新装置10は、車両1に搭載されるボディ系ECU14A、走行系ECU14B、マルチメディア系ECU14Cのソフトウェアを更新するソフトウェア更新装置である。ソフトウェア更新装置10は、出力部43と、
更新処理実行部45と、開始判定部44を備える。出力部43は、サーバー2から、ソフトウェアの更新に関する更新処理情報を取得する。更新処理実行部45は、承諾要求情報に対する乗員の回答である回答情報に応じて、更新処理を実行する。開始判定部44は、承諾要求情報が出力された後、所定時間以上、回答情報が入力されない場合、更新処理に要する所要時間に基づき、更新処理を開始するか否かを判定する。本実施形態に係るソフトウェア更新装置10、ソフトウェア更新システム100、及びソフトウェア更新方法によれば、ソフトウェアの更新処理の開始を承諾するかを車両1のユーザである乗員に求め、ユーザからの回答がない場合であっても、更新処理を開始すべきか否かを判定できる。
As described above, the software update device 10 according to the present embodiment is a software update device that updates software in the body system ECU 14A, the driving system ECU 14B, and the multimedia system ECU 14C mounted on the vehicle 1. The software update device 10 includes an output unit 43,
The software update device 10 includes an update process execution unit 45 and a start determination unit 44. The output unit 43 acquires update process information related to software update from the server 2. The update process execution unit 45 executes the update process according to response information, which is the occupant's response to the consent request information. If no response information is input for a predetermined time or more after the consent request information is output, the start determination unit 44 determines whether or not to start the update process based on the time required for the update process. According to the software update device 10, software update system 100, and software update method of this embodiment, the occupant, who is the user of the vehicle 1, is asked whether to consent to the start of the software update process, and even if there is no response from the user, it is possible to determine whether or not to start the update process.

また本実施形態では、更新処理実行部45は、開始判定部44により更新処理を開始すると判定された場合、更新処理を実行し、開始判定部44により更新処理を判定しないと判定された場合、更新処理を実行せずに延期する。これにより、ソフトウェアの更新処理の開始を承諾するかを乗員に求め、乗員からの回答がない場合であっても、自動的に更新処理を実行したり、また自動的に更新処理を延期したりすることができる。 In addition, in this embodiment, when the start determination unit 44 determines that the update process should be started, the update process execution unit 45 executes the update process, and when the start determination unit 44 determines that the update process should not be started, the update process execution unit 45 postpones the update process without executing it. This makes it possible to ask the occupant whether to consent to the start of the software update process, and to automatically execute or automatically postpone the update process even if there is no response from the occupant.

また本実施形態では、開始判定部44は、更新処理に要する所要時間が第1閾値未満の場合、更新処理を開始すると判定し、更新処理に要する所要時間が第1閾値以上の場合、更新処理を開始しないと判定する。更新処理に要する所要時間に応じて、更新処理を開始するか否かを判定できるため、例えば、更新処理に要する所要時間が比較的長い場合、すなわち、車両1のダウンタイムが比較的長い場合、更新処理が完了するまで乗員が車両1を使用できなくなるのを防ぐことができる。また例えば、更新処理に要する時間が比較的短い場合、すなわち、車両1のダウンタイムが比較的短い場合、更新処理が開始されても、乗員は比較的短い待ち時間で車両1を使用することができる。 In addition, in this embodiment, the start determination unit 44 determines to start the update process when the time required for the update process is less than the first threshold value, and determines not to start the update process when the time required for the update process is equal to or greater than the first threshold value. Since it is possible to determine whether to start the update process depending on the time required for the update process, for example, when the time required for the update process is relatively long, i.e., when the downtime of the vehicle 1 is relatively long, it is possible to prevent the occupant from being unable to use the vehicle 1 until the update process is completed. Also, for example, when the time required for the update process is relatively short, i.e., when the downtime of the vehicle 1 is relatively short, even if the update process is started, the occupant can use the vehicle 1 with a relatively short waiting time.

また本実施形態では、更新対象ECUは、旧プログラムを格納するフラッシュメモリを有し、更新処理実行部45は、旧プログラムをフラッシュメモリから削除した後に、フラッシュメモリに新プログラムを書き込むインストール処理を実行する第1インストール実行部46と、フラッシュメモリに書き込まれた新プログラムをマイコンに読み込ませるアクティベート処理を実行する第1アクティベート実行部47を含み、更新処理実行部45により実行される更新処理は、インストール処理及びアクティベート処理である。これにより、更新対象ECUのメモリ構成がシングルバンクの場合にも、更新処理を開始すべきか否かを判定できる。 In this embodiment, the ECU to be updated has a flash memory that stores the old program, and the update process execution unit 45 includes a first installation execution unit 46 that executes an installation process to write a new program to the flash memory after deleting the old program from the flash memory, and a first activation execution unit 47 that executes an activation process to read the new program written to the flash memory into the microcomputer, and the update process executed by the update process execution unit 45 is an installation process and an activation process. This makes it possible to determine whether or not to start the update process even when the memory configuration of the ECU to be updated is single bank.

また本実施形態では、更新対象ECUは、旧プログラムを格納する第1メモリと、第2メモリのダブルバンクで構成されるフラッシュメモリを有し、更新処理実行部45は、第2メモリに新プログラムを書き込む第2インストール実行部48と、マイコンのプログラムの読込先を、第1メモリから第2メモリに切り替えるアクティベート処理を実行する第2アクティベート実行部49を含み、更新処理実行部45により実行される更新処理は、インストール処理及びアクティベート処理である。これにより、更新対象ECUのメモリ構成がダブルバンクの場合にも、更新処理を開始すべきか否かを判定できる。 In addition, in this embodiment, the ECU to be updated has a flash memory configured with double banks of a first memory that stores the old program and a second memory, and the update process execution unit 45 includes a second installation execution unit 48 that writes a new program to the second memory, and a second activation execution unit 49 that executes an activation process that switches the microcomputer's program reading destination from the first memory to the second memory, and the update process executed by the update process execution unit 45 is an installation process and an activation process. This makes it possible to determine whether or not to start the update process even when the memory configuration of the ECU to be updated is double bank.

また本実施形態では、情報取得部41は、車両1のイグニッションスイッチ13から、イグニッションスイッチ13のオン状態又はオフ状態を示す信号を取得し、出力部43は、乗員によりイグニッションスイッチ13がオンからオフに操作された場合、承諾要求情報を出力する。乗員が車両1を使用しないことを表す操作をトリガにして、承諾要求情報を乗員に提示することができる。 In this embodiment, the information acquisition unit 41 acquires a signal indicating the on or off state of the ignition switch 13 from the ignition switch 13 of the vehicle 1, and the output unit 43 outputs consent request information when the ignition switch 13 is turned from on to off by the occupant. The consent request information can be presented to the occupant using an operation indicating that the occupant will not use the vehicle 1 as a trigger.

また本実施形態では、情報取得部41は、サーバー2から、更新処理時間の所要時間を取得する。これにより、ソフトウェア更新装置10で更新処理の所要時間を算出することなく、更新処理を開始すべきか否かを判定できるため、ソフトウェア更新装置10での演算負荷を低減することができる。 In addition, in this embodiment, the information acquisition unit 41 acquires the time required for the update process from the server 2. This allows the software update device 10 to determine whether or not to start the update process without calculating the time required for the update process, thereby reducing the computational load on the software update device 10.

なお、本実施形態では、ソフトウェア更新装置10が、サーバー2から更新処理の所要時間を取得する構成を例に挙げて説明したが、更新処理の所要時間を算出する主体はサーバー2に限定されず、ソフトウェア更新装置10が更新処理の所要時間を算出してもよい。 In this embodiment, the software update device 10 acquires the time required for the update process from the server 2, but the entity that calculates the time required for the update process is not limited to the server 2, and the software update device 10 may calculate the time required for the update process.

本実施形態の変形例として、コントローラ40は、機能ブロックとして、更新用データのデータサイズに基づき、更新処理に要する所要時間を算出する算出部を有していてもよい。例えば、更新用データのデータサイズと更新処理見積り時間の関係を示すマップが予め記憶部42に格納されている場合、算出部は、当該マップを参照して、データサイズに応じた更新処理見積り時間を算出してもよい。また例えば、算出部は、更新用データのデータサイズが大きいほど、更新処理見積り時間を長く算出してもよい。変形例のように、ソフトウェア更新装置10が更新処理見積り時間を算出することで、サーバー2での演算負荷を低減することができる。なお、コントローラ40が更新処理見積り時間を算出するタイミングは、更新処理見積り時間と第1閾値との比較が行われる前であれば特に限定されないが、例えば、図6のフローチャートにおいて、コントローラ40は、ステップS11とステップS12の間で、更新用データのデータサイズに基づき、更新処理に要する所要時間を算出する。 As a modified example of this embodiment, the controller 40 may have, as a functional block, a calculation unit that calculates the time required for the update process based on the data size of the update data. For example, if a map showing the relationship between the data size of the update data and the estimated update process time is stored in advance in the storage unit 42, the calculation unit may refer to the map to calculate the estimated update process time according to the data size. For example, the calculation unit may calculate a longer estimated update process time as the data size of the update data increases. As in the modified example, the software update device 10 calculates the estimated update process time, thereby reducing the calculation load on the server 2. Note that the timing at which the controller 40 calculates the estimated update process time is not particularly limited as long as it is before the comparison of the estimated update process time with the first threshold value is performed. For example, in the flowchart of FIG. 6, the controller 40 calculates the required time required for the update process based on the data size of the update data between steps S11 and S12.

≪第2実施形態≫
次に、第2実施形態に係るソフトウェア更新装置について説明する。第2実施形態に係るソフトウェア更新装置は、上述した第1実施形態に係るソフトウェア更新装置10に対して、開始判定部44の一部の機能が異なる以外は、第1実施形態と同じ構成のため、第1実施形態と同じ構成については、既述の説明を援用する。
Second Embodiment
Next, a software update device according to a second embodiment will be described. The software update device according to the second embodiment has the same configuration as the first embodiment, except that the start determination unit 44 has a part of different function from the software update device 10 according to the first embodiment described above. Therefore, the same configuration as the first embodiment will be described with reference to the above description.

本実施形態では、開始判定部44は、出力部43により承諾要求情報が出力された後、所定時間以上、乗員からの回答情報が入力されない場合、ECUのソフトウェアの更新に対する重要度に基づき、更新処理を開始するか否かを判定する。ECUのソフトウェアの更新に対する重要度とは、上述した第1実施形態において、サーバー2で算出された、更新の重要度である。 In this embodiment, if no response information is input from the occupant for a predetermined time or longer after the output unit 43 outputs the consent request information, the start determination unit 44 determines whether or not to start the update process based on the importance of the ECU software update. The importance of the ECU software update is the importance of the update calculated by the server 2 in the first embodiment described above.

開始判定部44は、更新の重要度が第2閾値以上の場合、更新処理を開始すると判定し、更新の重要度が第2閾値未満の場合、更新処理を開始しないと判定する。第2閾値は、予め設定された閾値である。第2閾値は、例えば、各ECUに付されたASILのランクを平均した平均ランクに基づき算出された値である。 The start determination unit 44 determines to start the update process when the importance of the update is equal to or greater than the second threshold, and determines not to start the update process when the importance of the update is less than the second threshold. The second threshold is a preset threshold. The second threshold is, for example, a value calculated based on an average rank obtained by averaging the ASIL ranks assigned to each ECU.

次に、図7のフローチャートを参照しながら、本実施形態に係るソフトウェア更新方法の一例を説明する。図7に示すフローチャートは、本実施形態に係るソフトウェア更新装置のコントローラ40により実行される。なお、図7のフローチャートは、図6のステップS19に相当するステップが異なる以外は、図6のフローチャートと同じフローチャートであるため、図6のフローチャートと同じステップについては、既述の説明を援用する。 Next, an example of a software update method according to this embodiment will be described with reference to the flowchart in FIG. 7. The flowchart shown in FIG. 7 is executed by the controller 40 of the software update device according to this embodiment. Note that the flowchart in FIG. 7 is the same as the flowchart in FIG. 6 except for the step corresponding to step S19 in FIG. 6, and therefore the above explanation will be used for the steps that are the same as those in the flowchart in FIG. 6.

ステップS18で所定時間が経過したと判定された場合、ステップS22に進む。ステップS22では、コントローラ40は、ステップS11で取得した更新の重要度が第2閾値以上か否かを判定する。更新の重要度が第2閾値以上と判定された場合、ステップS20に進み、更新の重要度が第2閾値未満と判定された場合、ステップS21に進む。 If it is determined in step S18 that the predetermined time has elapsed, the process proceeds to step S22. In step S22, the controller 40 determines whether the importance of the update obtained in step S11 is equal to or greater than the second threshold. If it is determined that the importance of the update is equal to or greater than the second threshold, the process proceeds to step S20, and if it is determined that the importance of the update is less than the second threshold, the process proceeds to step S21.

以上のように、本実施形態では、開始判定部44は、出力部43により承諾要求情報が出力された後、所定時間以上、乗員からの回答情報が入力されない場合、ECUのソフトウェアの更新に対する重要度に基づき、更新処理を開始するか否かを判定する。これにより、ソフトウェアの更新処理の開始を承諾するかを車両1のユーザである乗員に求め、ユーザからの回答がない場合であっても、更新処理を開始すべきか否かを判定できる。 As described above, in this embodiment, if no response information is input from the occupant for a predetermined time or longer after the output unit 43 outputs consent request information, the start determination unit 44 determines whether or not to start the update process based on the importance of the ECU software update. This makes it possible to ask the occupant, who is the user of the vehicle 1, whether to consent to the start of the software update process, and to determine whether or not to start the update process even if there is no response from the user.

また本実施形態では、開始判定部44は、更新の重要度が第2閾値以上の場合、更新処理を開始すると判定し、更新の重要度が第2閾値未満の場合、更新処理を開始しないと判定する。更新の重要度に応じて、更新処理を開始するか否かを判定できるため、重要性や緊急性の高い更新処理の開始を承諾するか乗員に求め、乗員からの回答がない場合であっても、自動的に重要性や緊急性の高い更新処理を実行することができる。 In addition, in this embodiment, the start determination unit 44 determines to start the update process when the importance of the update is equal to or greater than the second threshold, and determines not to start the update process when the importance of the update is less than the second threshold. Since it is possible to determine whether to start the update process or not depending on the importance of the update, the occupant is asked whether to consent to the start of an update process that is highly important or urgent, and even if there is no response from the occupant, the update process that is highly important or urgent can be automatically executed.

なお、本実施形態では、ソフトウェア更新装置10が、サーバー2から更新の重要度を取得する構成を例に挙げて説明したが、更新の重要度を算出する主体はサーバー2に限定されず、ソフトウェア更新装置10が更新の重要度を算出してもよい。 In this embodiment, the software update device 10 acquires the importance of the update from the server 2. However, the entity that calculates the importance of the update is not limited to the server 2. The software update device 10 may calculate the importance of the update.

本実施形態の変形例として、コントローラ40は、機能ブロックとして、更新対象ECUの種別に基づき、更新の重要度を算出する重要度算出部を備えていてもよい。例えば、重要度算出部は、更新対象ECUが車両1の走行に関与するECUの場合、更新対象ECUが車両1の走行に関与しないECUの場合に比べて、更新の重要度を高く算出する。また例えば、重要度算出部は、更新対象ECUに付されたASILのランクが所定の基準ランクよりも高い場合、更新対象ECUに付されたASILのランクが所定の基準ランクよりも低い場合に比べて、更新の重要度を高く算出する。ソフトウェア更新装置10が更新の重要度を算出することで、サーバー2での演算負荷を低減することができる。なお、コントローラ40が更新の重要度を算出するタイミングは、更新の重要度と第2閾値とを比較する前であれば特に限定されないが、例えば、図7のフローチャートにおいて、コントローラ40は、ステップS11とステップS12の間で、更新対象ECUの種別に基づき、更新の重要度を算出する。また更新対象ECUのメモリ構成がダンブルバンクの場合のフローチャートについては、上述した第1実施形態での説明を援用する。 As a modified example of this embodiment, the controller 40 may include, as a functional block, an importance calculation unit that calculates the importance of the update based on the type of the ECU to be updated. For example, when the ECU to be updated is an ECU involved in the running of the vehicle 1, the importance calculation unit calculates the importance of the update to be higher than when the ECU to be updated is an ECU not involved in the running of the vehicle 1. Also, for example, when the rank of the ASIL attached to the ECU to be updated is higher than a predetermined reference rank, the importance calculation unit calculates the importance of the update to be higher than when the rank of the ASIL attached to the ECU to be updated is lower than a predetermined reference rank. The software update device 10 calculates the importance of the update, thereby reducing the calculation load on the server 2. Note that the timing when the controller 40 calculates the importance of the update is not particularly limited as long as it is before comparing the importance of the update with the second threshold value. For example, in the flowchart of FIG. 7, the controller 40 calculates the importance of the update based on the type of the ECU to be updated between steps S11 and S12. Furthermore, the explanation in the first embodiment above applies to the flowchart when the memory configuration of the ECU to be updated is a dumble bank.

≪第3実施形態≫
次に、第3実施形態に係るソフトウェア更新装置について説明する。第3実施形態に係るソフトウェア更新装置は、上述した2つの実施形態に係るソフトウェア更新装置に対して、開始判定部44の一部の機能が異なる以外は、第1実施形態及び第2実施形態と同じ構成のため、第1実施形態及び第2実施形態と同じ構成については、既述の説明を援用する。
Third Embodiment
Next, a software update device according to a third embodiment will be described. The software update device according to the third embodiment has the same configuration as the first and second embodiments except for a part of the function of the start determination unit 44, which is different from that of the software update devices according to the above-mentioned two embodiments. Therefore, the above-mentioned description will be used for the same configuration as the first and second embodiments.

本実施形態では、開始判定部44は、出力部43により承諾要求情報が出力された後、所定時間以上、乗員からの回答情報が入力されない場合、第1実施形態での更新処理に要する所要時間に応じた判定方法と、第2実施形態での更新の重要度に応じた判定方法とを組み合わせて、更新処理を開始するか否かを判定する。開始判定部44は、更新処理の重要度が第2閾値以上の場合、更新処理に要する所要時間が第1閾値未満であるか否かにかかわらず、更新処理を開始すると判定する。例えば、開始判定部44は、まず更新の重要度に応じた判定方法を用い、更新の重要度が第2閾値以上の場合、更新処理を開始すると判定する。開始判定部44は、更新の重要度が第2閾値未満の場合、更新処理に要する所要時間に応じた判定方法を用い、更新処理に要する時間が第1閾値未満の場合、更新処理を開始すると判定し、更新処理に要する時間が第1閾値上の場合、更新処理を開始しないと判定する。更新の重要度は、第2実施形態に係る更新の重要度であり、更新処理に要する所要時間とは、第1実施形態に係る更新処理に要する所要時間である。 In this embodiment, when no response information is input from the occupant for a predetermined time or more after the output unit 43 outputs the consent request information, the start determination unit 44 combines the determination method according to the time required for the update process in the first embodiment and the determination method according to the importance of the update in the second embodiment to determine whether or not to start the update process. When the importance of the update process is equal to or greater than the second threshold, the start determination unit 44 determines to start the update process regardless of whether the time required for the update process is less than the first threshold. For example, the start determination unit 44 first uses the determination method according to the importance of the update, and when the importance of the update is equal to or greater than the second threshold, determines to start the update process. When the importance of the update is less than the second threshold, the start determination unit 44 uses the determination method according to the time required for the update process, and when the time required for the update process is less than the first threshold, determines to start the update process, and when the time required for the update process is equal to or greater than the first threshold, determines not to start the update process. The importance of the update is the importance of the update in the second embodiment, and the time required for the update process is the time required for the update process in the first embodiment.

次に、図8のフローチャートを参照しながら、本実施形態に係るソフトウェア更新方法の一例を説明する。図8に示すフローチャートは、本実施形態に係るソフトウェア更新装置のコントローラ40により実行される。なお、図8のフローチャートは、図7のフローチャートに対して、ステップS23が追加された以外は、図7のフローチャートと同じフローチャートであるため、図7のフローチャートと同じステップについては、既述の説明を援用する。 Next, an example of a software update method according to this embodiment will be described with reference to the flowchart in FIG. 8. The flowchart shown in FIG. 8 is executed by the controller 40 of the software update device according to this embodiment. Note that the flowchart in FIG. 8 is the same as the flowchart in FIG. 7 except that step S23 has been added to the flowchart in FIG. 7. Therefore, the above explanation will be used for the steps that are the same as those in the flowchart in FIG. 7.

ステップS18で所定時間が経過したと判定された場合、ステップS22に進む。ステップS22では、コントローラ40は、ステップS11で取得した更新の重要度が第2閾値以上か否かを判定する。更新の重要度が第2閾値以上と判定された場合、ステップS20に進み、更新の重要度が第2閾値未満と判定された場合、ステップS23に進む。 If it is determined in step S18 that the predetermined time has elapsed, the process proceeds to step S22. In step S22, the controller 40 determines whether the importance of the update obtained in step S11 is equal to or greater than the second threshold. If it is determined that the importance of the update is equal to or greater than the second threshold, the process proceeds to step S20, and if it is determined that the importance of the update is less than the second threshold, the process proceeds to step S23.

ステップS22で更新の重要度が第2閾値未満と判定された場合、ステップS23に進む。ステップS23では、コントローラ40は、ステップS11で取得した更新処理の所要時間が第1閾値未満であるか否かを判定する。具体的には、コントローラ40は、インストール処理及びアクティベート処理の所要時間が第1閾値未満か否かを判定する。更新処理の所要時間が第1閾値未満と判定された場合、ステップS20に進み、更新処理の所要時間が第1閾値以上と判定された場合、ステップS21に進む。ステップS23は、第1実施形態でのステップS19に対応したステップである。 If it is determined in step S22 that the importance of the update is less than the second threshold, the process proceeds to step S23. In step S23, the controller 40 determines whether the time required for the update process obtained in step S11 is less than the first threshold. Specifically, the controller 40 determines whether the time required for the installation process and the activation process is less than the first threshold. If it is determined that the time required for the update process is less than the first threshold, the process proceeds to step S20, and if it is determined that the time required for the update process is equal to or greater than the first threshold, the process proceeds to step S21. Step S23 corresponds to step S19 in the first embodiment.

以上のように、本実施形態では、開始判定部44は、更新の重要度が第2閾値以上の場合、更新処理に要する所要時間が第1閾値未満であるか否かにかかわらず、更新処理を開始すると判定する。これにより、重要度が比較的高い更新の場合、更新処理に要する時間にかからず、更新処理を開始すると判定できるため、重要性や緊急性の高い更新処理の開始を承諾するか乗員に求め、乗員からの回答がない場合であっても、自動的に重要性や緊急性の高い更新処理を実行することができる。 As described above, in this embodiment, when the importance of the update is equal to or greater than the second threshold, the start determination unit 44 determines that the update process should be started regardless of whether the time required for the update process is less than the first threshold. As a result, in the case of an update with a relatively high importance, it is possible to determine that the update process should be started regardless of the time required for the update process, and therefore it is possible to ask the occupant whether to consent to the start of an update process with high importance or urgency, and to automatically execute the update process with high importance or urgency even if there is no response from the occupant.

なお、上述した第1実施形態及び第2実施形態と同様に、本実施形態においても、更新処理の所要時間及び更新の重要度を算出する主体はサーバー2に限定されず、ソフトウェア更新装置10が更新処理の所要時間を算出してもよい。具体的な構成については、既述の説明を援用する。また更新対象ECUのメモリ構成がダンブルバンクの場合のフローチャートについては、上述した第1実施形態での説明を援用する。 As in the first and second embodiments described above, in this embodiment, the entity that calculates the time required for the update process and the importance of the update is not limited to the server 2, and the software update device 10 may calculate the time required for the update process. The specific configuration is as described above. Also, the explanation in the first embodiment described above is as follows for the flow chart when the memory configuration of the ECU to be updated is a dumble bank.

なお、以上に説明した実施形態は、本発明の理解を容易にするために記載されたものであって、本発明を限定するために記載されたものではない。したがって、上記の実施形態に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物をも含む趣旨である。 The above-described embodiments are described to facilitate understanding of the present invention, and are not described to limit the present invention. Therefore, each element disclosed in the above embodiments is intended to include all design modifications and equivalents that fall within the technical scope of the present invention.

例えば、上述した第3実施形態では、更新処理に要する所要時間に応じた開始判定の方法と更新の重要度に応じた開始判定の方法とを用いる構成を例に挙げて説明したが、第3実施形態での開始判定の方法と同等の効果が得られる方法は、2つの開始判定の方法を用いることに限られない。例えば、上述した第1実施形態において、開始判定部44は、更新の重要度に応じて、更新処理に要する所要時間との比較対象である第1閾値を設定してもよい。例えば、開始判定部44は、更新の重要度が第2閾値以上の場合、更新の重要度が第2閾値未満の場合に比べて、第1閾値を高く設定してもよい。また開始判定部44は、更新の重要度が高いほど、第1閾値を高く設定してもよい。第1閾値が高く設定されるほど、開始判定部44での更新処理に要する所要時間と第1閾値との比較では、更新処理を開始すると判定されやすくなり、第3実施形態での効果と同様の効果を得ることができる。 For example, in the above-mentioned third embodiment, a configuration using a start determination method according to the time required for the update process and a start determination method according to the importance of the update are described as an example, but a method that can obtain an effect equivalent to that of the start determination method in the third embodiment is not limited to using two start determination methods. For example, in the above-mentioned first embodiment, the start determination unit 44 may set a first threshold value to be compared with the time required for the update process according to the importance of the update. For example, when the importance of the update is equal to or greater than the second threshold value, the start determination unit 44 may set the first threshold value higher than when the importance of the update is less than the second threshold value. In addition, the start determination unit 44 may set the first threshold value higher as the importance of the update increases. The higher the first threshold value is set, the easier it is to determine that the update process should be started when comparing the time required for the update process in the start determination unit 44 with the first threshold value, and the same effect as that in the third embodiment can be obtained.

また例えば、上述した第1実施形態~第3実施形態では、更新処理の開始を承諾することを乗員に求め、乗員が承諾した場合、ソフトウェア更新装置10が、更新処理を実行する構成を例に挙げて説明したが、ソフトウェア更新装置10は、承諾要求情報に対する乗員の回答に加えて、車両1の停車地点に応じて、更新処理を実行してもよい。例えば、情報取得部41は、GPS等の車両1の現在地を検出する検出装置から、車両1の位置情報を取得し、更新処理実行部45は、承諾要求情報に対する乗員の回答である回答情報及び車両1の停車地点に応じて、更新処理を実行してもよい。例えば、乗員が所定の店舗に立ち寄るために、車両1を店舗の駐車場に停車させた場合、乗員の店舗での滞在時間は乗員の自宅に比べて短いため、更新処理に使用可能な時間が短い傾向にある。このような場合、更新処理実行部45は、乗員が更新処理の開始を承諾しても、更新処理を実行しない。例えば、図8のフローチャートにおいて、ソフトウェア更新装置10は、ステップS13及びステップS14の処理を省略して、ステップS12で肯定的な判定がされた場合、ステップS21の処理を実行してもよい。また例えば、乗員が帰宅するために、車両1を自宅の駐車場に停車させた場合、更新処理に使用可能な時間が比較的長い傾向にある。このような場合、更新処理実行部45は、乗員が更新処理の開始を承諾すれば、更新処理を実行する。例えば、図8のフローチャートにおいて、ソフトウェア更新装置10は、ステップS13の処理が終了した後、ステップS14の処理を省略して、ステップS16を実行してもよい。なお、車両の停車地点として、店舗とユーザの自宅を例に挙げて説明したが、車両の停車地点を限定するものではない。 In the above-described first to third embodiments, the occupant is asked to consent to the start of the update process, and if the occupant consents, the software update device 10 executes the update process. However, the software update device 10 may execute the update process according to the stopping point of the vehicle 1 in addition to the occupant's response to the consent request information. For example, the information acquisition unit 41 may acquire the location information of the vehicle 1 from a detection device that detects the current location of the vehicle 1, such as a GPS, and the update process execution unit 45 may execute the update process according to the response information, which is the occupant's response to the consent request information, and the stopping point of the vehicle 1. For example, when the occupant stops the vehicle 1 in a parking lot of a store to stop by a specific store, the occupant's stay time at the store is shorter than that at the occupant's home, so the time available for the update process tends to be shorter. In such a case, the update process execution unit 45 does not execute the update process even if the occupant consents to the start of the update process. For example, in the flowchart of FIG. 8, the software update device 10 may omit the processes of steps S13 and S14 and execute the process of step S21 if a positive determination is made in step S12. For example, when the occupant parks the vehicle 1 in a parking lot at home to return home, the time available for the update process tends to be relatively long. In such a case, the update process execution unit 45 executes the update process if the occupant agrees to start the update process. For example, in the flowchart of FIG. 8, after the process of step S13 is completed, the software update device 10 may omit the process of step S14 and execute step S16. Note that, although the store and the user's home have been described as examples of vehicle stopping points, the vehicle stopping points are not limited to these.

また例えば、上述した第1実施形態~第3実施形態では、更新処理に要する所要時間との比較対象である第1閾値、及び更新の重要度との比較対象である第2閾値は、それぞれ予め設定された値として説明したが、第1閾値及び/又は第2閾値は、ユーザが設定可能な値であってもよい。例えば、ユーザは、車載端末12を介して第1閾値及び/又は第2閾値を設定する構成であってもよい。例えば、更新処理に要する所要時間が5分未満の場合、ソフトウェア更新装置10に更新処理を開始すると判定させたい場合、ユーザは、第1閾値を5分に設定する。 For example, in the above-described first to third embodiments, the first threshold value, which is compared with the time required for the update process, and the second threshold value, which is compared with the importance of the update, are each described as being preset values, but the first threshold value and/or the second threshold value may be values that the user can set. For example, the user may set the first threshold value and/or the second threshold value via the in-vehicle terminal 12. For example, if the user wants the software update device 10 to determine that the update process should be started when the time required for the update process is less than five minutes, the user sets the first threshold value to five minutes.

100…ソフトウェア更新システム
1…車両
10…ソフトウェア更新装置
40…コントローラ
41…情報取得部
42…記憶部
43…出力部
44…開始判定部
45…更新処理実行部
46…第1インストール実行部
47…第1アクティベート実行部
48…第2インストール実行部
49…第2アクティベート実行部
50…電源処理実行部
11…車載通信装置
12…車載端末
13…イグニッションスイッチ
14A…ボディ系ECU
14B…走行系ECU
14C…マルチメディア系ECU
14D…電源系ECU
2…サーバー
21…通信装置
22…データベース
23…制御装置
3…ユーザ端末
31…端末通信装置
32…端末HMI
33…端末制御装置
REFERENCE SIGNS LIST 100 software update system 1 vehicle 10 software update device 40 controller 41 information acquisition unit 42 storage unit 43 output unit 44 start determination unit 45 update process execution unit
46...First installation execution unit
47...First activation execution unit
48...Second installation execution unit
Reference Signs List 49: second activation execution unit 50: power supply processing execution unit 11: in-vehicle communication device 12: in-vehicle terminal 13: ignition switch 14A: body system ECU
14B...Driving system ECU
14C...Multimedia ECU
14D...Power system ECU
2: Server 21: Communication device 22: Database 23: Control device 3: User terminal 31: Terminal communication device 32: Terminal HMI
33...Terminal control device

Claims (17)

車両に搭載される車載制御装置のソフトウェアを更新するソフトウェア更新装置であって、
前記車両の外部に設けられたサーバーから、前記ソフトウェアの更新に関する更新処理情報を取得する情報取得部と、
前記ソフトウェアの更新処理の開始を承諾するかユーザに求める承諾要求情報を出力する出力部と、
前記承諾要求情報に対する前記ユーザの回答である回答情報に応じて、前記更新処理を実行する実行部と、
前記承諾要求情報が出力された後、所定時間以上、前記回答情報が入力されない場合、前記更新処理に要する所要時間及び前記ソフトウェアの更新に対する重要度のうち少なくとも何れか一方に基づき、前記更新処理を開始するか否かを判定する開始判定部を備えるソフトウェア更新装置。
A software update device for updating software of an on-board control device mounted in a vehicle,
an information acquisition unit that acquires update processing information related to the software update from a server provided outside the vehicle;
an output unit that outputs consent request information that requests a user to consent to the start of the software update process;
an execution unit that executes the update process in response to answer information that is an answer of the user to the consent request information;
A software update device comprising a start determination unit that, when the response information is not input for a predetermined time or longer after the consent request information is output, determines whether to start the update process based on at least one of the time required for the update process and the importance of the software update.
請求項1に記載のソフトウェア更新装置であって、
前記実行部は、
前記開始判定部により前記更新処理を開始すると判定された場合、前記更新処理を実行し、
前記開始判定部により前記更新処理を開始しないと判定された場合、前記更新処理の実行を延期するソフトウェア更新装置。
2. The software update device according to claim 1,
The execution unit is
When the start determination unit determines that the update process should be started, the update process is executed;
A software updating device that postpones execution of the update process when the start determination unit determines not to start the update process.
請求項2に記載のソフトウェア更新装置であって、
前記開始判定部は、
前記所要時間が所定の第1閾値未満の場合、前記更新処理を開始すると判定し、
前記所要時間が前記第1閾値以上の場合、前記更新処理を開始しないと判定するソフトウェア更新装置。
3. The software update device according to claim 2,
The start determination unit is
If the required time is less than a predetermined first threshold, it is determined that the update process is to be started;
When the required time is equal to or greater than the first threshold value, the software updating device determines not to start the update process.
請求項2又は3に記載のソフトウェア更新装置であって、
前記開始判定部は、
前記重要度が所定の第2閾値以上の場合、前記更新処理を開始すると判定し、
前記重要度が前記第2閾値未満の場合、前記更新処理を開始しないと判定するソフトウェア更新装置。
4. The software update device according to claim 2,
The start determination unit is
If the importance is equal to or greater than a predetermined second threshold, it is determined that the update process is to be started;
When the importance is less than the second threshold, the software updating device determines not to start the update process.
請求項2に記載のソフトウェア更新装置であって、
前記開始判定部は、前記重要度が所定の第2閾値以上の場合、前記所要時間が所定の第1閾値未満であるか否かにかかわらず、前記更新処理を開始すると判定するソフトウェア更新装置。
3. The software update device according to claim 2,
The software updating device, wherein the initiation determination unit determines to start the update process when the importance is equal to or greater than a predetermined second threshold, regardless of whether the required time is less than a predetermined first threshold.
請求項3に記載のソフトウェア更新装置であって、
前記開始判定部は、前記重要度に応じて、前記第1閾値を設定するソフトウェア更新装置。
4. The software update device according to claim 3,
The software updating device, wherein the initiation determination unit sets the first threshold value depending on the importance.
請求項1~6の何れかに記載のソフトウェア更新装置であって、
前記車載制御装置は、古いバージョンの前記ソフトウェアを実現するための第1プログラムを格納する第1メモリを有し、
前記実行部は、
前記第1プログラムを前記第1メモリから削除した後に、前記第1メモリに、新しいバージョンの前記ソフトウェアを実現するための第2プログラムを書き込むインストール処理を実行するインストール実行部と、
前記第1メモリに書き込まれた前記第2プログラムを読み込ませるアクティベート処理を実行するアクティベート実行部を含み、
前記更新処理は、前記インストール処理及び前記アクティベート処理であるソフトウェア更新装置。
The software update device according to any one of claims 1 to 6,
the on-board control device has a first memory that stores a first program for implementing the old version of the software;
The execution unit is
an installation execution unit that executes an installation process to write a second program for implementing a new version of the software into the first memory after deleting the first program from the first memory;
an activation execution unit that executes an activation process to read the second program written in the first memory,
The software updating device, wherein the update process includes the installation process and the activation process.
請求項1~6の何れかに記載のソフトウェア更新装置であって、
前記車載制御装置は、古いバージョンの前記ソフトウェアを実現するための第1プログラムを格納する第1メモリと、第2メモリを有し、
前記実行部は、
前記第2メモリに、新しいバージョンの前記ソフトウェアを実現するための第2プログラムを書き込むインストール実行部と、
プログラムの読込先を、前記第1メモリから前記第2メモリに切り替えるアクティベート処理を実行するアクティベート実行部を含み、
前記更新処理は、前記アクティベート処理であるソフトウェア更新装置。
The software update device according to any one of claims 1 to 6,
the on-board control device has a first memory for storing a first program for implementing the old version of the software, and a second memory;
The execution unit is
an installation execution unit that writes a second program for implementing a new version of the software into the second memory;
an activation execution unit that executes an activation process to switch a program loading destination from the first memory to the second memory,
The software updating device, wherein the update process is the activation process.
請求項1~8の何れかに記載のソフトウェア更新装置であって、
前記情報取得部は、前記車両の起動スイッチから、前記起動スイッチのオン状態又はオフ状態を示す信号を取得し、
前記出力部は、前記ユーザにより前記起動スイッチがオンからオフに操作された場合、前記承諾要求情報を出力するソフトウェア更新装置。
The software update device according to any one of claims 1 to 8,
The information acquisition unit acquires, from a start switch of the vehicle, a signal indicating an on state or an off state of the start switch,
The output unit outputs the consent request information when the user turns the activation switch from on to off.
請求項1~9の何れかに記載のソフトウェア更新装置であって、
前記情報取得部は、前記車両の現在地を検出する検出装置から、前記車両の位置情報を取得し、
前記実行部は、前記回答情報及び前記車両の停車地点に応じて、前記更新処理を実行するソフトウェア更新装置。
The software update device according to any one of claims 1 to 9,
The information acquisition unit acquires location information of the vehicle from a detection device that detects a current location of the vehicle,
The execution unit is a software update device that executes the update process in accordance with the response information and a stopping point of the vehicle.
請求項1~10の何れかに記載のソフトウェア更新装置であって、
前記情報取得部は、前記サーバーから、前記所要時間及び前記重要度のうち少なくとも何れか一方を取得するソフトウェア更新装置。
A software update device according to any one of claims 1 to 10,
The software updating device, wherein the information acquisition unit acquires at least one of the required time and the importance from the server.
請求項1~11の何れかに記載のソフトウェア更新装置であって、
前記ソフトウェアを更新するために用いるデータのサイズに基づき、前記所要時間を算出する算出部を備えるソフトウェア更新装置。
A software update device according to any one of claims 1 to 11,
A software update device comprising a calculation unit that calculates the required time based on a size of data used to update the software.
請求項1~12の何れかに記載のソフトウェア更新装置であって、
前記車載制御装置の種別に基づき、前記重要度を算出する重要度算出部を備えるソフトウェア更新装置。
A software update device according to any one of claims 1 to 12,
The software update device further comprises an importance calculation unit that calculates the importance based on a type of the in-vehicle control device.
請求項13に記載のソフトウェア更新装置であって、
前記重要度算出部は、前記車載制御装置が前記車両の走行に関与する制御装置の場合、前記車載制御装置が前記車両の走行に関与しない制御装置の場合に比べて、前記重要度を高く算出するソフトウェア更新装置。
14. A software update device according to claim 13, comprising:
The importance calculation unit of the software update device calculates the importance to be higher when the in-vehicle control device is a control device involved in the driving of the vehicle than when the in-vehicle control device is a control device not involved in the driving of the vehicle.
請求項1~14の何れかに記載のソフトウェア更新装置であって、
前記重要度は、前記車両の走行及び前記車両のセキュリティのうち少なくとも何れか一つの指標に基づく重要度であるソフトウェア更新装置。
A software update device according to any one of claims 1 to 14,
A software update device, wherein the importance is based on at least one of indicators of the vehicle's running and the vehicle's security.
請求項1~15の何れかに記載のソフトウェア更新装置と、前記サーバーを含むソフトウェア更新システム。 A software update system including the software update device according to any one of claims 1 to 15 and the server. コントローラが、車両に搭載される車載制御装置のソフトウェアを更新するソフトウェア更新方法であって、
前記車両の外部に設けられたサーバーから、前記ソフトウェアの更新に関する更新処理情報を取得し、
前記ソフトウェアの更新処理の開始を承諾するかユーザに求める承諾要求情報を出力し、
前記承諾要求情報に対する前記ユーザの回答である回答情報に応じて、前記更新処理を実行し、
前記承諾要求情報が出力された後、所定時間以上、前記回答情報が入力されない場合、前記更新処理に要する所要時間及び前記ソフトウェアの更新に対する重要度のうち少なくとも何れか一方に基づき、前記更新処理を開始するか否かを判定するソフトウェア更新方法。
A software updating method in which a controller updates software of an on-board control device mounted in a vehicle, comprising:
acquiring update processing information relating to the software update from a server provided outside the vehicle;
outputting consent request information for requesting a user to consent to the start of the software update process;
Executing the update process in response to answer information which is a reply from the user to the consent request information;
A software update method for determining whether to start the update process based on at least one of the time required for the update process and the importance of the software update when the response information is not input for a predetermined time after the consent request information is output.
JP2021122292A 2021-07-27 2021-07-27 Software update device, software update system, and software update method Active JP7677030B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021122292A JP7677030B2 (en) 2021-07-27 2021-07-27 Software update device, software update system, and software update method
JP2025074580A JP2025105856A (en) 2021-07-27 2025-04-28 Software update device, software update system, and software update method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021122292A JP7677030B2 (en) 2021-07-27 2021-07-27 Software update device, software update system, and software update method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2025074580A Division JP2025105856A (en) 2021-07-27 2025-04-28 Software update device, software update system, and software update method

Publications (2)

Publication Number Publication Date
JP2023018282A JP2023018282A (en) 2023-02-08
JP7677030B2 true JP7677030B2 (en) 2025-05-15

Family

ID=85158201

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021122292A Active JP7677030B2 (en) 2021-07-27 2021-07-27 Software update device, software update system, and software update method
JP2025074580A Pending JP2025105856A (en) 2021-07-27 2025-04-28 Software update device, software update system, and software update method

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2025074580A Pending JP2025105856A (en) 2021-07-27 2025-04-28 Software update device, software update system, and software update method

Country Status (1)

Country Link
JP (2) JP7677030B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016218932A (en) 2015-05-26 2016-12-22 京セラ株式会社 Software update device and software update system
WO2018079006A1 (en) 2016-10-27 2018-05-03 住友電気工業株式会社 Control device, program update method, and computer program
JP2018163613A (en) 2017-03-27 2018-10-18 パナソニックIpマネジメント株式会社 Electronic apparatus, program update method and computer program
JP2021105923A (en) 2019-12-27 2021-07-26 本田技研工業株式会社 Vehicle, software update system and software update method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016218932A (en) 2015-05-26 2016-12-22 京セラ株式会社 Software update device and software update system
WO2018079006A1 (en) 2016-10-27 2018-05-03 住友電気工業株式会社 Control device, program update method, and computer program
JP2018163613A (en) 2017-03-27 2018-10-18 パナソニックIpマネジメント株式会社 Electronic apparatus, program update method and computer program
JP2021105923A (en) 2019-12-27 2021-07-26 本田技研工業株式会社 Vehicle, software update system and software update method

Also Published As

Publication number Publication date
JP2023018282A (en) 2023-02-08
JP2025105856A (en) 2025-07-10

Similar Documents

Publication Publication Date Title
JP7400795B2 (en) Vehicle electronic control system, program update consent determination method, program update consent determination program, vehicle side system and center device
JP7379892B2 (en) Vehicle electronic control systems, vehicle-side systems, and mobile terminals
US8813061B2 (en) Module updating device
US12087103B2 (en) Electronic control unit and non-transitory computer readable medium storing session establishment program
JP6702269B2 (en) Control device, control method, and computer program
US11169797B2 (en) Vehicle controller configuration backup and restoration using data snapshots
US20240069906A1 (en) Server, software update system, distribution method, and non-transitory storage medium
US12190092B2 (en) Control device and terminal device
US12461732B2 (en) Ota master, system, method, non-transitory storage medium, and vehicle
JP7647894B2 (en) Software update device, software update system, and software update method
US20220405080A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
US20250004749A1 (en) Management apparatus, management system, management method, and computer program
WO2019123747A1 (en) Electronic control device for automobile and control method thereof
JP7677030B2 (en) Software update device, software update system, and software update method
JP2025015783A (en) Center, method, and program
US12175817B2 (en) Center device and vehicle information communication system
JP2024153334A (en) SERVER, SOFTWARE UPDATE METHOD, SOFTWARE UPDATE PROGRAM, AND SOFTWARE UPDATE SYSTEM
JP7434205B2 (en) Program update management system, mobile failure diagnosis device, program update management method
JP7619147B2 (en) Center device and on-board electronic control device
JPWO2023007577A5 (en)
US20240404332A1 (en) Electronic control unit and non-transitory computer readable medium storing session establishment program
US20230256983A1 (en) Vehicle controller, vehicle control method and recording medium
US20230036444A1 (en) System, method, and non-transitory storage medium
JP2024129478A (en) Information processing device for vehicle and program for vehicle
JP2025017091A (en) Management device and management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250217

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: 20250401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250414

R150 Certificate of patent or registration of utility model

Ref document number: 7677030

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150