GPRS无线透明传输系统_第1页
GPRS无线透明传输系统_第2页
GPRS无线透明传输系统_第3页
GPRS无线透明传输系统_第4页
GPRS无线透明传输系统_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、GPRSGPRS无无线线透明透明传输传输系系统统 大纲一、GPRS抄表的优势二、硬件部分三、软件部分一、 GPRS抄表的优势 1) 提高工作效率 2) 避免人为失误,节约大量人力资源 3) 维护方便、升级容易 4) 实时采集数据 5) 为城乡居民提供了一个公平,透明的消费平台 6) 远程管理控制 7)节约成本,避免重新布网二、硬件部分 系统的硬件部分分为电源部分、单片机部分、MC55模块和SIM卡部分、模拟开关部分、485总线部分、调电检测部分来做说明。系统结构框图如图1所示: 图1 系统结构框图系统原理框图1.1 电源部分 1.1.1 电源供应 系统中有5V、4.2V、2.6V三种典型电压。

2、其中5V为单片机、模拟开关4066、MAX485、MC1413的电源电压;4.2V为模块电源电压;2.6V为MC55模块串口电平。5V可以用电源模块直接从交流电中变压得到;4.2V用的是两个二极管1N4007降压得到;2.6V用LM1117-2.5降压芯片产生。 本设计选用的电源是上海三基电子的MSPS-5C3电源模块。单路输出DC5V,2A。按照MC55的说明书,在GPRS发送数据的时候,电流消耗峰值会达到2A,但是并不是持续的,而是每隔8ms有一个持续1ms左右的大电流脉冲。因此在电源输出和模块电源之间加了一个2200uf的大电容,以提高电流消耗峰值期间的驱动能力。试验证明,1A的电源已足

3、以提供峰值消耗,所以MSPS-5C3电源模块已经足以胜任,而且可以用一个单路输出DC5V,1A的电源模块代替,以降低成本。 由于MC55模块的供电电压是3.34.8V,典型值电压是4.2V,直接用5V供电会引起模块工作不稳定甚至可能烧坏模块,所以在5V输出和MC55模块之间加了两个并联的二极管1N4007。1N4007的额定电流是1A,电压降是0.7V,两个二极管并联可以拉低MC55的电源电压至4.3V左右,达到其典型电压,并且会防止在GPRS发送数据的时候,电流消耗峰值超过其额定电流而烧坏管子。如图2所示: VCCD51N4007D61N4007BATT+图2 MC55模块电源供应 MC55

4、模块的串口收发数据时电压典型是2.65V,单片机的的串口收发数据时电压是大于3.5V,直接连接可能会引起数据错误。在单片机和MC55模块的收发线上分别加了5V、2.5V的上拉,保证数据达到各自的口线时能正确的被接受。 1.1.2 电平转换 前面说到,MC55模块的串口收发数据时电压典型是2.65V,单片机的串口收发数据时电压是大于3.5V,直接连接可能会引起数据错误。所以设计了两个电平转换电路,分别将5V转换为2.5V,2.6V转换为5V。每个转换用了两个三极管9013,在最后一级的9013上拉各自需要的电压。如图3所示:Q49013Q59013R410KR310KR610KVCC-2.5V

5、R510KVCCMC55TXD MCU TXD Q19013Q29013R1010KR1110KVCC-5VR910KR810KMC55 RXD MCU RXD 图3 电平转换电路 1.2 MCU部分 本设计的MCU单元采用STC89C58RD+芯片。STC89C58RD+ 与51系列单片机兼容,但是功能更强大,价格更便宜。其内部有1280字节的RAM,可以进行大容量的数据处理,在本系统中GPRS的数据流可以一次性吞吐,从而提高了处理速度和可靠性;内嵌了32K的ROM,保证了程序的存放空间;片上集成了大于16K的EEPROM,可以用来存放数据,掉电数据不丢失。我实际测试了一下,片上的EEPRO

6、M可以达到30K,地址从8000H到F3FFH,每个扇区512个字节,读一个字节/编程一个字节/擦除一个扇区时间大约是10us/60us/10ms;内部集成的MAX810专用复位电路,可以实现软件复位;双数据指针,对外部数据存储单元的操作更加方便;有三个定时器,使用方式同52系列单片机兼容;内置ISP,可以在线编程。 STC89C58RD+芯片的内部框图如图4所示: STC89C58RD+1280RAM32KB ROMP0/P1/P2/P3端口双数据指针双数据指针定时器定时器内部复位电路内部复位电路EEPROM WATCH DOG图图4 STC89C58RD+芯片的内部框图芯片的内部框图 单片

7、机的晶振选用的是11.0592M。用这个晶振可以提供很准确的波特率,可以避免通讯时出错。使用11.0592M晶振波特率最大可以达到57600bps,若想传输速率更高,可以采用更高频率的晶振,如22.1184M可以达到115200bps。 STC在数据存储时有一些地方要注意:因为STC的数据存储是flash,所以写数据时需要对其预先扇区擦除,然后才能字节编程。也就是说,一个字节如果是1,可以编程为0;一个字节如果是0,则不可以编程为1。因此,同一次修改的数据最好放在同一个扇区中,单独修改的数据放在别的扇区中,这样不需要读出保护(扇区擦除会花费很多时间)。 1.3 MC55模块和SIM卡部分 西门

8、子工业级无线模块MC55是一种低成本的内置完整TCP/IP协议的GPRS模块,是当今市场上尺寸最小的三频模块。本系统用到的MC55的引脚主要有几部分:SIM卡连接电路、启动电路、模块状态显示电路、数据收发电路等。 1.3.1 SIM卡连接电路 采用6管脚SIM卡座,使用了其中的5个。SIM卡连接电路如图5所示:图5 SIM卡连接电路 SIM卡连接电路中应该注意电容应该尽量接近SIM卡,而且SIM卡座到MC55的连线应该尽量短,不能超过200mm,如果超过200mm则容易引起问题,如MC55检测不到SIM卡等。 1.3.2启动电路 MC55模块启动电路如图6所示: /IGT引脚是MC55模块的启

9、动端,如果此引脚在模块关闭的情况下,有持续大于100ms的低电平,将会启动模块。启动模块后,应该/IGT引脚处于高阻状态。因此在/IGT引脚处用了一个三极管2N5551,通过P1.4脚控制/IGT引脚的低电平时间。Q39013R1560 /IGT P1.4图6 MC55模块启动电路1.3.3模块状态显示电路 MC55模块的SYNC引脚有两种操作模式:同步信号模式和控制状态LED模式。两种模式可以通过ATSSYNC=0/1来选择。使用指令ATSSYNC=0(默认)将引脚配置为同步信号模式,用来指示发送GPRS数据时增加的功耗消费;使用ATSSYNC=1将引脚配置为控制状态LED模式,用来只是模块

10、的工作状态,如关机、检测到无SIM、睡眠、GPRS数据传送、通话等。 本系统使用的是控制状态LED模式。开机时模块600ms开/600ms关,表示正在搜寻网络。时间大约持续5s左右。如果5s之后LED仍然闪烁,表示SIM卡未插入,或者SIM卡连接有问题,可能时触电脏或引脚焊点接触不良,这时应该检查硬件。模块状态显示电路如图7所示:D1R15560VCC12 SYNC图7 模块状态显示电路LED模式和模块功能指示表格1.4 模拟开关部分 这部分的作用是用来切换单片机与MC55模块和485总线之间的数据传输。初始时切换到单片机与MC55模块间连接。如果MC55发来指令表示要抄数据,再切换到485总

11、线。取得数据后切换到MC55模块,然后发送。这部分功能用一个4066刚好完成,而且只用P1.0和P1.1两根线置位清零就可以控制,快速又简单。 当P1.0=0并且 P1.1=1时模拟开关连接到模块,此时MC55和单片机连接;当P1.0=1并且 P1.1=0时模拟开关连接到485总线或232总线,此时PC或485总线和单片机连接。在MC55和单片机连接的时候,外部中断/INT1打开,当PC给单片机发送数据时引起中断,单片机响应中断,处理数据。处理完数据后,继续连接到MC55,即MC55总是优先和单片机连接,只有在PC给单片机发送指令或单片机给485总线发送抄表指令时才连接到485端,并且处理完数

12、据后立刻回来与MC55连接的状态。因为单片机不会同时与MC55和485或PC联系,所以一条链路可以分时复用。模拟开关电路如图8所示:in/outA1out/inA2out/inB3in/outB4ControlB5ControlC6VSS7in/outC8out/inC9out/inD10in/outD11ControlD12ControlA13VDD14U24066VCCC50.01uFP1.1 MCURXDMC55TXD0 MCUTXD232/485DIP1.0232/485ROMC55RXD0图8 模拟开关电路 1.5 485总线部分 RS-485串行总线接口标准以差分平衡方式传输信号,

13、具有很强的抗共模干扰能力,允许一对双绞线上一个发送器驱动多个负载设备。利用单片机本身所提供的简单串行接口,加上总线驱动器,可组合成简单的RS-485网络。在总线的末端接了一个匹配电阻,吸收总线上的反射信号,保证信号传输无毛刺。匹配电阻的取值应该与总线的特性阻抗相当,一般取值100120欧姆。单片机的P1.5控制485的收发。P1.50时允许接收;P1.50时允许发送。485总线电路图如图9所示: 234VCC8167GND5DRABU3MAX485EC110.01ufR1210KR1310KYMM2M1C100.01ufPort1Port2DEDIRO/REVCC磁珠R14120D9TVSP1

14、.5DIRO图9 485总线电路图1.6 掉电检测部分R202.2KU5521-1D8TVSR2110KVCCR19100k/1WD71N4007C1510uF12U12A220V交流PortPortINT0图10 掉电检测电路 掉电检测电路可以在交流电断电的时候及时通知服务器,并告知断电地点,以便及时通电,使系统恢复正常工作。由于系统中5V直流变压之后加了一个2200uf的大电容,因此在220V掉电之后,系统仍然可以工作一段时间。220V电经过1N4007滤除了负半波,经两个电阻分压和一个10uf的电容平滑滤波后,在光耦上得到的是近似的矩形波,高电平时点亮光耦,三极管导通,输出为低电平,然后

15、经过一个非门连接到单片机的外部中断/INT0。由于交流电的频率是50HZ,所以/INT0脚上便有周期为20ms的高低电平。在交流电的上半波期间,/INT0是低电平,引起单片机的中断,在中断处理程序里给定时器赋初值并开启定时器,定时器延时大于20ms,例如可以延时30ms。如果30ms之内又出现交流电上半波,便又引起中断,定时器重新赋初值;如果30ms之内没有出现交流电上半波,定时器时间到,引起中断。在定时器中断服务程序中给服务器发送消息,告知本机掉电。掉电检测电路如图10所示: 二、软件部分 2、1 AT指令 AT 即Attention ,AT 命令集是从TE(Terminal Equipme

16、nt 终端设备)或DTE(Data Terminal Equipment 数据终端设备)向TA(Terminal Adapter 终端适配器 )或DCE(Data Circuit Terminating Equipment 数据电路终接设备)发送的。通过TA、TE 发送AT 命令来控制MS(Mobile Station 移动台)的功能与GSM 网络业务进行交互。 用户可以通过AT 命令进行呼叫、短信、电话本、数据业务、补充业务、传真等方面的控制。 2、2 GPRS通用分组无线业务 GPRS(General Packet Radio Service)是通用分组无线业务的简称,是在GSM基础上发展

17、起来的一种分组交换的数据承载和传输方式。与原有的GSM比较,GPRS在数据业务的承载和支持上具有非常明显的优势:通过多个GSM的时隙复用,支持的数据传输速率更高,理论峰值达171.2 k bit/s ;不同的网络用户共享同一组GPRS信道,但只有当某一个用户需要发送或接收数据时才会占用信道资源。这样,通过多用户的业务复用,更有效地利用无线网络信道资源,特别适合突发性、频繁的小流量数据传输,很好地适应数据业务的突发性特点;GPRS计费方式更加灵活,可以支持按数据流量来进行计费;采用信道复用技术,每一个GPRS用户都能够实现永远在线;相对于短消息等其它无线数据通信业务,GPRS的价格优势比较明显。

18、目前,GPRS每千字节只有3分钱,而且用户可以根据自己的需要,以月租、包月等多种形式进一步降低GPRS通信的费用。因此使用GPRS实现远程数据的传送是非常经济实用的,特别是对于不易架设有线网络的边远地区和可移动装置。 程序在系统初始化结束之后,便处于接收数据状态,并将接受到的数据判断数据类型,进行相应的处理。系统流程图如图11所示:2、3 流程图 图11 系统流程图2、4 系统初始化部分 serl_init(); /串口初始化 conn_module(); /模拟开关连接到模块 IGT_target(); /启动模块 module_init(); /模块初始化 SMS_set(); /设置短消

19、息参数 delete_all_sms(); /删除全部短消息 TCP_set(); /设置GPRS参数,从移动网关获得自己的IP地址 delay(20000); conn_485(); /模拟开关连接到485总线 send_str(Initiation over!rn0); /模块初始化结束 delay(4000); conn_module(); /模拟开关连接到模块 WDT_CONTR=0 x3e; /启动看门狗,溢出时间为4.55s。 2、5 数据类型判别部分 由于单片机接收到的数据只有三种类型,因此可以在系统初始化结束后,清空缓冲区中的数据,然后判断接受到的数据类型,从而可以进行相应的处

20、理。数据类型可以分为:PC通过串口发送的指令,我们以AT开头(只是以AT开头,并非真正的AT指令,只有单片机接收到,模块接收不到,因此不会出现错误)作为标示;MC55模块的返回码,包括URC(模块未请求返回码)和单片机发送到模块的AT指令的返回码,以“rn”并以“rn”结束,中间的是response;其他的来自PC的要发送给模块的数据流,没有特征,作为默认项处理。 数据类型判别部分流程如下:if(inbuf0=A)&(inbuf1=T) CMP_flag=0; /AT指令 else if(inbuf0=r)&(inbuf1=n) CMP_flag=1; /返回码 else CM

21、P_flag=2; /数据流 2、6 PC指令处理部分 PC指令处理部分流程如下:case 0: /PC机发送电话号码以ATM开头if(inbuf0=A)&(inbuf1=T)&(inbuf2=M)&(int1_RI=1) int1_RI=0; WDT_CONTR=0 x3e; /喂狗 for(ch=0;ch %10.78.48.15:10000!+CMGS: 85OK+CMT: “+8613406812532”,“06/01/14,09:53:52+00” /接收到的短信格式%10.78.48.15:10000!AT+CNMA /告知模块收到短信OKSIS: 1, 0, 47 /远端连接失败ATSISC=3 /关闭服务层3失败ERRORSISW: 1, 1 /通过通道1发送数据ATSISW=1,20SISW: 1, 20OKSISW: 1, 1SISR: 1, 1 /接收到数据,通过通道1接收 ATSISR=1,20SISR: 1, 100123456789OK 由以上信息可以看到,返回码的类型主要有四种: (1)以+CMT开头:表示接受到一条短消息。 处理:判断是否短消息中有“”,如果有则认为是接受到含有对方IP的短消息,并且对方IP以“!”结束。提取对方IP并保存,然后建立一个服务层,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论