使用单片机实现GPRS通信小系统的研究

2007-10-30 11:15:31来源: 电子工程师

0 引 言

GPRS(通用分组无线电业务)是利用包交换的概念发展的一套无线传输方式。GPRS网络是基于现有的GSM(全球移动通信系统)网络实现的。在现有的GSM网络中需要增加一些节点,如GGSN(GPRS网关支持节点)和SGSN(GPRS服务支持节点)。SGSN的主要作用是记录移动终端的当前位置信息,并且在移动终端与GGSN之间完成移动分组数据的发送和接收。GGSN主要起网关作用,可以与多种不同的数据网络连接,如ISDN(综合业务数字网)、PSPDN(包交换公用数据网)和LAN(局域网)等。GGSN可以把GSM网中的GPRS分组数据包进行协议转换,从而把这些分组数据包传送到远端的TCP/IP或X.25网络。

GPRS网不但具有覆盖范围广、数据传输速度快、通信质量高、永远在线和按流量计费等优点,而且其本身就是一个分组型数据网,支持TCP/IP协议,可以直接与Internet互通。因此,CPRS在无线上网、环境监测便携型、交通监控、移动办公等行业中具有无可比拟的性价比优势。

1 GPRS通信系统硬件设计

系统采用Sony Ericsson公司的内部嵌有TCP/IP协议栈的GPRS通信模块GR47和PIC18f6720单片机,二者的串口均支持RS-232通信标准

核心设计在于单片机与GR47的连接和软件的编写。PIC18f6720单片机具有两个USART(通用异步串行接口),其中一个与GR47模块相连,进行数据和AT命令的传输;另一个与终端芯片的串口相连,与终端进行通信。GR47模块外部需要安装天线。如图1所示。

PIC18F6720单片机控制GR47模块发送和接收数据,在软件中采用串行口的中断来实现收发数据和转发数据。

1.1 PICl8F6720简介

PIC18F6720是Microchip公司生产的较为高档的单片机。采用3.3 V供电,其大部分指令均为单周期指令,几乎所有的相关硬件配置都映射成特殊寄存器,大大提高了运行速度;具有A,B,C,D,E,F,G这7个可编程的I/O口;内部除了3840B的RAM外,还有1024B的EEPROM和128 kB的Flash存储器;拥有4个定时器和多个中断源及2个中断优先级,有2个USART,功能十分强大,是一款性价比很高的芯片。

1.2 GR47简介

GR47是Sony Ericsson公司生产的一款双频段GSM900/GSM=1800的通信模块。在此模块基础上,可进行GPRS数据传输,具有支持短消息服务等功能。采用3.6 V电压供电;对外可提供多种接口,如天线接口、模拟音频接口、异步串行接口、SIM卡接口等,也支持I2C通信;内部集成了TCP/IP协议栈,因此采用此芯片会大大降低微控制器编程工作的难度。

本方案中用到的GR47的端口并不多,对几个重点的连接点作如下说明:

a)串行口TD:接单片机的RX2,RD接单片机的TX2。

b)DSR引脚:即DataSetReady,说明模块准备好接收数据,此引脚经过三极管开关电路与单片机的RB0相连。DSR为高表示处在数据模式,为低表示处在命令模式。

c)DTR引脚:即Data Terminal Ready,说明终端设备准备好接收数据,可以通过控制此引脚电平的高低时间来进行GR47的数据态和命令态的切换。此引脚经过三极管开关电路与单片机的RF2相连。

2 GPRS通信系统软件设计

系统软件采用C语言编写,在MPLAB环境下编译。由于本系统是远程管理终端的一个模块,因此在程序的编写中要遵守一定的协议,这样才能保证正确通信。程序的主体是如何控制GR47的AT命令对GR47进行初始设置和对信息数据的处理。程序总体上可以分为以下几个块:CPRS连接的初始设置、短消息的判断处理、无数据传输时的心跳处理、数据判断转发等。主程序是把这些程序块有机结合到一起,相互控制,无限循环。 2.1 连接的建立

GPRS模块连接到Internet和GPRS网络的实现过程如下:

a)单片机软件控制GR47模块开机,等待此模块正常启动。

b)通过单片机和GR47模块连接的串口,向GR47模块写入相应的AT设置命令,进行初始化,使模块成功粘附在GPRS网络上,获得网络运行商分配的动态IP地址,与目的终端建立连接。

2.2 数据的处理

数据包在数据中心服务器和GPRS服务器中的传输是基于IP数据包的,但明文传送IP包不可取,因此大多选用PPP(点对点协议)进行传输,实现通过GPRS模块的数据和Internet网络的透明传输。GR47内部集成了TCP/IP协议栈,所以用户对IP协议相关的程序就不必编写,可以直接通过GR47传递数据。

a)模块与Internet上PC机的数据传输:要求PC机具有公网的IP地址和开放的端口以及监视传输报文的运行软件。这样,模块与Intemet传输数据时,报文就会显示。在模块成功联入网络后,单片机只要将要发送的数据通过串口发给GR47,GR47就会把数据转发给相应的IP地址的PC机。

b)短消息数据的处理:GR47具有GSM的功能,可以与手机发送和接收短消息。短消息采用PDU格式,在程序中需要判断短消息的到来和读取短信内容,并根据内容执行相应的功能,最后把结果构造成PDU格式返回给相应的发送者。

c)GPRS通信心跳信息:网络连接建立后,在设定周期内无数据通信时,GPRS模块向数据服务中心发送心跳信息,数据服务中心收到心跳信息后,回应应答信号。

d)重要数据的存储:程序中把一些重要的常用和易变的数据如计算机服务器的IP地址、端口号、终端地址、SIM卡号等存入单片机的EEPROM中。需要时从EEPROM中读出或向EEPROM重新写入数据进行设置。

2.3 主程序流程

主程序由模块函数组成,模块函数由基本函数嵌套组成。主程序流程大致如下:首先进行单片机设置变量的初始化,一般均为0;进行单片机相应配置单元的初始化,比如设定端口方向、没置中断优先级、定时器初始化等;然后由单片机控制GR47的电源,以决定是否开机;待开机成功后,查询网络是否注册成功;成功后即可建立模块与PC机服务器的连接,并进行数据传输和短消息处理;根据需要发送一定格式的心跳信息。见图2。

3 结束语

本文给出了一种基于单片机和GPRS模块的嵌入式无线数据传输终端的实现方案。以单片机应用系统为中心的小型GPRS通信系统成本低、设计周期短、便携性好,尤其适用于远程控制和数据传输。

关键字:串口  动态  循环  编译

编辑: 引用地址:http://www.eeworld.com.cn/gykz/GYTX/200710/595.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
串口
动态
循环
编译

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved