[摘要] 本文研究开发了一套基于GPRS技术的无线数据采集系统,远端数据采集模块将传感器的输出信号进行模数转换,通过串行接口驱动无线modem经GPRS网络将数据发送到Internet上的远程监控中心,并完成数据的存储和显示。本文从硬件和软件两方面描述了系统的设计及实现方法。这种新型的无线数据采集系统非常适合于在边远地区或可移动系统中实现无线的数据采集和监控。
[关键词] GPRS技术;PPP协议;数据采集
1. 绪论
数据采集系统是科学试验中经常用到的测量环节,通常由信号调理、A/D转换、数据存储、数据分析、显示等几个功能模块组成。由于具体试验环境千差万别,对数据采集系统的要求也有很大不同。例如对于边远地区或运动构件上的传感器输出信号,通过电缆引出信号的有线数据采集方案变得很困难,甚至根本不可能。本文所介绍的基于GPRS[1]的无线数据采集系统解决了这一问题,实现了现场数据从采集终端到远程控制中心的无线传输。整个系统的结构如图1所示。
系统主要包含两个模块——远程控制中心和远端数据采集模块。远端数据采集模块由传感器、微处理器、无线modem等组成,以唯一的ID作为中心调度的标识,完成数据的采集、处理和传输。远程控制中心通过Internet向各个远端数据采集模块发送各种动作指令,使远端模块完成各种配置和数据采集工作,并对远端模块发送上来的数据进行分析和处理。
2. 硬件系统设计
硬件系统的设计内容主要是指远端数据采集模块的硬件设计,每个远端数据采集模块由传感器、信号调理及A/D转换电路、微处理器、无线modem等组成。图2为其电路原理图。
微处理器Rabbit3000通过串口将命令和数据发送给GPRS的数据传送终端——无线modem Q2403A,控制着Q2403A登陆GPRS网关(GGSN),并获得动态分配的IP地址。这样,微处理器向GGSN发送的数据就会被传送给Internet网中相应的IP地址,从而完成数据采集模块到远程主机的无线数据传输。数据到达指定的Internet地点(可以是ftp站点、指定的邮箱地址或其他的方式等等)之后再进行数据的处理和分析。
Rabbit 3000是美国Z-World公司推出的新一代嵌入式系统8位高性能微处理器,其程序存储器中固化有当前流行的Internet协议栈,具有客户机功能,可以主动请求TCP连接远方服务器通信,使得微处理器只要知道对方IP地址和端口号,就可以通过网络进行通信。
GPRS(General Packet Radio Service)是通用分组无线业务的简称,是在GSM基础上发展起来的一种分组交换的数据承载和传输方式。GPRS支持Internet上应用最广泛的IP协议和X.25协议,使得GPRS能提供Internet和其它分组网络的全球性无线接入。
wavecom Q2403A 是一款基于GPRS网络传送数据的无线modem,能够实现语音呼叫、短消息服务、数据传输等功能。Q2403A对用户提供了多种接口,包括电源接口,液晶显示器接口,SIM卡接口,充电器接口,耳机接口,麦克风接口,以及用于其他特殊目的的多种外围设备接口。终端的微处理器Rabbit 3000通过串行接口控制Q2403A,完成上网、建立连接、发送数据等功能。Q2403A通过GPRS发送数据时的下载速度是26.8kbits/s,上传速度为13.4kbits/s。
3. 软件系统设计
系统的软件设计包括控制中心子系统和远端数据采集模块子系统。图3给出了整个软件系统的结构图。
3.1 远程控制中心软件设计
远程控制中心软件子系统的开发平台采用NI公司的Labview 7.0,该软件具有友好的用户界面,可以把所有的采集数据存入数据库,并可实现波形的显示和分析。按照功能可以分为以下几个模块:
通信管理模块一方面将指令和SIM卡号等数据封装成IP包经过GPRS网络发送到远端数据采集模块,启动数据采集;另一方面接收远端数据采集模块发送上来的IP数据包,从中提取数据包编号、SIM卡号、时间等固定信息以及测量所得数据。
数据显示模块用三维动画的形式直观地显示信号特征。
数据入库模块将通信管理模块拆包得到的测量数据存入数据库。
数据查询模块支持已获得授权的用户进行历史数据查询。
3.2 远端数据采集模块软件设计
远端数据采集模块的软件开发平台为Dynamic C语言,Dynamic C是由Z-World公司为Rabbit系列微处理器提供的软件开发工具,适用于编写嵌入式软件,是扩展了的C编程系统。远端数据采集模块主要实现以下几个方面的功能:
微处理器初始化模块主要包括Rabbit3000的定时器初始化、中断管理初始化、串口通信初始化等。
Q2403A初始化模块是基于AT指令集完成的,微处理器Rabbit 3000通过串行接口将设置波特率、设置接入网关等的AT指令发送给Q2403A,完成对Q2403A的初始化。
登陆网关GGSN模块实现了Q2403A登录GPRS网关——GGSN的过程。该过程分为三个阶段:创建阶段、认证阶段和网络协商阶段,并且二者通信时遵循PPP协议,具体过程如图4所示。
PPP协议[2]中提供了一整套方案来解决链路建立、维护、拆除、上层协议协商、认证等问题,主要包含LCP(Link Control Protocol)、PAP(Password Authentication Protocol)和IPCP(Internet Protocol Control Protocol)等协议。Q2403A在拨号后首先要与GPRS网关进行通信链路的协商,即协商点到点的各种链路参数配置,其中LCP协议用于建立、构造、测试链路连接;PAP协议用于处理密码验证部分;IPCP协议用于设置网络协议环境,并分配IP地址。协商机制用有限状态机的模型来实现。
一旦协商过程结束,ppp链路创建完成,Q2403A分配到了动态的IP地址,这样数据采集模块就可以按照协商的标准与远程控制中心进行IP报文的传输了。
数据采集模块的功能为在Rabbit3000的控制下,由A/D转换电路完成对传感器输出信号的模数转换。
通信管理模块一方面接收控制中心发送过来的命令,启动数据采集;另一方面将SIM卡号和测量所得数据等封装成IP包经过GPRS网络发送到控制中心。
4. 结束语
当前,无线数据传输和处理已成为业界研究的热点,本文所介绍的无线数据采集系统以GPRS作为承载网络,利用了GPRS网络覆盖范围广,可靠性高,费用低廉等优势,具有良好的应用前景和实际意义。该系统非常适合于在边远地区或可移动系统中实现无线的数据采集和监控。
参考文献:
[1]. 吴青萍 GPRS技术及其应用 《河海大学常州分校学报》2002年6月 54~57
[2]. 关宇东等 嵌入式单片机PPP协议的应用研究 《电子技术应用》2003年第2期 18~21