共1条
1/1 1 跳转至页
基于GSM/GPRS的无线数据采集系统
本文针对远程测控问题.研制了基于MC35i的GSM/GPRS远程测控终端,对数据采集和无线通讯所涉及到的理论和实践进行了分析研究. 阐述了设计思路、调试过程及实验数据。
GSM是目前全球最成熟的数字移动通信标准,它具有模拟移动电话系统无可比拟的保密性和抗干扰性、音匝清晰通话稳定,并具备容量大、频率资源利用率高、接口开放、功能强大等优点。我国目前已建成了覆盖全国的GSM数字蜂窝移动通信网,是我国公众陆地移动通信网的主要方式。它提供多种业务.主要有话音业务、短消息业务,数据业务等,选择哪一种业务传进终端采集的数据对整个系统的性能有很大的关系。
1、远程通信方案
GSM/GPRS无线数传监视和控制系统为一个点到多点的远程无线双向数据通信和控制系统。系统由数据采集终端和监控中心两部分组成,其数据监控指挥中心由计算机网络,数据库和GSM/GPRS通信接口组成,主要负责各种信息和数据的收发和整理工作:一方面,接收各个监控点上传的信息和数据,并把它们放人相应的数据库和分发给相应的监控计算机,以实现对各个监控点的监控和管理;另一方面,监控中心响应监控计算机发出的对各个监控点的控制信息,并且把这些信息下发到相应的监控点上,从而达到对监控点设备进行控制的目的。
2、嵌入式系统选择
系统的任务就是希望实现嵌人式系统完成数据采集和利用无线移动网进行远程数据传输的功能。概括而言,此嵌人式系统的目标是:
? 对多路模拟信号进行实时检测井进行数据处理,将结果保存到指定的缓冲区内等待进一步址理。为了提高系统的扩展性和通用性,设计对l6路信号进行检测.其中8路信号转换精度为1O位,另外8路信号转换精度为16位。
? 提供标准的gS252串口来进行GSM/GPS模块的配置,包括数据传输所用串口的速率,通讯格式及信号质量检测等初始设置,实现数传功能
3、系统硬件设计
3.1 数据采集模块硬件设计
数据采集模块最为主要的目的就是将传感器所采集到的模拟信号转换成单片机可以处理的数字信号,然后将数据处理等待发送。系统拟定对16路信号进行采集,其中,8路信号精度要求为10位AD采集、8路信号精度要求为16位AD采集。
为了满足两类数据采集精度的要求和控制系统成本,必须选用两种类型的模/数(A/D)转换芯片。考虑到性价比和整体设计的可靠性,10位AD转换选用内部自带10位ADC的单片机,因而选择****R的高端单片机Atmeag128L,16位AD转换选用MAXIM 公司的MAX1 132。
3.2 无线通信模块硬件设计
(1) GSM/GPRS引擎模块
GSM 引擎模块提供的命令接口符合GSM07.05和GSM07.07规范。GSM07.07中定义的AT Command接口提供了一种移动台(Ms)与数据终端设备(DTE)之间的通用接口,GSM07.05对短消息作了详细的规定。在短消息模块收到网络发来的短消息时,能够通过串口发送指示消息,数据终端设备可以向短消息模块传送各种命令。
MC35i是西门子公司的第一款GPRS模块,它的接收速率可以达到86.20kbps,发送速率可以达到21.5kbps,当然最大的数据吞吐量还依赖于GPRS网络支持。MC35i也支持GSM900和GSM 1800双频网络。它为远程测量和监控提供了一个理想的解决方案,因此采用此模块。
(2) 数据通信电路
数据通信电路主要完成与PC机通信、短消息收发、软件流控制等功能。串行接口是控制单元和MC35i模块进行连接的通道,也是利用AT指令控制MC35i及进行通信数据传输的关键。从系统的总体方案分析,按终端和监控中心具有不同的控制单元,需要考虑两种用户通信环境及相应的硬件电路设计与选择。
? 在监控中心, 以计算机为控制单元,由于计算机内部的RS一232接口多数采用士12V供电的接口芯片,而MAX232的RS一232接口都是采用单电源(+3.3V或+5V)供电,由内部的电荷泵电路(倍压和倍压反相两种方式)产生接口所需的电源,这样就简化了电源设计。因此,在监控中心端,接收数据电路选择MAX232作为接口电路芯片。
? 在数据采集终端中,以单片机为控制单元,单片机使用TTL电平,SP3238是+3.0V +5.5V的RS232转换器。它可以完成TTL电平与RS232电平之间的转换及串口通信功能;具有低功耗、高数据速率、增强型ESD保护等特性。
从通用性考虑,终端的设计同时满足监控中心和采集终端的需要。因此,数据通信电路以TI公司的MAX232及sP3238芯片为核心,实现电平转换及串口通信功能。
4、软件设计
4.1 MC35i模块AT指令及其应用
在由ESTI(欧洲电信标准协会)制订的SMS/GPRS规范中,与短消息收发有关的规范主要包括GSM 03.38、GSM03.40和GSM 07.05。前二者着重描述SMS的技术实现(含编码方式),后者则规定了SMS的DTE-DCE接口标准(AT命令集)。
MC35i模块是采用AT指令集进行控制的,采用AT指令可以实现模块参数的设置,实现数据的发送与接收。在GSM07.05和GSM07.07标准中对一些标准的AT指令作了详细的规定。
有三种方式来发送和接收SMS信息Block Mode,TextMode和PDU Mode。PDU Mode 被所有手机支持,可以使用任何字符集,这也是手机默认的编码方式。下面介绍的内容是在PDU Mode下发送和接收短消息的实现方法。
4.2 系统通讯协议
MC35i模块有固定的传输参数:8位数据位和1位停止位,无校验位。在监控中心和远程数据终端之间进行数据通信采取的主要方式为短消息,因此短消息中每个数据信息代表的具体意义及短消息中数据的排列规则都需要通信的双方达成一致,因此通信双方必须具有数据协议。这种按照自定义的串口通信协议,简称为sP CP(Serial Port Communication Protoco1)。
SPCP协议设计思想基于帧传输方式,即向串口发送数据时是一帧一帧地发送。为保证可靠的传输,在传输开始前,通过协议建立连接,在每一帧的传输中,采用发送/应答/重连/失败方式进行。
4.3 系统模块程序设计
终端的通信模块设计是整个终端软件设计工作量最大的部分,从初始化串行通讯模块设计到与带SIM 卡的GSM/GPRS终端电路板的通信流程设计,需要兼顾软件的各个功能模块,包括参数设置、自动接收数据、请求数据以及信号判断等。
(1) 通信命令处理
通信数据处理主要是针对需要发送的数据和接收到的信息进行相关处理。通过MC35i模块的AT指令实现数据的收发,主要涉及到AT指令的分析和控制命令。
通常通信标准中给出的AT指令都是以ASCII字符提供的,事实上,采用单片机汇编语言编程,需要提供相关的十六进制代码。下面将部分测试中接收和发送的指令用十六进制数表示在括号中。如无特殊说明,AT指令都以ODH为发送结尾命令。
? AT指令测试命令
发送:AT(41 54 0D)
返回:AT OK(41 54 0D 0D 0A 4F 4B 0D 0A)
? 读取短消息命令
a 若读取一条空的消息
发送:AT+CMGR=2
返回:AT+CMGR:2 +CMGR:0,,0 OK
说明:AT+CMGR=**,**为整数类型,动感地带SIM卡只能存储25条消息,所以**的范围是(1-25),普通神州行SIM卡可以存储50条消息,所以 的范围是(1-50)。若超过了范围,则返回ERROR。返回“AT+CM GR=2+CMGR:0,,0 OK”说明第2条消息为空。
b 若读取一条有内容的消息
发送:AT+CMGR=1
返回:AT+CMGR=1+CMGR:“REC UNREAD”, “+8613811314845”, “04/09/23,23:20:07+32”abc OK
? 删除短消息
发送AT+CMGD=1(41 54 2B 43 4D 47 44 3D 31 0D)
返回:AT+CMGD=1 OK (41 54 2B 43 4D 47 44 3D 31 0D 0D 0A 4F 4B 0D 0A、
? 发送短消息命令
发送AT+CMGS=I381 1314845(41 54 2B 43 4D 47 53 3D 31 33 38 31 31 33 31 34 38 34 35 0D) 其中,“13811314845”为手机号
返回:> (0D 0A 3E 20)
发送:testing (74 65 73 74 69 6E 67 1A 0D)
返回:+CMGS:89 OK
(2) 串口初始化及功能说明
在系统开始运行前,首先检验CPU与GSM/GPRS模块的连接是否正确,这包括AT指令测试,信号检查并设置新消息来提示功能。其次,为了使新的数据信息能够及时收到,在系统开始运行前,要对SIM 卡中的短消息进行处理。
最后将SIM 卡中的数据读取一遍,若有消息,则读出并通知主程序处理,若处理完毕则删除。初始化完成后,确保SIM卡中消息都被读出, 并将所有消息删除。然后状态位SMS—AT_NO—STATUS=08H,说明SMS初始化完毕,可正常读写。
(3) 接收数据方式
通信数据的接收采用的是串口中断的接收方式。采用这种方式是因为无论系统工作在何种情况下,都能接收上位机发来的包含控制指令的短信,并予以响应。这样既从软件设计上保证了通讯过程的通畅,又节约了处理通讯数据的时间,可以把数据流以单个字节的形式接收,在通讯处理程序中集中加以分析,从而使通信程序更符合模块化的设计要求。
(4) 数据收发程序设计
自动接收数据,就是在没有人工干预的情况下,CPU一直循环检测串口数据区的状态,如果有数据到达,则根据不同的数据信息采取不同的操作。若数据是新消息,则把新消息代码直接存入相应的数据区;若是正常消息内容,则在读取完成后置标志,供主模块分析并应答,若数据超出正常范围,则放弃处理此组数据。
近年来,流行的GPRS网络是在现有GSM 网络中增加GGSN和SGSN来实现的,使得用户能够在端到端分组方式下发送和接收数据。本系统稍加改动可以实现GPRS下的数据传输。此时需要在嵌入式系统中增加实现PPP和TCP/IP协议的模块。同时采用适用于GPRS的AT指令。GPRS数据终端将数据打成IP包,经GPRS空中接口接入无线GPRS网络,由移动服务商转接到Internet,最终通过各种网关和路由到达统一的监控中心。同时监控中心的计算机需要有固定的IP,主要应用Winsock控件来实现接收数据,并通过UDP或者TCP协议进行数据交换。GPRS终端向监控中心发送数据是间断性发送, 可以根据需要调整发送数据的频率,这在一定程度上也降低了无线信息传输费用。
5、结论
本文在分析和总结现有的远程监控系统的基础上,结合当前无线通讯及嵌入式系统的新技术,研制了基于GSM/GPRS的无线远程测控终端。
通过本课题的研究,确定基于GSM/GPRS的远程测控终端可以满足设计要求,同时从工业生产现场的角度综合考虑了可靠性设计和使用成本等问题。终端具备良好的通用性、高灵敏度及高性价比,在数据采集和远程传输等领域有较强的可移植性,对于矿山,工业环境下的数据通讯也有一定的借鉴意义。
关键词: 基于 无线 数据采集 系统 远程 终端 设计 数据
共1条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |