- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
使用无线通信模块构建GPRS无线通信实验平台
随着 随着GPRS手机的日益普及和运营商对此项技术不遗余力的推广,已有越来越多的用户开始使用这项服务。然而从技术层面上分析,GPRS技术要进入类似于目前SMS的高速发展期,至少还有两个瓶颈必须突破。第一,有更多的ICP提供基于GPRS技术的服务项目;第二,提供简单实用的实验平台,让ICP能够用来开发新的基于GPRS的服务项目。目前市场上的情形则是用户觉得基于GPRS技术的服务项目实在太少,而另一方面,很多人有很好的想法,但在开发上却遇到很多技术壁垒。 例如大家觉得能够开发一个基于GPRS的地理信息查询系统会非常受欢迎,最简单的应用就是当你在逛街时,也许只要告诉服务器你所处的路名,服务器就可以使用GPRS方式向你的移动终端源源不断下传诸如附近的城市地图、娱乐场所、文教指南、购物天地、甚至是商品打折消息等各类信息。这个创意在两年前就有人提出,但到目前为止还没有看到实际应用,技术开发难度可想而知。 使用第三方提供的“无线通信模块”可以大大降低开发者的硬件开发难度,使其集中精力于软件开发,从而缩短开发周期,率先抢占市场。这里向大家介绍如何利用西门子公司MC35T GPRS无线通信模块来构建通信实验平台。 MC35T是一款支持GPRS Class8的高速无线通信终端,它提供了一个RS232串口、一个SIM卡槽、一个直流电源接口、一个耳机兼麦克风接口和一个天线接口。试验平台的构建过程可分为三个阶段。 第一、使用MC35T实现并熟悉各种AT指令。 对于涉足无线通信领域的人来说,AT指令不会是一个陌生的名词。使用串行线将计算机串口同MC35T提供的串口相连,在SIM卡槽中放入SIM卡,给MC35T接上天线,最后上电让MC35T开始工作。这时就可以使用Windows自带的“超级终端”,选择所使用的串口号并以一定的波特率同MC-35T进行通信,它们之间交流的“语法”就是AT指令。下面简单介绍几条AT指令: 1) “at+cops?” 这条指令用来检查无线通信模块是否已经登上网络。如果使用的是中国移动的SIM卡,已登录网络返回值应该是+COPS: 0,0,“China Mobile”,尚未登陆网络的返回值为+COPS:0。 2) “atd电话号码;” 这时如果带着耳机就能听到模块的拨号声和对方的振铃声(或者系统提示的“对方正在通话”),当被叫拿起话筒时通信就这样建立了,也许自己都不敢相信,如此简单的一条指令,就可以完成一次无线通信的语音通话实验。另一条指令ath则用来挂断电话。 在“超级终端”环境下,还可以AT指令实现对电话簿的操作、对通信模块的各种设置、短消息操作、传真业务操作以及SAT,具体内容可以参考GSM07.05、GSM07.07、GSM11.14以及供应商为各种产品提供的配套文档。在这个阶段,熟悉了一些常用的基本AT指令之后,建议将重点放在SMS和SAT上。实现SMS主要有两种方式,即TEXT格式和PDU格式。PDU格式实际上是对短消息进行打包的一种协议,中文短消息的实现必须通过PDU格式,使用AT指令方式熟悉PDU格式可以加深使用者对这一方式的认识和掌握。SAT是运营商提供的一种新颖的增值服务,可以以类似信息点播的方式向用户提供诸如天气预报、航班信息、时事新闻、股票查询、指数查询等全方位信息,这可能也是今后增值服务的一个主要增长点。 第二、使用MC35T实现GPRS无线MODEM功能。 实现GPRS方式无线上网以及WEB浏览、FTP等众多有线方式下可以实现的服务,对于加深对GPRS的熟悉和理解及下一步开发都具有重要的意义。 首先,在Windows环境下为串口安装一个19,200bps标准MODEM,在其“属性”的Modem属性页中将“最高端口速度”选为57,600,在“高级”属性页中,在“Extra initialization”对话框中键入“at+cgdcont=1,ip,cmnet”。这是一条对PDP环境设置的AT指令,其中cmnet是中国移动提供的接入点名(APN),如果使用其它公司提供的接入服务,则此APN是不同的。接受其它默认选项,最后新建一个使用19,200标准串口MODEM的拨号连接(可使用喜欢的任何名称),使用的号码是“*99***#”(无须用户名和密码,只要SIM卡支持GPRS服务),这个号码就是用来呼叫请求建立GPRS连接的。 如上操作完毕后,所有的准备工作已经全部就绪,只要在“dial”按钮上轻点鼠标,几秒钟后GPRS连接就建立起来了,现在就可以尝试WEB浏览、FTP等服务。对于服务开发者而言,这时不需要自己动手搭建任何硬件,就能够在PC机支持的环境下实践自己开发的基于GPRS的应用,这是非常诱人而神奇的一件事。 第三、使用MC35T帮助开发自己的移动产品。 如果正在研发的GPRS应用需要开发自己的硬件终端,那么最终产品应选择MC35、MC45或MC388等模块产品,而不是MC35T或类似的终端产品,但在研发阶段仍然可以在MC35T或类似终端产品支持下首先模拟这种服务。不论是GPRS手机、智能电话、GPRS PDA还是移动智能终端(如自动售货机、银行ATM机)、无线公话、车载通信终端等,如果使用无线通信模块,它们的硬件框图是基本类似的(图1)。 从图1可以看到,由于技术难度最大的高频电路部分和射频部分都在无线模块内部处理,这无疑大大减小了硬件的开发难度。系统的控制核心是MCU,但因为很多MCU供应商同时提供了在PC机上的模拟评估软件,因此借助于这些评估软件以及同PC机串口相连的MC35T终端,就可以在制作自己的PCB板之前先对整体设计作一评估测试,从而减小硬件开发风险。 无线模块和MCU之间的硬件接口是RS-232,软件接口是AT指令集(通过第一阶段的实验应该对此比较熟悉了)。如果需要用到上层GPRS应用,则还有一个技术问题,那就是PPP协议的实现。在第二阶段实验中,我们实际上使用的是Windows自带PPP协议栈,但在这一阶段,MCU的控制程序需由开发者自己完成,所以必须自己加入PPP协议栈。使用普通MODEM和使用无线模块的PPP实现方式是不同的,从图2可以清楚地看到这种区别。 认识到这种差异性对系统开发非常重要,所以虽然西门子的无线模块中已经包含了PPP协议栈,但在用户侧的MCU中还必须具有PPP与模块进行通信,所幸的是很多MCU供应商在提供硬件的同时也向用户提供一些免费的例程或代码,其中就可能包括PPP协议栈。目前在网上也有很多免费代码,另外市场上也可以找到一些价格非常便宜的协议转换芯片。 在自己的系统中完成PPP协议栈功能验证后,数据链路就能够顺利建立了,此时系统开发的任务已经完成大半,更上层协议可完全根据各个开发者应用的不同而自由选择。 从上述三阶段的讨论中我们可以看到,不论开发者对GPRS通信系统的熟悉程度如何,都可以使用无线通信模块搭建适合自己的实验平台,在较小硬件开发成本的基础上,尽快把自己的想法转换为现实,缩短整个研发周期。 作者:徐敏 金易 刘锦高 上海西门子移动通信有限公司