CN112559003B - 域控制器软件升级方法、装置及域控制器 - Google Patents

域控制器软件升级方法、装置及域控制器 Download PDF

Info

Publication number
CN112559003B
CN112559003B CN202011287052.3A CN202011287052A CN112559003B CN 112559003 B CN112559003 B CN 112559003B CN 202011287052 A CN202011287052 A CN 202011287052A CN 112559003 B CN112559003 B CN 112559003B
Authority
CN
China
Prior art keywords
microprocessor
main
auxiliary
upgrading
software
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
CN202011287052.3A
Other languages
English (en)
Other versions
CN112559003A (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.)
Dongfeng Motor Corp
Original Assignee
Dongfeng Motor Corp
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 Dongfeng Motor Corp filed Critical Dongfeng Motor Corp
Priority to CN202011287052.3A priority Critical patent/CN112559003B/zh
Publication of CN112559003A publication Critical patent/CN112559003A/zh
Application granted granted Critical
Publication of CN112559003B publication Critical patent/CN112559003B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • 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
    • B60R16/0231Circuits relating to the driving or the functioning of the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

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

Abstract

本说明书实施例公开一种域控制器软件升级方法、装置及域控制器,所述方法包括:若检测到针对域控制器的软件升级请求,控制辅微处理器进入主控模式;基于获取到的软件升级包,对主微处理器的软件进行升级;在主微处理器进行软件升级的过程中,通过辅微处理器对主微处理器的升级状态进行监控,获得监控信息;基于监控信息,确定主微处理器是否升级成功。上述方案中,在对主微处理器进行软件升级时通过辅微处理器进行各个机构的控制,保证车辆在主微处理器升级的过程中正常运行,实现在车辆正常运行的同时进行主微处理器的软件升级。

Description

域控制器软件升级方法、装置及域控制器
技术领域
本说明书实施例涉及汽车技术领域,尤其涉及一种域控制器软件升级方法、装置及域控制器。
背景技术
随着汽车智能化与电子化的快速发展,汽车电子架构日趋复杂,车载ECU(Electronic Control Unit,电子控制单元)的数量越来越多,为了提高架构的兼容性、降低开发成本,缩短开发周期,将车辆分为若干个域,比如车身域、动力域、信息安全域等,每个域的域控制器作为域的核心及跨域进行信息交互的枢纽。
域控制器作为汽车上的核心部件之一,需要不断进行软件迭代升级来满足新功能及新需求,同时由于软件开发在车型开发工作中比重逐渐加大,随之而来的软件漏洞导致用户抱怨及车辆故障也不断增加。通过传统的软件升级方式,需要用户的车到店,并通过诊断仪或其他专用升级设备与整车的诊断接口相连,才能实现车载软件的升级,这种升级方式效率较低,售后维修及升级新功能成本巨大。
发明内容
本说明书实施例提供及一种域控制器软件升级方法、装置及域控制器。
第一方面,本说明书实施例提供一种域控制器软件升级方法,域控制器包括主微处理器以及辅微处理器,所述方法包括:
若检测到针对所述域控制器的软件升级请求,控制所述辅微处理器进入主控模式;
基于获取到的软件升级包,对所述主微处理器的软件进行升级;
在所述主微处理器进行软件升级的过程中,通过所述辅微处理器对所述主微处理器的升级状态进行监控,获得监控信息;
基于所述监控信息,确定所述主微处理器是否升级成功。
可选地,所述域控制器包括主电源模块,所述主电源模块用于为所述主微处理器供电,所述基于所述监控信息,确定所述主微处理器是否升级成功,包括:
在所述监控信息表明所述主微处理器的升级状态出现异常时,通过所述辅微处理器控制所述主电源模块重置,以对所述主微处理器进行复位;
确定当前对所述主微处理器的复位次数,并确定所述复位次数是否大于预设次数;
若是,则确定所述主微处理器升级失败。
可选地,所述确定所述复位次数是否大于预设次数之后,所述方法还包括:
若所述复位次数小于或等于所述预设次数,基于所述软件升级包,重新对所述主微处理器进行软件升级。
可选地,所述域控制器包括辅存储模块,所述辅存储模块存储有上一版本的备份软件升级包,所述基于所述监控信息,确定所述主微处理器是否升级成功之后,所述方法还包括:
在所述主微处理器升级失败后,基于所述备份软件升级包,将所述主微处理器的软件版本恢复至上一版本。
可选地,所述基于所述监控信息,确定所述主微处理器是否升级成功之后,所述方法还包括:
在所述主微处理器升级成功后,控制所述辅微处理器退出所述主控模式,并控制所述主微处理器进入主控模式。
可选地,所述域控制器包括辅存储模块,所述辅存储模块存储有上一版本的备份软件升级包,所述方法还包括:
在所述主微处理器的升级过程中,检测所述辅微处理器是否在第一预设时长内接收到所述主微处理器发送的握手信号;
若否,基于所述备份软件升级包,将所述主微处理器的软件版本恢复至上一版本,并控制所述主微处理器进入主控模式。
可选地,在所述确定所述主微处理器是否升级成功之后,所述方法还包括:
检测所述辅微处理器是否在第二预设时长内接收到所述主微处理器发送的Limphome信号,并且确定所述Limp home信号是否准确;
若是,控制所述主微处理器进入所述主控模式,且控制所述辅微处理器退出所述主控模式。
第二方面,本说明书实施例提供一种域控制器软件升级装置,域控制器包括主微处理器以及辅微处理器,所述装置包括:
控制模块,用于若检测到针对所述域控制器的软件升级请求,控制所述辅微处理器进入主控模式;
第一升级模块,用于基于获取到的软件升级包,对所述主微处理器的软件进行升级;
监控模块,用于在所述主微处理器进行软件升级的过程中,通过所述辅微处理器对所述主微处理器的升级状态进行监控,获得监控信息;
确定模块,用于基于所述监控信息,确定所述主微处理器是否升级成功。
可选地,所述域控制器包括主电源模块,所述主电源模块用于为所述主微处理器供电,所述确定模块,用于:
在所述监控信息表明所述主微处理器的升级状态出现异常时,通过所述辅微处理器控制所述主电源模块重置,以对所述主微处理器进行复位;
确定当前对所述主微处理器的复位次数,并确定所述复位次数是否大于预设次数;
若是,则确定所述主微处理器升级失败。
可选地,所述装置还包括:
第二升级模块,用于若所述复位次数小于或等于所述预设次数,基于所述软件升级包,重新对所述主微处理器进行软件升级。
可选地,所述域控制器包括辅存储模块,所述辅存储模块存储有上一版本的备份软件升级包,所述装置还包括:
软件恢复模块,用于在所述主微处理器升级失败后,基于所述备份软件升级包,将所述主微处理器的软件版本恢复至上一版本。
可选地,所述装置还包括:
第一控制模块,用于在所述主微处理器升级成功后,控制所述辅微处理器退出所述主控模式,并控制所述主微处理器进入主控模式。
可选地,所述域控制器包括辅存储模块,所述辅存储模块存储有上一版本的备份软件升级包,所述装置还包括:
第一检测模块,用于在所述主微处理器的升级过程中,检测所述辅微处理器是否在第一预设时长内接收到所述主微处理器发送的握手信号;
第二控制模块,用于在所述辅微处理器未在第一预设时长内接收到所述主微处理器发送的握手信号时,基于所述备份软件升级包,将所述主微处理器的软件版本恢复至上一版本,并控制所述辅微处理器进入所述主控模式。
可选地,所述装置还包括:
第二检测模块,用于检测所述辅微处理器是否在第二预设时长内接收到所述主微处理器发送的Limp home信号,并且确定所述Limp home信号是否准确;
第三控制模块,用于所述辅微处理器未在第二预设时长内接收到正确的Limphome信号时,控制所述主微处理器进入所述主控模式,且控制所述辅微处理器退出所述主控模式。
第三方面,本说明书实施例提供一种域控制器,所述域控制器包括:
主微处理器、辅微处理器;
所述主微处理器与所述辅微处理器通讯连接;
所述辅微处理器,用于检测到针对所述域控制器的软件升级请求时,进入主控模式;
所述主微处理器,用于基于获取到的软件升级包进行升级;
在所述主微处理器进行软件升级的过程中,所述辅微处理器,用于对所述主微处理器的升级状态进行监控,获得监控信息,并基于所述监控信息,确定所述主微处理器是否升级成功。
可选地,所述域控制器还包括:
主存储模块,与所述主微处理器通信连接,用于存储所述软件升级包;
辅存储模块,与所述辅微处理器通信连接,用于存储上一版本的备份软件升级包;
主电源模块,与所述主微处理器以及所述主存储模块连接,用于向所述主微处理器以及所述主存储模块供电;
辅电源模块,与所述辅微处理器以及所述辅存储模块连接,用于向所述辅微处理器以及所述辅存储模块供电。
第四方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
本说明书实施例有益效果如下:
本说明书实施例提供的域控制器软件升级方法中,域控制器包括主微处理器以及辅微处理器,在检测到针对域控制器的软件升级请求时,控制辅微处理器进入主控模式;基于获取到的软件升级包,对主微处理器的软件进行升级;在主微处理器进行软件升级的过程中,通过辅微处理器对主微处理器的升级状态进行监控,获得监控信息;基于监控信息,确定主微处理其是否升级成功。上述方案中,由于域控制器中包括主微处理器以及辅微处理器,在对主微处理器进行软件升级时通过辅微处理器进行各个机构的控制,保证车辆在主微处理器升级的过程中正常运行,实现在车辆正常运行的同时进行主微处理器的软件升级。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本说明书的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本说明书实施例提供的一种域控制器的架构示意图;
图2为本说明书实施例中提供的一种OTA升级过程中的信息交互图;
图3为本说明书实施例第一方面提供的域控制器软件升级方法的流程图;
图4为本说明书实施例提供的一种域控制器软件升级的流程图;
图5为本说明书实施例第二方面提供的域控制器软件升级装置的示意图;
图6为本说明书实施例第三方面提供的一种域控制器的示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
第一方面,本说明书实施例中,在对域控制器进行软件升级时,可以采用OTA(Over-the-Air Technology,空中下载技术)来对域控制器进行升级。具体来讲,域控制器的OTA升级过程中,域控制器软件包可以存放在主机厂的服务器中,车辆上设置有车载OTA终端,通过车载OTA终端可以接收服务器发送的域控制器软件包,经过OTA终端控制器与中央网关进行安全认证后,中央网关将解密后的软件包数据传输给域控制器,域控制器接收到数据后,实现软件升级。
为了保证域控制器OTA升级过程中的安全性,以及车辆可靠安全的进行软件升级,本说明书实施例提供了一种域控制器的双MCU(Microcontroller Unit,微处理器)的安全架构。如图1所示,为本说明书实施例提供的一种域控制器的架构示意图,域控制器包括主微处理器(图1中的主MCU),辅微处理器(图1中的辅MCU),主、辅MCU分别设置有独立的电源模块SBC1、SBC2;主、辅MCU分别有独立的数据存储模块Flash1、Flash2;主、辅MCU分别有独立的通讯模块CAN1、CAN2;主、辅MCU之间通过SPI和Limp home信号线进行通讯,域控制器与车辆OTA终端外部可以通过CAN进行通讯。
其中,主MCU为OTA软件升级的主要对象,辅MCU为作为主MCU的备份控制单元。电源模块SBC1为主MCU、主MCU通讯模块CAN1、以及数据存储模块Flash1供电;电源模块SBC2为辅MCU、辅MCU通讯模块CAN2、以及数据存储模块Flash2供电。Flash1存储模块,为存放OTA升级软件包的存储介质;Flash2存储模块,为存放OTA升级备份软件包的存储介质。CAN1为主MCU的通讯模块,CAN2为辅MCU的通讯模块,主MCU通讯模块为OTA升级主MCU的数据传输通道。
本说明书实施例提供的方法是基于上述域控制器双MCU安全架构的软件OTA安全升级方法,能够实现域控制器在软件升级时的容错机制,确保不会因为OTA刷写失败、数据不完整、升级包错误、升级中断等问题导致的域控制器功能丢失,确保域控制器软件安全可靠升级。
下面,对OTA升级中的信息交互过程进行说明,如图2所示,为本说明书实施例中提供的一种OTA升级过程中的信息交互图。在域控制器的OTA升级过程中,涉及到OTA服务器、车载OTA终端、中央完全网关以及域控制器之间的交互,具体实施过程如下:
301:当前车辆域控制器软件出现OTA需求时,车载OTA终端接收到OTA服务器推送的域控制器软件升级请求的消息;
302:用户收到软件升级推送消息后,确认需要升级;
303:车载OTA终端与OTA服务器进行安全认证;
304:认证通过后,车载OTA终端将域软件包数据接收到本地;
305:软件包数据接收完成后,车载OTA终端向中央安全网关发起软件数据下发请求;
306:中央安全网关向车载OTA终端发起安全认证请求;
307:安全认证通过后,车辆中央安全网关向域控制器发起软件升级指令;
308:车载OTA终端开始向域控制器传输软件升级包数据;
309:待域控制器完成软件升级包的接收后,域控制器开始向中央网关发起OTA升级请求;
310:中央网关综合判断车辆状况后(整车蓄电池电压、车速、该域控制器OTA是否影响车辆功能),若条件满足,则中央安全网关通知域控制器开始执行软件升级;
311:域控制器开始执行软件升级;
312:域控制器完成软件升级后,通过中央安全网关和车载OTA终端向OTA服务器反馈OTA升级结果。
上述交互中的身份安全认证是指:对于特定的车辆,车载OTA终端、域控制器、中央安全网关都有唯一的身份标签及车辆的VIN号,身份安全认证的过程是通过加密算法,确定车载OTA终端、中央安全网关、域控制器内部存储的车辆信息是一一对应的。
进一步的,为了确保域控制器能够安全可靠的进行软件升级,本说明书实施例提供一种域控制器软件升级方法,如图3所示,为本说明书实施例提供的域控制器软件升级方法的流程图,该方法包括以下步骤:
步骤S11:若检测到针对域控制器的软件升级请求,控制辅微处理器进入主控模式;
步骤S12:基于获取到的软件升级包,对主微处理器的软件进行升级;
步骤S13:在主微处理器进行软件升级的过程中,通过辅微处理器对主微处理器的升级状态进行监控,获得监控信息;
步骤S14:基于监控信息,确定主微处理器是否升级成功。
本说明书实施例中,域控制器在未进行软件升级时,主微处理器处于主控模式,由主微处理器,即主MCU通过CAN1域中央网关通讯。在域控制器进行软件升级时,为了保证车辆的正常运行,将辅微处理器,即辅MCU切换至主控模式,主MCU退出主控模式,以进行软件升级。
在辅MCU进入主控模式之后,主微处理器根据软件升级包进行软件升级,车载OTA终端在接收到软件升级包之后,可以将其存储在主微处理器的存储模块Flash1中,主微处理器可以直接在Flash1中读取该软件升级包进行升级操作。
在主微处理器的升级过程中,辅微处理器可以通过SPI3和/或Limp home信号对主微处理器进行监控,例如,辅微处理器可以监控主微处理器的升级数据帧周期、顺序等,获得监控信息。
若在主微处理器的整个升级过程中,获得的监控信息均处于正常范围,例如,升级数据帧周期、顺序均正常,则确定主微处理器升级成功。若在诸位处理器的升级过程中,检测到异常信息,或者出现异常的次数达到预设次数,则可以判定主为处理器升级失败。
在具体实施过程中,步骤S13可以通过以下方式实现:在监控信息表明主微处理器的升级状态出现异常时,通过辅微处理器控制主电源模块重置,以对主微处理器进行复位;确定当前对主微处理器的复位次数,并确定复位次数是否大于预设次数;若是,则确定主微处理器升级失败。
具体来讲,在监控信息表明升级出现异常时,以监控信息为升级数据帧周期为例,若升级数据帧周期与预设周期不符,则表明升级出现异常。由于辅微处理器与为主微处理器供电的主电源模块相连,在升级出现异常时,辅微处理器可以向主电源模块发送指令以重置主电源模块,实现主微处理器的复位操作。
本说明书实施例中,可以对允许复位的预设次数进行限定,例如,预设次数为3次、5次等,这里不做限定。每次进行复位操作后,记录复位次数,判断当前复位次数是否超过预设次数,如果超过预设次数,则确定本次升级失败。如果当前复位次数小于或等于预设次数,基于软件升级包,重新对所述主微处理器进行软件升级,也就是再次执行主微处理器的升级操作。
在升级失败后,为了保证主微处理器的正常运行,本说明书实施例中,在辅存储模块中存储有上一版本的备份软件升级包,在主微处理器升级失败后,基于备份升级包,将主微处理器的软件版本恢复至上一版本。
具体来讲,在当前复位次数大于预设次数后,辅微处理器可以再次重置主电源模块,使主微处理器复位,然后主微处理器由辅存储模块中读取上一版本的备份软件升级包,并对主微处理器进行软件刷写,以使主微处理器恢复至上一版本。
在主微处理器升级成功后,控制辅微处理器退出主控模式,并控制主微处理器进入主控模式。具体来讲,在主微处理器升级成功之后,则恢复主微处理器的控制,接管各项域控制器的功能,同时可以将当前版本的软件升级包保存在辅存储模块中,作为下一次软件升级的备份软件包。
需要说明的是,本说明书实施例中的主微处理器,包括有主控模式以及OTA模式,辅微处理器,包括有主控模式和非主控模式。在正常情况下,主微处理器处于主控模式,辅微处理器处于非主控模式,在域控制器的升级过程中,主微处理器处于OTA模式,辅微处理器处于主控模式。
主微处理器与辅微处理器之间存在握手连接,即主微处理器可以周期性的向辅微处理器发送握手信号。为了保证OTA升级过程的可靠性,本说明书实施例中,在主微处理器的升级过程中,检测辅微处理器是否在第一预设时长内接收到主微处理器发送的握手信号;若否,基于备份软件升级包,将主微处理器的软件版本恢复至上一版本,并控制主微处理器进入主控模式。
具体来讲,主微处理器周期性的向辅微处理器发送握手信号,例如,主微处理器以100ms±10ms的周期通过CAN/SPI3发送握手信号给辅微处理器。握手信息中可以包含有主微处理器软件升级过程信息、状态信息等。如果辅微处理器在第一预设时长内接收到正确的握手信号,则可以继续主微处理器的升级。如果辅微处理器未在第一预设时长内接收到正确的握手信号,则表明主微处理器可能在升级过程中出现问题,此时,可以终止主微处理器的升级,并基于上一版本的备份软件包,将主微处理器的版本恢复至上一版本。同时,在主微处理器恢复上一版本之后,控制主微处理器进入主控模式。应说明的是,第一预设时长可以根据实际需要进行设定,例如第一预设时长为100ms等。
进一步的,若主微处理器处于主控模式时,若辅微处理器检测到接收到的握手信号出现异常,则可以认为主微处理器异常,此时,可以由辅微处理器接管主电源模块,并通过CAN通知中央网关以及T box主微处理器异常,整车需要进入跛行模式。
另外,本说明书实施例中,主微处理器能够向辅微处理器发送Limp home信号,在确定主微处理器是否升级成功之后,检测辅微处理器是否在第二预设时长内接收到主微处理器发送的Limp home信号,并且确定Limp home信号是否准确;若是,控制主微处理器进入主控模式,且控制辅微处理器退出主控模式。例如,Limp hone信号为50Hz±5Hz的方波,占空比为50%±10%,辅微处理器不断的监控主微处理器的Limp home信号。第二预设时长可以根据实际需要进行设定,以第二预设时长为100ms为例,若辅微处理器在连续100ms内检测到主微处理器的Limp home信号且Limp home信号正确,则控制主微处理器进入主控模式。若辅微处理器在连续100ms内无法检测到主微处理器的Limp home信号或者在100ms内检测到的Limp home的方波频率或占空比超出偏差的范围,则认为主微处理器失效。
为了更好的对本说明书实施例提供的域控制器软件升级方法进行说明,请参考图4,为本说明书实施例提供的一种域控制器软件升级的流程图,该流程是基于图1的安全架构来执行的升级流程,具体流程如下:
401:主MCU进入OTA模式;
域控制器主MCU接收到中央安全网关的软件升级指令后,主MCU进入OTA模式。
402:主MCU通知辅MCU进入主控模式;
在OTA模式下,主MCU通过SPI3/CAN1通知从MCU进入主控模式。
403:辅MCU进入主控模式;
辅MCU接收到主MCU要求其进入主控模式后,进入主控模式。
404:主MCU启动OTA刷写引擎;
主MCU确定从MCU进入主控模式后,启动自身的OTA刷写引擎,执行软件升级。
405:辅MCU监控主MCU软件升级状态信息,判断主MCU软件升级是否正常;
主MCU开始软件升级后,从MCU通过SPI3及主MCU的Limp home信号,监控主MCU的OTA升级过程和状态。若辅MCU监控主MCU软件刷写及Limp home状态在软件更新过程均正常,执行411,否则,执行406.
406:如主MCU升级异常,辅MCU通过EN1引脚重置主MCU电源模块SBC1,使其主MCU复位,并通过SPI3向主MCU发送重新升级指令;
如主MCU升级过程和状态出现异常(包括有升级数据帧周期、顺序出现异常),辅MCU通过控制主MCU电源模块SBC1的EN1引脚,重置主MCU的供电模块使主MCU复位,同时通过SPI3/CAN2通知主MCU重新启动OTA引擎,进行软件升级。
407:判断主MCU软件升级重试次数是否已达到3次;
该实施例中,OTA引擎重启最大次数为3次。
408:若超过3次,辅MCU再次通过EN1引脚重置主MCU电源模块SBC1,使其主MCU复位;
409:辅MCU通过SPI3,对主MCU进行备份软件刷写,使主MCU软件回到上一版本;
采用辅MCU存储模块Flash2中的备份软件包,通过SPI3/CAN2对主MCU进行软件刷写,使主MCU的软件版恢复到刷写前的版本。
410:辅MCU通知中央网关刷写识别,同时通知主MCU进入主控模式;
辅MCU通过其CAN2通知中央网关本次域控制器OTA软件升级失败,同时通知主MCU进入主控模式接管域控制器的功能。
411:本次软件主MCU升级是否结束;
412:主MCU通知辅MCU退出主控模式;
主MCU软件更新完成后,主MCU通知辅MCU退出主控模式。
413:主MCU进入主控模式,软件升级结束。
通知中央安全网关本次OTA软件升级成功。
上述方案中,在对主微处理器升级的过程中,通过辅微处理器切换至主控模式对车辆进行控制,能够保证车辆在主微处理器升级过程中的正常运行,在主微处理器升级出现问题时,能够将主微处理器的软件版本恢复至上一版本,确保不会因为OTA刷写失败、数据不完整、升级包错误、升级终端等问题导致的域控制器功能丢失,确保域控制器软件安全可靠的升级。
第二方面,基于同一发明构思,本说明书实施例提供一种域控制器软件升级装置,域控制器包括主微处理器以及辅微处理器,请参考图5,该装置包括:
控制模块51,用于若检测到针对所述域控制器的软件升级请求,控制所述辅微处理器进入主控模式;
第一升级模块52,用于基于获取到的软件升级包,对所述主微处理器的软件进行升级;
监控模块53,用于在所述主微处理器进行软件升级的过程中,通过所述辅微处理器对所述主微处理器的升级状态进行监控,获得监控信息;
确定模块54,用于基于所述监控信息,确定所述主微处理器是否升级成功。
可选地,所述域控制器包括主电源模块,所述主电源模块用于为所述主微处理器供电,确定模块54,用于:
在所述监控信息表明所述主微处理器的升级状态出现异常时,通过所述辅微处理器控制所述主电源模块重置,以对所述主微处理器进行复位;
确定当前对所述主微处理器的复位次数,并确定所述复位次数是否大于预设次数;
若是,则确定所述主微处理器升级失败。
可选地,所述装置还包括:
第二升级模块,用于若所述复位次数小于或等于所述预设次数,基于所述软件升级包,重新对所述主微处理器进行软件升级。
可选地,所述域控制器包括辅存储模块,所述辅存储模块存储有上一版本的备份软件升级包,所述装置还包括:
软件恢复模块,用于在所述主微处理器升级失败后,基于所述备份软件升级包,将所述主微处理器的软件版本恢复至上一版本。
可选地,所述装置还包括:
第一控制模块,用于在所述主微处理器升级成功后,控制所述辅微处理器退出所述主控模式,并控制所述主微处理器进入主控模式。
可选地,所述域控制器包括辅存储模块,所述辅存储模块存储有上一版本的备份软件升级包,所述装置还包括:
第一检测模块,用于在所述主微处理器的升级过程中,检测所述辅微处理器是否在第一预设时长内接收到所述主微处理器发送的握手信号;
第二控制模块,用于在所述辅微处理器未在第一预设时长内接收到所述主微处理器发送的握手信号时,基于所述备份软件升级包,将所述主微处理器的软件版本恢复至上一版本,并控制所述辅微处理器进入所述主控模式。
可选地,所述装置还包括:
第二检测模块,用于检测所述辅微处理器是否在第二预设时长内接收到所述主微处理器发送的Limp home信号,并且确定所述Limp home信号是否准确;
第三控制模块,用于所述辅微处理器未在第二预设时长内接收到正确的Limphome信号时,控制所述主微处理器进入所述主控模式,且控制所述辅微处理器退出所述主控模式。
关于上述装置,其中各个模块的具体功能已经在本说明书实施例提供的域控制器软件升级方法的实施例中进行了详细描述,此处将不做详细阐述说明。
第三方面,本说明书实施例提供一种域控制器,如图6所示,该域控制器包括:
主微处理器61、辅微处理器62;
主微处理器61与辅微处理器62通讯连接;
辅微处理器62,用于检测到针对域控制器的软件升级请求时,进入主控模式;
主微处理器61,用于基于获取到的软件升级包进行升级;
在主微处理器61进行软件升级的过程中,辅微处理器62,用于对主微处理器61的升级状态进行监控,获得监控信息,并基于监控信息,确定主微处理器61是否升级成功。
可选地,域控制器还包括:
主存储模块63,与主微处理器61通信连接,用于存储软件升级包;
辅存储模块64,与辅微处理器62通信连接,用于存储上一版本的备份软件升级包;
主电源模块65,与主微处理器61以及主存储模块63连接,用于向主微处理器61以及主存储模块63供电;
辅电源模块66,与辅微处理器62以及辅存储模块64连接,用于向辅微处理器62以及辅存储模块64供电。
其中,主微处理器61与辅微处理器62通过SPI以及Limp home通讯连接。域控制器与车辆OTA终端外部可以通过CAN进行通讯。主微处理器61可以与辅电源模块66连接,辅微处理器62可以与主电源模块65连接。
另外,域控制器还包括主通讯模块,以及辅通讯模块,分别与主微处理器61以及辅微处理器62连接。
关于上述装置,其中各个模块的具体功能已经在本说明书实施例提供的域控制器软件升级方法的实施例中进行了详细描述,此处将不做详细阐述说明。
第四方面,基于与前述实施例中基于域控制器软件升级方法的发明构思,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述基于域控制器软件升级方法的任一方法的步骤。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。

Claims (10)

1.一种域控制器软件升级方法,其特征在于,域控制器包括主微处理器以及辅微处理器,所述主微处理器和所述辅微处理器分别设置有独立的电源模块、数据存储模块、以及通讯模块,所述主微处理器的电源模块为所述主微处理器的通讯模块以及数据存储模块供电,所述辅微处理器的电源模块为所述辅微处理器的通讯模块以及数据存储模块供电,所述主微处理器的数据存储模块用于存放软件升级包,所述辅微处理器的数据存储模块用于存放备份软件升级包,所述主微处理器和所述辅微处理器通过SPI和Limp home信号线进行通信,所述方法包括:
若检测到针对所述域控制器的软件升级请求,控制所述辅微处理器进入主控模式,其中,所述辅微处理器在所述主控模式下对车辆进行控制,以使所述车辆在所述主微处理器升级过程中正常运行;
基于获取到的软件升级包,对所述主微处理器的软件进行升级;
在所述主微处理器进行软件升级的过程中,通过所述辅微处理器对所述主微处理器的升级状态进行监控,获得监控信息;
基于所述监控信息,确定所述主微处理器是否升级成功;
其中,所述主微处理器在主控模式下向所述辅微处理器发送握手信号的过程中,若所述辅微处理器接收到的握手信号出现异常,控制所述车辆进入坡行模式。
2.根据权利要求1所述的方法,其特征在于,所述域控制器包括主电源模块,所述主电源模块用于为所述主微处理器供电,所述基于所述监控信息,确定所述主微处理器是否升级成功,包括:
在所述监控信息表明所述主微处理器的升级状态出现异常时,通过所述辅微处理器控制所述主电源模块重置,以对所述主微处理器进行复位;
确定当前对所述主微处理器的复位次数,并确定所述复位次数是否大于预设次数;
若是,则确定所述主微处理器升级失败。
3.根据权利要求2所述的方法,其特征在于,所述确定所述复位次数是否大于预设次数之后,所述方法还包括:
若所述复位次数小于或等于所述预设次数,基于所述软件升级包,重新对所述主微处理器进行软件升级。
4.根据权利要求1所述的方法,其特征在于,所述域控制器包括辅存储模块,所述辅存储模块存储有上一版本的备份软件升级包,所述基于所述监控信息,确定所述主微处理器是否升级成功之后,所述方法还包括:
在所述主微处理器升级失败后,基于所述备份软件升级包,将所述主微处理器的软件版本恢复至上一版本。
5.根据权利要求1所述的方法,其特征在于,所述基于所述监控信息,确定所述主微处理器是否升级成功之后,所述方法还包括:
在所述主微处理器升级成功后,控制所述辅微处理器退出所述主控模式,并控制所述主微处理器进入主控模式。
6.根据权利要求1所述的方法,其特征在于,所述域控制器包括辅存储模块,所述辅存储模块存储有上一版本的备份软件升级包,所述方法还包括:
在所述主微处理器的升级过程中,检测所述辅微处理器是否在第一预设时长内接收到所述主微处理器发送的握手信号;
若否,基于所述备份软件升级包,将所述主微处理器的软件版本恢复至上一版本,并控制所述主微处理器进入主控模式。
7.根据权利要求1或5所述的方法,其特征在于,在所述确定所述主微处理器是否升级成功之后,所述方法还包括:
检测所述辅微处理器是否在第二预设时长内接收到所述主微处理器发送的Limp home信号,并且确定所述Limp home信号是否准确;
若是,控制所述主微处理器进入所述主控模式,且控制所述辅微处理器退出所述主控模式。
8.一种域控制器软件升级装置,其特征在于,域控制器包括主微处理器以及辅微处理器,所述主微处理器和所述辅微处理器分别设置有独立的电源模块、数据存储模块、以及通讯模块,所述主微处理器的电源模块为所述主微处理器的通讯模块以及数据存储模块供电,所述辅微处理器的电源模块为所述辅微处理器的通讯模块以及数据存储模块供电,所述主微处理器的数据存储模块用于存放软件升级包,所述辅微处理器的数据存储模块用于存放备份软件升级包,所述主微处理器和所述辅微处理器通过SPI和Limp home信号线进行通信,所述装置包括:
控制模块,用于若检测到针对所述域控制器的软件升级请求,控制所述辅微处理器进入主控模式,其中,所述辅微处理器在所述主控模式下对车辆进行控制,以使所述车辆在所述主微处理器升级过程中正常运行;
升级模块,用于基于获取到的软件升级包,对所述主微处理器的软件进行升级;
监控模块,用于在所述主微处理器进行软件升级的过程中,通过所述辅微处理器对所述主微处理器的升级状态进行监控,获得监控信息;
确定模块,用于基于所述监控信息,确定所述主微处理器是否升级成功;
其中,所述主微处理器在主控模式下向所述辅微处理器发送握手信号的过程中,若所述辅微处理器接收到的握手信号出现异常,控制所述车辆进入坡行模式。
9.一种域控制器,其特征在于,所述域控制器包括:
主微处理器、辅微处理器;
所述主微处理器和所述辅微处理器分别设置有独立的电源模块、数据存储模块、以及通讯模块,所述主微处理器的电源模块为所述主微处理器的通讯模块以及数据存储模块供电,所述辅微处理器的电源模块为所述辅微处理器的通讯模块以及数据存储模块供电,所述主微处理器的数据存储模块用于存放软件升级包,所述辅微处理器的数据存储模块用于存放备份软件升级包;
所述主微处理器与所述辅微处理器通过SPI和Limp home信号线进行通信;
所述辅微处理器,用于检测到针对所述域控制器的软件升级请求时,进入主控模式;
所述主微处理器,用于基于获取到的软件升级包进行升级;
在所述主微处理器进行软件升级的过程中,所述辅微处理器,用于对所述主微处理器的升级状态进行监控,获得监控信息,并基于所述监控信息,确定所述主微处理器是否升级成功,其中,所述辅微处理器在所述主控模式下对车辆进行控制,以使所述车辆在所述主微处理器升级过程中正常运行。
10.根据权利要求9所述的域控制器,其特征在于,所述域控制器还包括:
主存储模块,与所述主微处理器通信连接,用于存储所述软件升级包;
辅存储模块,与所述辅微处理器通信连接,用于存储上一版本的备份软件升级包;
主电源模块,与所述主微处理器以及所述主存储模块连接,用于向所述主微处理器以及所述主存储模块供电;
辅电源模块,与所述辅微处理器以及所述辅存储模块连接,用于向所述辅微处理器以及所述辅存储模块供电。
CN202011287052.3A 2020-11-17 2020-11-17 域控制器软件升级方法、装置及域控制器 Active CN112559003B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011287052.3A CN112559003B (zh) 2020-11-17 2020-11-17 域控制器软件升级方法、装置及域控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011287052.3A CN112559003B (zh) 2020-11-17 2020-11-17 域控制器软件升级方法、装置及域控制器

Publications (2)

Publication Number Publication Date
CN112559003A CN112559003A (zh) 2021-03-26
CN112559003B true CN112559003B (zh) 2023-03-03

Family

ID=75044279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011287052.3A Active CN112559003B (zh) 2020-11-17 2020-11-17 域控制器软件升级方法、装置及域控制器

Country Status (1)

Country Link
CN (1) CN112559003B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113176771B (zh) * 2021-04-16 2023-04-14 重庆长安新能源汽车科技有限公司 车辆域控制器运行状态监控方法
CN113377404B (zh) * 2021-06-29 2023-07-18 深蓝汽车科技有限公司 一种新能源车域控制器安全监控芯片程序更新方法及系统
CN115242633B (zh) * 2022-06-23 2024-04-09 惠州华阳通用电子有限公司 一种基于usb以太网的车载设备升级方法及装置
CN116909609B (zh) * 2023-09-12 2023-12-22 英纳法智联科技(北京)有限公司 车载智能设备的软件升级方法、装置及车载智能设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646043A (zh) * 2012-02-29 2012-08-22 青岛海信移动通信技术股份有限公司 移动终端软件升级方法、升级装置及移动终端
CN109933347A (zh) * 2018-11-23 2019-06-25 航天恒星科技有限公司 一种基于1553b总线的多嵌入式处理器软件可靠升级方法
CN109995628A (zh) * 2018-01-03 2019-07-09 联合汽车电子有限公司 车用域控制器
CN111385191A (zh) * 2018-12-28 2020-07-07 联合汽车电子有限公司 车载互联网关、车辆ota升级系统和方法、计算机存储介质
CN111381844A (zh) * 2018-12-27 2020-07-07 中兴通讯股份有限公司 更新车辆ecu固件的方法及装置
CN111399870A (zh) * 2020-02-28 2020-07-10 浙江吉利新能源商用车集团有限公司 一种车辆控制方法、装置、终端及存储介质
CN111459518A (zh) * 2020-03-30 2020-07-28 北京经纬恒润科技有限公司 一种车辆ecu升级方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105094875A (zh) * 2014-05-19 2015-11-25 中兴通讯股份有限公司 一种软件升级方法及装置
CN106293824A (zh) * 2016-08-04 2017-01-04 青岛海信电器股份有限公司 一种从处理芯片升级的方法及装置
CN107809324B (zh) * 2016-09-07 2022-01-25 中兴通讯股份有限公司 一种车载自动诊断系统设备及其升级方法
CN107402847B (zh) * 2017-07-28 2020-05-19 安徽江淮汽车集团股份有限公司 一种整车控制器软件的远程升级方法及系统
CN109541987B (zh) * 2018-10-17 2021-09-03 同济大学 一种具有冗余结构的即插即用型智能汽车域控制器及方法
CN110221850A (zh) * 2019-05-05 2019-09-10 徐州威卡电子控制技术有限公司 一种对移动机械控制器进行远程升级的方法
CN110737457A (zh) * 2019-07-18 2020-01-31 上海擎感智能科技有限公司 车载软件处理方法、系统及终端
CN110471680A (zh) * 2019-07-23 2019-11-19 武汉格罗夫氢能汽车有限公司 用于氢能汽车控制器软件升级及失败回滚的控制方法
CN110673864A (zh) * 2019-08-28 2020-01-10 绿驰汽车科技集团有限公司 车载软件的升级监控方法及系统
CN111246422A (zh) * 2020-01-06 2020-06-05 新石器慧通(北京)科技有限公司 一种车载系统热启动切换方法
CN111338674A (zh) * 2020-02-25 2020-06-26 北京汽车集团有限公司 指令处理方法、装置和设备
CN111399884A (zh) * 2020-04-09 2020-07-10 东风小康汽车有限公司重庆分公司 一种车辆组件的升级方法、装置及电子设备
CN111787378B (zh) * 2020-06-28 2022-06-28 海信视像科技股份有限公司 应用于遥控装置的软件升级方法及遥控装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102646043A (zh) * 2012-02-29 2012-08-22 青岛海信移动通信技术股份有限公司 移动终端软件升级方法、升级装置及移动终端
CN109995628A (zh) * 2018-01-03 2019-07-09 联合汽车电子有限公司 车用域控制器
CN109933347A (zh) * 2018-11-23 2019-06-25 航天恒星科技有限公司 一种基于1553b总线的多嵌入式处理器软件可靠升级方法
CN111381844A (zh) * 2018-12-27 2020-07-07 中兴通讯股份有限公司 更新车辆ecu固件的方法及装置
CN111385191A (zh) * 2018-12-28 2020-07-07 联合汽车电子有限公司 车载互联网关、车辆ota升级系统和方法、计算机存储介质
CN111399870A (zh) * 2020-02-28 2020-07-10 浙江吉利新能源商用车集团有限公司 一种车辆控制方法、装置、终端及存储介质
CN111459518A (zh) * 2020-03-30 2020-07-28 北京经纬恒润科技有限公司 一种车辆ecu升级方法及系统

Also Published As

Publication number Publication date
CN112559003A (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
CN112559003B (zh) 域控制器软件升级方法、装置及域控制器
EP3528118B1 (en) Software update device, software update method, and software update system
CN109669708B (zh) 用于模块化物联网终端设备的远程升级方法
US9557981B2 (en) Method and apparatus for automatic module upgrade
EP3725604A1 (en) Electric power control method and system for use in changing vehicle battery
WO2022095896A1 (zh) 一种车辆上的ecu管理方法、ecu以及可读存储介质
CN110758483A (zh) 远程重启的方法、装置、设备和介质
US9889762B2 (en) Control system for charging vehicle battery in response to an unstable state
CN113497819A (zh) 一种远程升级安全保障方法、系统及车载Tbox设备
CN113626056A (zh) 车辆远程升级方法、装置、电子设备、车载终端及存储介质
CN110995724A (zh) 一种新能源客车整车控制器的远程升级方法
US9817741B2 (en) Method for monitoring an apparatus connected to a communication channel
US20220317994A1 (en) Ota master, update control method, and non-transitory storage medium
CN111505977B (zh) 功能辅助调试方法、功能调试方法、装置、系统及介质
CN109664902B (zh) 一种轨道车辆及其人机交互系统
CN111610981A (zh) 一种bms板子在线刷写方法及其装置
CN116088903A (zh) 车辆软件升级方法、装置、车辆、设备及存储介质
CN114679374B (zh) 一种重置控制方法、装置及电子设备
CN116225477A (zh) 一种ecu远程升级方法与系统
CN115390539A (zh) 车辆异常休眠诊断方法、装置、车辆及存储介质
US10899238B2 (en) Control apparatus including a key hold function of supplying power to a controller and control method thereof
CN114026537A (zh) 用于在车辆的车载总线上与计算机进行对话的方法
CN112799370B (zh) 一种控制装置、车载系统软件还原方法及其系统
US20180018260A1 (en) Information processing device and information processing method
EP4404053A1 (en) Method for flashing ecu mounted on vehicle, vehicle, and storage medium

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
GR01 Patent grant
GR01 Patent grant