李晓华1,王瑞2
(1.莱芜职业技术学院,山东莱芜271100;2.莱芜市妇幼保健院,山东莱芜271100)
摘要:本文简要介绍了远程抄表采集端的硬件系统,在此基础上设计了基于多跳网络远程抄表系统的关键组网算法和采集数据算法,能过高效完成远程抄表任务。
关键词:集中器;转发器;采集器
中图分类号:TP31文献标识码:A文章编号:1007-9599(2010)05-0000-02
KeyAlgorithmsofReadingSystemBasedonMulti-hopNetworks
LiXiaohua1,WangRui2
(1.LaiwuVocationalCollege,Laiwu271100,China;2.LaiwuWomen'sandChildren'sHealthCareCourtyard,Laiwu271100,China)
Abstract:Thispaperbrieflyintroducesthehardwareofremotereadingsystem.Onthebasisofhardwaresystem,keyalgorithmsofthenetworktopologyformationanddatacollectionontheremotemeterradingsystemisdegigned.Allofthesearebasedonmulti-hopnetwork.Themeterreadingsystemwiththesealgorithmsshowsitsgreatefficiency.
Keywords:Concentrator;Transceiver;Gatherer
一、引言
本文介绍的远程抄表系统设计了基于多跳网络的拓扑结构。在采集终端,设计了灵活的基于多跳网络的组网算法,采用无线通信模块ZT-TR43C(TTL)实现各网络节点间的通信,避免了传统布线所带来的麻烦。然而在这种情况下,集中器可能与其相距较远的节点直接通信,因此,必须由其他节点转发集中器发出的数据,以实现集中器与其他节点的间接通信。
二、系统的组成及工作原理
如图1所示,整个系统由电力管理公司端的微机系统、数据采集端的集中器、转发器和采集器构成。本系统的集中器、转发器和采集器均有单片机AT89C52及其外围电路实现。
在采集端,集中器和每个转发器均被看作是一个节点,形成一个树状的多跳网络,集中器为根节点,转发器为二级节点和三级节点,每个转发器最多连接八个采集器,每个采集器负责两个用户。微机系统通过GPRSModem向集中器发送建立路由命令数据包和采集数据命令数据包,集中器根据微机系统发来的数据包执行建立路由或者采集数据操作,然后将结果通过GPRSModem发送到微机系统,微机系统根据收到的数据包进行相应的处理。
图1系统结构图
(一)集中器的设计
电路中有两个串行接口——RS-485接口。RS-485接口连接无线通信模块ZT-TR43C(TTL),实现与各转发器节点的通信。RS-485接口连接GPRSModem,用来与微机系统进行通信。单片机只有一个串行接收引脚(P3.0)和发送引脚(P3.1),所以我们用三态门模拟实现两个串行接口,根据GPRSModem的通信协议,可以用引脚P1.7来控制与RS-485接口的通信。
(二)转发器的设计
当转发器作为一级节点时,可以直接与集中器进行通信,当作为二级节点时只能和其他转发器通过无线通信模块间接与集中器通信。电路中有两个串行接口——RS-232接口和RS-485接口。RS-232接口连接无线通信模块ZT-TR43C(TTL),可以与集中器直接通信,也可以与各转发器节点通信;RS-485接口通过导线与采集器相连,一个转发器可以连接多个采集器。
(三)采集器的设计
采集器RS-485接口用导线与转发器相连,P0用导线与电表相连。采集器会收到从转发器RS-485接口传来的数据包,如果是正确的采集数据命令数据包,采集器就会从单片机存储器中取出指定用户的当前电表读数,处理后发送给转发器;然后转发器发送给父节点,直到该电表读数通过GPRSModem发送到微机系统。
三、建立路由算法
采集端被设计为树状网络拓扑结构,集中器为根节点,所有的转发器均视作普通节点,根节点和普通节点都有唯一的地址标志。经过测试表明,只需三级节点就能满足具体应用的需求,可以大大降低系统成本。
(一)根节点(集中器)
当从微机系统接收到建立路由命令后,根节点按照一定的顺序开始点名。根节点发出一个点名数据包并在发出该点名数据包时开始计时。如果在限时内没有收到周围节点的应答数据包,就从存储器中取出下一节点的地址开始下一节点的点名工作;如果在延迟时间内,根节点接收到了该节点的应答数据包,则将该节点的地址记录下来,停止计时,并且开始下一节点的点名工作。这是建立路由的第一轮操作,该操作找出全部的二级节点。当根节点第一轮点名完毕后,查看是否还有未点到名的普通节点,如果有,则根节点发送第二轮点名数据报(包括已发现的二级节点A地址和需要点名的三级节点X地址)给已发现的节点A,并且开始计时。如果在限时内没有收到节点A的应答数据包,就从存储器中取出下一个已发现的节点B的地址,继续下去;如果在延迟时间内,根节点接收到了节点B的应答数据包,则将节点X和节点B的地址记录下来,停止计时,并且开始下一个未发现节点的点名工作。这样继续下去,直到寻找到所有三级节点或者超时。点名完毕后,根节点将点名结果通过GPRSModem返回给微机系统。
(二)普通节点(转发器)
在建立路由阶段,某普通节点A收到一个点名数据包,如果是根节点的第一轮点名数据包,则将其目的地址和自己的地址进行比较,如果相等,节点A会生成应答数据包返回给根节点,表明节点A已经找到。节点A称为二级节点,是根节点的子节点。如果节点A接收到根节点发来的第二轮点名数据包,则节点A将接收到的点名数据包处理后转发给其他普通节点(三级节点),并且开始计时;如果在延迟时间内收到其他普通节点(三级节点)的应答数据包,节点A对该数据包进行相应的处理后发给根节点。此时节点A执行转发信息的功能。如果节点A接收到普通节点X发来的第二轮点名数据包,则节点A将接收到的点名数据包的目的地址与本节点地址进行比较,如果相等,进行相应处理后,节点A向节点X发回应答数据包。节点A称为二级节点,节点X称为三级节点。
四、采集数据算法
采集数据时,有微机系统一端发起,根节点与普通节点会根据收到的数据包执行不同的采集数据操作。
(一)根节点(集中器)
当根节点收到微机系统发来的采集数据命令数据包时,会根据数据包中携带的路由信息进行处理,然后转发给相应的普通节点。如果在限时内收到应答数据包,就将数据包发送回微机系统;否则结束本次采集数据的操作,并通知微机系统本次采集数据失败。
(二)普通节点(转发器)
各普通节点A收到采集数据命令数据包后,检查数据包中的用户地址是否是本节点所属的用户地址。如果是,则与数据包指定的采集器通信,采集该数据包指定用户的电表读数,生成应答数据包发送给其父节点;否则,根据数据包的内容转发给数据包指定的子节点,如果在延迟时间内接收到该子节点的应答数据包,则普通节点A将采集结果返回给上级节点。
五、系统性能分析
基于对多跳网络的理论研究表明,多跳网络可以极大的节省无线传输耗能,这样距离集中器较远的节点就可以通过转发器将数据间接发送到集中器,此时采用低功耗的数据传输模块就会很好地完成抄表任务。在本系统中使用单片机可以大大降低成本,并且满足应用的需要。采用了I2C总线驱动的铁电存储器,这是一种非易失性存储器,工作速度快,可以随时从该存储器中取出电表读数,即使断电,也不会丢失数据,有利于数据恢复和校正。
参考文献:
[1]朱兆优.RS-485总线在远程自动抄表系统中的应用[J].东华理工学院学报,2005-28-2:32-33
[2]徐洪兴,郭忠文.基于多跳网络远程抄表硬件系统关键算法设计[J].计算机应用研究,2006,(11):158-159
[3]刘志中,马家栋,孙丽芳.单片机控制远程抄表系统[J].微电子学与计算机,2002,(5):54-56
[4]庄严.电力远程抄表系统的设计与实现[J].微计算机信息,2006,3:22-28
作者简介:李晓华(1977-),女,山东莱芜人:单位:莱芜职业技术院,研究方向:软件工程,职称:讲师
王瑞(1980-),男,山东莱芜人,电气工程师