• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > RFID和物联网 > RFID > 利用捎带技术提高ZigBee网络性能的方法

利用捎带技术提高ZigBee网络性能的方法

录入:edatop.com     点击:

1 引言

IEEE 802.11、蓝牙、UWB等协议推出以来,在短距离的无线监测、控制、数据传输领域得到广泛应用,但它们仍然存在功耗大、组网能力差等弱点。以组网能力强著称的ZigBee协议能弥补上述协议的不足,特别适合于组建短距离低速无线个域网、无线传感器网络等。

ZigBee协议由ZigBee联盟于2004年12月中旬正是推出,其介质访问控制子层(MAC)基于IEEE 802.15.4标准,网络层采用Cluster-Tree+AODVjr路由算法,支持星形(Star)、树状(Cluster-Tree)、网格(Mesh)等多种拓扑结构[1],算法可在简单的单片机平台上实现[2]。其中,单独采用AODVjr(AODV Junior,简化的AODV)路由算法的Mesh网络最为简单,应用较广泛。AODVjr算法是AODV(Ad hoc On Demand Distance Vector, Ad hoc按需距离矢量路由协议)算法的简化,它跟AODV一样,与目标节点通信时,采用先问路由,再发送数据或命令的办法[3,4]。本文提出采用捎带技术的AODVjr算法,将要发送的数据捎带在AODVjr的路由请求和路由应答包中,大大提高ZigBee网络的通信效率。DSP2812

2 ZigBee的AODVjr协议

ZigBee协议网络层AODVjr算法是需求驱动型的,由源节点选择路由,它是针对AODV算法的简化改进。考虑到节能、成本、应用方便性等因素,AODVjr简化AODV的一些特点,但是仍然保持AODV的主要功能。

首先,在AODVjr路由算法中,没有目标节点序列号,只有目标节点才能发送路由应答(Route Reply,RREP)包,这样可以避免循环问题和无效RREP包出现,提高通信效率。其次,AODVjr删除路由错误(Route Error,RERR)包及前驱列表(Precursor List)。另外,为了避免广播风暴,AODV中周期性发送的Hello包也被删除。在ZigBee的集成路由算法中,AODVjr中的许多优点使得路由协议简单化且实现AODV的基本路由功能[5,6]

图1(a)和(b)是AODVjr算法寻找路由的方式。当节点A要发送信息给节点D时,如果发现自己没有到节点D的路由,便通过组播(Multi-Broadcast)路由请求(Route Request,RREQ)包,请求其邻居帮忙查找到节点D的路径。每个接收到RREQ包的节点,都维护一条到节点A的路由信息,同时帮助节点A广播查找节点D。通过这种洪泛(Flooding)方式,RREQ包会被广播转发至节点D。节点D接收到RREQ包后,根据RREQ包的路由代价(Cost)决定是否更新自己的路由表,同时通过路由代价最小的路径给节点A回复RREP包。节点A查找目标节点通常是通过组播进行的,而节点D给节点A回复RREP包则通过单播(Unit-Broadcast)进行的。节点A接收到节点D的RREP包后,根据Cost最小原则决定与节点D通信所走的最佳路径。图1中,节点A查找到节点D的最短路径:A->B->C->D,然后把数据发送给节点D,节点D再通过D->C->B->A给节点A确认信息。

& nbsp;DSP2812

图1 AODVjr算法查找路由及通信方式

在ZigBee协议里,AODVjr的RREQ包和RREP包作为网络层命令传送,成为单独的网络负荷,如图2所示。其中命令标识值等于0x01时是RREQ包,等于0x02时是RREP包;单字节的命令选项只使用一个比特,用于区分该路由包是单独进行路由查找还是进行路由修复(Route Repair)[1]

& nbsp;& nbsp;& nbsp;

(a)路由请求包& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;& nbsp;

DSP2812

& nbsp;(b)路由应答包& nbsp;& nbsp;& nbsp; & nbsp;& nbsp;& nbsp;& nbsp;& nbsp;

(c)命令选项

图2 ZigBee网络层的命令包

3 捎带技术在AODVjr的应用

ZigBee网络里的AODVjr属于后应式的按需Ad hoc网络,不周期性地更新自己的路由信息,只有在需要通信时,才发起路由查找过程。在ZigBee网络里,节点会移动或者休眠,通信时几乎每次都要重新查找路由,而每次传输的数据量又比较少,绝大多数情况下只要传送一次即可完成,如获取传感器的值。为了达到节能且降低通信复杂度的目的,可将互联网中常用的“捎带确认”技术应用于ZigBee网络。

所谓“捎带确认”,是指为了提高网络的通信效率,目标节点接收到源节点的数据后,将确认(ACK)信息附加在目标节点发送给源节点的数据包中,由这些数据包捎带给源节点。DSP2812

采用捎带技术后,如图3(a)所示,源节点可以把要发送给目标节点的数据或命令放置在RREQ包后面,成为网络负荷的一部分,由RREQ包传送给目标节点。目标节点接收到RREQ包后,在给源节点回应RREP包之前,处理源节点发送的数据或者命令,将要发送的ACK或者数据由RREP包捎带给源节点,如图3(b)所示。

& nbsp;& nbsp;& nbsp;

(a)捎带数据或命令的路由请求包& nbsp;& nbsp;& nbsp;

& nbsp;(b)捎带ACK或数据的路由应答包& nbsp;

(c)改进后的命令选项

图3 采用捎带技术的ZigBee网络层命令包

如图3(c)所示:引进捎带功能后,要修改AODVjr里的命令选项,将保留的7个比特用于表示捎带数据的长度,为0时表示此路由包没有捎带任何数据,是普通的AODVjr路由包。

没有采用捎带技术时,如图1所示,源节点和目标节点之间传输数据需要2个来回;改进后只需要图1(a)、(b)所示的一个来回。由此可见,将数据捎带在路由包中,对于只需通信一次数据就可以传输完毕的情况,能够节省一个来回的时间。这样,网络在通信延迟、节能、效率上都有优化,同时降低通信复杂度。

13.56MHz NFC天线,13.56MHz RFID天线设计培训课程套装,让天线设计不再难

上一篇:通用多址遥控系统设计
下一篇:基于nRF9E5的矿井人员定位系统的设计

13.56MHz 线圈天线设计详情>>
手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

  网站地图