GPRS发送与接收.docx

上传人:b****6 文档编号:13450827 上传时间:2023-06-14 格式:DOCX 页数:64 大小:332.56KB
下载 相关 举报
GPRS发送与接收.docx_第1页
第1页 / 共64页
GPRS发送与接收.docx_第2页
第2页 / 共64页
GPRS发送与接收.docx_第3页
第3页 / 共64页
GPRS发送与接收.docx_第4页
第4页 / 共64页
GPRS发送与接收.docx_第5页
第5页 / 共64页
GPRS发送与接收.docx_第6页
第6页 / 共64页
GPRS发送与接收.docx_第7页
第7页 / 共64页
GPRS发送与接收.docx_第8页
第8页 / 共64页
GPRS发送与接收.docx_第9页
第9页 / 共64页
GPRS发送与接收.docx_第10页
第10页 / 共64页
GPRS发送与接收.docx_第11页
第11页 / 共64页
GPRS发送与接收.docx_第12页
第12页 / 共64页
GPRS发送与接收.docx_第13页
第13页 / 共64页
GPRS发送与接收.docx_第14页
第14页 / 共64页
GPRS发送与接收.docx_第15页
第15页 / 共64页
GPRS发送与接收.docx_第16页
第16页 / 共64页
GPRS发送与接收.docx_第17页
第17页 / 共64页
GPRS发送与接收.docx_第18页
第18页 / 共64页
GPRS发送与接收.docx_第19页
第19页 / 共64页
GPRS发送与接收.docx_第20页
第20页 / 共64页
亲,该文档总共64页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

GPRS发送与接收.docx

《GPRS发送与接收.docx》由会员分享,可在线阅读,更多相关《GPRS发送与接收.docx(64页珍藏版)》请在冰点文库上搜索。

GPRS发送与接收.docx

GPRS发送与接收

第2章 GPRS无线收发模块的工作原理

在无线通讯监控领域,对其他无线通讯方式而言,GPRS有着不可比拟的优势,基于GPRS的无线数据采集监控系统是目前来说比较稳定、先进的无线监控系统,它具有周期短、数据传输速率快、监控覆盖范围广、通信费用低、通信服务质量安全可靠等特点。

本文研究的系统中,GPRS模块选用SIMCOM公司的SIM300,该模块内备TCP/IP协议栈,使用方便,而且集成了完整的射频电路和GSM的基带处理器,非常适合开发GSM/GPRS的无线应用产品,如移动电话、无线数据传输业务、远程测量等,应用范围十分广泛。

2.1 SIM300模块简介

该设计中的GPRS采用SIM300通讯模块,此模块是一款体积小巧、即插即用、可工作于三个频段的GSM模块,它集成了电源电路、SIM卡电路、串口TTL/RS232电平转换电路;而且可以小尺寸和低功耗实现语音、SMS、数据和传真信息的高速传输;集成了PAP协议,可供PPP连接使用;内备强大的TCP/IP协议栈,可以直接利用它实现无线上网;支持包交换广播控制信道,无限制的辅助服务数据支持,使用起来方便,且可以大大缩短开发周期[11]。

此外,SIM300模块可与任何带有UART串行通信接口的控制器进行通信。

GPRS鉴于其优良性能,已成为多种无线应用的理想之选,可被应用到无线公话等WLL应用,车载应用、远程抄表、安全监测、遥控遥测等M2M应用,以及手持通讯设备,无线网络终端等应用领域。

还可以通过HyperTerminal(超级终端)对其提供的AT指令进行交互操作。

SIM300模块的主要参数如下:

使用9V单电源供电,可工作于EGSM900M,DCS1800M,PCS1900M三个频段,上行速率为85.6kbps,下行速率为42.8kbps,通过标准的UART接口进行通信,通信速率可设置为2.4kbps,4.8kbps,9.6kbps,14.4kbps等。

2.2 SIM300模块的接口及功能

SIM300模块既可与单片机通过UART串行接口进行通讯,也可与PC机通过RS232相连进行通讯,但在选择与单片机还是PC机进行通讯前,需提前配置好SIM卡座旁的配置跳线。

其主要接口如下:

(1)IM300模块和单片机的连接

SIM300模块左侧的J4是其和单片机的接口,接口定义如表2-1所示。

表2-1SIM300的接口定义

PinNo.

功能

1

SIM300模块的电源输入,一般为9V

2

备选复位信号输入

3

备选复位信号输入

4

备选复位信号输入

5

备选复位信号输入

6

MICIN语音输入

7

SPKOUT语音输出

8

串行数据接口RXD

9

串行数据发送口TXD

10

GND

其中Pin2~Pin5均可以作为SIM300模块的复位信号输入,且可以通过在背面焊接选择电阻来选择一脚作为SIM300的复位信号输入口,此处选择的是Pin5引脚。

Pin8和Pin9可以直接和单片机UART接口的Rx和Tx相连,系统中采用的是凌阳SPCE061A单片机,其Rx和Tx引脚分别和IOB7和IOB10共用。

Pin6和Pin7引脚分别为语音输入和输出引脚。

在使用单片机控制SIM300模块时,需配置好相应的跳线,且使单片机的UART接口的TXD(IOB10)和RXD(IOB7)分别与SIM300的RXD和TXD短接,以便使单片机和SIM300通信。

(2)SIM300模块和PC机的连接

SIM300模块提供了一个九针的标准RS232接口用以和PC机直接通信,在配置好跳线后,使PC机的TXD和RXD分别与SIM300的RXD和TXD短接,以便使PC机和SIM300通信。

此外,在模块的左下角有一个天线接口,将SIM300模块与单片机或PC机连接完毕后,还需将天线接至接口上,并且将SIM卡安装至SIM卡座内。

在通信前,SIM300模块需要先启动才可以通过串口发送AT指令来控制数据收发,启动可以分为软件启动和手动启动两种方式。

本设计中采用手动方式启动,按下ON/OFF按键大约两秒钟之后松开,可看到显示灯闪烁,模块即被启动。

 单片机与GPRS模块的通讯原理

本文研究的核心内容是单片机与GPRS模块的通信问题,解决此问题的主要途径是,单片机通过UART串口向GPRS模块发送AT指令以控制通讯模块的数据收发。

AT指令是设置GPRS模块参数,并对其进行操作的指令集,每条AT指令执行完毕后,GPRS模块都会返回应答信号以示命令发送成功或失败。

 单片机UART串行接口的控制及原理

在SPCE061A单片机中,异步传送是通过一个通用异步收发器UART实现的,UART提供了一个全双工标准接口,用于完成单片机与外设之间的串行通信。

借助于IOB口的特殊功能和UARTIRQ7中断,可以同时完成UART接口接收和发送数据的过程。

此外,UART还可以缓冲地接收数据,即可以在读取缓存器内的数据之前接收新的数据。

P_UART_Data(7023H)单元用做接收和发送数据的缓存,向该单元写入数据,可以将要发送的数据送入缓存器;从该单元读取数据可以将接收到的数据从缓存器读出。

使用UART模块进行通信时,须事先将引脚IOB7和IOB10分别设置为输入和输出状态。

然后通过设置P_UART_BaudScalarLow(7024H)和P_UART_BaudScalarHigh(7025H)单元来指定所需波特率。

同时,再设置P_UART_Command1(7021H)单元的第6、7位以激活UARTIRQ7中断,并决定中断是由TxRDY还是RxRDY信号触发,或者由二者共同触发。

而设置P_UART_Command2(7022H)单元的第6、7位可以激活UART的Tx、Rx引脚功能。

当单片机通过串口接收或发送一个字节数据时,P_UART_Command2(7022H)单元的第6、7位被置“1”,且同时触发UARTIRQ7中断。

无论UARTIRQ7中断是否被激活,UART的接收/发送功能都可以由P_UART_Command2(7022H)单元的第6、7位控制。

在任意时刻读取P_UART_Command2(7022H)单元的内容都将自动清除UARTIRQ7中断标志。

以下将分别介绍各控制单元的意义及功能。

(1)P_UART_Command1(写)(7021H)

P_UART_Command1单元为UART控制端口,如表2-2所示。

该单元的第2、3位控制数据的奇偶校验功能;第6、7位控制UARTIRQ7中断,若第6位为“1”,则中断由TxRDY信号触发,即数据发送完毕将产生UARTIRQ7中断,若第7位为“1”,则中断由RxRDY信号触发,即数据接收完毕将产生UARTIRQ7中断。

如果该单元的第5位为“1”,则所有UART控制寄存器、状态寄存器将恢复为系统默认值00H。

表2-2P_UART_Command1单元

b7

b6

b5

b4

b3

b2

b1

b0

RxlntEn

TxlntEn

I_Reset

Parity

P_Check

(2)P_UART_Command2(写)(7022H)

该单元写入时可以控制UART数据的发送/接收端口,第6、7位分别控制着数据发送和接收引脚的允通/禁止,如表2-3所示。

表2-3UART写入设置

b7

b6

b5

b4

b3

b2

b1

b0

RxPinEn

TxPinEn

1:

允通接收引脚

0:

禁止接收引脚

1:

允通发送引脚

0:

禁止发送引脚

此时IOB7和IOB10必须分别被设置为输入和输出引脚,分别作为Rx和Tx。

当发送引脚被允通时,IOB10输出引脚将自动被置为高电平。

(3)P_UART_Command2(读)(7022H)

P_UART_Command2单元为UART状态信息,如表2-4所示。

第7位是RxRDY标志位,当接收到数据时,该标志位被置“1”,读P_UART_Data单元将清除该标志位;第6位是TxRDY标志位,当通过写入本单元第6位为“1”来允通发送引脚后,该标志位被置为“1”,表示发送器的数据缓存器为空,已准备好可以发送写入P_UART_Data单元的数据。

向P_UART_Data单元写入数据可以清除TxRDY标志位。

P_UART_Command2单元的第3~5位是传输错误标志位,如果在传输过程中发生错误,相应位将被置成“1”,读P_UART_Data单元的数据将清除错误标志位。

表2-4UART读出设置

b7

b6

b5

b4

b3

b2

b1

b0

RxRDY

TxRDY

FE

OE

PE

1:

数据已接收完毕

0:

未接收到数据

1:

数据发送已准备好

0:

数据发送未准备好

1:

存在帧错误

0:

无帧错误

1:

存在溢出错误

0:

无溢出错误

1:

存在奇偶校验错误

0:

无奇偶校验错误

(4)P_UART_Data(读/写)(7023H)见表2-5。

表2-5P_UART_Data单元

b7

b6

b5

b4

b3

b2

b1

b0

数据

(5)P_UART_BaudScalarLow(读/写)(7024H)和P_UART_BaudScalarHigh(读/写)(7025H)

此两单元组合控制数据的传输速率(波特率),如表2-6所示。

表2-6常用波特率值

波特率(b/s)

高字节

低字节

波特率(b/s)

高字节

低字节

2400

14H

00H

9600

05H

00H

4800

0AH

00H

115200

00H

6BH

(6)异步通信的字符格式

在异步传送方式中,字符的发送是随机进行的,所以,对接收方来讲,就要判断是否有字符发送过来,何时是一个新字符的开始。

因此,进行异步通信时必须对传送的字符规定一定的格式,1个字符的传送占用1帧数据,1帧数据一般由4部分组成:

起始位、数据位、奇偶校验位和停止位,如表2-7所示。

表2-7异步通信字符格式

起始位

数据位

奇偶校验位

停止位

1位

5~8位

1位

1~2位

起始位:

为逻辑“0”信号,占1位,用来通知数据设备1个新字符的开始。

数据位:

紧跟在起始位后的是5~8位数据,异步传送通常规定低位在前,高位在后。

奇偶校验位:

紧跟在数据最后一位之后,占1位,奇偶校验时根据协议置“1”或置“0”。

停止位:

为逻辑“1”信号,可占用1或2位,接收到停止位时,表示1帧数据结束,同时为接收下一帧数据做好准备。

异步通信时,收发双方需达成协议:

一是规定字符格式,即采用几位数据,是否用奇偶校验位,有几位是停止位;二是规定波特率。

异步通信按字节格式和波特率传送数据,硬件只有两条线:

即发送线和接收线,因而电路简单、实现方便。

但由于数据帧中插入了起始位,校验位和停止位等附加位以实现同步,从而降低了有效数据的传送效率。

 AT指令集简介

GPRS模块与单片机的通信主要是通过UART串口发送AT指令来实现。

AT指令是专门用来控制GPRS模块的指令集,SIM300模块支持标准的AT指令集。

GPRS的数据传输有短信模式和数据模式,本文设计的系统主要以数据模式为主,短信模式为辅,采用不同的模式将用到不同的AT指令,常用的AT指令如表2-8所示。

表2-8常用AT指令

AT指令

指令功能

ATE1\r\n

开回显

ATV1\r\n

以OK方式显示

AT+IPR=9600\r\n

设置通信的波特率为9600Hz

AT+CMGF=1\r\n

以英文方式发送

AT+CMGF=0\r\n

以中文方式发送

AT+CMGS=””

将信息发送到手机号为“”的手机上

AT+CNMI=2,1\r\n

设置短信提示

AT+CMGR=1\r\n

读取指定1里的内容

AT+CGDCONT=1,”IP”,”CMNET”\r\n

定义PDP移动场景

AT+CGATT=1\r\n

激活PDP,获得IP地址

AT+CIPCSGP=1,”CMNET”\r\n

设置模块连接方式为GPRS连接,接入点为”CMNET”

AT+CIPSTART=”TCP”,”124.79.108.80”,

”6000”\r\n

建立连接,SERVER的IP地址为124.79.108.80,端口号为6000

AT+SEND>(要发送的内容)

发送数据

AT+CIPCLOSE\r\n

关闭TCP连接

AT+CIPSHUT\r\n

关闭移动场景

以上指令在发送成功后将返回OK,若发送不成功则返回ERROR。

 GPRS以短信模式传输数据的原理

采用短信模式传输数据的无线数据传输系统,就是将监控终端采集到的信息,经前端放大滤波电路及单片机处理后,形成实时数据帧,由内置手机SIM卡的通信模块通过短信网或GPRS无线数据通道,以无线方式发送至监控中心的短信网关或数据服务器,并下载到控制电脑的显示平台,实现数据统计、操作控制等远端遥调、遥测、遥控功能[12]。

短信模式的传输机制如图2-1所示。

 

图2-1短信组网结构图

监控终端将采集到的信息经过短信协议封装,与SIM卡号、监控中心号、短信服务中心(SMSC)号一起通过GSM/CDMA模块发给SMSC,SMSC根据监控中心号码通过短信点对点协议(SMPP)发给相应的短信网关(SMG),SMG在通过SGIP1.2/CMPP3.0协议把信息发送到通信服务器,最后下载到监控中心的显示平台,实现数据监测。

而当监控中心发送命令帧到监控终端时,通信服务器发送短信至SMG,SMG根据接收到的监控终端SIM卡号码将短信发给SMSC,SMSC再发给监控终端,继而实现远程监控。

 GPRS以数据模式传输数据的原理

所谓数据模式即采用TCP/IP协议的方式进行监控终端与监控中心的通信,具体通讯过程如下:

监控终端将采集到的信息通过RS232接口与GPRS数据传输单元(GPRSDTU)相连,GPRSDTU的内置嵌入式处理器对数据进行集中处理、协议封装后转换为GPRS分组,通过BTS发送到GPRS服务支持节点(SGSN),SGSN根据监控中心IP地址,通过GPRS隧道协议(GTP)发送分组到相应的GPRS网关支持节点(CGSN),CGSN对分组数据进行处理后发送到Internet上的通信服务器并下载到监控中心的显示控制平台[12]。

来自监控中心的命令帧,首先被分装成IP包,由GGSN接收,再通过GTP转发到SGSN,最后由BTS传送到监控终端。

数据模式的传输机制如图2-2所示

 

图2-2GPRS组网结构图

 本章小结

本章主要研究了GPRS(SIM300)模块的接口功能,与单片机通信的基本原理,UART串口各控制单元的意义,以及通信中常用的AT指令及其功能,以短信模式和数据模式传输数据的原理,为后续的软硬件设计打好理论基础。

 

第3章 数据采集传输系统的硬件电路设计

本文的主要任务分为硬件和软件两部分,本章主要研究硬件电路的设计,包括监控终端的放大滤波电路,单片机与GPRS模块以及LCD液晶显示模块的连接等。

 系统的总体框图及其工作原理

基于GPRS的无线数据采集与传输系统由监控终端和监控中心两部分组成。

系统的总体框图如图3-1所示。

 

图3-1系统基本框图

监控终端由数据采集设备、LCD液晶显示和GPRS数据传输单元三部分组成,数据采集设备负责现场数据的采集,然后由LCD液晶显示并由GPRS数据传输单元通过GPRS网络传输到监控中心。

系统前端的多路传感器可以是温度传感器或湿度传感器等,在系统的实现过程中,由于条件所限,通过传感器采集的信号由信号源代替。

系统的工作过程为,数据采集端接收来自监控中心的命令帧,根据命令帧中的地址来选通相应的信号输入,随后将信号进行放大、滤波,以使其质量得到改善。

经放大、滤波的信号再输入到单片机中进行A/D转换后,一方面单片机控制LCD液晶显示器,将采集到的信号波形显示出来,另一方面,单片机通过UART串口向GPRS无线收发模块发送AT指令控制其将数据发送到监控中心,监控中心将接收到的数据显示并加以分析,以便及时了解远程监测点的现场状况,做出相应调整。

以上即为系统的整体工作流程。

3.2 系统前端放大滤波电路的设计

本系统所要监测的数据主要通过各类传感器(如温度传感器、湿度传感器等)来采集,采集到的信号由于带有干扰噪声,传输到监控中心后将与实际相差很大,另外信号的强度过小也会产生误差,因此信号采集后需要通过一定的放大滤波电路加以调整,以使监控中心接收到比较准确的数据。

本文主要采用双运放双电源的低通滤波电路来实现信号的调理,如图3-2所示。

图3-2双运放双电源的低通滤波电路

本电路采用的是MC4558运算放大器,该放大器适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式。

它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合[13]。

该电路可分为两部分,其中前一部分为反相比例运算放大电路,放大倍数可用R1/R2来计算,而且可以通过改变R1和R2的阻值来适当调整放大倍数,以使信号的幅值适合A/D转换的范围;后一部分为一阶有源低通滤波电路,其功能是滤除信号中的噪声。

截止频率可通过

)来计算,同样,调整R、C的值可以改变截止频率。

采集的信号通过此电路后送入A/D转换电路进行模数转换,该电路与A/D转换电路的连接部分可通过电解电容耦合,前一端接正极,一般为1~10uf。

3.3 SPCE061A单片机的接口说明

本设计中采用的是凌阳SPCE061A单片机,它具备了现代单片机的大部分优点。

SPCE061A主要包括输入/输出端口、定时器/计数器、数模和模数转换、串行设备输入输出、通用异步串行接口和复位等部分。

其主要接口的定义如表3-1所示。

表3-1SPCE061A的主要引脚描述表

IOA[15:

0

双向I/O口,可设置为输入或输出

IOA[6:

]

可与ADCLine_In输入共享

IOB[15:

0]

双向I/O口,可设置为输入或输出

IOB7

可用作通用异步串行数据接收引脚Rx

IOB10

可用作通用异步串行数据发送引脚Tx

3.4 GPRS模块与单片机的连接说明

本文研究的核心部分是单片机与GPRS模块的串口通讯,模块的硬件连接框图如图3-3所示。

由图可以看出,单片机与GPRS的接口非常简单,几乎不需要任何附加硬件逻辑电路,二者的主要连线为将单片机的IOB7和IOB10分别于与GPRS模块的Tx和Rx相连,此外注意将两模块的地线短接,两模块的供电电源分别为4.5V和9V。

图3-3SPCE061A单片机与GPRS模块的连接框图

3.5 LCD液晶显示模块的接口电路及参数

本设计中的液晶显示器选用凌阳科技的SPLC501芯片作为LCD驱动和控制器,为128

64点阵图形液晶显示器。

基本参数有显示模式、显示格式、输入数据等。

此模块可以方便的和SPCE061A单片机连接,可进行字符显示,汉字显示及图形显示,因此可应用于需要图形、文本显示的系统中。

本设计中,液晶显示器主要用于显示采集到的信号波形,所以SPLC501液晶模组是非常合适的选择。

SPLC501液晶模块提供了液晶显示器的接口,及其所需的复位电路等,并把对液晶模块的接口引出,方便使用,此外还提供有背光、电源指示灯。

下面将详细介绍SPLC501液晶模块接口电路及参数,其中接口电路原理图如图3-4所示,各个引脚的定义如表3-2所示。

图3-4SPLC501液晶模块接口电路原理图

表3-2SPLC501液晶模块接口引脚定义表

接口引脚名

说明

CS1

片选端,低电平有效

RES

复位引脚

A0

数据命令选择引脚

R/W

6800系列MPU的读/写信号

EP

6800系列MPU的时钟信号使能引脚

DB0~DB7

8位数据总线

VR

端口输出电压

C86

C86=’H’则选择6800MPU系列

PS

串、并行时序选择

本文中SPLC501液晶显示模块与61板的连接如图3-5所示。

液晶模块的电源由61板提供,模块上的VR、C86、PS跳线短接到V3端以选择6800的时序;61板I/O端口电平选择3.3V输出(即J5跳线把Vio和3V短接起来);DB0~DB7对应的与IOA8~IOA15连接,控制线CS1、AO、R/W和EP分别与61板的IOB9、IOB4、IOB5、IOB6相连。

图3-5SPLC501液晶显示模块与61板的连接

数据采集与传输系统的实物图如图3-6所示,总电路图如附录5所示。

图3-6数据采集传输系统实物图

3.6 本章小结

本章主要研究了无线数据采集与传输系统中的SPCE061A单片机控制模块、SPLC501液晶显示模块和GPRS无线收发模块三个主要模块的接口原理及连接方式。

 

第4章 数据采集传输系统的软件设计

对于一个完整的应用系统,系统的程序设计也是一个非常重要的方面,本文在硬件连接完成的基础上将进行软件的设计。

软件设计包括驱动程序设计和应用程序设计两部分,由于凌阳单片机以及LCD液晶显示器中已给出基本驱动程序,所以主要任务是编写应用程序。

系统应用程序的主要功能是完成远程数据的采集与传输,采用模块化编程,各功能模块以子函数的形式编写,在主函数中直接调用各子函数,此方法的好处是缩短了软件开发周期,易于程序的修改和移植。

此外,监控终端的所有程序代码都由C语言编写,软件开发平台是unSPIDE2.0.0,监控中心的程序编写语言使用C++,软件开发平台是VisualC++6.0。

 软件开发总体流程图

系统软件的设计主要分为三部分:

单片机与GPRS模块的串行通信、LCD液晶显示和GPRS模块通过GPRS网络与监控中心通信。

软件主要实现的功能包括系统的初始化(微处理器的初始化、A/D转换的初始化、LCD液晶显示器的初始化以及CPRS无线收发模块的初始化)和系统的应用程序等。

无线数据采集传输系统的数据传输方式有短信模式和数据模式两种,而前者又包含三种模式:

Block模式、Text模式和PDU(ProtocolDataUnit协议数据单元)模式,其中Block模式已逐渐被PDU模式所取代[14]。

虽然基于短信模式和数据模式的数据传输方式和过程不同,但软件设计中,只是使用的AT指令有所区别,主函数总体流程仍然相同,系统监控终端的主函数流程如图4-1所示。

 系统各单元的详细流程

由系统的总体流程可知,监控终端的软件程序主要包括四个子函数:

接收命令帧子函数Rec_commd(),A/D转换子函数AD_Ctrl(),LCD液晶显示子函数LCD_Ctrl()以及发送数据帧子函数Data_Send()。

本小节将分别详细介绍各函数的流程。

 

 

图4-1系统软件流程图

4. A/D转换的流程图及说明

系统中,A/D模数转换功能采用中断函数的方式实现,输入的测试信号频率为0.5Khz,由采样定理

=2

可知当采样频率为1Khz,即可还原出原信号波形。

本文采样频率选为32Khz,液晶显示器显示出与实际波形误差较小的信号波形。

A/D转换采用

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 环境科学食品科学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2