基于SIM900A的无线数据采集卡设计与实现
扫描二维码
随时随地手机看文章
摘要:为实现数据采集卡的无线通讯、有效传输,满足智能化需求,设计了一种基于SIM900A的无线数据采集卡。数据采集卡主要采用SIM900A芯片实现数据GSM/GPRS无线传输,将采集到的数据传送至远程终端。本设计改善了传统数据传输模式,提供了更趋向于智能化的功能。经验证,系统运行可靠稳定,具有低成本,低功耗,应用范围广等特点,和很好的应用前景。
关键词:SIM900A;数据采集;GSM/GPRS;无线通讯
0 引言
数据采集技术主要指从传感器输出的微弱信号,经信号调理、数模转换到存储、记录这一过程所涉及的技术。当前被广泛应用的数据采集卡大部分以电缆或插槽连接,受到插槽数不足、安装不便、传输距离等众多因素的限制。伴随着无线通信技术的发展,使用简单、分布灵活的无线数据采集卡慢慢涌现出来,成为数据采集卡新的重要发展方向。目前,无线数据采集卡的实现多以zigbee,nRF905,WI_FI等无线通讯技术为主。而SIM900A芯片在众多项目中的成功实践,为实现数据采集卡的无线通讯提供了新的思路。因此,设计这种低功耗的基于SIM90 0A的无线数据采集卡,以满足用户越来越多的新要求。
1 无线数据采集卡整体设计方案
无线数据采集卡主要由电源模块、主控模块、数据采集模块、无线通讯模块、外围接口和远程终端6部分组成。数据采集模块采用温度传感器DS18B20组成,采集温度数据。主控模块选用ATMEGA128作为主控芯片,使用其定时器功能定时采集温度、蓄电池电压等参数信息,利用主控芯片中的AD转换模块,将采集到的模拟量转换为数字量,再经主要由SIM900A构成的无线通讯模块传送给远程终端。远程终端可以为手机或上位机LINUX终端平台,经由处理后存储到数据库中,以备日后查询。系统结构图如图1所示。数据采集卡由电源模块供电,保证系统正常运行。我们设计的电源模块具备太阳能充电功能,从而确保数据采集卡的持久供电。此设计,具有低功耗,方便灵活,易于操作,几乎不受空间条件的限制等特点。
2 数据采集卡硬件设计
2.1 电源模块
电源模块给无线数据采集卡的主控模块、无线通讯模块和数据采集模块供电。该电源模块同时带有太阳能充电功能和电池电压检测功能,保证系统持久供电。电源模块硬件电路如图2所示。因为数据采集卡中主控模块电压要求2.7~5.5V,无线通讯模块电压要求3.4~4.5V,所以选用3.7V作为供电电压。由于无线通讯模块启动电压很大,故特意设计了一个感抗值比较大的电感(图2中L1)。在系统启动时产生较大瞬时电动势,使电流达到2A以上,足以达到无线通讯模块的启动要求。
2.2 主控模块
主控模块选用ATmega128作为主控芯片。主控模块硬件实现电路如图3所示。ATmega128是ATMEL公司生产的一款基于AVR RISC结构的低功耗CMDS 8位单片机,带有非易失性的程序和数据存储器,8路10位ADC。AVR核将32个工作寄存器和丰富的指令集联结在一起,通过一个时钟周期内执行一条指令同时访问两个独立的寄存器,ATmega8可以取得1 MIPS/MHz的性能,这种结构提高了其性能。ATmega128负责把数据采集模块采集回的模拟量转换为相应的数字量,并组建数据报,使用串口通过AT指令操作无线通讯模块将数据报文发送出去。
2.3 无线通讯模块
无线通讯模块采用SIM900A芯片实现,主要负责实现与远程终端的数据传输功能。SIM900A模块是一款尺寸紧凑,内置TCP/IP协议栈的GSN/GPRS模块。利用SIM900A的特性,本设计提供两种数据传输模式。一是基于GSM的短信传输模式,用户通过手机短信发送指令,返回采集的数据参数;二是基于GPRS的传输模式,用户经由计算机LINUX终端界面,控制采集数据。无线通讯模块硬件实现如图4所示。通过拉低端口1 PWRKEY开启和关闭模块,52管脚用于指示当前网络状态,根据发光二极管闪烁的频率可以判断手机卡是否在移动控制中心注册。30~33端口用于接手机SIM卡。
2.4 数据采集模块
数据采集模块采用单总线DS18B20温度传感器,采集温度数据值,送至主控模块单片机的F端口第0位(PF0)。
3 数据采集卡软件设计
3.1 底层驱动程序
数据采集卡硬件部分,通过对ATmega128单片机编程实现对温度、蓄电池电压等参数的采集、处理、发送等功能。
采集卡上电复位后,驱动软件先执行初始化操作,初始化包括主控芯片的端口,串口波特率(与GSM/GPRS模块串口波特率一致),EEPROM中的固定参数,以及GSM/GPRS模块的GSM通道GPRS通道设置,模块串口设置。之后主控芯片定时判断是否有来自远程终端或手机短信的预设的数据请求命令接口。其外部时钟电路每分钟触发的一次中断信号,开始采集传感器中获取的数据值。当有命令传来时,就组建信息报文,通过串口将报文数据通过无线发送模块传送出去。串口通讯流程图如图5所示。
由于环境参数变化缓慢,在外部中断信号触发后,按照约定的采样间隔采集数据。数据保存在全局缓冲区中,减少多次调用采集数据指令,减轻了采集系统的负担。
3.2 终端平台软件设计
终端平台软件运行于装有LINUX系统的具有固定IP的计算机上。本设计选择LINUX操作系统作为软件开发平台,LINUX最大的特点就是免费开源,支持多用户、多任务、支持多线程和多CPU的操作系统。终端平台软件的设计,采用了模块化的设计思想,各功能模块之间功能相互独立,其中主程序是整个终端平台软件的核心,通过主程序有机地调用系统各类子程序及模块,形成一个联系紧密的整体,有条不紊地完成各项预定的操作指令。
终端软件平台软件采用多进程多线程编制,实现对基于GPRS的数据传输模式的数据参数的接收、显示、存储和控制。
3.3 数据库设计
数据库对基于GPRS的数据传输模式采集回来的数据参数进行存储,以备日后查看,为用户存储原始数据。本设计中采用MYSQL数据库,MYSQL是一个开放源码的小型关联式数据库管理系统,其体积小、速度快、总体拥有成本低,且满足设计需要。
4 测试效果
通过PROTEL完成PCB图的设计,发工厂完成PCB板的制作,完成元器件焊接后,下载程序,通电调试。经多次实验后,无线数据采集卡运行稳定,效果良好。测试效果如图6所示。
5 结论
本文设计的基于SIM900A的无线数据采集卡是利用SIM900A芯片、ATmega128单片机等组成的,通过无线通讯模块GSM/GPRS无线通信方式完成数据采集卡到远程终端的数据传输。本设计完成了无线数据采集卡硬件部分和软件部分的设计与实现,利用SIM900A的特性,改善了传统数据传输模式,提供了更加趋向于智能化的功能。本设计成本较低,运行稳定可靠,应用范围广,可用于远程无线数据采集、监控、存储等,有很好的推广价值。