微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于GPRS的嵌入式系统远程监控和升级

基于GPRS的嵌入式系统远程监控和升级

时间:06-26 来源:电子技术应用 点击:

通用分组无线服务技术GPRS(General Packet Radio Service)是一种移动数据业务,该技术能满足日常网络行为,具有广域覆盖、高速传输等优点。野外作业的数据采集嵌入式系统工作于偏远无人地区,通常这些采集系统基于GPRS无线网络来传输远程数据,但系统的维护和升级受到距离和环境的较大限制,不但成本高,而且周期长。

 为实现远程监测和升级野外作业嵌入式系统,本文提出一种基于GPRS网络、以电子邮件为载体的嵌入式系统远程监控和升级方案,达到远程修改系统参数、索取系统自检报告、索取指定数据文件和升级系统主控程序等目的,实现嵌入式系统的远程监控与升级。

与目前大多数嵌入式系统远程监控和升级的途径相比,这种以电子邮件为载体、系统定时收发邮件的方法,实现了系统的多功能性与灵活性,同时较好地满足了野外作业嵌入式系统低功耗的要求。

1 系统结构及远程监控与升级

1.1 系统结构

 嵌入式系统中的控制部分由ARM芯片(采用基于三星S3C2440-30的ARM9)和DSP芯片(采用TI公司的TMS320VC5509)[1]组成。ARM和GPRS Modem模块通过RS232串口进行连接,系统通过ARM利用GPRS Modem模块上网并访问网络邮箱,从而进行相应的操作。系统结构如图1所示。DSP作为主控单元完成数据采集和处理,ARM则负责数据后期处理和网络访问。

ARM是DSP的从设备,两者通过串口通信。其中,DSP端是多通道缓冲同步串行端口McBSP[2],而ARM端则是异步串口UART。为了在不增加外部复杂硬件的条件下实现两者通信,必须统一两端传输数据的格式[3]。

 远程监控与升级过程中,为保证DSP和ARM之间数据传输的可靠性与稳定性,系统采用CRC8校验的数据传输方式:数据发送端发送每组数据时都附带发送此组数据的CRC校验码,数据接收端收到数据后重新计算数据的CRC校验码,对两端得到的CRC校验码相比较,相等则请求发送端发送下一组数据,不相等则请求重发本组数据。

1.2 系统远程监控和升级的总体流程

 系统远程监控和升级的示意图及整体工作流程分别如图2、图3所示。系统进行远程监控和升级时,首先登录指定邮箱,分析后获取命令列表并记录各命令邮件的内容,然后对命令列表中的每1个命令进行分析,完成相应的任务,包括:修改系统参数、发送系统自检报告、发送指定数据文件和升级DSP程序。任务完成后系统自动返回报告邮件,告知本次操作的情况。整个系统基于GPRS网络,以电子邮件为载体,通过系统对邮件的读取和发送,达到远程监控和升级系统的目的。


2 系统的远程监控

 系统的远程监控,是通过对系统中装有嵌入式操作系统WinCE[4]的ARM进行网络编程[5],基于GPRS无线网络实现其对电子邮件的读取与发送,其中涉及到了最常用的电子邮件收件协议POP3(Post Office Protocol 3)和发件协议SMTP[6](Simple Mail Transfer Protocol)。

2.1 系统远程监控原理

 如表1所示,系统接收远程命令是基于对命令邮件的读取。命令邮件由两部分构成:主题命令和邮件内容。主题命令(即邮件的主题)为单个小写英文字母,不同的字母代表着系统将要完成的功能;邮件内容则包括了系统的新参数、需反馈的数据文件名、新的DSP程序等具体数据信息。

 系统发送的邮件包括数据文件和报告文件,都以电子邮件附件的形式传送。数据文件反映系统采集的物理数据或自身的状态信息;报告文件则是对每次远程监控命令的回执,表明本次操作是否成功。

2.2 远程监控中邮件的读取和发送

 系统远程监控时检查邮箱中邮件的流程如图4所示。所发送邮件的主题subject即代表了系统需要完成的任务,例如"修改系统参数"、"发送自检报告"、"索取指定文件"和"更新DSP程序"的邮件主题分别是单个小写字母a、b、c、d,而其余类型主题的邮件都被系统识别为无效邮件而滤掉。因此,系统在读取邮件时,先选出符合系统要求的邮件加入命令列表,再根据其代表的命令实现相应的功能。其中,最后一步删除邮件是为下次读邮件做准备,保证了系统再次读取的邮件都是最新的,避免了对已读邮件的重复操作,提高了可靠性。

 系统以电子邮件附件的形式发送数据文件和报告文件。实验中发现,当发送的邮件小于2 KB时偶而会出现发送"伪成功"的情况,即程序显示邮件发送成功,但邮箱中却没有收到邮件。所以,在发送小于2 KB的邮件时,先用"空格"将其补足2 KB后再发送。实验证明,在进行邮件大小补足后,没有再出现过"伪成功"的现象。

3 系统的远程升级

系统基于GPRS网络,完成对邮箱中DSP新程序代码的读取,然后利用串口通信和Bootloader技术实现DSP程序的远程升级。系统内部的ARM和DSP采用串口通信,统一了两端收发数

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top