打印

gprs模块介绍

[复制链接]
10163|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tiger84|  楼主 | 2010-1-26 22:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是以前网上整理的一点资料,貌似有很多都是chunyang大哥的,被网上转来转去,我再弄回来,结合自己用过的一些模块的总结,给各位兄弟们参考下。

GPRS模块概述
现在无线模块品种众多,对于初次进行方案设计的人员来说,难以抉择。常规的无线模块分成GPRS、CDMA、GSM、EDGE等模块。其中有些模块是不带TCP/IP协议的。随着产业的发展和技术的进步,现在大多数无线模块都内置了协议。由于GPRS的网络分布更为广泛,大多数的客户倾向于选择使用GPRS模块。
西门子作为老牌的模块生产企业,它的口碑在业界还是不错的,如MC55I功能丰富、性能稳定;同样如摩托罗拉的G24模块,它的功能非常强大,当然此两款模块价格也是比较高的。相对来说BENQ的M23G、M32(M32已经停产)和华为的GTM900B模块性价比较高,特别是华为的GTM900B模块,近年在行业内得到了越来越多的认可,性能稳定,返修率很低。还有一个优势,就是在硬件上它可以同西门子的TC35I、MC39I进行互换,对于想降低生产成本的模块用户来说非常方便。
相对来说GPRS模块,西门子的MC39I、MC55I、摩托罗拉的G24返修率非常低,客户接受和认可度高。而从最近几年的情况分析来看,华为的GTM900B模块逐渐占据了较高的市场份额,其返修率也非常低。作为性价比很高的一款产品,非常适合对价格敏感的客户群选用。对于GSM模块,则推荐客户选用西门子的TC35I模块。CDMA模块则推荐使用华为的CM320,性价比相对较高。
随着无线通讯市场的规模逐渐加大,模块的经销渠道也越来越多。但现在市场上商户良莠不齐,举例来说西门子的无线模块由于推出较早,功能强大,性能稳定,用户也较多。但市场上也出现了很多“水货”和“翻新货”,质量和维保就难以得到保证。所以建议用户不要为了表面上看起来便宜了十几块钱而增大了风险,购买此类产品还是要在正规的代理商或专业经销商处购买。华为的GTM900B作为国产的GPRS模块,目前市场上应该来说还不会出现“假货”和“翻新货”,目前最好的采购渠道就是在代理商和专业经销商处,能够得到很好的技术支持和产品维保。
还有就是一定要了解模块短期内是否会停产,我曾经在代理商的极力推荐下使用了BENQ的M32模块,该模块是该代理商主推的BENQ模块,性价比不错,用的也挺好。可是几个月不到,该模块使用的1个TI芯片停产,从而导致该模块也停产了,不得不重新选择模块,不仅浪费公司资源也耽误了市场。
这些无线模块常规的配套产品通常有以下几种:①模块插座,用于连接模块和线路板,不同的模块往往使用不同规格的插座,常用的有40Pin、50Pin、60Pin和70Pin;②排线,用于连接模块上自带的插座和模块插座,分进口和国产两类;③天线,常用的有吸盘天线、棒状天线、T型天线、尺状天线、拇指天线等多种形式,配合GPRS和CDMA,频率有850/900/1800和1900MHz;一些客户在偏远地区遇到GPRS或CDMA 信号偏弱的问题可以尝试选择高增益天线加以解决,能取得较好的效果;④转接线,又叫馈线,用于连接天线和模块,接口通常有MMCX、IPEX和SMA等,又分进口和国产两类;⑤SIM卡座,有翻盖和抽屉式,带回流焊是常用的较好的卡座。
GPRS模块的选择
模块的选择可以从以下几个方面着手:
1, 尺寸和成本。这个就不多说了。
2, 工作环境。工业及车载的高可靠应用西门子是第一选择,Motorola和索爱的也不错,但其不如前者的供货及技术支持好。一般工业及车载应用但对成本较敏感的话,可以用Simcom或Wavecom的。普通环境及成本高度敏感的,建议用BenQ的,但Benq质量一般,西门子性价比不高,华为的GTM900B是一个不错的选择,也算支持国货。
3,是否需要自带协议栈。如果只是语音和短信之类的应用,就不需要协议栈了,如果还要用到数据传输,就需要协议栈。协议栈可以自己写,自己写协议栈的好处是,灵活性比较高。一般来说每个模块都有对应的带协议栈和不带协议栈的型号,带协议栈的模块要贵一些,如果对协议栈比较了解的话,推荐自己写协议栈。若不太了解协议或者急于推出产品的话,可以在前期选择带协议栈的,后期可根据实际情况选择不带协议栈,也能节约不少成本。
4,模块管脚兼容性。市场上是否有可以替代的模块,如华为的GTM900就和西门子的一些模块PIN_PIN兼容;当模块停产,或者为了降低成本,或者需要增加新的功能时,模块能相互替代就最好了。
5,代理或者经销商的技术支持要好,能够提供可靠的硬件和软件资料。
GPRS模块硬件设计
GPRS模块的硬件接口主要如下:
1, 电源和地。芯片工作电源一般都是3.3V,1.8V等,考虑到一些损耗等,为了模块正常工作,要求工作电源在3.7V到4V不等。电源要稳定,且容量足够。GPRS模块在连上网的一瞬间的电流比较大,设计时要考虑到这种情况。
2, SIM卡座。
3, 串口。GPRS模块与单片机间一般是通过串行口进行通信的,通信速率最快可以达到115 200b/s。除了串口发送(TX)、串口接收(RX)之外,微控制器与GPRS模块之间还有一些硬件握手信号,如DTR、CTS、DCD等。为了简化微控制器的控制,硬件设计时可以不使用硬件握手信号,具体以厂家的模块说明为准。
4, 与语音通话相关的引脚,话筒、听筒之类。若不需要用到语音通话功能,则可以不接。
5, 开关引脚。一般都会有控制模块开关的引脚,通过给个低脉冲来进行开关机,跟手机开关机差不多。有的模块还会开放复位脚,通过拉高或者拉低来对模块进行复位。
硬件设计时也可通过控制模块的电源来达到控制模块开关的目的。
6, 状态指示脚。一般都会有个GPRS模块状态指示脚,接上LED灯后就能知道模块的工作情况。
7, 天线。要注意高频的影响。     
GPRS模块软件设计
模块与控制器间的通信协议是AT命令集,其中大部分命令是符合协议“AT command set for GSM Mobile Equipment (ME) (GSM 07.07 version6.4.0Release 1997)”的,但也有一些是厂家自己定义的AT命令,所有的模块的AT指令都大同小异,熟悉了一款模块的AT指令后,其他的模块都能很快的掌握。GPRS模块的一般应用包括:数据传输、语音通话、短信等。
软件整体结构
  程序中的所有代码最好采用C语言编写,并采用分层的结构,从底到上分别为:串口驱动层、GPRS模块驱动层、PPP协议层、IP协议层、TCP/UDP协议层与应用层。若模块自带协议栈,就只需要串口驱动层、GPRS模块驱动层、应用层。上层函数的实现需要应用到底层函数,而底层函数的任务就是为上层函数提供服务,最终完成应用层任务——传送数据。驱动程序编写
首先是串行口驱动层。它实现打开串口、关闭串口、读串口数据、写串口数据等函数。然后,在这些串口函数的基础上编写GPRS模块的驱动函数。单片机通过串行口控制GPRS模块,进行拨号、设置等操作。控制的方法是采用AT命令。从而可以编写GPRS驱动函数:开关GPRS模块函数、初始化GPRS模块函数、拨号函数、断开连接函数、检测是否处于在线状态函数。
这些底层的驱动函数将会使上层协议的编写很方便,更重要的是,它为我们提供了一个驱动抽象层。当底层硬件做出改动的时候,只需要对底层的驱动函数进行改动,而上层函数的代码不变。

相关帖子

沙发
andy2003hu| | 2010-1-26 23:01 | 只看该作者
学习了

使用特权

评论回复
板凳
chunyang| | 2010-1-27 14:23 | 只看该作者
呵呵,已经多年没再用移动通讯模块了,现在市场的变化很大,供应商层出不穷,3G模块也会越来越多,有点量的话还能玩玩山寨套片,可选择的余地很大……

使用特权

评论回复
地板
浪子007| | 2010-1-27 15:01 | 只看该作者
工业级高可靠应用最好的是WAVECOM,其次才是西门子,看来LZ用的模块还是太少了。就工业环境满足来说,TELIT的温度范围也可以,西门子最适合的就是电力行业。价格上现在都差不多了。国产的相对便宜些,但是质量上稍逊色一点。

使用特权

评论回复
5
tony0607| | 2010-1-27 15:24 | 只看该作者
谢谢了

使用特权

评论回复
6
tiger84|  楼主 | 2010-1-27 22:11 | 只看该作者
呵呵,我也好久没有用过GPRS模块了,看到以前自己写的总结,就顺便拿出来让大家参考下,见笑了。不对的地方,大家提出来,呵呵

使用特权

评论回复
7
ypj005| | 2010-3-16 14:19 | 只看该作者
:lol

使用特权

评论回复
8
pic在2008| | 2010-3-19 01:27 | 只看该作者
的确层出不穷,天同的W801G GPRS模块不错,内置协议栈,全能配置,可实现单模块方案,
全透传串口,下位机0编程

使用特权

评论回复
9
xue2050| | 2010-3-19 11:18 | 只看该作者
学习了,谢谢!

使用特权

评论回复
10
xiaostream| | 2010-3-23 11:36 | 只看该作者
学习了!!!

使用特权

评论回复
11
rwy198155| | 2010-6-19 14:05 | 只看该作者
学习了,写得不错,对于初次使用来说有点意义...

使用特权

评论回复
12
kaisa0826| | 2010-6-22 16:49 | 只看该作者
很多厂家已经变化很大了,西门子的GPRS模块也被卖了,现在里面套片已经换成MTK的了。
GPRS厂家以前的老品牌基本上都卖来卖去。

使用特权

评论回复
13
zdtdl| | 2010-7-14 15:20 | 只看该作者
用GPRS模块加SIM卡上电,进行系统小区和信道的搜索,每个模块都应该能把尽可能多的小区信道信息在列表中储存下来吧(整个频段最多125个,单移动GSM的话顶多一半吧)。我用AT指令能够读出最多7个最强的BCCH信道信息(包含了小区和基站等信息),问题是我如何能把模块存储下来的BCCH信道列表都读出来为我所用,手册里似乎找不到这样的AT指令。因为在试验中发现手机搜索时至少可以搜到20个以上的BCCH信道,当对最强的7个BCCH信道干扰以后,还会去连接其他弱一点的BCCH,我是希望能够事先将所有手机搜到的能用的BCCH信道列表全部掌握。
申明一下,我是做信号干扰的,只是对GSM稍深一点的技术资料了解很有限,都是通过实验获得再和有限的资料印证,真是一步一个脚印,难。不知道有没有做移动通信方面的朋友指点一下

使用特权

评论回复
14
yzzly| | 2011-6-14 14:34 | 只看该作者
本帖最后由 yzzly 于 2011-6-14 15:45 编辑

能不能介绍一下GPRS模块收发短信息与GSM模块收发短信息有什么不同?GPRS模块在没有进行TCP连接的情况下是不是就可以进行短信息收发?谢谢!

使用特权

评论回复
15
sioca| | 2011-6-14 21:23 | 只看该作者
工业级高可靠应用最好的是WAVECOM,其次才是西门子,看来LZ用的模块还是太少了。就工业环境满足来说,TELIT的温度范围也可以,西门子最适合的就是电力行业。价格上现在都差不多了。国产的相对便宜些,但是质量上稍逊 ...
浪子007 发表于 2010-1-27 15:01

请问各位大虾,WAVECOM的“高可靠性”究竟体现在哪些方面?国产“质量稍逊”又反映在什么地方呢?每每听老鸟训话:某某进口模块可靠性好,只是一直没有见到依据。
方案商只有几家,同方案原理图也几乎都一样。真是想不通

使用特权

评论回复
16
chunyang| | 2011-6-16 04:59 | 只看该作者
就品质控制而言,西方公司确实强于国内公司,品质控制也是技术的体现,不过近年来国产名牌货的进步还是明显的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:专注ARM及linux性能优化

101

主题

862

帖子

0

粉丝