资源预览内容
第1页 / 共65页
第2页 / 共65页
第3页 / 共65页
第4页 / 共65页
第5页 / 共65页
第6页 / 共65页
第7页 / 共65页
第8页 / 共65页
第9页 / 共65页
第10页 / 共65页
亲,该文档总共65页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
单片机实现GPRS通信系统引言GPRS 通用无线分组业务 (General Packet Radio Service)是利用包交换的概念发展的一套无线传输方式。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机服务器的连接,并进行数据传输和短消息处理;根据需要发送一定格式的心跳信息。见图23、结束语本文给出了一种基于单片机和GPRS模块的嵌入式无线数据传输终端的实现方案。以单片机应用系统为中心的小型GPRS通信系统成本低、设计周期短、便携性好,尤其适用于远程控制和数据传输。基于GPRS的SOCKET通信应用引 言GPRS(General Packet Radio Service)是通用分组无线业务的简称,是一种以全球手机系统(GSM)为基础的数据传输技术1。GPRS网不但具有覆盖范围广、数据传输速度快、通信质量高、永远在线和按流量计费等优点,而且其本身就是一个分组型数据网,支持TCP/IP协议,无需经过PSTN(公用电话交换网)等网络的转接,可直接与Internet网互通。因此GPRS业务在无线上网、环境监测、交通监控、移动办公等行业中具有无可比拟的性价比优势。在网络设置中有HTTP、SOCKET等类型。SOCKET是建立在传输层协议(主要是TCP和UDP)上的一种套接字规范,它定义两台计算机间进行通信的规范(也是一种编程规范)。如果说两台计算机是利用一个通道进行通信,那么这个通道的两端就是两个套接字。套接字屏蔽了底层通信软件和具体操作系统的差异,使得任何两台安装了TCP协议软件和实现了套接字规范的计算机之间的通信成为可能。1、 系统组成系统的组成如图1所示。该系统利用现有的GPRS网络,单片机通过串口对GPRS模块进行收发控制,实现SOCKET通信。系统各部分的说明如下: 单片机采用了AT89C52,它带有一个串口; GPRS模块。本文以利事达信息技术有限公司开发的GPRS模块LT80302为例。LT8030内嵌了完整的TCP/IP协议栈,包括TCP、UDP、FTP、SOCKET、Telnet、POP3、SMTP、HTTP等,为用户提供了更简单的网络接口。LT8030采用的GPRS技术,无缝覆盖、永远在线且按流量计费,紧密结合产品应用领域所遇到的实际问题,进行全面的优化和升级,使产品开发变得更容易、更快捷。它采用标准的RS232 接口,用户可以通过单片机或其他CPU的UART口,使用相应的AT命令对模块进行控制,达到使其产品可以轻松进入GPRS网络的目的。 服务器。建立SOCKET连接必须具有公网的IP地址,故应保证服务器中心计算机连接到Internet并且取得公网IP地址。在单片机对GPRS模块控制之前,服务器端需运行SOCKET端口监听程序(此监听程序一般是现成的),并且设为监听状态,端口号也要设定,例如port:1024。2、 单片机与GPRS模块的连接单片机与GPRS模块一般采用串行异步通信接口,通信速度可设定,通常为9600 bps。采用RS232电缆方式进行连接时,数据传输的可靠性较好。单片机通过电平转换电路与GPRS模块连接,电路比较简单,电路原理图如图2所示。所涉及的芯片MAX232用于串行通信接口与232通信接口之间的电平转换3。图2单片机与GPRS模拟连接的电路原理图MAX232的T1IN、T2IN、R1OUT、R2OUT为接TTL/CMOS电平的引脚;T1OUT、T2OUT、R1IN、R2IN为接RS232电平的引脚。TTL/CMOS电平的T1IN、T2IN引脚应接AT89C52的串行发送引脚TXD;R1OUT、R2OUT应接AT89C52的串行接收引脚RXD。与之对应,RS232电平的T1OUT、T2OUT应接GPRS模块的接收端RXD;R1IN、R2IN应接GPRS模块的发送端TXD。现选用其中一路发送/接收,R1OUT接AT89C52的RXD,T1IN接AT89C52的TXD,T1OUT接GPRS模块的RXD, R1IN接GPRS模块的发送端TXD。因为MAX232具有驱动能力,所以不需要外加驱动电路。3、 建立SOCKET连接的命令下面对SOCKET通信中要用到的一些AT命令进行说明。3.1 基本设置 GPRS ISP 码。AT+IISP1=*99*1# /全国通用 登录用户名。AT+IUSRN=WAP/GPRS网络登录名 登录密码。AT+IPWD=WAP/ GPRS网络登录密码 MODEM 类型。AT+IMTYP=2 /定义GPRS MODEM 初始化命令。AT+IMIS=“AT+CGDCONT=1,ip,CMNET” 域名服务器。AT+IDNS1=211.136.18.171/DNS服务器地址,全国通用 扩展码(XRC)。AT+IXRC=03.2 SOCKET设置 建立一个TCP通信。AT+ISTCP:218.66.16.173,1024建立SOCKET连接,218.66.16.173为应用服务中心计算机端IP地址(实际地址由实际情况决定),1024 为端口号(端口号由中心SOCKET端口监听程序设置决定)。 如果连接成功,LT8030返回I/xxx。xxx为LT8030中本次SOCKET连接的句柄号。中心监听程序会显示连接的终端IP地址。如果连接失败,LT8030返回I/ERROR(xxx)。xxx为错误代码。 发送数据。AT+ISSND%:xxx,:发送数据,xxx为句柄,string
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号