CN111684416B - 车辆控制装置及程序更新*** - Google Patents

车辆控制装置及程序更新*** Download PDF

Info

Publication number
CN111684416B
CN111684416B CN201980006185.8A CN201980006185A CN111684416B CN 111684416 B CN111684416 B CN 111684416B CN 201980006185 A CN201980006185 A CN 201980006185A CN 111684416 B CN111684416 B CN 111684416B
Authority
CN
China
Prior art keywords
program
differential data
vehicle control
unit
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
CN201980006185.8A
Other languages
English (en)
Other versions
CN111684416A (zh
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 CN111684416A publication Critical patent/CN111684416A/zh
Application granted granted Critical
Publication of CN111684416B publication Critical patent/CN111684416B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • 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
    • 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
    • B60R16/023Electric 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 for transmission of signals between vehicle parts or subsystems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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
    • 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/0808Diagnosing performance data
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0083Setting, resetting, calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Stored Programmes (AREA)

Abstract

本发明做到即便在差分数据较大的情况下也实现控制程序的更新。本发明在程序更新时根据存放差分数据的车辆控制装置的区域的容量来控制接收的数据量,由此,车辆控制装置即便未存放有所有差分数据,也会利用接收到的部分数据来依序进行还原更新。

Description

车辆控制装置及程序更新***
技术领域
本发明涉及一种车辆控制装置及程序更新***。
背景技术
车辆控制装置具备运算部(例如微型计算机)以及FlashROM(Read Only Memory)等可重写的非易失性存储器,所述运算部执行封装有控制车辆的动作的控制程序,所述非易失性存储器存放供该运算部执行的控制程序。
以往,这种车辆控制装置的重编程是经由低速的CAN(Controller Area Network控制器局域网络)将作为写入工具的PC(Personal Computer个人计算机)或车载写入装置与车载控制装置(ECU:Electric Control Unit电子控制单元)相连,一边分割传送整个新程序一边向ECU的FlashROM进行写入。因而,存在耗费写入所需的时间这一问题。
对此,以相较于以往而言缩短更新时间为目的,业界提出有基于差分的重编程方式。在专利文献1、专利文献2中,是将更新前后的程序间的差分下载至接收装置并与更新前的程序一起存储至存储器,使用这些信息来更新接收装置的程序。
现有技术文献
专利文献
专利文献1:日本专利特开2012-69131号公报
专利文献2:日本专利特开2012-190075号公报
发明内容
发明要解决的问题
在上述专利文献中,须将更新前后的程序间的差分全部下载并存储至接收装置的存储器。然而,车辆控制装置的存储器容量通常较小,难以充分确保程序更新用的存储器区域。若是考虑下载所有差分所需的足够的存储器来进行设计,则其容量增大、零件成本上升。另外,在软件设计阶段难以知晓将来的软件更新中的差分的大小,从而难以求出妥当的存储器容量。
因此,本发明做到即便在差分数据较大的情况下也实现程序的更新。
解决问题的技术手段
本发明的车辆控制装置具备:第1存储器部,其存放有可重写的程序;第2存储器部,其存放所述程序与新程序的差分数据;接收部,其接收数据,所述数据包含分割成所述第2存储器部的每一写入块单位长度的所述差分数据、所述新程序的写入目标地址、以及所述差分数据的大小;判定部,其判定接收到的所述差分数据的大小;写入部,其将接收到的所述差分数据写入至所述第2存储器部的所述地址;差分还原部,其利用所述第2存储器部中存放的所述差分数据和所述程序来还原所述新程序;以及重写部,其将所述第1存储器部的所述程序重写为所述还原得到的所述新程序。
发明的效果
根据上述手段,即便在差分数据较大的情况下也实现程序的更新。
附图说明
图1为本发明的一实施方式的具备车辆控制装置的程序更新***的构成图。
图2为车辆所具有的车载网络***的构成图。
图3为车辆控制装置的功能框图。
图4为车辆控制装置的FlashROM的构成例。
图5为更新程序的功能框图。
图6为本发明的一实施方式的车辆控制装置的重编程顺序图。
图7为差分数据比第2区域大的情况下的车辆控制装置的重编程顺序图。
图8A为差分数据存放处理的顺序图。
图8B为差分数据存放处理的顺序图。
图9为差分数据存放处理的流程图。
图10为妥当性诊断处理的流程图。
图11为用户许可画面的一例。
图12为差分更新功能框图。
图13为差分更新处理的流程图。
图14为带更新时间限制的顺序例。
图15为本发明的第2实施方式的车辆控制装置的功能框图。
图16为本发明的第2实施方式的车辆控制装置的功能框图。
具体实施方式
<实施方式1>
下面,参考各图,对本发明的一实施方式的程序更新***进行说明。
图1为本发明的一实施方式的程序更新***的构成图。该程序更新***具备车辆1、服务器2、互联网线路3、无线基站4。车辆1经由互联网线路3及无线基站4而通过无线通信与服务器2连接,相互进行通信。无线通信例如使用基于3G/LTE等公用线路的手机网或者WiFi等线路来实现。服务器2向车辆1派发车辆1所具有的车辆控制装置11的控制程序的更新所需的更新包5。车辆1的车辆控制装置11使用该更新包5来进行控制程序的更新。
图2为车辆1所配备的车载网络***的构成图。车辆控制装置11是执行控制车辆1动作的控制程序的装置,经由车载网络13(例如CAN(Car Area Network汽车局域网))与网关12(程序写入装置)连接在一起。车辆控制装置11可以经由网关12与其他车辆控制装置进行通信。
此外,网关12还具有作为程序写入装置的作用,所述程序写入装置对车辆控制装置11的控制程序的更新进行控制。网关12从服务器2接收更新包5,并向车辆控制装置11发送控制程序的更新命令(重编程命令)以及更新用的差分数据或者控制程序本身。也可区别于网关12而另行设置程序写入装置。
网关12具有运算部121、FlashROM(Read Only Memory只读存储器)122、SRAM(Static Random Access Memory静态随机处理内存)123、以及包含CAN收发器及无线通信模块的通信装置124。运算部121执行FlashROM 122中存放的程序,由此,与车载网络13上的车辆控制装置11、服务器2之间进行通信。此外,在车辆控制装置11的控制程序的更新时,网关12从服务器2接收更新包5并暂时存放至FlashROM 122,使用暂时存放的该更新包5来进行车辆控制装置11的控制程序的更新。
此外,HMI(Human-Machine Interface人机界面)14例如由嵌入在车辆1的仪表板中央的各种显示用的液晶显示器装置、配置在其附近的操作开关类以及车载扬声器等构成。HMI 14向车辆1的乘客进行各种显示或者处理各种输入操作。此外,HMI 14进行车辆控制装置11的控制程序的更新相关的显示和操作输入。
图3为车辆控制装置11的构成图。车辆控制装置11具备运算部111、FlashROM 112、SRAM 113、以及通信装置114(例如CAN收发器)。
运算部111是执行FlashROM 112所存放的控制程序的、例如微型计算机等运算装置。以下,为方便记载,有时会以各程序为动作主体来进行说明,但实际执行这些程序的是运算部111。
FlashROM 112为可重写的非易失性存储器,具有引导块1122、作为第1存储区域的第1区域1123以及作为第2存储区域的第2区域1124。下面,使用图4,对该构成进行说明。
图4为表示FlashROM 112内部的构成的图。
FlashROM 112由多个块Block#0~Block#N构成,具有存放执行用程序D11的第1区域1123和作为存放差分数据D13的区域使用的第2区域1124。此处,所谓块,是表示FlashROM的擦除、重写单位。此外,差分数据D13表示根据执行用程序D11和新的执行用程序生成的差分数据。差分生成将于后文叙述。在本实施例中,第1区域1123和第2区域1124是由多个块构成的,但也可设为1个块。此外,起始块Block#0为引导块1122,搭载有与网关12进行通信、进行差分数据D13的存放和执行用程序D11的更新的更新程序D10。接着,使用图5,对更新程序D10进行说明。
图5为表示更新程序D10的功能构成的图。更新程序D10具有通信单元501、重写单元503、诊断单元504、差分还原单元505、接收大小判断502的功能。通信单元501与网关12进行通信。重写单元503进行FlashROM 112的指定区域的擦除及重写。诊断单元504进行接收到的差分数据是否已正确地写入的诊断。差分还原单元505具有使用第2区域1124中存放的差分数据D13和第1区域1123的执行用程序D11来还原新程序的功能。接收大小判断502进行通过通信单元501接收到的差分数据的数据长度的判定。下面,对使用这些功能的本实施例的软件的更新进行说明。
图6为表示更新处理整体的流程的顺序例。当进行车辆控制装置11的控制软件的修正时,作为软件更新的准备,向服务器2进行更新包5的登记(S601)。在启动了车辆的点火装置的时刻等,网关12经由通信装置124从服务器2下载更新包5并保持到网关12的FlashROM 122中(S602)。其后,在使车辆的电源开关OFF、从电源ON状态转变到ACC状态S603时等,在更新对象ECU中从网关12接收差分数据D13并存放至第2区域1124(S604)。当差分数据D13的存放正常完成时,网关12向HMI 14发送用户许可请求M601,显示用于确认可否执行执行用程序D11的更新的许可的画面(S605)。若用户许可,则从HMI 14应答用户许可M602,进行目标车辆控制装置11的程序更新处理(S606)。当执行用程序D11的更新正常结束时,使车辆的电源OFF。
再者,关于差分数据存放处理(S604)、软件更新处理(S606)的实施时机,除了所述ACC状态以外,也考虑更新数据的下载处理S602刚完成之后或者规定时刻等。
图7展示差分数据D13的数据大小比车辆控制装置11的第2区域1124的存放大小大的情况下的更新处理整体的流程的顺序例。
到更新数据D13向服务器2的登记处理为止都与图6相同,因此对这之后的顺序进行说明。
在使车辆的电源开关OFF、从电源ON状态转变到ACC状态S701时等,在更新对象ECU中从网关12接收差分数据D13并存放至第2区域1124(S702)。此处,当差分数据D13的数据大小比车辆控制装置11的第2区域1124的存放大小大、车辆控制装置11判断无法将差分数据D13全部存放到第2区域1124时,向网关12发送待机命令,在中途暂时停止数据的传送。
接着,显示用于确认可否实施执行用程序D11的更新的许可的画面(S703)。若用户许可,则进行向目标车辆控制装置11的程序更新处理(S704)。在步骤S704中,使用差分数据存放处理a S702中存放到了第2区域1124的差分数据D13而仅对执行用程序D11的一部分实施程序更新(称为“更新处理a”)。当执行用程序的更新结束时,网关12开始剩下的差分数据D13'的发送。车辆控制装置11在第2区域1124存放差分数据D13'(S705)。当差分数据D13'的存放正常完成时,使用该数据来进行执行用程序D11的程序更新处理(S706)。在步骤S706中,从程序更新处理a S704的接续区域起进行程序更新(称为“更新处理b”)。
下面,针对差分数据存放处理及更新处理(S702~S706)来说明更详细的次序。
图8A为表示差分数据存放处理a S702中在网关12与车辆控制装置11之间执行的差分数据存放处理的流程的顺序图。首先,网关12向车辆控制装置11发送差分数据存放目标指定指令(M801)。该差分数据存放目标指定指令例如包含数据格式、发送数据大小、表示所发送的数据的写入目标的写入目标地址等信息。
此处,指定第2区域1124作为差分数据的写入目标。当车辆控制装置11接收到差分数据存放目标指定指令M801时,在步骤S801中进行用于存放差分数据的准备,并向网关12返回接受应答(M802)。该接受应答包含车辆控制装置11一次能接收的数据大小等信息。
接着,网关12从更新包5中读出差分数据D13,分割为车辆控制装置11一次能接收的数据大小,并传送至车辆控制装置11(M803)。当车辆控制装置11在步骤S802中接收到从网关12发送的差分数据时,将差分数据依序存放至差分数据存放目标指定指令(M801)中指定的写入目标。此处是存放至第2区域1124。网关12和车辆控制装置11反复进行M803和S802的处理直至完成所有差分数据的传送为止。此处,当车辆控制装置11判断接收的数据大小比第2区域1124的存放大小大时,向网关12发送待机应答(M807)。当网关12接收到待机应答(M807)时,停止数据传送,并存储好未发送数据的开始位置,之后向车辆控制装置11发送诊断请求指令(M805)。该诊断请求例如包含诊断指标、进行诊断的数据大小、进行诊断的起始地址等信息。当车辆控制装置11接收到诊断请求指令时,在步骤S803中从所指定的起始地址起进行所指定的大小量的区域的数据妥当性检查,确认差分数据正常地存放到了第2区域1124中。车辆控制装置11将诊断结果应答给网关12(M806)。
此处,使用图5和图9,对差分数据接收、存放处理S802的动作进行说明。当车辆控制装置11从网关12接收到差分数据时,通过更新程序D10来执行差分数据接收、存放处理S802。
首先,使通过通信单元501接收到的差分数据保存至RAM 113(S901),并通过接收大小判断502来进行接收到的差分数据的大小判定(S902~S904)。在步骤S902中,判定接收到的是否是一次能接收的数据大小量。在步骤S903中,判定接收到的是否是1Block量的数据。最后,在步骤S904中,判定接收到的数据大小是否小于第2区域大小。每当接收数据积攒了1Block量时,更新程序D10便通过重写单元503将RAM中存放的数据写入至FlashROM(S910),并发送接受应答以接收下一接收数据(S909)。此处,在通过步骤S904判断接收到的数据大小在第2区域大小以上的情况下,更新程序D10向网关12发送待机应答,通知暂时停止差分数据的发送(S908)。
接着,利用图5和图10,对妥当性诊断S803的动作进行说明。当车辆控制装置11从网关12接收到诊断请求M805时,通过更新程序D10来执行妥当性诊断S803。在本实施例中,展示基于求和校验的错误诊断例。
首先,在步骤S1001中,将通信单元501接收到的诊断请求M805中随附的信息存放为变量。此处,将网关12所发送的差分数据的和值、进行诊断的数据被存放的区域的起始地址信息、以及进行诊断的数据大小分别设定为变量。接着,在步骤S1002中,将从起始地址起到数据大小为止的区域的数据(第2区域1124的差分数据)相加得到的值设定为变量sum。接着,在步骤S1003中,进行从诊断请求M805得到的差分数据的和值与变量sum的一致判定,若为是,则在步骤S1004中将诊断结果:正常发送至网关12,若为否,则应答诊断结果:异常。
在图8A中,对差分数据存放处理a S702中进行的差分数据存放处理的一系列顺序进行了说明,而在妥当性诊断S803中,当能够确认差分数据正常地存放到了第2区域1124时,接着执行步骤S703。步骤S703是向用户确认可否实施执行用程序D11的更新的许可的处理。下面,使用图7和图11进行说明。
网关12对HMI 14进行用户许可获取请求(M601)。当接收到用户许可获取请求M601时,HMI 14显示用于确认可否实施执行用程序D11的更新的许可的画面。图11展示用于获取用户许可的画面构成例。例如,通过触摸面板等构件来获取用户许可,并将其结果应答给网关12(M602)。
图8B展示步骤S703中取得了用户的更新许可确认后的处理顺序。顺序由步骤S704、S705、S706这3个步骤构成。下面分别进行说明。
步骤S704为表示在网关12与车辆控制装置11之间执行的更新处理a的流程的顺序图。
首先,网关12向车辆控制装置11发送更新执行请求指令(M811)。该更新执行请求指令例如包含表示更新目标区域的标记等信息。此处,指定第1区域1123。当车辆控制装置11接收到更新执行请求指令M811时,在步骤S804中进行更新执行处理。
在更新执行处理S804中,以差分数据存放处理a S702中存放到了第2区域1124的差分数据和第1区域的执行用程序D11为输入,通过差分还原处理来还原新程序,将第1区域的执行用程序D11重写为新程序。当程序重写正常结束时,向网关12返回更新正常结束(M812)。更新执行处理S804将于后文叙述。
步骤S705为表示差分数据存放处理b的流程的顺序图。该处理是从网关12接收差分数据存放处理a S702中未能存放的差分数据D13'并存放至第2区域1124的处理。顺带一提,差分数据存放处理a S702中存放到了第2区域1124的差分数据D13已在更新处理a S704的差分还原中使用过了,因此也可予以擦除。因而,差分数据存放处理b中接收的差分数据D13'也可以存放至第2区域1124。再者,在网关12与车辆控制装置11之间执行的指令顺序与差分数据存放处理a S702相同,因此省略说明。
最后的步骤S706为表示更新处理b的流程的顺序图。以差分数据存放处理b S705中存放到了第2区域1124的差分数据D13'和第1区域的现行程序为输入,通过差分还原处理来还原新程序,将第1区域的执行用程序D11重写为新程序。此处,差分还原处理是从更新处理a S704中进行了重写的程序的接续位置起来进行的。这可以通过由车辆控制装置11预先存储好更新处理a的重写结束位置(更新处理b的还原开始位置)等来加以实现。在网关12与车辆控制装置11之间执行的指令顺序与更新处理a S704相同,因此省略说明。
接着,使用图12和图13,对更新执行处理S804的动作进行说明。当车辆控制装置11从网关12接收到更新执行请求M811时,通过更新程序D10来执行更新执行处理S804。
首先,对差分生成、差分还原单元进行说明。差分生成单元在差分提取处理等当中从旧程序中进行检索而找到与新程序的部分命令列类似的部分命令列,将该部分命令列替换为短代码而附属到复制指令中。另一方面,在未找到类似的部分命令列的情况下,使该部分命令列附属到追加指令中。该复制指令与追加指令的列就是差分数据。如此,所谓差分数据,并不是仅从新程序减去旧程序得到的结果,而是由将类似部分命令列替换成短代码得到的复制指令和追加指令等列构成的。
立足于以上准备而对基于差分的更新执行处理S804的动作进行说明。
首先,差分还原单元505在步骤S1301中从第2区域1124的差分数据D13中读出差分指令。在步骤S1302中解析差分指令,在步骤S1303中判定差分指令是否为复制指令,若为是,则在步骤1306中从附属的代码中将第1区域1123的执行用程序的部分命令列写入至还原区域1132。若为否,则在S1304中判定差分指令是否为追加指令,若为是,则在步骤1307中将追加指令中附属的数据(部分命令列)追加写入至还原区域1132。若为否,则在步骤1305中判定是否已全部读出第2区域1124的差分数据D13,若为否,则返回至步骤1301而重复进行处理。若为是,则差分还原处理结束。接着,重写单元503在步骤1308中从第1区域1123的起始地址起擦除相应大小的区域,并从还原区域1132将差分还原得到的新程序写入至该区域。在步骤1309中,实施写入到第1区域1123的新程序的妥当性诊断。作为妥当性诊断的方法,例如可列举从网关接收整个新程序的和值或散列值等,并计算车辆控制装置自身还原得到的新程序的和值或散列值,检查与接收到的值是否一致等。若在该妥当性诊断中可以确认新程序正常,则程序更新结束。由此,差分还原得到的新程序存放到了第1区域1123内。
再者,关于在妥当性诊断中判断新程序异常的情况下的对策,将在实施方式2中进行说明。
在本实施例中,考虑如下情况:在一系列软件更新耗费了较长时间的情况下,会对车辆的以往的处理产生影响。此外,还考虑如下可能:当软件更新时间变长导致到车辆的电源OFF为止的时间变长,ACC状态持续较长时间时,电池消耗相应地增多而导致电池耗尽,最坏的情况下将开动不了车辆。作为解决这种问题的方法,考虑对1次能实施的软件更新处理设置时间限制。在限制时间内没有更新完的情况下,在中途暂时停止处理,在下一执行时刻从接续位置起进行更新。由此,可以解决上述那样的问题。
作为用于解决上述问题的实施例,在图14中展示在车辆控制装置11中设置有基于定时器的强制中断功能的情况下的顺序例。此处,使用差分数据存放处理a S702来进行说明。首先,在车辆控制装置11从网关12接收到差分数据存放目标指定指令(M801)时,启动定时器(S1410)。其后,当在存放从网关12发送的差分数据的处理中收到软件更新的限制时间的超时通知时(S1402),车辆控制装置11将强制中断应答M1401发送至网关12,强制结束软件更新处理。当网关12接收到强制中断应答M1401时,算出未发送的差分数据(剩余数据)的写入目标地址和数据大小并加以存储(S1403),强制结束软件更新处理。其后,车辆转移至电源OFF处理。网关12算出并存储将差分数据发送至何处、从何处起存放接下来的数据,由此,可以在下一软件更新处理时刻从接续位置起进行差分数据存放处理。
<实施方式1:总结>
如上所述,在程序更新时,根据存放差分数据的车辆控制装置的区域的容量来控制网关发送的数据量,由此,车辆控制装置即便未存放有所有差分数据,也能使用该接收到的部分数据来依序进行还原及程序更新。因此,可以提供一种即便在无法充分确保用于接收差分数据的存储器的情况下也能实现差分更新的车辆控制装置,结果,可以将车辆控制装置的存储器区域设计得较小。
<实施方式2>
在实施方式1中说明过的基于差分的程序的更新中,对用于诊断还原得到的新程序是否正确地得到了还原、实现了更新的妥当性诊断处理进行了叙述。作为该情况下的问题,设想如下情形:若是在诊断结果异常的情况下,由于非易失性存储器中已不存在旧程序,因此无法通过差分来进行重编程,最坏的情况下,车辆将无法动作。此处,对在较小地抑制车辆控制装置11的FlashROM的存储器区域的情况下解决该问题用的方法的一例进行说明。
图15为本发明的实施方式2的车辆控制装置11的构成图。基本上与实施方式1的车辆控制装置11的构成图相同,但在实施方式2中,在FlashROM 112中设置有第3区域1125,以压缩后的状态(压缩数据)配置特定程序(例如紧急时用程序)D14。
图16为表示本发明的实施方式2的更新程序D10的功能构成的图。
设置解压缩单元506作为用于对前文所述的压缩数据D14进行解压缩的手段。
通过以第1区域1123的执行用程序D11和第2区域1124中存放的差分数据为输入的差分还原单元505来还原差分,通过还原得到的新程序来重写第1区域1123的执行用程序D11。其后,在妥当性诊断的诊断结果为异常的情况下,通过解压缩还原单元506将第3区域1125内配置的紧急时用程序的压缩数据D14解压缩,并写入至第1区域1123。
继而,使该特定程序动作,由此能使车辆控制装置11变为可以动作的状态。
<实施方式2:总结>
如上所述,在FlashROM 112中设置第3区域1125,并以压缩后的状态(压缩数据)配置特定程序(例如紧急时用程序)D14,在发生了差分更新异常的情况下,可以通过对该程序进行解压缩而使车辆变为可以动作的状态。进而,特定程序可以限定在开动车辆所需的紧急功能,因此能够具有更小的程序大小。因而,由于该压缩数据达到更小的大小,因此,结果是能将备份用非易失性存储器的容量抑制得较小。
<关于变形例>
本发明包含各种变形例,并不限定于上述实施方式。例如,上述实施方式是为了以易于理解的方式说明本发明所作的详细说明,并非一定限定于具备说明过的所有构成。此外,可以将某一实施方式的构成的一部分替换为其他实施方式的构成,此外,也可以对某一实施方式的构成加入其他实施方式的构成。此外,可以对各实施方式的构成的一部分进行其他构成的追加、删除、替换。
在实施方式1中,列举了FlashROM 112作为存放控制程序的区域的例子,但也可使用其他非易失性存储装置。
在实施方式1中,对FlashROM 112分为第1区域1123和第2区域1124的构成例进行了说明,但也可以通过2个存储装置来实现同样的构成。
HMI 14采用的是嵌入在仪表板中央的各种显示用液晶显示器装置,但也可为语音识别装置,或者也可为智能手机之类的能进行用户的许可确认的别的构件。
在更新顺序中,通常是写入控制程序的最新版,但也可能由于诸多原因而以降级了版本的控制程序来进行更新。在该情况下,控制程序的更新版就成了降级了版本的控制程序。即,所谓控制程序的更新版,是指通过前一更新顺序写入的控制程序。
上述各构成、功能、处理部、处理方法等例如可通过利用集成电路进行设计等而以硬件来实现它们的一部分。此外,上述的各构成、功能等也可通过由处理器解释并执行实现各功能的程序而以软件来实现。实现各功能的程序、表格、文件等信息可以存放在存储器、硬盘、SSD(Solid State Drive)等记录装置、IC卡、SD卡、DVD等记录介质中。
根据以上各实施方式以及实施方式的组合,下载与车辆控制装置的存储器容量相应的大小的差分数据,进行基于该差分的更新。通过重复该动作,即便在差分数据较大的情况下,也会实现所有控制程序的更新。也就是说,即便存放差分数据的存储器较小,也能实现差分更新,因此,结果是能将车辆控制装置的差分数据存放区域(第2存储器部)的容量设计得较小,获得成本降低的效果。
符号说明
1 车辆
2 服务器
3 互联网线路
4 无线基站
5 更新包
11 车辆控制装置
1122 引导块
1123 第1区域
1124 第2区域
1125 第3区域
12 网关
13 车载网络
14 HMI
D10 更新程序
D11 执行用程序
D13 差分数据
D14 特定版本的压缩数据。

Claims (6)

1.一种车辆控制装置,其特征在于,具备:
第1存储器部,其存放有可重写的程序;
第2存储器部,其存放所述程序与新程序的差分数据;
接收部,其接收数据,所述数据包含分割成所述第2存储器部的每一写入块单位长度的所述差分数据、所述新程序的写入目标地址、以及所述差分数据的大小;
判定部,其判定接收到的所述差分数据的大小;
写入部,其将接收到的所述差分数据写入至所述第2存储器部的所述地址;
诊断部,其对写入到所述第2存储器部的所述差分数据进行诊断;
差分还原部,其利用所述第2存储器部中存放的所述差分数据和所述程序来还原所述新程序;以及
重写部,其将所述第1存储器部的所述程序重写为还原得到的所述新程序,
在判断为接收到所述第2存储器部的写入块大小的所述差分数据的情况下,将接收到的所述差分数据写入至所述第2存储器部的所述地址,
在判断为接收到所述第2存储器部的存储器大小的所述差分数据而且有未接收的所述差分数据的情况下,使所述差分数据的发送待机,
在所述第2存储器部中存放的所述差分数据正常而且由用户许可了程序更新的情况下,所述差分还原部利用所述第2存储器部中存放的所述差分数据和所述第1存储器部中存放的所述程序来还原差分,
所述重写部将所述第1存储器部的所述程序重写为所述新程序,
在有所述未接收的所述差分数据的情况下,
在对还原得到的所述程序的重写后,接收剩下的所述差分数据,
将接收到的所述剩下的所述差分数据写入至所述第2存储器部,
在所述写入的所述差分数据的所述诊断为正常的情况下,
利用所述第2存储器部中存放的所述差分数据和所述第1存储器部中存放的所述程序,通过所述差分还原部来还原差分,
将所述第1存储器部的所述程序重写为所述新程序。
2.根据权利要求1所述的车辆控制装置,其特征在于,
具备计时部,当在所述差分数据的接收中检测到已经过规定时间的情况下,停止所述差分数据的所述接收。
3.根据权利要求1所述的车辆控制装置,其特征在于,
所述第1存储器部的所述程序向所述新程序的重写是在点火装置为OFF、车辆的挡位处于驻车位置的情况下进行。
4.根据权利要求1-3中任一项所述的车辆控制装置,其特征在于,还具备:
第3存储器部,其存放有压缩后的特定程序;以及
解压缩还原部,其将所述压缩后的特定程序解压缩还原,并将所述程序重写为所述特定程序,
在发生了差分更新异常的情况下,所述解压缩还原部将所述第3存储器部中存放的所述特定程序解压缩还原,并将所述第1存储器部的所述程序重写为所述特定程序。
5.一种程序更新***,其特征在于,具备:
车辆控制装置;
程序写入装置,其通过车载网络与所述车辆控制装置连接;
服务器,其将包含所述车辆控制装置的差分数据的更新包经由无线通信派发至所述程序写入装置;以及
输入输出装置,其控制与用户的输入和输出;
所述车辆控制装置具备:
第1存储器部,其存放有可重写的程序;
第2存储器部,其存放所述程序与新程序的差分数据;
接收部,其接收数据,所述数据包含分割成所述第2存储器部的每一写入块单位长度的所述差分数据、所述新程序的写入目标地址、以及所述差分数据的大小;
判定部,其判定所述接收到的所述差分数据的大小;
写入部,其将接收到的所述差分数据写入至所述第2存储器部的所述地址;
差分还原部,其利用所述第2存储器部中存放的所述差分数据和所述程序来还原所述新程序;以及
重写部,其将所述第1存储器部的所述程序重写为还原得到的所述新程序,
在所述差分数据的发送中从所述车辆控制装置接收到使所述差分数据的发送暂时待机这一内容的通知的情况下,所述程序写入装置存储未发送的所述差分数据的起始位置,停止所述差分数据的发送,并向所述车辆控制装置发送妥当性诊断的请求,
在从所述车辆控制装置应答的所述差分数据的所述妥当性诊断的结果是正常的情况下,所述程序写入装置通过所述输入输出装置来进行所述车辆控制装置的程序更新的可否确认,
在所述可否确认为可以的情况下,所述程序写入装置将包含所述新程序的写入目标地址和所述差分数据的大小的程序更新执行请求发送至所述车辆控制装置,
在从所述车辆控制装置接收到针对所述程序更新执行请求的应答的情况下,若有未发送的所述差分数据,则所述程序写入装置从所述起始位置起向所述车辆控制装置发送所述差分数据。
6.根据权利要求5所述的程序更新***,其特征在于,
在所述差分数据的发送中从所述车辆控制装置接收到因已经过规定时间而要暂时中止程序更新手续这一内容的通知的情况下,所述程序写入装置存储未发送的所述差分数据的起始位置和未发送的所述差分数据大小,结束程序更新处理。
CN201980006185.8A 2018-02-16 2019-02-01 车辆控制装置及程序更新*** Active CN111684416B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018-025639 2018-02-16
JP2018025639 2018-02-16
PCT/JP2019/003566 WO2019159715A1 (ja) 2018-02-16 2019-02-01 車両制御装置およびプログラム更新システム

Publications (2)

Publication Number Publication Date
CN111684416A CN111684416A (zh) 2020-09-18
CN111684416B true CN111684416B (zh) 2023-09-29

Family

ID=67619435

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980006185.8A Active CN111684416B (zh) 2018-02-16 2019-02-01 车辆控制装置及程序更新***

Country Status (5)

Country Link
US (1) US11449329B2 (zh)
JP (1) JP7044859B2 (zh)
CN (1) CN111684416B (zh)
DE (1) DE112019000179T5 (zh)
WO (1) WO2019159715A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020053928A1 (ja) * 2018-09-10 2020-03-19 三菱電機株式会社 空気調和システムおよび空気調和システムのプログラム更新方法
KR20210074067A (ko) * 2019-12-11 2021-06-21 한국전자통신연구원 차량용 이더넷 기반의 접근제어 목록 관리 방법 및 이를 위한 장치
CN112346773A (zh) * 2020-11-05 2021-02-09 经纬恒润(天津)研究开发有限公司 Ecu升级方法及装置

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6640334B1 (en) * 1999-09-27 2003-10-28 Nortel Networks Limited Method and apparatus of remotely updating firmware of a communication device
JP2006113656A (ja) * 2004-10-12 2006-04-27 Denso Corp 書き換えプログラム送信方法、書き換えプログラム送信装置、書き換えプログラム送信プログラム、車両制御装置、および書き換えプログラム受信・起動プログラム
JP2006133889A (ja) * 2004-11-02 2006-05-25 Sharp Corp プログラムを更新するための方法、プログラムおよび装置
JP2007128204A (ja) * 2005-11-02 2007-05-24 Seiko Epson Corp コンピュータシステム、および、コンピュータシステムの起動方法
CN101000571A (zh) * 2006-01-13 2007-07-18 株式会社日立制作所 存储控制装置及其数据管理方法
CN101031038A (zh) * 2006-05-10 2007-09-05 奇景光电股份有限公司 数字视讯传播方法
CN101169719A (zh) * 2007-11-30 2008-04-30 华为技术有限公司 一种实现数据升级的方法、***和升级客户端
JP2008310596A (ja) * 2007-06-14 2008-12-25 Toshiba Corp 携帯可能電子装置および携帯可能電子装置の制御方法
JP2009104545A (ja) * 2007-10-25 2009-05-14 Nippon Telegr & Teleph Corp <Ntt> 文書管理システム、文書管理方法および文書管理プログラム
JP2011002985A (ja) * 2009-06-18 2011-01-06 Fuji Xerox Co Ltd データ管理プログラム及びデータ管理装置
JP2012226619A (ja) * 2011-04-20 2012-11-15 Kyocera Corp 携帯端末装置、記憶制御方法及び記憶制御プログラム
CN103034673A (zh) * 2011-09-28 2013-04-10 歌乐株式会社 对象数据传送***和方法、服务器装置以及客户机装置
CN106250168A (zh) * 2015-06-15 2016-12-21 李尔公司 包括差分更新包的远程信息处理控制单元
CN106250170A (zh) * 2015-06-15 2016-12-21 李尔公司 用于ota更新车辆电子控制单元的方法
JP2017004212A (ja) * 2015-06-09 2017-01-05 日立オートモティブシステムズ株式会社 リプログラミングシステム
CN107077396A (zh) * 2015-01-26 2017-08-18 日立汽车***株式会社 车载控制装置、程序写入装置、程序生成装置以及程序
CN107332867A (zh) * 2016-04-29 2017-11-07 杭州三花研究院有限公司 车载设备、该车载设备的更新***及更新方法
JP2018018186A (ja) * 2016-07-26 2018-02-01 日立オートモティブシステムズ株式会社 車両制御装置、車載ネットワークシステム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7065347B1 (en) * 2001-06-27 2006-06-20 Peoplenet Communications Corporation System and method for over the air programming
JP2005215841A (ja) 2004-01-28 2005-08-11 Mitsubishi Electric Corp ソフトウエア修正機能付き携帯電話端末装置
WO2007148900A1 (en) 2006-06-19 2007-12-27 Samsung Electronics Co., Ltd. Program upgrade system and method for ota-capable portable device
US20090113412A1 (en) * 2007-10-29 2009-04-30 Sap Portals Israel Ltd. Method and apparatus for enhanced synchronization protocol
JP5653259B2 (ja) 2011-03-08 2015-01-14 クラリオン株式会社 更新差分データ作成装置、データ更新システムおよび更新差分データ作成プログラム
US10241807B2 (en) * 2014-09-26 2019-03-26 Hitachi Automotive Systems, Ltd. Vehicle control device, reprogramming system
JP6354566B2 (ja) 2014-12-19 2018-07-11 株式会社デンソー マイクロコンピュータ
JP6665728B2 (ja) 2016-08-05 2020-03-13 株式会社オートネットワーク技術研究所 車載更新装置、車載更新システム及び通信装置の更新方法
US10761528B2 (en) * 2018-03-23 2020-09-01 Logic Meister Inc. Automated operation vehicle control unit and automated operation vehicle using automated operation vehicle control unit

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6640334B1 (en) * 1999-09-27 2003-10-28 Nortel Networks Limited Method and apparatus of remotely updating firmware of a communication device
JP2006113656A (ja) * 2004-10-12 2006-04-27 Denso Corp 書き換えプログラム送信方法、書き換えプログラム送信装置、書き換えプログラム送信プログラム、車両制御装置、および書き換えプログラム受信・起動プログラム
JP2006133889A (ja) * 2004-11-02 2006-05-25 Sharp Corp プログラムを更新するための方法、プログラムおよび装置
JP2007128204A (ja) * 2005-11-02 2007-05-24 Seiko Epson Corp コンピュータシステム、および、コンピュータシステムの起動方法
CN101000571A (zh) * 2006-01-13 2007-07-18 株式会社日立制作所 存储控制装置及其数据管理方法
CN101031038A (zh) * 2006-05-10 2007-09-05 奇景光电股份有限公司 数字视讯传播方法
JP2008310596A (ja) * 2007-06-14 2008-12-25 Toshiba Corp 携帯可能電子装置および携帯可能電子装置の制御方法
JP2009104545A (ja) * 2007-10-25 2009-05-14 Nippon Telegr & Teleph Corp <Ntt> 文書管理システム、文書管理方法および文書管理プログラム
CN101169719A (zh) * 2007-11-30 2008-04-30 华为技术有限公司 一种实现数据升级的方法、***和升级客户端
JP2011002985A (ja) * 2009-06-18 2011-01-06 Fuji Xerox Co Ltd データ管理プログラム及びデータ管理装置
JP2012226619A (ja) * 2011-04-20 2012-11-15 Kyocera Corp 携帯端末装置、記憶制御方法及び記憶制御プログラム
CN103034673A (zh) * 2011-09-28 2013-04-10 歌乐株式会社 对象数据传送***和方法、服务器装置以及客户机装置
CN107077396A (zh) * 2015-01-26 2017-08-18 日立汽车***株式会社 车载控制装置、程序写入装置、程序生成装置以及程序
JP2017004212A (ja) * 2015-06-09 2017-01-05 日立オートモティブシステムズ株式会社 リプログラミングシステム
CN106250168A (zh) * 2015-06-15 2016-12-21 李尔公司 包括差分更新包的远程信息处理控制单元
CN106250170A (zh) * 2015-06-15 2016-12-21 李尔公司 用于ota更新车辆电子控制单元的方法
CN107332867A (zh) * 2016-04-29 2017-11-07 杭州三花研究院有限公司 车载设备、该车载设备的更新***及更新方法
JP2018018186A (ja) * 2016-07-26 2018-02-01 日立オートモティブシステムズ株式会社 車両制御装置、車載ネットワークシステム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Delta Flashing of an ECU in the Automotive Industry,Daniel Bogdan.Delta Flashing of an ECU in the Automotive Industry.《11th IEEE International Symposium on Applied Computational Intelligence and Informatics》.2016,正文第503-508页. *
Yutaka Onuma.Improved Software Updating for Automotive ECU.《2016 IEEE 40th Annual Computer Software and Applications Conference》.2016,全文. *

Also Published As

Publication number Publication date
US11449329B2 (en) 2022-09-20
DE112019000179T5 (de) 2020-07-16
JP7044859B2 (ja) 2022-03-30
WO2019159715A1 (ja) 2019-08-22
US20210173634A1 (en) 2021-06-10
JPWO2019159715A1 (ja) 2020-12-03
CN111684416A (zh) 2020-09-18

Similar Documents

Publication Publication Date Title
CN109933348B (zh) 一种电子控制单元中Bootloader的更新方法和装置
CN109478155B (zh) 车载更新装置、车载更新***及通信装置的更新方法
CN111684416B (zh) 车辆控制装置及程序更新***
EP2229625B1 (en) Updating firmware of an electronic device
CN108027753B (zh) 车载控制装置、程序更新***以及保存有程序更新软件的存储介质
CN110178114B (zh) 车辆控制装置以及程序更新***
CN110244958B (zh) 用于更新车辆的标定数据的方法和装置
JP2014041456A (ja) 車載機器、携帯端末、情報管理装置、情報通信システム
US11263001B2 (en) Car onboard control device and program updating software
JP7298427B2 (ja) プログラム更新システムおよびプログラム更新方法
CN110764486B (zh) 车载控制器的运行方法、装置、车载控制器及存储介质
CN113939802A (zh) 车辆控制装置、更新程序、程序更新***以及写入装置
US20220391192A1 (en) Ota master, center, system, method, non-transitory storage medium, and vehicle
EP3945417A1 (en) Software update device, update control method, non-transitory storage medium, and server
EP4036712A1 (en) Ota master, update control method, non-transitory storage medium, and vehicle
CN113961214A (zh) 软件更新装置、更新控制方法、非临时存储介质、服务器、ota主机及中心
JP7363853B2 (ja) Otaマスタ、センタ、システム、更新方法、更新プログラム、及び車両
KR100762618B1 (ko) 이동통신 단말기에서 펌웨어 업그레이드 엔진을업그레이드하는 방법 및 시스템
JP6838714B2 (ja) 車載制御装置
JP7355061B2 (ja) センタ、otaマスタ、システム、配信方法、配信プログラム、及び車両
KR101090718B1 (ko) 텔레매틱스 단말기 소프트웨어 다운로딩 방법
US20220391193A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
CN117714281A (zh) 一种交换机固件的升级方法、装置及相关产品
CN114153481A (zh) 一种驾驶***更新方法、装置及计算机设备
CN115509567A (zh) 中心、ota管理器、***、方法、非暂时性存储介质

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Ibaraki

Applicant after: Hitachi astemo Co.,Ltd.

Address before: Ibaraki

Applicant before: HITACHI AUTOMOTIVE SYSTEMS, Ltd.

GR01 Patent grant
GR01 Patent grant