[发明专利]基于CANOPEN协议的嵌入式软件升级方法有效
申请号: | 201310581178.5 | 申请日: | 2013-11-19 |
公开(公告)号: | CN103559066B | 公开(公告)日: | 2017-03-08 |
发明(设计)人: | 戴永佳;张世平;范宣禄;张如欣 | 申请(专利权)人: | 上海创程车联网络科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;H04L29/06 |
代理公司: | 上海科盛知识产权代理有限公司31225 | 代理人: | 宣慧兰 |
地址: | 201101 上海市闵行区*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 canopen 协议 嵌入式 软件 升级 方法 | ||
技术领域
本发明涉及一种,尤其是涉及一种基于CANOPEN协议的嵌入式软件升级方法。
背景技术
Bootloader又称引导加载程序,它是系统加电后运行的第一段软件代码,它能实现用户程序的引导启动和固件自更新两个功能。其中固件自更新需要向芯片提供额外的数据传输介质使得芯片能将接收到的机器代码写入自身的Flash中。传统的方法是使用UART的接口实现Bootloader的更新功能,通讯速率低,通常只有几十KBPS,升级效率低;由于采用UART通讯方式,通讯信号抗干拢能力差,特别是在电磁干拢严重的汽车运行环境。传统的方法不适合现场总线升级,特别是在多个终端在同一个网络中工作的情况,升级时需要把要升级的终端从整个网络总线系统中断开进行单独升级,不适合进行现场升级,特别是在汽车上,因汽车空间紧凑,各终端安装位置空间狭窄,不易拆卸;并且,传统方法中的通讯协议都是自定义的,使用范围小,不通用。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于CANOPEN协议的嵌入式软件升级方法。
本发明的目的可以通过以下技术方案来实现:
一种基于CANOPEN协议的嵌入式软件升级方法,该方法应用于通过CAN总线网络连接的上位机和下位机所组成的系统中,包括以下步骤:
1)上位机与下位机进行联机,联机成功后执行步骤2);
2)上位机与下位机进行编程地址有效性的确认,当确认有效后,分包发送块数据;
3)下位机收到块数据的最后一包后回复确认,上位机收到下位机最后一包的回复后,发送包含CRC校验码的块结束命令给下位机,;
4)下位机收到块结束命令后,进行CRC校验,若CRC校验成功,下位机把收到的数据写入存储器中,回复块结束命令给上位机;若CRC校验失败,下位机回复下载错误报文,上位机收到下载错误报文,结束程序升级;
5)上位机收到块结束命令后,判断应用程序的数据是否全部发送完成,若应用程序的所有数据都发送成功后,上位机发送编程结束命令给下位机,下位机收到后,回复编程结束应答给上位机,并跳转到存储器的应用程序区执行应用程序,程序升级结束;若应用程序的数据未发送完毕,则返回步骤2)。
2.根据权利要求1所述的一种基于CANOPEN协议的嵌入式软件升级方法,其特征在于,所述步骤1)具体包含以下步骤:
11)上位机软件解析要发送的应用程序文件,并等待下位机的联机请求。
12)下位机重新上电,进行初始化,然后发送Boot-up报文,通知上位机当前处于预操作状态,上位机收到下位机发送的Boot-up报文,发送联机请求报文给下位机;
13)下位机收到联机请求报文后,回复联机应答,若上位机收到该联机应答,则联机成功;若上位机未收到下位机的联机应答,则联机失败,结束程序升级。
3.根据权利要求2所述的一种基于CANOPEN协议的嵌入式软件升级方法,其特征在于,步骤12)中的初始化包括:首先初始化RAM基址,接着初始化堆栈,关闭看门狗,随后初始化全局变量,接着初始化CAN通讯接口,以完成Bootloader自身环境初始化。
4.根据权利要求1所述的一种基于CANOPEN协议的嵌入式软件升级方法,其特征在于,执行步骤2)之前,还需要执行如下步骤:
A)联机成功后,上位机向下位机发送擦除请求,下位机收到擦除请求后执行擦除操作;
B)下位机擦除成功后,向上位机回复擦除成功应答,下位机擦除失败,则回复擦除失败应答;若上位机收到擦除失败应答,则结束程序升级;
C)若上位机收到擦除成功应答,则进行继续执行步骤2)。
5.根据权利要求1所述的一种基于CANOPEN协议的嵌入式软件升级方法,其特征在于,步骤2)具体包括以下步骤:
21)上位机向下位机发送编程地址报文;
22)下位机收到编程地址报文,对其编程地址进行确认,若有效,则向上位机回复编程地址有效报文;若无效,则回复编程地址无效报文,上位机收到编程地址无效报文后,结束程序升级;
23)上位机收到编程地址有效报文后,向下位机发送下载启动命令,下位机收到下载启动命令后,回复下载启动应答;
24)上位机收到下位机回复的下载启动应答后,开始分包发送块数据。
与现有技术相比,本发明具有以下优点:
1、采用CAN通讯,通讯信号抗干拢能力强。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海创程车联网络科技有限公司,未经上海创程车联网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310581178.5/2.html,转载请声明来源钻瓜专利网。