基于GR47模块和PIC18f6720单片机实现GPRS通信系统的设计

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通信系统成本低、设计周期短、便携性好,尤其适用于远程控制和数据传输。


努比亚X星空典藏版一战成名 用新技术引领用户体验升级
汽车芯片短缺危机席卷全球,丰田为何相对来说“受灾”最少?
不同阻燃怎么挑选连接器 如何根据阻燃挑选航空插头
大型数据中心高压中性点接地电阻柜的选择
浅谈卷积运算在数字信号处理的应用与优势
基于GR47模块和PIC18f6720单片机实现GPRS通信系统的设计
Virtual Antenna™技术改变物联网设备的研发与制造
华为云通过端云协同技术优势,帮助和赋能互联网企业出海
工业机器人强大后的挑战有哪些
有方科技亮相欧洲电力及新能源展 助力能源物联网优化升级
三星GalaxyS9S9+评测 对于喜欢手机摄影的用户来说这款手机相当有吸引力
UWB定位原理
热点!全球首颗量子通信卫星揭秘
某型低速大转矩永磁无刷电机电磁场、结构场和温度场仿真设计方案
为什么热式质量流量传感器输出的流量都是标况流量?
DG11/DG12系列电源输入插座及专用电源线
成都高新区与富士康科技集团签订草签协议,成都将新增一座智能穿戴制造基地
意大利研究团队研发出海床上行走的“清洁工”机器人SILVER2
三星Galaxy S21智能手机可能比前代便宜100美元
Altium Designer 22.9.1离线包新功能介绍