单片机微操控器以其体积小、功耗低、运用便利等特色,广泛运用于各种工业、民用的嵌入式体系中;而跟着互联网(Internet)的鼓起与遍及,使微操控 器经过互联网传送数据就变得十分有意义。现在使微操控器上网的处理计划一般有两种:一种是选用微操控器驱动网卡,经过以太网衔接Internet;另一种 是使微操控器直接驱动调制解调器(MODEM)经过电话线向ISP拨号上网。这两种计划的缺陷在于都要运用有线的网络,无法运用于在边远地区或可移动体系 中。
针对这一问题,提出一种依据GPRS的单片机上网的处理计划,即在单片机中完结PPP协议,并经过驱动GPRS模块经过GPRS无线网衔接到 Internet完结上网。这种计划的长处在于:① 掩盖面广,适用于广阔偏远地区;② 无线上网,适用于可移动方针;③运用廉价的微操控器完结简略、成本低;④ 装置简洁,保护便利。
GPRS技能及其特色
GPRS(General Packet Radio Service)是通用分组无线事务的简称,是在GSM基础上发展起来的一种分组交流的数据承载和传输办法。与原有的GSM比较,GPRS在数据事务的承 载和支撑上具有十分显着的优势:经过多个GSM时隙的复用,支撑的数据传输速率更高,理论峰值达115kb/s;不同的网络用户同享同一组GPRS信道, 但只要当某一个用户需求发送或接纳数据时才会占用信道资源。这样,经过多用户的事务复用,更有效地运用无线网络信道资源,特别适宜突发性、频频的小流量数 据传输,很好地习惯数据事务的突发性特色;GPRS计费办法愈加灵敏,能够支撑按数据流量来进行计费;与无线运用协议(WAP)技能不同,GPRS能够随 时为用户供给通明的IP通道,可直接拜访Internet中的一切站点和资源;选用信道复用技能,每一个GPRS用户都能够完结永久在线;别的,GPRS 还能支撑在进行数据传输的一起进行语音通话等等,并且相关于短消息等其它无线数据通讯事务,GPRS的价格优势比较显着。现在,我国移动推出的GPRS上 网事务最高每千字节也只要3分钱,并且用户能够依据自己的需求,以月租、包月等多种形式进一步下降GPRS通讯的费用。
因而运用GPRS完结长途数据的传送是十分经济实用的,特别是关于不易架起有线网络的边远地区和可移动装置。
硬件衔接和GPRS模块设置
经过GPRS网进行数据传输一般需求运用GPRS模块。现在,GPRS模块一般是指带有GPRS功用的GSM模块,能够运用GPRS网进行数据通讯。
其间比较盛行的有法国Wave公司的WISMO系列和西门子公司的S系列等等。WAVECOM的WISMO模块接口简略、运用便利且功用十分强壮
其间GPRS模块与单片机间是经过串行口进行通讯的,通讯速率最快能够到达115 200b/s。模块与操控器间的通讯协议是AT指令集,其间大部分指令是契合协议“AT command set for GSM Mobile Equipment (ME) (GSM 07.07 version 6.4.0 Release 1997)”的,但也有一些是Wavecom自己界说的AT指令。除了串口发送(TX)、串口接纳(RX)之外,微操控器与GPRS模块之间还有一些硬件 握手信号,如DTR、CTS、DCD等。
为了简化微操控器的操控,硬件设计时不要运用悉数的硬件握手信号,而只运用数据载波检测(Data Carrier Detect, DCD)和终端预备(Data Terminal Ready, DTR)信号。
DCD信号能够检测GPRS模块是处于数据传送状况仍是处于AT指令传送状况。
DTR信号用来告诉GPRS模块传送作业现已完毕。
硬件衔接完结后,在进行GPRS上网操作之前,首要要对GPRS模块进行必定的设置。首要的设置作业有:
① 设置通讯波特率,能够运用AT+IPR=38400指令,把波特率设为38 400b/s或其它适宜的波特率,默许的通讯速度为9600b/s。
② 设置接入网关,经过AT+ CGD CONT=1, “IP”, “CMNET”指令设置GPRS接入网关为移动梦网。
③设置移动终端的类别,经过AT+CGCLASS=“B”设置移动终端的类别为B类,即一起监控多种事务;但只能运转一种事务,即在同一时间只能运用GPRS上网,或许运用GSM的语音通讯。
④ 测验GPRS服务是否注册,运用AT+CGACT=1,1指令激活GPRS功用。假如回来OK,则GPRS衔接成功;假如回来ERROR,则意味着GPRS失利。这时应检查一下SIM卡的GPRS事务是否现已注册,GPRS模块天线是否装置正确等问题。
中国移动在GPRS与Internet网中心树立了许多相当于ISP的网关支撑节点(GGSN),以衔接GPRS网与外部的Internet网。 GPRS模块能够经过拨“*99***1#”登录到GGSN上动态分配到Internet网的IP地址。其间GPRS模块与网关的通讯要契合点对点协议 (Point to Point Protocol, PPP),其间身份验证时用户名、暗码都为空。运用PPP协议登录上之后,就能够经过GGSN接上Internet了。
软件全体结构
程序中的一切代码最好选用C言语编写,并选用分层的结构,从底到上分别为:串口驱动层、GPRS模块驱动层、PPP协议层、IP协议层、UDP协议层 与运用层。上层函数的完结需求运用到底层函数,而底层函数的使命便是为上层函数供给服务,终究完结运用层使命——传送数据。
驱动程序编写
首要是串行口驱动层。它完结翻开串口、封闭串口、读串口数据、写串口数据等函数。然后,在这些串口函数的基础上编写GPRS模块的驱动函数。单片机经过串行口操控GPRS模块,进行拨号、设置等操作。操控的办法是选用AT指令。
在操控GPRS模块拨打移动梦网GGSN的登录号码“*99***1#”之后,GPRS模块就转入在线形式(On-Line)。此刻单片机向串行口发送的一切数据都通明地传送给了GGSN,相同GGSN的答复也传回单片机的串行口。
当数据传送完结后,单片机需求告诉GPRS模块完毕会话,并从在线形式转回一般的指令形式,这能够经过置高DTR线完结。一起,假如线路因为反常断开, CD线会回复到往常的低电平,所以处于在线形式下也要不断检测CD线是否处于高电平。依据这些操作,能够编写GPRS驱动函数:初始化GPRS模块函数、 拨号函数、断开衔接函数、检测是否处于在线状况函数。
这些底层的驱动函数将会使上层协议的编写很便利,更重要的是,它为咱们供给了一个驱动笼统层。当底层硬件做出改动的时分,只需求对底层的驱动函数进行改动,而上层函数的代码不变。
PPP协议的完结
因为移动梦网的GGSN与GPRS模块通讯时遵从PPP协议,所以要在单片机中也完结一部分PPP协议才能与之对话。GPRS模块在拨号后首要要与 GPRS网关进行通讯链路的洽谈,即洽谈点到点的各种链路参数装备。洽谈进程恪守LCP(Link Control Protocol)、PAP(Password AuthenTIcaTIon Protocol)和IPCP(Internet Protocol Control Protocol)等协议。其间LCP协议用于树立、结构、测验链路衔接;PAP协议用于处理暗码验证部分;IPCP协议用于设置网络协议环境,并分配 IP地址。洽谈机制用有限状况机的模型来完结。一旦洽谈完结,链路现已创立,IP地址现已分配就能够依照洽谈的规范进行IP报文的传输了。依据运用的不 同,IP报文中能够带着UDP报文,也能够是TCP或ICMP报文。本体系正是选用UDP报文传送数据信息的。数据传输完结之后,单片时机向GGSN发送 LCP的断开衔接报文,以停止网络衔接。
PPP协议的帧结构(图略)。单片机的串口中止接纳程序首要以包开始和完毕符来判别是否有完好的PPP包,并对PPP包的内容进行校验,以确认数据包的完好性和正确性。然后,在主循环中进入PPP报文解析模块。
登录GGSN的进程
体系的一个难点是单片机登陆GPRS网关(GGSN)并与网关经过LCP、PAP、IPCP协议进行洽谈的进程。LCP、PAP与IPCP协议的帧结 构迥然不同,最常用的为恳求(REQ)、赞同(ACK)和回绝(NAK)三种帧。单片机与GGSN各为一方进行洽谈,任何一方都能够发送REQ帧恳求某方 面的制造,另一方觉得装备不能承受会回应NAK帧,假如能够则回应ACK帧。为了节约资源,咱们只处理这三种数据帧,其它链路问题都由单片机在程序操控下 自己从头拨号处理。
洽谈进程大致描绘如下:在拨号成功衔接后,GGSN首要会回来一个PAP REQ数据帧。咱们发送一个空LCP REQ帧,以逼迫进行协议洽谈阶段。随后,GGSN发送LCP设置帧,咱们回绝一切的设置并恳求验证形式。GGSN挑选CHAP或PAP办法验证,咱们只 承受PAP办法。然后,进行PAP验证用户名和暗码进程,在GPRS顶用户名与暗码都为空,假如成功,GGSN会回来IPCP报文分配动态IP地址。此 时,就完结了与GGSN的洽谈进程。洽谈进程的状况转化如图4所示。
洽谈完结后进入IP数据报通讯阶段。此刻,单片机向GGSN发送的一切包括IP报文的PPP报文都会被传送给Internet网中相应的IP地址;而 远端一切向单片机IP地址发送的报文也都会经GPRS网传送到单片机上,然后完结单片机与长途主机经过互联网的数据传输。