引 言
随着gprs技术在无线通信领域中的发展,gprsmodem作为gprs在internet上的pc机终端己获得了越来越广泛的应用。相应地,在单片机系统中运用gprsmodem实现internet接入也开始为人们所重视。gprs具有永远在线、快速登录、按流量计费等优势。如果无线传输的仅仅是低速数据,则用成本较高的pc机来控制成本过高。目前,大部分使用的都是没有内置tcp/ip协议的gprs模块(如西门子公司的mc35),这就需要在系统中另外加入tcp/ip协议。一般的做法是自己编写,或者使用操作系统再加入协议。
本文使用的siml00是simcom公司推出的内嵌tcp/ip协议的gprs模块。相对于没有内置tcp/ip协议的模块,siml00使用起来更方便,并且可以缩短开发周期。
1 siml00模块的接口
siml00模块为用户提供了功能完备的系统接口,在较短的研发周期内,就可以集成自己的应用系统。用户的工作主要集中在控制系统和人机界面方面。siml00模块与应用系统的连接接口主要提供外部电源、rs-232串口、sim接口和音频接口。
1.1 电源接口
siml00模块使用锂电池、镍氢电池或者其他外部直流电潭供电,电源电压为3.3~4.6 v,电源应该具有至少2 a的峰值电流输出能力。ext电压用于保证模块与外部数字接口的电平匹配,vava则用于给音频电路提供电源。其电源参考电路如图1所示。
1.2 串行接口
siml00提供标准的rs-232串行接口,用户可以通过串行口使用at命令完成对模块的操作。
在应用设计中,当mcu需要通过串口与模块进行通信时,可以只用3个引脚:txd、rxd和gnd;但当需要通过模块上网时,应该尽量使用全部的串口信号引脚,包括dtr、rts、dcd、cts、txd、rxd、ri和gnd。其中,ri变化表示有来电呼入,可以连到mcu的中断引脚或者其他输入引脚供mcu查询其状态。当模块与pc通信时需要电平转换,与pc机类标准串行口的参考接口电路如图2所示。
1.3 sim卡接口
模块支持外部sim卡,可以直接与3.0v sim卡或者1.8v sim仁连接,并自动监测和适应sim卡类型。sim卡引脚功能如表l所列。
sim卡连接的参考电路如图3所示。
另外,siml00还提供许多其他接口,用户可以根据系统的配置来增加功能,如输入/输出接口、网络指示灯、spilcd接口、蜂鸣器、音频通道和键盘等。
2 at指令控制siml00接入gprs
2.1 at指令简介
at指令集一般指专门用来控制调制解调器的指令集。该指令集最初由美国hayes公司推出,专门用于数据传输通信领域,目前己成为全球通用的标准,任何与hayes兼容的调制解调器都可使用这些指令。
at指令是以at开头、结尾的特定字符串,at后面紧跟的字母和数字表明at指令的具体功能。at指令具有以下特点:
①几乎所有的at指令(除了“a/”及“+++”两个指令外)都以一个特定的命令前缀开始,以一个命令结束标志符结束。命令前缀一般由at两个字符组成,命令结束符通常为。
②每一条at指令执行完后,调制解调器都会返回一个结果,以对接收到的命令作出应答。
指令集分成标准at指令集(standard v.25ter atcommands)、at增强指令集(at commands for en-hanced functions)和传真指令集(at commands forfax)等。根据具体的产品,不同的厂商还会设计特殊的指令集供设置使用,例如奉系统中使用的无线gsm模块,根据etsi-gsm07.07和etsi-gsm07.05协议,给调制解调器增加了一些扩充指令。
2.2 建立gprs连接
在本系统中,需要利用tcp/udp协议来完成gprs业务数据的装帧和拆帧。siml00 gsm/gprs模块内置tcp/udp协议,微处理器向该模块直接发送at指令可建立tcp/ip连接实现数据传输。下面是模块的一些初始设置。
①置通信波特率。可以使用“at+ipr=115200”命令,把波特率设为115 200 bps或者其他速率。simcom模块默认为ll5200 bps。
②置接入网关。通过“at+cgdcont=1”、“ip”、“cmnet”命令,设置gprs接入网关为移动梦网。
③设置移动终端的类别。通过at+cgclass=“b”设置移动终端的类别为b类,即同时监控多种业务