1 系统结构及工作原理
如图1所示,整个系统由系统主站、集中器、采集器和无线电能表所构成。上层信道基于GsM网络,采用GPRS方式来传输数据;下层信道采用无线射频通信方式,并通过组建无线网络来延长通信距离,提高可靠性。本文重点研究的是以集中器为核心的,下层信道自组织无线抄表网络的设计。自组织网络的拓扑结构一般分为平面和星形两种结构。考虑到网络节点的可移动性差,节点之间相对静止不动,网络的拓扑结构基本不变,且节点在网络中的地位一样,本文选择平面结构来组建无线网状网络。其通信参考模型分为4层:物理层、数据链路层、路由层和应用层。
当集中器收到系统主站通过GPRS方式发送的抄表命令后,集中器首先查询其路由表,找到目的节点路由信息,并添加到抄表命令帧中直接发送。当目的节点的路由信息不存在时,集中器作为源节点开始路由寻求,直到接收到目的节点返回的路由请求响应帧,这样就建立了中心站和目的节点之间的通信链路。添加其返回的目的节点的路由信息到抄读命令帧,然后发送。网络中的目的节点接收到抄读命令帧后,返回无线电能表中的电能相关数据。
当无线电能表上电初始化后,一方面开始电能计量,另一方面开始加入无线抄表网络。先发送路由请求至集中器,等待接收到应答,若接收不到集中器路由应答帧,则广播其路由请求,获得其到集中器的路由信息,并存储。
2 网络硬件设计
自组织网络的硬件平台包括中心节点集中器以及普通网络节点无线电能表。
2.1 无线数传模块设计
无线电能表的硬件组成是无线数传模块与普通电能表通过串口连接。无线数传模块主要包括处理器、射频收发芯片nRF905、天线及其匹配网络等。
AT89S52为主控制器,通过4个I/0口模拟SPI口与射频收发芯片nRF905通信,3个I/O口读取nRF、905的状态,另外3个I/O口控制芯片的工作模式(包括空闲模式、发射模式和接收模式)。由于控制器的I/O口与nRF905电平不同,两者相连时需电平匹配,应加下拉电阻。天线作为无线传输中的一个重要环节,其主要作用是延长距离,其LC匹配网络性能的好坏对传输功率有直接的影响。
系统中无线电能表具有作为普通节点和中继节点两种功能。一方面,如果在集中器的通信距离内,当其作为普通节点时,可直接与集中器通信;另一方面,作为中继节点,可以转发集中器与远距离节点之间的通信数据。
2.2 集中器设计
集中器作为无线网络的中心节点,其硬件组成包括32位ARM7处理器LPC2210,以及无线数传模块、GPRS模块等其他外围功能模块。GPRS modem采用华为GTM900。无线数传模块和GPRS modem分别通过串口O和串口1与处理器相连。
集中器主要功能包括:协议转换、建立路由、数据抄读及存储等。由于采用IEC62056标准来构建抄表系统,集中器的协议转换指的是IEC62056与DL/T645之间的转换。集中器在收到数据抄读命令后,按照存储的路由来读取无线电能表中的相关数据。
3 网络软件设计
3.1 路由算法
现有无线网状网络的路由协议通常可分为:表驱动式路由协议和按需路由协议。前者需要网络中的每个节点维护一张或多张路由表,以记录到其他节点的路由,增加了路由开销。本文选取一种典型的按需路由协议——动态源路由协议(DSR)。抄表网络具有其特殊性:一方面,在组网过程中,若普通节点发起路由请求帧,则网络中所有路由请求帧的目的地址都相同(即中心节点),其路由表中路由的目的地址也都是中心节点,且网络中普通节点的地位都是平等的,任何两个普通节点不会主动有数据传输;另一方面,网络建立后,节点的可移动性差,拓扑变化小,网络比较稳定。针对其网络的复杂性低和路由开销小的特点对DSR协议进行改进,使之更适应抄表网络的应用。
DSR协议主要包括路由发现和路由维护2个过程。
①路由发现过程:节点要发送数据时,当节点中没有到达目的节点的路由时,广播发送路由请求帧(rreq),每个收到该帧的中间节点都加上自己的地址,重新广播(忽略重复请求和已发自身请求)。当rreq到达目的节点时,目的节点可以得到到达中心节点的完整路由。目的节点(中心节点)将所得中心节点路由包含在路由响应帧(rrep),然后沿着反向路由发送回中心节点。中心节点收到rrep后,就将路由存入路由存储器中,并添加到抄表命令帧的头部。
②路由维护过程:如果在抄读命令帧的逐跳传输过程中发现链路失败,则可以由中间节点使用缓冲中的可用路由来代替原头部中含有失败链路的路由,同时向中心节点发送路由错误帧(rrer)。中间节点监听rrer以删除失败路由。如果路由失败,则中心节点重新开始一次新的路由发现过程。
改进的DSR协议主要包括以下几个方面:
①DL/T645——1997《多功能电能表通信规约》规定抄表命令响应的时间为50~500 ms,受其限制,初次组网时,中心节点应该在未收抄表到命令前组建网络,提高一次抄表的成功率。
②由于网络中所有普通节点在建立路由时,目的地址唯一,为减少广播冲突,节点在加入网络时,先点对点发送路由请求至中心节点。若无路由响应帧,则广播其rreq,从已加入网络的普通节点中获得中心节点的路由响应,间接与中心节点建立路由。
③网络中每个普通节点到中心节点的路由的最大跳数(maxhop)设置为4,减少了广播传播的冲突,提高了路由发现的速度。
④普通节点在收到多个普通节点的rrep时,选取跳数最小的响应帧,记录其路由,并通过反向路由发送至中心节点。
⑤当rrer发生时,错误节点广播发出rrer,其他节点在接收到rrer帧时,删除本节点中的中断路由。中心节点重新建立中断节点的路由。
3.2 网络节点通信程序设计
无线电能表作为网络普通节点,其软件设计主要是对用户的电量数据进行计量和处理,同时实现与集中器通信,加入抄表网络。在组网过程中,节点软件使用改进后的DSR路由算法,其通信部分程序流程如图2所示。
节点上电初始化后,开始电能计量,同时与集中器建立路由,加入无线网络。其发送路由请求至中心节点若未接收到中心节点的路由应答,则广播其路由请求。已加入网络的节点接收到路由请求帧后,进行计算,若在规定的跳数之内,则返回路由响应。新节点接收到路由响应帧后,即建立起到中心节点的路由;节点收到路由错误帧后,删除本节点中中断的路由,更新路由表。中心节点收到路由错误帧后,删除其路由表中所有中断的路由,并开始新的路由请求,建立中断节点的新路由,并更新路由表。
4 通信协议
在通信参考模型中,严格定义了各层协议的格式和关键字,并在参照青岛东软载波通信协议的应用层和数据链路层,同时遵循国家电力行业多功能电能表通信规约DL/T645—1997的基础上,根据无线通信的特点进行了修改和扩充。
应用层协议分为2种:普通抄表帧和中继转发帧。两者都对DL/T645帧的控制域进行了重新定义,后者还对DL/T645格式进行了一定的扩充。数据抄读中继转发帧格式如下:
网络层的数据帧包括路由请求帧、路由请求响应帧、路由错误帧3种。以路由请求帧为例,其格式如下:
在青岛东软载波通信参考模型中增加了网络层,所以数据链路层对青岛东软MAC协议格式中的控制码进行了重定义。集中器与采集器之间数据链路层帧格式可由控制字段位定义来决定。控制域位定义如下:
物理层,由nRF905无线透传模块实现。在系统中,一方面,nRF905一次最大发送数据的长度为32个字节;另一方面,为了提高系统的通信效率,数据链路层通常把较长的数据按照一定的格式分为长度不同的数据包分别发送,且通过加入CSMA机制来解决广播冲突等问题。
结 语
无线抄表系统是未来自动集抄系统发展的必然趋势,本文设计的自动抄表系统定义了通信参考模型,增加了改进的自组织路由算法,有效地延长了抄表距离。通过自定义的通信帧增强了系统可靠性,提高了通信效率。该系统还具有良好的通用性和可扩展性,应用层协议稍加改动后可以应用到无线传感、家庭智能等更多领域。