微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 一种基于Sim卡座的GPRS无线通信模块设计

一种基于Sim卡座的GPRS无线通信模块设计

时间:04-13 来源:互联网 点击:

基射频部分提供所需的电源。MC35的外围电路如图4所示。

?

?

图中,由AS2815将外部电压转换成3.3V工作电压。系统中的启动电路由三极管和上电复位电路组成,模块上电后,为使之正常工作,必须在15脚加至少100ms的低电平信号,启动后,15脚信号应保持高电平。

MC35在ZIF连接器上为SIM卡接口预留的引脚数为6个,要注意的是,CCIN引脚用来检测SIM卡座是否插有SIM卡,当插入SIM卡,该引脚置为高电平时,系统方可进入正常工作。

SYNC引脚有两种工作模式:一种是指示发射状态时的功率增长情况,另一种是指示MC35的工组状态,本设计中使用后一种模式,LED熄灭时,表明MC35处于关闭或睡眠状态;当LED为600ms亮/600ms熄时,表明SIM卡没有插入或MC35正在进行网络登陆;当LED为75ms为亮/3s熄时,表明MC35已登陆进入网络,处于待机状态。

单片机通信程序设计

该程序软件中的所有代码都用C语言编写,在Keil环境中编译,Keil是Keil Software公司为8051及其兼容产品提供的专门开发工具,它支持在系统调试,Keil中C51译码器很好地集成了RTX多任务实时操作系统,编写程序时,需在源代码头加入“#incluede rtx51.h”.所有代码调试后经由TI Downloader下载到存储器中。

目前,绝大多数基于GPRS网络应用系统所使用的GPRS模块不支持TCP/IP协议,也就是说,要想工作在相同的网络层面上,其内部传输的数据必须都要采用相同的协议,所以除了利用GPRS模块的功能外,必须在单片机系统中嵌入按TCP/IP和PPP协议标准编写的程序,从而使设计的终端设备能够方便的应用GPRS数据分组业务。

◇ TCP/IP协议的嵌入

有很多种方法可以完成协议转换,本设计利用在嵌入式实时操作系统RTX51中移植部分IP和PPP协议来增强系统的可扩展性和产品开发的可延续性。

TCP/IP协议是一个标准协议套件,可以用分层模型来描述,数据打包处理数据时,每一层把自己的信息添加到一个数据头中,而这个数据头又被下一层中的协议包装到数据体中。数据解包处理程序接收到GPRS数据时,把相应的数据头剥离,并把数据包的其余部分当做数据体对待。

考虑到嵌入式系统的特点,本设计采用了系统开销较小的IIP+UDP协议来实现GPRS通信,主机发送的UDP数据报文经GPRS通道传送给GPRS通信模块,GPRS通信模块负责对数据报进行解析,解析后的数据按照一定的波特率串行传送给用户终端。

◇ 数据处理

数据包在主机和GPRS服务器群中传输使用的是基于IP的分组,即所有的数据报文都要基于IP包,但明文传送IP包不可取。故一般使用PPP协议进行传输,模块向网关发送PPP报文都会传送到Internet网中相应的地址。而从Internet传送过来的应答帧也同样会根据IP地址传送到GPRS模块,从而实现采集数据和Internet网络通过GPRS模块的透明传输。

要注意的是,GSM网络无静态IP地址,故其他通信设备不能向它提出建立连接请求,监控中心必须拥有一个固定的IP,以便监测终端可以在登陆GSM网络后通过该IP找到监控中心,关于这一点,很容易解决,只需在电信申请相应的服务就可以了。

GPRS模块登陆上GSM网络后,自动连接到数据中心,向数据中心报告其IP地址,并保持和维护数据链路的连接,GPRS监测链路的连接情况,一旦发生异常,GPRS模块自动重新建立链路,数据中心和GPRS模块之间就可以通过I地址通过UDP/IP协议进行双向通信,实现透明的可靠数据传输。

上位机监控中心的设计

监控中心的功能是实现GPRS信息的接收和保存,设计语言采用Microsoft公司的Visual C++编程语言,C++语言应用灵活,功能强大,并对网络编程和数据库有强大的支持。

由于通过GPRS中心监控部分可以直接访问互联网,所以监控部分并不需要再设置GPRS模块,中心只需通过中心软件侦听网络,接收GPRS无线模块传来的UDP协议的IP包和发送上位机控制信息,以实现与GPRS终端的IP协议通信。接收到的信息要保存到中心的数据库中,以备查历史记录。数据库采用Access,用VC编制的界面窗口能推动AD()访问Access中的数据,也可通过Socket接收网络终端信息。

Socket接口是TCP/IP网络的API,Socket接口定义了许多函数和例程,程序员可以利用它来开发TCPIP网络上的应用程序,VC中的MFC列提供了CAsyncSocket这样一个套接字类,用它来实现Socket编程非常方便,本设计采用数据报文式的Socket,这是一种无连接的Socket,对应于无连接的UDP服务应用。

CAsyncSocket使用DoCallBack函数来处理MFC消息,一个网络事件发生时,DoCallBack函数按照网络时间类型FD_READ、FD_WRITE、FD_ACCEPT和FD_CON-NECT来分别调用OnReceive、OnSend、OnAccept和

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top