ZigBee无线传感网络的路由协议研究
2010-03-13路染妮
路染妮,张 刚
(西安航空职业技术学院 电子工程系,陕西 西安 710089)
ZigBee是一种新兴的无线网络技术,主要是针对低速率的通信网络设计的。它是基于IEEE820.15.4协议栈的一组涉及到网络、安全、应用方面的无线通信标准。IEEE820.15.4是一种新兴的无线通信协议,它确定了低速个人区域网络标准,定义了物理层PHY和介质访问层MAC。ZigBee协议在PHY和MAC层的基础上对网络层NWK进行具体定义,为应用层提供API函数。
ZigBee无线传感器网络将传感器技术、通信技术和计算机技术结合在一起,具有信息采集、传输和处理的能力。它可以组成星型、树状、网状的网络拓扑,可用于无线传感器网络(WSN)的组网以及其他无线应用。这些特点使得ZigBee无线传感器网络具 有广泛的应用前景。
1 ZigBee技术
1.1 ZigBee技术概况
ZigBee是一种短距离无线通信技术,功耗低,被业界认为是最有可能应用在工控场合的无线方式。2.4 GHz频带提供的数据传输速率为250 Kb/s,915 MHz频带提供的数据速率为40 Kb/s,而868 MHz频带提供的数据速率为20 Kb/s。它采用跳频技术和扩频技术。另外,它可与254个节点联网。节点可以包括仪器和家庭自动化应用设备。它本身的特点使得其在工业监控、传感器网络、家庭监控、安全系统等领域有很大的发展空间。ZigBee体系结构如图1所示[1]。
图1ZigBee体系结构图Fig.1 Architecture diagram of ZigBee
1.2 ZigBee技术主要优点
1)低功耗由于ZigBee的传输速率低,发射功率仅为1 mW,而且采用了休眠模式,因此ZigBee设备非常省电。据估算,ZigBee设备仅靠2节5号电池就可以维持长达6个月到2年左右的使用时间。
2)时延短通信时延和从休眠状态激活的时延都非常短,典型的搜索设备时延为30 ms,休眠激活的时延是15 ms,活动设备信道接入的时延为15 ms。因此ZigBee技术适用于对时延要求苛刻的无线控制(如工业控制场合等)应用。
3)网络容量大一个星型结构的ZigBee网络最多可以容纳254个从设备和1个主设备,而且网络组成灵活。
4)可靠采取了碰撞避免策略,同时为需要固定带宽的通信业务预留了专用时隙,避开了发送数据的竞争和冲突。MAC层采用了完全确认的数据传输模式,每个发送的数据包都必须等待接收方的确认信息。如果传输过程中出现问题可以进行重发。
2 ZigBee网络节点构建
2.1 系统构成
传感器节点由数据采集、数据处理、数据传输和电源等模块组成。本系统采用以MSP430为核心的控制模块,以CC2420为无线收发模块,MSP430与CC2420通过SPI方式通信。MSP430采用主模式,CC2420采用从模式,节点的传感器模块与主板分离,模块化的设计提高了节点在不同应用中的灵活性。系统构成框图如图2所示。
图2 传感器硬件节点组成框图Fig.2 Block diagram of sensor hardware node
2.2 硬件接口电路
CC2420与处理器MSP430的连接非常方便。它使用SFD,FIFO,FIFOP和CCA等4个引脚表示收发数据的状态;而处理器通过SPI接口与CC2420交换数据、发送命令等,其硬件接口电路如图3所示。
图3CC2420与MSP430的接口电路Fig.3 Interface circuit of CC2420 and MSP430
因为CC2420支持硬件加密、硬件校验、硬件生成帧头。MSP430是具有超低功耗的16位单片机,它是功能强大的CPU内核:16位CPU和高效的RISC指令系统,无外扩的数据地址总线,在8 MHz时可达到125 ns的指令周期,具有16个快速响应中断,12位的A/D转换器能及时处理各种紧急事件。CC2420具有完全集成的压控振荡器,只需要天线,16 MHz晶振等非常少的外围电路就能在2.4 GHz频段工作。
CC2420收到物理帧的SFD字段后,会在SFD引脚输出高电平,直到接收完该帧。启动了地址辨识,在地址辩识失败后,SFD引脚立即转为输出低电平。FIFO和FIFOP引脚表示接收FIFO的缓存区状态。如果接收FIFOP缓存区有数据,FIFO引脚输出高电平;如果接收FIFO缓存区为空,FIFO引脚输出低电平。当FIFOP引脚在接收FIFO缓存区的数据超过某个临界值时,或者在CC2420接收到一个完整的帧以后输出高电平。临界值可以通过CC2420的寄存器设置。CCA引脚在信道有信号时输出高电平,它只在接收状态下有效。在CC2420进入接收状态至少 8个符号(symbol)期后,才会在CCA引脚上输出有效的信道状态信息。
SPI接口由CSn,SI,SO和SCLK引脚组成。处理器通过SPI接口访问CC2420内部寄存器和存储器。在访问过程中,CC2420是SPI接口的从设备,接收来自处理器的时钟信号和片选信号,并在处理器的控制下执行输入/输出操作。SPI接口接收或者发送数据时,都与时钟下降沿对齐。CC2420与MSP430是通过SPI连接的,其中MSP430处于主模式,CC2420处于从模式。MSP430还有4个I/0与CC2420相连,主要起查询CC2420状态的作用。
2.3 节点设计注意事项
1)电路板设计时,要采取抗干扰措施。射频电路没有占用布线面积,而需覆铜并连接到地,以屏蔽RF,从而达到有效抗干扰目的。
2)CC2420底部应接地。为了降低延迟,减少串扰,确保高频信号的传输,要使用多个接地过孔将CC 2420芯片底部和地层相连;器件要紧密地分布在CC2420的四周,并使用较小的封装。
3)应用中的传感器节点要高度集成,保证不会对目标系统的特性造成影响,受外形尺寸限制,模块必须能够集成更多元件。
3 ZigBee网络拓扑
ZigBee网络层主要支持3种拓扑结构[2-3]:星形网络(Star-Network)[4]、树状网络(Cluster-Tree Network)、网状网络(Mesh Network)[5-6]。
3.1 星形网络
星形网是由1个ZigBee协调点 (FFD)和1个或多个ZigBee终端节点(RFD)组成的,如图4所示。
图4 星形网络Fig.4 Star network
ZigBee协调点必须是FFD,它位于网络的中心,负责发起建立和维护整个网络。其他的节点(终端节点)一般为RFD,也可以为FFD,它们分布在ZigBee协调点的覆盖范围内,直接与ZigBee协调点进行通信。星形网的控制和同步都比较简单,通常用于节点数量较少的场合。
3.2 树状网络
树状结构中,节点可以采用Cluster-Tree路由传输数据和控制信息,如图5所示。
图5 树状网络Fig.5 Tree network
枝干末端的叶子节点一般为RFD。每一个在其覆盖范围中充当协调点的FFD向与其相连的节点提供同步服务,这些协调点又受ZigBee协调点的控制,ZigBee协调点比网络中的其他协调点具有更强夫的处理能力和存储空间。
3.3 网状网络
网格形网(Mesh网)一般是由若干个FFD连接在一起组成骨干网,它们之间是完全的对等通信,如图6所示。
图6 网状网络Fig.6 Mesh network
每个节点都可以与其无线通信范围内的其他节点通信,但也有被推荐为ZigBee协调点。网状网络是一种高可靠性网络,具有“自恢复”能力,它可为传输的数据包提供多条路径,一旦一条路径出现故障,则存在另一条或多条路径可供选择,但正是由于两个节点之间存在多条路径,它也是一种“高冗余”的网络。
4 ZigBee路由算法
ZigBee路由选择协议应该满足以下条件:1)必须对拓扑的变化具有快速反应能力,并且避免路由环路的产生;2)必须高效利用带宽资源,尽可能压缩开销;3)必须尽可能缩短传递的数据量,节约能源。
基于以上基本要求,ZigBee路由协议主要有以下算法:Cluster-Tree路由算法,ADDVjr路由算法,Cluster-Tree&ADDVjr路由算法。
4.1 Cluster-Tree路由算法
Cluster-Tree路由算法的描述如下:当一个网络地址为A,网络深度为D的路由节点(FFD)收到目的地址为D的转发分组时,路由节点首先需要判断目的地址D是否为自身的一个子节点,然后根据判断的结果采取不同的方式来处理这个分组。若地址D满足
则可以判断D地址节点是A地址节点的一个后代节点。
判断后采取的分组转发措施如下:
1)目的节点是自身的一个后代节点,则下一跳(next hop)的节点地址为:
2)目的节点不是自身的一个后代节点,路由节点将把该包送交自己的父节点处理。这一点与TCP/IP协议中路由器将路由表项中不存在的分组转发给自己的网关处理类似。
4.2 AODVjr[7]路由算法
AODVjr(AODV Junior)协议是一种基于按需距离矢量路由 AODV(Ad.Hoc On.Demand Distance Vector)的简化版本的AODV路由协议,而AODV路由协议是一种按需路由协议,它利用扩展环搜索的办法来限制搜索发现过的目的节点的范围,支持组播,可以实现在ZigBee节点间动态的、自发的路由,使节点很快的获得通向所需目的的路由。
一次路由建立由以下3个步骤组成:1)路由发现;2)反向路由建立;3)正向路由的建立。经过这3个步骤,即可建立起一条路由节点到目的节点的有效传输路径。在这个路由建立的过程中,AODVjr使用 3种消息作为控制信息:1)Route Request(RREQ),路由请求分组;2)Route Replies(RREP),路由回复分组;3)Route Error(RERR),路由错误分组。
AODVjr的优点是,相对于有线网络的路由协议而言,它不需要周期性的路由信息广播,节省了一定的网络资源,并降低了网络功耗。缺点是在需要时才发起路由寻找过程,会增加交换分组到达目的地址的时间。由于ZigBee网络中对数据的实时性要求不大,而更重视对网络能量的节省,因此可以说AODVjr协议是非常适合应用在ZigBee网络中的。
4.3 Cluster-Tree&AODVjr路由算法
在 ZigBee中,目前常用的的是“Cluster-Tree&AODVjr”路由算法,这种方法结合了Cluster-Tree与AODVjr的算法优点。网络中的节点被分成 Coordinator、RN+、RN-、RFD 这 4种类型。其中Coordinator和RF+的路由算法相同,Coordinator、RN+、RN-是全功能节点,能充当其他节点的路由节点;RFD只能充当Cluster-Tree的叶子(Leaf-Node)。如果待发送数据的目标节点是自己的邻居,即直接通信。反之,3种类型的节点处理数据包的方式各不相同:RN+可以启动AODVjr,主动查找到目标节点的最佳路由,且它可以扮演路由代理(Routing Agent)的角色,帮助其他节点查找路由;RN-只能使用Cluster-Tree算法,它可通过计算判断该把数据包交给自己的父节点还是由某个子节点转发;而RFD只能把数据交给父节点转发。
5 系统应用
基于本文设计的用ZigBee方式通信的无线测温系统在某变电站中进行了安装实验。现场测温节点安装在变电站的母线上,通过无线通信方式将测来的数据传输到计算机终端以便监控母线的温升。实践表明具有以下优点:
1)实时性好,通信方便且速率高;2)建设成本低。由予采用ZigBee的无线公网平台,只需安装好设备即可,不需要专门布线,投资少、见效快,后期升级、维护成本低;3)覆盖范围大,易组成网络,容易增加测温点。
6 结束语
ZigBee依据IEEE 802.15.4标准和ZigBee规范,可以在数千个微小的传感器之间实现协同通信。在“ZigBee无线传感网络的路由协议研究”中,应用ZigBee技术来构建无线传感器网络,并利用文中介绍的3种拓扑形式和3种通信协议来组成无线网络,很好地实现了设计目标,为构建无线传感网络提供了很好的解决方法。随着微电子技术、ZigBee技术以及传感器技术的发展,ZigBee无线传感网络将有更大的发展空间。
[1]BARKER N.ZigBee and Bluetooth strengths and weakness for industrial application[J].Journal of Computing&Control Engineeing,2005,16(2):20-25.
[2]IAN Marsden.Network Layer Overview[EB/OL].(2005-06-15)[2010-03-17].http://www.zigbee.org/en/events/documents
[3]HEILE Bob.Wireless sensors and control networks:enabling new opportunities[EB/OL].(2005-06-06) [2010-04-02]http://www.zigbee.org/en/events/documents.
[4]Heideman J,Silva F,Intanagonwiwat C,et al.Building efficient wireless sensor networks with low-level naming[R].Proceedings of the Eighteenth ACM symposium on Operating Systems Principles,2001:146-159.
[5]Akyildiz I F,Su W,Sankarasubramaniam Y,et al.Wireless sensor network:a survey[J].Computer Networks,2002(38):393-422.
[6]Zorzi M,Rao R R.Geographic random forwarding(GeRaF)for ad hoc and sensor networks:multihop performance[R].IEEE Transactions on Mobile Computing,2003,2 (4):121-135.
[7]Chakems I D,Klein-Berndt L.AODVjr,AODV simplified[J].ACM SZGMOBIL Mobile Computingand Communications Review,2002,6(3):100-101.