一种通过USB口升级单片机软件版本的方法技术

技术编号:19023123 阅读:35 留言:0更新日期:2018-09-26 18:59
本发明专利技术涉及一种通过USB口升级单片机软件版本的方法,所述升级终端的处理步骤包括:S1、获取与单片机的USB口对应的USB虚拟串口号;S2、从本地获取单片机需要升级的软件版本,并向单片机发送升级开始命令,若在到达超时门限之前接收到单片机返回的准备就绪命令,则进入下一步;S3、向单片机发送升级数据命令,所述升级数据命令包括多个携带版本文件的升级数据包,若在到达超时门限之前接收到单片机返回的升级数据正确命令则发送下一个升级数据包,直至所有的升级数据包都发送完成;S4、向单片机发送升级结束命令,若接收到单片机返回的升级终止命令则升级终端的升级操作完成。本发明专利技术通过USB口即可实现单片机的软件版本升级,效率高,成本低。

【技术实现步骤摘要】
一种通过USB口升级单片机软件版本的方法
本专利技术涉及单片机的软件升级,尤其是涉及一种通过USB口升级单片机软件版本的方法。
技术介绍
在网络优化系统中,经常使用单片机作为监控单元的处理器,单片机价格低廉,软件开发速度快,使用性价比非常高。但在实际的使用过程中,由于需求变动或修正软件错误,需要对单片机的软件版本进行升级。一般使用常规的办法,例如通过单片机配套的烧录器进行软件版本升级,然而该种方法会对外场人员的维护造成极大的困扰,会增加设备维护工作量,并且工作效率低,成本高。
技术实现思路
本专利技术的目的在于克服上述技术的不足,提供一种通过USB口升级单片机软件版本的方法,可大大减小设备维护工作量,工作效率高,成本低。本专利技术的第一方面提供一种通过USB口升级单片机软件版本的方法,包括升级终端的处理步骤,所述升级终端的处理步骤包括:S1、通过USB线缆建立升级终端和单片机之间的连接,获取与单片机的USB口对应的USB虚拟串口号;S2、从本地获取单片机需要升级的软件版本,并向单片机发送升级开始命令,等待单片机返回准备就绪命令,若在到达超时门限之前接收到单片机返回的准备就绪命令,则进入下一步;S3、向单片机发送升级数据命令,所述升级数据命令包括多个携带版本文件的升级数据包,其中,每发送一个升级数据包后需等待单片机返回升级数据正确命令,若在到达超时门限之前接收到单片机返回的升级数据正确命令则发送下一个升级数据包,直至所有的升级数据包都发送完成;S4、向单片机发送升级结束命令,等待单片机返回升级终止命令,若接收到单片机返回的升级终止命令则升级终端的升级操作完成。进一步地,所述步骤S2中,若在到达超时门限之时未接收到单片机返回的准备就绪命令,则先判断重发次数是否已到达最大,若未到达最大重发次数则向单片机重发升级开始命令,若到达最大重发次数则提示升级失败。进一步地,所述步骤S3中,若在到达超时门限之时未接收到单片机返回的升级数据正确命令,则先判断重发次数是否已到达最大,若未到达最大重发次数则向单片机重发该升级数据包,若到达最大重发次数则提示升级失败;所述多个升级数据包顺次发送到单片机;所述多个升级数据包中,除最后一个发送到单片机的升级数据包之外,其余发送到单片机的升级数据包都携带长度为1024字节的版本文件。进一步地,所述步骤S4中,若没有接收到单片机返回的升级终止命令,则提示升级失败。本专利技术的第二方面提供一种通过USB口升级单片机软件版本的方法,包括单片机的处理步骤,所述单片机的处理步骤包括:S11、通过USB线缆建立与升级终端之间的连接之后,监听USB口是否接收到升级终端发送的升级开始命令,若接收到则向升级终端返回准备就绪命令,同时已收版本文件长度清零;S12、接收升级终端发送的升级数据命令,其中,每接收一个升级数据包后需判断已收版本文件长度加上该升级数据包的数据长度之和是否大于合法值,若不大于合法值,则将该升级数据包携带的版本文件写入单片机备份区地址对应的地址,并更新已收版本文件长度,同时向升级终端返回升级数据正确命令,完成后接收下一个升级数据包,直至所有的升级数据包都接收完成;S13、接收升级终端发送的升级结束命令,将对应的已收版本文件长度变量写入单片机存储区域的最后四个字节,并向升级终端返回升级终止命令;S14、重启单片机,引导程序读出单片机存储区域最后四个字节的数据,并计算出已升级版本的长度,判断该已升级版本的长度是否为有效值,若是,则拷贝该升级版本到单片机的运行区域开始地址;S15、将单片机备份区域及最后四个字节格式化,完成后指针指向运行区域开始地址开始新版本运行,则单片机的软件版本升级完成。进一步地,所述步骤S11中,若没有接收到升级终端发送的升级开始命令,则继续监听USB口直至接收到升级终端发送的升级开始命令。进一步地,所述步骤S12中,所述单片机顺次接收升级终端发送的多个升级数据包。进一步地,所述步骤S12中,每接收一个升级数据包后若判断已收版本文件长度加上该升级数据包的数据长度之和大于合法值,则向升级终端返回升级失败命令。进一步地,所述步骤S14中,若已升级版本的长度不是有效值,则重新进行步骤S14。本专利技术的第三方面提供一种通过USB口升级单片机软件版本的方法,包括升级终端的处理步骤和单片机的处理步骤,所述升级终端的处理步骤包括:S1、通过USB线缆建立升级终端和单片机之间的连接,获取与单片机的USB口对应的USB虚拟串口号;S2、从本地获取单片机需要升级的软件版本,并向单片机发送升级开始命令,等待单片机返回准备就绪命令,若在到达超时门限之前接收到单片机返回的准备就绪命令,则进入下一步;S3、向单片机发送升级数据命令,所述升级数据命令包括多个携带版本文件的升级数据包,其中,每发送一个升级数据包后需等待单片机返回升级数据正确命令,若在到达超时门限之前接收到单片机返回的升级数据正确命令则发送下一个升级数据包,直至所有的升级数据包都发送完成;S4、向单片机发送升级结束命令,等待单片机返回升级终止命令,若接收到单片机返回的升级终止命令则升级终端的升级操作完成;所述单片机的处理步骤包括:S11、通过USB线缆建立与升级终端之间的连接之后,监听USB口是否接收到升级终端发送的升级开始命令,若接收到则向升级终端返回准备就绪命令,同时已收版本文件长度清零;S12、接收升级终端发送的升级数据命令,其中,每接收一个升级数据包后需判断已收版本文件长度加上该升级数据包的数据长度之和是否大于合法值,若不大于合法值,则将该升级数据包携带的版本文件写入单片机备份区地址对应的地址,并更新已收版本文件长度,同时向升级终端返回升级数据正确命令,完成后接收下一个升级数据包,直至所有的升级数据包都接收完成;S13、接收升级终端发送的升级结束命令,将对应的已收版本文件长度变量写入单片机存储区域的最后四个字节,并向升级终端返回升级终止命令;S14、重启单片机,引导程序读出单片机存储区域最后四个字节的数据,并计算出已升级版本的长度,判断该已升级版本的长度是否为有效值,若是,则拷贝该升级版本到单片机的运行区域开始地址;S15、将单片机备份区域及最后四个字节格式化,完成后指针指向运行区域开始地址开始新版本运行,则单片机的软件版本升级完成。本专利技术通过USB口即可实现单片机的软件版本升级,可大大减小设备维护工作量,降低劳动强度,增强设备通用性及易用性,并且提高了工作效率,节约了烧录器的购置成本。【附图说明】图1为本专利技术一实施例提供的一种通过USB口升级单片机软件版本的方法的升级终端的处理步骤的流程示意图;图2是图1所示升级终端的处理步骤的流程原理示意图;图3为本专利技术一实施例提供的一种通过USB口升级单片机软件版本的方法的单片机的处理步骤的流程示意图;图4是图3所示单片机的流程原理示意图。【具体实施方式】下面结合附图和实施例对本专利技术作进一步的描述。参考图1至图4,本专利技术提供的一种通过USB口升级单片机软件版本的方法,包括升级终端的处理步骤和单片机的处理步骤。本实施例中,升级终端为一上位机。如图1和图2所示,升级终端的处理步骤包括:S1、通过USB线缆建立升级终端和单片机之间的连接,打开升级终端的升级界面,获取与单片机的USB口对应的本文档来自技高网...

【技术保护点】
1.一种通过USB口升级单片机软件版本的方法,包括升级终端的处理步骤,其特征在于:所述升级终端的处理步骤包括:S1、通过USB线缆建立升级终端和单片机之间的连接,获取与单片机的USB口对应的USB虚拟串口号;S2、从本地获取单片机需要升级的软件版本,并向单片机发送升级开始命令,等待单片机返回准备就绪命令,若在到达超时门限之前接收到单片机返回的准备就绪命令,则进入下一步;S3、向单片机发送升级数据命令,所述升级数据命令包括多个携带版本文件的升级数据包,其中,每发送一个升级数据包后需等待单片机返回升级数据正确命令,若在到达超时门限之前接收到单片机返回的升级数据正确命令则发送下一个升级数据包,直至所有的升级数据包都发送完成;S4、向单片机发送升级结束命令,等待单片机返回升级终止命令,若接收到单片机返回的升级终止命令则升级终端的升级操作完成。

【技术特征摘要】
1.一种通过USB口升级单片机软件版本的方法,包括升级终端的处理步骤,其特征在于:所述升级终端的处理步骤包括:S1、通过USB线缆建立升级终端和单片机之间的连接,获取与单片机的USB口对应的USB虚拟串口号;S2、从本地获取单片机需要升级的软件版本,并向单片机发送升级开始命令,等待单片机返回准备就绪命令,若在到达超时门限之前接收到单片机返回的准备就绪命令,则进入下一步;S3、向单片机发送升级数据命令,所述升级数据命令包括多个携带版本文件的升级数据包,其中,每发送一个升级数据包后需等待单片机返回升级数据正确命令,若在到达超时门限之前接收到单片机返回的升级数据正确命令则发送下一个升级数据包,直至所有的升级数据包都发送完成;S4、向单片机发送升级结束命令,等待单片机返回升级终止命令,若接收到单片机返回的升级终止命令则升级终端的升级操作完成。2.根据权利要求1所述的通过USB口升级单片机软件版本的方法,其特征在于:所述步骤S2中,若在到达超时门限之时未接收到单片机返回的准备就绪命令,则先判断重发次数是否已到达最大,若未到达最大重发次数则向单片机重发升级开始命令,若到达最大重发次数则提示升级失败。3.根据权利要求1所述的通过USB口升级单片机软件版本的方法,其特征在于:所述步骤S3中,若在到达超时门限之时未接收到单片机返回的升级数据正确命令,则先判断重发次数是否已到达最大,若未到达最大重发次数则向单片机重发该升级数据包,若到达最大重发次数则提示升级失败;所述多个升级数据包顺次发送到单片机;所述多个升级数据包中,除最后一个发送到单片机的升级数据包之外,其余发送到单片机的升级数据包都携带长度为1024字节的版本文件。4.根据权利要求1所述的通过USB口升级单片机软件版本的方法,其特征在于:所述步骤S4中,若没有接收到单片机返回的升级终止命令,则提示升级失败。5.一种通过USB口升级单片机软件版本的方法,包括单片机的处理步骤,其特征在于:所述单片机的处理步骤包括:S11、通过USB线缆建立与升级终端之间的连接之后,监听USB口是否接收到升级终端发送的升级开始命令,若接收到则向升级终端返回准备就绪命令,同时已收版本文件长度清零;S12、接收升级终端发送的升级数据命令,其中,每接收一个升级数据包后需判断已收版本文件长度加上该升级数据包的数据长度之和是否大于合法值,若不大于合法值,则将该升级数据包携带的版本文件写入单片机备份区地址对应的地址,并更新已收版本文件长度,同时向升级终端返回升级数据正确命令,完成后接收下一个升级数据包,直至所有的升级数据包都接收完成;S13、接收升级终端发送的升级结束命令,将对应的已收版本文件长度变量写入单片机存储区域的最后四个字节,并向升级终端返回升级终止命令;S14、重启单片机,引导程序读出单片机存储区域最后四个字节的数据,并计算出已升级版本的长度,判断该已升级版本的长度是否为有效值,若是,则拷贝该升级版本到单片机的运行区域开始地址;S15、将单片机...

【专利技术属性】
技术研发人员:荆汝宏郑时春俞烽宋月雷吴薇
申请(专利权)人:深圳国人通信股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1