4 算法的实现
4.1 协议栈
采用捎带技术的ZigBee协议栈有3层,其体系结构如图4所示。协议栈参考ZigBee网络的结构,物理层和介质访问控制层采用IEEE 802.15.4协议,网络层仅使用捎带技术的AODVjr路由算法,通过应用支持子层与应用层建立联系。该协议栈简单、实用、高效。
图4 采用捎带技术的ZigBee协议栈
4.2 路由设计与实现
(a)目标节点接收到RREQ包
(b)源节点接收到RREP包
图5 目标节点和源节点处理RREQ和RREP流程
采用捎带技术后,对算法复杂度的影响不大。只要稍微改动源节点和目标节点发送以及接收RREQ包和RREP包的程序即可,中间节点仍按普通的AODVjr包处理数据。
图5是目标节点和源节点处理RREQ包和RREP包的程序流程,从中可以看出,捎带技术并没有增加算法实现的复杂度。作者在美国赫立讯公司的IP-Link122x系列模块中使用Keil C编程,实现使用捎带技术的ZigBee网络。该模块通过美国FCC认证,经过ZigBee联盟指定的德国莱茵TUV ZigBee实验室一致性测试,是符合IEEE 802.15.4标准和ZigBee协议的模块。本文算法运行在模块自带的嵌入式芯片——Silicon Laboratories公司的8051内核MCU上,采用Chipcon AS公司的射频芯片CC2420收发数据。
5 实验结果
研发过程中,可以使用Chipcon AS公司的IEEE 802.15.4包监听器(Packet Sniffer)分析空气中传送的数据包,对不同节点数目的Ad hoc进行测试,可取得良好的结果。
实验中,采用Mesh拓扑,50个节点组成的ZigBee网络随意分布在三层楼中,采用对等连接方式,仅使用AODVjr路由算法。两个节点通信的平均传输延迟及成功率,采用捎带技术前后质量对比如表1所示。从表1可知,传输延迟时间可以减少很多,且成功率有一定的提高。证明本文提出的网络结构及软硬件设计的可行性。
表1 采用捎带技术前后的通信质量对比
6 结论
本文提出采用捎带技术的AODVjr算法,同时给出简化的ZigBee协议体系结构,并在硬件平台上实现该方案。实践证明,采用捎带技术能降低算法实现的复杂度,减少通信量,节约电池能量,有效提高ZigBee网络的总体性能。本方法还可以在其他使用AODV算法的网络中推广,具有一定的实用价值。DSP2812开发板
参考文献:
[1] Zigbee Alliance. ZigBee Specification (Version 1.1)[S]. 2006.
[2] 张成武,谭斌.单片机Zigbee技术在远程抄表系统中的应用[J].微计算机信息,DSP2812开发板 2006:22(32):96-98.
[3] RFC 3561:Ad hoc On-Demand Distance Vector (AODV) Routing[S].2003.http://www.51kaifa.com/shop/read.php?ID=4732
[4]Mobility Management and Networking (MOMENT) Laboratory. Ad hoc On-Demand Distance Vector Routing[EB/OL].http://moment.cs.ucsb.edu/AODV/aodv.html, 2007-4-2.
[5]Ian D. Chakeres, Luke Klein-Verndt. AODVjr,AODV Simplified[J]. Mobile Computing and Communication Review,2002,6(3):100-101.http://www.51kaifa.com/shop/read.php?ID=4732
[6]Qiu F., Wang J-M., Leng J. "Design and Implementation of a Wireless Personal Area Network Based on AODVjr Routing" in Wireless Mobile&Multimedia Networks (ICWMMN) Proceedings[C].Beijing:The Institution of Engineering and Technology,London(IET),2006:424-427.
作者:朱向庆 王建明 来源:微计算机信息
文章评论(0条评论)
登录后参与讨论