资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
摘 要:针对传统的数据采集系统对系统构建的方便性与数据传输的可靠性的要求,提出了一种基于移动 GPRS 无线通信的远程数据采集方案。该方案利用 GPRS 的 Internet 接入功能,通过移动公司的网络来实现数据采集模块与远程主机之间的无线通信。分析了该数据采集模块的原理与结构,嵌入式 TCPIPPPP 协议的实现,以及 GPRS 模块的驱动设计。并由此研制出一台基于 Winbond 单片机与 c;PRS 模块的无线数据采集系统,测试结果证明了访采集模块的稳定性与可靠性。关键词:GPRS 模块;数据采集;TCPIPPPP 协议;MC35i 0 引 言数据采集与工业生产和国民生活息息相关,大到电力部门各变电站的远程监控、矿业生产单位的安全生产,小到社区居民的电表、水表抄表系统,因此数据采集与通信系统直接关系到人们生活质量的提高。传统的电表、水表的数据采集多采取人工抄表的方式,不仅浪费了大量的人力物力,抄表精度也不高;当前的卡式预付费表由于要将付费额与消费量存入 IC 卡中,作为电表、水表与监控中心的通信媒介,安全性有待提高;工业生产中多采用 Internet 网络通信或是 RS 485 总线来实现各监测点与监控中心的数据通信,对于采集点分布集中时尚可实现,但是像电力系统变电站等多分布在郊区且节点多的系统来说不仅通信线路的铺设是一笔巨大的费用,受自然环境的影响也特别大,可靠性得不到保障。GPRS 无线上网技术的快速发展给数据采集技术的发展带来了新的活力。GPRS(General Packet,RadioService)是当前 GSM 网络通信向 3G 标准的过渡阶段,即 25G 标准。GPRS 在现有的 GSM 网络的基础上引入分组交换的功能,支持 TCPIP 协议,可以与Internet 直接相通,因此已在消费电子中得到了广泛的应用。GPRS 理论最高通信速率可达到 1712 Kbs,且国内外各大通信公司均推出了各自的 GPRS 通信模块,稳定性好,完全能够满足各种数据采集系统的需要,因此,GPRS 无线通信技术的应用必将给数据采集系统的发展带来巨大的变化。 l GPRS 通信原理及数据采集模块的整体结构11 GPRS 无线通信原理基于 GPRS 的无线网络通信系统结构如图 1 所示,主要由三部分构成:位于数据采集现场的 GPRS 数据采集模块、网络运营商提供GPRS 网络与远程服务器。数据采集模块位于各个数据采集现场,由于移动公司的通信范围已覆盖我国的绝大部分地区,各数据采集模块可分散地安装在各种复杂的地理环境中而不必考虑线路铺设等复杂的问题。GPRS 网络是现场数据采集系统与远程监控中心数据交换的桥梁。数据采集模块与测量仪表进行数据通信,将测量仪表产生的检测数据通过移动基站实时发送到 GPRS 网络服务商所提供的GGSN(Gateway GPRS Support Node)服务器,GGSN 分配给 GPRS数据采集终端相应的 IP 地址,从而实现了数据采集终端与 Internet的连接,再通过 Internet 网络将采集的数据发送到位于监控中心的数据采集服务器。GPRS 模块可以是始终在线的,因此位于监控中心的工作人员可以实时了解到终端设备的工作情况并做出相应的工作指示。 12 数据采集模块的结构数据采集模块负责检测仪器与远程监测终端的无线数据传输,如图 2 所示,模块以 Winbond 的高性能单片机 W77E58 为控制核心,通过将串口采集到的数据经初步处理后传送给 GPRS 模块实现无线网络通信。 W77E58 是 Winbond 公司推出的一款快速 8051 兼容微控制器,它的内核经过重新设计,整体运行速度要比标准的 8051 快 25 倍。W77E58 具有 1 KB 的片上外部数据存储器和 32 KB 的 FLASH EPROM,省去了外扩 SRAM 所需的 IO 引脚,从而用来扩展键盘与液晶显示屏。W77E58 较为突出的特性是它具有两个增强型全双工串行口,在数据采集模块中可将一个串口采用 RS 232 协议与 GPRS 模块进行数据通信,另外一个串口则采用 RS 485 协议接收检测仪器发送的数据。RS 485 是在工业检测现场应用非常广泛的现场总线,总线上一台主机可以与多达 32 台从机进行通信。在实际应用中可将一台 GPRS 数据采集模块与多台检测设备通过 RS 485 总线相连,提高通信模块的利用率,这在电表、水表等低成本的检测仪表无线通信应用中十分重要。GPRS 无线通信模块负责整个系统的数据收发,GPRS 无线网络通信需要 TCPIPPPP 协议支持,当前常见的 GPRS 模块可分为自带 TCPIP 协议栈与不带协议栈的两大类,自带协议栈的模块有Simcom 的 SIMl00,使用方便,用户只需通过 AT 指令来控制数据传输就能实现无线通信,当然价格相对较高;而不带协议栈的模块还需用户自己在单片机中实现嵌入式 TCPIPPPP 协议栈来实现数据传输。考虑到模块的成本与 W77E58 高性能,这里选用了西门子的 MC35i 通信模块。MC35i 稳定性及性价比都比较高,接口简单,AT 指令完善,支持 GPRS CLASS 10。使用时只需自行设计外围电路,包括电源供电、RS 232 通信、SIM 卡接口电路以及通信天线。该模块不带 TCPIPPPP 协议,需要自己编写,在单片机中实现。 2 TCPIPPPP 协议的实现通常的 Internet 网络通信只需实现 TCPIP 协议簇,但是对于无线网络的接入还需实现 PPP 协议。TCPIPPPP 协议其实是一系列网络通信协议的集合,为了能在资源有限的单片机中实现网络数据传输,只能根据特定的功能来实现相应的协议,这包括PPP,IP,ICMP,UDP,TCP 等协议,并在此基础上构建应用程序的 API 接口。网络协议采用分层结构,在 GPRS 无线通信模块中采用了 5 层结构。如图 3 所示,位于最底层的是网络硬件驱动程序,也就是GPRS 模块的驱动,MC35i 与 GPRS 网络的连接、断开以及数据通信都是通过一系列的 AT 指令来实现。接下来是数据链路层,数据链路层控制互联网上主机之间数据链路的建立,该层实现了精简的 PPP(PointtoPoint Protoco1)点到点协议。GPRS 模块在拨号后首先要与 GPRS 网关进行通信链路的协商,即协商点到点的各种链路参数配置。协商过程遵守 LCP(Link Control Protoco1),PAP(Password Authentication Protoco1)和IPCP(Internet Protocol ControlProtoco1)等协议。其中 LCP 协议用于建立、构造、测试链路连接;PAP 协议用于处理密码验证部分;IPCP 协议用于设置网络协议环境,并分配 IP 地址。一旦协商完成,链路已经创建,IP 地址已经分配就可以按照协商的标准进行 IP 报文的传输了。数据传输完成之后,单片机会向 GGSN 发送 LCP 的断开连接报文,以终止网络连接。 GPRS 模块与网络服务器连接成功后便可以进行数据通信。网际层实现了 ICMP 协议与 IP 协议。ICMP 协议是网际控制报文协议,负责传递网络状况信息。IP 协议为 TCPIP 协议中最为核心的协议,它负责数据报路由的选择,以及将上层协议传输的数据包加上 IP 报头后传送给下层协议,并将下层协议接收到的 IP 数据包剥离包头检验信息后接收或是丢弃。传输层实现了 TCP 和 UDP 协议。UDP 是面向数据报的传输协议,不能保证可靠的数据交付,但开销较小发送数据的时延也相对少。如果对可靠性要求高,可以选择 TCP 协议,TCP 为不可靠的 IP 连接提供可靠的、具有流量控制的、端到端的数据传输,但对系统资源的要求相应增加。实际应用时可根据传输数据的内容来选取传输协议。为了方便上层程序调用相关的协议进行通信,可以建立一个数据结构,将本地和远程的 IP 地址、端口号以及通信状态封装起来构成一个 Socket,并提供相应的 API 函数供应用程序调用,这就是应用层接口。 3 MC35i 驱动及 AT 指令的编写31 MC35i 的开关机及初始化MC35i 的开关机需要在模块的 0NOFF 引脚上加上脉宽 1 s 以上的低电平。当模块处于关机状态检测到 0NOFF 引脚的下降沿并持续 1 s 以上的低电平时启动整个模块,同理,当模块启动后检测到持续 1 s 以上的低电平,则延时 8 s 关机。所有的 AT 指令操作都必须在开机状态下才能执行。开机后还要对 MC35i 进行初始化来实现单片机对模块的控制:首先要测试模块串口的连接状况,通过发送 AT 指令,等待模块的回复,返回 OK 则连接成功,没有响应则表示模块连接存在问题;接着还要向模块发送 ATEO 指令来关闭回显。回显功能主要用于串口调试,具体应用时应关闭该功能,防止回显字符和返回参数混合。32 MC35i 的 AT 控制指令MC35i 模块是采用 AT 指令集进行控制的,采用 AT 指令集可以实现模块参数的设置,数据的发送与接收。AT 指令集是调制解调器通信接口的工业标准,指令由 ASCII 字符组成,除“A”、“+”指令外,所有指令都是以”AT”开头,以结束,绝大多数指令被执行后都有返回参数。常见的 AT 指令有:设置通信波特率:使用 AT+IPR=19200 命令,把波特率设为 19 200 bs;设置接入网关:通过 AT+CGD CONT=1,“IP”。“CMNET”命令设置 GPRS 接入网关为移动梦网;设置移动终端的类别:通过 AT+CGCLASS=“B”设置移动终端的类别为 B 类,即同时监控多种业务,但只能运行一种业务,即在同一时间只能使用 GPRS 上网,或者使用 GSM 的语音通信;测试 GPRS 服务是否开通:使用 AT+CGACT=1,1 命令激活GPRS 功能。如果返回 OK,则 GPRS 连接成功;如果返回 ERROR,则意味着 GPRS 失败。中国移动在 GPRS 与 Internet 网中间建立了许多的网关支持节点(GGSN),以连接 GPRS 网与外部的 Internet 网络。GPRS 模块可以通过拨“*99*1#”登录到 GGSN 上,并通过PPP 协议获取动态分配到 Internet 网的 IP 地址。 4 使用需注意的问题由于 GPRS 网络通信是以 GSM 网络为基础,GSM 网络的语音通信优先级较高,当 GPRS 长时间在线但不产生流量时,数据业务的优先级会自动降低,GGSN 服务器则会为了节省线路带宽断开其网络连接,此时对于 GPRS 模块来说,虽说 IP 地址还在,但已无法进行数据传输。为了防止这种情况导致网络的中断,可在系统中设定“心跳”功能,通过单片机的定时器来实现,每隔一段时间向服务器发送一个 TCP 数据包,以保证系统的网络连接不断线。“心跳”频率应根据实际情况来设定,频率不宜过高,以免产生过高的额外流量。由于 GPRS 无线网络受天气环境影响较大,当出现雷雨等恶劣天气或是信息拥塞时可能会发生数据包丢失、掉线等现象。为了防止丢包的现象发生,可以根据数据的重要性与否采取 TCP 或是 UDP 协议,TCP 协议具有延时重发功能,对于 UDP 方式,则必须自行设计校验和纠错规则。对于受干扰掉线的问题则可定时测试网络连通状况,向远程数据终端发送 ICMP 回显请求(即 ping 命令),根据终端的应答情况来判断网络状况。当多次请求未回应时即启动 GPRS 模块重新连接。当数据采集模块处于电磁干扰特别强烈的电力变压器、电力整流器、电力开关产生的火花等环境中时,GPRS 模块和 SIM 卡运行时间长了偶尔会出现死机的现象,因此要对 GPRS 模块和 SIM 卡实时监测。对 GPRS 模块的监测:每隔一定的时间对模块进行 AT 指令测试,如果模块
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号