[发明专利]一种基于STM32控制器的GPRS远程升级方法有效
申请号: | 201910014473.X | 申请日: | 2019-01-07 |
公开(公告)号: | CN109889368B | 公开(公告)日: | 2022-04-08 |
发明(设计)人: | 董辉;季祥;刘白龙;周祥清;周伯男;张宇 | 申请(专利权)人: | 浙江工业大学 |
主分类号: | H04L41/082 | 分类号: | H04L41/082;H04L67/50 |
代理公司: | 杭州斯可睿专利事务所有限公司 33241 | 代理人: | 王利强 |
地址: | 310014 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 stm32 控制器 gprs 远程 升级 方法 | ||
一种基于STM32控制器的GPRS远程升级方法,包括以下步骤:1)通过类似keil编译器将文件生成HEX文件格式,再将HEX文件加载到服务器端;2)服务器通过人为主动点选进行单台或者多台设备的固件升级;3)服务器向设备端发送程序更新消息,设备端开始进行升级;4)设备端预处理;5)设备端接收升级程序处理:设备端向服务器发送开始升级程序指令时,设备端开始采用防误码通信协议机制进行接收服务器升级程序固件,并通过动态规划计算出设备端需要等待服务器下发的时间T,即自适应系统延时;6)设备将存储的程序在线下载到应用程序空间。本发明能有效的解决远程升级时间过长、失败率高和升级不稳定问题。
技术领域
本发明涉及一种远程升级方法,尤其是一种基于STM32控制器的GPRS远程升级方法,属于无线通信领域。
背景技术
当前,设备在进行功能升级时,需要对设备进行重新下载程序。传统的设备在进行程序升级的时候,只能现场用仿真器对控制器下载程序,这给厂家带来了极大的不便,并且许多远程控制设备在进行远程升级程序时,容易导致升级不成功。
发明内容
为了提高现有的远程升级设备的升级效率,本发明提供了一种能提高远程升级稳定性,缩短升级时间的基于STM32控制器的GPRS远程升级方法。
本发明解决其技术问题所采用的技术方案如下:
一种基于STM32控制器的GPRS远程升级方法,所述GPRS的远程升级方法包括如下步骤:
1)程序生成阶段:通过类似keil编译器将文件生成HEX文件格式,再将HEX文件加载到服务器端;
2)设备选中:服务器可以通过人为主动点选进行单台或者多台设备的固件升级;
3)程序升级消息通知:服务器向设备端发送程序更新消息,设备端开始进行升级;
4)设备端预处理:设备端在进行升级前,STM32控制器采用随机采样的方法计算求出信号质量并判断出该条件下是否允许设备升级程序;
5)设备端接收升级程序处理:设备端向服务器发送开始升级程序指令时,设备端开始采用防误码通信协议机制进行接收服务器升级程序固件,即设备端在接收程序包时,包序列要与设备端包计数一致。在接收完所有包时,设备端计算程序校验值,并与服务器下发校验值比较。另外,设备端需要通过动态规划计算出设备端每次接收完当前包后需要等待服务器下发下一个包的时间T,即自适应系统延时;
6)设备端IAP在线程序升级:设备将存储在外部FLASH的程序转换成BIN格式在线下载到应用程序空间,完成升级。
进一步,在所述步骤4)中,设备获取信号质量包括以下步骤:
A.在设备向服务器发送长度为L的数据包后,芯片不断向通信模块查询信号量,得到N组信号质量(Q1,Q2,...,QN);
B.分析得到的N组信号质量(Q1,Q2,...,QN),求出理想的信号质量
C.将步骤A和步骤B进行S次,得到一组信号质量
再进一步,在所述步骤5)中,设备等待时间T的动态规划过程,包括以下步骤:
a.设备向服务器发送数据长度为L的数据包,L的取值范围为0-300;
b.在设备向服务器发送长度为L的数据包后,打开芯片定时器开始计数,直到芯片接收到服务器发回的应答信号,定时器停止计数,设备按此操作重复发送S组数据包,得到时间(T0,T1,...,TS);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910014473.X/2.html,转载请声明来源钻瓜专利网。