基于TC35I的GSM无线数据采集系统的设计
扫描二维码
随时随地手机看文章
1 基于GSM的无线通信方案
基于TC35I的GSM无线数据采集系统为一个多点到一点的远程无线数据通信和控制系统。系统由多个数据采集终端和单个监控中心组成,其数据监控中心由计算机、数据库和通信接口组成,主要负责各种信息和数据的收发和处理、整理工作:一方面接收各个数据采集终端上传的信息和数据,并根据具体要求把它们放入相应的数据库;另一方面对各个数据采集终端发送相应的控制信息,从而达到对数据采集终端进行控制的目的。系统总体结构如图1所示。
2 系统硬件设计
2.1 终端数据采集部分设计
数据采集模块最主要的功能就是将传感器所采集到的模拟信号转换成单片机可以处理的数字信号,然后将数据进行相应处理并等待发送。设计中为了使数据采集终端占用尽可能少的空间,采用了SoC单片机C8051F040。C8051F040单片机是由Silicon Lab公司生产的完全集成的混合信号片上系统型MCU,具有一个8位带PGA和8通道采样率500 kS/s的ADC和一个12位带PGA和8通道采样率100 kS/s的ADC[3],本终端的数据采集部分即采用采样率为500 kS/s的8通道C8051F040片上ADC和前置调理电路来实现。
2.2 GSM通信部分设计
2.2.1 GSM引擎模块
系统中采用的GSM引擎模块采用德国西门子公司的一款GSM模块CT35I[4],CT35I支持双频900 MHz和1 800 MHz,支持语音、数据、短消息和传真服务,低功耗,是一款高度集成的GSM模块。它为远程测量与监控提供了一个理想的解决方案。
GSM引擎模块TC35I提供的命令接口符合GSM 07.05和GSM 07.07规范。GSM 07.07中定义的AT指令接口提供了一种移动平台(MS)与数据终端(DTE)之间的通用接口,GSM 07.05对短信消息作了详细的规定[5]。在TC35I模块收到网络发来的短消息时,能够通过串口发送指示消息通知微处理器,系统的数据监控终端可以向TC35I模块传送各种命令消息达到控制数据采集终端的目的。
2.2.2 GSM数据通信模块
数据通信模块主要功能:在监控中心,实现GSM模块TC35I与PC机的通信;在数据采集终端,实现GSM模块TC35I与微处理器C8051F040的通信。串行接口是控制单元(PC机或微处理器C8051F040)与TC35I模块进行连接的通道,同样是利用AT指令控制TC35I模块及进行数据传输的关键所在。
在监控中心,以计算机为控制单元,配合MAX232接口芯片与TC35I进行通信。在数据采集终端,以单片机C8051F040为控制单元可以直接与TC35I进行通信。
3 系统软件设计
本节主要阐述GSM功能模块的AT指令编程、PDU短信格式和采集终端的软件设计,而监控中心的软件采用VC2005编写,在此不予阐述。本数据采集系统终端为了保证实时性采用了开源的μC/OSII实时操作系统,终端的软件设计主要是实时操作系统的任务设计。
3.1 GSM功能模块的AT指令编程
在ESTI(欧洲电信标准协会)定制的SMS/GPRS规范中,与短信消息收发有关的规范主要包括GSM 03.38、GSM 03.34和GSM 07.05。前两者着重描述SMS的技术实现(含编码方式),后者则规定了SMS的DTE-DCE接口标准(AT指令集)[4]。TC35I模块是采用AT指令集进行控制的,采用AT指令对其进行参数设置,实现数据的接收与发送,在GSM 07.05和GSM 07.07标准中对一些标准的AT指令作了详细的规定。
对TC35I的初始化的AT指令流程顺序为:进行AT指令测试、设定通信波特率、禁止TC35I指令回写(防止通信混乱)、设定PDU格式、设定模块工作方式。其对应的具体指令形式如表1所示。其中AT指令以ASCII码形式给出。
3.2 PDU短信格式
短消息的发送可以采取两种数据格式:文本格式和PDU格式。使用文本格式,应用程序需要一套预置编码选项,而且应用效果不好。如果使用PDU格式,则支持任何编码。本系统采用PDU格式短信。PDU的发送协议格式如表2所示。
PDU的接收协议格式和发送类似,不再赘述。
3.3 基于μC/OSII的主要任务设计
本终端主要有3个任务: (1)接收监控中心指令任务:接收来自监控中心的命令信息、命令信息协议解释,并将解释完成的指令传送给第2个任务进行终端采集控制;(2)数据采集与处理任务:执行任务1的命令,根据任务1的命令进行数据采集与相应处理,并把处理完成的数据送到第3个任务进行发送; (3)发送数据到监控中心任务:完成数据的发送。任务程序的总体流程图如图2所示。
任务1的具体流程:等待监控中心指令的到来,此时任务处于睡眠状态等待指令数据中断信号量的到来,当信号量发生时任务判断接收到的具体指令格式是否有效,如果有效接受本指令,并根据预先约定的协议进行命令解释,把解释完成的命令放入消息队列1中。任务流程图如图3所示。
任务2的具体流程:等待消息队列1中的消息,此时任务处于睡眠状态,当有消息到来时,从消息队列中取出指令,并根据指令内容(采集时间点、时间间隔、采样通道等)进行数据的采集,并把采集到的数据格式转化成协议约定的数据格式,把本数据放入消息队列2中。任务流程图如图4所示。
任务3的具体流程:等待消息队列2中的消息,此时任务处于睡眠状态,当有消息到来时,从消息队列中取出待发数据,并进行发送。如图5所示。
本文设计实现了一种基于TC35I的GSM远程数据采集系统,与其他数据采集系统相比,该系统具有应用范围广、可配置性强、多功能、高性价比、跨地域作业等特点,具有很好的应用前景。经试验验证,基于TC35I的GSM远程数据采集系统达到了预期设计目标,具有较高的实用和参考价值。