历史上的今天
返回首页

历史上的今天

今天是:2025年03月10日(星期一)

正在发生

2021年03月10日 | GPRS数据传输模块的设计与实现

2021-03-10 来源:eefocus

1 引 言


随着市场上对无线数据业务的需求日益增多,运营商纷纷大力发展自身领域内的数据服务,力求在激烈的竞争中占得先机。传统的GSM网络仅能支持9.6 kb/s速率的数据传输业务,这远远不能满足用户对高速无线数据业务的需求。通用分组无线业务(General Packet RadioService,GPRS)是构架在传统GSM网络之上的一种标准化的分组交换数据业务,他可以提供高达115 kb/s速率的分组数据业务,从而使得包括图片、话音和视频的多媒体业务在无线网络中的传输成为现实。


GPRS被认为是第二代移动通信系统向第三代移动通信演进的重要一步。相对原来GSM的拨号方式的电路交换数据传送方式,GPRS是分组交换技术,具有“高速”和“永远在线”的优点。GPRS允许用户在端到端分组转移模式下发送和接收数据,而不需要利用电路交换模式的网络资源,从而提供了一种高效、低成本的无线分组数据业务。随着无线数据传输技术的迅速发展,GPRS已经成为实现无线数据业务的最佳承载方式。


2 硬件设计


2.1 西门子MC55模块


本次研究选用的GPRS模块是西门子的MC55模块,这款无线模块是当今市场上尺寸最小的三频模块。MC55的端到端连接器是通过50针0.5 mm宽的引脚连接到芯片应用平台的。50个引脚用于控制各个逻辑单元,传输数据和音频信号,并供给功率提供队列。一个多用途的音频概念提供各种各样音频接口,每种接口都可用在端到端连接器上:1个数字音频接口(DAI)和2个模拟音频接口。利用AT指令,可以轻松地来回接通,并且选择不同音频方式的命令。


MC55最重要的状态是处于0 V(用于低数据比特和ON状态)和2.65 V(用于高数据比特和OFF状态)。这款芯片是被设计用于作为一个数据通信设备(DCE)的,基于传统的DCE-DTE连接,他与用户应用端进行串口通信,串行接口如图1所示。


2.2 GPRS数据传输模块硬件设计


本次研究设计主要是应用GPRS模块与单片机进行数据传输,因此涉及的硬件主要是单片机和GPRS模块,而这里选用的GPRS模块是西门子的MC55,而单片机则是选用51系列。



GPRS模块和单片机之间的数据通信主要是通过端口TXD0与TXD之间,RXD0与RXD之间的数据传输来完成。其中GPRS模块上的TXD0口是用于接收从单片机传来的数据,而单片机上的TXD端口是用于向GPRS模块传送数据的。GPRS模块上的RXD0口是用于向单片机发送数据,单片机的RXD口则是用于接收从GPRS模块传输来的数据。


由于该模块电源引脚有5个,且电压都是3.3~4.8 V,因此这里将5个引脚连在一起,直接接到外部电源上。GPRS模块上的引脚IGT主要是用于点火复位,这里作用是做GPRS模块的一个复位转换。在MC55的基带处理器上有一个综合SIM接口,他直接接线到主机接口(端到端连接器),用于连接到外部的SIM卡座。这里接的SIM卡有6个引脚CCCLK,CCVCC,CCIO,CCRST,CCIN以及CCGND分别对应接在MC55的第1到第6个引脚上。模块的连接器和SIM卡座的引脚之间的距离不要超过20 cm,为了达到最佳的效果,在SIM支架下敷设一层铜隔离网,该层敷铜与SIM卡的CCGND引脚相连。CCVCC和CCGND之间的两个电容要离引脚尽量近,并且走线尽量阻抗低,以满足规范要求。单片机与键盘相连,可以通过键盘来向单片机发送数据。该单片机的振荡器的晶振为11.059 2 MHz,数据传输率设置为9 600 b/s。单片机的复位键RESET为高电平时复位。


GPRS数据传输模块硬件部分的电路原理图如图2所示。


GPRS数据传输模块的设计与实现


3 软件系统


这个程序主要是完成GPRS模块与单片机之间的数据传输,单片机有51系列的,设定的单片机串行口工作方式为模式1,8位UART,数据传输率为可变;定时器1的工作方式为模式2,数据传输率设置为9 600 b/s,晶振为11.059 2 MHz。我们传输的主要是AT指令,这里传输的AT指令有所拨的号码,DNS服务的IP地址,GPRS服务提供商的密码,接入GPRS服务的APN。当然还需要建立一个TCP通讯,此服务的客户内容包括IP、地址以及远方主机的TCP端口号,以上就是所传输的信息。


该程序的主程序是对AT指令进行发送和接收,在完成发送和接收数据时是分别调用数据发送子程序和数据接收子程序,而这里共包括三个子程序:数据发送子程序、数据接收子程序以及延时子程序。


程序流程图如图3和图4所示。



推荐阅读

史海拾趣

Danaher Corporation公司的发展小趣事

丹纳赫集团一直重视科技创新和产品研发。在电子行业,丹纳赫集团不断推出具有创新性和竞争力的产品,如高精度测量仪器、自动化测试设备和电子制造解决方案等。这些产品不仅满足了客户对高质量、高效率生产的需求,还帮助丹纳赫集团在电子行业中树立了良好的品牌形象。

Enovation Controls LLC公司的发展小趣事

在十九世纪80年代,丹纳赫集团面对日益严峻的市场竞争,开始推行以精益生产为核心的全新运营方式。这种管理方式不仅强化了其在行业中的领导地位,还逐渐形成了独特的丹纳赫商业系统(Danaher Business System,DBS)。DBS注重持续改进、客户导向和团队合作,成为丹纳赫集团在电子行业取得成功的关键因素。

安国国际(ALCOR)公司的发展小趣事

随着公司规模的扩大和业绩的增长,安国国际的产品线逐渐从计算机外设产品拓展至消费型电子产品和手持便携装置。为满足市场需求,公司不断推出创新产品,如输出入装置暨多媒体图像处理装置应用控制芯片、网桥控制芯片、网络安全保护装置等。同时,为提升运营效率和灵活性,安国在2015年进行了组织调整和专业分工,将不同业务线分割为多家子公司,使得各业务领域能够更加专注和高效地发展。

虹冠电子(Champion)公司的发展小趣事

虹冠电子自成立以来,一直将技术创新作为公司发展的核心动力。早期,虹冠电子就投入大量资源研发AC-DC模拟电源IC,成功推出了一系列高效能、低能耗的产品,迅速在市场上建立了良好的口碑。随着技术的不断迭代,虹冠电子在电源管理技术方面取得了显著优势,尤其在电竞电源供应器领域,凭借卓越的性能和稳定性,赢得了众多专业用户和消费者的认可。

Fermionics Lasertech Inc公司的发展小趣事

作为一家有社会责任感的企业,Fermionics Lasertech Inc公司始终关注环境保护和社会公益事业。他们积极推行绿色制造理念,采用环保材料和节能技术生产产品;同时,公司还积极参与各类公益活动,回馈社会。这些举措不仅提升了公司的社会形象,也为公司的可持续发展注入了强大动力。

CHERRY公司的发展小趣事

90年代初,薄膜键盘凭借其低廉的价格和轻便的特性迅速占据了市场主导地位,机械键盘一度被边缘化。然而,Cherry并未放弃机械键盘业务,而是不断进行技术创新和产品升级。随着电竞行业的兴起和消费者对高品质输入设备的需求不断增加,机械键盘市场逐渐复苏。Cherry凭借其深厚的技术积累和品牌优势,成功抓住了这一市场机遇,实现了机械键盘业务的复兴。

问答坊 | AI 解惑

利用运算放大器实现的混频器

混频器常常用一个二极管桥式电路(diodebridge)或一个Gilbert单元(Gilbertcell)来实现。这两类混频器都使用了一个本地振荡器(LO)来跳转射频输入的极性。   当LO为正时,RF输入被混频转换为中频(IF)输出时极性不改变。当LO为负时,RF输入转换为IF时极 ...…

查看全部问答>

关于TAPI的lineInitializeEx的困惑

Windows Embedded CE 6.0帮助文档中介绍,Establishing a Modem Connection的流程如下: lineInitializeEx      ↓ lineOpen      ↓ lineMakeCall      ↓ lineGetMessage & ...…

查看全部问答>

subproject的问题

用windows ce 的template建了个pda的os project 想在这个project下面加一个 subproject 来播放一个 test16bit.wav的文件 这个文件 我是从project property的custom build actions里面加入目录relase的 这个subproject我是这么写的 #include # ...…

查看全部问答>

虚拟网卡动态修改mac

    本人目前维护一个虚拟网卡的微端口驱动程序,代码已经由别人完成,且已经商品化,公司要求我增加一项功能,功能是驱动能够动态的修改虚拟网卡的mac地址。      虚拟网卡mac地址的初始化是通过读一个TXT文件,然 ...…

查看全部问答>

串口输出 程序调试

#include #include void main() { int i=7,j=2; float f=(float)i/j; SCON = 0x50; TMOD |= 0x20; TH1 = 0xf3; TR1 = 1; TI = 1; printf(\"%f\",f); while(1) {} } 这个程序为什么在运行的时候 在串口输入串口 没看到东西啊 ...…

查看全部问答>

一个让人纠结的结果

最近玩单片机的时候谢了一个小代码,但是实在不知道出错在哪里。代码如下         ORG 0000H         ;程序从000H地址开始运行         LJMP        ...…

查看全部问答>

求教!新手求指点

若我有一台17KW  600V的无刷电机,控制器的驱动部分因该选用哪种IGBT和驱动芯片呀,求个型号以供参考,谢谢了…

查看全部问答>

LPCXpresso-CN在IAR下怎么开发,选什么仿真器啊

驱动应该装好了,用lpcxpresso IDE开发无能 板子后面写了IAR,应该可以用IAR来开发 导入了一个IAR里自带的LPC1114的例程 编绎有一警告,无错误 仿真器选择那个呢,我一个个试好像都不行啊, 是不是有其他的选项要设置…

查看全部问答>

Z-Stack中SimpleApp开关结点加入网络流程

(1)开关结点初始化    这时选择的节点类型是终端节点,所以使用f8wEndev.cfg文件,所以在Zglobals.h文件中,我们可以得到下面的定义#define ZG_DEVICETYPE_ENDDEVICE        0x02#define DEVICE_LO ...…

查看全部问答>