CN117270911A - 一种升级维持方法、装置、电子设备及存储介质 - Google Patents
一种升级维持方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117270911A CN117270911A CN202311426282.7A CN202311426282A CN117270911A CN 117270911 A CN117270911 A CN 117270911A CN 202311426282 A CN202311426282 A CN 202311426282A CN 117270911 A CN117270911 A CN 117270911A
- Authority
- CN
- China
- Prior art keywords
- control unit
- upgrade
- electronic control
- main control
- upgrading
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000004891 communication Methods 0.000 claims abstract description 37
- 230000008569 process Effects 0.000 claims abstract description 18
- 230000004044 response Effects 0.000 claims description 34
- 238000012423 maintenance Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 17
- 230000001360 synchronised effect Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000000694 effects Effects 0.000 abstract description 16
- 239000003795 chemical substances by application Substances 0.000 description 48
- 230000006870 function Effects 0.000 description 12
- WXZOXVVKILCOPG-UHFFFAOYSA-N bis(2-ethylhexyl) benzene-1,3-dicarboxylate Chemical compound CCCCC(CC)COC(=O)C1=CC=CC(C(=O)OCC(CC)CCCC)=C1 WXZOXVVKILCOPG-UHFFFAOYSA-N 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000002054 transplantation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000010865 sewage Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及系统升级技术领域,提供了一种升级维持方法、装置、电子设备及存储介质。该方法在主控单元控制电子控制单元进行升级的过程中,获取主控单元的当前状态;若主控单元自身的当前状态为待升级状态,则通过预设的通信接口从主控单元获取电子控制单元的当前升级进度;基于当前升级进度,确定维持电子控制单元进行升级所需的升级指令,并将升级指令传输到电子控制单元,以维持电子控制单元进行升级,达到了由主控代理单元维持电子控制单元进行升级的效果,由主控代理单元维持ECU进行升级,使得ECU与主控单元能够同时进行OTA升级,避免了相关技术中,当OTA主控单元自身进行系统或应用升级时,则无法对ECU进行升级,导致影响ECU的升级效率。
Description
技术领域
本申请涉及系统升级技术领域,尤其涉及一种升级维持方法、装置、电子设备及存储介质。
背景技术
随着车辆的数量越来越多,以及计算机技术、网络技术等不断发展,人们对于车辆的智能化要求、安全要求等也越来越高,车辆越来越智能化和多媒体化。为了满足智能化和多媒体要求,当前的车辆中往往部署了各种各样的电子控制单元(ECU),例如,车辆中配置有智能座舱ECU、传感系统ECU、自动驾驶系统ECU。这些ECU虽然使得车辆的功能更加丰富,但是也更容易出现漏洞、或者需要替换为更先进的版本等等,因此,需要对车辆的ECU进行升级更新。
相关技术中,车辆可以基于空中下载技术(over the air,OTA)对各个ECU进行升级,具体地,车辆通过OTA主控单元对各个ECU进行升级,该OTA主控单元承载在车辆的车载联网终端(VBOX)的微处理器(MPU)中运行,当OTA主控单元自身进行系统或应用升级时,则无法对ECU进行升级,导致影响ECU的升级效率。
发明内容
有鉴于此,本申请实施例提供了一种升级维持方法、装置、电子设备及存储介质,以解决现有技术中,OTA主控单元自身在进行升级时,无法对ECU进行升级,影响ECU的升级效率的问题。
本申请实施例的第一方面,提供了一种升级维持方法,该方法包括:在主控单元控制电子控制单元进行升级的过程中,获取主控单元的当前状态;若主控单元自身的当前状态为待升级状态,则通过预设的通信接口从主控单元获取电子控制单元的当前升级进度;基于当前升级进度,确定维持电子控制单元的进行升级所需的升级指令,并将升级指令传输到电子控制单元,以维持电子控制单元进行升级。
本申请实施例的第二方面,提供了一种升级维持装置,该装置包括:获取模块,用于在主控单元控制电子控制单元进行升级的过程中,获取主控单元的当前状态;升级模块,用于若主控单元自身的当前状态为待升级状态,则通过预设的通信接口从主控单元获取电子控制单元的当前升级进度;维持模块,用于基于当前升级进度,确定维持电子控制单元的进行升级所需的升级指令,并将升级指令传输到电子控制单元,以维持电子控制单元进行升级。
本申请实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并且可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
本申请实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本申请实施例与现有技术相比存在的有益效果是:本申请实施例中在主控单元控制电子控制单元进行升级的过程中,获取主控单元的当前状态;若主控单元自身的当前状态为待升级状态,则通过预设的通信接口从主控单元获取电子控制单元的当前升级进度;基于当前升级进度,确定维持电子控制单元进行升级所需的升级指令,并将升级指令传输到电子控制单元,以维持电子控制单元进行升级,达到了由主控代理单元维持电子控制单元进行升级的效果,释放了主控单元的运行状态,使得主控单元能够进入升级状态进行升级,且在主控单元自身进入升级状态进行升级时,由主控代理单元维持ECU进行升级,使得ECU与主控单元能够同时进行OTA升级,达到了提升升级效率的效果,避免了相关技术中,当OTA主控单元自身进行系统或应用升级时,则无法对ECU进行升级,导致影响ECU的升级效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例提供的一种升级维持方法的流程示意图;
图2是本申请实施例提供的一种主控单元和主控代理单元的基本示意图;
图3是本申请实施例提供的另一种升级维持方法的流程示意图;
图4是本申请实施例提供的再一种升级维持方法的流程示意图;
图5是本申请实施例提供的又一种升级维持方法的流程示意图;
图6是本申请实施例提供的还一种可选的升级维持方法的流程示意图;
图7是本申请实施例提供的另一种可选的升级维持方法的流程示意图;
图8是本申请实施例提供的还一种可选的升级维持方法的流程示意图;
图9是本申请实施例提供的一种升级维持装置的结构示意图;
图10是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
下面将结合附图详细说明根据本申请实施例的一种升级维持方法和装置。
图1是本申请实施例提供的一种升级维持方法,如图1所示,该方法包括:
S101、在主控单元控制电子控制单元进行升级的过程中,获取主控单元的当前状态;
S102、若主控单元自身的当前状态为待升级状态,则通过预设的通信接口从主控单元获取电子控制单元的当前升级进度;
S103、基于当前升级进度,确定维持电子控制单元的进行升级所需的升级指令,并将升级指令传输到电子控制单元,以维持电子控制单元进行升级。
能够理解的是,本示例提供的上述升级维持方法应用于车辆上设置的VBOX,上述车辆包括具备自动驾驶或智能驾驶的车辆(包括载人功能车辆(例如轿车、公共汽车、大巴车、小巴车等)、载货功能车辆(例如普通货车、厢式货车、甩挂车、封闭货车、罐式货车、平板货车、集装厢车、自卸货车、特殊结构货车)、特殊车辆(例如物流配送车、自动导引运输车AGV、巡逻车、起重机、吊车、挖掘机、推土机、铲车、压路机、装载机、越野工程车、装甲工程车、污水处理车、环卫车、吸尘车、洗地车、洒水车、扫地机器人、送餐机器人、导购机器人、割草机、高尔夫球车等)、娱乐功能的车辆(如娱乐车、游乐场自动驾驶装置、平衡车等)、救援车(例如消防车、救护车、电力抢修车、工程抢险车等))等。
具体地,车辆内的VBOX包括:MPU和微控制器(MCU),其中,MPU的资源处理功能较强,可以运行较大应用程序,OTA主控单元运行在MPU上;MCU的资源处理功能相对较弱,MCU的处理时效性较高,因此,本示例中将OTA主控代理功能设置运行在MCU上,其中,OTA主控代理单元功能包括但不限于上述升级维持方法中的步骤S101至步骤S103。
能够理解的是,如图2所示,上述OTA主控单元为分层结构设计,进行软硬件解耦,便于功能扩展与平台移植;具体的,主控单元包括:硬件层、操作系统、中间层、上层,其中,主控单元的底层为硬件层,该硬件层用于提供与外部通信连接的外部接口,该外部接口包括但不限于PHY端口、SPI端口,该PHY端口用于提供以太网连接通道,且主控单元能够通过该SPI端口与主控代理单元通信;中间层为协议层,由以太网链路层、TCP/IP协议栈、DOIP协议栈、UDS等协议栈组成;主控单元的上层为应用层,由DOIP服务和OTA应用组成。
如图2所示,上述主控代理单元为分层结构设计,进行软硬件解耦,便于功能扩展与平台移植;具体的,主控代理单元同样包括:硬件层、操作系统、中间层、上层,其中,主控代理单元的底层为硬件层,该硬件层用于提供与外部通信连接的外部接口,该外部接口包括但不限于CAN端口、SPI端口,该CAN端口用于提供CAN连接通道,且主控代理单元能够通过该SPI端口与主控单元通信;中间层为协议层,由以太网链路层、TCP/IP协议栈、DOIP协议栈、UDS等协议栈组成;主控代理单元的上层为应用层,由DOIP服务和OTA应用组成。
在一些示例中,MPU上运行的系统和MCU上运行的系统不同;例如,如图2所示,MPU上运行LINUX系统,MCU上运行RTOS系统。在一些示例中,MPU上运行的系统和MCU上运行的系统相同;能够理解的是,MPU和MCU上运行的系统可以由相关人员根据实际需求,本示例并不对此进行限定。
能够理解的是,为了实现对ECU的OTA升级,本示例提供的车辆中还包括了车端网关(VGW),其中,VBOX和VGW之间存在通信连接,具体地,如图2所示,VBOX中的主控单元和VGW间通过100M/1000M以太网相连(PHY端口),VBOX中的主控代理单元和VGW间通过CAN端口连接,VGW与ECU通信连接,例如,VGW通过100M/1000M以太网线或CAN总线与其下各ECU部件相联接,其下面挂接一个或多个ECU部件。
在一些示例中,主控单元在获取到ECU的OTA升级文件,且当前车辆能够进入OTA升级状态时,主控单元会控制ECU进行升级,其中,在主控单元控制ECU进行升级的过程中,主控单元能够确定ECU的升级进度;在主控单元控制ECU进行升级的过程中,主控代理单元会获取主控单元的当前状态,具体地,主控代理单元获取主控单元的当前状态包括:主控代理单元主动轮询主控单元自身的当前状态,和/或主控代理单元接收主控单元传输的自身的当前状态,主控代理单元通过上述两种方式实现获取主控单元自身的当前状态。
其中,主控单元自身接收到升级文件或升级指示,需要对自身进行系统或应用升级时,则主控单元的当前状态为待升级状态;主控单元当前无需对自身进行系统或应用升级时,则主控单元的当前状态为正常运行状态;若主控代理单元确定主控单元自身的当前状态为待升级状态,则主控代理单元通过预设的通信接口(例如,SPI通信接口)从主控单元处获取该ECU的当前升级进度。能够理解的是,在一些示例中,主控代理单元还可以直接查询ECU的当前状态,进而获取ECU的当前升级进度。
在一些示例中,主控代理单元在获取到电子控制单元的当前升级进度后,会基于当前升级进度,确定维持电子控制单元进行升级所需的升级指令,并将升级指令传输到电子控制单元,以维持电子控制单元进行升级,达到了由主控代理单元维持电子控制单元进行升级的效果,释放了主控单元对ECU进行升级的功能,使得主控单元能够进入升级状态进行升级,且在主控单元自身进入升级状态进行升级时,由主控代理单元维持ECU进行升级,使得ECU与主控单元能够同时进行OTA升级,达到了提升升级效率的效果,避免了相关技术中,当OTA主控单元自身进行系统或应用升级时,则无法对ECU进行升级,导致影响ECU的升级效率。
能够理解的是,上述维持电子控制单元进行升级包括但不限于:维持ECU当前的升级进度,和/或基于ECU的当前升级进度继续进行升级,后续以基于ECU的当前升级进度继续进行升级进行说明。
例如,在VBOX的内的主控单元自身进行应用或系统升级时,从云端下载主控单元升级文件至VBOX,下载完成后,触发升级开关,当前OTA UMC状态机更新为“待升级状态”,将主控重启状态置为“OTA主控将重启”,且主控单元通过SPI通道将主控单元的状态通知给VBOX UMC-UA。
VBOX UMC-UA通过SPI通道轮询监测OTA主控自升级标志,当监测到或从OTA UMC接收到“OTA主控将重启”指令,这时UMC-UA将从UMC获取ECU的当前升级进度,并对主控单元的当前状态机的状态标记进行记录保存,保存完成后发送消息给OTA UMC。
OTA MCU侧UMC-UA通过CAN通道发送OTA用于维持电子控制单元进行升级的升级指令至网关,网关转发该命令至整车系统各域的ECU,进而实现维持ECU的升级状态,使得ECU和主控单元能够同时进行升级,达到了提升ECU升级效率的效果。
根据本申请实施例提供的技术方案,在主控单元控制电子控制单元进行升级的过程中,获取主控单元的当前状态;若主控单元自身的当前状态为待升级状态,则通过预设的通信接口从主控单元获取电子控制单元的当前升级进度;基于当前升级进度,确定维持电子控制单元进行升级所需的升级指令,并将升级指令传输到电子控制单元,以维持电子控制单元进行升级,达到了由主控代理单元维持电子控制单元进行升级的效果,释放了主控单元对ECU进行升级的功能,使得主控单元能够进入升级状态进行升级,且在主控单元自身进入升级状态进行升级时,由主控代理单元维持ECU进行升级,使得ECU与主控单元能够同时进行OTA升级,达到了提升升级效率的效果,避免了相关技术中,当OTA主控单元自身进行系统或应用升级时,则无法对ECU进行升级,导致影响ECU的升级效率的问题。
在一些实施例中,如图3所示,将升级指令传输到电子控制单元之前,方法还包括:
S301、生成应答指令,应答指令用于表征获取电子控制单元的当前升级进度完成;
S302、通过预设的通信接口,将应答指令传输到主控单元,使得主控单元根据应答指令进入自升级状态。
具体地,在主控代理单元通过SPI接口从主控单元获取电子控制单元的当前升级进度时,为了避免主控代理单元未能完整获取电子控制单元的当前升级进度,主控单元直接进入自升级状态后,主控代理单元无法从主控单元处获取电子控制单元的当前升级进度,进而导致主控代理单元获取电子控制单元的当前升级进度失败,影响后续主控代理单元维持电子控制单元进行升级的问题,本实施例中主控代理单元在从主控单元获取电子控制单元的当前升级进度完成后,会生成应答指令,该应答指令用于表征获取电子控制单元的当前升级进度完成。
在生成应答指令后,主控单元通过预设的通信接口,将应答指令传输到主控单元,使得主控单元根据应答指令进入自升级状态,也即,主控单元在确认主控代理单元获取电子控制单元的当前升级进度完成后,才会进入自升级状态,进行后续升级;若主控单元确认主控代理单元还未能完整获取电子控制单元的当前升级进度(未接收到应答指令),则不会进入自升级状态,进而达到了主控单元仅在主控代理单元获取电子控制单元的当前升级进度完成后,才会进入自升级状态的效果,避免了主控代理单元未能完整获取电子控制单元的当前升级进度,主控单元直接进入自升级状态后,主控代理单元无法从主控单元处获取电子控制单元的当前升级进度,进而导致主控代理单元获取电子控制单元的当前升级进度失败,影响后续主控代理单元维持电子控制单元进行升级的问题。
例如,VBOX UMC-UA通过SPI通道轮询监测OTA主控自升级标志,当监测到或从OTAUMC接收到“OTA主控将重启”指令,这时UMC-UA将从UMC获取当前升级进度,当前状态机的状态标记进行记录保存,且在UMC-UA保存完成后发送应答指令给OTA UMC,OTA UMC接收到UMC-UA应答指令时,OTA UMC重启进入BOOT模式下进行自升级,OTA UMC任务被删除,资源被释放,若OTA UMC未接收到UMC-UA应答消息时,OTA UMC则不会进入自升级状态。
能够理解的是,OTA UMC-UA轮询监测UMC的状态,检测发现没有了UMC的任务标识符时则是OTA UMC进行了自升级状态,则主控代理单元在自身的主控状态机记录模块中,将主控单元的状态更新为“升级状态”,将重启状态更新为“OTA主控重启”状态。
根据本申请实施例提供的技术方案,生成应答指令,应答指令用于表征获取电子控制单元的当前升级进度完成;通过预设的通信接口,将应答指令传输到主控单元,使得主控单元根据应答指令进入自升级状态,进而达到了主控单元仅在主控代理单元获取电子控制单元的当前升级进度完成后,才会进入自升级状态的效果,避免了主控代理单元未能完整获取电子控制单元的当前升级进度,主控单元直接进入自升级状态后,主控代理单元无法从主控单元处获取电子控制单元的当前升级进度,进而导致主控代理单元获取电子控制单元的当前升级进度失败,影响后续主控代理单元维持电子控制单元进行升级的问题。
在一些实施例中,如图4所示,基于当前升级进度,确定维持电子控制单元进行升级所需的升级指令,包括:
S401、基于当前升级进度,确定电子控制单元当前对应的系统服务;
S402、根据确定的系统服务,确定维持电子控制单元进行升级所需的升级指令。
具体地,上述系统服务包括但不限于:34服务(请求下载)、36服务(下载中)、37服务(下载完成并退出)、31服务(例行检查服务)、3E服务(维持OTA会话保持服务)。其中,电子控制单元处于不同的升级进度时,对应的系统服务不同,例如,在ECU获取升级包时,需要3E服务来保持OTA会话,需要36服务来进行升级包下载;再例如,在ECU获取升级包后,需要校验升级包数据和/或签名等内容,则对应31服务;因此,本示例中主控代理单元需要基于ECU的当前升级进度,来确定ECU当前对应的系统服务。
在确定ECU当前对应的系统服务后,主控代理单元根据确定的系统服务,确定维持电子控制单元所需的系统升级指令;具体地,主控代理单元确定自身的逻辑地址、ECU的逻辑地址,并基于自身的逻辑地址、ECU的逻辑地址以及确定的系统服务,生成对应的升级指令,并将该升级指令传输到网关,使得网关能够基于解析该升级指令,得到对应的ECU逻辑地址和系统服务,并根据该ECU的逻辑地址将该升级指令转发到对应的ECU。
能够理解的是,网关在转发该升级指令时,需要进一步的识别ECU支持的协议,并基于ECU支持的协议调整该升级指令;例如,主控代理单元确定自身的逻辑地址为0x7ff,ECU的逻辑地址为0x80,ECU所需的系统服务为0x3E,则OTA MCU侧UMC-UA通过CAN OTA发送UDS协议下的升级指令“0x7ff 0x3e 0x80”至网关,网关识别0x80处的ECU支持UDS协议,则网关转发该升级指令“0x7ff 0x3e 0x80”转发至各ECU;若网关识别0x80处的ECU仅支持DOIP协议,则网关将UDS协议下的升级指令“0x7ff 0x3e 0x80”转换为DOIP报文“02fd 80016 0e80 7ff 3e 80”,并将转化得到的DOIP转换至各ECU,实现保持ECU的OTA模式。
根据本申请实施例提供的技术方案,基于当前升级进度,确定电子控制单元当前对应的系统服务;根据确定的系统服务,确定维持电子控制单元进行升级所需的升级指令,实现了根据ECU的当前升级进度确定对应的升级指令,避免了直接确定升级指令,导致确定出的升级指令无法满足ECU的升级需求的问题。
在一些实施例中,如图5所示,将升级指令传输到电子控制单元,以维持电子控制单元进行升级,包括:
S501、确定系统服务对应的维持周期,并根据维持周期确定升级指令的发送周期;
S502、根据发送周期,将升级指令传输到电子控制单元,以维持电子控制单元进行升级。
具体地,每个系统服务对应一个维持周期,多个系统服务对应的维持周期能够相同也可以不同,因此,主控代理单元需要确定系统服务对应的维持周期,并根据维持周期来确定升级指令的发送周期,在一些示例中,发送周期与维持周期相同,例如,若维持周期为2s,则发送周期为2S。
主控代理单元在确定出发送周期后,根据发送周期将升级指令传输到电子控制单元,以维持电子控制单元进行升级。
例如,主控代理单元确定电子控制单元所需的系统服务为3E服务,3E服务的维持周期为2S,则基于3E服务的维持周期确定发送周期为2S,在确定发送周期为2S后,OTA MCU侧UMC-UA通过CAN通道按2S周期发送UDS协议下的升级指令“0x7ff 0x3e 0x80”至网关,进而使得ECU间隔2s即可接收到一次3E服务,ECU能够一直保持OTA会话模式,进而实现了维持ECU进行升级。
根据本申请实施例提供的技术方案,确定系统服务对应的维持周期,并根据维持周期确定升级指令的发送周期;根据发送周期,将升级指令传输到电子控制单元,以维持电子控制单元进行升级,使得电子控制单元能够持续接收到维持升级状态的升级指令,避免了一直维持持续传输升级指令,导致的系统通信资源消耗过高的问题,且避免了传输升级指令的周期过长,导致电子控制单元升级失败的问题。
在一些示例中,如图6所示,传输对应的空中下载升级数据包到车端网关,包括:
S601、通过预设的通信接口,接收主控单元传输的自升级进度,并保存主控单元传输的自升级进度;
S602、在确认主控单元自升级完成后,重新确定电子控制单元的当前升级进度,并将重新确定的电子控制单元的当前升级进度同步到主控单元。
具体地,主控代理单元在维持电子控制单元进行升级的过程中,会保持预设的通信接口的开启,进而实现通过预设的通信接口接收主控单元传输的自升级进度,达到被动获取主控单元的自升级进度的效果,其中,主控单元在自升级完成后,会主动传输升级完成信息到主控代理单元;在一些示例中,主控单元在自升级的过程中,会主动传输自升级进度到主控代理单元。
在确认主控单元自升级完成后,主控代理单元会重新确定电子控制单元的当前升级进度,并将重新确定的电子控制单元的当前升级进度同步到主控单元;在确定主控单元还未自升级完成,则主控代理单元会继续维持电子控制单元进行升级。
能够理解的是,当OTA UMC升级完成后,OTA UMC进行重启,当OTA UMC启动完成后,由VBOX初始化完成后将UMC任务拉起,OTA UMC任务启动后,将主控单元重启标记置为“重启完成”,并将该标记和OTA任务标识符发送至UMC-UA,UMC-UA接收到后,启动恢复同步策略,将电子控制单元的当前升级进度、主控状态机同步给OTA UMC。
例如,上述预设的通信接口为SPI通信接口,OTA UMC-UA通过SPI通信接口接收UMC传输的自升级状态,且OTA UMC-UA在自身的主控状态机记录模块中记录UMC的自升级状态;若OTA UMC-UA确定UMC升级完成,则会将电子控制单元的当前升级进度同步到UMC,进而使得UMC能够根据该ECU的当前升级进度,确定维持电子控制单元进行升级所需的升级指令,并将升级指令传输到电子控制单元,以维持电子控制单元进行升级。
能够理解的是,OTA UMC接收来自UMC-UA的同步信号,接管UMC-UA发送维持电子控制单元进行升级所需的升级指令,且UMC和UMC-UA的状态机同步为“升级状态”,重启状态更新为“OTA主控重启完成”状态,UMC的升级进度为100%完成。
能够理解的是,若在UMC进行自升级的过程,UMC-UA控制ECU升级还未完成,则UMC根据该ECU的当前升级进度,确定维持电子控制单元进行升级所需的升级指令,并将升级指令传输到电子控制单元,以维持电子控制单元进行升级;若在UMC进行自升级的过程中,UMC-UA已经控制ECU升级完成,则UMC进入下一步操作,UMC读取下一步操作,如有ECU升级,则对目标ECU进行升级刷写,如没有,则将状态置为“空闲状态”,升级进度重置为“0”,退出OTA升级模式。
根据本申请实施例提供的技术方案,通过预设的通信接口,接收主控单元传输的自升级进度,并保存主控单元传输的自升级进度;在确认主控单元自升级完成后,重新确定电子控制单元的当前升级进度,并将重新确定的电子控制单元的当前升级进度同步到主控单元,达到了主控代理单元在确定主控单元自升级完成后,及时将ECU的升级进度同步到主控单元的效果,使得主控单元在自升级完成后,能够迅速的获取到ECU的升级进度,且能够根据ECU的升级进度来控制ECU进行升级,提升了升级效率,避免了持续由主控代理单元控制ECU进行升级,导致系统资源损耗过大,且影响升级效率的问题。
在一些示例中,如图7所示,将升级指令传输到电子控制单元,以维持电子控制单元进行升级之后,方法还包括:
S701、通过预设的通信接口,从主控单元的启动模式中查询主控单元的自升级进度;
S702、在确认主控单元自升级完成后,重新确定电子控制单元的当前升级进度,并将重新确定的电子控制单元的当前升级进度同步到主控单元。
具体地,主控代理单元通过预设的通信接口,实现主动从主控单元的启动模式中查询主控单元的自升级进度,进而达到及时获取主控单元的自升级进度的效果。
在确认主控单元自升级完成后,主控代理单元会重新确定电子控制单元的当前升级进度,并将重新确定的电子控制单元的当前升级进度同步到主控单元;在确定主控单元还未自升级完成,则主控代理单元会继续维持电子控制单元进行升级。
能够理解的是,当OTA UMC自升级完成后,OTA UMC进行重启,当OTA UMC启动完成后,由VBOX初始化完成后将UMC任务拉起,OTA UMC任务启动后,将主控单元重启标记置为“重启完成”,并将该标记和OTA任务标识符发送至UMC-UA,UMC-UA接收到后,启动恢复同步策略,将电子控制单元的当前升级进度、主控状态机同步给OTA UMC。
例如,上述预设的通信接口为SPI通信接口,OTA UMC-UA通过SPI通道从UMC的BOOT模式读取升级进度,更新升级进度并记录,并按2秒周期发送OTA升级模式保持命令,且OTAUMC-UA在自身的主控状态机记录模块中记录UMC的自升级状态;若OTA UMC-UA从BOOT模式读取UMC升级进度确定UMC升级完成,则会将电子控制单元的当前升级进度同步到UMC,进而使得UMC能够根据该ECU的当前升级进度,确定维持电子控制单元进行升级所需的升级指令,并将升级指令传输到电子控制单元,以维持电子控制单元进行升级。
能够理解的是,OTA UMC接收来自UMC-UA的同步信号,接管UMC-UA发送维持电子控制单元进行升级所需的升级指令,且UMC和UMC-UA的状态机同步为“升级状态”,重启状态更新为“OTA主控重启完成”状态,UMC的升级进度为100%完成。
能够理解的是,若在UMC进行自升级的过程,UMC-UA控制ECU升级还未完成,则UMC根据该ECU的当前升级进度,确定维持电子控制单元进行升级所需的升级指令,并将升级指令传输到电子控制单元,以维持电子控制单元进行升级;若在UMC进行自升级的过程中,UMC-UA已经控制ECU升级完成,则UMC进入下一步操作,UMC读取下一步操作,如有ECU升级,则对目标ECU进行升级刷写,如没有,则将状态置为“空闲状态”,升级进度重置为“0”,退出OTA升级模式。
根据本申请实施例提供的技术方案,通过预设的通信接口,从主控单元的启动模式中查询主控单元的自升级进度;确认主控单元自升级完成后,重新确定电子控制单元的当前升级进度,并将重新确定的电子控制单元的当前升级进度同步到主控单元,达到了主控代理单元在确定主控单元自升级完成后,及时将ECU的升级进度同步到主控单元的效果,使得主控单元在自升级完成后,能够迅速的获取到ECU的升级进度,且能够根据ECU的升级进度来控制ECU进行升级,提升了升级效率,避免了持续由主控代理单元控制ECU进行升级,导致系统资源损耗过大,且影响升级效率的问题。
在一些示例中,如图8所示,将重新确定的电子控制单元的当前升级进度同步到主控单元之后,方法还包括:
S801、接收主控单元发出的响应信息,响应信息用于表征重新确定的电子控制单元的当前升级进度同步完成;
S802、停止将升级指令传输到电子控制单元。
具体地,主控代理单元在将重新确定的电子控制单元的当前升级进度同步到主控单元之后,主控单元若确定电子控制单元的当前升级进度同步完成,则会传输响应信息到主控代理单元,使得主控代理单元获知主控单元已经接收到电子控制单元的当前升级进度;反之,若主控单元未能完整接收电子控制单元的当前升级进度,则主控单元会发送失败信息到主控代理单元,使得主控代理单元重新将电子控制单元的当前升级进度同步到主控单元,直到接收到主控单元发出的响应信息。
其中,在主控代理单元将电子控制单元的当前升级进度同步到主控单元后,主控单元则会基于同步得到的电子控制单元的当前升级进度,传输对应的升级指令到电子控制单元,以控制电子控制单元进行升级;为了避免主控代理单元与主控单元均传输升级指令到电子控制单元,导致升级指令重复的问题,主控代理单元在接收到主控单元发出的响应信息时,则会停止将升级指令传输到电子控制单元。
根据本申请实施例提供的技术方案,接收主控单元发出的响应信息,响应信息用于表征重新确定的电子控制单元的当前升级进度同步完成;停止将升级指令传输到电子控制单元,其中,通过接收主控单元传输的响应信息,使得主控代理单元获知主控单元已经接收到电子控制单元的当前升级进度,主控代理单元在接收到主控单元发出的响应信息时,则停止将升级指令传输到电子控制单元,避免主控代理单元与主控单元均传输升级指令到电子控制单元,导致升级指令重复的问题。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
本实施例还提供一种升级维持装置,如图9所示,该装置包括:
获取模块901,用于在主控单元控制电子控制单元进行升级的过程中,获取主控单元的当前状态;
升级模块902,用于若主控单元自身的当前状态为待升级状态,则通过预设的通信接口从主控单元获取电子控制单元的当前升级进度;
维持模块903,用于基于当前升级进度,确定维持电子控制单元的进行升级所需的升级指令,并将升级指令传输到电子控制单元,以维持电子控制单元进行升级。
在一些示例中,升级模块902还用于生成应答指令,应答指令用于表征获取电子控制单元的当前升级进度完成;通过预设的通信接口,将应答指令传输到主控单元,使得主控单元根据应答指令进入自升级状态。
在一些示例中,维持模块903还用于基于当前升级进度,确定电子控制单元当前对应的系统服务;根据确定的系统服务,确定维持电子控制单元进行升级所需的升级指令。
在一些示例中,维持模块903还用于确定系统服务对应的维持周期,并根据维持周期确定升级指令的发送周期;根据发送周期,将升级指令传输到电子控制单元,以维持电子控制单元进行升级。
在一些示例中,维持模块903还用于通过预设的通信接口,接收主控单元传输的自升级进度,并保存主控单元传输的自升级进度;在确认主控单元自升级完成后,重新确定电子控制单元的当前升级进度,并将重新确定的电子控制单元的当前升级进度同步到主控单元。
在一些示例中,维持模块903还用于通过预设的通信接口,从主控单元的启动模式中查询主控单元的自升级进度;在确认主控单元自升级完成后,重新确定电子控制单元的当前升级进度,并将重新确定的电子控制单元的当前升级进度同步到主控单元。
在一些示例中,维持模块903还用于接收主控单元发出的响应信息,述响应信息用于表征重新确定的电子控制单元的当前升级进度同步完成;停止将升级指令传输到电子控制单元。
根据本申请实施例提供的技术方案,本实施例提供的升级维持装置在主控单元控制电子控制单元进行升级的过程中,获取主控单元的当前状态;若主控单元自身的当前状态为待升级状态,则通过预设的通信接口从主控单元获取电子控制单元的当前升级进度;基于当前升级进度,确定维持电子控制单元进行升级所需的升级指令,并将升级指令传输到电子控制单元,以维持电子控制单元进行升级,达到了由主控代理单元维持电子控制单元进行升级的效果,释放了主控单元对ECU进行升级的功能,使得主控单元能够进入升级状态进行升级,且在主控单元自身进入升级状态进行升级时,由主控代理单元维持ECU进行升级,使得ECU与主控单元能够同时进行OTA升级,达到了提升升级效率的效果,避免了相关技术中,当OTA主控单元自身进行系统或应用升级时,则无法对ECU进行升级,导致影响ECU的升级效率的问题。
图10是本申请实施例提供的电子设备10的示意图。如图10所示,该实施例的电子设备10包括:处理器1001、存储器1002以及存储在该存储器1002中并且可在处理器1001上运行的计算机程序1003。处理器1001执行计算机程序1003时实现上述各个方法实施例中的步骤。或者,处理器1001执行计算机程序1003时实现上述各装置实施例中各模块/单元的功能。
电子设备10可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备10可以包括但不仅限于处理器1001和存储器1002。本领域技术人员可以理解,图10仅仅是电子设备10的示例,并不构成对电子设备10的限定,可以包括比图示更多或更少的部件,或者不同的部件。
处理器1001可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
存储器1002可以是电子设备10的内部存储单元,例如,电子设备10的硬盘或内存。存储器1002也可以是电子设备10的外部存储设备,例如,电子设备10上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。存储器1002还可以既包括电子设备10的内部存储单元也包括外部存储设备。存储器1002用于存储计算机程序以及电子设备所需的其它程序和数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据区域要求和专利实践的要求进行适当的增减,例如,在某些区域内,根据区域要求和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种升级维持方法,其特征在于,所述方法包括:
在主控单元控制电子控制单元进行升级的过程中,获取所述主控单元的当前状态;
若所述主控单元自身的当前状态为待升级状态,则通过预设的通信接口从所述主控单元获取所述电子控制单元的当前升级进度;
基于所述当前升级进度,确定维持所述电子控制单元进行升级所需的升级指令,并将所述升级指令传输到所述电子控制单元,以维持所述电子控制单元进行升级。
2.根据权利要求1所述的方法,其特征在于,将所述升级指令传输到所述电子控制单元之前,所述方法还包括:
生成应答指令,所述应答指令用于表征获取所述电子控制单元的所述当前升级进度完成;
通过预设的所述通信接口,将所述应答指令传输到所述主控单元,使得所述主控单元根据所述应答指令进入自升级状态。
3.根据权利要求1所述的方法,其特征在于,基于所述当前升级进度,确定维持所述电子控制单元进行升级所需的升级指令,包括:
基于所述当前升级进度,确定所述电子控制单元当前对应的系统服务;
根据确定的所述系统服务,确定维持所述电子控制单元进行升级所需的升级指令。
4.根据权利要求3所述的方法,其特征在于,将所述升级指令传输到所述电子控制单元,以维持所述电子控制单元进行升级,包括:
确定所述系统服务对应的维持周期,并根据所述维持周期确定所述升级指令的发送周期;
根据所述发送周期,将所述升级指令传输到所述电子控制单元,以维持所述电子控制单元进行升级。
5.根据权利要求1所述的方法,其特征在于,将所述升级指令传输到所述电子控制单元,以维持所述电子控制单元进行升级之后,所述方法还包括:
通过预设的通信接口,接收所述主控单元传输的自升级进度,并保存所述主控单元传输的自升级进度;
在确认所述主控单元自升级完成后,重新确定所述电子控制单元的当前升级进度,并将重新确定的所述电子控制单元的当前升级进度同步到所述主控单元。
6.根据权利要求1所述的方法,其特征在于,将所述升级指令传输到所述电子控制单元,以维持所述电子控制单元进行升级之后,所述方法还包括:
通过预设的通信接口,从所述主控单元的启动模式中查询所述主控单元的自升级进度;
在确认所述主控单元自升级完成后,重新确定所述电子控制单元的当前升级进度,并将重新确定的所述电子控制单元的当前升级进度同步到所述主控单元。
7.根据权利要求6所述的方法,其特征在于,将重新确定的所述电子控制单元的当前升级进度同步到所述主控单元之后,所述方法还包括:
接收所述主控单元发出的响应信息,所述响应信息用于表征重新确定的所述电子控制单元的当前升级进度同步完成;
停止将所述升级指令传输到所述电子控制单元。
8.一种升级维持装置,其特征在于,所述装置包括:
获取模块,用于在主控单元控制电子控制单元进行升级的过程中,获取所述主控单元的当前状态;
升级模块,用于若所述主控单元自身的当前状态为待升级状态,则通过预设的通信接口从所述主控单元获取所述电子控制单元的当前升级进度;
维持模块,用于基于所述当前升级进度,确定维持所述电子控制单元的进行升级所需的升级指令,并将所述升级指令传输到所述电子控制单元,以维持所述电子控制单元进行升级。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311426282.7A CN117270911A (zh) | 2023-10-30 | 2023-10-30 | 一种升级维持方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311426282.7A CN117270911A (zh) | 2023-10-30 | 2023-10-30 | 一种升级维持方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117270911A true CN117270911A (zh) | 2023-12-22 |
Family
ID=89210619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311426282.7A Pending CN117270911A (zh) | 2023-10-30 | 2023-10-30 | 一种升级维持方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117270911A (zh) |
-
2023
- 2023-10-30 CN CN202311426282.7A patent/CN117270911A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10564954B2 (en) | Hybrid electric vehicle with automated software update system | |
EP4202645A1 (en) | Vehicle upgrading method and apparatus | |
CN105939213B (zh) | 用于车辆的分系统和相应的车辆 | |
US11061659B2 (en) | Control apparatus, transfer method, and computer program | |
CN111061499A (zh) | 一种基于文件系统的ecu更新方法及系统 | |
CN107977215B (zh) | 车载系统升级方法及装置 | |
CN109673009B (zh) | 一种vcu软件空中升级方法及装置 | |
CN112134940A (zh) | 一种ota升级任务生命周期策略管理方法 | |
US20180349157A1 (en) | Processor-implemented systems and methods for vehicle updating over-the-air | |
EP4099655A1 (en) | Software version rollback method, apparatus and system | |
CN111722860A (zh) | 基于有穷状态机的ota升级方法和装置 | |
CN110971658A (zh) | Sms唤醒后保持无线电资源控制活动 | |
WO2024008104A1 (zh) | 远程升级方法及系统 | |
CN110888659A (zh) | 车载设备程序的远程更新方法、装置和系统 | |
CN115914215A (zh) | 车载交换机的远程升级方法、装置及系统 | |
WO2023241458A1 (zh) | 车载控制器的软件升级方法、装置、设备和存储介质 | |
CN117270911A (zh) | 一种升级维持方法、装置、电子设备及存储介质 | |
CN114827183A (zh) | 车辆诊断方法、系统、设备及存储介质 | |
CN112596764B (zh) | 一种基于NB-IoT远程升级的物联网监测方法和装置 | |
CN113227967A (zh) | 软件升级方法及装置 | |
CN118092961A (zh) | 电子控制单元的升级方法、装置、电子设备及存储介质 | |
CN116795443B (zh) | 休眠唤醒控制系统、方法、车辆和存储介质 | |
CN115224685B (zh) | 配电管理方法、装置、车辆及存储介质 | |
CN115987964B (zh) | 一种整车fota升级系统及方法 | |
CN115914214A (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 |