文献标识码: A
文章编号: 0258-7998(2011)12-0033-04
目前,典型的水情测报系统一般由传感器、遥测站和数据中心(上位机)构成。其中遥测站常常被放置于远离城市的偏远地方甚至野外,因其环境恶劣,为系统的建设、维护、检修等带来了很大的困难[1]。水情测报系统复杂而庞大,而如何实现现场遥测站与数据中心的通信也是水情测报系统中必须要解决的问题。本文提出了一种基于GPRS的水情测报系统,通过采用GPRS无线通信技术实现了现场遥测站与数据中心之间的透明传输。通过实际应用,该系统具有可靠性高、可扩展、检测精确、维护方便等优点。
通用分组无线业务GPRS(General Packet Radio Service),是在现有GSM系统上发展出来的一种新的承载业务,目的是为GSM用户提供分组形式的数据业务。GPRS允许用户在分组交换模式下发送和接收数据,从而提供了一种高效、低成本的无线分组数据业务[2-3]。在有线不普及和布线困难的地方,借助于无线手段,使整个系统具有工程造价和资源成本低、传输数据受地域的影响小、可靠性高、维护率低的特点。GPRS技术大幅提高了网络资源的利用率,是目前无线数据传输应用中最广泛的技术之一[4]。本文采用GPRS技术作为遥测站与数据中心之间数据传输的通道,成功实现了对水情的实时在线检测。
1 系统总体结构
基于GPRS的水情无线采集系统的总体结构如图1所示,系统主要由现场遥测站、数据采集传输网络(GPRS和Internet)及数据中心构成。
遥测站安装在水库、大坝、海口等现场,主要实现对水情的各种参数的实时采集、处理、存储等功能,并将测量到的信息(如雨量、水位等)通过GPRS模块发送给无线传输网络,同时将GPRS模块作为接收数据中心相关命令的有效途径。遥测站既可以通过数据中心的命令控制其工作,也可脱离数据中心单独工作。单独工作时,其相关参数及命令通过遥测站面板上的按键输入。
数据中心安装在水利部门的办公楼内,通过Internet网络完成对遥测站发送过来数据的接收、处理、存储、信息查询和编制水文图表等功能。另外,还能通过Internet网络实现向现场遥测站发送相关参数和命令的功能。
数据采集传输网络由GPRS无线模块和Internet网络构成,它是现场遥测站与数据中心之间的无线数据传输通道,其传输过程是:遥测站将现场采集到的数据,传至微处理器,利用GPRS模块对数据打包封装后发送到GPRS网络,GRPS网络又将数据通过移动网关发送到Internet网络,最后利用Internet将采集到的数据发送到连接互联网的数据中心主机。数据中心向现场遥测站发送运行参数和命令的过程正好与上述相反。在遥测站的GPRS模块上安装一个SIM卡,将数据中心开通网络服务,实现同互联网的连接。这样就可以通过GPRS和Internet网络实现现场遥测站与数据中心主机之间的无线透明传输。
2 遥测站硬件设计
遥测站的硬件即数据采集终端,以AT91SAM9260ARM处理器为核心,包括一个高精度的MH-GA 超声波物位仪、电源模块、GPRS通信模块(MC55)等。AT91SAM9260ARM处理器由A/D通道采集MH-GA超声波物位仪的信号,经过分析处理保存,再通过RS232串口将水位数据发送给MC55无线模块,并通过GPRS网络将数据发送给数据中心。系统硬件框图如图2所示。
AT91SAM9260是爱特梅尔公司集成最新的ARM926-EJ-S[TM]ARM Thumb内核的工业级处理器,拥有8 KB数据缓存、18 KB指令缓存、MMU单元、在180 MHz频率时有200 MIPS指令运行速度,内嵌1个32 KB ROM、2个4 KB RAM,集成有EBI、USB、DMA等外设[5];通过VDDCORE管脚提供内核电源(包括处理器、内嵌存储器和外设),额定电压为1.8 V,相应的接地引脚为GND;VDDANA管脚提供ADC额定电压3.3 V的电源,接地引脚为GNDANA。数据采集过程充分利用内部ADC来完成,以降低功耗、减少芯片数量、提高可靠性。而且A/D接口在不用时还可作为GPIO使用。为给系统提供一个永久的低速时钟,配有实时时钟芯片PCF8563。为了方便数字语音、图像、程序代码和各种数据的存储应用,处理器外围电路还配有运行速度快,方便读、修改和写操作的DATA Flash芯片AT45DB161D。
2.1 采集模块
由于现场情况特殊,选用的传感器要具有抗干扰能力强,耐潮湿、耐高温和耐腐蚀气体及可靠性高、性能稳定等特点。本系统选用了MH-GA 超声波物位仪。该仪器具有完善的物位测控功能、数据传输功能和人机交流功能。主芯片采用进口工业级单片机,数字温度补偿和宽电压输入稳压等,拥有模拟量及RS485/232输出,可方便与主机连接。
AT91SAM9260芯片内部带有4路模拟信号输入,是基于逐次逼近寄存器(SAR)的10 bit模/数转换器(ADC)。本系统采用ARM9处理器内部的10 bit A/D实现数据的转换。由于MH-GA超声波物位仪输出的是4 mA~20 mA的电流,而A/D接收的必须是电压信号,因此需要电流取样,在MH-GA和A/D之间加一个高精度电阻,让电流经过150 Ω的采样电阻转换之后,通过RC滤波电路进行滤波,最后引出采样电压信号连接到A/D转换器。传感器输出与A/D转换器之间的连接如图3所示。
通过设置休眠模式为0来选择普通模式,设置控制寄存器ADC_CR的开始位为1 bit,写入1触发软件触发器,开始进行A/D转换。ADC使用ADC时钟来执行转换,因此,设定单一的模拟值转换为10 bit数据值时的取样和保持时钟周期为8 s。当一个转换完成后,所产生的10 bit数字值被存储在ADC_CDR和ADC_LCDR寄存器中,一直保持到一个新的转换完成。当读取一个ADC_CDR寄存器时,就会清除相应的EOC位,读ADC_LCDR时清除DRDY位,并且EOC位与最后转换的通道一致。
2.2 GPRS通信模块
GPRS通信模块是现场遥测站接入无线网络的接口,同时也是实现遥测站与数据中心无线双向通信的重要部件,其性能的好坏直接关系到水情测量系统是否能正常、稳定、准确地运行。为减少成本、缩短开发时间,本文选用MC55无线模块。MC55为SIEMENS公司推出的被誉为当今世上最具价值、尺寸最小的三频GSM/GPRS模块,除具有普通GSM模块的通话、短信、电话簿管理、电路交换数据(CSD)传输等功能和无线MODEM的GPRS连接功能外,内置完整的TCP/IP协议栈,不仅支持SOCKET 连接下的TCP/UDP数据传输,还支持HTTP、FTP、SMTP、POP3等上层应用协议[6]。MC55的使用说明如下:
(1)MC55的电源由单一电压源VBATT+3.3 V~4.8 V供电。由于VDD引脚在电源掉电模式下无法工作,因此,VDD引脚用来判断MC55是否处在电源掉电模式。
(2)MC55提供6个专用引脚与SIM卡连接;将MC55的CCVCC引脚与SIM卡的CCVCC引脚相连,作为SIM卡的电源,必须使用SIM卡的CCGND作为电源地。
(3)MC55的软件存储在快速闪存器的一个紧凑型的“叠层闪存/SRAM”设备中,静态随机存储器为GPRS的连接提供了额外的存储空间。
(4)MC55包含ASC0和ASC1两个串行接口,为综合人机界面提供最大的适应。
(5)关闭MC55模块,必须使用指令“AT^SMSO”,确认MC55关闭后才能切断电源。如果系统时常断电,一定要有备用电池,以保证无线模块的正常工作。
3 数据中心
数据中心主要由监控主机、数据库服务器和打印机构成。其中监控主机通过固定IP接入Internet,然后再通过移动网接入GPRS网络。这种连接方式相对于其他方式具有接人带宽大、数据传输安全性高、实时性好及运行成本低等优点[7]。数据中心是水情测报系统采集信息的最终接收中心,具有双重功能:(1)通过GPRS网络和Internet网络接收现场遥测站发送过来的数据采集信息,并对接收的信息进行检查、存储、显示和打印等处理,从而实现对现场水情的实时在线监测功能;(2)将相关设置参数和控制命令一起打包通过Internet网络、GPRS网络、GPRS模块(MC55)发送给现场遥测站控制单元,从而实现对遥测站的实时在线控制功能。
4 软件设计
该数据采集终端选用目前较为流行的ARM处理器和Linux实时嵌入式操作系统。由于Linux具有开放源代码、支持多种类型硬件驱动、内核更新速度快、网络功能强、免费下载等优点,是嵌入式操作系统中完整廉价的开发工具[8]。
4.1 遥测站软件设计
系统通过AT91SAM9260不断检测GPRS模块是否有传输命令,如果有,则直接建立连接,将数据打包后发送给数据中心;如果没有,则定时启动A/D采集数据。本系统设定时时间为1 h,采集完成后先将数据保存,然后将存储的数据根据传输协议打包封装后,经串口发送给GPRS通信模块,再利用AT指令控制GPRS通信模块将数据发送到Internet网络,最后数据就可以发送到数据中心。数据传输流程图如图4所示。
4.2 GPRS模块与Internet的连接
由于GPRS(MC55)没有在线模式和命令模式,所以对它的控制均通过AT指令[9]实现。AT指令是一个标准接口,指令和响应格式都很固定。MC55中内嵌了TCP/IP协议,其与Internet的连接需要用到如下指令:
(1)通过at^sics指令建立连接配置
at^sics=0,conType,GPRS0 /*配置连接类型为GPRS0,
连接ID为0*/
at^sics=0,user,liaocheng /*用户名为liaocheng*/
at^sics=0,passwd,liaocheng /*密码为liaocheng*/
at^sics=0,apn,cmnet /*GPRS接入点APN
选用公网默认值cmnet*/
(2)通过at^siss指令建立服务配置
at^siss=0,srvType,socket /*设置0号服务配置,
服务类型为SOCKET TCP客户端*/
at^siss=0,conId,0 /*按0号配置连接*/
at^siss=0,address,socktcp://192.168.0.243;5000/*ip地址
也可以改为相应的主机域名,端口号设为5 000*/
(3)使用at^siso指令启动连接
at^siso=0 /*开启SOCKET连接*/
at^sisw=0,<ByteNum>/*请求0号服务器,
发送ByteNum个数据*/
at^sisr=0,<ByteNum>/*请求从Internet上
接收ByteNum个数据*/
请求发送的字节在TCP方式下不允许超过1 500个。
发送数据或者接收数据完成后,通过如下命令关闭Internet服务:
at^sisc=0
4.3 数据中心软件设计
数据中心软件同样采用模块化程序设计思想,主要实现水情测报系统的系统化、自动化,从而减少工作量,提高效率。数据中心软件的主要模块有:
(1)系统管理模块:包括系统登录,密码修改、添加或者删除系统信息等操作。
(2)数据通信模块:用于显示遥测站与数据中心的连接情况,并完成数据信息的接收及相关命令的发送。
(3)显示查询模块:实现数据的存储、查询、删除和打印、系统运行状况、测站和系统的特征参数等;并且通过下拉菜单可以选择特定的测报点和指定的日期进行查询。
(4)用户设置模块:实现用户信息的设置和修改。
(5)帮助模块:为用户提供方便快捷的在线式联机帮助。
系统数据中心软件选用VB6.0工具开发。VB6.0简单易学、功能强、效率高。数据库软件有两种选择,一种是桌面数据库Access,它是一种小型的数据库;另一种是基于服务器端的数据库SQL Server,无论在功能上还是容量上都比Access强大。但由于水情信息数据量小,且Access简单好用、创建和配置都比较方便,因此,本设计选择了Access作为数据库。
本文利用GPRS技术实现水情测报系统中现场遥测站与数据中心之间的数据信号传输,在充分发挥GPRS网络技术优势的基础上,同时借助现代计算机技术和嵌入式技术,设计了一种新型水情测报系统,成功实现了对现场水情的实时无线测报。应用结果表明,系统运行稳定可靠,能够满足防灾减灾的水情报汛的要求。而且该系统具有成本低、可靠性高、性能稳定等优点,对水情测报系统的建设具有重要的推动作用,有推广价值。
参考文献
[1] 崔艺馨.基于CDMA网络的水情测报系统研究[D].山西:太原理工大学,2010.
[2] 刘有珠,李舒亮,朱杰斌.基于GPRS的低压配电网实时管理系统[J].电力自动化设备,2009(4):131-134.
[3] 李昌盛,金瓯.基于GPRS网络的自动售货机监控系统的设计与实现[J].计算机测量与控制,2008,16(3):327-329.
[4] 刘有珠,李舒亮,李杰斌.基于GPRS的低压配电网实时管理系统[J].电力自动化设备,2009,29(4):131-134.
[5] AT91 ARM Thumb microcontrollers AT91SAM 9260 preliminary.pdf[EB/OL].http://www.atmel.com/dyn/resources/prod_documents/6221s.pdf.2007-09-05.
[6] SIEMENS Co.MC55/MC56 hardware interface description & MC55 AT command set & MC55 release notes[M].[S.1.]. 2005.
[7] 陈志武,杨学清,丁莉芬,等.基于GPRS的混凝土配料无线控制系统[J].计算机测量与控制,2010,18(11).
[8] 王蕾,陈功新,陆玲,等.基于ARM-Linux的嵌入式系统GUI开发研究[J].微计算机信息,2007(29):122-124.
[9] 王典洪,梁娟,熊月华,等.基于MC55和LPC2136的GPRS用电监测终端的实现[J].数据采集与处理,2006,21:258-261.