扫描二维码
随时随地手机看文章
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所示。
[!--empirenews.page--]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显示和键盘模块,以实现数据的实时显示,现场工作人员可以通过键盘对系统进行简单的控制;完善服务器端上位机软件,提供更为友好的数据显示界面。