CN116088903A - 车辆软件升级方法、装置、车辆、设备及存储介质 - Google Patents
车辆软件升级方法、装置、车辆、设备及存储介质 Download PDFInfo
- Publication number
- CN116088903A CN116088903A CN202310014526.4A CN202310014526A CN116088903A CN 116088903 A CN116088903 A CN 116088903A CN 202310014526 A CN202310014526 A CN 202310014526A CN 116088903 A CN116088903 A CN 116088903A
- Authority
- CN
- China
- Prior art keywords
- controller
- upgraded
- vehicle
- software
- upgrade
- 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
Images
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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Abstract
本发明涉及车辆控制技术领域,尤其涉及一种车辆软件升级方法、装置、车辆、设备及存储介质。该方法包括:获取远程通信模块传输的软件升级请求;在车辆处于未启动状态的情况下,根据软件升级请求,生成待升级控制器对应的待机指令,并将待机指令传输给待升级控制器,其中,待升级控制器用于根据待机指令进入待机状态;在车辆达到预设升级条件的情况下,生成允许升级指令,并将允许升级指令传输给远程通信模块,其中,远程通信模块用于根据升级允许指令,将软件数据包传输给待升级控制器,待升级控制器用于根据软件数据包升级本地软件。本发明用以解决现有技术中不支持CAN总线唤醒的控制器无法自动升级软件的缺陷。
Description
技术领域
本发明涉及车辆控制技术领域,尤其涉及一种车辆软件升级方法、装置、车辆、设备及存储介质。
背景技术
目前,车辆发展逐渐走向智能化,车辆上装载有各种功能的控制器。随着车辆各种功能的增加和更新,控制器中的软件也需要频繁升级。现有技术中,控制器软件升级时,需要控制器在硬件上支持通过控制器局域网(Controller Area Network,CAN)总线被唤醒,然后通过CAN总线下载新的软件数据包,实现软件升级。但是,控制器硬件支持CAN总线唤醒增加了硬件成本。而采用硬件上不支持CAN总线唤醒的控制器时,升级所需的软件数据包不能自动下载,从而无法实现控制器中软件的自动升级。
发明内容
本发明提供一种车辆软件升级方法、装置、车辆、设备及存储介质,用以解决现有技术中不支持CAN总线唤醒的控制器无法自动升级软件的缺陷。
本发明提供一种车辆软件升级方法,应用于整车控制器,包括:获取远程通信模块传输的软件升级请求,其中,所述软件升级请求包括车辆上需要进行软件升级的待升级控制器的信息;在所述车辆处于未启动状态的情况下,根据所述软件升级请求,生成所述待升级控制器对应的待机指令,并将所述待机指令传输给所述待升级控制器,其中,所述待升级控制器用于根据所述待机指令进入待机状态;在所述车辆达到预设升级条件的情况下,生成允许升级指令,并将所述允许升级指令传输给所述远程通信模块,其中,所述远程通信模块用于根据所述升级允许指令,将软件数据包传输给所述待升级控制器,所述待升级控制器用于根据所述软件数据包升级本地软件。
根据本发明提供的一种车辆软件升级方法,所述在所述车辆处于未启动状态的情况下,生成所述待升级控制器对应的待机指令,包括:获取所述车辆的手刹状态信息和启动钥匙状态信息;在所述手刹状态信息指示手刹为拉起状态,且所述启动钥匙状态信息指示启动钥匙为关闭状态的情况下,生成所述待升级控制器对应的所述待机指令。
根据本发明提供的一种车辆软件升级方法,所述将所述待机指令传输给所述待升级控制器之后,还包括:获取所述待升级控制器返回的所述待机状态;所述在所述车辆达到预设升级条件的情况下,生成允许升级指令,包括:在所述待升级控制器处于所述待机状态,且所述手刹状态信息指示手刹为拉起状态,且所述启动钥匙状态信息指示启动钥匙为关闭状态的情况下,生成所述允许升级指令。
根据本发明提供的一种车辆软件升级方法,所述将所述允许升级指令传输给所述远程通信模块之后,还包括:获取所述远程通信模块传输的升级成功信息,其中,所述待升级控制器用于本地软件升级成功后,生成所述升级成功信息,并将所述升级成功信息传输给所述远程通信模块,所述远程通信模块用于将所述升级成功信息传输给所述整车控制器;根据所述升级成功信息,获取所述车辆的启动钥匙状态信息;在所述启动钥匙状态信息指示启动钥匙为关闭状态的情况下,生成所述待升级控制器对应的关机指令,并将所述关机指令传输给所述待升级控制器,其中,所述待升级控制器用于根据所述关机指令进入部件休眠状态,并将所述部件休眠状态返回给所述整车控制器;根据所述部件休眠状态,进入所述整车控制器对应的整车休眠状态。
根据本发明提供的一种车辆软件升级方法,所述车辆包括第一控制器和第二控制器,其中,所述第一控制器分别与所述整车控制器和所述远程通信模块通信连接,所述第二控制器与所述第一控制器通信连接;所述将所述待机指令传输给所述待升级控制器,包括:在所述第一控制器为所述待升级控制器的情况下,将所述待机指令传输给所述第一控制器,其中,所述第一控制器用于根据所述待机指令进入所述待机状态;在所述第二控制器为所述待升级控制器的情况下,将所述待机指令传输给所述第一控制器,其中,所述第一控制器用于根据所述待机指令进入所述待机状态,并将所述待机指令传输给所述第二控制器,所述第二控制器用于根据所述待机指令进入所述待机状态。
本发明还提供一种车辆软件升级方法,应用于待升级控制器,包括:获取整车控制器传输的待机指令,其中,所述整车控制器用于获取远程通信模块传输的软件升级请求,在所述车辆处于未启动状态的情况下,根据所述软件升级请求,生成所述待升级控制器对应的待机指令,并将所述待机指令传输给所述待升级控制器,其中,所述软件升级请求包括车辆上需要进行软件升级的所述待升级控制器的信息;根据所述待机指令进入待机状态;根据远程通信模块传输的所述软件数据包升级本地软件,其中,整车控制器用于在所述车辆达到预设升级条件的情况下,生成允许升级指令,并将所述允许升级指令传输给所述远程通信模块,所述远程通信模块用于根据所述升级允许指令,将软件数据包传输给所述待升级控制器。
根据本发明提供的一种车辆软件升级方法,所述根据远程通信模块传输的所述软件数据包升级本地软件之后,还包括:本地软件升级成功后,生成所述升级成功信息,并将所述升级成功信息传输给所述远程通信模块,其中,所述远程通信模块用于将所述升级成功信息传输给所述整车控制器,所述整车控制器用于获取所述远程通信模块传输的升级成功信息,根据所述升级成功信息,获取所述车辆的启动钥匙状态信息,在所述启动钥匙状态信息指示启动钥匙为关闭状态的情况下,生成所述待升级控制器对应的关机指令,并将所述关机指令传输给所述待升级控制器;根据所述关机指令进入部件休眠状态,并将所述部件休眠状态返回给所述整车控制器,其中,所述整车控制器用于根据所述部件休眠状态,进入所述整车控制器对应的整车休眠状态。
本发明还提供一种实现车辆软件升级方法的整车控制器装置,包括:请求获取模块,用于获取远程通信模块传输的软件升级请求,其中,所述软件升级请求包括车辆上需要进行软件升级的待升级控制器的信息;请求处理模块,用于在所述车辆处于未启动状态的情况下,根据所述软件升级请求,生成所述待升级控制器对应的待机指令,并将所述待机指令传输给所述待升级控制器,其中,所述待升级控制器用于根据所述待机指令进入待机状态;升级准备模块,用于在所述车辆达到预设升级条件的情况下,生成允许升级指令,并将所述允许升级指令传输给所述远程通信模块,其中,所述远程通信模块用于根据所述升级允许指令,将软件数据包传输给所述待升级控制器,所述待升级控制器用于根据所述软件数据包升级本地软件。
本发明还提供一种实现车辆软件升级方法的待升级控制器装置,包括:指令获取模块,用于获取整车控制器传输的待机指令,其中,所述整车控制器用于获取远程通信模块传输的软件升级请求,在所述车辆处于未启动状态的情况下,根据所述软件升级请求,生成所述待升级控制器对应的待机指令,并将所述待机指令传输给所述待升级控制器,其中,所述软件升级请求包括车辆上需要进行软件升级的所述待升级控制器的信息;状态处理模块,用于根据所述待机指令进入待机状态;升级处理模块,用于根据远程通信模块传输的所述软件数据包升级本地软件,其中,整车控制器用于在所述车辆达到预设升级条件的情况下,生成允许升级指令,并将所述允许升级指令传输给所述远程通信模块,所述远程通信模块用于根据所述升级允许指令,将软件数据包传输给所述待升级控制器。
本发明还提供一种车辆,包括整车控制器和待升级控制器;所述整车控制器实现如上述任一种所述应用于整车控制器的车辆软件升级方法;所述待升级控制器实现如上述任一种所述应用于待升级控制器的车辆软件升级方法。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述车辆软件升级方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述车辆软件升级方法。
本发明提供的车辆软件升级方法、装置、车辆、设备及存储介质,整车控制器获取远程通信模块传输的软件升级请求后,在车辆处于未启动状态的情况下,整车控制器根据软件升级请求,生成待升级控制器对应的待机指令,并将待机指令传输给待升级控制器。待升级控制器则根据待机指令进入待机状态;在车辆达到预设升级条件的情况下,整车控制器生成允许升级指令,并将允许升级指令传输给远程通信模块,由远程通信模块根据升级允许指令,将软件数据包传输给待升级控制器,待升级控制器用于根据软件数据包升级本地软件。该过程中,通过整车控制器下达的待机指令,使需要进行软件升级的待升级控制器进入待机状态,远程通信模块将软件数据包自动传输给待机状态下的待升级控制器,完成待升级控制器中本地软件的升级。该过程无需待升级控制器支撑硬件唤醒,由整车控制器控制待升级控制器的状态,降低了硬件成本,提升控制器升级效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的以整车控制器为执行主体的车辆软件升级方法的流程示意图;
图2是本发明提供的车辆通信拓扑图;
图3是本发明提供的Bootloader流程编程前阶段的流程示意图;
图4是本发明提供的Bootloader流程编程阶段的流程示意图;
图5是本发明提供的驱动下载的流程示意图;
图6是本发明提供的Bootloader流程编程后阶段的流程示意图;
图7是本发明提供的BMS升级的流程示意图;
图8是本发明提供的实车OTA测试结果示意图;
图9是本发明提供的TMS升级的流程示意图;
图10是本发明提供的以待升级控制器为执行主体的车辆软件升级方法的流程示意图;
图11是本发明提供的实现车辆软件升级方法的整车控制器装置的结构示意图;
图12是本发明提供的实现车辆软件升级方法的待升级控制器装置的结构示意图;
图13是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的车辆软件升级方法,基于整车控制器(Vehicle Control Unit,VCU)、远程通信模块(Telematics box,T-Box)和待升级控制器,完成待升级控制器中软件的自动升级。
首先,以整车控制器为执行主体,介绍本发明提供的车辆软件升级方法。
一个实施例中,如图1所示,以整车控制器为执行主体的车辆软件升级方法,实现流程步骤如下:
步骤101,获取远程通信模块传输的软件升级请求,其中,软件升级请求包括车辆上需要进行软件升级的待升级控制器的信息。
本实施例中,车辆包括至少一个控制器,各个控制器实现对不同车辆部件的控制,例如,车辆上安装有电池控制器(Battery Management System,BMS)、电机控制器(MotorControl Unit,MCU)、变速箱控制器(Transmission Control Unit,TCU)以及电池温度控制系统(Temperature Monitoring System,TMS)等控制器。各个控制器可分别作为待升级控制器,完成软件的独立升级。
本实施例中,待升级控制器中的软件进行升级时,可以采用空中下载技术(Over-the-Air Technology,OTA)来实现,OTA是一种通过无线网络下载软件数据包,从而对待升级控制器中软件进行升级的方式。
本实施例中,车辆中配置有控制器局域网(Controller Area Network,CAN),实现车辆中各个部件之间的数据通信。具体的,如图2所示的车辆通信拓扑图,一个车辆包括整车控制器VCU、仪表集成电路(Integrated Circuit,IC)、远程通信模块T-Box以及四个控制器,控制器分别为电池控制器BMS、电机控制器MCU、变速箱控制器TCU和电池温度控制系统TMS。
具体的,电池控制器BMS和变速箱控制器TCU处于动力总成CAN总线(Power TrainCAN,PCAN)的主网络中,电池温度控制系统TMS处于电池控制器BMS的子网络中,电机控制器MCU处于变速箱控制器TCU的子网络中。电池控制器BMS和变速箱控制器TCU可以通过PCAN,直接与整车控制器VCU、仪表集成电路IC或远程通信模块T-Box进行数据通信。PCAN的数据传输速率通常为500千字节(Kb),待升级控制器升级过程中的软件升级请求、允许升级指令以及软件数据包等数据可以通过PCAN进行传输。
电池温度控制系统TMS获取报文信号,需要电池控制器BMS转发,且电池温度控制系统TMS工作时,需要电池控制器BMS维持唤醒状态。同样的,电机控制器MCU获取报文信号,需要变速箱控制器TCU转发,且电机控制器MCU工作时,需要变速箱控制器TCU维持唤醒状态。远程通信模块T-Box无法在PCAN上各个控制器均休眠的情况下,通过CAN报文唤醒各个控制器并进行软件升级。因此,本发明通过整车控制器VCU发出的指令,指示待升级控制器进入软件升级过程。
整车控制器VCU、整车控制器VCU、仪表IC和远程通信模块T-Box之间,还可以通过信息CAN总线(Infomercial CAN,ICAN)进行通信。PCAN与ICAN是相互独立的。ICAN的数据传输速率通常为250Kb。
本实施例中,待升级控制器升级过程中,可以通过仪表IC为用户显示升级信息,例如,显示升级失败、升级中、升级成功等信息。进一步的,升级信息可以通过ICAN进行传输。
步骤102,在车辆处于未启动状态的情况下,根据软件升级请求,生成待升级控制器对应的待机指令,并将待机指令传输给待升级控制器,其中,待升级控制器用于根据待机指令进入待机状态。
本实施例中,车辆中任意一个控制器需要进行软件升级时,都需要车辆处于未启动状态,以保证车辆安全。在T-Box接收到软件升级任务时,T-Box生成软件升级请求,并将该软件升级请求传输给VCU,由VCU来控制待升级控制器进入软件升级过程。进一步的,VCU获取T-Box传输的软件升级请求后,会首先判断车辆状态,若车辆处于启动状态(此时VCU位置整车高压状态)时,则对车辆状态持续性监测,直至车辆进入未启动状态,则根据软件升级请求生成待机(Standby)指令,并将待机指令传输给待升级控制器。
本实施例中,待升级控制器获取待机指令后,进入待机状态。具体的,待机状态下的控制器仅能够收发CAN报文和转发报文。例如,若待升级控制器为图2中所示的BMS,BMS在正常运行时,为高压(HVON)状态。BMS根据待机指令,BMS收到VCU发来的Standby指令时走下高压流程,停止加热、冷却请求,断开主负继电器,BMS进入待机状态。待机状态的BMS仅收发CAN报文及转发TMS报文,禁止输出电流。又例如,若待升级控制器为图2中的TCU,TCU接收到VCU发来的Standby指令时,档位回N档,同时不响应升降档,停止对电机发送扭矩请求,TCU进入待机状态。待机状态的TCU仅收发CAN报文及转发MCU报文。
一个实施例中,VCU对车辆启动状态的监测时通过手刹状态信息和启动钥匙状态信息完成的。具体的,在车辆处于未启动状态的情况下,生成待升级控制器对应的待机指令,实现过程如下:获取车辆的手刹状态信息和启动钥匙状态信息;在手刹状态信息指示手刹为拉起状态,且启动钥匙状态信息指示启动钥匙为关闭状态的情况下,生成待升级控制器对应的待机指令。
本实施例中,当车辆的手刹拉起且启动钥匙切换至关闭状态(即OFF档)时,表明车辆处于未启动状态。若VCU在启动钥匙处于启动状态(ON档)时,接收到T-Box发送的软件升级请求,VCU则会启动条件判断模块功能,判断车辆是否启动,当车辆手刹拉起,钥匙切换至OFF档时,VCU立即给待升级控制器发送待机指令,以使待升级控制器进入待机状态。
步骤103,在车辆达到预设升级条件的情况下,生成允许升级指令,并将允许升级指令传输给远程通信模块,其中,远程通信模块用于根据升级允许指令,将软件数据包传输给待升级控制器,待升级控制器用于根据软件数据包升级本地软件。
本实施例中,待升级控制器进入待机状态后,由VCU根据车辆是否达到了预设升级条件,若达到了预设升级条件,则VCU生成允许升级指令,通过允许升级指令控制待升级控制器进行升级。
一个实施例中,将待机指令传输给待升级控制器之后,获取待升级控制器返回的待机状态。在车辆达到预设升级条件的情况下,生成允许升级指令,具体的实现过程如下:在待升级控制器处于待机状态,且手刹状态信息指示手刹为拉起状态,且启动钥匙状态信息指示启动钥匙为关闭状态的情况下,生成允许升级指令。
本实施例中,远程通信模块T-Box预先下载待升级控制器对应的软件数据包。具体的,通过仪表IC或升级平台下发升级任务后,T-Box基于OTA技术通过安全认证的通道无线下载待升级控制器用于升级的软件数据包。软件数据包下载完成后,需要验证该软件数据包的合法性及完整性。
本实施例中,仪表IC或升级平台下发的升级任务有两种升级方式,包括非静默升级和静默升级。其中,非静默升级时,需要相关人员通过客户端点击升级后,T-Box、VCU及待升级控制器才能进入升级流程。静默升级时,T-Box需要提前下载完成用于升级的软件数据包,T-Box下载完成后通过CAN总线直接向VCU发送软件升级请求,无需相关人员的确认。车辆的ON档切换至OFF档时,VCU允许升级。具体的,若T-Box在车辆ON档时已为完成软件数据包的下载并发出软件升级请求,则需要在启动钥匙状态由ON档切换至OFF档时,VCU发出允许升级指令。
本实施例中,VCU的预设升级条件是待升级控制器处于待机状态,且手刹状态信息指示手刹为拉起状态,且启动钥匙状态信息指示启动钥匙为关闭状态。示例性的,当待升级控制器为图2中的BMS时,VCU的预设升级条件具体为,BMS的主副继电器断开,且BMS的电池电压大于23.5伏(V),且手刹状态信息指示手刹为拉起状态,且启动钥匙状态信息指示启动钥匙为关闭状态。若VCU确定上述预设升级条件中的任意一个指标未满足,则VCU向T-Box发信号请求退出升级,同时,T-Box向仪表IC发送信号,由仪表IC提示用户“升级条件不满足,退出升级”。若VCU确定上述预设条件均满足,则VCU允许BMS升级,VCU继续给BMS发送待机指令,以使BMS维持待机状态,同时VCU给T-Box发送允许升级指令,随后VCU进入待机状态。
T-Box收到允许升级指令后,开始准备下发用于升级的软件数据包,并给仪表IC发送信号,由仪表IC显示信息“升级准备中”。T-Box的软件升级模块与待升级控制器中的协议刷写服务模块,进入软件升级启动(Bootloader)流程对话。
一个实施例中,软件升级启动(Bootloader)流程对话包括三个阶段,即编程前阶段、编程阶段和编程后阶段。具体的,控制器软件升级Bootloader流程皆遵循ISO-14229标准诊断协议,T-Box与待升级控制器通过功能寻址、物理寻址和诊断响应身份标识(Identity Document,ID)进行服务对话式传输指令与数据。
如图3所示的Bootloader流程编程前阶段,首先进行扩展会话(基于功能寻址,例如10 83),确定服务功能;检查预编程条件(基于物理寻址,例如31 01F0 02),需得到正响应;关闭诊断故障代码(Diagnostic Trouble Code,DTC)(基于功能寻址,例如85 82);停止诊断无关通信(基于功能寻址,例如28 83 01);读取车载电脑(Electronic Control Unit,ECU)的硬件版本号(基于物理寻址,例如22F1 91),以及读取ECU的软件版本号(基于物理寻址,例如22F1 A0),以确定将要刷写的软件数据包版本号未重复。
编程前阶段得到了正响应,需正式进入编程会话。如图4所示的Bootloader流程编程阶段。进入编程会话后,需要进行安全访问,安全访问通过协商好的一致密钥算法算出密钥,进行安全认证;安全认证通过后写入指纹信息;下载Flash驱动并验证完整性;擦除内存,将原程序删除;下载待升级的软件数据包并验证完整性,得到正响应后,检查编程依赖性,完成后ECU复位重起。以上过程均基于物理寻址实现。
具体的,下载Flash驱动并验证完整性时,如图5所示,下载应该按照如下时序来进行:请求下载、传输数据、请求传输退出。下载完所有字节后,用“检查编程完整性”例程来检查所有的字节都正确传输。该过程中支持软件数据包下载的间续性,即传输数据暂停后,能够根据是否还有数据要下载,再次进行传输数据过程;请求传输退出过程暂停后,能够根据是否还有段要下载,再次进行请求下载过程。
如图6所示的Bootloader流程编程后阶段。待升级控制器完成复位重起后,需再次进入扩展会话(基于功能寻址,例如10 83),恢复通信进行收发报文(基于功能寻址,例如2880 03),开启DTC故障诊断设置(基于功能寻址,例如85 81),恢复默认会话(基于功能寻址,例如10 81),清除DTC后结束本次升级程序刷写(基于物理寻址,例如14FF FF FF)。
一个实施例中,将允许升级指令传输给远程通信模块之后,获取远程通信模块传输的升级成功信息,其中,待升级控制器用于本地软件升级成功后,生成升级成功信息,并将升级成功信息传输给远程通信模块,远程通信模块用于将升级成功信息传输给整车控制器;根据升级成功信息,获取车辆的启动钥匙状态信息;在启动钥匙状态信息指示启动钥匙为关闭状态的情况下,生成待升级控制器对应的关机指令,并将关机指令传输给待升级控制器,其中,待升级控制器用于根据关机指令进入部件休眠状态,并将部件休眠状态返回给整车控制器;根据部件休眠状态,进入整车控制器对应的整车休眠状态。
本实施例中,待升级控制器升级成功后,将升级成功信息传输给T-Box,T-Box发出升级成功信息分别给VCU和仪表IC,仪表IC收到升级成功信息后显示“升级成功”,VCU收到升级成功信息后需再次判断钥匙状态,若钥匙为OFF档则给待升级控制器发关机(ShutDown)指令,待升级控制器转为ShutDown状态,即停发报文进入休眠状态。
在待升级控制器未升级成功时,T-Box给仪表IC发升级失败信息,同时重新向VCU传输软件升级请求,等待下一次钥匙ON档切OFF档时,再次进行软件升级流程,若再次失败则再重复刷写一次,共3次刷写。失败3次后,T-Box进行回滚刷写,刷写所用的软件为上一次刷新的历史软件数据包,若无上一次刷新的历史软件数据包,则不进行回滚刷写,直接上报平台请求人工处理。若3次回滚刷写失败,则上报平台请求人工处理,并上报本次升级失败。
若回滚刷写成功,则由VCU判断钥匙信号状态,OFF档则控制整车各控制器进入休眠状态。若钥匙重新ON档,则VCU控制整车各控制器再次正常上电。
一个具体的实施例中,基于图2所示的车辆通信拓扑图,图2中的BMS为待升级控制器。如图7所示,BMS升级过程如下:
通过仪表IC或升级平台下发升级任务后,T-Box基于OTA技术通过安全认证的通道无线下载BMS用于升级的软件数据包。软件数据包下载完成后,需要验证该软件数据包的合法性及完整性。
仪表IC或升级平台下发的升级任务有两种升级方式,包括非静默升级和静默升级。其中,非静默升级时,需要相关人员通过客户端点击升级后,T-Box、VCU及BMS才能进入升级流程。静默升级时,T-Box需要提前下载完成用于升级的软件数据包,T-Box下载完成后通过CAN总线直接向VCU发送软件升级请求,无需相关人员的确认。车辆的ON档切换至OFF档时,VCU允许升级。具体的,若T-Box在车辆ON档时,已为完成软件数据包的下载并发出软件升级请求,则需要在启动钥匙状态由ON档切换至OFF档时,VCU发出允许升级指令。
BMS在正常运行时,为高压(HVON)状态。BMS根据待机指令,BMS收到VCU发来的Standby指令时走下高压流程,停止加热、冷却请求,断开主负继电器,BMS进入待机状态。待机状态的BMS仅收发CAN报文及转发TMS报文,禁止输出电流。
当车辆的手刹拉起且启动钥匙切换至关闭状态(即OFF档)时,表明车辆处于未启动状态。若VCU在启动钥匙处于启动状态(ON档)时,接收到T-Box发送的软件升级请求,VCU则会启动条件判断模块功能,判断BMS的主负继电器断开,且BMS的电池电压大于23.5伏(V),且手刹状态信息指示手刹为拉起状态,且启动钥匙状态信息指示启动钥匙为关闭状态。若VCU确定上述预设升级条件中的任意一个指标未满足,则VCU向T-Box发信号请求退出升级,同时,T-Box向仪表IC发送信号,由仪表IC提示用户“升级条件不满足,退出升级”。若VCU确定上述预设条件均满足,则VCU允许BMS升级,VCU继续给BMS发送待机指令,以使BMS维持待机状态,同时VCU给T-Box发送允许升级指令,随后VCU进入待机状态。
T-Box收到允许升级指令后,开始准备下发用于升级的软件数据包,并给仪表IC发送信号,由仪表IC显示信息“升级准备中”。T-Box的软件升级模块与BMS中的协议刷写服务模块,进入软件升级启动(Bootloader)流程对话,即进行诊断软件对接,进入软件升级程序,完成软件刷写过程。
BMS升级成功后,将升级成功信息传输给T-Box,T-Box发出升级成功信息分别给VCU和仪表IC,仪表IC收到升级成功信息后显示“升级成功”,VCU收到升级成功信息后需再次判断钥匙状态,若钥匙为OFF档则给BMS发关机(ShutDown)指令,BMS转为ShutDown状态,即停发报文进入休眠状态。
在BMS未升级成功时,T-Box给仪表IC发升级失败信息,同时重新向VCU传输软件升级请求,等待下一次钥匙ON档切OFF档时,再次进行软件升级流程,若再次失败则再重复刷写一次,共3次刷写。失败3次后,T-Box进行回滚刷写,刷写所用的软件为上一次刷新的历史软件数据包,若无上一次刷新的历史软件数据包,则不进行回滚刷写,直接上报平台请求人工处理。若3次回滚刷写失败,则上报平台请求人工处理,并上报本次升级失败。
若回滚刷写成功,则由VCU判断钥匙信号状态,OFF档则控制整车各控制器进入休眠状态。若钥匙重新ON档,则VCU控制整车各控制器再次正常上电。
本实施例中,如下图8所示的实车OTA测试结果图,升级过程中,T-Box能够识别升级进度,并报平台显示,同时给仪表发升级中的信号指令,仪表根据指令显示“升级中”。
一个实施例中,车辆包括第一控制器和第二控制器,其中,第一控制器分别与整车控制器和远程通信模块通信连接,第二控制器与第一控制器通信连接。将待机指令传输给待升级控制器,实现过程如下:在第一控制器为待升级控制器的情况下,将待机指令传输给第一控制器,其中,第一控制器用于根据待机指令进入待机状态;在第二控制器为待升级控制器的情况下,将待机指令传输给第一控制器,其中,第一控制器用于根据待机指令进入待机状态,并将待机指令传输给第二控制器,第二控制器用于根据待机指令进入待机状态。
本实施例中,第二控制器不能直接通过CAN总线主网与VCU、T-Box、仪表IC等部件进行通信,需要经过第一控制器的报文转发。因此,若要升级第二控制器,在第二控制器需要维持待机状态的同时,第一控制器也需要维持待机状态。例如,图2中的TMS需要软件升级时,BMS和TMS均需要进入待机状态;又例如,图2中的MCU需要软件升级时,TCU和MCU均需要进入待机状态。
本实施例中,第二控制器的软件升级流程和第一控制器的软件升级流程类似,区别在于,第二控制器与VCU、T-Box、仪表IC等部件进行通信,需要经过第一控制器的报文转发。基于图2所示拓扑图,TMS进行OTA升级时的需要同时激活BMS,由于TMS皆处于BMS的CAN线子网络,需在主网的BMS在线时进行报文转发,TMS才能实现OTA升级。MCU进行OTA升级时的需要同时激活TCU,由于MCU皆处于TCU的CAN线子网络,需在主网的TCU在线时进行报文转发,才能实现OTA升级。
示例性的,基于图2所示的车辆通信拓扑图,图2中的TMS为待升级控制器。如图9所示,TMS升级过程如下:
通过仪表IC或升级平台下发升级任务后,T-Box基于OTA技术通过安全认证的通道无线下载TMS用于升级的软件数据包。软件数据包下载完成后,需要验证该软件数据包的合法性及完整性。
仪表IC或升级平台下发的升级任务有两种升级方式,包括非静默升级和静默升级。其中,非静默升级时,需要相关人员通过客户端点击升级后,T-Box、VCU及TMS才能进入升级流程。静默升级时,T-Box需要提前下载完成用于升级的软件数据包,T-Box下载完成后通过CAN总线直接向VCU发送软件升级请求,无需相关人员的确认。车辆的ON档切换至OFF档时,VCU允许升级。具体的,若T-Box在车辆ON档时,已为完成软件数据包的下载并发出软件升级请求,则需要在启动钥匙状态由ON档切换至OFF档时,VCU发出允许升级指令。
VCU发出的允许升级指令经过BMS的转发,给到TMS。TMS在正常运行时,为高压(HVON)状态。TMS根据待机指令,TMS收到VCU发来的Standby指令时走下高压流程,停止加热、冷却请求,断开主负继电器,TMS进入待机状态。待机状态的TMS仅收发CAN报文及转发TMS报文,禁止输出电流。
当车辆的手刹拉起且启动钥匙切换至关闭状态(即OFF档)时,表明车辆处于未启动状态。若VCU在启动钥匙处于启动状态(ON档)时,接收到由T-Box发送、BMS转发的软件升级请求,VCU则会启动条件判断模块功能,判断车辆是否启动,当车辆手刹拉起,钥匙切换至OFF档时,VCU立即给TMS发送待机指令,以使TMS进入待机状态。
VCU的预设升级条件具体为,TMS进入待机状态,且手刹状态信息指示手刹为拉起状态,且启动钥匙状态信息指示启动钥匙为关闭状态。若VCU确定上述预设升级条件中的任意一个指标未满足,则VCU向T-Box发信号请求退出升级,同时,T-Box向仪表IC发送信号,由仪表IC提示用户“升级条件不满足,退出升级”。若VCU确定上述预设条件均满足,则VCU允许TMS升级,VCU继续通过BMS给TMS发送待机指令,以使TMS维持待机状态,同时VCU给T-Box发送允许升级指令,随后VCU进入待机状态。
T-Box收到允许升级指令后,开始准备下发用于升级的软件数据包,并给仪表IC发送信号,由仪表IC显示信息“升级准备中”。T-Box的软件升级模块与TMS中的协议刷写服务模块,进入软件升级启动(Bootloader)流程对话,即进行诊断软件对接,进入软件升级程序,完成软件刷写过程。
TMS升级成功后,通过BMS将升级成功信息传输给T-Box,T-Box发出升级成功信息分别给VCU和仪表IC,仪表IC收到升级成功信息后显示“升级成功”,VCU收到升级成功信息后需再次判断钥匙状态,若钥匙为OFF档则通过BMS给TMS发关机(ShutDown)指令,TMS转为ShutDown状态,即停发报文进入休眠状态。
在TMS未升级成功时,T-Box给仪表IC发升级失败信息,同时重新向VCU传输软件升级请求,等待下一次钥匙ON档切OFF档时,再次进行软件升级流程,若再次失败则再重复刷写一次,共3次刷写。失败3次后,T-Box进行回滚刷写,刷写所用的软件为上一次刷新的历史软件数据包,若无上一次刷新的历史软件数据包,则不进行回滚刷写,直接上报平台请求人工处理。若3次回滚刷写失败,则上报平台请求人工处理,并上报本次升级失败。
若回滚刷写成功,则由VCU判断钥匙信号状态,OFF档则控制整车各控制器进入休眠状态。若钥匙重新ON档,则VCU控制整车各控制器再次正常上电。
下面,以待升级控制器为执行主体,介绍本发明提供的车辆软件升级方法。
下文描述的以待升级控制器为执行主体的车辆软件升级方法,与上文描述的待升级控制器可相互对应参照,重复之处不再赘述。如图10所示,以待升级控制器为执行主体的车辆软件升级方法,实现流程步骤如下:
步骤1001,获取整车控制器传输的待机指令,其中,整车控制器用于获取远程通信模块传输的软件升级请求,在车辆处于未启动状态的情况下,根据软件升级请求,生成待升级控制器对应的待机指令,并将待机指令传输给待升级控制器,其中,软件升级请求包括车辆上需要进行软件升级的待升级控制器的信息;
步骤1002,根据待机指令进入待机状态;
步骤1003,根据远程通信模块传输的软件数据包升级本地软件,其中,整车控制器用于在车辆达到预设升级条件的情况下,生成允许升级指令,并将允许升级指令传输给远程通信模块,远程通信模块用于根据升级允许指令,将软件数据包传输给待升级控制器。
一个实施例中,根据远程通信模块传输的软件数据包升级本地软件之后,本地软件升级成功后,生成升级成功信息,并将升级成功信息传输给远程通信模块,其中,远程通信模块用于将升级成功信息传输给整车控制器,整车控制器用于获取远程通信模块传输的升级成功信息,根据升级成功信息,获取车辆的启动钥匙状态信息,在启动钥匙状态信息指示启动钥匙为关闭状态的情况下,生成待升级控制器对应的关机指令,并将关机指令传输给待升级控制器;根据关机指令进入部件休眠状态,并将部件休眠状态返回给整车控制器,其中,整车控制器用于根据部件休眠状态,进入整车控制器对应的整车休眠状态。
本发明提供的车辆软件升级方法,整车控制器获取远程通信模块传输的软件升级请求后,在车辆处于未启动状态的情况下,整车控制器根据软件升级请求,生成待升级控制器对应的待机指令,并将待机指令传输给待升级控制器。待升级控制器则根据待机指令进入待机状态;在车辆达到预设升级条件的情况下,整车控制器生成允许升级指令,并将允许升级指令传输给远程通信模块,由远程通信模块根据升级允许指令,将软件数据包传输给待升级控制器,待升级控制器用于根据软件数据包升级本地软件。该过程中,通过整车控制器下达的待机指令,使需要进行软件升级的待升级控制器进入待机状态,远程通信模块将软件数据包自动传输给待机状态下的待升级控制器,完成待升级控制器中本地软件的升级。该过程无需待升级控制器支撑硬件唤醒,由整车控制器控制待升级控制器的状态,降低了硬件成本,提升控制器升级效率。
具体的,采用了整车控制器参与其它控制器OTA升级过程,在判断有升级需要时,钥匙ON档切OFF档后通过现在通信协议指令,使有需要的控制器进入待机状态,保持CAN通信,随后T-Box下发升级指令进行升级指令通信,在升级完成恢复通信后再判断钥匙状态,进行下一步指令。本方法解决控制器在无CAN报文唤醒功能下的OTA升级。
下面对本发明提供的实现车辆软件升级方法的整车控制器装置进行描述,下文描述的实现车辆软件升级方法的整车控制器装置与上文描述的以整车控制器为执行主体的车辆软件升级方法可相互对应参照。如图11所示,实现车辆软件升级方法的整车控制器装置,包括:
请求获取模块1101,用于获取远程通信模块传输的软件升级请求,其中,软件升级请求包括车辆上需要进行软件升级的待升级控制器的信息;
请求处理模块1102,用于在车辆处于未启动状态的情况下,根据软件升级请求,生成待升级控制器对应的待机指令,并将待机指令传输给待升级控制器,其中,待升级控制器用于根据待机指令进入待机状态;
升级准备模块1103,用于在车辆达到预设升级条件的情况下,生成允许升级指令,并将允许升级指令传输给远程通信模块,其中,远程通信模块用于根据升级允许指令,将软件数据包传输给待升级控制器,待升级控制器用于根据软件数据包升级本地软件。
下面对本发明提供的实现车辆软件升级方法的待升级控制器装置进行描述,下文描述的实现车辆软件升级方法的待升级控制器装置与上文描述的以待升级控制器为执行主体的车辆软件升级方法可相互对应参照。如图12所示,实现车辆软件升级方法的待升级控制器装置,包括:
指令获取模块1201,用于获取整车控制器传输的待机指令,其中,整车控制器用于获取远程通信模块传输的软件升级请求,在车辆处于未启动状态的情况下,根据软件升级请求,生成待升级控制器对应的待机指令,并将待机指令传输给待升级控制器,其中,软件升级请求包括车辆上需要进行软件升级的待升级控制器的信息;
状态处理模块1202,用于根据待机指令进入待机状态;
升级处理模块1203,用于根据远程通信模块传输的软件数据包升级本地软件,其中,整车控制器用于在车辆达到预设升级条件的情况下,生成允许升级指令,并将允许升级指令传输给远程通信模块,远程通信模块用于根据升级允许指令,将软件数据包传输给待升级控制器。
本发明还提供一种车辆,包括整车控制器和待升级控制器。
整车控制器实现上述任意一个实施例提供的应用于整车控制器的车辆软件升级方法,该方法包括:获取远程通信模块传输的软件升级请求,其中,软件升级请求包括车辆上需要进行软件升级的待升级控制器的信息;在车辆处于未启动状态的情况下,根据软件升级请求,生成待升级控制器对应的待机指令,并将待机指令传输给待升级控制器,其中,待升级控制器用于根据待机指令进入待机状态;在车辆达到预设升级条件的情况下,生成允许升级指令,并将允许升级指令传输给远程通信模块,其中,远程通信模块用于根据升级允许指令,将软件数据包传输给待升级控制器,待升级控制器用于根据软件数据包升级本地软件。
待升级控制器实现上述任意一个实施例提供的应用于待升级控制器的车辆软件升级方法,该方法包括:获取整车控制器传输的待机指令,其中,整车控制器用于获取远程通信模块传输的软件升级请求,在车辆处于未启动状态的情况下,根据软件升级请求,生成待升级控制器对应的待机指令,并将待机指令传输给待升级控制器,其中,软件升级请求包括车辆上需要进行软件升级的待升级控制器的信息;根据待机指令进入待机状态;根据远程通信模块传输的软件数据包升级本地软件,其中,整车控制器用于在车辆达到预设升级条件的情况下,生成允许升级指令,并将允许升级指令传输给远程通信模块,远程通信模块用于根据升级允许指令,将软件数据包传输给待升级控制器。
图13示例了一种电子设备的实体结构示意图,如图13所示,该电子设备可以包括:处理器(processor)1301、通信接口(Communications Interface)1302、存储器(memory)1303和通信总线1304,其中,处理器1301,通信接口1302,存储器1303通过通信总线1304完成相互间的通信。处理器1301可以调用存储器1303中的逻辑指令,以执行整车控制器为执行主体的车辆软件升级方法,该方法包括:获取远程通信模块传输的软件升级请求,其中,软件升级请求包括车辆上需要进行软件升级的待升级控制器的信息;在车辆处于未启动状态的情况下,根据软件升级请求,生成待升级控制器对应的待机指令,并将待机指令传输给待升级控制器,其中,待升级控制器用于根据待机指令进入待机状态;在车辆达到预设升级条件的情况下,生成允许升级指令,并将允许升级指令传输给远程通信模块,其中,远程通信模块用于根据升级允许指令,将软件数据包传输给待升级控制器,待升级控制器用于根据软件数据包升级本地软件。
或者,以执行待升级控制器为执行主体的车辆软件升级方法,该方法包括:获取整车控制器传输的待机指令,其中,整车控制器用于获取远程通信模块传输的软件升级请求,在车辆处于未启动状态的情况下,根据软件升级请求,生成待升级控制器对应的待机指令,并将待机指令传输给待升级控制器,其中,软件升级请求包括车辆上需要进行软件升级的待升级控制器的信息;根据待机指令进入待机状态;根据远程通信模块传输的软件数据包升级本地软件,其中,整车控制器用于在车辆达到预设升级条件的情况下,生成允许升级指令,并将允许升级指令传输给远程通信模块,远程通信模块用于根据升级允许指令,将软件数据包传输给待升级控制器。
此外,上述的存储器1303中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各实施例所提供的整车控制器为执行主体的车辆软件升级方法,该方法包括:获取远程通信模块传输的软件升级请求,其中,软件升级请求包括车辆上需要进行软件升级的待升级控制器的信息;在车辆处于未启动状态的情况下,根据软件升级请求,生成待升级控制器对应的待机指令,并将待机指令传输给待升级控制器,其中,待升级控制器用于根据待机指令进入待机状态;在车辆达到预设升级条件的情况下,生成允许升级指令,并将允许升级指令传输给远程通信模块,其中,远程通信模块用于根据升级允许指令,将软件数据包传输给待升级控制器,待升级控制器用于根据软件数据包升级本地软件。
或者,计算机能够执行上述各实施例所提供的待升级控制器为执行主体的车辆软件升级方法,该方法包括:获取整车控制器传输的待机指令,其中,整车控制器用于获取远程通信模块传输的软件升级请求,在车辆处于未启动状态的情况下,根据软件升级请求,生成待升级控制器对应的待机指令,并将待机指令传输给待升级控制器,其中,软件升级请求包括车辆上需要进行软件升级的待升级控制器的信息;根据待机指令进入待机状态;根据远程通信模块传输的软件数据包升级本地软件,其中,整车控制器用于在车辆达到预设升级条件的情况下,生成允许升级指令,并将允许升级指令传输给远程通信模块,远程通信模块用于根据升级允许指令,将软件数据包传输给待升级控制器。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例提供的整车控制器为执行主体的车辆软件升级方法,该方法包括:获取远程通信模块传输的软件升级请求,其中,软件升级请求包括车辆上需要进行软件升级的待升级控制器的信息;在车辆处于未启动状态的情况下,根据软件升级请求,生成待升级控制器对应的待机指令,并将待机指令传输给待升级控制器,其中,待升级控制器用于根据待机指令进入待机状态;在车辆达到预设升级条件的情况下,生成允许升级指令,并将允许升级指令传输给远程通信模块,其中,远程通信模块用于根据升级允许指令,将软件数据包传输给待升级控制器,待升级控制器用于根据软件数据包升级本地软件。
或者,该计算机程序被处理器执行时实现上述各实施例提供的待升级控制器为执行主体的车辆软件升级方法,该方法包括:获取整车控制器传输的待机指令,其中,整车控制器用于获取远程通信模块传输的软件升级请求,在车辆处于未启动状态的情况下,根据软件升级请求,生成待升级控制器对应的待机指令,并将待机指令传输给待升级控制器,其中,软件升级请求包括车辆上需要进行软件升级的待升级控制器的信息;根据待机指令进入待机状态;根据远程通信模块传输的软件数据包升级本地软件,其中,整车控制器用于在车辆达到预设升级条件的情况下,生成允许升级指令,并将允许升级指令传输给远程通信模块,远程通信模块用于根据升级允许指令,将软件数据包传输给待升级控制器。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种车辆软件升级方法,其特征在于,应用于整车控制器,包括:
获取远程通信模块传输的软件升级请求,其中,所述软件升级请求包括车辆上需要进行软件升级的待升级控制器的信息;
在所述车辆处于未启动状态的情况下,根据所述软件升级请求,生成所述待升级控制器对应的待机指令,并将所述待机指令传输给所述待升级控制器,其中,所述待升级控制器用于根据所述待机指令进入待机状态;
在所述车辆达到预设升级条件的情况下,生成允许升级指令,并将所述允许升级指令传输给所述远程通信模块,其中,所述远程通信模块用于根据所述升级允许指令,将软件数据包传输给所述待升级控制器,所述待升级控制器用于根据所述软件数据包升级本地软件。
2.根据权利要求1所述的车辆软件升级方法,其特征在于,所述在所述车辆处于未启动状态的情况下,生成所述待升级控制器对应的待机指令,包括:
获取所述车辆的手刹状态信息和启动钥匙状态信息;
在所述手刹状态信息指示手刹为拉起状态,且所述启动钥匙状态信息指示启动钥匙为关闭状态的情况下,生成所述待升级控制器对应的所述待机指令。
3.根据权利要求2所述的车辆软件升级方法,其特征在于,所述将所述待机指令传输给所述待升级控制器之后,还包括:
获取所述待升级控制器返回的所述待机状态;
所述在所述车辆达到预设升级条件的情况下,生成允许升级指令,包括:
在所述待升级控制器处于所述待机状态,且所述手刹状态信息指示手刹为拉起状态,且所述启动钥匙状态信息指示启动钥匙为关闭状态的情况下,生成所述允许升级指令。
4.根据权利要求1至3任一项所述的车辆软件升级方法,其特征在于,所述将所述允许升级指令传输给所述远程通信模块之后,还包括:
获取所述远程通信模块传输的升级成功信息,其中,所述待升级控制器用于本地软件升级成功后,生成所述升级成功信息,并将所述升级成功信息传输给所述远程通信模块,所述远程通信模块用于将所述升级成功信息传输给所述整车控制器;
根据所述升级成功信息,获取所述车辆的启动钥匙状态信息;
在所述启动钥匙状态信息指示启动钥匙为关闭状态的情况下,生成所述待升级控制器对应的关机指令,并将所述关机指令传输给所述待升级控制器,其中,所述待升级控制器用于根据所述关机指令进入部件休眠状态,并将所述部件休眠状态返回给所述整车控制器;
根据所述部件休眠状态,进入所述整车控制器对应的整车休眠状态。
5.根据权利要求1至3任一项所述的车辆软件升级方法,其特征在于,所述车辆包括第一控制器和第二控制器,其中,所述第一控制器分别与所述整车控制器和所述远程通信模块通信连接,所述第二控制器与所述第一控制器通信连接;
所述将所述待机指令传输给所述待升级控制器,包括:
在所述第一控制器为所述待升级控制器的情况下,将所述待机指令传输给所述第一控制器,其中,所述第一控制器用于根据所述待机指令进入所述待机状态;
在所述第二控制器为所述待升级控制器的情况下,将所述待机指令传输给所述第一控制器,其中,所述第一控制器用于根据所述待机指令进入所述待机状态,并将所述待机指令传输给所述第二控制器,所述第二控制器用于根据所述待机指令进入所述待机状态。
6.一种车辆软件升级方法,其特征在于,应用于待升级控制器,包括:
获取整车控制器传输的待机指令,其中,所述整车控制器用于获取远程通信模块传输的软件升级请求,在所述车辆处于未启动状态的情况下,根据所述软件升级请求,生成所述待升级控制器对应的待机指令,并将所述待机指令传输给所述待升级控制器,其中,所述软件升级请求包括车辆上需要进行软件升级的所述待升级控制器的信息;
根据所述待机指令进入待机状态;
根据远程通信模块传输的所述软件数据包升级本地软件,其中,整车控制器用于在所述车辆达到预设升级条件的情况下,生成允许升级指令,并将所述允许升级指令传输给所述远程通信模块,所述远程通信模块用于根据所述升级允许指令,将软件数据包传输给所述待升级控制器。
7.根据权利要求6所述的车辆软件升级方法,其特征在于,所述根据远程通信模块传输的所述软件数据包升级本地软件之后,还包括:
本地软件升级成功后,生成所述升级成功信息,并将所述升级成功信息传输给所述远程通信模块,其中,所述远程通信模块用于将所述升级成功信息传输给所述整车控制器,所述整车控制器用于获取所述远程通信模块传输的升级成功信息,根据所述升级成功信息,获取所述车辆的启动钥匙状态信息,在所述启动钥匙状态信息指示启动钥匙为关闭状态的情况下,生成所述待升级控制器对应的关机指令,并将所述关机指令传输给所述待升级控制器;
根据所述关机指令进入部件休眠状态,并将所述部件休眠状态返回给所述整车控制器,其中,所述整车控制器用于根据所述部件休眠状态,进入所述整车控制器对应的整车休眠状态。
8.一种实现车辆软件升级方法的整车控制器装置,其特征在于,包括:
请求获取模块,用于获取远程通信模块传输的软件升级请求,其中,所述软件升级请求包括车辆上需要进行软件升级的待升级控制器的信息;
请求处理模块,用于在所述车辆处于未启动状态的情况下,根据所述软件升级请求,生成所述待升级控制器对应的待机指令,并将所述待机指令传输给所述待升级控制器,其中,所述待升级控制器用于根据所述待机指令进入待机状态;
升级准备模块,用于在所述车辆达到预设升级条件的情况下,生成允许升级指令,并将所述允许升级指令传输给所述远程通信模块,其中,所述远程通信模块用于根据所述升级允许指令,将软件数据包传输给所述待升级控制器,所述待升级控制器用于根据所述软件数据包升级本地软件。
9.一种实现车辆软件升级方法的待升级控制器装置,其特征在于,包括:
指令获取模块,用于获取整车控制器传输的待机指令,其中,所述整车控制器用于获取远程通信模块传输的软件升级请求,在所述车辆处于未启动状态的情况下,根据所述软件升级请求,生成所述待升级控制器对应的待机指令,并将所述待机指令传输给所述待升级控制器,其中,所述软件升级请求包括车辆上需要进行软件升级的所述待升级控制器的信息;
状态处理模块,用于根据所述待机指令进入待机状态;
升级处理模块,用于根据远程通信模块传输的所述软件数据包升级本地软件,其中,整车控制器用于在所述车辆达到预设升级条件的情况下,生成允许升级指令,并将所述允许升级指令传输给所述远程通信模块,所述远程通信模块用于根据所述升级允许指令,将软件数据包传输给所述待升级控制器。
10.一种车辆,其特征在于,包括整车控制器和待升级控制器;
所述整车控制器实现如权利要求1至5任一项所述的车辆软件升级方法;
所述待升级控制器实现如权利要求6至7任一项所述的车辆软件升级方法。
11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的车辆软件升级方法。
12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的车辆软件升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310014526.4A CN116088903A (zh) | 2023-01-05 | 2023-01-05 | 车辆软件升级方法、装置、车辆、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310014526.4A CN116088903A (zh) | 2023-01-05 | 2023-01-05 | 车辆软件升级方法、装置、车辆、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116088903A true CN116088903A (zh) | 2023-05-09 |
Family
ID=86207729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310014526.4A Pending CN116088903A (zh) | 2023-01-05 | 2023-01-05 | 车辆软件升级方法、装置、车辆、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116088903A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117406698A (zh) * | 2023-12-12 | 2024-01-16 | 广汽埃安新能源汽车股份有限公司 | 一种刷写过程ecu故障处理方法及装置 |
-
2023
- 2023-01-05 CN CN202310014526.4A patent/CN116088903A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117406698A (zh) * | 2023-12-12 | 2024-01-16 | 广汽埃安新能源汽车股份有限公司 | 一种刷写过程ecu故障处理方法及装置 |
CN117406698B (zh) * | 2023-12-12 | 2024-03-01 | 广汽埃安新能源汽车股份有限公司 | 一种刷写过程ecu故障处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110474961B (zh) | 纯电乘用车基于can总线实现多路远程ota升级方法 | |
CN108279919B (zh) | 一种新能源电动汽车远程程序升级方法 | |
CN103019759B (zh) | 车辆更新系统及其方法 | |
CN112134926B (zh) | 车载设备升级系统和方法 | |
CN111061499A (zh) | 一种基于文件系统的ecu更新方法及系统 | |
CN105278994A (zh) | 车载ecu软件的更新方法及更新系统 | |
CN105577443A (zh) | 车载obd终端设备的多车型自动化升级系统及方法 | |
CN104636150A (zh) | 车辆中软件的更新方法、系统和服务器 | |
CN112559003B (zh) | 域控制器软件升级方法、装置及域控制器 | |
CN114327543A (zh) | 车载控制器的在线升级方法、装置、车辆及存储介质 | |
CN104793975B (zh) | 电子控制单元中应用程序的更新方法及装置 | |
CN116088903A (zh) | 车辆软件升级方法、装置、车辆、设备及存储介质 | |
CN111930403A (zh) | 车辆电控单元标定系统及方法 | |
CN108469959B (zh) | 监护设备的固件升级方法以及装置 | |
CN112199102A (zh) | 车载电子控制单元的软件更新方法及装置,车辆及系统 | |
CN113391830A (zh) | 一种汽车ecu远程刷新方法,汽车及可读存储介质 | |
CN110888659A (zh) | 车载设备程序的远程更新方法、装置和系统 | |
CN108008964A (zh) | 车载网络系统,车载软件的管理方法和车辆 | |
CN111107138A (zh) | Vobc的数据下载方法、vobc、下载服务器、设备和介质 | |
CN113050960A (zh) | Ota升级方法、装置、车载终端及存储介质 | |
CN112114819A (zh) | 远程刷写电子控制单元的方法、装置、控制设备及汽车 | |
CN113703418A (zh) | 一种车辆诊断方法、系统、可读存储介质及车辆 | |
CN115047852A (zh) | 一种车辆软件刷写方法和系统 | |
CN105334840B (zh) | 整车网络子节点配置方法 | |
CN115987964B (zh) | 一种整车fota升级系统及方法 |
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 |