×
嵌入式 > 嵌入式开发 > 详情

ARM和GPRS相配合的软件无线升级系统

发布时间:2020-07-09 发布时间:
|

1软件无线升级系统方案
基于无线通信的远程监控系统(如远程电网质量监控系统、水情测报系统和城市路灯监控系统等)应用越来越广泛,而在实际使用过程中,由于需求的变化,经常要对其终端设备软件进行修改或升级。一般情况下,无线监控系统与终端距离较远,终端分散且工作环境较差。如果维护人员到现场进行软件升级,不但维护费用很高,而且还可能使终端设备长时间不能正常工作。
为解决这一难题,本文提出一种利用ST公司的STR710FZ2T6作为终端微控制器,融合IAP(In Application Programming,在应用编程)技术和GPRS无线网络通信技术的软件升级系统方案。软件无线升级系统整体框图如图1所示。

图1软件无线升级系统整体框图
2系统硬件和软件设计
2.1硬件设计
本文选用的是ST公司的一款工业级微控制器STR710FZ2T6。它是基于ARM7TDMI的32位RISC CPU,拥有丰富的外设和增强的I/O功能,并提供高达33 MHz的直接存取速度以及50 MHz零等待状态的序列闪存;具有(256 KB+16 KB) Flash 和64 KB SRAM,内部Flash可重复擦写10万次,数据保持20年,支持自编程;外部存储器接口(EMI)可支持4个SRAM、Flash、ROM等存储类型;芯片有多种boot方式。另外,STR710FZ2T6能够通过运行在Flash中的程序来对自身的Flash进行更新。这个功能使其能够通过CAN、UART、USB、无线通信等接口将程序下载到自身的Flash中。
系统结构如图2所示。根据微控制器STR710FZ2T6的特点以及无线监控终端的功能要求,硬件设计包括由电源电路、复位电路、JTAG接口电路、晶振电路组成的芯片工作最小系统,以及在最小系统上扩展的串行接口模块、外存储器模块、数据显示模块、数据采集模块和SIM300 GSM/GPRS通信模块。其中,扩展的外存储器包括SST公司的具有16位数据宽度的Flash存储器SST39VF1601和ISSI公司的SRAM存储器IS61LV25616AL。

图2软件无线升级系统结构框图
2.2终端软件设计
系统终端软件的设计包括终端引导程序设计和终端应用程序的设计。引导程序和应用程序在STR710FZ2T6中所存放的位置不同。将启动模式配置为从片内Flash引导之后,系统终端微控制器将复位,启动之后先执行引导程序。引导程序在执行过程中决定是否启动IAP升级程序;应用程序实现终端的各种功能,如命令和数据的接收、发送,以及新版本应用程序升级包的下载。
2.2.1终端引导程序设计
系统设计时,终端引导程序通过JTAG接口烧写到STR710FZ2T6的Flash扇区起始位置(0x40000000)处。整个引导程序占用Flash的前两个扇区,通过启动模式的选择,将这块Flash映射到0x00000000,保证系统上电后自动运行引导程序。终端重新启动时,STR710FZ2T6从0x40000000地址开始读取指令并执行。
经过实验证明:将IAP升级程序存放在用户引导部分是非常合理的,能够避免由于应用程序升级失败而造成的系统崩溃。由于终端引导程序在产品出厂前固化,若Flash编程失败,微控制器将重新启动,IAP程序利用存储器SST39VF1601中保存的最新版本的应用程序,重新对Flash进行编程。由于引导程序有多次编程Flash扇区的能力,系统应用程序代码的完整性以及应用程序升级的可靠性才得以保证。引导程序流程如图3所示。

图3终端引导程序流程
终端引导程序的主要函数说明:
① main()主函数。用于初始化UART接口,PLL设定等,根据升级标志和新版本号判断是否继续执行IAP。若升级标志置位,且新版本号大于当前的版本号,则启动IAP升级程序,否则运行终端应用程序。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
CC-Link现场总线及应用实例