- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于GPRS的远程数据采集系统设计
系统采用AT89C52作为控制主芯片,在电路设计上可省去外接程序存储器,缩小了PCB板的面积,也提高了整个系统的可靠性。由于系统处理的是短消息字符串,片内256字节的RAM远远不够用来处理大量的字符串数据,因此在片外连接了一块静态存储器6264,拥有8K字节容量,就可以满足系统的要求。本系统模数转换电路采用ADC0809这块芯片来实现A/D转换功能。为了扩充电路,系统需要加上一些外围电路,如开关量输入和输出,在其输入通道中,为了防止外界对控制系统的干扰需要采取一些隔离措施。常用的隔离方法是采用变压器耦合或光电耦合,变压器耦合器仅限传送交变信号,且体积和功耗大,易产生电磁干扰,而光电耦合器能传送各种信号,还具有体积和功耗小、抗干扰性能强等优点,所以,系统采用了光电耦合器;在其输出通道中,为了能控制大功率电器运行,一般要加一个驱动器,同时为防止现场强电磁干扰或工频电压通过输出通道反串到测控系统,也需要采用通道隔离技术,常用的也是光电隔离技术,因为光信号的传送不受电场、磁场的干扰,可以有效地隔离电信号[3]。
本系统无线数据传输模块用MOTOROLA的G20 GPRS无线模块,通过拨号的方式登陆中国移动的GPRS网络。GPRS无线通讯网络是在GSM网络的基础上构建的,由GSM的电路交换过渡到了分组交换,支持TCP/IP协议,理论最高速率可达171Kbps。GPRS网络很适合数据量少的、瞬时性的环保数据的无线传输。CPU模块通过集成的RS-232与G20接口。因为CPU模块串口与G20模块串行接口间电平不一致,需加电平转换电路。系统中主要使用G20模块传输数据,在数据通信中,用于接受和发送数据的设备称为数据终端设备DTE。用来连接DTE与数据通信网络的设备称为DCE。在本系统中,单片机是DTE,G20模块是DCE。
4 系统软件设计
单片机系统除必要的硬件支持外,还要进行软件设计。由于使用的单片机是MCS-51系列的单片机,故所有的软件选择用汇编语言进行的。
4.1 主程序设计
主程序是对整个系统框图的描述(如图3)。本系统主程序的功能是上电后,完成系统初始化,包括设置波特率为9600bps,定时器T1工作方式2,定时器T0工作方式1,串行口工作方式1,赋毫秒、秒、分的计数初值,开定时中断,设外部中断INT0为边沿触发方式等;接下来进行数据采集,对八路通道进行循环采集,每一路采集10组数据,通过外部中断INT0进行每次采集,够十次后关中断;进行数据处理(平均滤波),将处理后的数据存入缓冲区,等待发送;接下来进行开关量输入输出处理程序将其开关量状态也存入数据缓冲区,等待发送;整个发送是通过定时中断来控制的,设置半小时发送一次采集数据和开关量状态[2,4]。
4.2 重要的子程序设计
(1)数据处理子程序:采用平均滤波的方法进行数据处理,即将连续采样10次的数据累加求和,同时找出其中的最大和最小值,再从累加中减去最大值和最小值,按8次采样值平均,即得有效采样值,存入发送缓冲区。
(2)开关量处理子程序:在初始化程序中设置好P1口的状态,放在位缓冲区2CH中,再判断开关量输入状态,由四位开关量输入控制四位开光量输出,输出的开关量通过反向驱动器、光电隔离和继电器后可接大功率的器件,同时将开关量输入输出的状态送入发送缓冲区。
(3)定时中断子程序:考虑经济原因和现实需要,通过定时器T0中断来控制发送数据。
(4)发送数据子程序:首先将发送缓冲区的数据进行ASCII码变换,再将成其转换为发送短消息时所需要的七位GSM码,最后由发送程序将数发送出去。
5 总结
本文设计了基于GPRS远程数据采集系统,是通过现有的GPRS网络,利用短消息方式,进行单片机和G20模块开发板的远程数据采集。分析了远程数据采集系统的硬件电路设计方法、GPRS模块利用短消息方式传输数据、以及远程采集系统的软件设计。实现了远距离采集数据与GPRS无线数据传输技术相结合,摆脱有线困扰,使得系统有广泛的适用范围和较高的使用价值。如多点的温度、湿度采集系统,分布式压力检测控制系统,在工业控制、仓库环境监测和物理实验中物理量的采集等领域都有广泛的应用。
本设计创新点:在于采用AT89C52单片机控制GPRS模块(G20),利用短消息传输来实现远程数据采集系统。
来源:维库开发网