CN104793975B - 电子控制单元中应用程序的更新方法及装置 - Google Patents

电子控制单元中应用程序的更新方法及装置 Download PDF

Info

Publication number
CN104793975B
CN104793975B CN201510211875.0A CN201510211875A CN104793975B CN 104793975 B CN104793975 B CN 104793975B CN 201510211875 A CN201510211875 A CN 201510211875A CN 104793975 B CN104793975 B CN 104793975B
Authority
CN
China
Prior art keywords
electronic control
control unit
network segment
update
program
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
CN201510211875.0A
Other languages
English (en)
Other versions
CN104793975A (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.)
Beijing Jingwei Hirain Tech Co Ltd
Original Assignee
Beijing Jingwei Hirain Tech 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 Beijing Jingwei Hirain Tech Co Ltd filed Critical Beijing Jingwei Hirain Tech Co Ltd
Priority to CN201510211875.0A priority Critical patent/CN104793975B/zh
Publication of CN104793975A publication Critical patent/CN104793975A/zh
Application granted granted Critical
Publication of CN104793975B publication Critical patent/CN104793975B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明实施例公开了一种电子控制单元中应用程序的更新方法及装置,应用于重编程设备,所述重编程设备具有组播地址,所述重编程设备通过网络总线与若干个相同的电子控制单元相连接,所述若干个相同的电子控制单元构成一个网段,在对该网段中的电子控制单元的应用程序进行更新时,通过组播地址向网段发送更新命令,使得网段中的各个电子控制单元都能接收到该更新命令,且网段中的所有电子控制单元相同,从而多个电子控制单元可以并行对重编程设备发送的同一更新命令进行响应,而不是一个电子控制单元更新完成再对另一个电子控制单元进行更新,从而缩短了对多个相同的电子控制单元中的应用程序进行更新所耗费的时间。

Description

电子控制单元中应用程序的更新方法及装置
技术领域
本发明涉及应用程序更新技术领域,更具体地说,涉及一种电子控制单元中应用程序的更新方法及装置。
背景技术
在车辆及轨道交通等系统中,通常会安装多个电子控制单元(ElectronicControl Unit,ECU)。有的车辆及轨道交通系统中会安装相同的电子控制单元,这些相同的电子控制单元执行相同的功能,其中的应用程序完全相同。目前,当需要对电子控制单元中的程序进行更新时,只能逐一对电子控制单元中的应用程序进行更新,每更新一个电子控制单元,都需要执行一次下载流程。
发明人在实现本发明的过程中发现,当对多个相同的电子控制单元中的应用程序进行更新时,目前的更新方式需要耗费较长的时间。
因此,如何缩短对多个相同的电子控制单元中的应用程序进行更新所耗费的时间成为亟待解决的问题。
发明内容
本发明的目的是提供一种电子控制单元中应用程序的更新方法,以缩短对多个相同的电子控制单元中的应用程序进行更新所耗费的时间。
为实现上述目的,本发明提供了如下技术方案:
一种电子控制单元中应用程序的更新方法,应用于重编程设备,所述重编程设备具有组播地址,所述重编程设备通过网络总线与若干个相同的电子控制单元相连接,所述若干个相同的电子控制单元构成一个网段,所述方法包括:
依据所述网段中电子控制单元的程序更新步骤确定目标更新命令;
通过所述组播地址向所述网段发送当前确定的目标更新命令;
等待所述网段中的电子控制单元发送与当前目标更新命令对应的响应信息;
在等待时长达到预设时长时,若当前发送的目标更新命令不是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则返回执行所述依据所述网段中电子控制单元的程序更新步骤确定目标更新命令的步骤;
在等待时长达到所述预设时长时,若当前发送的目标更新命令是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则结束更新。
上述方法,优选的,所述依据所述网段中电子控制单元的程序更新逻辑确定目标更新命令包括:
若电子控制单元的程序更新步骤为初始更新步骤,则确定与所述初始更新步骤对应的更新命令为目标更新命令;
若电子控制单元的程序更新步骤不是初始更新步骤,则确定当前更新步骤的下一更新步骤对应的更新命令为目标更新命令。
上述方法,优选的,若电子控制单元的程序更新步骤为初始更新步骤,则在确定与所述初始更新步骤对应的更新命令为目标更新命令之前,还包括:
通过所述组播地址向所述网段发送在线节点检测命令;
等待所述网段中的电子控制单元发送与所述在线节点检测命令对应的响应信息;
确定发送与所述在线节点检测命令对应的响应信息的电子控制单元为在线电子控制单元;
所述确定与所述初始更新步骤对应的更新命令为目标更新命令包括:
在等待所述网段中的电子控制单元发送与所述在线节点检测命令对应的响应信息的时长达到预设时长时,确定与所述初始更新步骤对应的更新命令为目标更新命令。
上述方法,优选的,还包括:
在等待所述网段中的电子控制单元发送与当前目标更新命令对应的响应信息的等待时长达到预设时长时,若未接收到第一电子控制单元发送的与当前目标更新命令对应响应信息,则将所述第一电子控制单元标记为更新异常;所述第一电子控制单元为在线电子控制单元中的任意一个。
上述方法,优选的,若当前发送的目标更新命令是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则在等待时长达到所述预设时长时,还包括:
确定被标记为更新异常的电子控制单元在所述网段中所占的比例;
若所述比例大于预设阈值,则执行所述依据所述网段中电子控制单元的程序更新步骤确定目标更新命令的步骤。
上述方法,优选的,所述重编程设备还具有单播地址,所述方法还包括:
若所述比例小于或等于预设阈值,则通过所述单播地址逐个对标记为更新异常的电子控制单元进行应用程序的更新。
一种电子控制单元中应用程序的更新装置,应用于重编程设备,所述重编程设备具有组播地址,所述重编程设备通过网络总线与若干个相同的电子控制单元相连接,所述若干个相同的电子控制单元构成一个网段,所述装置包括:
第一确定模块,用于依据所述网段中电子控制单元的程序更新步骤确定目标更新命令;
第一发送模块,用于通过所述组播地址向所述网段发送当前确定的目标更新命令;
第一等待模块,用于等待所述网段中的电子控制单元发送与当前目标更新命令对应的响应信息;
第一处理模块,用于在所述等待模块的等待时长达到预设时长时,若所述发送模块当前发送的目标更新命令不是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则触发所述第一确定模块执行依据所述网段中电子控制单元的程序更新步骤确定目标更新命令;若当前发送的目标更新命令是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则结束更新。
上述装置,优选的,所述第一确定模块包括:
第一确定单元,用于若电子控制单元的程序更新步骤为初始更新步骤,则确定与所述初始更新步骤对应的更新命令为目标更新命令;
第二确定单元,用于若电子控制单元的程序更新步骤不是初始更新步骤,则确定当更新步骤的下一更新步骤对应的更新命令为目标更新命令。
上述装置,优选的,还包括:
第二发送模块,用于通过所述组播地址向所述网段发送在线节点检测命令;
第二等待模块,用于等待所述网段中的电子控制单元发送与所述在线节点检测命令对应的响应信息;
第二确定模块,用于确定发送与所述在线节点检测命令对应的响应信息的电子控制单元为在线电子控制单元;
所述第一确定单元具体用于,在所述第二等待模块等待所述网段中的电子控制单元发送与所述在线节点检测命令对应的响应信息的时长达到预设时长时,确定与所述初始更新步骤对应的更新命令为目标更新命令。
上述装置,优选的,还包括,
标记模块,用于在所述第一等待模块等待所述网段中的电子控制单元发送与当前目标更新命令对应的响应信息的等待时长达到预设时长时,若未接收到第一电子控制单元发送的与当前目标更新命令对应响应信息,则将所述第一电子控制单元标记为更新异常;所述第一电子控制单元为在线电子控制单元中的任意一个。
通过以上方案可知,本申请提供的一种电子控制单元中应用程序的更新方法及装置,应用于重编程设备,该重编程设备具有组播地址,所述重编程设备通过网络总线与若干个相同的电子控制单元相连接,所述若干个相同的电子控制单元构成一个网段,在对该网段中的电子控制单元的应用程序进行更新时,依据网段中电子控制单元的程序更新步骤确定目标更新命令;通过组播地址向网段发送当前确定的目标更新命令;等待网段中的电子控制单元发送与当前目标更新命令对应的响应信息;若当前发送的目标更新命令不是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则在等待时长达到预设时长时,返回执行依据网段中电子控制单元的程序更新步骤确定目标更新命令的步骤;若当前发送的目标更新命令是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则在等待时长达到预设时长时,结束更新。由于使用组播地址向网段发送更新命令,从而网段中的各个电子控制单元都也可以接收更新命令,实现多个相同的电子控制单元并行进行应用程序的更新,即一次对多个相同的电子控制单元进行应用程序的更新,从而缩短了对多个相同的电子控制单元中的应用程序进行更新所耗费的时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的多个相同的电子控制单元重编程系统的示意图;
图2为本发明实施例提供的电子控制单元中应用程序的更新方法的一种实现流程图;
图3为本发明实施例提供的基于本发明实施例对电子控制单元中应用程序进行更新的一种具体应用流程图;
图4为本发明实施例提供的电子控制单元中应用程序的更新装置的一种结构示意图;
图5为本发明实施例提供的第一确定模块的一种结构示意图;
图6为本发明实施例提供的电子控制单元中应用程序的更新装置的另一种结构示意图;
图7为本发明实施例提供的电子控制单元中应用程序的更新装置的又一种结构示意图。
说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例提供的多个相同的电子控制单元重编程系统的示意图,该系统中,多个相同的电子控制单元构成一个网段,重编程设备通过网络总线与网段中的各个电子控制单元进行连接。
本发明实施例中,重编程设备具有组播地址,当重编程设备通过组播地址向网段发送指令或信息时,网段中的各个电子控制单元都可以接收。
本发明实施例提供的电子控制单元中应用程序的更新方法及装置应用于上述重编程设备。
本发明实施例提供的电子控制单元中应用程序的更新方法的一种实现流程图如图2所示,可以包括:
步骤S21:依据所述网段中电子控制单元的程序更新步骤确定目标更新命令;
网段中的电子控制单元进行程序更新时,可以有多种更新方式,不同的更新方式具有不同的更新步骤。
步骤S22:通过所述组播地址向所述网段发送当前确定的目标更新命令;
通过组播地址向网段发送目标更新命令,在网络正常且电子控制单元在线的情况下,网段中的各个电子控制单元均可以收到目标更新命令。
步骤S23:等待所述网段中的电子控制单元发送与当前目标更新命令对应的响应信息;
重编程设备每发送一条目标更新命令,都会等待电子控制单元针对该目标更新命令进行响应。
步骤S24:在等待时长达到预设时长时,若当前发送的目标更新命令不是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则返回执行所述依据所述网段中电子控制单元的程序更新步骤确定目标更新命令的步骤;
步骤S25:在等待时长达到所述预设时长时,若当前发送的目标更新命令是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则结束更新。
也就是说,重编程设备在等待时长达到预设时长时,如果当前发送的目标更新命令不是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则重新确定目标更新命令以进行下一更新步骤的更新。如果当前发送的目标更新命令是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则对网段中电子控制单元的一次更新结束。
可选的,可以通过如下方法判断等待所述网段中的电子控制单元发送与当前目标更新命令对应的响应信息的时长是否达到预设时长:
初始化定时参数;
若在定时时长达到预设时长前接收到网段中的一个电子控制单元发送的响应信息,则对定时参数重置(即初始化),若在定时时长达到预设时长时,未收到网段中电子控制单元发送的响应信息,则确定等待所述网段中的电子控制单元发送与当前目标更新命令对应的响应信息的时长达到预设时长;也就是说,在定时时长达到预设前,每接收到一个电子控制单元发送的响应信息,就对定时参数重置,否则确定等待所述网段中的电子控制单元发送与当前目标更新命令对应的响应信息的时长达到预设时长。
例如,若所述预设时长为1s,则,在发送目标更新命令后开始计时,若在计时时长达到1s前接收到一个电子控制单元发送的响应信息,则在接收到该电子控制单元发送的响应信息时重新开始计时,等待下一个电子控制单元发送的响应信息,若在计时时长达到1s前接收到另一个电子控制单元发送的响应信息,则在接收到该另一个电子控制单元发送的响应信息时,再次重新开始计时,以此类推,直到在计时时长达到1s时还未接收到网段中电子控制单元发送的响应信息,若在计时时长达到1s时还未接收到网段中电子控制单元发送的响应信息,说明网段中的电子控制单元发送与所述当前发送的更新命令对应的响应信息的时长达到预设时长。
本发明实施例中,通过组播地址向网段发送更新命令,这样,网段中的各个电子控制单元都能接收到该更新命令,且网段中的所有电子控制单元相同,从而多个电子控制单元可以并行对重编程设备发送的同一更新命令进行响应,也就是说,多个电子控制单元并行进行应用程序的更新,而不是一个电子控制单元更新完成再对另一个电子控制单元进行更新,从而缩短了对多个相同的电子控制单元中的应用程序进行更新所耗费的时间。
可选的,所述依据所述网段中电子控制单元的程序更新逻辑确定目标更新命令可以包括:
若电子控制单元的程序更新步骤为初始更新步骤,则确定与所述初始更新步骤对应的更新命令为目标更新命令;
初始更新步骤即为电子控制单元的程序更新步骤中的第一步。
若电子控制单元的程序更新步骤不是初始更新步骤,则确定当前更新步骤的下一更新步骤对应的更新命令为目标更新命令。
可选的,若电子控制单元的程序更新步骤为初始更新步骤,则在确定与所述初始更新步骤对应的更新命令为目标更新命令之前还可以包括:
通过所述组播地址向所述网段发送在线节点检测命令;
等待所述网段中的电子控制单元发送与所述在线节点检测命令对应的响应信息;
确定发送与所述在线节点检测命令对应的响应信息的电子控制单元为在线电子控制单元;
由于网段中的电子控制单元可能会由于某些原因离线,离线的设备不能接收到重编程设备发送的更新命令,因此,在对电子控制单元进行更新时,可能会存在部分电子控制单元不能更新应用程序的情况。因此,本发明实施例中,在通过所述组播地址向所述网段发送与所述初始更新步骤对应的更新命令之前,对网段中的电子控制单元进行在线检测,以判断哪些电子控制单元在线,哪些电子控制单元离线,从而可以确定本次应用程序更新过程中都对哪些电子控制单元(即在线电子控制单元)进行应用程序的更新了。
相应的,所述确定与所述初始更新步骤对应的更新命令为目标更新命令包括:
在等待所述网段中的电子控制单元发送与所述在线节点检测命令对应的响应信息的时长达到预设时长时,确定与所述初始更新步骤对应的更新命令为目标更新命令。
其中,判断等待所述网段中的电子控制单元发送与所述在线节点检测命令对应的响应信息的时长是否达到预设时长的方法可以参看前述判断等待所述网段中的电子控制单元发送与当前目标更新命令对应的响应信息的时长是否达到预设时长,这里不再赘述。
当等待所述网段中的电子控制单元发送与所述在线节点检测命令对应的响应信息的时长达到第一预设时长后,即使接收到所述网段中的电子控制单元发送与所述在线节点检测命令对应的响应信息,也不再确定发送与所述在线节点检测命令对应的响应信息的电子控制单元为在线电子控制单元。
可选的,在等待所述网段中的电子控制单元发送与当前目标更新命令对应的响应信息的等待时长达到预设时长时,若未接收到第一电子控制单元发送的与当前目标更新命令对应响应信息,则将所述第一电子控制单元标记为更新异常;所述第一电子控制单元为被确定为在线电子控制单元中的任意一个。
进一步的,若当前发送的目标更新命令是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则在等待时长达到所述预设时长时,本发明实施例提供的电子控制单元中应用程序的更新方法还可以包括:
确定被标记为更新异常的电子控制单元在所述网段中所占的比例;
若所述比例大于预设阈值,则执行所述依据所述网段中电子控制单元的程序更新步骤确定目标更新命令的步骤。
也就是说,在完成一次更新过程后,如果被标记为更新异常的电子控制单元的数量占网段中电子控制单元总数的百分比超过预设阈值时,重新对网段中的电子控制单元进行应用程序更新。
此时,已经更新成功的电子控制单元会向重编程设备发送否定响应,以说明其已更新成功,不再重新进行更新。
可选的,本发明实施例中,重编程设备还具有单播地址。相应的,在完成一次更新过程后,如果被标记为更新异常的电子控制单元的数量占网段中电子控制单元总数的百分比小于或等于预设阈值,则通过所述单播地址逐个对标记为更新异常的电子控制单元进行应用程序的更新。
具体的,可以包括:
依据所述网段中电子控制单元的程序更新步骤确定目标更新命令;
通过所述单播地址向第一被标记为更新异常的电子控制单元发送当前确定的目标更新命令;第一被标记为更新异常的电子控制单元为被标记为更新异常的电子控制单元中的任意一个电子控制单元。
等待所述第一被标记为更新异常的电子控制单元发送与当前目标更新命令对应的响应信息;
若当前发送的目标更新命令不是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则在等待时长达到预设时长时,返回执行所述依据所述网段中电子控制单元的程序更新步骤确定目标更新命令的步骤;
若当前发送的目标更新命令是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则在等待时长达到所述预设时长时,确定第一被标记为更新异常的电子控制单元更新结束。
也就是说,本发明实施例中,重编程设备既有单播地址,又有多播地址,因此,既可以通过单播地址逐个对网段中电子控制单元进行应用程序更新,又可以通过多播地址同时对网段中的电子控制单元同时进行更新。也可以先通过多播地址对网段中的电子控制单元进行更新,若存在少量更新异常的电子控制单元,再通过单播地址逐个对更新异常的电子控制单元重新进行应用程序更新。
下面举例对本发明的一种应用场景进行说明,请参看图3,图3为本发明实施例提供的基于本发明实施例对电子控制单元中应用程序进行更新的一种具体应用流程图,可以包括:
步骤S31:通过组播地址向所述网段发送启动编程命令,以使所述网段中的电子控制单元进入重编程模式;
在向网段发送启动编程命令后,等待网段中各个电子控制单元进行响应。
网段中的各个电子控制单元接收到启动编程命令后,进入重编程模式,并向重编程设备发送与所述启动编程命令对应的响应信息。
步骤S32:在等待所述网段中的电子控制单元发送与所述启动编程命令对应的响应信息的时长达到预设时长时,通过所述组播地址向所述网段发送驱动程序下载命令,所述驱动程序下载指令用于指示电子控制单元将驱动程序下载指令中携带的驱动程序进行存储;
当等待所述网段中的电子控制单元发送与所述启动编程命令对应的响应信息的时长达到预设时长时,即使有电子控制单元未进行响应,也不再继续等待,而是向网段发送下一条更新指令,即驱动程序下载命令。
各个电子控制单元在接收到驱动程序下载命令后,分别将驱动程序存储在相同的存储器中的相同地址,并向重编程设备发送与所述驱动程序下载命令对应的响应信息。
由于电子控制单元是相同的,因此,各个电子控制单元中存储驱动程序的地址也是相同的。
步骤S33:在等待所述网段中的电子控制单元发送与所述驱动程序下载命令对应的响应信息的时长达到预设时长时,通过所述组播地址向所述网段发送擦除命令,所述擦除命令用于指示电子控制单元调用所述驱动程序中的擦除接口,根据擦除命令中的地址和长度信息执行擦除操作;
当等待所述网段中的电子控制单元发送与所述驱动程序下载命令对应的响应信息的时长达到预设时长时,即使有电子控制单元未进行响应,也不再继续等待,而是向网段发送擦除命令,所述擦除命令中携带有待擦除数据的地址(即待擦除数据的存储空间的起始地址)和长度信息(即待擦除数据的长度信息)。
各个电子控制单元接收到擦除命令后,调用驱动程序中的擦除接口,根据待擦除数据的地址和长度信息,擦除所述待擦除数据,并向重编程设备发送与所述擦除命令对应的响应信息。
步骤S34:在等待所述网段中的电子控制单元发送与所述擦除命令对应的响应信息的时长达到预设时长时,通过所述组播地址向所述网段发送请求下载命令,所述请求下载命令用于指示电子控制单元根据所述请求下载命令中携带的地址和长度信息确定存储器以存储应用程序数据;
当等待所述网段中的电子控制单元发送与所述擦除命令对应的响应信息的时长达到预设时长时,即使有电子控制单元未进行响应,也不再继续等待,而是向网段发送请求下载命令,请求下载命令中携带有应用程序数据的地址(即应用程序数据的存储空间的起始地址)和长度信息(即应用程序数据的长度信息)。
各个电子控制单元在接收到请求下载命令后,根据请求下载命令中携带的地址和长度信息确定存储器以存储应用程序数据,并向重编程设备发送与所述请求下载命令对应的响应信息。
步骤S35:在等待所述网段中的电子控制单元发送与所述请求下载命令对应的响应信息的时长达到预设时长时,通过所述组播地址向所述网段发送数据传输命令,所述数据传输命令用于指示电子控制单元调用所述驱动程序中的写接口,根据所述请求下载命令中携带的地址和长度信息将应用程序数据下载至所述存储器;
当等待所述网段中的电子控制单元发送与所述请求下载命令对应的响应信息的时长达到预设时长时,即使有电子控制单元未进行响应,也不再继续等待,而是向网段发送数据传输命令,所述数据传输命令中携带有应用程序的下载地址和长度信息。
各个电子控制单元在接收到数据传输指令后,从应用程序数据的下载地址下载应用程序数据,将下载的应用程序数据存储到前述确定的存储器中,并向重编程设备发送与所述数据传输命令对应的响应信息。
步骤S36:在等待所述网段中的电子控制单元发送与所述数据传输命令对应的响应信息的时长达到预设时长时,通过所述组播地址向所述网段发送数据完整性校验命令,所述数据完整性校验命令用于指示电子控制单元对所下载的应用程序数据进行校验;
当等待所述网段中的电子控制单元发送与所述数据传输命令对应的响应信息的时长达到预设时长时,即使有电子控制单元未进行响应,也不再继续等待,而是向网段发送数据完整性校验命令,该数据完整性校验命令中包含应用程序的数据校验和信息。
各个电子控制单元在接收到数据完整性校验后,依据数据校验和信息对所下载的应用程序数据进行完整性校验,并向所述重编程设备发送与所述数据完整性校验命令对应的响应信息。
步骤S37:在等待所述网段中的电子控制单元发送与所述数据完整性校验命令对应的响应信息的时长达到预设时长时,通过所述组播地址向所述网段发送结束编程命令,所述结束编程命令用于指示电子控制单元退出重编程模式。
当等待所述网段中的电子控制单元发送与所述数据完整性校验命令对应的响应信息的时长达到预设时长时,即使有电子控制单元未进行响应,也不再继续等待,而是向网段发送结束编程命令。
各个电子控制单元在接收到结束编程命令后,退出重编程模式,并向重编程设备发送与结束编程命令相对应的响应信息。
可选的,在通过所述组播地址向所述网段发送启动编程命令之前,还可以包括:
通过所述组播地址向所述网段发送在线节点检测命令;
等待所述网段中的电子控制单元发送与所述在线节点检测命令对应的响应信息;
确定发送与所述在线节点检测命令对应的响应信息的电子控制单元为在线电子控制单元;
相应的,所述通过所述组播地址向所述网段发送启动编程命令可以包括:
在等待所述网段中的电子控制单元发送与所述在线节点检测命令对应的响应信息的时长达到预设时长时,通过所述组播地址向所述网段发送启动编程命令。
与方法实施例相对应,本发明实施例还提供一种电子控制单元中应用程序的更新装置,本发明实施例提供的电子控制单元中应用程序的更新装置的一种结构示意图如图4所示,可以包括:
第一确定模块41,第一发送模块42,第一等待模块43和第一处理模块44;其中,
第一确定模块41用于依据所述网段中电子控制单元的程序更新步骤确定目标更新命令;
第一发送模块42用于通过所述组播地址向所述网段发送当前确定的目标更新命令;
第一等待模块43用于等待所述网段中的电子控制单元发送与当前目标更新命令对应的响应信息;
第一处理模块44用于若所述发送模块当前发送的目标更新命令不是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则在所述等待模块的等待时长达到预设时长时,触发所述第一确定模块执行依据所述网段中电子控制单元的程序更新步骤确定目标更新命令;若当前发送的目标更新命令是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则在所述等待模块的等待时长达到所述预设时长时,结束更新。
本发明实施例提供的电子控制单元中应用程序的更新装置,第一发送模块通过组播地址向网段发送更新命令,这样,网段中的各个电子控制单元都能接收到该更新命令,且网段中的所有电子控制单元相同,从而多个电子控制单元可以并行对重编程设备发送的同一更新命令进行响应,也就是说,多个电子控制单元并行进行应用程序的更新,而不是一个电子控制单元更新完成再对另一个电子控制单元进行更新,从而缩短了对多个相同的电子控制单元中的应用程序进行更新所耗费的时间。
可选的,第一确定模块41的一种结构示意图如图5所示,可以包括:
第一确定单元51和第二确定单元52;其中,
第一确定单元51用于若电子控制单元的程序更新步骤为初始更新步骤,则确定与所述初始更新步骤对应的更新命令为目标更新命令;
第二确定单元52用于若电子控制单元的程序更新步骤不是初始更新步骤,则确定当更新步骤的下一更新步骤对应的更新命令为目标更新命令。
可选的,在图5所示实施例的基础上,本发明实施例提供的电子控制单元中应用程序的更新装置的另一种结构示意图如图6所示,还可以包括:
第二发送模块61,第二等待模块62和第二确定模块63;其中,
第二发送模块61用于通过所述组播地址向所述网段发送在线节点检测命令;
第二等待模块62用于等待所述网段中的电子控制单元发送与所述在线节点检测命令对应的响应信息;
第二确定模块63用于确定发送与所述在线节点检测命令对应的响应信息的电子控制单元为在线电子控制单元;
所述第一确定单元51具体用于,在所述第二等待模块62等待所述网段中的电子控制单元发送与所述在线节点检测命令对应的响应信息的时长达到预设时长时,确定与所述初始更新步骤对应的更新命令为目标更新命令。
进一步的,在图6所示实施例的基础上,本发明实施例提供的电子控制单元中应用程序的更新装置的又一种结构示意图如图7所示,还可以包括:
标记模块71,用于在所述第一等待模块43等待所述网段中的电子控制单元发送与当前目标更新命令对应的响应信息的等待时长达到预设时长时,若未接收到第一电子控制单元发送的与当前目标更新命令对应响应信息,则将所述第一电子控制单元标记为更新异常;所述第一电子控制单元为在线电子控制单元中的任意一个。
可选的,第一处理模块44还可以用于,
若当前发送的目标更新命令是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则在第一等待模块43的等待时长达到所述预设时长时,确定被标记为更新异常的电子控制单元在所述网段中所占的比例;若所述比例大于预设阈值,则触发第一确定模块41执行依据所述网段中电子控制单元的程序更新步骤确定目标更新命令。
进一步的,本发明实施例中,重编程设备还可以包括:单播地址。
本发明实施例提供的电子控制单元中应用程序的更新装置还可以包括:
第二处理模块,用于通过所述单播地址逐个对标记为更新异常的电子控制单元进行应用程序的更新:
所述第一处理模块44还用于,若所述比例小于或等于预设阈值,则触发所述第二处理模块通过所述单播地址逐个对标记为更新异常的电子控制单元进行应用程序的更新。
需要说明是,本发明实施例中,可以通过第二处理模块对网段中的任意一个电子控制单元进行应用程序的更新。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种电子控制单元中应用程序的更新方法,应用于重编程设备,其特征在于,所述重编程设备具有组播地址,所述重编程设备通过网络总线与若干个相同的电子控制单元相连接,所述若干个相同的电子控制单元构成一个网段,所述方法包括:
依据所述网段中电子控制单元的程序更新步骤确定目标更新命令;
通过所述组播地址向所述网段发送当前确定的目标更新命令;
等待所述网段中的电子控制单元发送与当前目标更新命令对应的响应信息;
初始化定时参数;
若在定时时长达到预设时长前接收到所述网段中的一个电子控制单元发送的响应信息,则重新初始化所述定时参数,若在定时时长达到预设时长时,未收到所述网段中电子控制单元发送的响应信息,则确定等待时长达到预设时长;
在等待时长达到预设时长时,若当前发送的目标更新命令不是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则返回执行所述依据所述网段中电子控制单元的程序更新步骤确定目标更新命令的步骤;
在等待时长达到所述预设时长时,若当前发送的目标更新命令是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则结束更新。
2.根据权利要求1所述的方法,其特征在于,所述依据所述网段中电子控制单元的程序更新步骤 确定目标更新命令包括:
若电子控制单元的程序更新步骤为初始更新步骤,则确定与所述初始更新步骤对应的更新命令为目标更新命令;
若电子控制单元的程序更新步骤不是初始更新步骤,则确定当前更新步骤的下一更新步骤对应的更新命令为目标更新命令。
3.根据权利要求2所述的方法,其特征在于,若电子控制单元的程序更新步骤为初始更新步骤,则在确定与所述初始更新步骤对应的更新命令为目标更新命令之前,还包括:
通过所述组播地址向所述网段发送在线节点检测命令;
等待所述网段中的电子控制单元发送与所述在线节点检测命令对应的响应信息;
确定发送与所述在线节点检测命令对应的响应信息的电子控制单元为在线电子控制单元;
所述确定与所述初始更新步骤对应的更新命令为目标更新命令包括:
在等待所述网段中的电子控制单元发送与所述在线节点检测命令对应的响应信息的时长达到预设时长时,确定与所述初始更新步骤对应的更新命令为目标更新命令。
4.根据权利要求3所述的方法,其特征在于,还包括:
在等待所述网段中的电子控制单元发送与当前目标更新命令对应的响应信息的等待时长达到预设时长时,若未接收到第一电子控制单元发送的与当前目标更新命令对应响应信息,则将所述第一电子控制单元标记为更新异常;所述第一电子控制单元为在线电子控制单元中的任意一个。
5.根据权利要求4所述的方法,其特征在于,若当前发送的目标更新命令是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则在等待时长达到所述预设时长时,还包括:
确定被标记为更新异常的电子控制单元在所述网段中所占的比例;
若所述比例大于预设阈值,则重新对所述网段中的电子控制单元进行应用程序更新。
6.根据权利要求5所述的方法,其特征在于,所述重编程设备还具有单播地址,所述方法还包括:
若所述比例小于或等于预设阈值,则通过所述单播地址逐个对标记为更新异常的电子控制单元进行应用程序的更新。
7.一种电子控制单元中应用程序的更新装置,应用于重编程设备,其特征在于,所述重编程设备具有组播地址,所述重编程设备通过网络总线与若干个相同的电子控制单元相连接,所述若干个相同的电子控制单元构成一个网段,所述装置包括:
第一确定模块,用于依据所述网段中电子控制单元的程序更新步骤确定目标更新命令;
第一发送模块,用于通过所述组播地址向所述网段发送当前确定的目标更新命令;
第一等待模块,用于等待所述网段中的电子控制单元发送与当前目标更新命令对应的响应信息;初始化定时参数;若在定时时长达到预设时长前接收到所述网段中的一个电子控制单元发送的响应信息,则重新初始化所述定时参数,若在定时时长达到预设时长时,未收到所述网段中电子控制单元发送的响应信息,则确定等待时长达到预设时长;
第一处理模块,用于在所述第一 等待模块的等待时长达到预设时长时,若所述第一发送模块当前发送的目标更新命令不是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则触发所述第一确定模块执行依据所述网段中电子控制单元的程序更新步骤确定目标更新命令;若当前发送的目标更新命令是与电子控制单元的程序更新步骤的最后一步对应的更新命令,则结束更新。
8.根据权利要求7所述的装置,其特征在于,所述第一确定模块包括:
第一确定单元,用于若电子控制单元的程序更新步骤为初始更新步骤,则确定与所述初始更新步骤对应的更新命令为目标更新命令;
第二确定单元,用于若电子控制单元的程序更新步骤不是初始更新步骤,则确定当更新步骤的下一更新步骤对应的更新命令为目标更新命令。
9.根据权利要求8所述的装置,其特征在于,还包括:
第二发送模块,用于通过所述组播地址向所述网段发送在线节点检测命令;
第二等待模块,用于等待所述网段中的电子控制单元发送与所述在线节点检测命令对应的响应信息;
第二确定模块,用于确定发送与所述在线节点检测命令对应的响应信息的电子控制单元为在线电子控制单元;
所述第一确定单元具体用于,在所述第二等待模块等待所述网段中的电子控制单元发送与所述在线节点检测命令对应的响应信息的时长达到预设时长时,确定与所述初始更新步骤对应的更新命令为目标更新命令。
10.根据权利要求9所述的装置,其特征在于,还包括,
标记模块,用于在所述第一等待模块等待所述网段中的电子控制单元发送与当前目标更新命令对应的响应信息的等待时长达到预设时长时,若未接收到第一电子控制单元发送的与当前目标更新命令对应响应信息,则将所述第一电子控制单元标记为更新异常;所述第一电子控制单元为在线电子控制单元中的任意一个。
CN201510211875.0A 2015-04-29 2015-04-29 电子控制单元中应用程序的更新方法及装置 Active CN104793975B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510211875.0A CN104793975B (zh) 2015-04-29 2015-04-29 电子控制单元中应用程序的更新方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510211875.0A CN104793975B (zh) 2015-04-29 2015-04-29 电子控制单元中应用程序的更新方法及装置

Publications (2)

Publication Number Publication Date
CN104793975A CN104793975A (zh) 2015-07-22
CN104793975B true CN104793975B (zh) 2019-02-19

Family

ID=53558791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510211875.0A Active CN104793975B (zh) 2015-04-29 2015-04-29 电子控制单元中应用程序的更新方法及装置

Country Status (1)

Country Link
CN (1) CN104793975B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106375175B (zh) * 2016-11-18 2020-10-16 广州汽车集团股份有限公司 一种汽车诊断刷写电子控制单元的方法及系统
US10862912B2 (en) * 2018-03-23 2020-12-08 Juniper Networks, Inc. Tracking host threats in a network and enforcing threat policy actions for the host threats
JP6832374B2 (ja) * 2019-02-22 2021-02-24 本田技研工業株式会社 ソフトウェア更新装置、車両及びソフトウェア更新方法
JP7232785B2 (ja) * 2020-02-19 2023-03-03 株式会社デンソー データ配信装置、データ配信システム及びデータ配信プログラム
CN112181463A (zh) * 2020-09-29 2021-01-05 广州汽车集团股份有限公司 一种ecu的更新方法及主节点设备
CN113162796B (zh) * 2021-02-24 2023-05-16 北京经纬恒润科技股份有限公司 一种设备更新方法、装置及设备更新系统
CN113353123B (zh) * 2021-05-27 2022-11-22 国能朔黄铁路发展有限责任公司 联锁执行校验方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727095A (zh) * 2008-10-30 2010-06-09 联创汽车电子有限公司 汽车电子控制器的Flash的在线烧写方法
CN102621977A (zh) * 2012-03-27 2012-08-01 万向钱潮股份有限公司 一种智能型ecu在线诊断标定控制器
CN104333576A (zh) * 2014-10-21 2015-02-04 普华基础软件股份有限公司 一种ecu升级装置及方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4593626B2 (ja) * 2005-10-12 2010-12-08 株式会社オートネットワーク技術研究所 車載データベースシステム
CN201332404Y (zh) * 2009-01-22 2009-10-21 深圳华为通信技术有限公司 一种网卡设备升级的系统及设备
CN103713932B (zh) * 2014-01-21 2017-03-08 北京经纬恒润科技有限公司 一种电子控制单元中应用程序的更新方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727095A (zh) * 2008-10-30 2010-06-09 联创汽车电子有限公司 汽车电子控制器的Flash的在线烧写方法
CN102621977A (zh) * 2012-03-27 2012-08-01 万向钱潮股份有限公司 一种智能型ecu在线诊断标定控制器
CN104333576A (zh) * 2014-10-21 2015-02-04 普华基础软件股份有限公司 一种ecu升级装置及方法

Also Published As

Publication number Publication date
CN104793975A (zh) 2015-07-22

Similar Documents

Publication Publication Date Title
CN104793975B (zh) 电子控制单元中应用程序的更新方法及装置
CN110474961B (zh) 纯电乘用车基于can总线实现多路远程ota升级方法
JP6216730B2 (ja) ソフト更新装置、ソフト更新方法
JP6380461B2 (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
CN102495744B (zh) 基于can总线的电动汽车电控设备控制软件升级方法
JP6754622B2 (ja) ソフトウェア更新装置およびソフトウェア更新システム
JP6562134B2 (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
JP6390302B2 (ja) プログラム送信システム及びプログラム送信装置
CN110162315A (zh) 车辆控制器、程序更新方法和存储用于更新程序的程序的非暂时性存储介质
CN112099829A (zh) 车辆升级控制方法及系统、ota后台、车辆
CN106648781B (zh) 通信设备远程固件升级方法及系统
CN112463190A (zh) 一种车辆升级方法和装置
CN109656725A (zh) 消息消费者切换方法、装置、存储介质及电子设备
CN110532001A (zh) 车辆控制器的刷写方法、系统、诊断设备及车辆控制器
US20210132937A1 (en) Vehicle control device, program update method, and program update system
CN108551413A (zh) 智能家居设备绑定方法、装置、网关设备及存储介质
CN108989103A (zh) 设备升级方法、调试器、网络设备和网络系统
CN112698857A (zh) 一种数据刷写的方法及设备
JP6562133B2 (ja) 中継装置、プログラム更新システム、およびプログラム更新方法
CN114675855A (zh) 整车软件远程升级方法、装置及平台设备
CN108121553A (zh) 一种更新应用程序的方法及装置
CN104580360A (zh) 通过异构网络更新固件的系统及其方法
CN113050960A (zh) Ota升级方法、装置、车载终端及存储介质
CN115934130A (zh) 一种ecu升级方法、装置、设备及介质
KR102109125B1 (ko) Autosar 기반 차량 ecu 상태 관리 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 "change of name, title or address"
CP03 "change of name, title or address"

Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020

Patentee after: Beijing Jingwei Hengrun Technology Co., Ltd

Address before: 8 / F, block B, No. 11, Anxiang Beili, Chaoyang District, Beijing 100101

Patentee before: Beijing Jingwei HiRain Technologies Co.,Ltd.