一种汽车仪表软件升级的方法与流程

文档序号:14727208发布日期:2018-06-19 11:50阅读:631来源:国知局

本发明涉及一种仪表软件升级的方法,特别是涉及一种汽车仪表软件升级的方法及系统。



背景技术:

仪表端由各种仪表、指示器、以及驾驶员警示灯和报警器等组成,为驾驶员提供汽车运行参数信息。汽车仪表根据工作原理可大致分为三代,第一代仪表端是机械机芯表;第二代汽车仪表称为电气式仪表;第三代为全数字汽车仪表,它是一种网络化、智能化的仪表,其功能更加强大,显示内容更加丰富,线束链接更加简单。

第三代全数字汽车仪表中的全液晶仪表,其仪表界面丰富形象,显示内容多元化,同时软件升级的需求频次很高。目前,若需要更新汽车仪表软件,只能依赖专业的软件和操作人员,或者返回到4S店进行升级,一般不能通过usb或者网络对其进行升级,极大地限制了汽车仪表软件的更新,不利于全液晶汽车仪表的普及,用户体验非常不好。



技术实现要素:

本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了汽车仪表软件升级的方法及系统。

为了实现本发明的上述目的,根据本发明的第一个方面,本发明提供了一种汽车仪表软件升级的方法,包括:

S1,中控端从插入USB接口的存储设备中获取仪表升级包,或者通过T-box从网络下载获取仪表升级包;

S2,中控端对仪表升级包进行加密运算获得第一密文,计算仪表升级包长度得到第一长度,发送升级请求、第一密文和第一长度至仪表端;

S3,仪表端中的升级检测程序检测并接受升级请求后与中控端建立通信连接,接收第一密文和第一长度;

S4,中控端发送仪表升级包给仪表端,仪表端接收仪表升级包的同时计算已接收数据的长度得到第二长度,并基于第二长度进行接收完成判断:若第二长度小于第一长度,接收未完成,继续接收;若第二长度大于等于第一长度,接收完成,停止接收,进入步骤S5;

S5,仪表端对接收的仪表升级包进行相同的加密运算获得第二密文,基于第二密文对接收的仪表升级包进行正确判断:

若第二密文与第一密文相同,则判断接收的仪表升级包是正确的,进入步骤S6,否则判断接收的仪表升级包是错误的,删除接收的仪表升级包,进入仪表端的升级检测程序,等待新的升级请求;

S6,仪表端解压仪表升级包中的升级标志位,根据升级标志位的值判断升级对象,所述升级对象至少包括仪表端的主处理器和协处理器;

若升级标志位的值代表升级主处理器,删除原配置和原应用程序,解压仪表升级包中的升级应用程序至指定文件夹下,配置升级应用程序执行权限,升级成功,仪表端重启;

若升级标志位的值代表升级协处理器,解压仪表升级包中的升级应用程序至指定文件夹下,主处理器发送升级应用程序至协处理器,主处理器等待协处理器返回升级状态,若返回升级成功或升级失败,或者超过设定时间没有回复,仪表端重启;

若升级标志位的值代表升级主处理器和协处理器,删除原配置和原应用程序,解压仪表升级包中的升级应用程序至指定文件夹下,配置升级应用程序执行权限,主处理器升级完成,主处理器发送升级应用程序至协处理器,主处理器等待协处理器返回升级状态,若返回升级成功或升级失败,或者超过设定时间没有回复,仪表端重启。

本方法实现了仪表的升级不依赖于专业的设备和人员,只需要一个利用如U盘、手机等外界存储设备或者网络,就可以完成仪表的升级,极大的提高了仪表的升级效率,降低了对仪表升级的要求。同时,仪表端对接收的仪表升级包进行长度和密文检测,确保仪表端获得的升级包正确性,避免因传输错误或意外掉电等引起的升级失败导致的仪表端软件运行故障,提高了软件升级的安全性、可靠性和稳定性。另外,利用升级标志位区分仪表端的主处理器和协处理升级,避免出错,进一步提高了软件升级的成功率,并且通过主处理器处理协处理的升级,不占用中控端资源,便于系统管理。

在本发明的另一种优选实施方式中,在所述S4步骤中,中控端和仪表端按帧发送和接收仪表升级包。

按帧接收便于按帧计算接收的仪表升级包长度,通过数据帧的帧尾校验验证该数据帧的正确性。

在本发明的再一种优选实施方式中,在所述S4步骤中,仪表端每接收一帧仪表升级包数据,计算一次接收的仪表升级包数据的长度获得第二长度。

可利用数据帧中的数据长度进行叠加计算获得接收的仪表升级包数据的长度,便于计算。

在本发明的再一种优选实施方式中,所述协处理器至少有一个,每个协处理器对应一个升级标志位值。

每个协处理器单独分配一个升级标志位值,便于快速升级,避免升级错误。

在本发明的再一种优选实施方式中,所述中控端与仪表端通过USB网络连接通信。

USB网络传输速率高,控制简单,易操作。

在本发明的再一种优选实施方式中,在所述S4步骤中,仪表端在接收中控端发送的仪表升级包的过程中,定时或不定时的检测与中控端的连接状态,若连接完好,继续接收仪表升级包,删除已接收的仪表升级包数据,重新配置与中控端的通信网络,进入仪表端的升级检测程序,等待新的升级请求。

及时获知传输情况,避免因传输意外中断,仪表端持续等待中控端发送数据的情况,耗费仪表端资源。

在本发明的再一种优选实施方式中,所述S1步骤还包括:

S11,当中控端USB接口插入外接存储设备时,扫描存储设备内的文件,查找是否包含仪表升级包,若包含仪表升级包,读取该仪表升级包的版本信息,进入步骤S12;若不包含,等待新的外接存储设备插入;

和/或通过T-box检测网站上是否有新版本的仪表升级包发布,若有,获取新仪表升级包的版本信息,进入步骤S12;若没有,定时或不定时检测网站上是否有新版本的仪表升级包发布;

S12,中控端从仪表端获取仪表的主处理器和/或协处理器的版本信息,并判断该版本信息是否低于S11步骤中获取到的版本信息,若不低于,返回S11步骤;若低于,擦除升级文件夹中内容,从存储设备中拷贝或网络上下载仪表升级包并写入升级文件夹中,中控端获得仪表升级包;

所述升级文件夹位于中控端的存储器中,用于存储从插入USB接口的存储设备中获取的仪表升级包,或者存储通过T-box网络下载获取的仪表升级包。

自动检测和拷贝外接存储设备中的仪表升级包,或者自动从网络下载仪表升级包,自动化程度高,不需专业员和设备参与,简化了汽车仪表升级应用程序,便于操作。

根据本发明的第二个方面,本发明提供了一种汽车仪表软件升级的的系统,包括存储设备、汽车中控设备、T-box和全液晶汽车仪表;所述存储设备与汽车中控设备通过USB接口连接,所述汽车中控设备与全液晶汽车仪表通过USB网络通信连接;

所述T-box输入端与汽车中控设备通信输出端连接,T-box输出端与汽车应用服务器无线连接;

所述全液晶汽车仪表包括主处理器和至少一个协处理器,所述主处理器与协处理通过串口通信连接;

所述存储设备至少包括手机、U盘或硬盘之一;

所述中控设备和全液晶汽车仪表按照上述任一方法进行全液晶汽车仪表升级。

本系统实现了仪表的升级不依赖于专业的设备和人员,只需要一个利用如U盘、手机等外界存储设备,或者网络,就可以完成仪表的升级,极大的提高了仪表的升级效率,降低了对仪表升级的要求。同时,仪表端对接收的仪表升级包进行长度和密文检测,确保仪表端获得的升级包正确性,避免因传输错误引起的升级失败导致的仪表端软件运行故障,提高了软件升级的安全性、可靠性和稳定性。另外,利用升级标志位区分仪表端的主处理器和协处理升级,避免出错,进一步提高了软件升级的成功率,并且通过主处理器处理协处理的升级,不占用中控端资源,便于系统管理。

附图说明

图1是本发明一种汽车仪表软件升级的方法的一具体实施方式的流程框图;

图2是本发明一种汽车仪表软件升级的方法的一具体实施方式的详细流程图;

图3是是本发明一种汽车仪表软件升级的系统的一具体实施方式的系统框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。

本发明公开了一种汽车仪表软件升级的方法,图1所示为一优选实施方式中该方法的流程框图,包括:

S1,获取仪表升级包步骤:中控端从插入USB接口的存储设备中获取仪表升级包,或者通过T-box从网络下载获取仪表升级包;

在本实施方式中,网络是为汽车提供服务的应用服务器的网站客户端,网站客户端上有最新发布的仪表升级包下载连接。存储设备可为带有USB接口的手机、U盘或者其他移动存储设备。T-box为Telematics BOX的简称,为远程信息处理器,主要用于和后台系统/手机APP通信,实现手机APP的车辆信息显示与控制。

S2,发送升级请求和相关信息步骤:中控端对仪表升级包进行加密运算获得第一密文,计算仪表升级包长度得到第一长度,发送升级请求、第一密文和第一长度至仪表端;

在本实施方式中,加密运算使用的算法可为信息摘要发,如MD5或者哈希算法。第一长度可为仪表升级包的字节数或者占用的存储空间大小。

S3,仪表端和中控端建立连接步骤:仪表端中的升级检测程序检测并接受升级请求后与中控端建立通信连接,接收第一密文和第一长度;

在本实施方式中,仪表端和中控端通过USB网络通信,中控端为主设备,仪表端为从设备。在仪表端设置有升级检测程序,可通过仪表端的USB模块函数实现,实时或轮询的方法监测仪表端的USB接口是否有接收到中控端的请求。仪表端接收到第一秘闻和第一长度后将两者存储于其内部的存储器中。

S4,传送仪表升级包步骤:中控端发送仪表升级包给仪表端,仪表端接收仪表升级包的同时计算已接收数据的长度得到第二长度,并基于第二长度进行接收完成判断:若第二长度小于第一长度,接收未完成,继续接收;若第二长度大于等于第一长度,接收完成,停止接收,进入步骤S5;

S5,判断仪表升级包正确性步骤:仪表端对接收的仪表升级包进行相同的加密运算获得第二密文,基于第二密文对接收的仪表升级包进行正确判断:

若第二密文与第一密文相同,则判断接收的仪表升级包是正确的,进入步骤S6,否则判断接收的仪表升级包是错误的,删除接收的仪表升级包,进入仪表端的升级检测程序,等待新的升级请求;

S6,仪表升级步骤:仪表端解压仪表升级包中的升级标志位,根据升级标志位的值判断升级对象,升级对象至少包括仪表端的主处理器和协处理器;

若升级标志位的值代表升级主处理器,删除原配置和原应用程序,解压仪表升级包中的升级应用程序至指定文件夹下,配置升级应用程序执行权限,升级成功,仪表端重启;

若升级标志位的值代表升级协处理器,解压仪表升级包中的升级应用程序至指定文件夹下,主处理器发送升级应用程序至协处理器,主处理器等待协处理器返回升级状态,若返回升级成功或升级失败,或者超过设定时间没有回复,仪表端重启;

若升级标志位的值代表升级主处理器和协处理器,删除原配置和原应用程序,解压仪表升级包中的升级应用程序至指定文件夹下,配置升级应用程序执行权限,主处理器升级完成,主处理器发送升级应用程序至协处理器,主处理器等待协处理器返回升级状态,若返回升级成功或升级失败,或者超过设定时间没有回复,仪表端重启。

在本实施方式中,不管仪表的主处理器和/或协处理器的升级是成功或者失败,或者协处理器升级超时,均需要重启仪表端。在S6中,指定文件夹位于仪表端存储器中,文件名可固定,文件存放地址可固定也可解压仪表升级包时随机指定;当升级完成后可自动删除该指定文件夹;原应用程序或升级应用程序存放在固定的仪表启动调用程序位置。在S6中,协处理器接收到升级应用程序后,删除协处理器端的原配置和原应用程序,并将升级应用程序写入原应用程序的存储位置,写入完成后,配置该升级应用程序执行权限,则返回升级成功至主处理器,若该过程中执行失败,则返回升级失败至主处理器。设定时间可为3秒。

在本发明的一种优选实施方式中,在S4步骤中,中控端和仪表端按帧发送和接收仪表升级包。

在本实施方式中,每帧数据的大小可为50kbit。帧数据包括帧头head,数据大类type,数据小类sub_type,数据长度len,有效数据data,帧尾校验tail;中控端发送每发一帧数据给仪表端,仪表端接收到该帧数据后,寻找帧头head,然后取type和sub_type来判断数据类型,之后根据len取到帧尾校验tail,如果帧尾校验正确,说明该帧数据完整且有效,保存此帧数据,否则该帧数据无效,丢弃此帧数据。

在本发明的一种优选实施方式中,在S4步骤中,仪表端每接收一帧仪表升级包数据,计算一次接收的仪表升级包数据的长度获得第二长度。

在本实施方式中,可以将接收到的有效的帧数据中,每帧数据中的长度值累加作为已接收到的仪表升级包的总长度,即第二长度。

在本发明的一种优选实施方式中,协处理器至少有一个,每个协处理器对应一个升级标志位值。

在本实施方式中,中控端可给所有汽车仪表中的主处理器和协处理器分别设置一个数值作为升级标记位值,可为数字或字母,以及字母或数字的任意组合。

在本发明的一种优选实施方式中,中控端与仪表端通过USB网络连接通信。

在本实施方式中,中控端为主设备,仪表端为从设备。

在本发明的一种优选实施方式中,在S4步骤中,仪表端在接收中控端发送的仪表升级包的过程中,定时或不定时的检测与中控端的连接状态,若连接完好,继续接收仪表升级包,若连接断开,则接收仪表升级包失败,删除已接收的仪表升级包数据,重新配置与中控端的通信网络,进入仪表端的升级检测程序,等待新的升级请求。

在本实施方式中,中控端和仪表端通过USB网络连接,其连接状态判断方法可为:中控端和仪表端每330ms各发送一个心跳包给对方,如果超过3s没有收到对方的心跳包,说明中控端和仪表端之间的连接已断开,如果断开,则需要重新进行usb网络配置,删除已接收的仪表升级包数据,等待下一次的握手连接。

在本发明的一种优选实施方式中,S1步骤还包括:

S11,当中控端USB接口插入外接存储设备时,扫描存储设备内的文件,查找是否包含仪表升级包,若包含仪表升级包,读取该仪表升级包的版本信息,进入步骤S12;若不包含,等待新的外接存储设备插入;

和/或通过T-box检测网站上是否有新版本的仪表升级包发布,若有,获取新仪表升级包的版本信息,进入步骤S12;若没有,定时或不定时检测网站上是否有新版本的仪表升级包发布;

S12,中控端从仪表端获取仪表的主处理器和/或协处理器的版本信息,并判断该版本信息是否低于S11步骤中获取到的版本信息,若不低于,返回S11步骤;若低于,擦除升级文件夹中内容,从存储设备中拷贝或网络上下载仪表升级包并写入升级文件夹中,中控端获得仪表升级包;

升级文件夹位于中控端的存储器中,用于存储从插入USB接口的存储设备中获取的仪表升级包,或者存储通过T-box网络下载获取的仪表升级包。

在本实施方式中,中控端查找外接存储设备是否包含仪表升级包的方法为:通过文件扩展名查找存储设备中的文件是否有压缩包文件,若有,进一步查找该压缩包文件中是否有升级标志位,若没有,认为存储设备中没有仪表压缩包;若压缩包文件中有升级标志位,则进一步判断升级标志位的值是否代表仪表端的主处理器和/或协处理器,若是代表仪表端的主处理器和/或协处理器,认为该压缩包文件为仪表升级包。优选的,在升级文件夹中存储的升级软件包与仪表端的当前使用软件版本对应,就无需从仪表端获取当前使用版本信息,便于快速判断。优选的,过T-box接收来自用户的命令去网站上查找新版本后下载。

图2所示为本发明汽车仪表软件升级的方法一优选实施方式的详细流程图,在该实施方式中,插入中控端的外接存储设备为U盘,对升级数据包进行加密运算的算法为MD5算法,详细过程为:

中控端检测到插入USB接口的U盘中含有仪表升级包且其版本高于当前仪表端运行版本后,下载仪表升级包至中控端的升级文件夹中;或者通过T-box连接到相关网站下载发布的高版本的仪表升级包;之后通过USB网络向仪表端发送升级请求,同时计算仪表升级包的长度save_len,利用MD5加密短发计算获得仪表升级包的MD5值save_md5_str。

仪表端的升级检测函数检测并接受升级请求之后,接收并保存save_md5_str和save_len,中控端开始发送仪表升级包数据,仪表端开始接收仪表升级包数据,并仪表升级包数据写入到update.zip。

中控端每次发送50k的数据给仪表,然后仪表端请求中控端发送下一帧数据,并计算已接收的数据的长度total_len,重复执行直到仪表升级包数据全部发送完成。仪表端在接收仪表升级包数据的过程中,判断和中控端的连接是否完好,如果连接断开则接收仪表升级包update.zip失败,通过升级检测函数重新等待升级请求;如果连接完好则继续接收仪表升级包update.zip,直到接收到的仪表升级包的长度total_len>=save_len表示接收数据完成,若total_len<save_len,表示升级包还没有接收完成,继续请求下一帧数据。

接收数据完成之后,仪表端计算接收的仪表升级包update.zip的md5值generate_md5_str,并将generate_md5_str和获得的save_md5_str做比较;如果两个md5值相等表示接收的升级包正确,否则接收升级包错误,通过升级检测函数重新等待升级请求。

接收到正确的升级包之后,开始解压update.zip中的升级标志位update_conf;根据升级标志位判断是升级主处理器cpu的应用程序和/或者升级协处理器mcu的应用程序:

(1)如果update_conf=0x01,表示升级主处理器cpu的程序;解压缩升级包update.zip到仪表端存储器中指定文件夹下,主处理器cpu的引导程序取消原应用程序的执行权限并擦除原应用程序,并将指定文件夹中的升级应用程序写入原应用程序位置,写入完成,并配置升级应用程序执行权限,则升级成功,若取消配置、擦除、写入或配置过程中失败,则认为升级不成功,引导程序重新进行擦除和覆盖操作,升级成功和失败后仪表端均重启;

(2)如果update_conf=0x04,表示只升级协处理器mcu的程序;解压缩update.zip到仪表端存储器中指定文件夹下,主处理器cpu通过串口发送解压后的升级应用程序给协处理器mcu,协处理器mcu在引导程序下取消原应用程序的执行权限并擦除原应用程序,并将接收的升级应用程序写入原应用程序位置,写入完成,并配置升级应用程序执行权限,则升级成功,若取消配置、擦除、写入或配置过程中失败,则认为升级不成功,返回升级成功或失败信息至主处理器cpu,或者主处理器cpu在发送升级应用程序3秒后仍未获取到返回信息,认为升级超时,均需重启仪表端。

(3)如果update_conf=0x05,表示既升级主处理器cpu的程序又升级协处理器mcu的程序。解压缩update.zip到仪表端存储器中指定文件夹下,引导程序取消主处理器cpu端原应用程序的执行权限并擦除原应用程序,并将接收的升级应用程序写入原应用程序位置,写入完成,并配置升级应用程序执行权限,则主处理器cpu升级成功,若取消配置、擦除、写入或配置过程中失败,则认为主处理器cpu升级失败;协处理器mcu在引导程序下取消原应用程序的执行权限并擦除原应用程序,并将接收的升级应用程序写入原应用程序位置,写入完成,并配置升级应用程序执行权限,则升级成功,若取消配置、擦除、写入或配置过程中失败,则认为升级不成功,返回升级成功或失败信息至主处理器cpu,或者主处理器cpu在发送升级应用程序3秒后仍未获取到返回信息,认为升级超时,均需重启仪表端。

本发明还公开了一种汽车仪表软件升级的系统,图3所示为其一种优选实施方式中的系统框图。系统包括存储设备、汽车中控设备、T-box和全液晶汽车仪表;存储设备与汽车中控设备通过USB接口连接,汽车中控设备与全液晶汽车仪表通过USB网络通信连接;

T-box输入端与汽车中控设备通信输出端连接,T-box输出端与汽车应用服务器无线连接;

全液晶汽车仪表包括主处理器和至少一个协处理器,主处理器与协处理通过串口通信连接;

存储设备至少包括手机、U盘或硬盘之一;

中控设备和全液晶汽车仪表按照上述任一方法进行全液晶汽车仪表升级。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1