CN113939802A - 车辆控制装置、更新程序、程序更新系统以及写入装置 - Google Patents

车辆控制装置、更新程序、程序更新系统以及写入装置 Download PDF

Info

Publication number
CN113939802A
CN113939802A CN202080042330.0A CN202080042330A CN113939802A CN 113939802 A CN113939802 A CN 113939802A CN 202080042330 A CN202080042330 A CN 202080042330A CN 113939802 A CN113939802 A CN 113939802A
Authority
CN
China
Prior art keywords
control
update
data
program
control data
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.)
Pending
Application number
CN202080042330.0A
Other languages
English (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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Astemo Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Astemo Ltd filed Critical Hitachi Astemo Ltd
Publication of CN113939802A publication Critical patent/CN113939802A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/008Registering or indicating the working of vehicles communicating information to a remotely located station
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0841Registering performance data
    • G07C5/085Registering performance data using electronic data carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Abstract

本发明提高车辆控制装置的控制程序的更新的易用性。一种车辆控制装置,其能够根据从写入装置提供的更新内容来更新已储存的控制程序,其中,所述控制程序包含控制码和在所述控制码的执行时加以参考的控制用数据,所述车辆控制装置具备:非易失性存储器,其能够切换使用各自储存所述控制码和所述控制用数据两方的第1存储器区域与第2存储器区域;以及更新请求判定部,其判定来自所述写入装置的更新请求是需要所述控制码和所述控制用数据两方的更新还是仅所述控制用数据的更新,在所述更新请求判定部判定是仅所述控制用数据的更新的情况下,向储存当前活动的控制程序的某一存储器区域写入接收到的控制用数据。

Description

车辆控制装置、更新程序、程序更新系统以及写入装置
技术领域
本发明涉及一种车辆控制装置。
背景技术
车辆控制装置具有运算装置(例如微电脑)和储存控制程序的Flash ROM(ReadOnly Memory)等存储装置。以往大多是将车辆开到门店、由专业维护人员将程序写入装置连接至车辆来更新控制程序。但是,由于车辆始终与互联网连接的所谓“网联车辆”的普及,想象得到不只是汽车导航系统中的功能追加、地图数据的更新,车辆的控制程序也会经由无线来更新。
另一方面,在程序的写入处理中由于某种因素(通信的中断、发生硬件异常等)而导致更新失败的情况下,想象得到新版本及旧版本的软件变得无法使用或功能不全,在最坏的情况下,车辆将运行不了。
作为本技术领域的背景技术,有以下现有技术。专利文献1(日本专利特开2006-301960号公报)中记载了一种汽车用控制单元,其特征在于,具备:非易失性存储器,其储存掌管汽车上搭载的电子设备的控制处理的控制用软件,而且能以电性方式重写存储内容,即便接到来自外部的重置信号也会保持该存储内容;RAM,其成为该控制用软件的执行存储器;以及CPU,其根据所述控制用软件的执行来进行所述电子设备的控制处理,所述非易失性存储器具有:主储存区域,其用于储存所述控制用软件的当前使用中的版本程序即现行版本程序;以及副储存区域,其用于储存包含要从所述现行版本程序加以更新的内容的更新版本程序,进一步地,该汽车用控制单元是具有程序重写构件而构成,所述程序重写构件执行程序重写处理,所述程序重写处理包含:程序储存处理,将从外部获取到的所述更新版本程序储存至所述副储存区域;以及存储器切换处理,在所述更新版本程序向所述副储存区域的写入成功的情况下,将所述更新版本程序的储存已完成的所述副储存区域切换为新的主储存区域来代替当前正用作主储存区域的存储器区域,另一方面,在向所述副储存区域的写入失败的情况下,不进行该切换。
现有技术文献
专利文献
专利文献1:日本专利特开2006-301960号公报
发明内容
发明要解决的问题
前文所述的专利文献1中记载的汽车用控制单元将储存控制程序的现行版本的主储存区域和储存更新版本的副储存区域设置在Flash ROM中,在程序更新时交替使用这些区域,由此,即便更新版本程序的写入万一失败,也能继续使用旧版本(双面ROM更新)。
此外,车辆控制装置的控制程序中通常有执行处理的控制码(控制程序的指令码本身)和在控制时加以参考的数据图、特性数据等用于控制的各种数据(后面称为控制用数据),这些数据都大多储存在可重写的非易失性存储装置内。
在这样的构成中的控制程序的更新中,存在如下要求:在控制码相同的状态(相同版本)下,变更在控制码的执行时加以参考的控制用数据的一部分。其原因在于,希望省去不必要的更新、缩短控制程序的更新时间。
在这样的情况下,以往会采用如下方法:将控制码与控制用数据区分配置到FlashROM的不同物理块中,仅指定控制用数据来进行更新,无变更的控制码则不作更新。
但在专利文献1记载的汽车用控制单元中,由于交替使用主储存区域与副储存区域来更新控制程序,因此更新目标储存区域中储存的是当前正在运行的控制程序的前1个旧版本。因此,无法仅对前文所述那样的控制用数据进行更新,须成对更新控制码和控制用数据,结果,控制程序的更新时间变长、易用性变差。
本发明是鉴于前文所述的问题而成,其目的在于提供一种在非易失性存储器中储存多个由控制码和控制用数据构成的控制程序的车辆控制装置中于短时间内安全地更新控制程序的方法,由此提高车辆控制装置的控制程序的更新的易用性。
解决问题的技术手段
如下展示本申请中揭示的发明的代表性的一例。即,一种车辆控制装置,其可以根据从写入装置提供的更新内容来更新已储存的控制程序,其特征在于,所述控制程序包含控制码和在所述控制码的执行时加以参考的控制用数据,所述车辆控制装置具备:非易失性存储器,其能够切换使用各自储存所述控制码和所述控制用数据两方的第1存储器区域与第2存储器区域;以及更新请求判定部,其判定来自所述写入装置的更新请求是需要所述控制码和所述控制用数据两方的更新还是仅所述控制用数据的更新,在所述更新请求判定部判定是仅所述控制用数据的更新的情况下,向储存当前活动的控制程序的某一存储器区域写入接收到的控制用数据。
发明的效果
根据本发明,能在短时间内安全地更新控制程序。前文所述以外的课题、构成及效果将通过以下实施例的说明来加以明确。
附图说明
图1为实施例1的程序更新系统的构成图。
图2为车辆所具有的车载网络系统的构成图。
图3为车辆控制装置的构成图。
图4为表示Flash ROM内部的构成的图。
图5为表示将更新包从服务器下载至网关的次序的顺序例。
图6为表示网关从服务器获取的更新包的构成例的图。
图7为表示车辆控制装置更新控制程序的次序的例子的顺序图。
图8为控制码的更新处理(S703)以及控制用数据的更新处理(S704)的详细顺序图。
图9为正当性验证处理(S705)的详细顺序图。为顺序图。
图10为表示从车辆控制装置发送至网关的报文(M702)的构成例的图。
图11为表示从网关发送至车辆控制装置的通信报文的构成例的图。
图12为数据传输开始请求处理(S801)的详细流程图。
图13为数据写入处理(S802)的详细流程图。
图14为控制码写入处理(S80202)的详细流程图。
图15为控制用数据的写入处理(S80210)的详细流程图。
图16为正当性验证处理(S803)的详细流程图。
图17为实施例2的网关的构成图。
图18为表示实施例2的车辆控制装置更新控制程序的次序的例子的顺序图。
图19为更新请求判定处理(S710)的详细流程图。
具体实施方式
<实施例1>
下面,参考各图,对本发明的一实施例的程序更新系统进行说明。
图1为本发明的实施例1的程序更新系统的构成图。实施例1的程序更新系统具有车辆1、服务器2、互联网线路3以及无线基站4。车辆1经由互联网线路3及无线基站4等网络而通过无线通信与服务器2连接,相互进行通信。无线通信例如可以使用3G/LTE等基于公用线路的手机网或者WiFi等线路。服务器2将车辆1所具有的车辆控制装置11的控制程序的更新所需的更新包5配发至车辆1。车辆1的车辆控制装置11使用该更新包5来重写控制程序。
图2为车辆1所具有的车载网络系统的构成图。车辆控制装置11是执行对车辆1的动作进行控制的控制程序的装置,经由车载网络13(例如CAN(Controller Area Network))与网关12(程序写入装置)连接。车辆控制装置11可以经由网关12与其他车辆控制装置11通信。
此外,网关12还具有作为程序写入装置的作用,即,对车辆控制装置11进行控制程序的更新的控制。网关12从服务器2接收更新包5,对车辆控制装置11发送控制程序的更新命令(重编程命令)以及更新用的控制程序本身。也可区别于网关12而另行设置程序写入装置。
网关12具有运算部121、Flash ROM(Read Only Memory)122、SRAM(Static RandomAccess Memory)123以及包含CAN收发器及无线通信模块的通信装置124。运算部121执行FlashROM 122中储存的程序,由此与车载网络13上的车辆控制装置11和服务器2之间进行通信。
此外,在车辆控制装置11的控制程序的更新时,网关12从服务器2接收更新包5并暂时储存至Flash ROM 122,更新控制部1221使用该更新包5来更新车辆控制装置11的控制程序。
此外,HMI(Human-Machine Interface)14例如由埋入在车辆1的仪表盘中央的各种显示用的液晶显示器装置、配置在其附近的操作开关类以及车载扬声器等构成。HMI 14向车辆1的乘员进行各种显示、处理各种输入操作。此外,HMI 14进行车辆控制装置11的控制程序的更新相关的显示,受理操作输入。
图3为车辆控制装置11的构成图。车辆控制装置11具有运算部111、Flash ROM112、SRAM 113、通信装置114(例如CAN收发器)。
运算部111是执行Flash ROM 112中储存的控制程序的例如微电脑等运算装置。以下,为方便记载,有时以各程序为动作主体来进行说明,但实际执行这些程序的是运算部111。
Flash ROM 112为可重写的非易失性存储器,具有更新处理部1122、作为第1存储区域的第1区域1123、作为第2存储区域的第2区域1124、以及作为第3存储区域的第3区域。下面,使用图4,对该构成进行说明。
图4为表示Flash ROM 112内部的构成的图。Flash ROM 112由多个物理块构成,包含储存控制程序本身的第1区域1123、第2区域1124、以及在控制程序的更新时作为作业用区域使用的第3区域。此处,所谓块,是Flash ROM 112的擦除及重写的单位。此外,控制程序由执行用的程序主体即控制码D11及D21和在对程序进行控制时加以参考的控制用数据D12及D22构成。
进一步地,Flash ROM 112储存与网关12进行通信而进行控制程序的更新处理的更新处理部1122。在图4所示的状态下,第1区域1123中储存的控制程序当前正在运行,控制码D11的版本信息为“101”,控制用数据D12的版本信息为“11”。第2区域1124中储存有前一个版本的控制程序(版本“100”的控制码D21和版本“01”的控制用数据D22)。此外,版本信息与控制码和控制用数据一样储存在车辆控制装置11的非易失性区域内。此外,将储存有当前正在运行的控制程序的区域称为“活动(Active)面”,将没有运行的区域称为“非活动面”。在图4所示的状态下,第1区域为“活动面”,第2区域为“非活动面”。再者,在进行程序更新时,“非活动面”成为控制程序的更新对象区域。
图5为表示将更新包5从服务器2下载至网关12的次序的顺序例。
当进行车辆控制装置11的控制程序的修正、功能追加时,作为软件更新的准备,更新包5被登记至服务器2。
在将车辆的点火设为ON的时刻等,网关12将现行控制程序的零件编号的请求报文发送至车辆控制装置11(M501)。车辆控制装置11针对该请求而答复车辆控制装置11的零件编号和现行程序的版本信息(M502)。零件编号是唯一地识别车辆控制装置11的编号。现行程序的版本信息包含当前的活动面的信息以及活动面中储存的控制码和控制用数据两方的版本。
接着,网关12将更新包获取请求报文发送至服务器2(M503)。更新包获取请求报文M503中包含车辆控制装置11的零件编号和现行控制程序的版本信息。服务器2在步骤S501中根据更新数据获取请求报文的零件编号和现行程序版本信息而从已登记的更新包5中选择符合的包,并配发至目标车辆(M504)。再者,配发的更新包5包含指定要写入该更新包5的面(第1区域、第2区域)的信息。
网关12积存所配发的更新包5(S502),下载完成。当所有数据的积存都已完成时,对服务器2发送完成报文(M505)。其后,网关12根据接收到的更新包5来执行软件更新。更新包5的构成和报文的构成于后文叙述。
图6为表示网关12从服务器2获取的更新包5的构成例的图。更新包5包含控制码文件61及控制数据文件62。
控制码文件61包含开始地址611、传输大小612、版本信息613、绑定信息614以及控制码615。开始地址611是表示控制程序更新中控制数据的写入目标的车辆控制装置11的Flash ROM 112的开始地址的信息。此外,传输大小612是控制码的容量(字节数)的信息。版本信息613是随附的控制码615的版本信息,绑定信息614是将控制码615与控制用数据625加以关联的信息,具体而言,以控制码615和控制用数据625的版本信息加以记述。绑定信息614有时将控制码615与控制用数据625一对一地加以关联,有时也一对多或多对一地关联两者。
例如,储存某一版本的控制码之下可以使用的控制用数据的版本信息,由此,在错误的配对时,能使控制用数据无法使用。控制数据文件62的构成与控制码文件61相同,所以省略其说明。
图7为表示车辆控制装置11更新控制程序的次序的例子的顺序图。下面,使用图7~图9,对实施例1中的更新顺序进行说明。
当所配发的更新包5的积存(S502)完成时,控制程序的更新开始。具体而言,网关12启动更新控制部1221,向车辆控制装置11请求现行控制程序的信息(M701)。车辆控制装置11在步骤S701中执行现行控制程序的信息获取处理,并答复结果(M702)。步骤S701中获取的信息例如为ECU ID、现行控制程序的控制码的版本信息、控制用数据的版本信息等。
网关12在步骤S702中判定接收到的信息答复(M702)是否有误,若无误,则使车辆控制装置11从正常模式转变至重编程模式,开始控制程序的更新处理。
例如,此处,网关12可与HMI 14协作而请求HMI 14显示从车辆控制装置11接收到的ECU ID、控制程序的版本信息、或者网关12所保持的更新版的控制程序的版本信息,让用户确认控制程序的更新处理的开始判断。
程序更新处理中,按控制码的更新处理(S703)、控制用数据的更新处理(S704)、正当性验证处理(S705)的顺序执行处理。各处理的详细顺序在图8及图9中进行说明。当正当性验证处理S705完成时,网关12结束重编程模式而转变至正常模式,并向车辆控制装置11发送重置请求(M703)。车辆控制装置11按照重置请求而再启动,由此来应用更新版的控制程序。
接着,使用图8,对控制码的更新处理(S703)以及控制用数据的更新处理(S704)的详细顺序进行说明。步骤S703及步骤S704是以相同顺序来执行更新处理,所以此处以控制码的更新处理为例来进行说明。
网关12的更新控制部1221对车辆控制装置11发送控制码的数据传输开始请求(M801)。数据传输开始请求包含表示控制码的写入目标的写入目标地址、预定发送的数据大小的信息。车辆控制装置11的更新处理部1122在步骤S801中执行数据传输开始请求处理。此处,更新处理部1122根据接收到的数据来判定将要从网关12发送的更新数据是控制码还是控制用数据。继而,对网关12发送允诺答复(M802)。该允诺答复包含车辆控制装置11一次能接收的数据大小等信息。
接着,网关12的更新控制部1221将S502中从服务器2下载、积存的控制码的数据分割为车辆控制装置11一次能接收的数据大小,作为数据传输报文(M803)发送至车辆控制装置11。当车辆控制装置11的更新处理部1122接收到数据传输报文(M803)时,在步骤S802中执行数据写入处理。数据写入处理(S802)中,首先通过更新请求判定功能11221来判定是否更新控制码,根据该判定结果来进行处理。本判定处理的详情于后文叙述。网关12和车辆控制装置11执行数据写入处理(S802)直至更新数据的传输全部完成为止。当更新数据的传输全部完成时,车辆控制装置11对网关12发送完成答复(M804)。
其后,网关12向车辆控制装置11通知数据传输完成请求(M805)。车辆控制装置11对网关12发送允诺答复(M806)。以上,控制码的更新处理(S703)完成。
当控制码的更新处理(S703)完成时,接着在步骤S704中实施控制用数据的更新处理。控制用数据的更新处理的顺序次序采用与前文所述的控制码的更新处理(S703)相同的顺序。处理的详情将在后文中与控制码的更新处理集中叙述。
使用图9,对正当性验证处理(S705)的详细顺序进行说明。
网关12对车辆控制装置11发送正当性验证请求报文(M811)以检查所写入的数据的正当性。当车辆控制装置11的更新处理部1122接收到正当性验证请求报文(M811)时,在步骤S803中验证通过数据写入处理(S802)写入的控制程序的正当性(S803)。该验证处理中,根据数据写入处理(S802)中进行了更新的区域来验证写入到更新目标区域内的更新版的控制程序的数据是否有误。本验证处理的详情于后文叙述。车辆控制装置11向网关12答复验证结果(M812)。关于验证方法,可以通过使用校验和、CRC(Cyclic RedundancyCheck)、哈希值等的检错或纠错来实施。
图10为表示所述控制程序的更新顺序(图7)中车辆控制装置11在接收到来自网关12的现行程序信息请求报文(M701)时答复的报文(M702)的构成例的图。答复报文M702包含指令M7021、车辆控制装置11的ECU ID M7022、控制码的版本信息M7023以及控制用数据的版本信息M7024。
图11为表示所述控制码及控制用数据的更新处理(图8)及正当性验证处理(图9)中从网关12发送至车辆控制装置11的通信报文的构成例的图。
数据传输开始请求(M801)包含指令M8011、更新数据类别标记M8012、写入目标地址M8013、发送数据大小M8014。
数据传输(M803)是将更新数据M8032传输至车辆控制装置11的报文,附属的更新数据M8032包含更新数据的版本信息M80321、绑定信息M80322以及更新数据本身即控制码或控制用数据M80323。绑定信息是将控制码与控制用数据加以关联的信息。
数据传输完成请求(M805)是表示更新数据的传输结束的命令。
正当性验证请求(M811)是请求验证写入到更新目标区域的更新版的控制程序的数据是否有误的命令。
以上面那样的更新顺序来更新实施例1的控制程序。接着,使用图12~图15,对控制程序的更新处理中车辆控制装置11所执行的处理进行说明。
图12为数据传输开始请求处理(S801)的详细流程图。下面,对图12的各步骤进行说明。
(图12:步骤S801)
当车辆控制装置11的运算部111从网关12接收到数据传输开始请求M801时,开始图12所示的处理。
(图12:步骤S80101)
运算部111根据接收到的数据传输开始请求M801中包含的写入目标地址M8013来判定从网关12发送的更新数据是控制码还是控制用数据,并将判定结果作为更新数据类别加以保持。此处是根据写入目标地址来判定更新数据类别,而作为别的方法,也可从网关12获取更新数据类别标记。再者,也可使用数据传输开始请求M801的更新数据类别标记M8012来判定更新数据是控制码还是控制用数据。
(图12:步骤S80102)
接着,运算部111向网关12发送允诺答复,结束处理。
图13为数据写入处理(S802)的详细流程图。下面,对图13的各步骤进行说明。
(图13:步骤S802)
当车辆控制装置11的运算部111从网关12接收到数据传输请求M803时,开始图13所示的处理。
(图13:步骤S80201~S80202、S80210)
运算部111判定S80101中求出的更新数据类别是否为控制码(S80201)。在更新数据类别为控制码的情况下,在步骤S80202中写入控制码。另一方面,在更新数据类别为控制用数据的情况下,在步骤S80210中写入控制用数据。
图14为控制码写入处理(S80202)的详细流程图。在从网关12接收到控制码的数据传输请求M803时执行本处理。下面,对图14的各步骤进行说明。
(图14:步骤S802021)
在步骤S80202的控制码的写入处理中,首先,运算部111在步骤S802021中提取所接收到的更新数据M8032中包含的控制码的版本信息M80321。
(图14:步骤S802022~S802024)
接着,运算部111在步骤S802022中比较上文中提取到的更新版的控制码的版本与现行控制码的版本是否相同。在比较的结果为更新版的控制码的版本与现行控制码的版本相同的情况下,跳过控制码的这之后的数据接收,不更新之后的数据(S802023)。进而,将跳过控制码的更新处理这一内容的报文通知网关12(S802024)。
(图14:步骤S802025)
在步骤S802022的比较的结果为更新版的控制码的版本与现行控制码的版本不一样的情况下,继续控制码的数据接收,从数据传输开始请求M801中包含的写入目标的地址(M8013)起以数据大小(M8014)程度反复执行向Flash ROM 112的数据写入(S802025)。
通过本处理,在更新数据是与当前活动的控制程序的控制码相同的版本的情况下,车辆控制装置11可不进行控制码的更新处理。
图15为控制用数据的写入处理(S80210)的详细流程图。在从网关12接收到控制用数据的数据传输请求M803时执行本处理。下面,对图15的各步骤进行说明。
(图15:步骤S802101)
在步骤S80210的控制用数据的写入处理中,首先,运算部111在步骤S802101中判定控制码的更新处理步骤S703是否被跳过。
(图15:步骤S802102~S802106)
在控制码的更新处理被跳过的情况下,在步骤S802102中提取从网关12接收到的更新数据M8032中包含的控制用数据的版本信息M80321和绑定信息M80322,在步骤S802103中判定车辆控制装置11的当前活动的控制程序与接收到的控制用数据的绑定关系是否妥当。如前文所述,绑定信息是将控制码与控制用数据加以关联的信息。此处,作为用于将接收的控制用数据写入至车辆控制装置11的Flash ROM 112的活动面的预处理,判定当前活动面中所写入的控制码的版本与接收的控制用数据的版本的关系是否妥当。在判定版本的关系妥当的情况下,在步骤S802104中将接收到的控制用数据写入至第3区域,在写入完成后,向网关12发送完成答复(S802105)。在步骤S802103中判定版本的关系不妥当的情况下,向网关12答复错误(S802106)。
(图15:步骤S802107)
在步骤S802101中判定正执行控制码的更新处理步骤S703的情况下,车辆控制装置11的运算部111从数据传输开始请求M801中包含的写入目标的地址(M8013)起、以数据大小(M8014)程度向Flash ROM 112的非活动面写入所接收的控制用数据。执行写入处理直至更新数据的传输全部完成为止。
通过本处理,在更新数据是与当前活动的控制程序的控制码相同的版本的情况下,车辆控制装置11可以暂时将控制用数据写入至第3区域1125,在版本不一样的情况下,可以写入至非活动面。
图16为正当性验证处理(S803)的详细流程图。下面,对图16的各步骤进行说明。
(图16:步骤S803)
当车辆控制装置11的运算部111从网关12接收到正当性验证请求M811时,开始图16所示的处理。
(图16:步骤S80301)
运算部111首先在步骤S80301中判定数据写入处理S802中的更新控制程序的写入目标区域。
(图16:步骤S80302~S80303)
在正向第3区域1125写入控制用数据的情况下,在步骤S80302中检查写入到第3区域1125的数据的正当性。在正向非活动面的区域进行写入的情况下,在步骤S80303中检查相应区域(第1区域1123或第2区域1124)的控制码和控制用数据两方的正当性。
(图16:步骤S80304~S80306)
在写入到第3区域的数据的正当性检查(S80302)的结果为妥当的情况下,运算部111在步骤S80304中将第3区域1125中储存的控制用数据复制到Flash ROM 112的活动面的控制用数据储存区域。继而,当复制完成时,向网关12发送完成答复(S80305)。另一方面,在写入到第3区域的数据的正当性检查(S80302)为异常的情况下,向网关12发送异常答复(S80306)。
(图16:步骤S80307)
在非活动面中储存的更新数据的正当性检查(S80303)为妥当的情况下,向网关12发送完成答复(S80305),在为异常的情况下,向网关12发送异常答复(S80306)。
再者,执行步骤S80304的处理的时刻并非一定为前文所述的时刻,只要能确认数据的正当性,则也可在例如点火OFF的时刻、车辆已停止的状态、或者车辆控制装置11没有运行的时刻等安全的状况下执行。
<实施例1:总结>
如以上所说明,实施例1的车辆控制装置11在Flash ROM 112内具有第1区域1123和第2区域1124,在交替进行控制程序的更新的双面ROM构成的程序更新方式中,若更新版的控制程序的控制码是与车辆控制装置11的活动面中所储存的控制程序相同的版本,则可以仅向活动面的区域更新控制用数据(不更新控制码)。由此,可以缩短控制程序的更新时间。此外,在仅控制用数据的更新时,不是直接覆盖控制用数据,而是在将从网关12接收的数据写入到第3区域1125后确认接收到的数据的内容的正当性,之后再储存至活动面的存储区域,由此,能安全地更新控制用数据。
<实施例2>
在实施例1中,对车辆控制装置11具有更新请求判定功能11221、从网关12接收数据而仅更新控制用数据的方法进行了叙述。但若是网关12具有更新请求判定功能,则在不需要控制码的更新的情况下可不发送请求本身。下面,对实施例2的方法的一例进行说明。
图17为本发明的实施例2的网关12的构成图。
在实施例2中,Flash ROM 112的更新控制部1221具有更新请求判定功能12211。在实施例2中,网关12使用更新请求判定功能12211来判定是仅更新车辆控制装置11的控制用数据还是更新控制码和控制用数据两方。除此以外与实施例1的车辆控制装置11的构成图相同,因此省略它们的说明。
图18为表示本发明的实施例2的车辆控制装置更新控制程序的次序的例子的顺序图。在实施例2中,网关12的更新请求判定功能12211在步骤S710中判定是仅更新车辆控制装置11的控制用数据还是更新控制码和控制用数据两方。
图19为更新请求判定处理(S710)的详细流程图。下面,对图19的各步骤进行说明。
(图19:步骤S710)
在开始重编程模式、发送更新数据之前,网关12的运算部121执行图19所示的处理。
(图19:步骤S71001)
首先,网关12的运算部121在步骤S71001中从接收自车辆控制装置11的答复报文M702中提取现行控制程序的控制码的版本信息M7023和控制用数据的版本信息M7024。
(图19:步骤S71002)
接着,运算部121在步骤S71002中从接收自服务器2的更新包5中提取更新版的控制程序的控制码的版本信息613和控制用数据的版本信息623。
(图19:步骤S71003、S71007)
运算部121在步骤S71003中判定更新版的控制码的版本与现行版的控制码的版本是否相同。在两控制码的版本不一样的情况下,在步骤S71007中更新控制码和控制用数据两方。
(图19:步骤S71004~S71006)
另一方面,在步骤S71003中判定两控制码的版本相同的情况下,进而在步骤S71004中判定更新版的控制用数据的版本与现行版的控制用数据的版本是否相同。在更新版与现行版的控制码的版本相同的情况下,由于控制码和控制用数据都是相同版本,因此任一方的更新处理都不实施(S71005)。在更新版与现行版的控制用数据的版本不一样的情况下,由于控制码的版本相同,因此跳过控制码的更新处理,仅执行控制用数据的更新处理(S71006)。
<实施例2:总结>
如以上所说明,本实施例2的网关12以如下方式进行控制:若更新版的控制程序的控制码是与车辆控制装置11的活动面中储存的控制程序的控制码相同的版本,则跳过控制码的更新处理(S703),仅实施控制用数据的更新处理。由此,车辆控制装置侧不再需要判定是否需要控制码的更新的处理(图14的S802022-S802023),从而能在减轻车辆控制装置中的附加的同时缩短更新时间。
<关于本发明的变形例>
本发明包含随附权利要求书的宗旨内的各种变形例及同等构成,并不限定于前文所述的实施例。例如,前文所述的实施例是为了以易于理解的方式说明本发明所作的详细说明,本发明并非一定限定于具备说明过的所有构成。此外,可将某一实施例的构成的一部分替换为其他实施例的构成。此外,可对某一实施例的构成加入其他实施例的构成。此外,可对各实施例的构成的一部分进行其他构成的追加、删除、替换。
在实施例1及2中,例示了Flash ROM 112作为储存控制程序的区域,但也可使用其他的非易失性存储装置。
在实施例1及2中,对Flash ROM 112被分为第1区域1123和第2区域1124的构成例进行了说明,但也可由两个存储装置来实现第1区域1123和第2区域1124。此外,也可设置三个以上的存储区域(或存储装置)来实现与实施例1同样的构成。在该情况下,例如向各存储区域(或存储装置)依序储存控制程序。
在更新顺序中,通常是写入控制程序的最新版,但也存在因诸多缘由而利用降版本的控制程序来进行更新的可能。在该情况下,所谓控制程序的更新版,是该降版本的控制程序。即,所谓控制程序的更新版,是通过前一更新顺序写入过的控制程序。
此外,前文所述的各构成、功能、处理部、处理方法等例如可通过利用集成电路进行设计等而以硬件来实现它们的一部分或全部,也可通过由处理器解释并执行实现各功能的程序而以软件来实现。此外,在构成上存在多个相同的功能的情况下,实现各功能的硬件或软件可单独部署,也能以时间复用的形式使用所安装的一个硬件或软件来进行多个处理。此外,即便是构成上单一的功能,也可使用具有同一功能的多个硬件或软件来进行分布式处理。
实现各功能的程序、表格、文件等信息可以储存在存储器、硬盘、SSD(Solid StateDrive)等存储装置或者IC卡、SD卡、DVD等记录介质中。
此外,控制线和信息线展示的是认为说明上需要的部分,未必展示了部署上需要的所有控制线和信息线。实际上,可认为几乎所有构成都相互连接在一起。
如以上所说明,本实施例的车辆控制装置具备:非易失性存储器(Flash ROM112),其能够切换使用各自储存控制码615和控制用数据625两方的具有多个块的第1存储器区域(第1区域1123)与第2存储器区域(第2区域1124);以及更新请求判定部(更新请求判定功能11221),其判定来自写入装置(网关12)的更新请求是需要控制码615和控制用数据625两方的更新还是仅控制用数据625的更新,在更新请求判定部11221判定是仅控制用数据625的更新的情况下,将接收到的控制用数据625写入至储存当前活动的控制程序的所述非易失性存储器的指定区域(活动面),因此,可视需要而仅更新控制用数据,从而能缩短控制程序的更新时间。
此外,非易失性存储器112包含暂时存储控制用数据625的第3存储器区域(第3区域1125),在更新请求判定部11221判定是仅控制用数据625的更新的情况下,将接收到的控制用数据写入至第3存储器区域1125,在确认控制用数据625已正常地写入到第3存储器区域1125后,将控制用数据从第3存储器区域1125写入至储存当前活动的控制程序的非易失性存储器112的指定区域(活动面),因此,不会直接覆盖运行中的控制用数据,从而能安全地更新控制用数据。
此外,控制码615及控制用数据625各自具有版本信息,更新请求判定部11221对从车辆控制装置11接收到的控制码615的版本信息与更新版的控制码615的版本信息进行比较来判定要更新的对象,因此,在控制码615和控制用数据625中设定的是不同体系的版本信息,所以能实现仅控制用数据的更新,从而能缩短控制程序的更新时间。
此外,更新请求判定部11221对当前活动的控制码615的版本信息与更新版的控制码615的版本信息进行比较,在两控制码615的版本相同的情况下,仅更新控制用数据625,在两控制码615的版本不一样的情况下,更新控制码615和控制用数据625两方,因此,能视需要而仅更新控制用数据,从而能缩短控制程序的更新时间。
此外,在仅更新控制用数据625的情况下,车辆控制装置11确认非易失性存储器112中储存的当前活动的控制程序中包含的控制码615与要更新的控制用数据625的关联,在所述关联正确的情况下,将要更新的控制用数据625写入至非易失性存储器112,因此能防止控制用数据的更新造成的误动作而安全地更新控制用数据。
此外,将控制用数据625储存至储存当前活动的控制程序的所述非易失性存储器的指定区域(活动面)的时刻设为车辆的点火OFF的测出以及车辆处于停止状态中的至少一方,因此能在安全的状态下更新控制用数据。
此外,具备至少向用户呈现信息的输入输出装置(HMI 14),在所述控制程序的更新时,将所述控制码的版本信息以及所述控制用数据的版本信息中的至少一方呈现给用户,因此能以用户指示为触发来更新控制程序,从而能抑制错误的更新。
此外,本实施例的写入装置(网关12)具备从车辆控制装置11获取控制程序的版本信息的单元和更新请求判定部(更新请求判定功能12211),所述更新请求判定部(更新请求判定功能12211)判定控制程序的更新是需要控制码615和控制用数据625两方的更新还是仅控制用数据625的更新,在更新请求判定部12211判定是仅控制用数据625的更新的情况下,将接收到的控制用数据625储存至储存当前活动的控制程序的所述非易失性存储器的指定区域(活动面),因此,能在减轻车辆控制装置的附加的同时缩短控制程序的更新时间。
符号说明
1车辆、2服务器、3互联网线路、4无线基站、5更新包、11车辆控制装置、111运算部、112Flash ROM、1122更新处理部、1123第1区域、1124第2区域、1125第3区域、12网关(程序写入装置)、13车载网络、14HMI(Human Machine Interface)、D11现行程序的控制码、D12现行程序的控制用数据。

Claims (11)

1.一种车辆控制装置,其能够根据从写入装置提供的更新内容来更新已储存的控制程序,其特征在于,
所述控制程序包含控制码和在所述控制码的执行时加以参考的控制用数据,
所述车辆控制装置具备:
非易失性存储器,其能够切换使用第1存储器区域与第2存储器区域,所述第1存储器区域与所述第2存储器区域各自储存所述控制码和所述控制用数据两方;以及
更新请求判定部,其判定来自所述写入装置的更新请求是需要所述控制码和所述控制用数据两方的更新还是仅所述控制用数据的更新,
在所述更新请求判定部判定是仅所述控制用数据的更新的情况下,向储存当前活动的控制程序的某一存储器区域写入接收到的控制用数据。
2.根据权利要求1所述的车辆控制装置,其特征在于,
所述非易失性存储器包含暂时存储所述控制用数据的第3存储器区域,
在所述更新请求判定部判定是仅所述控制用数据的更新的情况下,将接收到的控制用数据写入至所述第3存储器区域,
在确认所述控制用数据已正常地写入到所述第3存储器区域后,将接收到的所述控制用数据从所述第3存储器区域写入至储存当前活动的控制程序的存储器区域。
3.根据权利要求1所述的车辆控制装置,其特征在于,
所述控制码及所述控制用数据各自具有版本信息,
所述更新请求判定部对从所述车辆控制装置接收到的控制码的版本信息与更新版的控制码的版本信息进行比较来判定要更新的对象。
4.根据权利要求3所述的车辆控制装置,其特征在于,
所述更新请求判定部对当前活动的控制码的版本信息与更新版的控制码的版本信息进行比较,
在两者的版本相同的情况下,仅更新控制用数据,
在两者的版本不一样的情况下,更新所述控制码和所述控制用数据两方。
5.根据权利要求4所述的车辆控制装置,其特征在于,
在仅更新控制用数据的情况下,在所述非易失性存储器中储存的当前活动的控制程序中包含的控制码与更新版的控制用数据的关联正确时,所述车辆控制装置将更新版的控制用数据写入至所述非易失性存储器。
6.根据权利要求1所述的车辆控制装置,其特征在于,
将所述控制用数据储存至所述某一存储器区域的时刻为车辆的点火OFF的测出以及车辆处于停止状态中的至少一方。
7.根据权利要求1所述的车辆控制装置,其特征在于,
在所述控制程序的更新时,将所述控制码的版本信息以及所述控制用数据的版本信息中的至少一方输出以呈现给用户。
8.一种更新程序,其在车辆控制装置中加以执行,所述车辆控制装置能根据从写入装置提供的更新内容来更新已储存的控制程序,该更新程序的特征在于,
所述控制程序包含控制码和在所述控制码的执行时加以参考的控制用数据,
所述车辆控制装置具有非易失性存储器,所述非易失性存储器能切换使用第1存储器区域与第2存储器区域,所述第1存储器区域与所述第2存储器区域各自储存所述控制码和所述控制用数据两方,
所述更新程序用于让所述车辆控制装置执行如下次序:
判定来自所述写入装置的更新请求是需要所述控制码和所述控制用数据两方的更新还是仅所述控制用数据的更新;以及
在判定是仅所述控制用数据的更新的情况下,向储存当前活动的控制程序的某一存储器区域写入接收到的控制用数据。
9.一种程序更新系统,其对控制车辆的控制程序进行更新,其特征在于,具备:
车辆控制装置,其搭载于所述车辆中,能够更新已储存的控制程序;
写入装置,其搭载于所述车辆中,对所述控制程序的更新进行控制;以及
外部装置,其将包含所述控制程序的差分数据的更新包配发至所述写入装置,
所述控制程序包含控制码和在所述控制码的执行时加以参考的控制用数据,
所述车辆控制装置具备:
非易失性存储器,其能够切换使用第1存储器区域与第2存储器区域,所述第1存储器区域与所述第2存储器区域各自储存所述控制码和所述控制用数据两方;以及
更新请求判定部,其判定来自所述写入装置的更新请求是需要所述控制码和所述控制用数据两方的更新还是仅所述控制用数据的更新,
在所述更新请求判定部判定是仅所述控制用数据的更新的情况下,向储存当前活动的控制程序的某一存储器区域写入接收到的控制用数据。
10.根据权利要求9所述的程序更新系统,其特征在于,
具备至少向用户呈现信息的输入输出装置,
在所述控制程序的更新时,将所述控制码的版本信息以及所述控制用数据的版本信息中的至少一方呈现给用户。
11.一种写入装置,其对车辆控制装置中储存的控制程序的更新进行控制,其特征在于,
所述控制程序包含控制码和在所述控制码的执行时加以参考的控制用数据,
所述写入装置具备从所述车辆控制装置获取控制程序的版本信息的单元和更新请求判定部,
所述更新请求判定部判定所述控制程序的更新是需要所述控制码和所述控制用数据两方的更新还是仅所述控制用数据的更新,
在所述更新请求判定部判定是仅所述控制用数据的更新的情况下,向储存当前活动的控制程序的某一存储器区域写入接收到的控制用数据。
CN202080042330.0A 2019-08-05 2020-07-21 车辆控制装置、更新程序、程序更新系统以及写入装置 Pending CN113939802A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019-143655 2019-08-05
JP2019143655 2019-08-05
PCT/JP2020/028222 WO2021024792A1 (ja) 2019-08-05 2020-07-21 車両制御装置、更新プログラム、プログラム更新システム、及び書込み装置

Publications (1)

Publication Number Publication Date
CN113939802A true CN113939802A (zh) 2022-01-14

Family

ID=74503511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080042330.0A Pending CN113939802A (zh) 2019-08-05 2020-07-21 车辆控制装置、更新程序、程序更新系统以及写入装置

Country Status (4)

Country Link
US (1) US20220276851A1 (zh)
JP (1) JP7224472B2 (zh)
CN (1) CN113939802A (zh)
WO (1) WO2021024792A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111045732B (zh) * 2019-12-05 2023-06-09 腾讯科技(深圳)有限公司 数据处理方法、芯片、设备及存储介质
KR20220139152A (ko) * 2021-04-07 2022-10-14 현대자동차주식회사 차량의 업데이트 관리 장치, 그것의 동작 방법 및 차량

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764992A (en) * 1995-06-06 1998-06-09 Apple Computer, Inc. Method and apparatus for automatic software replacement
JP4451558B2 (ja) * 2000-09-26 2010-04-14 株式会社リコー Dsp信号処理装置を使用したモデム
JP2006243997A (ja) * 2005-03-02 2006-09-14 Canon Inc ダウンロードシステム
JP2007230317A (ja) * 2006-02-28 2007-09-13 Hitachi Ltd ブレーキ制御システム及びそのプログラム更新方法
JP2010198307A (ja) * 2009-02-25 2010-09-09 Hitachi Automotive Systems Ltd 自動車用制御装置
JP5655677B2 (ja) * 2011-04-04 2015-01-21 富士通株式会社 ハイパーバイザ置き換え方法および情報処理装置
WO2018139296A1 (ja) * 2017-01-25 2018-08-02 日立オートモティブシステムズ株式会社 車両制御装置およびプログラム更新システム
JP6755219B2 (ja) * 2017-07-12 2020-09-16 クラリオン株式会社 情報配信システム及び車載装置
JP7115429B2 (ja) * 2018-08-10 2022-08-09 株式会社デンソー 車両用マスタ装置、ロールバックの実行制御方法及びロールバックの実行制御プログラム
JP7124627B2 (ja) * 2018-10-16 2022-08-24 株式会社オートネットワーク技術研究所 車載更新装置、更新処理プログラム及び、プログラムの更新方法

Also Published As

Publication number Publication date
JP7224472B2 (ja) 2023-02-17
JPWO2021024792A1 (zh) 2021-02-11
US20220276851A1 (en) 2022-09-01
WO2021024792A1 (ja) 2021-02-11

Similar Documents

Publication Publication Date Title
US10871959B2 (en) Vehicle control device and program update system
US10437680B2 (en) Relay apparatus, relay method, and computer program product
JP6665728B2 (ja) 車載更新装置、車載更新システム及び通信装置の更新方法
WO2020179592A1 (ja) 車載更新装置、更新処理プログラム及び、プログラムの更新方法
CN113939802A (zh) 车辆控制装置、更新程序、程序更新系统以及写入装置
CN113383390A (zh) 电子控制装置以及程序更新方法
CN112698851B (zh) 程序更新系统、程序传送装置和程序传送方法
US11449329B2 (en) Vehicle control device and program update system
KR102610730B1 (ko) 차량의 업데이트 제공 장치 및 컴퓨터 기록 매체
JP2018160207A (ja) 車載制御装置、及び、プログラム更新ソフトウェア
CN106095474A (zh) 用于更新运输工具中的软件的方法和装置
WO2020162430A1 (ja) 電子制御装置及び不揮発性メモリの使用方法
KR20200121657A (ko) 차량의 업데이트 제공 장치 및 방법
US20220244946A1 (en) Ota master, update control method, non-transitory storage medium, and vehicle
US20220107798A1 (en) Server, software update system, distribution method, and non-transitory storage medium
US11429375B2 (en) Method for exchanging a first executable program code and a second executable program code, and a control unit
KR101386464B1 (ko) 이동단말기에서 터치패널의 응용 프로그램 다운로드 장치및 방법
EP4109238A1 (en) Information processing device, program update system, and program update method
KR20100073236A (ko) 복수 모델의 네비게이션 기기의 통합 업그레이드 방법 및 장치 그리고 이를 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
JP2000040003A (ja) ファームウェア更新システム
CN112988201A (zh) 程序更新方法、装置以及电子设备
CN115280280A (zh) 用于朝向车辆的车载计算机的存储器更新包括物理地址的软件的更新方法和更新装置
KR20230025107A (ko) 차량 소프트웨어 관리 시스템 및 그의 소프트웨어 복구 방법
CN117076208A (zh) 数据处理方法、装置以及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination