基于ARM的GPRS远程终端设计与实现

更新时间:2023-08-06 10:30:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

ARM开发与应用

文章编号:1008-0570(2006)05-2-0118-03

中文核心期刊《微计算机信息》(嵌入式与SOC)2006年第22卷第5-2期

基于ARM的GPRS远程终端设计与实现

DesignandImplementOfGPRSRemoteTerminalBasedOnARM

(国防科技大学计算机学院)马少平

骆志刚孙雷赵翔何万双

Ma,ShaoPingLuo,ZhigangSun,LeiZhao,XiangHe,Wanshuang

摘要:简要介绍了GPRS技术的特点及其在工业远程监控系统中的优势,给出基于ARM7TDMI-S处理器的GPRS远程终端的设计方案和实现要点。在设计中充分考虑了软件结构的可扩展性,在软件实现上注意避免了同类产品中出现的缺点,该终端提供了灵活便捷的用户界面和多协议支持。关键词:ARM;GPRS;无线数据传输;远程监控中图分类号TP391.8

文献标识码A

技术创新

Abstract:ThispaperfirstpresentsthecharacteristicandtheadvantagesofGPRStechnologyinindustryremotemonitoring.Then,ItdescribesthedesignandimplementofGPRSremoteterminalbasedonARM7TDMI-Smpu.,Extensibilityofsoftwarestructureissufficientlyconsideredindesign.Faultsofsimilarproductsareovercomeinimplement.TheGPRSremoteterminalprovidesflexible

UIandsupportsmulti-protocol.

Keywords:ARM;GPRS;wirelessdatatransfer;remotemonitoring

1引言

近年来无线传输技术有了很大的进步,其中

GPRS技术在工业界受到了广泛关注。GPRS(GeneralPacketRadioService,通用分组无线业务)是在现有的GSM系统上发展出来的一种新的分组数据承载业务。GPRS与GSM系统最根本的区别是,GSM是一种电路交换系统,而GPRS是一种分组交换系统。它具有接入迅速、永远在线、流量计费等特点,在远程突发性数据实时传输中有不可比拟的优势,特别适合于像工业的远程监控系统这样的频发小数据量的实时传输系统。随着网络可靠性的增强,GPRS技术已逐步具备了工业应用的条件。

法国Wavecom公司的Q2400系列、索尼爱立信MC35、

公司的GR47、摩托罗拉公司的G18、展讯通信公司的

其中索尼爱立信公司的GR47模块含有完SM5100等。

整TCP/IP协议,可以直接使用相应AT指令进行开发工作,我们的方案采用GR47模块。处理器与GPRS模块是通过串行协议通信的,当从数据采集器得到数据后GPRS模块负责以GPRS资料包的形式通过GPRS网络把资料发送到中国移动的内部网(CMNET),然后由中国移动通过GPRS服务节点(GSN),把资料发送到Internet上。由于GPRS网络是以IP寻址为基础的,所以远程主机只需要简单接入Internet,并具备公网分配的IP地址即可。

2GPRS远程终端的结构及其原理

GPRS远程终端在工业远程监控系统中主要起数据传输的作用,即现场的数据采集器将所采集到的数据(一般通过RS232或RS485)传送到GPRS远程终端,然后由该终端通过GPRS网络以及互联网将数据传送到接入互联网的远程主机,如图1所示。

图1中GPRS模块是指具有登录GPRS网络功能的芯片。目前的GPRS模块主要有德国西门子公司的马少平:硕士生

本文受到国家级火炬计划项目(项目编号:

图1GPRS远程终端的数据流向示意图

3GPRS远程终端的硬件结构设计

我们采用的GPRS模块是索尼爱立信的GR47模块,该模块采用32位CPU的实时操作系统,内置

TCP/TP协议栈。它允许一个TCP/UDP传输机制以最小的前期配置和操作来被使用。其内嵌控制器方便集成客户的应用,减少外部控制器的需求。GR47支持双频GSM宽带900MHz/1800MHz,可通过SMS短消息服务、CSD、HSCSD或GPRS来发送或接收资料,并可处理语音及传真。其TCP/IP协议栈也可通过AT命令或

现场总线技术应用200例》

2002EB040745)和2004年度国家信息产业部电子信

息产业发展基金(项目名称:CMS变电站集成式状态监测与故障诊断系统)资助

-/:

您的论文得到两院院士关注

ARM开发与应用

中国移动内部的IP地址*/

如果命令执行成功则返回OK。

嵌入式应用进行访问。

用于控制GPRS模块的芯片必须具有能和GPRS模块连接的具备Modem接口信号的串行口;我们采用了菲利普公司的LPC2106芯片,该芯片是基于ARM7TDMI-S处理器的,有一个Modem接口信号的串行口,一个两线串口,64K的SRAM,128K的程序

其最大的优点是外部时钟只要10M,在内部通过flash。

锁相环倍频到60M。

GPRS远程终端的硬件结构比较简单,在GPRS模块和ARM芯片选定后,根据具体的器件使用手册可以比较容易的制作出电路原理图。

4GPRS远程终端的软件结构设计

4.1GPRS远程终端的设计实现难点是软件设计,以下是GPRS远程终端需要实现的基本功能。

即终端应将接收到的数据不经⑴透明传输数据。任何修改的传输出去,确保接受者得到的是原始数据。

⑵断线重拨。即当与远程主机的连接断开时,终端应能自动检测到断开事件并重新发起连接。

⑶当网络发生故障时,终端应能保存已接收到但未发送出去的数据,当网络恢复时应立即发送出去。

⑷终端应支持IP地址和域名这两种方式来指定要连接的远程主机。

*AT*E2IPI=0

/*该命令用于查看GR47所获得的IP地址*/如果命令执行成功则返回IP地址,例如:*E2IPI:10.85.9.188

*AT*E2IPO=1,"61.130.18.134",1500

/*该命令用于发起一个TCP连接,若第一个参数是“0”则表示发起UDP连接,后两个参数分别是要连接的IP地址和端口号。*/

如果命令执行成功则返回CONNECT。*AT*E2IPRH=www.baidu.com

/*该命令是域名解析命令,执行该命令若域名有效则返回与域名对应的IP地址*/

已建立的连接由于某种原因而断开时会返回NOCARRIER。

当发起一个TCP或UDP连接后GR47就进入了数据模式此时GR47将接收到的任何数据都原封不动的发送出去,并且处于数据模式时GR47不识别任何AT命令。若需要执行AT命令则应将DTR信号线置低电平使GR47进入在线命令模式。

⑶数据传输模块

该模块负责判断接收到的数据是否为“远程配置命令标志“和”远程升级命令标志“,若是则调用相应模块,若不是则将数据原封不动地发送出去。

⑸用户应能远程修改终端的设置参数,比如远程

主机的IP地址,心跳时间等。

⑹用户应能远程升级终端内的软件。4.2软件模块的划分

根据以上的基本需求,我们软件系统在应用层面上分为四个模块。

技术创新

⑷远程升级模块

当接收到“远程升级命令“时执行该模块,该模块负责从远程主机接收编译好的代码并将完整无误的代码写入LPC2106的FLASH中。

远程升级功能的实现是比较复杂和困难的,因为必须考虑传输误码和传输异常中断的情况。针对传输误码可以采取校验和重传的方式解决。在传输发生异常中断的情况下,应保证终端能快速检测中断并恢复传输。可设立标志位来标识升级状态,若升级状态标志没有置位说明升级未完成,在传输中断恢复后继续执行升级程序直至升级正常完成时,将该标志置位。为了使终端在升级没有正常完成的情况下仍能继续工作,切不可以覆盖的方式将接收到的代码写入

⑴参数配置模块

该模块负责接收用户的输入,来配置诸如远程主机地址,串口通信参数,下位机标志等参数。用户可能通过串口或在远程主机上来输入这些信息,但对于模块来说信息来源于何处是没有影响的。

⑵连接远程主机模块

该模块负责控制GR47使其执行相应的AT命令来连接远程主机(连接参数来自参数配置模块)。GR47内嵌了TCP/UDP/IP协议栈并支持域名解析,使用它来发起一个TCP或UDP连接非常简单。以下给出GR47执行AT命令的示例:

*AT+CGDCONT=1,"IP","CMNET"

表示所建立/*该命令建立PDP上下文,其中”1”

的PDP上下文的编号,“IP”说用所用的协议,”

是中国移动的APN*/CMNET”

如果命令执行成功则返回OK。*AT*E2IPA=1,1

“1”表示激活IP,若/*该命令激活IP会话,第一

为“0”则表示取消激活。第二个“1”是上边所建立的PDP上下文的编号。该命令执行完毕则GR47已获得

PLC技术应用200例》

FLASH中。应在FLASH中的空闲区域写入接收到的代码,待升级正确完成后再跳转到该代码处执行升级后的程序。应用程序流程如图2所示。

4.3硬件环境的初始化程序

应用程序只有在硬件环境正确初始化的情况下才能正常运行,初始化程序一般包含以下几个部分:

⑴中断向量表。ARM处理器从逻辑地址0X00000000处读取中断向量表,而此地址初始映射为FLASH地址,所以如果要在RAM中运行程序且响应中断,应利用地址重映射功能(REMAP)将RAM中包

-119-

:360元/年

ARM开发与应用

中文核心期刊《微计算机信息》(嵌入式与SOC)2006年第22卷第5-2期

含中断向量表的地址映射到0X00000000处。

⑵初始化存储系统。该部分包含时序和地址的配置。

⑶初始化堆栈。ARM处理器需要多个独立的堆栈来实现不同的处理器状态。ARM处理器共有7个处理器执行状态,在设置堆栈时应根据需要一一设置,尤其要注意切不可将处理器置为USER模式来设置其堆栈,因为一旦处于USER模式就不能通过操作状态寄存器来使处理器回到其它模式。

以上是必不可少的系统初始化步骤,系统初始化完成后还应初始化应用程序中将涉及的串口,I2C等设备。在编写串口驱动程序时应使用中断方式来接收和发送以提高程序效率,且要将串口缓冲设置为适宜大小否则有可能丢失数据。在对FLASH进行IAP(在应用编程)时,应该关闭总中断,即设置状态寄存器(CPSR)来关闭中断。而且由于执行IAP命令时处理器为Thumb状态,所以在ADS(ARM开发工具)中应将工

出版社,2003

[2]杨雷,王彩申,卢广建.基于P89C669的GPRS自动雨量站[J].微计算机信息,2005,10:92-93

[3]EdSutter.嵌入式系统固件揭秘.张晓林等译.北京:电子工业出版社,2003《基于ARM的GPRS远程终端设计与实现》一文的相关资料

作者简介:马少平(1981-),男,回族,硕士生,主要研究方向为嵌入式系统;E-mail:missyou422@126.com;骆志刚(1968-),男,汉族,教授,博士生导师,主要研究领域为生物信息技术、网格计算,分布式系统。E-mail:

zhigang_luo@sina.com

Authorbriefintroduction:Ma,Shao-Ping,(1981-),man,

master,field:embeddedsystem通讯地址:

(315800浙江宁波保税西区国家留学生创业园4号楼2楼宁波理工监测设备有限公司)马少平

(投稿日期:2005.9.10)(修稿日期:2005.10.21)

技术创新

程的DebugSettings->LauguageSettings->ArmAssem-bler->ATPCS->ARM/Thumbinterworkin选项选中。

(接19页)

对设计的30个智能传感器一一进行测试,测试结果测量精度δ≤0.5%,能满足现场测试能精度的要求。

5结语

本系统充分利用了地铁的网络资源,不需要在地铁沿线铺设通讯电缆投入的情况下,实现了对杂散电流腐蚀因子参数的在线监测。改变了传统分散的采集模式,采用了集中监控方式,减少了日常测试的工作量。目前该系统已在地铁中使用,大大提高了维护管理的质量和效益。

参考文献:

[1]汪圆圆.杂散电流“源处理”方法的研究与探讨,城市轨道交通

45研究,2001.1:42~

[2]汪圆圆.杂散电流分区域防护的研究[J].铁道标准设计,2002(6):84~85

[3]赵煜,李威.广州地铁杂散电流实时监测系统设计及应用.城市轨道交通研究,2001.1:63~65

[4]杨克俭,赵巍,庞慧,岳杰,吕英丽.嵌入式系统产品接入Internet的技术研究[J].微计算机信息,2006,1-2:43-44

[5]地铁杂散电流腐蚀防护技术规程(CJJ49-92).北京,中国计划出版社,1993

[6]周晓军,高波.地铁迷流对钢筋混凝土中钢筋腐蚀的试验研

24究.铁道学报,VOL.21NO.5199912~

图2应用程序流程图

5结束语

每种GPRS远程终端都可能要求有它的特殊功

能,但这些特殊性只能在基本功能的实现上来添加。本文方案可以实现一个GPRS远程终端应有的基本功能,根据本文方案设计生产的产品已经成功地应用于一些工业控制系统,如:宁波理工监测设备有限公司的CMS2000变电站集成式状态监测与故障诊断系统。

参考文献:

[1]周立功.ARM微控制器基础与实战.北京:北京航空航天大学

作者简介:王禹桥,男,生于1974,汉,硕士,讲师,主要研究方向智能仪器仪表及自动化以及杂散电流腐蚀监测与防护。E-mail:Cumtwangyuqiao@163.com;李威(1964—),男,江苏徐州人,博士,教授,主要从事机电控制、智能仪表等方面的科研工作。通讯地址:

(221008徐州中国矿业大学机电工程学院)王禹桥

(投稿日期:2005.9.5)(修稿日期:2005.10.15)

-/:现场总线技术应用200例》

本文来源:https://www.bwwdw.com/article/skyj.html

Top