摘要:随着电子技术的不断发展,嵌入式应用进入了一个全新的时期,与此同时在移动通信领域,GPRS技术逐步成熟。本文结合实际应用,介绍GPRS技术在嵌入式系统中的两种常见的应用,即收发处理SMS短信息以及控制微处理器实现GPRS无线上网。
关键词:GPRS;嵌入式系统;SMS;Internet
1 引言
嵌入式系统是指以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统,简单的说,就是系统的应用软件与系统的硬件一体化,具有软件代码小、高度自动化、响应速度快的特点,是一个具有广阔发展前景的信息技术领域。
GPRS 是通用分组无线服务(General Packet Radio Service)的缩写,是在GSM基础上发展起来的一种分组交换的数据承载和传输方式,具有"实时在线"、"按量计费"、"快捷登录"、"高速传输"、"自如切换"的优点,在嵌入式系统中应用非常广泛。
本文介绍GPRS在嵌入式系统中常见的两种应用方式,一是利用GPRS模块实现SMS短消息收发,一是利用GPRS实现微处理器无线上网。文中实例系统所采用的处理器为美国Z-World公司生产的Rabbit芯片,通信设备采用西门子公司生产的MC35模块。
2 利用GPRS实现SMS短信息收发
采用短消息进行通信,实现起来比较简单,一般适用于需频繁传送小数据量的场合以及偏远地区、架设通信线路困难地方。
根据GSM 07.05的定义,SMS短信息的收发模式共有Block模式、基于AT命令的Text模式和PDU模式三种。Block模式逐渐淡出大家的视野,已经很少用;Text Mode是纯文本方式;而用于中英文短信息传送则应使用PDU模式。因此在PDU模式下实现短消息收发是目前应用最广泛的一种方式。
PDU模式下的数据串除了包含可显示的消息本身之外,还包含如SMS服务中心号码、目标号码、回复号码、编码方式和服务时间等信息。且PDU数据串的编码方式包括7-bit、8-bit和UCS2这三种方式。其中7-bit编码应用最为广泛。它将一串7-bit的字符(最高位为0)编码成8-bit的数据,每8个字符可"压缩"成7个。8-bit编码通常用于发送数据消息,比如图片和铃声等。而UCS2编码用于发送Unicode字符。图1所示即为英文短信"Hello!"的7-bit编码过程,因此按照编码规则得到 "hello!"的最终7-bit编码是"C8329BFD0E01"。
得到了编码,便可以通过对嵌入式微处理器进行串口操作,将编码内容发送出去。如图2所示,首先向通信设备MC35模块发送一条AT指令,通信模块MC35回传一个OK响应,表明嵌入式系统与MC35模块的连接是完好的。
随后可以发送AT CMGS=(PDU串的字节数ddd ,不包含短信息中心SMSC的长度),得到提示符号" 〉",说明此时可以发送编辑好的PDU串了,那么向MC35模块发送PDU串,并且以"CTRL Z"(其ASCII值为1a)结束,当提示符"->"出现在最后一个数字后面,说明系统已经收到了命令,系统会返回操作的结构,得到响应OK,OK表示成功,ERROR则表示发送失败。
SMS短消息的接收同样是收到一串PDU 的编码,按照上述规则解析接收到的PDU编码即可。
3 利用GPPS实现微控制器无线上网
微控制器由于其体积小、功耗低、使用方便等特点,在各种嵌入式系统中得到广泛应用,随着互联网的兴起与普及,使微控制器通过互联网传送数据就变得非常有意义,利用GPRS不仅非常经济的实现微处理器的与Internet互联,还解决了布线的问题,实现了微处理器无线上网。
微处理器通过GPRS实现无线上网操作之前,首先要对GPRS模块进行一定的设置,使MC35模块进入数据通信状态。
然后通过"ATD*99***1#"指令拨通并连接中国移动的GPRS网关支持节点GGSN(Gateway GPRS Support Node),拨号成功后便动态分配到Internet网的IP地址。在这个过程中最重要的地方就是PPP协商过程,这是由于在移动梦网的GGSN与GPRS模块进行通信时遵循的是PPP协议。
GPRS模块在拨号后首先要与GPRS网关进行通信链路的协商,协商过程遵守LCP(Link Control Protocol)、PAP(Password Authentication Protocol)和IPCP(Internet Protocol Control Protocol)等协议。其中LCP协议用于建立、测试、拆除PPP数据链路;PAP协议用于处理密码验证部分;IPCP协议用于设置网络协议环境,并分配IP地址。一旦协商完成,PPP链路创建,分配到IP地址就可以按照协商的标准进行IP报文的传输了。此时,微控制器向GGSN发送的所有包含IP报文的PPP报文都会被传送给Internet网中相对应的IP地址;而远端系统向微控制器IP地址发送的报文也都会经GPRS网络传送到微控制器上,从而完成微控制器与远端系统通过互联网进行数据传输。
整个程序的大体流程图如图3所示。 |