摘 要:提出一种由GPRS模块SIM300C和单片机AT89S52组成的远程数据采集和传输终端,介绍了系统的硬软件设计。该系统以单片机为主控制器,配合A/D转换电路、SIM300C模块及其外围电路,将传感器端采集的模拟电压或电流信号进行A/D转换,由单片机将相应的数字量打包,通过串口发送给SIM300C模块,SIM300C模块自动将要发送的数据打包成TCP/IP数据包,经GPRS无线通信网络发送给远端的服务器。实验结果表明,该系统运行稳定可靠、数据传输及时高效。
关键词:GPRS;SIM300C;远程数据采集传输;A/D转换
农业具有对象多样、地域广阔、偏僻分散、通信条件落后等特点,在绝大多数情况下,农业观测现场经常无人值守,导致信息获取非常困难。要解决这个问题,需实现数据的远程传输与交换[1]。通用分组无线技术GPRS(General Packet Radio Service)是在现有的GSM系统上发展起来的,充分利用了GSM系统的无线结构,在移动用户和数据网络之间提供一种连接,向移动用户提供无线IP服务[2]。采用GPRS方案对数据量少、突发式、频繁传送的农业监测数据传输是一种较好的选择。
为了满足数据传输终端低成本、小型化和移动灵活等要求,广泛采用微处理器对GPRS模块进行控制。早期厂家推出的GPRS模块都不支持TCP/IP协议,因此,需要在微处理器中嵌入TCP/IP协议,这样既增加了硬件的负担,又增加了硬件的成本[3-4]。近几年,SIMCOM、SIEMENS等公司推出内嵌TCP/IP协议的GPRS模块,不仅降低了GPRS模块对微处理器的要求,还缩短了用户的开发周期。针对水产养殖环境监测系统数据传输频繁、数据量较小、现场改造困难、布线成本高等特点,本文介绍的系统采用GPRS技术,用低成本的单片机,A/D转换芯片,以及内嵌TCP/IP协议的GPRS无线通信模块SIM300C,实现水产养殖环境数据采集和数据的远程传输。
1 系统构成
远程数据采集传输终端以单片机AT89S52为主控制器,实现现场数据采集和远程数据传输两大功能。传感器采集的8路模拟信号以差分方式送入2片A/D转换芯片并转换成相应的数字量,每一轮转换结束后,单片机将16组数据放入1个数组中并添加帧头和帧尾,通过串口发送给SIM300C模块, SIM300C自动将要发送的数据打包成TCP/IP数据包,并通过GPRS网络与Internet上的服务器建立连接,将采集到的数据发送给服务器。
2 系统硬件设计
系统硬件设计分为A/D转换硬件设计和SIM300C模块外围电路设计。
2.1 数据采集与A/D转换硬件设计
A/D转换单元采用2片A/D转换芯片MAX186[5]。MAX186是MAXIM公司的8输入通道12位串行输出的A/D转换芯片,其输入端既可以单端输入8路模拟信号,也可差分输入4路模拟信号。MAX186主要信号线有:串行数据输出(DOUT)、串行选通脉冲输出(SSTRB)、串行数据输入(DIN)、低电平有效芯片选择(CS)、串行时钟输入SCLK。这些信号分别与单片机的P0.0~P0.4相连,另1片MAX186与单片机的P2.0~P2.4相连,如图1所示。AT89S52通过P0.3实现对MAX186的片选;通过P0.4向MAX186的SCLK送入串行时钟信号;通过P0.2向MAX186的DIN输入8位控制字;通过P0.1接收MAX186的SSTRB脚的电平输出,电平由低变高说明模拟信号经采样保持、A/D转换完毕,AT89S52可以接收数据;通过P0.0读入MAX186 DOUT引脚串行输出的12位数字量[6]。
2.2 SIM300C外围电路设计
SIM300C是SIMCOM公司的无线通信模块。该模块尺寸小、功耗低,内嵌强大的TCP/IP协议,提供通用的AT控制命令[7]。SIM300C内部集成了完整的射频电路和GSM基带处理器,提供2个串口、1个SIM卡接口、通用I/O接口等[8]。这些接口信号都通过60针的板对板连接器进行连接。
2.2.1 电源
SIM300C模块的1、3、5、7、9脚为电源输入引脚VBAT,2、4、6、8、10脚是地。由于模块的供电电压为3.4~4.5 V(典型值为4.2 V),采用 5 V供电时,需要进行5 V到4.2 V的电压转换。设计中使用MICREL公司的MIC29300系列芯片为SIM300C提供4.2 V的电压,其输出电流可达到3 A,能够满足SIM300C的要求。电源电路如图2所示。
2.2.2 串口和SIM卡接口
SIM300C模块为用户提供了:通用串口和调试串口。因为模块提供的2个串口都是TTL电平,需通过电平转换芯片,将TTL电平转换成RS232电平。设计中采用MAXIM公司的MAX232芯片进行电平转换,使用TXD、RXD、GND 3根线构成3线串口。
SIM300C模块提供的SIM卡接口信号有:VSIM-SIM卡电源、SIMRST-复位、SIMCLK-时钟、SIMDATA-数据。SIM卡与模块之间通过SIM卡座进行连接,设计中采用6针SIM卡座,其信号线主要有:电源(VCC)、地(GND)、复位(RST)、状态(VPP)、时钟(CLK)、数据(I/O),其中状态线VPP不接。SIM卡电源可以是1.8 V或3 V,RST、CLK、I/O 3个引脚分别连接22 ?赘电阻后,再与SIM300C的SIMRST、SIMCLK、SIMDATA相连,SIMDATA与VSIM间还需接1个10 k?赘的上拉电阻。另外,在SIM卡接口电路中,为了减小静电干扰,应使用静电防护器件,设计中采用了SEMI公司的SMF05C[8]。其硬件连接如图3所示。
3 系统软件设计
系统以30 s为1个采集周期,初始化完毕后,单片机通知GPRS模块连接服务器准备发送数据,连接服务器成功后,启动2片A/D转换芯片MAX186对8路传感器信号进行A/D转换, A/D转换结束后,向GPRS模块发送帧头FF AA,紧接着发送16组数据,最后发送帧尾0D 0A,等待下一个采集周期。系统工作流程如图4所示。
3.1 A/D转换
MAX186为串行工作方式,在进行A/D转换之前要对MAX186进行配置。首先将CS管脚置低电平选通芯片,在SCLK管脚输入外部时钟,在时钟SCLK的每1个上升沿把1个最高位为“1”的控制字节的各位送入输入移位寄存器,控制器收到控制字节后,选择控制字中给定的模拟通道,并在SCLK下降沿启动A/D转换。控制字节的格式如表1所示。在控制字节的最后1位之后,SSTRB管脚有1个时钟周期的高电平,在其后的12个时钟周期SCLK的每1个下降沿,转换后数据的各位出现在DOUT端,单片机从DOUT管脚读入12位数字量。
3.2 GPRS通信
在GPRS通信中,有2种传输协议(TCP/UDP)可供选择。在本系统中,由于数据量相对较少,传输时间间隔较长,使用了更为可靠的TCP作为接入方式。
单片机通过串口使用AT指令[9]控制GPRS模块。系统启动后,为防止因上次使用时未关闭连接,造成连接服务器失败,所以单片机先向SIM300C发送关闭连接的指令:AT+CIPCLOSE,断开连接成功返回“CLOSE OK”。随后,单片机向SIM300C发送连接服务器命令:AT+CIPSTART=“TCP”、“202.205.84.222”、2020,用来将模块接入GPRS网络,使用“TCP”方式接入,服务器IP地址为202.205.84.222,侦听端口号为2020。连接指令送入GPRS模块后,单片机通过串口接收GPRS 模块返回的信息。返回“OK”说明指令正确,返回“ERROR”说明指令输入不正确,需要重新连接。等待一段时间后,GPRS 模块会返回1个字符串说明目前的连接状态:若返回“CONNECT OK”说明已经连上服务器;若连接失败,返回STATE状态:“CONNECT FAIL”,需要重新进行连接或者检查服务器的网络连接状态。
服务器连接成功后,单片机向SIM300C输入发送数据指令“AT+CIPSEND=20”,然后送入要发送的数据,包括帧头、16组数据及帧尾。
4 系统验证
对该系统的验证需要1台具有公网IP地址的计算机作为Internet上的服务器,1张开通GPRS功能的SIM卡且接入方式为CMNET,服务器数据收发DEMO软件。
实验中,将GPRS模块的串口与单片机串口相连,A/D转换芯片输入端以差分方式接入2路温度传感器PT100和1路湿度传感器。终端以30 s为1个周期,每1周期采集2片MAX186的8路差分输入模拟信号,采集结束,通过GPRS网络将数据发送到服务器。服务器端用Microsoft Winsock Control 6.0(SP6)控件开发了服务器端接收软件,完成对网络数据接收、数据存储及数据显示。服务器软件每次接收到终端的数据时,都将数据保存在一个文本文档内,并且记录接收数据的系统时间。图5为根据服务器文档记录的数据绘制的实验室24小时温度变化曲线。
测试结果表明:终端采集到的温度变化曲线符合实际温度变化,说明A/D转换部分能够准确地采集传感器输出的模拟信号;测试过程中,未发现GPRS模块与服务器端连接断开,观察服务器文本记录的数据,未发现数据丢失,数据均以30 s为1个周期被服务器接收,少数数据延迟几秒接收,说明以TCP协议进行数据传输是可靠的,即使无线网络发生拥塞时,也不会造成数据的丢失,而只是发生数据延迟。
本文设计的基于SIM300C模块的远程数据采集传输终端,具有成本低、体积小、布设方便、运行稳定等特点,克服了现场环境改造困难、布线成本高等问题,能够适应水产养殖环境中监测点分散和潮湿的环境,为现场环境数据的采集和数据的远程传输提出了一种解决方案。基于SIM300C的远程数据采集传输终端与远程服务器间可以通过GPRS无线网络进行可靠的数据传输,能够按设定的采集周期正确采集和传输现场环境数据,满足实际应用中对实时性的要求。在今后的研究中,需要为该系统增加LCD显示和键盘模块,以实现数据的实时显示,现场工作人员可以通过键盘对系统进行简单的控制;完善服务器端上位机软件,提供更为友好的数据显示界面。
参考文献
[1] 赵英红.基于GPRS的大棚智能监控系统的设计与实现[J].安徽农业科学,2008,36(18):7931-7932.
[2] 文志成,张伟.GPRS网络技术[M].北京:电子工业出版社,2005.
[3] 秦大兴,刘建,郑喜凤.基于GPRS模块MC35I的检测系统设计[J].仪表技术与传感器,2007(2):20-22.
[4] 黄振.远程心电检测技术研究[D].哈尔滨:哈尔滨工程大学,2006.
[5] MAXIM公司.MAX186 datasheet.1996.
[6] 戴新迪,刘玉强.串行12位AD转换器MAX186在便携式系统中的应用[J].黑龙江科技信息,2004(1).
[7] SIMCOM公司.SIM300 SPEC NEW.2005.
[8] SIMCOM公司.SIM300_HD_V3.03.2006.
[9] SIMCOM公司.SIM300_ATC_V1.06.2005.