GPRS通信模块中无线传输系统的协议设计

时间:2022-07-17 11:50:38

GPRS通信模块中无线传输系统的协议设计

【摘要】目前的消防通信指挥系统能完成火警受理、话音数据和图像通信等功能。但是消防员在现场救援时却为信息孤岛,在执行救护任务时,各级指挥员无法收集消防员信息并实时监控消防员状态,如遇到各种危险,不仅威胁生命,而且会影响救援效率,不利于火灾现场的救援和调度。

【关键词】无线通信;协议设计;参数整定

基于上述的情况,构建一个无线传输系统极为重要。利用嵌入式系统和GPRS网络,实现监控系统中的GPRS无线数据终端。通过采集、传输、控制消防员的生命体特征和环境信息,实现远程监测后台服务。根据无线网的结构和功能设计通信协议。协议设计主要是应用层自定义设计,根据需求自定义GPRS协议和数据结构定义。通过自定义协议报文格式,制定出一个完善的协议,确保系统稳定可靠地工作,是本系统研制工作中一个十分重要的部分。

1.通信协议基本概述

1.1 底层协议

本文设计了GPRS无线数据终端,主要目标是利用GPRS网络与远程控制中心通讯。在无线传输系统中,相对于终端而言,要通过GPRS网络来接入互联网,该过程涉及到5个层次的通信:物理层、数据链路层、网络层、传输层和应用层。

物理层是无线信道,通过终端内部的无线Modem(GTM-900)拨号到GGSN的号码即可实现。终端内部的单片机STM32通过标准串口RS232与无线GPRS Modem通信,通过无线Modem提供的AT指令驱动无线Modem拨打GGSN的接入号码,GGSN应答后就建立载波,实现物理层接口。

数据链路层采用PPP协议。通过PPP协商过程,终端与GPRS网络之间相互收发IP数据包。终端发出的IP数据帧被封装成PPP帧后,被无线Modem打成数据分组,进入GPRS网络,在GPRS网络内部经过多种接口和协议转换,经GGSN接入Internet。终端网络接口层可以通过GPRS信道之上的PPP来实现。具体协议过程如下:

(1)GPRS模块在拨号后先与GPRS网关进行通信链路的协商,协商点到点的各种链路参数配置。协商过程遵守LCP、PAP和IPCP等协议。LCP协议用于建立、构造、测试链路连接;PAP协议用于处理密码验证部分;IPCP协议用于设置网络协议环境,分配IP地址。

(2)协商完成,创建链路。IP地址按照协商的标准进行分配和IP报文的传输。跟据应用的不同,IP报文可以携带UDP报文,也可以是TCP或ICMP报文。

(3)数据传输完成后,单片机向GGSN发送LCP的断开连接报文,终止网络连接。

单片机登陆GPRS网关(GGSN)与网关协商LCP、PAP、IPCP协议。LCP、PAP与IPCP协议的帧结构最常用的是请求(REQ)、同意(ACK)和拒绝(NAK)三种。单片机与GGSN各为一方进行协商,任何一方都可以发送REQ帧请求某方面的配制,另一方觉得配置不接受回应NAK帧,接受则回应ACK帧。过程如下:

(1)在拨号成功连接后,GGSN首先返回一个PAP REQ数据帧。发送一个空LCP REQ帧,强迫进行协议协商阶段。随后GGSN发送LCP设置帧,拒绝所有的设置并请求验证模式。GGSN选择CHAP或PAP方式验证,只接受PAP方式。

(2)进行PAP验证用户名和密码过程,GPRS中用户名与密码都为空,如果成功,GGSN会返回IPCP报文分配动态IP地址,完成与GGSN的协商过程。

1.2 网络层、传输层协议

采用内嵌TCP/IP、PPP、UDP协议的华为GTM-900模块。TCP是基于连接的协议,在正式收发数据前,必须和对方建立可靠的连接。UDP是与TCP相对应的协议。UDP适用于一次只传送少量数据,对可靠性要求不高的应用环境。消防员的生命体特征和环境特征,属于少量数据,选用UDP协议比较合适。

1.3 应用层协议

采用自定义协议。整个协议分成四种类型:消防员携带系统控制,获取消防员生命体特征信息,监测周围环境信息,报警信息和决策消息。整个协议采用请求/应答的方式。

2.自定义协议报文格式

包括四个部分:报文头,报文主题,报文校验,结束符。

(1)报文头

包含一个字节,定义为0X7B,即起始符

(2)报文主体

由命令符,SIM卡号长度,SIM卡号,GPRS ID GID,终端编号AID,消防员编号RID,控制符,数据组成。其中命令符包括:消防员携带系统控制,获取消防员生命体特征信息,获取消防员周围环境信息,生命体报警信息和环境报警信息等。

(3)报文校验

仅对报文主体部分进行CRC校验。

(4)报文尾部

定义为0X7D。

(5)报文总长度

报文总长度=1(报文头)+1(命令符)十1(SIM卡号长度)+n(SIM卡号)+1(GPRS编号)+1(终端编号)+1(消防员编号)+1(控制符)+m(数据)+2(CRC校验)+1(报文尾)=10+n+m

3.自定义协议指令和命令字定义

为便于查找,按功能分类,分别描述各协议指令和命令字的含义。采用一条请求,多条返回的形式。控制符按照成功/失败的格式返回。

3.1 消防员携带系统控制

此类型协议用于控制单个消防员信息,确定携带的智能消防系统是否正常工作。设定消防员携带系统控制响应命令字控制符0X30和0X31(0X30表示模块正常工作,0X31表示模块非正常工作)。

3.2 消防员生命体特征信息

获取的消防员生命体特征有体温,呼吸频次和深度,脉搏,体温等。当发出一条获取指定消防员生命体特征消息后,就会返回对应该名消防员所有的生命体特征信息。每个获取的信息都有取值范围,在协议设计中,对每个获取信息都设定一个取值范围,得到数据以后,就会对所得到数据进行判断,如果在其取值范围内,则为正常数据,进入数据库存储。如果数据不在取值范围内,即数据超出正常范围界限,这个错误数据就会被剔除,进行下一次的数据采集。响应命令字都为0X40,选用不同的控制符。

(1)体温TEM的读取。控制符 0X41

(2)脉搏PUL的读取。控制符 0X42

(3)呼吸频率RPR的读取。控制符 0X43

(4)呼吸深度RPD的读取。控制符 0X44

(5)瞬时耗气量IGC的读取。控制符 0X45

(6)气体剩余时间GRT的读取。控制符 0X 45

3.3 消防员周围环境信息

响应命令字都为0X50:

(1)火场温度FTE的读取。控制符 0X51

(2)氧气含量的读取。控制符 0X52

(3)CO含量的读取。控制符 0X53

(4) H2S含量的读取。控制符 0X54

(5)SO2含量的读取。控制符 0X54

3.4 生命体报警信息

控制符都为0X30/0X31:

(1)体温TEM报警。命令字 0X61

(2)脉搏PUL报警。命令字 0X62

(3)呼吸频率RPR报警。命令字 0X63

(4)呼吸深度RPD报警。命令字 0X64

(5)瞬时耗气量IGC报警。命令字 0X65

(6)气体剩余时间GRT报警。命令字 0X66

3.5 环境报警信息

控制符都为0X30/0X31:

(1)火场温度报警。命令字 0X71

(2)氧气含量报警。命令字 0X72

(3)CO含量报警。命令字 0X73

(4)H2S含量报警。命令字 0X74

(5)SO2含量报警。命令字 0X75

4.小结

本文介绍了传输协议的基本概述和设计思路。阐述了自定义设计的协议报文格式,协议指令和命令字定义等方面,介绍了系统实现的通讯规约。无线网络传输的物理层,数据链路层,传输层,网络层采用已经存在的现有协议,应用层采用自定义形式的协议。制定好一个完善的协议,能确保无线通信系统稳定、可靠地工作,是研发工作中的重要部分。

参考文献

[1]杜,李波.内置TCP/IP协议的GPRS模块的应用[J].新器材新技术,2006(10):41-43.

[2]马丁.移动通信GPRS模块应用开发分析[J].现代电子技术,2006(6).

[3]ST-MICROELECTRONICS.STM32F 103xE Data Sheet[M].ST MICROELECTRONICS,2010.

[4]Datasheet of STM32F103x6,STMicroelectronics,http:///.

[5]华为技术有限公司.GTM900-C无线模块V100R001产品概述[Z].2009.

[6]王志平,程韬波.基于GPRS的远程无线监控系统的数据中心设计[J].工业控制计算机,2005(3):6-14.

[7]华为技术有限公司.华为AT资料手册_精典[Z].2004.

作者简介:

毛天珂(1984―),女,安徽合肥人,合肥市蜀山区公安消防大队参谋。

李姣(1987―),女,湖北随州人,沈阳化工大学信息工程学院硕士研究生。

上一篇:步进电机驱动电路的设计 下一篇:透过“神经”和“体液”的迷雾,看清调节本质