ZigBee协议栈网络层的研究与实现
2009-11-22 18:53
211 查看
2006-08-09 21:06
[b]ZigBee协议栈网络层的研究与实现[/b] 1. 引言 随着科学技术的发展,无线技术逐渐取代有线技术,仅支持静态固定拓扑的无线网络也逐渐被支持动态变化拓扑的无线网络取代。在短距离的无线控制、监测、数据传输领域,通用的技术有802.11、蓝牙、HomeRF等,它们各有自己的优势,但仍然存在功耗大、组网能力差等劣势。为了弥补上述协议的不足,ZigBee联盟于2004年12月中旬推出基于IEEE 802.15.4的ZigBee协议栈。 ZigBee短距离低速无线个域网(Low Rate-Wireless Personal Area Network,LR-WPAN)不仅具有低成本、低功耗、低速率、低复杂度的特点;而且具有可靠性高,组网简单、灵活的优势。本文将介绍ZigBee协议栈并提出网络层的具体实现方案。 2. ZigBee协议栈体系结构 本节将在介绍IEEE 802.15.4标准和ZigBee协议的基础上,重点分析ZigBee协议栈的网络层关键技术及其工作机制。 2.1 IEEE 802.15.4标准 IEEE 802.15.4标准[1]于2003年5月制定完成,它满足国际标准化组织 (ISO)开放系统互连(OSI)参考模型,主要包括物理层、数据链路层。IEEE 802.15.4协议与其他无线网络相比,突出的优点是:组网能力强,适应面广,可靠性高,节能性好。 2.2 ZigBee协议栈 完整的Zigbee[2,3]协议栈由物理层、介质访问控制层、网络层、安全层和高层应用规范组成。
2.3 网络层关键技术 ZigBee协议栈的核心部分在网络层。网络层主要实现节点加入或离开网络、接收或抛弃其他节点、路由查找及传送数据等功能,支持Cluster-Tree,AODVjr,Cluster-Tree+AODVjr等多种路由算法,支持星形(Star)、树形(Cluster-Tree)、网格(Mesh)等多种拓扑结构[4]。 Cluster-Tree(簇-树)是一种由网络协调器(Coordinator)展开生成树状网络的拓扑结构,适合于节点静止或者移动较少的场合,属于静态路由,不需要存储路由表。AODVjr算法是针对AODV[5,6](Ad hoc按需距离矢量路由协议)算法的改进,考虑到节能、应用方便性等因素,简化了AODV的一些特点,但是仍然保持AODV的原始功能。表1是两种算法的优缺点比较。
图2为Cluster-Tree+AODVjr算法时网络层数据传输示意图。节点E发送数据包给节点D,数字代表各种包发送的时间先后次序。从图中可以看出,节点E的类型是RFD,它只能将数据DATA传送给其父节点C。C的类型是RN+,所以它先把数据放入缓存后,再通过组播AODVjr路由请求包RREQ查找到节点D的路由,节点D再通过单播沿最短的路径D-B-C给节点C回复AODVjr路由应答包RREP。节点C找到路由后,把缓存数据沿C-B-D发送给节点D,节点D再沿D-B-C-E发送确认包ACK给节点E,节点E收到确认包后,整个通信过程结束。
作者已在符合IEEE 802.15.4的硬件平台上实现ZigBee协议栈,成功研发出ZigBee开发包(ZigBee Development Kit,ZDK),验证了其可行性。同时,根据一些特定的应用将算法改进,取得良好的运用效果。本节将重点介绍ZigBee网络层的实现。 3.1无线模块的设计 根据不同类型节点功能不同的特点,作者在不同的硬件平台设计模块。设计制作的ZigBee系列模块完全满足IEEE 802.15.4和ZigBee协议的规范要求,符合ISM/SRD规范,通过美国FCC认证。模块集无线收发器、微处理器、存储器和用户API等软硬件于一体,能实现1.0版ZigBee协议栈的功能。Coordinator可以连接使用ARM处理器开发的嵌入式系统,功能较多的路由节点(RN+,RN-)由高档单片机充当,功能较少的叶子节点(RFD)使用普通的单片机。模块还可以根据实际需要,工作在不同的睡眠模式和节能方式。 图3是模块的硬件设计框图,射频芯片采用Chipcon公司生产的符合IEEE 802.15.4标准的模块CC2420;控制射频芯片的微处理器,可以根据需要选择Atmel公司的AVR系列单片机或者Silicon Labs公司的8051内核单片机。单片机与射频芯片之间通过SPI进行通信,连接速率是6Mbps。单片机与外部设备之间通过串口进行通信,连接速率是38.4kbps。单片机自带若干ADC或者温度传感器,可以实现简单的模数转换或者温度监控。为了方便代码移植到不同的硬件平台,模块固件采用标准C语言编写代码实现。
ZigBee网络最初是由协调器发动并且建立。协调器首先进行信道扫描(Scan),采用一个其他网络没有使用的空闲信道,同时规定Cluster-Tree的拓扑参数,如最大的儿子数(Cm)、最大层数(Lm)、路由算法、路由表生存期等。
3.3路由设计与实现 在传输数据时,不同类型的的节点有不同的处理方法,协调器的处理机制与RN+相同。网络层路由设计分为RN+,RN-和RFD三个模块。图5至图7分别是三种类型节点接收到上层或者其他节点发送的数据包时,网络层处理程序的流程图。
无线通信有其特殊性质,每个节点发送的数据包既是信号源,同时又可能是干扰源,因此无线网络的测试是一大难题。为了能在室内方便测试网络性能,引入黑名单机制,强制让一些节点对黑名单节点发送的数据包“视而不见”,以测试十几点甚至几十点的特殊网络。在实际应用时,去掉黑名单并不影响网络的工作性能。测试时,还可以采用符合IEEE 802.15.4的包监听器(Sniffer),记录测试过程中空气中所传输的无线数据。每个模块还可以通过I/O输出自己的收发状态等信息。通过多种手段对测试过程进行分析,才能提高开发测试效率。 表2是某个节点的黑名单列表,该节点接收到的数据包发送方MAC地址s如果符合下列n个公式中的一个,则该节点认为没有接收到数据包,对该数据包不作任何处理。
ZDK开发包,除了实现IEEE 802.15.4的MAC层及ZigBee的网络层功能外,目前还完成一些应用层功能,同时提供简单易用的API接口,以便使用者根据实际需要进行二次开发。该技术已经成功地应用于组建家庭无线网络、无传感器网络、无线门控系统和无线停车场计费系统等领域中。 4.1网络功能 图8是一个典型的ZigBee网络,该网络可取代有线电缆构成的拓扑。网络中端对端设备可以采用透明模式(Transparent Mode)交互信息,完成无线RS232和RS485的数据传输功能。只要接上模块,多台设备的串口就能直接交互数据。这种应用尤其适合不易铺设有线电缆、通信时须要考虑避雷等因素的场合。
ZigBee模块载波频率为2.4GHz,通信速率为250kbps,发射功率在0dbm至-24dbm,接收灵敏度为-94dm。点对点通信距离,室内为60米左右,室外为100米左右,误包率小于0.5%。在不超过10跳的范围内通信,传输延迟不超过2秒,误包率小于1%;每包数据能传输的最大有效纯负荷为110字节。 目前,已经测试过50点的网络,实现跨多个房间、楼宇的数据传输。在节能模式下,模块能在电池供电的条件中长时间(约3个月)工作。本网络除了包含通用ZigBee网络的特点外,还能跟其他有线或者无线网络互通互融,达到优势互补,在实际应用中取得良好的效果。实践证明,ZigBee网络有其自己的鲜明特点,在众多的无线网络中有其存在和发展的空间。 5. 总结和展望 本文主要讨论了该网络的理论基础,同时给出了网络层实现办法及解决方案。这种方案已被美国赫立讯科技公司用于设计IP-Link系列模块、ZigBee开发套件以及海尔家庭无线网络,取得较好的市场价值。 基于IEEE 802.15.4的ZigBee网络是扩充现有网络应用的一种良好手段,具有广阔的应用场合和发展前景。ZigBee协议栈还在不断升级,如何根据不同的需求设计高性能的ZigBee网络,如何将ZigBee网络与其他网络进行可靠连接,达到功能互补,是一项很有意义的课题。 |
相关文章推荐
- ZigBee协议栈网络层的研究与实现
- Windows下Socket TCP网络传输及ping-pong缓冲区进程同步研究实现
- 网络游戏服务器端网络引擎的研究与实现
- 第三章 CHRAS系统简介及其备份恢复需求 --基于mkCDrec的核心网网络运维系统的备份和恢复的研究与实现
- Nginx网络epoll多进程系列:Nginx源码研究八:nginx监听socket实现流程
- 【本科毕业设计论文】分布式网络爬虫的研究与实现
- 网络中树型菜单实现方法及其效率研究
- [转]采用SNMP(简单网络管理协议)实现国税系统广域网络性能管理的研究
- 高性能网络数据包采集优化技术研究与实现
- 网络中树型菜单实现方法及其效率研究
- 摘要目录 --基于mkCDrec的核心网网络运维系统的备份和恢复的研究与实现
- 基于SDL实现的GPRS网络一致性测试技术研究
- 基于java的网络抓包技术研究与实现(转)
- 探讨DNS-ALG在IPV4和IPV6互通网络中的研究与实现
- 网络中树型菜单实现方法及其效率研究
- 第一章 绪论 --基于mkCDrec的核心网网络运维系统的备份和恢复的研究与实现
- 第二章 数据备份和恢复技术 --基于mkCDrec的核心网网络运维系统的备份和恢复的研究与实现
- 网络中树型菜单实现方法及其效率研究 (代码3)
- android 4.4 以太网网络共享功能研究和实现