送帧传送到ZigBee协调器所传递的最小跳数。ZigBee协调器自身深度为0,而它的子设备深度为1。
图3为ZigBee树型结构。参数nwkMaxChildren(Cm)表示路由器或协调器在网络中允许拥有子设备数量的最大值。参数nwkMaxRouters(Rm)表示子节点中路由器的最大个数,而剩下的设备数为终端设备数。
图3 ZigBee树型结构
一个新的RFD节点(i),它没有路由能力,它与协调器连接作为协调器的第n个子节点。根据它的深度d,父节点(k)将为子节点(i)分配网络地址:
Ai=Ak+Cskip(d)·Rm+n 其中1≤n≤(Cm-Rm)
如果是新的子节点FFD,它有路由能力,父节点(k)将给它分配网络地址:
Ai=Ak+1+Cskip(d)·(n-1)
其中,
否则,参数nwkMaxDepth (Lm)表示网络的最大深度。
假设一个路由器向网络地址为D的目的地址发送数据包,路由器的网络地址为A,网络深度为d。路由器将首先通过表达式:
A < D< A + Cskip( d-1 )
判断该目的节点是否为自己的子节点。如果目的节点是自己的子节点,则下一跳节点的地址为:
否则,下一跳节点是该路由器的父节点。 2.2.4 Tree+Z-AODV路由算法的分析
根据上文对Tree和Z-AODV两种路由算法的分析,在我们的ZigBee网络中将二者结合,使用Z-AODV和分等级的树型(Tree)路由相结合的混合路由方法,构成网格型拓扑结构(Mesh)的网络。
具体实现方法是在数据帧帧头的DiscoverRouter域指定路由。该域可以是如下三种值:
⑴ 抑制路由发现:它使用已经存在的路由表。当路由表中没有相应的目的节点的地址时,参数nwkUseTreeRouting的值为TRUE,网络将使用树型路由。 ⑵ 使能路由发现:如果在路由表中有路由地址,将按照该路由表进行路由。否则,路由器将使用Z-AODV路由算法初始路由发现。如果该节点没有初始路由发现的能力,它将使用树型路由。
⑶ 强制路由发现:不管是否有相应的路由表,节点都强制使用Z-AODV路由算法初始化路由发现。
在ZigBee规范中提出了将AODV和Tree路由混合的路由机制。但在ZigBee规范中并没有说明如何配置参数来选择路由策略,没有使两者平衡的设计方法。根据上面Tree路由和Z-AODV的分析,我们提出了基于数据特性的路由方法,即在两种路由算法构成的网格型网络中,根据节点间传输数据特性的不同,通过设置数据帧帧头的DiscoverRouter域,选择不同的路由方法。对于捆绑型的连续数据,ZigBee应用层应选择使用使能路由的方法。即采用Z-AODV路由首先建立路由发
现,然后选择跳数少的路由,成为最佳路径;对于爆发型的不连续数据则使用抑制路由发现的方法,即在路由表中没有响应的目的节点的地址时,采用Tree路由方法。因为这种路由不需要建立路由表,因此对传输的数据响应较快。 图4为节点接收到上层或其他节点发送的数据包时,网络层处理程序的流程图。
图4 路由算法流程图
总结
Tree路由是一种由网络协调器展开生成树状网络的拓扑结构,适合于节点静止或者移动较少的场合,属于静态路由,不需要存储路由表。树型路由对传输数据包的响应较快,因为树型路由不需要建立路由表。其缺点是所选择的路由并非是最佳的路由,不能获得最小路由。树型路由适用于爆发型的数据传输。
Z-AODV需要首先建立路由发现,然后选择跳数少的路由,成为最佳路径。Z-AODV适用于连续的数据传输。
在ZigBee规范中,设计了Z-AODV和Tree路由混合的路由策略,这里我们提出了基于数据服务的ZigBee路由选择策略。根据上述分析可以看出,这种路由选择机制在网络性能和低功耗方面有明显的优势;并且根据能量控制机制,可以有效地平衡节点能量,避免节点耗尽能量而过早地失去作用。 3 ZigBee模块硬件设计
模块集无线收发器、微处理器、存储器和用户API等软硬件于一体,可实现版ZigBee协议栈的功能。
图5 ZigBee模块框图
图5是模块的硬件框图,射频芯片采用Chipcon公司生产的符合标准的模块CC2420;控制射频芯片的微处理器可以根据需要选择Atmel公司的AVR系列单片机或者Silicon Labs 公司的8051内核单片机。单片机与射频芯片之间通过SPI通信。单片机与外部设备之间通过串口通信,单片机自带若干ADC或者温度传感器,可以实现简单的模数转换或者温度监控。为了方便代码移植到不同的硬件平台,模块固件采用标准C语言编写代码实现。 参考文献
[1] 蒋挺,赵成林.紫蜂技术及其应用[M].北京:北京邮电大学出版社,2006 [2] ,org
[3] ZigBee Alliance[R],2006 [4] standards ;2003
[5] Ran Peng,Sun Mao-hen,Zou You-min. ZigBee Routing Selection Strategy Base on Data Services and Engergy-balance ZigBee Routing Service Conmputing, Asia-Pacific Conference on :400-404
[6] 朱向庆,王建明.ZigBee协议网络层的研究与实现[J]
ZigBee路由算法分析
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)