当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于GPRS的嵌入式系统远程监控和升级

通用分组无线服务技术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)。[!--empirenews.page--]
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采用串口通信,统一了两端收发数据的格式并建立了可靠的数据传输机制,保证了通信的稳定性。
3.1 远程升级系统DSP程序原理
 系统采用TI公司的TMS320VC5509芯片作为主控单元。TMS320VC5509片内具有128 KB的高速静态RAM,片内ROM中固化了引导加载程序Bootloader(简称“DSP5509”),其Bootloader设置为外部SPI串行启动模式,外部储存媒介为 Flash。系统上电后,DSP5509在Bootloader引导下自动加载储存在片外Flash指定地址空间中的程序到片内的高速RAM中运行。
 远程升级系统中,DSP程序是基于DSP5509的Bootloader技术[7]。将新的DSP5509程序按照一定的格式编码后发送到系统指定的邮箱中,系统利用GPRS模块访问此邮箱并读取出新程序,然后将新程序通过串口发送给DSP5509且保存到片外Flash的指定地址空间中。发送和保存结束后自动复位并重启DSP5509,在Bootloader的引导下DSP5509从外部Flash中加载并运行新程序,从而完成DSP5509程序的更新升级。
3.2 系统远程升级时的流程
 在系统进行远程升级时,内部的DSP和ARM之间存在着较大数据量的传送,必须建立可靠的数据传输机制才能保证通信的稳定性。因此,系统将待发送的数据进行分割以分组形式传输,即将待发送的M字节数据分割成(x+1)组发送,前x组每次发送m=M/x个(M/x取整)字节,最后一组发送剩下的s=(M-m×x)个字节(若M/x为整数,则只需发送x组数据)。同时,DSP或ARM每次发送的数据格式均为3in1模式,即:(第1个字节表示本次发送数据的字节数+中间部分为m或者s字节的数据+最后1个字节为数据的CRC校验码),如图5所示。

    远程升级DSP程序时,DSP端程序流程如图6所示。ARM将从邮箱中读取新程序代码传送给DSP,数据的传送采用基于CRC8校验的数据传输方式。其中,DSP先将ARM发送来的数据保存到Flash中(地址为70000h~7FFFFh的sector7中)。在确保DSP正确无误地接收完所有从ARM发送来的程序代码后,才将sector7中的数据转存到地址为00000h~0FFFFh的sector0中。sector0是DSP指定外部储存程序的地址空间,保证了远程升级的可靠性。如果传输过程中重传次数超过上限N,则说明此次传输可靠性降低,系统取消本次升级,保证系统的安全与稳定。[!--empirenews.page--]

  实验中,系统准确识别和读取了邮箱中的命令邮件,根据命令完成了相应任务;系统发送邮件时,成功地将数据文件和报告文件以电子邮件附件的形式发送到指定邮箱;测试远程升级功能时,准确无误地实现了系统的主控程序更新。整个远程监控和升级的过程稳定、可靠。
    本系统基于GPRS网络、SMTP协议、POP3协议、串口通信和DSP的Bootloader等技术实现了嵌入式系统的远程监控与升级,既能远程修改系统的参数,又能获取系统自检报告、指定数据文件,并且实现主控程序的远程更新升级。整个系统在网络通信和串口通信的过程中都采用了严密的应答机制和数据校验规则,充分地保证了通信的可靠性和快速性,从而实现了系统的稳定性。实验证明,该系统在保证稳定性和可靠性的同时,降低了设计成本,缩短了维护周期,并且具有良好的扩展性。
参考文献
[1]    Texas Instruments Incorporated著.TMS320VC55x系列DSP的CPU与外设[M].北京:清华大学出版社,2005.
[2]    Texas Instruments, Incorporated. TMS320V5501/5502/5503/5507/5509/5510 DSP(McBSP) reference guide[S]. 2004.
[3]     张坤,张冠勇,王树勋.McBSP在DSP与PC机通信中的研究与设计[J].电子设计应用,2003,2(7):28-30.
[4]     何宗键.Windows CE嵌入式系统[M].北京:北京航空航天大学出版社,2006.
[5]     周立功.ARM&WinCE实验与实践——基于S3C2410[M]. 北京:北京航空航天大学出版社,2007.
[6]     付祝财,杨莘元,王阳.电子邮件SMTP/POP3收发协议的研究与实现[J].信息技术,2004,28(8):57-59.
[7]     徐胜,管庆.TMS320C5000的Bootloader技术[J].电子产品世界,2003,10(03A):41-44.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在FPGA和IC设计领域,经常会面临一个挑战:多个端口同时竞争一个端口的数据。在这种情况下,采用RR调度策略可能是一种解决方案。

关键字: FPGA 嵌入式系统 IC设计

“实现机器人操作系统——电机控制器ROS1驱动程序简介”一文中概述了新型ADI Trinamic™电机控制器(TMC)驱动程序,并讨论了将电机控制器集成到机器人操作系统(ROS)生态系统中的方法。TMC ROS1驱动程序...

关键字: 电机控制器 机器人 嵌入式系统

台湾新竹 – 2024年4月23日 – 著名的微控制器供货商新唐科技公司,与全软件开发生命周期提供跨平台解决方案的全球软件公司Qt Group宣布深化合作,扩展新唐科技人机界面(HMI)平台支持「Qt for MCUs」...

关键字: 微控制器 嵌入式系统 MCU

随着物联网、嵌入式系统以及微控制器技术的飞速发展,微控制器已成为众多智能设备和系统不可或缺的核心组件。而微控制器的正常工作,离不开烧录器的精准操作。C8051F021烧录器,作为一款高效、稳定、易用的微控制器烧录工具,在...

关键字: c8051f021烧录器 联网 嵌入式系统

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

2024年4月18日,国民技术第四代可信计算芯片NS350 v32/v33系列产品正式发布并开始量产供货。NS350 v32/v33是一款高安全、高性能、超值可信密码模块2.0 (TCM 2.0)安全芯片,适用于PC、服...

关键字: PC 服务器平台 嵌入式系统

2024年,嵌入式系统将走向何方?如何才能走在趋势的前沿?从工厂到家电,从医院里昂贵的医疗设备,到随处可见的可穿戴设备,我们身边的联网设备越来越多,生活更加绿色低碳,嵌入式系统功不可没。ST于3月19日成功举办STM32...

关键字: 嵌入式系统 可穿戴设备

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

随着科技的飞速发展,单片机和嵌入式系统在现代电子设备中的应用越来越广泛。它们不仅提高了设备的智能化水平,还推动了各行各业的创新与发展。在单片机和嵌入式系统的开发中,编程语言的选择至关重要。本文将深入探讨单片机和嵌入式系统...

关键字: 单片机 嵌入式系统 电子设备

Windows Embedded Compact 7(简称WinCE)是一种专为嵌入式系统设计的操作系统,具有体积小、效率高、可定制性强的特点。在WinCE中设置自动运行软件,通常是为了满足设备在启动后自动执行特定任务的...

关键字: 嵌入式系统 软件 操作系统
关闭
关闭