专利名称: | 一种远程升级整车车载控制器软件的系统及升级方法 | ||
专利名称(英文): | A remote upgrade the vehicle onboard controller system and method for upgrading software | ||
专利号: | CN201510960180.2 | 申请时间: | 20151217 |
公开号: | CN105589719A | 公开时间: | 20160518 |
申请人: | 广州汽车集团股份有限公司 | ||
申请地址: | 510030 广东省广州市越秀区东风中路448-458号成悦大厦23楼 | ||
发明人: | 张斌; 冉光伟; 黄少堂 | ||
分类号: | G06F9/445; H04L29/08 | 主分类号: | G06F9/445 |
代理机构: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 黄晓庆 |
摘要: | 本发明涉及一种远程升级整车车载控制器软件的系统及升级方法。所述方法包括步骤:接收服务器发送的总线升级命令,根据所述总线升级命令确定待升级的车载控制器;从存储的各文件升级包中获取待升级的车载控制器对应的文件升级包;获取所述文件升级包的文件包数据;将预升级指令发送给所有的车载控制器;接收所有的车载控制器根据所述预升级指令返回的预升级指令执行结果;在预升级指令执行结果为成功时,将获取的所述文件包数据发送给待升级的车载控制器。本发明不需要将OBD口盖板拆除就可以实现整车车载控制器软件的远程升级。 | ||
摘要(英文): | The present invention relates to a remote upgrade the vehicle onboard controller system and method for upgrading software. The method comprises the steps of : receiving server sends the upgrading command of the bus, is determined according to said bus to be upgraded upgrading command vehicle-mounted controller; file staging from the memory of the vehicle to be upgraded bao Zhong obtaining the file update packet corresponding to the controller; obtaining the document data file packet of update packet; pre-promotion instruction will be sent to all of the vehicle-mounted controller; receiving all of the vehicle-mounted control device, according to the pre-upgrade instruction execution result of the return of instruction pre-promotion ; pre-promotion execution result of the instruction is successful, the package of documents of the obtained data is transmitted to a vehicle-mounted controller to be upgraded. This invention does not need to remove the cover board OBD vehicle onboard controller can realize the remote upgrade of the software. |
1.一种远程升级整车车载控制器软件的升级方法,其特征在于,包括步骤: 接收服务器发送的总线升级命令,根据所述总线升级命令确定待升级的车 载控制器; 从存储的各文件升级包中获取待升级的车载控制器对应的文件升级包; 获取所述文件升级包的文件包数据; 将预升级指令发送给所有的车载控制器,其中所述预升级指令用于关闭所 有的车载控制器的应用报文、网络管理报文及故障检测功能; 接收所有的车载控制器根据所述预升级指令返回的预升级指令执行结果; 在预升级指令执行结果为成功时,将获取的所述文件包数据发送给待升级 的车载控制器。
2.根据权利要求1所述的远程升级整车车载控制器软件的升级方法,其特 征在于,接收服务器发送的总线升级命令之前,还包括步骤: 接收服务器发送的连接指令,根据所述连接指令与所述服务器建立连接; 接收所述服务器发送的文件包数据,对所述文件包数据进行解析和校验; 在校验通过时,根据解析的信息在所述文件包数据上添加预设格式的文件 包包头信息,得到文件升级包并进行存储。
3.根据权利要求1所述的远程升级整车车载控制器软件的升级方法,其特 征在于: 所述文件升级包还包括文件包包头,从存储的各文件升级包中获取待升级 的车载控制器对应的文件升级包之后,获取所述文件升级包的文件包数据之前, 还包括步骤:对获取的所述文件升级包的文件包包头进行解析和核对; 在核对的结果为正确时,获取所述文件升级包的文件包数据。
4.根据权利要求3所述的远程升级整车车载控制器软件的升级方法,其特 征在于,所述文件包包头包括:文件包头CRC、文件包中的文件数量、文件包 中的各文件的类型、各文件的CID、各文件CRC、各文件的地址和大小; 对获取的所述文件升级包的文件包包头进行解析和核对,在核对的结果为 正确时,获取所述文件升级包的文件包数据的步骤包括: 解析所述文件包包头,获取文件包头CRC,根据文件包头CRC校验文件包 包头的完整性; 在文件包包头完整时,获取各文件CRC,根据各文件CRC校验各文件的完 整性; 在各文件完整时,获取文件包中的文件数量和文件包中的各文件的类型, 根据文件包中的文件数量和文件包中的各文件的类型获取文件的信息; 通过各文件的CID校验文件包中的各文件的关联性; 在各文件之间存在关联性时,根据各文件的地址和大小获取各文件数据, 得到文件包数据。
5.根据权利要求1至4任意一项所述的远程升级整车车载控制器软件的升 级方法,其特征在于,将获取的所述文件包数据发送给待升级的车载控制器之 后,还包括步骤: 接收待升级的车载控制器根据所述文件包数据返回的数据接收结果; 在数据接收结果为成功时,将复位指令发送给所有的车载控制器,其中所 述复位指令用于将所有车载控制器的应用报文、网络管理报文及故障检测功能 进行复位; 接收所有的车载控制器根据所述复位指令返回的复位指令执行结果; 根据所述复位指令执行结果将待升级的车载控制器软件的升级结果发送给 服务器。
6.一种远程升级整车车载控制器软件的系统,其特征在于,包括: 车载控制器选择模块,用于接收服务器发送的总线升级命令,根据所述总 线升级命令确定待升级的车载控制器; 文件升级包获取模块,用于从存储的各文件升级包中获取待升级的车载控 制器对应的文件升级包; 文件包数据获取模块,用于获取所述文件升级包的文件包数据; 预升级指令发送模块,用于将预升级指令发送给所有的车载控制器,其中 所述预升级指令用于关闭所有的车载控制器的应用报文、网络管理报文及故障 检测功能; 预升级结果接收模块,用于接收所有的车载控制器根据所述预升级指令返 回的预升级指令执行结果; 升级模块,用于在预升级指令执行结果为成功时,将获取的所述文件包数 据发送给待升级的车载控制器。
7.根据权利要求6所述的远程升级整车车载控制器软件的系统,其特征在 于,还包括连接指令接收模块、文件包数据接收模块和文件包包头添加模块, 所述连接指令接收模块依次通过所述文件包数据接收模块和文件包包头添加模 块与所述车载控制器选择模块相连接; 连接指令接收模块,用于接收服务器发送的连接指令,根据所述连接指令 与所述服务器建立连接; 文件包数据接收模块,用于接收所述服务器发送的文件包数据,对所述文 件包数据进行解析和校验; 文件包包头添加模块,用于在校验通过时,根据解析的信息在所述文件包 数据上添加预设格式的文件包包头信息,得到文件升级包并进行存储。
8.根据权利要求6所述的远程升级整车车载控制器软件的系统,其特征在 于: 所述文件升级包还包括文件包包头,还包括连接在所述文件升级包获取模 块和所述文件包数据获取模块之间的包头解析和核对模块,所述包头解析和核 对模块对获取的所述文件升级包的文件包包头进行解析和核对; 所述文件包数据获取模块在核对的结果为正确时,获取所述文件升级包的 文件包数据。
9.根据权利要求8所述的远程升级整车车载控制器软件的系统,其特征在 于,所述文件包包头包括:文件包头CRC、文件包中的文件数量、文件包中的 各文件的类型、各文件的CID、各文件CRC、各文件的地址和大小; 所述包头解析和核对模块包括: 文件包头CRC获取单元,用于解析所述文件包包头,获取文件包头CRC, 根据文件包头CRC校验文件包包头的完整性; 各文件CRC获取单元,用于在文件包包头完整时,获取各文件CRC,根据 各文件CRC校验各文件的完整性; 文件数据和类型获取单元,用于在各文件完整时,获取文件包中的文件数 量和文件包中的各文件的类型,根据文件包中的文件数量和文件包中的各文件 的类型获取文件的信息; 关联性校验单元,用于通过各文件的CID校验文件包中的各文件的关联性; 所述文件包数据获取模块在各文件之间存在关联性时,根据各文件的地址 和大小获取各文件数据,得到文件包数据。
10.根据权利要求6至9任意一项所述的远程升级整车车载控制器软件的 系统,其特征在于,还包括与所述升级模块依次相连的文件包数据升级结果接 收模块、复位指令发送模块、复位结果接收模块和升级结果发送模块; 文件包数据升级结果接收模块,用于接收待升级的车载控制器根据所述文 件包数据返回的数据接收结果; 复位指令发送模块,用于在数据接收结果为成功时,将复位指令发送给所 有的车载控制器,其中所述复位指令用于将所有车载控制器的应用报文、网络 管理报文及故障检测功能进行复位; 复位结果接收模块,用于接收所有的车载控制器根据所述复位指令返回的 复位指令执行结果; 升级结果发送模块,用于根据所述复位指令执行结果将待升级的车载控制 器软件的升级结果发送给服务器。
1.一种远程升级整车车载控制器软件的升级方法,其特征在于,包括步骤: 接收服务器发送的总线升级命令,根据所述总线升级命令确定待升级的车 载控制器; 从存储的各文件升级包中获取待升级的车载控制器对应的文件升级包; 获取所述文件升级包的文件包数据; 将预升级指令发送给所有的车载控制器,其中所述预升级指令用于关闭所 有的车载控制器的应用报文、网络管理报文及故障检测功能; 接收所有的车载控制器根据所述预升级指令返回的预升级指令执行结果; 在预升级指令执行结果为成功时,将获取的所述文件包数据发送给待升级 的车载控制器。
2.根据权利要求1所述的远程升级整车车载控制器软件的升级方法,其特 征在于,接收服务器发送的总线升级命令之前,还包括步骤: 接收服务器发送的连接指令,根据所述连接指令与所述服务器建立连接; 接收所述服务器发送的文件包数据,对所述文件包数据进行解析和校验; 在校验通过时,根据解析的信息在所述文件包数据上添加预设格式的文件 包包头信息,得到文件升级包并进行存储。
3.根据权利要求1所述的远程升级整车车载控制器软件的升级方法,其特 征在于: 所述文件升级包还包括文件包包头,从存储的各文件升级包中获取待升级 的车载控制器对应的文件升级包之后,获取所述文件升级包的文件包数据之前, 还包括步骤:对获取的所述文件升级包的文件包包头进行解析和核对; 在核对的结果为正确时,获取所述文件升级包的文件包数据。
4.根据权利要求3所述的远程升级整车车载控制器软件的升级方法,其特 征在于,所述文件包包头包括:文件包头CRC、文件包中的文件数量、文件包 中的各文件的类型、各文件的CID、各文件CRC、各文件的地址和大小; 对获取的所述文件升级包的文件包包头进行解析和核对,在核对的结果为 正确时,获取所述文件升级包的文件包数据的步骤包括: 解析所述文件包包头,获取文件包头CRC,根据文件包头CRC校验文件包 包头的完整性; 在文件包包头完整时,获取各文件CRC,根据各文件CRC校验各文件的完 整性; 在各文件完整时,获取文件包中的文件数量和文件包中的各文件的类型, 根据文件包中的文件数量和文件包中的各文件的类型获取文件的信息; 通过各文件的CID校验文件包中的各文件的关联性; 在各文件之间存在关联性时,根据各文件的地址和大小获取各文件数据, 得到文件包数据。
5.根据权利要求1至4任意一项所述的远程升级整车车载控制器软件的升 级方法,其特征在于,将获取的所述文件包数据发送给待升级的车载控制器之 后,还包括步骤: 接收待升级的车载控制器根据所述文件包数据返回的数据接收结果; 在数据接收结果为成功时,将复位指令发送给所有的车载控制器,其中所 述复位指令用于将所有车载控制器的应用报文、网络管理报文及故障检测功能 进行复位; 接收所有的车载控制器根据所述复位指令返回的复位指令执行结果; 根据所述复位指令执行结果将待升级的车载控制器软件的升级结果发送给 服务器。
6.一种远程升级整车车载控制器软件的系统,其特征在于,包括: 车载控制器选择模块,用于接收服务器发送的总线升级命令,根据所述总 线升级命令确定待升级的车载控制器; 文件升级包获取模块,用于从存储的各文件升级包中获取待升级的车载控 制器对应的文件升级包; 文件包数据获取模块,用于获取所述文件升级包的文件包数据; 预升级指令发送模块,用于将预升级指令发送给所有的车载控制器,其中 所述预升级指令用于关闭所有的车载控制器的应用报文、网络管理报文及故障 检测功能; 预升级结果接收模块,用于接收所有的车载控制器根据所述预升级指令返 回的预升级指令执行结果; 升级模块,用于在预升级指令执行结果为成功时,将获取的所述文件包数 据发送给待升级的车载控制器。
7.根据权利要求6所述的远程升级整车车载控制器软件的系统,其特征在 于,还包括连接指令接收模块、文件包数据接收模块和文件包包头添加模块, 所述连接指令接收模块依次通过所述文件包数据接收模块和文件包包头添加模 块与所述车载控制器选择模块相连接; 连接指令接收模块,用于接收服务器发送的连接指令,根据所述连接指令 与所述服务器建立连接; 文件包数据接收模块,用于接收所述服务器发送的文件包数据,对所述文 件包数据进行解析和校验; 文件包包头添加模块,用于在校验通过时,根据解析的信息在所述文件包 数据上添加预设格式的文件包包头信息,得到文件升级包并进行存储。
8.根据权利要求6所述的远程升级整车车载控制器软件的系统,其特征在 于: 所述文件升级包还包括文件包包头,还包括连接在所述文件升级包获取模 块和所述文件包数据获取模块之间的包头解析和核对模块,所述包头解析和核 对模块对获取的所述文件升级包的文件包包头进行解析和核对; 所述文件包数据获取模块在核对的结果为正确时,获取所述文件升级包的 文件包数据。
9.根据权利要求8所述的远程升级整车车载控制器软件的系统,其特征在 于,所述文件包包头包括:文件包头CRC、文件包中的文件数量、文件包中的 各文件的类型、各文件的CID、各文件CRC、各文件的地址和大小; 所述包头解析和核对模块包括: 文件包头CRC获取单元,用于解析所述文件包包头,获取文件包头CRC, 根据文件包头CRC校验文件包包头的完整性; 各文件CRC获取单元,用于在文件包包头完整时,获取各文件CRC,根据 各文件CRC校验各文件的完整性; 文件数据和类型获取单元,用于在各文件完整时,获取文件包中的文件数 量和文件包中的各文件的类型,根据文件包中的文件数量和文件包中的各文件 的类型获取文件的信息; 关联性校验单元,用于通过各文件的CID校验文件包中的各文件的关联性; 所述文件包数据获取模块在各文件之间存在关联性时,根据各文件的地址 和大小获取各文件数据,得到文件包数据。
10.根据权利要求6至9任意一项所述的远程升级整车车载控制器软件的 系统,其特征在于,还包括与所述升级模块依次相连的文件包数据升级结果接 收模块、复位指令发送模块、复位结果接收模块和升级结果发送模块; 文件包数据升级结果接收模块,用于接收待升级的车载控制器根据所述文 件包数据返回的数据接收结果; 复位指令发送模块,用于在数据接收结果为成功时,将复位指令发送给所 有的车载控制器,其中所述复位指令用于将所有车载控制器的应用报文、网络 管理报文及故障检测功能进行复位; 复位结果接收模块,用于接收所有的车载控制器根据所述复位指令返回的 复位指令执行结果; 升级结果发送模块,用于根据所述复位指令执行结果将待升级的车载控制 器软件的升级结果发送给服务器。
翻译:技术领域
本发明涉及汽车技术领域,特别是涉及一种远程升级整车车载控制器软件 的系统及升级方法。
背景技术
目前通过网络服务器、Internet网(互联网)、无线数据传输技术可以实现数 据的无线数传,终端设备可以访问服务器、浏览网页新闻、收听网络音乐等等, 例如可以通过智能手机访问网络,下载网络的应用,为系统开发奠定了技术基 础。随着2G(Generationwirelesstelephonetechnology,手机通信技术规格)、3G、 4G等无数数据传输技术的成熟,汽车电子与无线通信技术相结合的Telematics (应用无线通信技术的车载电脑系统)技术在国内外得到了广泛的重视、研究 和发展,基于Telematics技术的车载终端系统正在被开发,目前已经可以实现车 载终端程序的远程升级。
CAN(ControllerAreaNetwork,控制器局域网络)总线技术在汽车行业得 到大量运用,建立了车载控制器之间或外部通信、诊断的通道,还可以利用该 技术进行软件升级。目前车载控制器软件的升级方式一般为:车主将车开到车 厂4S(整车销售Sale、零配件Sparepart、售后服务Service、信息反馈Survey 店,车厂4S店拆卸OBD(On-BoardDiagnostic,车载诊断系统)口盖板,通过 诊断仪连接OBD口利用CAN总线软件升级技术进行软件升级。
上述车载控制器软件的升级方式存在以下缺点:
1、车载控制器软件无法像车载终端一样实现远程升级,车主需要将车开到 车场4S店进行车载控制器软件升级,软件升级不方便,效率低;
2、需要拆卸OBD口盖板进行软件升级,增加了内饰被刮花的风险,并且 容易引起汽车其它部件的故障。
发明内容
基于此,有必要针对上述问题,提供一种远程升级整车车载控制器软件的 系统及升级方法,能够实现整车车载控制器的远程升级。
一种远程升级整车车载控制器软件的升级方法,包括步骤:接收服务器发 送的总线升级命令,根据所述总线升级命令确定待升级的车载控制器;从存储 的各文件升级包中获取待升级的车载控制器对应的文件升级包;获取所述文件 升级包的文件包数据;将预升级指令发送给所有的车载控制器,其中所述预升 级指令用于关闭所有的车载控制器的应用报文、网络管理报文及故障检测功能; 接收所有的车载控制器根据所述预升级指令返回的预升级指令执行结果;在预 升级指令执行结果为成功时,将获取的所述文件包数据发送给待升级的车载控 制器。
一种远程升级整车车载控制器软件的系统,包括:车载控制器选择模块, 用于接收服务器发送的总线升级命令,根据所述总线升级命令确定待升级的车 载控制器;文件升级包获取模块,用于从存储的各文件升级包中获取待升级的 车载控制器对应的文件升级包;文件包数据获取模块,用于获取所述文件升级 包的文件包数据;预升级指令发送模块,用于将预升级指令发送给所有的车载 控制器,其中所述预升级指令用于关闭所有的车载控制器的应用报文、网络管 理报文及故障检测功能;预升级结果接收模块,用于接收所有的车载控制器根 据所述预升级指令返回的预升级指令执行结果;升级模块,用于在预升级指令 执行结果为成功时,将获取的所述文件包数据发送给待升级的车载控制器。
本发明一种远程升级整车车载控制器软件的系统及升级方法,存储有各个 文件升级包,根据接收到的总线升级命令确定需要进行升级的车载控制器,根 据该车载控制器选取对应的文件升级包,获取该文件升级包的文件包数据,关 闭所有车载控制器的应用报文、网络管理报文及故障检测功能,将该文件包数 据发送给待升级的车载控制器实现整车车载控制器软件的远程升级。本发明可 以实现整车车载控制器软件的远程升级,车主不需要将车开到4S店,在有网络 的情况下随时随地都可以进行车载控制器的软件升级,便捷性及效率高,节省 了车主时间,降低了维修工时费用;不需要将OBD口盖板拆除就可以进行整车 车载控制器软件刷新,降低了内饰被刮花的风险,不会引起汽车其它部件的故 障。
附图说明
图1为本发明远程升级整车车载控制器软件的升级方法实施例的流程示意 图;
图2为本发明文件升级包的结构示意图;
图3为本发明远程升级系统实施例的结构示意图;
图4为本发明远程升级交互过程时序图;
图5为本发明远程升级整车车载控制器软件的系统实施例一的结构示意图;
图6为本发明远程升级整车车载控制器软件的系统实施例二的结构示意图;
图7为本发明远程升级整车车载控制器软件的系统实施例三的结构示意图;
图8为本发明包头解析和核对模块实施例的结构示意图;
图9为本发明远程升级整车车载控制器软件的系统实施例四的结构示意图。
具体实施方式
为了更好的理解本发明要解决的技术问题、采取的技术方案以及达到的技 术效果,下面结合附图对本发明的具体实施方式做详细描述。
如图1所示,一种远程升级整车车载控制器软件的升级方法,包括步骤:
S110、接收服务器发送的总线升级命令,根据所述总线升级命令确定待升 级的车载控制器;
S120、从存储的各文件升级包中获取待升级的车载控制器对应的文件升级 包;
S130、获取所述文件升级包的文件包数据;
S140、将预升级指令发送给所有的车载控制器,其中所述预升级指令用于 关闭所有的车载控制器的应用报文、网络管理报文及故障检测功能;
S150、接收所有的车载控制器根据所述预升级指令返回的预升级指令执行 结果;
S160、在预升级指令执行结果为成功时,将获取的所述文件包数据发送给 待升级的车载控制器。
本发明方法可以在车载终端上实现。车载终端上存储有各个文件升级包, 各个文件升级包分别与各车载控制器对应,即一个车载控制器对应于一个文件 升级包,各个文件升级包一般不相同。各个文件升级包可以通过远程通信方式 从服务器下载到车载终端,例如,在一个实施例中,步骤S110的接收服务器发 送的总线升级命令之前,还可以包括步骤:
接收服务器发送的连接指令,根据所述连接指令与所述服务器建立连接;
接收所述服务器发送的文件包数据,对所述文件包数据进行解析和校验;
在校验通过时,根据解析的信息在所述文件包数据上添加预设格式的文件 包包头信息,得到文件升级包并进行存储。
通过对文件包数据的校验,可以保证文件包数据被正确完整接收。文件包 包头信息对文件包类型、标识、CRC(循环冗余校验码值)、大小等属性进行定 义,通过这些属性使车载终端能够确认数据经过无线传输后的完整性、一致性。
服务器,例如TSP(TelematicsServiceProvider,汽车远程服务提供商)服 务器,可以通过振铃通知车载终端连接服务器,其中振铃时间大于预设时间, 例如5分钟等。服务器上注册有VIN(车辆识别码)、SN(序列号)等,当车载 终端接收到连接指令时,根据所述连接指令验证该车载终端的VIN、SN等是否 已经在服务器上进行注册,如果注册,则车载终端通过安全认证与服务器建立 连接。
车载终端和服务器建立连接后,服务器将文件包数据发送给该车载终端。 为了保证文件包数据下载时的安全性,车辆需要在静止状态,即车速为0km/h (千米/小时)。在一个实施例中,对所述文件包数据进行解析和校验的步骤可以 包括:
解析所述文件包数据的文件包大小;
解析所述文件包数据的文件号、包序号和文件CRC;
校验所述文件包数据的数据包CRC;
校验所述文件包数据的包序号。
在CRC校验通过,文件包数据被正确、完整接收时,根据解析的信息在所 述文件包数据上添加预设格式的文件包包头信息,得到文件升级包。文件升级 包包括文件包包头和文件包数据。如图2所示,为本发明自定义的文件升级包 的结构示意图。下面结合图2对文件包包头和文件包数据的各个部分进行简单 介绍:
文件包包头包括:文件包头CRC(FilePackHeadCRC),用于校验文件包 包头是否正确;文件包中的文件数量(FileNumber);文件包大小(FilePackSize); 预留位(Res);文件升级包包括的各文件的信息(图2示例了三个文件:FileID 0、FileID1、FileID2)。各文件的信息分别包括:文件的类型(FileType),包 括应用程序,标定数据和驱动;文件的CID(compareidentification,文件关联 比较标识信息),用于表示驱动程序与应用程序、标定数据的关联关系;文件CRC (FileCRC);文件的地址(FileAddr)和大小(FileSize)。
文件包数据包括各个文件数据,图2示例了对应的三个文件数据:File Data0、FileData1和FileData2。各个文件数据中:DCID表示数据标志符,SWV 表示软件版本号,SWPN表示零件号,NOAR表示地址段数量,AR表示段地址, LR表示段长度。另外,FileSize0表示ID为0的文件的大小,FileSize1表示ID 为1的文件的大小,FileSize2表示ID为2的文件的大小。AR1表示第一个段 的地址,LR1表示第一个段的长度,以此类推。
需要说明的是,图2的文件升级包的结构仅为一个具体实施例,在该文件 升级包基础上做的任何改变均在本发明的保护范围之内。
车载终端将得到的各个文件升级包存储在内部的存储模块,例如Flash中。 服务器主动下发总线升级命令,或者用户根据自身需求,通知服务器下发总线 升级命令。为了保证升级的安全性和有效性,总线升级命令一般在车辆静止时 进行下发。下发的总线升级命令包括被刷车载控制器的信息,车载终端接收到 服务器下发的总线升级命令后,根据总线升级命令确定被刷车载控制器。车载 终端存储有各个文件升级包,各个文件升级包与各车载控制器之间有对应关系。 车载终端根据各个文件升级包与各车载控制器的对应关系,寻找到该被刷车载 控制器对应的文件升级包。
车载终端获取到对应的文件升级包后,需要对该文件升级包进行核对,以 避免后续采用错误的文件数据对车载控制器进行升级。所以,在一个实施例中, 所述文件升级包还包括文件包包头,从存储的各文件升级包中获取待升级的车 载控制器对应的文件升级包之后,获取所述文件升级包的文件包数据之前,还 可以包括步骤:对获取的所述文件升级包的文件包包头进行解析和核对。在核 对的结果为正确时,获取所述文件升级包的文件包数据。
在一个实施例中,对获取的所述文件升级包的文件包包头进行解析和核对, 在核对的结果为正确时,获取所述文件升级包的文件包数据的步骤可以包括:
解析所述文件包包头,获取文件包头CRC,根据文件包头CRC校验文件包 包头的完整性;
在文件包包头完整时,获取各文件CRC,根据各文件CRC校验各文件的完 整性;
在各文件完整时,获取文件包中的文件数量和文件包中的各文件的类型, 根据文件包中的文件数量和文件包中的各文件的类型获取文件的信息;
通过各文件的CID校验文件包中的各文件的关联性;
在各文件之间存在关联性时,根据各文件的地址和大小获取各文件数据, 得到文件包数据。
车载终端获取到文件包数据后,向所有的车载控制器发送预升级指令,以 关闭所有的车载控制器的应用报文、网络管理报文及故障检测功能,避免影响 被刷车载控制器的升级,为被刷车载控制器降低总线负载。所有的车载控制器 执行预升级完成后,车载终端即可以将获取的文件包数据发送给被刷车载控制 器,被刷车载控制器进入刷新模式,进行软件的升级。在一个实施例中,将获 取的所述文件包数据发送给待升级的车载控制器之后,还可以包括步骤:
接收待升级的车载控制器根据所述文件包数据返回的数据接收结果;
在数据接收结果为成功时,将复位指令发送给所有的车载控制器,其中所 述复位指令用于将所有车载控制器的应用报文、网络管理报文及故障检测功能 进行复位;数据接收结果为车载控制器是否正确和完整接收文件包数据;
接收所有的车载控制器根据所述复位指令返回的复位指令执行结果;
根据所述复位指令执行结果将待升级的车载控制器软件的升级结果发送给 服务器。
为了更好的理解本发明实现的方式,下面结合TSP服务器、车载终端和车 载控制器的系统框图以及它们之间的交互示意图进行详细说明。
如图3所示,本发明远程升级系统包含:TSP服务器、车载终端、车载控 制器,其中图3仅对一个车载控制器进行示意,其它各个车载控制器均未在图3 中画出。TSP服务器包括:能够连接Internet的电脑及显示系统,用于文件包数 据的存储、总线升级指令的建立及下发、升级过程的监控、升级结果的确认等 等。车载终端包括:中央处理器、各收发器、无线收发模块、数据存储模块Flash 和电源,其中电源给中央处理器供电,中央处理器通过无线收发模块与TSP服 务器建立连接进行数据通信,例如接收文件包数据等,数据存储模块用于保存 接收的文件包数据和添加了文件包包头的各文件升级包,中央处理器利用各收 发器与车载控制器进行数据交互。本发明的方法可以通过相应的程序在中央处 理器上实现。车载控制器包括整车各路CANECU(电子控制单元),车载控制 器通过CAN总线与车载终端相连接。
如图4所示,为本发明远程升级时服务器、车载终端和车载控制器(仅实 例出了被刷车载控制器,其它车载控制器未示意)之间的交互时序图,具体为:
S1、TSP服务器振铃通知车载终端连接TSP服务器;
S2、通过安全验证的车载终端与TSP服务器建立连接;
S3、TSP服务器将文件包数据下发给车载终端;
S4、车载终端的中央处理器通过无线收发模块接收文件包数据,并对文件 包数据进行解析和校验,在通过校验的文件包数据上添加文件包包头信息,得 到文件升级包并将该文件升级包存储到内部的Flash中。在接收文件包数据的同 时,中央处理器将文件包数据接收的进度和结果反馈给TSP服务器。若校验出 文件包数据有误,中央处理器停止接收文件包数据;
S5、TSP服务器将总线升级命令主动下发给车载终端,或者在车主电话通 知TSP服务器后,TSP服务器将总线升级命令下发给车载终端;
S6、车载终端的中央控制器根据总线升级命令判断被刷车载控制器信息, 根据被刷车载控制器信息确定对应的文件升级包,对该文件升级包进行核对, 在核对无误后,读取文件包数据,然后通过各收发器向所有的车载控制器发送 预升级指令;
S7、所有的车载控制器将预升级指令执行结果反馈给车载终端;
S8、若预升级指令执行结果为所有的车载控制器均成功关闭其功能,车载 终端的中央处理器将读取的文件包数据通过各收发器发送被刷车载控制器,进 行CAN刷新;
S9、被刷车载控制器向车载终端反馈CAN刷新的结果;
S10、若CAN刷新的结果为被刷车载控制器正确完整接收文件包数据,车 载终端的中央处理器通过各收发器向所有的车载控制器发送复位指令;
S11、所有的车载控制器根据复位命令恢复正常功能,将复位命令的执行结 果反馈给车载终端;
S12、车载终端将被刷车载控制器的最终的升级结果反馈给TSP服务器。
基于同一发明构思,本发明还提供一种远程升级整车车载控制器软件的系 统,下面结合附图对本发明系统的具体实施方式做详细描述。
如图5所示,一种远程升级整车车载控制器软件的系统,包括:
车载控制器选择模块110,用于接收服务器发送的总线升级命令,根据所述 总线升级命令确定待升级的车载控制器;
文件升级包获取模块120,用于从存储的各文件升级包中获取待升级的车载 控制器对应的文件升级包;
文件包数据获取模块130,用于获取所述文件升级包的文件包数据;
预升级指令发送模块140,用于将预升级指令发送给所有的车载控制器,其 中所述预升级指令用于关闭所有的车载控制器的应用报文、网络管理报文及故 障检测功能;
预升级结果接收模块150,用于接收所有的车载控制器根据所述预升级指令 返回的预升级指令执行结果;
升级模块160,用于在预升级指令执行结果为成功时,将获取的所述文件包 数据发送给待升级的车载控制器。
本发明系统可以在车载终端上实现。车载终端上存储有各个文件升级包, 各个文件升级包分别与各车载控制器对应,各个文件升级包一般不相同。各个 文件升级包可以通过远程通信方式从服务器下载到车载终端,例如,在一个实 施例中,如图6所示,本发明系统还可以包括连接指令接收模块170、文件包数 据接收模块180和文件包包头添加模块190,所述连接指令接收模块170依次通 过所述文件包数据接收模块180和文件包包头添加模块190与所述车载控制器 选择模块110相连接;
连接指令接收模块170,用于接收服务器发送的连接指令,根据所述连接指 令与所述服务器建立连接;
文件包数据接收模块180,用于接收所述服务器发送的文件包数据,对所述 文件包数据进行解析和校验;
文件包包头添加模块190,用于在校验通过时,根据解析的信息在所述文件 包数据上添加预设格式的文件包包头信息,得到文件升级包并进行存储。
服务器,例如TSP服务器,可以通过振铃通知车载终端连接服务器,其中 振铃时间大于预设时间。服务器上注册有VIN、SN等,当连接指令接收模块170 接收到连接指令时,根据所述连接指令验证该车载终端的VIN、SN等是否已经 在服务器上进行注册,如果注册,则通过安全认证与服务器建立连接。
与服务器建立连接后,服务器将文件包数据发送给该车载终端。为了保证 文件包数据下载时的安全性,车辆需要在静止状态。在一个实施例中,所述文 件包数据接收模块180可以包括:解析单元,用于解析所述文件包数据的文件 包大小、文件号、包序号和文件CRC;校验单元,用于校验所述文件包数据的 数据包CRC和包序号。
在CRC校验通过,文件包数据被正确、完整接收时,文件包包头添加模块 190根据解析的信息在所述文件包数据上添加预设格式的文件包包头信息,得到 文件升级包。文件升级包包括文件包包头和文件包数据。下面结合图2对文件 包包头和文件包数据的各个部分进行简单介绍:
文件包包头包括:文件包头CRC(FilePackHeadCRC),用于校验文件包 包头是否正确;文件包中的文件数量(FileNumber);文件包大小(FilePackSize); 预留位(Res);文件升级包包括的各文件的信息(图2示例了三个文件:FileID 0、FileID1、FileID2)。各文件的信息分别包括:文件的类型(FileType),包 括应用程序,标定数据和驱动;文件的CID(FileCID),用于表示驱动程序与 应用程序、标定数据的关联关系;文件CRC(FileCRC);文件的地址(FileAddr) 和大小(FileSize)。
文件包数据包括各个文件数据,图2示例了对应的三个文件数据:File Data0、FileData1和FileData2。各个文件数据中:DCID表示数据标志符,SWV 表示软件版本号,SWPN表示零件号,NOAR表示地址段数量,AR表示段地址, LR表示段长度。另外,FileSize0表示ID为0的文件的大小,FileSize1表示ID 为1的文件的大小,FileSize2表示ID为2的文件的大小。AR1表示第一个段 的地址,LR1表示第一个段的长度,以此类推。
需要说明的是,图2的文件升级包的结构仅为一个具体实施例,在该文件 升级包基础上做的任何改变均在本发明的保护范围之内。
车载终端将得到的各个文件升级包存储在内部的存储模块,例如Flash中。 服务器主动下发总线升级命令,或者用户根据自身需求,通知服务器下发总线 升级命令。为了保证升级的安全性和有效性,总线升级命令一般在车辆静止时 进行下发。车载控制器选择模块110接收到服务器下发的总线升级命令后,判 断被刷车载控制器的信息,文件升级包获取模块120根据被刷车载控制器的信 息寻找到该被刷车载控制器对应的文件升级包。
文件升级包获取模块120获取到对应的文件升级包后,需要对该文件升级 包进行核对,以避免后续采用错误的文件数据对车载控制器进行升级。在一个 实施例中,如图7所示,本发明系统还可以包括连接在所述文件升级包获取模 块120和所述文件包数据获取模块130之间的包头解析和核对模块200,所述包 头解析和核对模块200对获取的所述文件升级包的文件包包头进行解析和核对。 所述文件包数据获取模块130在核对的结果为正确时,获取所述文件升级包的 文件包数据。
在一个实施例中,如图8所示,所述包头解析和核对模块200可以包括:
文件包头CRC获取单元2001,用于解析所述文件包包头,获取文件包头 CRC,根据文件包头CRC校验文件包包头的完整性;
各文件CRC获取单元2002,用于在文件包包头完整时,获取各文件CRC, 根据各文件CRC校验各文件的完整性;
文件数据和类型获取单元2003,用于在各文件完整时,获取文件包中的文 件数量和文件包中的各文件的类型,根据文件包中的文件数量和文件包中的各 文件的类型获取文件的信息;
关联性校验单元2004,用于通过各文件的CID校验文件包中的各文件的关 联性;
所述文件包数据获取模块130在各文件之间存在关联性时,根据各文件的 地址和大小获取各文件数据,得到文件包数据。
文件包数据获取模块130获取到文件包数据后,预升级指令发送模块140 向所有的车载控制器发送预升级指令,以关闭所有的车载控制器的应用报文、 网络管理报文及故障检测功能,避免影响被刷车载控制器的升级,为被刷车载 控制器降低总线负载。所有的车载控制器执行预升级完成后,升级模块160即 可以将获取的文件包数据发送给被刷车载控制器,被刷车载控制器进入刷新模 式,进行软件的升级。在一个实施例中,如图9所示,本发明系统还可以包括 与所述升级模块160依次相连的文件包数据升级结果接收模块210、复位指令发 送模块220、复位结果接收模块230和升级结果发送模块240;
文件包数据升级结果接收模块210,用于接收待升级的车载控制器根据所述 文件包数据返回的数据接收结果;
复位指令发送模块220,用于在数据接收结果为成功时,将复位指令发送给 所有的车载控制器,其中所述复位指令用于将所有车载控制器的应用报文、网 络管理报文及故障检测功能进行复位;数据接收结果即为车载控制器校验文件 包数据是否为正确和完整接收;
复位结果接收模块230,用于接收所有的车载控制器根据所述复位指令返回 的复位指令执行结果;
升级结果发送模块240,用于根据所述复位指令执行结果将待升级的车载控 制器软件的升级结果发送给服务器。
本发明一种远程升级整车车载控制器软件的系统及升级方法,与现有技术 相互比较时,具备以下优点:
1、本发明可以实现整车车载控制器软件的远程升级,车主不需要将车开到 4S店,在有网络的情况下随时随地都可以进行车载控制器的软件升级,便捷性 及效率更高,节省了车主时间,降低了维修工时费用;
2、本发明不需要将OBD口盖板拆除就可以进行整车车载控制器软件刷新, 降低了内饰被刮花的风险,不会引起汽车其它部件的故障;
3、本发明自定义文件升级包结构,该结构对文件包类型、标识、CRC值、 大小等属性进行预先定义,使车载终端通过这些属性能够确认数据经过无线传 输后的完整性和一致性,保障车载控制器软件升级的准确安全进行。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对 上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技 术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细, 但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的 普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改 进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权 利要求为准。