CN110908682B - 一种车辆控制器的固件升级方法、系统、车辆和存储介质 - Google Patents
一种车辆控制器的固件升级方法、系统、车辆和存储介质 Download PDFInfo
- Publication number
- CN110908682B CN110908682B CN201910730732.9A CN201910730732A CN110908682B CN 110908682 B CN110908682 B CN 110908682B CN 201910730732 A CN201910730732 A CN 201910730732A CN 110908682 B CN110908682 B CN 110908682B
- Authority
- CN
- China
- Prior art keywords
- usb
- upgrading
- vehicle
- controller
- 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.)
- Active
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
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)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种车辆控制器的固件升级方法、系统、车辆和存储介质,该方法包括:车载多媒体主机接收到用户触发的升级连通指令后,控制外接通用串行总线USB设备与所述升级连通指令对应的目标控制器连通;车载多媒体主机确认外接USB设备中的升级数据包满足升级条件时,向用户展示对应所述目标控制器的升级启动按钮;车载多媒体主机根据用户触发所述升级启动按钮生成固件升级指令,控制所述目标控制器基于所述升级数据包进行固件升级。本发明实施例实现了通过USB对车载控制器进行固件升级,大大缩短了固件升级时间,有效提高了车辆控制器的固件升级效率,操作简单且不需要专业设备。
Description
技术领域
本发明实施例涉及固件升级技术领域,尤其涉及一种车辆控制器固件升级方法、系统、车辆和存储介质。
背景技术
近年随着技术的创新和发展,越来越多的新技术和新产品形态被应用到汽车领域,以车载信息和娱乐系统为例,全液晶仪表和大尺寸高清中控屏为主要发展趋势,随之而来的是汽车控制器软件包数据量呈现几何式增长,从几KB到几百MB不等。控制器的开发、联合调试、售后存在大量的软件升级需求。
传统的车载控制器升级方法多以控制器局域网络(Controller Area Network,CAN)总线形式进行,虽然这种方法可以适配多个控制器,但存在的严重缺点是升级速率慢而且需要专用的、昂贵的设备才能进行,而全液晶仪表、360全景影像、车载数字电视这类包数据量较大的控制器,升级需要花费几个小时以上,时间效率极低,这样的升级方法对调试和售后是无法忍受的。
发明内容
本发明提供一种车辆控制器固件升级方法、系统、车辆和存储介质,以实现通过USB对车载控制器进行固件升级,大大缩短固件升级时间,有效提高车辆控制器的固件升级效率。
第一方面,本发明实施例提供了一种车辆控制器固件升级方法,该方法包括:
车载多媒体主机接收到用户触发的升级连通指令后,控制外接通用串行总线USB设备与所述升级连通指令对应的目标控制器连通;
车载多媒体主机确认外接USB设备中的升级数据包满足升级条件时,向用户展示对应所述目标控制器的升级启动按钮;
车载多媒体主机根据用户触发所述升级启动按钮生成固件升级指令,控制所述目标控制器基于所述升级数据包进行固件升级。
第二方面,本发明实施例还提供了一种车辆控制器的固件升级系统,该系统包括:车载多媒体主机、至少一个待升级的目标控制器,以及通用串行总线USB设备,
其中,所述车载多媒体主机通过USB链路分别与各待升级的目标控制器连接;所述车载多媒体主机通过USB接口外接所述USB设备;
所述车载多媒体主机,用于接收到用户触发的升级连通指令后,控制所述USB设备与所述升级连通指令对应的目标控制器连通,以及确认所述USB设备中的升级数据包满足升级条件时,向用户展示对应所述目标控制器的升级启动按钮;
所述目标控制器,用于对所述USB设备中的升级数据包进行固件校验,并在接收到所述车载多媒体主机发送的固件升级指令后,基于所述升级数据包进行固件升级;
所述USB设备,用于为所述目标控制器提供用于进行固件升级的升级数据包。
第三方面,本发明实施例还提供了一种车辆,该车辆包括:车载多媒体主机、至少一个待升级的目标控制器、通用串行总线USB设备以及存储器,
其中,所述车载多媒体主机通过USB链路分别与各所述待升级的目标控制器连接;所述车载多媒体主机通过USB接口外接所述USB设备;所述存储器分别与所述车载多媒体主机以及各所述待升级的目标控制器连接;
所述存储器,用于存储一个或多个程序;
所述一个或多个程序被所述车载多媒体主机执行,实现如本发明实施例第一方面所述的车辆控制器的固件升级方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如本发明实施例第一方面所述的车辆控制器的固件升级方法。
本发明实施例通过车载多媒体主机实现将存储有车载控制器的固件升级数据包的外接USB设备与所述目标控制器连通,以实现通过USB对车载控制器进行固件升级,大大缩短了固件升级时间,有效提高了车辆控制器的固件升级效率,操作简单且不需要专业设备,解决了传统以CAN总线形式对车载控制器进行固件升级时,耗时长、效率低且需使用专业设备的问题;并且在车载控制器的开发联调、售后质量维护和功能迭代等任一阶段,采用本发明实施例上述固件升级方案对车载控制器进行固件升级时均不需要对车载控制器进行拆卸,既省时省力又可以避免车辆部件划痕、损伤等事情发生,实现了对汽车部件的零损伤,进一步节约了时间和人力资源消耗。
附图说明
图1是本发明实施例一提供的一种车辆控制器的固件升级方法的流程示意图;
图2是本发明实施例二提供的一种车辆控制器的固件升级方法的流程示意图;
图3是本发明实施例二提供的一种车辆控制器的固件升级方法硬件实现示例图;
图4是本发明实施例二提供的一种车辆控制器的固件升级方法的流程示例图;
图5是本发明实施例三提供的一种车辆控制器的固件升级系统的结构示意图;
图6是本发明实施例四提供的一种车辆的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种车辆控制器的固件升级方法的流程示意图,本实施例可适用于通过USB对车载控制器进行固件升级的情况,该方法可以由本发明实施例中的车辆控制器的固件升级系统来执行。
可以理解的是,CAN总线的传输速率很低,约为500kbps,再加上通信传输时的附加数据,使得CAN总线的相对传输速率更低,因此利用传统的CAN总线形式对车载控制器进行固件升级时,耗时会很长,效率很低,尤其对几十MB甚至几百MB的升级数据包,利用CAN总线升级的耗时将是无法忍受的。而USB的传输速率很高,对于USB2.0,其理论传输速率为480Mbps,且一般数据包较大的控制器是支持USB协议的,例如全液晶仪表、车载数字电视以及360全景影像等控制器即支持采用USB实现固件升级。为了更清晰地看出CAN总线升级和USB升级的速率差别,以升级包为80MB的全液晶仪表为例,进行如下固件升级速率计算:
方式一:CAN总线升级。
通过汽车OBD端口的CAN总线(500kbps)对控制器进行升级,升级速率大小的关键因素是总线负载率,负载率越高升级速率越大。决定负载率的关键因素是数据帧之间的时间间隔,即STmin,STmin的取值范围为20us到10ms之间,STmin的值越小总线负载率越高,但是受限于被升级控制器的处理能力限制,负载率太高时会出现控制器来不及处理数据而导致升级失败的情况,所以STmin的典型值为1ms,则升级速率v:
v=1000×8×8(Bit)=64Kbps
则80MB的全液晶仪表升级时间t:
t=80×103×8÷64=10000s≈167(分钟)
方式二:USB升级。
USB2.0标准理论速率480Mbps,80MB的全液晶仪表数据拷贝和解压操作,时间在3分钟内可以完成。
t≤3(分钟)
由以上两种方式的升级时间对比可知,对于升级包数据较大的控制器,USB接口复用技术是有重要和实际应用意义的。
本发明实施例可以借助USB开关(例如双向低功耗双端口高速USB2.0开关),用一个USB接口实现对两个控制器的升级,并且可以利用车载多媒体附带的USB接口来实现,只需要在设计之初,从硬件上设计好接口电路,并在软件上升级逻辑即可。
如图1所示,本实施例提供的车辆控制器的固件升级方法具体包括如下步骤:
S101、车载多媒体主机接收到用户触发的升级连通指令后,控制外接通用串行总线USB设备与所述升级连通指令对应的目标控制器连通。
其中,所述车载多媒体主机是指车载信息娱乐系统(In-Vehicle Infotainment,IVI)的主机。所述升级连通指令是指用户在所述车载多媒体主机的用户界面(UserInterface,UI)上触发的用于指定所述车载多媒体主机上的USB链路的连通对象的指令。可选地,用户可通过点击所述车载多媒体主机的UI界面上预设的升级连通图标或按钮来生成所述升级连通指令,以确定所述USB链路的连通对象。所述USB链路可以理解为所述车载多媒体主机的USB接口和连通对象之间的USB数据传输链路。可选地,对于两路输出的USB开关,所述连通对象可包括一个目标控制器以及所述车载多媒体本身。所述目标控制器是指支持USB协议且有固件升级需求和计划的车载控制器。
所述外接通用串行总线USB设备可以理解为可与所述车载多媒体主机的USB接口进行连接且具有存储功能的器件或设备。可选地,所述外接USB设备可以为U盘、移动硬盘等。
具体地,当用户在所述车载多媒体主机上通过点击升级连通图标或按钮后,所述车载多媒体主机接收相应的升级连通指令,并基于所述升级连通指令确定所述USB链路的连通对象为所述目标控制器,并控制所述外接USB设备在接入所述USB接口后通过所述USB链路与所述目标控制器连通。
S102、车载多媒体主机确认外接USB设备中的升级数据包满足升级条件时,向用户展示对应所述目标控制器的升级启动按钮。
可以理解的是,由于本发明实施例的固件升级为离线固件升级,故在对所述目标控制器进行固件升级之前,应先为所述目标控制器准备好相应版本的固件升级数据包,例如可以将所述固件升级数据包提前下载并存储到U盘中;而在所述U盘作为外接USB设备接入所述车载多媒体主机的USB接口并与所述目标控制器实现连通时,还需要对所述U盘中的固件升级数据包的有效性进行确认;可选地,由所述目标控制器对所述外接USB设备中的升级数据包进行固件校验,例如检查所述固件升级数据包是否完整或是否被损坏,以及是否与所述目标控制器匹配等,并向所述车载多媒体主机反馈固件校验结果。
其中,所述升级数据包是为所述目标控制器进行固件升级而准备的固件升级数据包,所述升级数据包存储在所述外接USB设备中。所述升级条件可以理解为所述升级数据包与所述目标控制器的匹配度,只有百分之百匹配的升级数据包才可实现对所述目标控制器的有效升级。
所述升级启动按钮是指设置在所述车载多媒体主机的UI界面上用于触发所述目标控制器的启动固件升级流程的按钮。
具体地,本步骤中所述车载多媒体主机可通过接收所述目标控制器对外接USB设备中的升级数据包进行固件校验的固件校验结果,来确认所述升级数据包是否满足升级条件,若固件校验成功,则确认满足升级条件,并向用户展示对应所述目标控制器的升级启动按钮。
S103、车载多媒体主机根据用户触发所述升级启动按钮生成固件升级指令,控制所述目标控制器基于所述升级数据包进行固件升级。
可以理解的是,由于对所述目标控制器的固件升级人机交互操作是在所述车载多媒体主机的UI界面上进行的,当用户触发所述升级启动按钮后,目标控制器并不是第一个接收到该触发指令的,而是需要所述车载多媒体主机生成相应的指令传递到所述目标控制器,以控制所述目标控制器开启固件升级流程。
其中,所述固件升级指令可以理解为由所述车载多媒体主机在用户触发所述升级启动按钮后生成的用于控制所述目标控制器开启固件升级流程的指令。
可选地,所述目标控制器在接收到所述车载多媒体主机发送的固件升级指令后,对所述升级数据包进行解压、覆盖安装,并在重启后完成固件升级。
本发明实施例通过车载多媒体主机实现将存储有车载控制器的固件升级数据包的外接USB设备与所述目标控制器连通,以实现通过USB对车载控制器进行固件升级,大大缩短了固件升级时间,有效提高了车辆控制器的固件升级效率,操作简单且不需要专业设备,解决了传统以CAN总线形式对车载控制器进行固件升级时,耗时长、效率低且需使用专业设备的问题;并且在车载控制器的开发联调、售后质量维护和功能迭代等任一阶段,采用本发明实施例上述固件升级方案对车载控制器进行固件升级时均不需要对车载控制器进行拆卸,既省时省力又可以避免车辆部件划痕、损伤等事情发生,实现了对汽车部件的零损伤,进一步节约了时间和人力资源消耗。
进一步地,作为本实施例一的一个可选实施例,本实施例一还将所述车载多媒体主机优化包括了:核心控制器、微控制器、显示屏、USB开关以及USB接口;
其中,所述核心控制器分别与所述微控制器、显示屏以及USB开关连接;所述微控制器分别与所述核心控制器及USB开关连接,并通过控制器局域网络CAN总线与所述目标控制器连接;所述显示屏与所述核心控制器连接;所述USB开关的使能端与所述微控制器连接,第一输出端通过第一USB链路连接到所述核心控制器连接,第二输出端通过第二USB链路连接到所述目标控制器连接;所述USB接口与所述USB开关的输入端连接。
所述核心控制器是指所述IVI系统的核心处理器,主要负责用户与车载多媒体主机在人机交互时的相关数据处理和指令接收、生成与下达。
所述微控制器集成在所述车载多媒体主机上,负责所述车载多媒体主机与其他车载设备间的数据通信和处理工作。
所述显示屏设置在所述车载多媒体主机上,用于显示UI界面,以实现用户与所述车载多媒体主机之间的人机交互。
所述USB开关是一个双向低功耗双端口高速USB2.0开关,可以理解为一个双刀双掷型数字开关,可将所述USB接口一分为二,提供两个可以切换选通的USB输出端口,分别对应连接两条USB链路。
所述USB接口为所述车载多媒体主机固有的车载USB接口。
可以理解的是,本发明实施例在于利用车载多媒体主机已有的USB接口,通过加设USB开关,实现对所述USB接口的共享,以最终实现通过USB对目标控制器进行固件升级;为此,相关的硬件接口电路,包括加设的USB开关是在整车设计、组装之初就已完成的,而核心控制器、微控制器、显示屏以及USB接口则是车载多媒体主机原本已集成的。本发明实施例硬件电路上的改进点在于在原有的USB接口与多媒体主机之间的USB链路上加设一个双向低功耗双端口高速USB2.0开关,使原有的USB链路作为第一USB链路连接USB开关的第一输出端与车载多媒体主机的核心控制器,以实现USB开关选通第一USB链路时,外接USB设备可以通过接入USB接口并经第一USB链路与车载多媒体主机连通;此外,本发明实施例还加设了第二USB链路连接USB开关的第二输出端与目标控制器,以实现USB开关选通第二USB链路时,外接USB设备可以通过接入USB接口并经第二USB链路与目标控制器连通。
可选地,对于两个及以上的待升级目标控制器,可通过在所述第二USB链路上增设多路选择器的方式来实现,也可以通过其他可以实现多路选择的方式实现,此处不做限定。需要说明的是,实现对两个及以上的待升级目标控制器进行切换升级的前提也是需要将相关硬件电路在整车设计时就设计好的。
本可选实施例对本发明实施例一的硬件实现电路进行了说明,使得本发明实施例一的方法可以基于上述硬件电路得以实现。
进一步地,作为本实施例一的另一个可选实施例,本实施例一还优化增加了:
所述车载多媒体主机接收所述目标控制器反馈的升级结果,若所述升级结果为成功,则向用户展示所述目标控制器的升级成功提示;否则,向用户展示所述目标控制器的升级失败提示。
可以理解的是,目标控制器通过将所述升级数据包解压、覆盖安装,并重启后完成固件升级,可选地,车载多媒体主机若接收到所述目标控制器反馈的“升级成功”消息,则向用户展示所述目标控制器的升级成功提示;若接收到所述目标控制器反馈的“升级失败”消息,则向用户展示所述目标控制器的升级失败提示。可选地,为防止所述目标控制器在固件升级时陷入死循环,而使得所述车载多媒体主机长时间接收不到任何反馈消息,还可以预设一个时间阈值,若在所述时间阈值内接收到所述目标控制器反馈的“升级成功”消息,则向用户展示所述目标控制器的升级成功提示;若在所述时间阈值内接收到所述目标控制器反馈的“升级失败”消息,或超过所述时间阈值后,没有检测到目标控制器的任何反馈消息,则向用户展示所述目标控制器的升级失败提示。
本可选实施例可向用户展示目标控制器是否升级成功的提示,进一步增加了用户体验。
实施例二
图2是本发明实施例二提供的一种车辆控制器的固件升级方法的流程示意图,本实施例在实施例一的基础上进一步优化。本实施例将所述车载多媒体主机接收到用户触发的升级连通指令后,控制外接通用串行总线USB设备与所述升级连通指令对应的目标控制器连通,具体化为:所述核心控制器在接收到用户通过所述显示屏触发生成的升级连通指令后,向所述微控制器发送连通切换指令;所述微控制器根据接收的连通切换指令生成第一使能信号,并发送至所述USB开关;所述USB开关根据接收的第一使能信号,控制所述外接USB设备通过所述第二USB链路与所述目标控制器连通。
本实施例还将所述车载多媒体主机确认外接USB设备中的升级数据包满足升级条件时,向用户展示对应所述目标控制器的升级启动按钮,具体化为:所述微控制器接收所述目标控制器对所述外接USB设备中的升级数据包进行固件校验的结果,若固件校验成功,则生成数据匹配信息,并发送至所述核心控制器;所述核心控制器接收到数据匹配信息后,控制所述显示屏向用户展示对应所述目标控制器的升级启动按钮。
本实施例还将所述车载多媒体主机根据用户触发所述升级启动按钮生成固件升级指令,控制所述目标控制器基于所述升级数据包进行固件升级,具体化为:所述核心控制器根据用户触发所述升级启动按钮生成启动升级指令,并发送至所述微控制器;所述微控制器接收到所述启动升级指令后,向所述目标控制器发送固件升级指令,以使所述目标控制器开启升级流程并基于所述固件校验成功的升级数据包完成固件升级。
如图2所示,本实施例提供的车辆控制器的固件升级方法具体包括如下步骤:
S201、所述核心控制器在接收到用户通过所述显示屏触发生成的升级连通指令后,向所述微控制器发送连通切换指令。
其中,所述连通切换指令是指所述核心控制器向所述微控制器发送的用于将所述当前连通对象切换至所述目标控制器的指令。
可以理解的是,在需要对目标控制器进行固件升级时,用户可通过在车载多媒体主机的显示屏上触发与所述目标控制器对应的升级连通图标或按钮以生成相应的升级连通指令,车载多媒体主机的核心控制器接收所述升级连通指令,并向所述微控制器发送连通切换指令,由微控制器控制所述USB开关对选通链路进行切换,以将所述当前连通对象切换至所述目标控制器。
可选地,所述核心控制器在向所述微控制器发送连通切换指令之前,可先对所述外接USB设备接入所述USB接口后的当前连通对象进行检测,以确认所述当前连通对象是否为所述升级连通指令对应的目标控制器,其中,所述当前连通对象可以是所述升级连通指令对应的目标控制器,也可以是所述车载多媒体主机本身,若待升级的目标控制器的数量大于等于两个,则所述当前连通对象还可以是所述升级连通指令对应的目标控制器以外的其他任意一个目标控制器;当所述核心控制器确认所述当前连通对象不为所述升级连通指令对应的目标控制器时,向所述微控制器发送连通切换指令。
S202、所述微控制器根据接收的连通切换指令生成第一使能信号,并发送至所述USB开关。
其中,所述第一使能信号为所述微控制器根据接收的连通切换指令生成的用于使所述USB开关选通所述目标控制器对应的USB输出端的使能信号。
可以理解的是,本发明实施例所用的USB开关为一个数字器件,具有一个USB输入端、两个USB输出端以及一个选通使能端,通过所述微控制器向所述USB开关的使能端发送相应的使能信号可实现对相应USB输出端的选通。
示例性地,以双向低功耗双端口高速USB2.0开关为例,本发明实施例提供的一种车辆控制器的固件升级方法硬件实现示例图如图3所示。
图3中,IVI-SOC为车载信息娱乐系统的核心处理器,该处理器支持USB协议;MCU为车载信息娱乐系统的核心微控制器,MCU与IVI-SOC通过串口进行通信;MUX-IC为多路选择芯片(即所述USB开关),该芯片集成在车载信息娱乐系统内部,MUX-IC与MCU通过I/O端口进行连接;OBJ-SOC为需要升级的目标控制器,其中IVI-SOC和OBJ-SOC通过USB数据线进行物理连接,电气原理上两控制器需要进行共地(GND)设计,以保证两路USB输出为同一个参考电压,从而保证USB数据的传输准确性。MUX-IC工作时的真值表如表1所示。
表1 MUX-IC真值表
Sel | /OE | Function |
× | 1 | Disconnect |
0 | 0 | D+,D-=HSD1+,HSD1- |
1 | 0 | D+,D-=HSD2+,HSD2- |
表1中,/OE为芯片的使能引脚,低电平(0)时芯片被使能,高电平(1)芯片被禁能,Sel为通道选通引脚,低电平(0)时USB通道接入IVI-SOC,高电平(1)USB通道接入OBJ-SOC,所以在无升级需求时,Sel引脚应工作在低电平状态。HSD1+和HSD1-对应的USB输出端即为所述第一输出端,相应的连接所述IVI-SOC的USB链路即为第一USB链路;HSD2+和HSD2-对应的USB输出端即为所述第二输出端,相应的连接所述OBJ-SOC的USB链路即为第二USB链路。
S203、所述USB开关根据接收的第一使能信号,控制所述外接USB设备通过所述第二USB链路与所述目标控制器连通。
可以理解的是,当所述USB开关根据所述第一使能信号选通与所述目标控制器对应的USB输出端后,即可在所述外接USB设备接入所述USB接口时通过所述第二USB链路与所述目标控制器连通。
S204、所述微控制器接收所述目标控制器对所述外接USB设备中的升级数据包进行固件校验的结果,若固件校验成功,则生成数据匹配信息,并发送至所述核心控制器。
其中,所述数据匹配信息可以理解为所述目标控制器判定所述外接USB设备中的升级数据包与所述目标控制器匹配成功,即固件校验成功,满足升级条件,可以进行所述目标控制器的固件升级。
可以理解是,所述目标控制器在完成固件校验后,将所述固件校验结果反馈至所述微控制器,若固件校验结果为成功,则所述微控制器生成数据匹配信息,并发送至所述核心控制器。
可选地,若固件校验失败,则所述微控制器生成数据失配信息,并发送至所述核心控制器。其中,所述数据失配信息可以理解为所述目标控制器判定所述外接USB设备中的升级数据包与所述目标控制器匹配失败,即固件校验失败,不满足升级条件,无法进行所述目标控制器的固件升级。
可选地,所述微控制器可以通过所述CAN总线向所述目标控制器发送固件校验指令,以使所述目标控制器获取所述外接USB设备中的升级数据包并根据所述升级数据包进行固件校验。
其中,所述固件校验指令是指所述微控制器在所述外接USB设备与所述目标控制器连通后,向所述目标控制器发送的用于对所述外接USB设备中的升级数据包进行校验,以确定所述升级数据包与所述目标控制器匹配的指令。
可选地,所述目标控制器在接收到所述固件校验指令后读取所述外接USB设备中的升级数据包,所述升级数据中包含所述目标控制器的待升级固件以及对应所述待升级固件的第一信息-摘要算法(message-digest algorithm 5,MD5)校验码,所述目标控制器运用所述MD5算法对所读取的待升级固件重新进行计算,生成第二MD5校验码,若所述第二MD5校验码与所述第一MD5校验码一致,则判定固件校验成功,即所述外接USB设备中的升级数据包满足升级条件;否则,则判定固件校验失败,即所述外接USB设备中的升级数据包不满足升级条件。
S205、所述核心控制器接收到数据匹配信息后,控制所述显示屏向用户展示对应所述目标控制器的升级启动按钮。
可以理解的是,所述核心控制器接收到所述接收到数据匹配信息后,控制所述显示屏向用户展示对应所述目标控制器的升级启动按钮,以提示用户可以对所述目标控制器开启固件升级。
示例性地,当核心控制器接收到所述接收到数据匹配信息(即固件校验成功)时,“升级启动按钮”对应的软按键高亮,用户点击时是有效的;当核心控制器接收到所述接收到数据匹配信息(即固件校验失败)时,“升级启动按钮”对应的软按键为灰色,用户点击时是无效的。
S206、所述核心控制器根据用户触发所述升级启动按钮生成启动升级指令,并发送至所述微控制器。
其中,所述启动升级指令可以理解为所述核心控制器在用户触发所述启动升级按钮后生成的用于指示所述微控制器用户已触发所述升级启动按钮,可以开启对所述目标控制器的固件升级流程。
S207、所述微控制器接收到所述启动升级指令后,向所述目标控制器发送固件升级指令,以使所述目标控制器开启升级流程并基于所述固件校验成功的升级数据包完成固件升级。
其中,所述固件升级指令是指所述微控制器接收到所述核心控制器发送的启动升级指令后,向所述目标控制器发送的用于指示所述目标控制器开启基于所述升级数据包的固件升级流程的指令。
S208、所述车载多媒体主机接收所述目标控制器反馈的升级结果,若所述升级结果为成功,则向用户展示所述目标控制器的升级成功提示;否则,向用户展示所述目标控制器的升级失败提示。
图4是本发明实施例二提供的一种车辆控制器的固件升级方法的流程示例图。如图4所示,对目标控制器进行固件升级时,将带有升级程序的U盘插入车载多媒体主机的USB接口,通过车载多媒体主机显示屏进行操作,当U盘内升级程序有效时,“升级”软按键高亮,此时用户点击有效;当U盘内升级程序无效时,“升级”软按键为灰色,此时用户点击无效;目标控制器开启升级流程后,将U盘作为一个标准的块设备挂载在目标控制器的文件系统目录下,并将U盘内的固件升级数据包解压到所述文件系统的指定路径下,之后目标控制器进行重新启动便可完成升级。
本发明实施例通过利用车载多媒体主机已有的USB接口,通过加设USB开关,实现对车载多媒体主机原有USB接口的共享,以最终实现通过USB对目标控制器进行固件升级,大大缩短了固件升级时间,有效提高了车辆控制器的固件升级效率,操作简单且不需要专业设备,解决了传统以CAN总线形式对车载控制器进行固件升级时,耗时长、效率低且需使用专业设备的问题;并且在车载控制器的开发联调、售后质量维护和功能迭代等任一阶段,采用本发明实施例上述固件升级方案对车载控制器进行固件升级时均不需要对车载控制器进行拆卸,既省时省力又可以避免车辆部件划痕、损伤等事情发生,实现了对汽车部件的零损伤,进一步节约了时间和人力资源消耗。
实施例三
图5是本发明实施例三提供的一种车辆控制器的固件升级系统的结构示意图,本实施例可适用于通过USB对车载控制器进行固件升级的情况,该系统包括:车载多媒体主机301、至少一个待升级的目标控制器302,以及通用串行总线USB设备303,
其中,车载多媒体主机301通过USB链路分别与各待升级的目标控制器302连接;车载多媒体主机301通过USB接口外接USB设备303。
车载多媒体主机301,用于接收到用户触发的升级连通指令后,控制USB设备303与所述升级连通指令对应的目标控制器302连通,以及确定USB设备303中的升级数据包满足升级条件时,向用户展示对应目标控制器302的升级启动按钮。
目标控制器302,用于获取USB设备303中的升级数据包,并进行固件校验,以及接收到车载多媒体主机301发送的固件升级指令后,基于所述升级数据包进行固件升级。
USB设备303,用于为目标控制器302提供用于进行固件升级的升级数据包。
可选地,车载多媒体主机301包括:核心控制器、微控制器、显示屏、USB开关以及USB接口,
其中,所述核心控制器分别与所述微控制器、显示屏以及USB开关连接;所述微控制器分别与所述核心控制器及USB开关连接,并通过控制器局域网络CAN总线与所述目标控制器连接;所述显示屏与所述核心控制器连接;所述USB开关的使能端与所述微控制器连接,第一输出端通过第一USB链路连接到所述核心控制器连接,第二输出端通过第二USB链路连接到所述目标控制器连接;所述USB接口与所述USB开关的输入端连接。
所述核心控制器,用于在接收到用户通过所述显示屏触发生成的升级连通指令后,向所述微控制器发送连通切换指令。
所述微控制器,用于根据接收的连通切换指令生成第一使能信号,并发送至所述USB开关。
所述USB开关,用于根据接收的第一使能信号,控制所述外接USB设备通过所述第二USB链路与所述目标控制器连通。
进一步地,所述微控制器,用于接收所述目标控制器对所述外接USB设备中的升级数据包进行固件校验的结果,若固件校验成功,则生成数据匹配信息,并发送至所述核心控制器。
进一步地,所述核心控制器,用于接收到数据匹配信息后,控制所述显示屏向用户展示对应所述目标控制器的升级启动按钮。
进一步地,所述核心控制器,用于根据用户触发所述升级启动按钮生成启动升级指令,并发送至所述微控制器;
进一步地,所述微控制器,用于所述微控制器接收到所述启动升级指令后,向所述目标控制器发送固件升级指令,以使所述目标控制器开启升级流程并基于所述固件校验成功的升级数据包完成固件升级。
可选地,车载多媒体主机301,还用于:
接收所述目标控制器反馈的升级结果,若所述升级结果为成功,则向用户展示所述目标控制器的升级成功提示;否则,向用户展示所述目标控制器的升级失败提示。
本发明实施例提供的一种车辆控制器的固件升级系统可执行本发明任一实施例所提供的车辆控制器的固件升级方法,具备执行方法相应的功能模块和有益效果。
实施例四
图6是本发明实施例四提供的一种车辆的结构示意图,该车辆包括:车载多媒体主机401、至少一个待升级的目标控制器402、通用串行总线USB设备403以及存储器404,
其中,车载多媒体主机401通过USB链路分别与各待升级的目标控制器402连接;车载多媒体主机401通过USB接口外接USB设备403;存储器404分别与车载多媒体主机401以及各待升级的目标控制器402连接。
存储器404作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的车辆控制器的固件升级方法对应的程序指令/模块(例如,车辆控制器的固件升级系统中的车载多媒体主机301、至少一个待升级的目标控制器302、通用串行总线USB设备303)。车载多媒体主机401以及各待升级的目标控制器402中的处理器通过运行存储在存储器404中的软件程序、指令以及模块,从而执行该车辆控制器的固件升级系统的各种功能应用以及数据处理,即实现上述的车辆控制器的固件升级方法。
存储器404可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器404可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器404可进一步包括相对于各处理器远程设置的存储器,这些远程存储器可以通过网络连接至该本地数据库的优化设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例提供的一种车辆可执行本发明任一实施例所提供的车辆控制器的固件升级方法,具备执行方法相应的功能模块和有益效果。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种车辆控制器的固件升级方法,该方法包括:
车载多媒体主机接收到用户触发的升级连通指令后,控制外接通用串行总线USB设备与所述升级连通指令对应的目标控制器连通;
车载多媒体主机确认外接USB设备中的升级数据包满足升级条件时,向用户展示对应所述目标控制器的升级启动按钮;
车载多媒体主机根据用户触发所述升级启动按钮生成固件升级指令,控制所述目标控制器基于所述升级数据包进行固件升级。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的车辆控制器的固件升级方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述车辆控制器的固件升级系统的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (8)
1.一种车辆控制器的固件升级方法,其特征在于,包括:
车载多媒体主机接收到用户触发的升级连通指令后,控制外接通用串行总线USB设备与所述升级连通指令对应的目标控制器连通;
车载多媒体主机确认外接USB设备中的升级数据包满足升级条件时,向用户展示对应所述目标控制器的升级启动按钮;
车载多媒体主机根据用户触发所述升级启动按钮生成固件升级指令,控制所述目标控制器基于所述升级数据包进行固件升级;
其中,所述车载多媒体主机包括:核心控制器、微控制器、显示屏、USB开关以及USB接口;
其中,所述核心控制器分别与所述微控制器、显示屏以及USB开关连接;所述微控制器分别与所述核心控制器及USB开关连接,并通过控制器局域网络CAN总线与所述目标控制器连接;所述显示屏与所述核心控制器连接;所述USB开关的使能端与所述微控制器连接,第一输出端通过第一USB链路连接到所述核心控制器连接,第二输出端通过第二USB链路连接到所述目标控制器连接;所述USB接口与所述USB开关的输入端连接;
其中,所述车载多媒体主机接收到用户触发的升级连通指令后,控制外接通用串行总线USB设备与所述升级连通指令对应的目标控制器连通,包括:
所述核心控制器在接收到用户通过所述显示屏触发生成的升级连通指令后,向所述微控制器发送连通切换指令;
所述微控制器根据接收的连通切换指令生成第一使能信号,并发送至所述USB开关;
所述USB开关根据接收的第一使能信号,控制所述外接USB设备通过所述第二USB链路与所述目标控制器连通。
2.根据权利要求1所述的方法,其特征在于,所述车载多媒体主机确认外接USB设备中的升级数据包满足升级条件时,向用户展示对应所述目标控制器的升级启动按钮,包括:
所述微控制器接收所述目标控制器对所述外接USB设备中的升级数据包进行固件校验的结果,若固件校验成功,则生成数据匹配信息,并发送至所述核心控制器;
所述核心控制器接收到数据匹配信息后,控制所述显示屏向用户展示对应所述目标控制器的升级启动按钮。
3.根据权利要求2所述的方法,其特征在于,所述车载多媒体主机根据用户触发所述升级启动按钮生成固件升级指令,控制所述目标控制器基于所述升级数据包进行固件升级,包括:
所述核心控制器根据用户触发所述升级启动按钮生成启动升级指令,并发送至所述微控制器;
所述微控制器接收到所述启动升级指令后,向所述目标控制器发送固件升级指令,以使所述目标控制器开启升级流程并基于所述固件校验成功的升级数据包完成固件升级。
4.根据权利要求1-2任一项所述的方法,其特征在于,还包括:
所述车载多媒体主机接收所述目标控制器反馈的升级结果,若所述升级结果为成功,则向用户展示所述目标控制器的升级成功提示;否则,向用户展示所述目标控制器的升级失败提示。
5.一种车辆控制器的固件升级系统,其特征在于,包括:车载多媒体主机、至少一个待升级的目标控制器,以及通用串行总线USB设备,
其中,所述车载多媒体主机通过USB链路分别与各待升级的目标控制器连接;所述车载多媒体主机通过USB接口外接所述USB设备;
所述车载多媒体主机,用于接收到用户触发的升级连通指令后,控制所述USB设备与所述升级连通指令对应的目标控制器连通,以及确认所述USB设备中的升级数据包满足升级条件时,向用户展示对应所述目标控制器的升级启动按钮;
所述目标控制器,用于对所述USB设备中的升级数据包进行固件校验,并在接收到所述车载多媒体主机发送的固件升级指令后,基于所述升级数据包进行固件升级;
所述USB设备,用于为所述目标控制器提供用于进行固件升级的升级数据包;
其中,所述多媒体主机包括:核心控制器、微控制器、显示屏、USB开关以及USB接口;
其中,所述核心控制器分别与所述微控制器、显示屏以及USB开关连接;所述微控制器分别与所述核心控制器及USB开关连接,并通过控制器局域网络CAN总线与所述目标控制器连接;所述显示屏与所述核心控制器连接;所述USB开关的使能端与所述微控制器连接,第一输出端通过第一USB链路连接到所述核心控制器连接,第二输出端通过第二USB链路连接到所述目标控制器连接;所述USB接口与所述USB开关的输入端连接;
所述核心控制器,用于在接收到用户通过所述显示屏触发生成的升级连通指令后,向所述微控制器发送连通切换指令;
所述微控制器,用于根据接收的连通切换指令生成第一使能信号,并发送至所述USB开关;
所述USB开关,用于根据接收的第一使能信号,控制所述外接USB设备通过所述第二USB链路与所述目标控制器连通。
6.根据权利要求5所述的系统,其特征在于,所述车载多媒体主机,还用于:
接收所述目标控制器反馈的升级结果,若所述升级结果为成功,则向用户展示所述目标控制器的升级成功提示;否则,向用户展示所述目标控制器的升级失败提示。
7.一种车辆,其特征在于,包括:车载多媒体主机、至少一个待升级的目标控制器、通用串行总线USB设备以及存储器,
其中,所述车载多媒体主机通过USB链路分别与各所述待升级的目标控制器连接;所述车载多媒体主机通过USB接口外接所述USB设备;所述存储器分别与所述车载多媒体主机以及各所述待升级的目标控制器连接;
所述存储器,用于存储一个或多个程序;
所述一个或多个程序被所述车载多媒体主机执行,实现如权利要求1-4任一项所述的车辆控制器的固件升级方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4任一项所述的车辆控制器的固件升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910730732.9A CN110908682B (zh) | 2019-08-08 | 2019-08-08 | 一种车辆控制器的固件升级方法、系统、车辆和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910730732.9A CN110908682B (zh) | 2019-08-08 | 2019-08-08 | 一种车辆控制器的固件升级方法、系统、车辆和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110908682A CN110908682A (zh) | 2020-03-24 |
CN110908682B true CN110908682B (zh) | 2022-09-20 |
Family
ID=69814420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910730732.9A Active CN110908682B (zh) | 2019-08-08 | 2019-08-08 | 一种车辆控制器的固件升级方法、系统、车辆和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110908682B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522766B (zh) * | 2020-04-27 | 2022-03-01 | 浙江大华技术股份有限公司 | 一种通信系统及其方法、装置、设备及存储介质 |
CN112214229B (zh) * | 2020-09-11 | 2022-04-29 | 东风汽车集团有限公司 | 一种基于usb通信的车辆多控制器软件升级的系统、方法和车辆 |
CN112256337B (zh) * | 2020-10-23 | 2023-09-12 | 广州小鹏汽车科技有限公司 | 一种车载娱乐系统的升级方法和车辆 |
CN113282324A (zh) * | 2021-06-10 | 2021-08-20 | 华帝股份有限公司 | 插拔式洗碗机及其插拔式升级方法 |
CN114124401B (zh) * | 2021-11-02 | 2023-11-17 | 佛吉亚歌乐电子(丰城)有限公司 | 一种数据鉴权方法、装置、设备及存储介质 |
CN115242633B (zh) * | 2022-06-23 | 2024-04-09 | 惠州华阳通用电子有限公司 | 一种基于usb以太网的车载设备升级方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182072A (zh) * | 2017-12-28 | 2018-06-19 | 上汽通用五菱汽车股份有限公司 | 车辆电子设备的远程升级方法、服务器及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150100633A1 (en) * | 2013-10-07 | 2015-04-09 | CloudCar Inc. | Modular in-vehicle infotainment architecture with upgradeable multimedia module |
CN205230034U (zh) * | 2015-12-25 | 2016-05-11 | 数源科技股份有限公司 | 基于车载电脑的升级结构 |
CN106325962A (zh) * | 2016-09-29 | 2017-01-11 | 未来汽车科技(深圳)有限公司 | 一种交通工具软件更新方法及交通工具软件更新装置 |
CN109815177B (zh) * | 2017-11-20 | 2020-10-20 | 厦门雅迅网络股份有限公司 | 一种车载内置tf地图数据更新电路及方法 |
CN108132796A (zh) * | 2018-01-10 | 2018-06-08 | 吉利汽车研究院(宁波)有限公司 | 一种组合仪表的升级方法及装置 |
CN108762783B (zh) * | 2018-05-21 | 2021-12-14 | 腾讯科技(深圳)有限公司 | 车辆系统的软件更新方法、装置及车辆系统 |
-
2019
- 2019-08-08 CN CN201910730732.9A patent/CN110908682B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182072A (zh) * | 2017-12-28 | 2018-06-19 | 上汽通用五菱汽车股份有限公司 | 车辆电子设备的远程升级方法、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110908682A (zh) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110908682B (zh) | 一种车辆控制器的固件升级方法、系统、车辆和存储介质 | |
US20110307639A1 (en) | Virtual serial port management system and method | |
CN110825411B (zh) | Tws耳机系统的升级方法、设备及计算机可读存储介质 | |
WO2022213641A1 (zh) | 进程接替的方法、装置、电子设备及存储介质 | |
CN105468302A (zh) | 一种处理数据的方法、装置及系统 | |
US20170163787A1 (en) | Method and electronic device for upgrading or downgrading system | |
CN113553081A (zh) | 一种基于zynq芯片的fpga加载方法 | |
CN107480023A (zh) | 一种磁盘故障注入的方法及系统 | |
CN111159090B (zh) | 一种信息处理方法、装置和电子设备 | |
CN114064091A (zh) | Ota升级控制方法、装置、电子设备及自动驾驶车辆 | |
WO2024007800A1 (zh) | 云终端系统升级方法、装置、云终端和存储介质 | |
CN106844206B (zh) | 移动终端中调试多系统的方法及装置 | |
US20220147040A1 (en) | Electronic Control Device and Method for Setting Control Data | |
CN109522174B (zh) | 控制adb使能的方法、装置、终端及存储介质 | |
WO2023051315A1 (zh) | 应用控制方法、装置、电子设备及存储介质 | |
CN113272785A (zh) | 一种挂载文件系统的方法、终端设备及存储介质 | |
CN114546444A (zh) | 车辆升级方法、装置、电子设备、介质及自动驾驶车辆 | |
CN113660123B (zh) | 虚拟交换机升级方法、装置、电子设备以及存储介质 | |
US11523467B2 (en) | Group control device | |
CN114185804A (zh) | 一种接口测试方法、装置及终端设备 | |
CN105763944B (zh) | 模块电视及其屏端升级方法 | |
CN112035127B (zh) | 安装应用的方法、装置、车辆、存储介质以及电子设备 | |
CN112615916A (zh) | 文件部署方法、装置、电子设备以及存储介质 | |
CN112073505A (zh) | 在云服务器上进行卸载的方法、控制装置、存储介质 | |
CN112116733A (zh) | 车辆蓝牙钥匙的备份及获取方法、系统、及电子设备 |
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 |