基于ZigBee的WSN路由研究与实验

2010-12-13 16:12:21来源: 电子技术应用

  无线传感器网络是一种特殊的Ad-Hoc网络,网络中节点密集,数量巨大且分布在十分广泛的区域。目前,发展前景最为看好的是基于IEEE802.15.4标准的 ZigBee无线网络。无线传感器网络通常并不需要较高的传输带宽,但却需要较低的传输延时和极低的功率消耗,使用户能拥有较长的电池寿命和较多的器件阵列,而ZigBee的出现正好解决了这一问题。ZigBee有着高通信效率、低复杂度、低功耗、低速率、低成本、高安全性以及全数字化等诸多优点。这些优点使得ZigBee与无线传感器网络完美地结合在一起。目前,基于ZigBee技术的无线传感器网络的研究和开发已得到越来越多的关注。

  ZigBee是一个由多到65 000个无线数传模块组成的无线数传网络平台,十分类似现有的移动通信CDMA网或GSM网,每一个ZigBee网络数传模块类似移动网络的一个基站,在整个网络范围内,它们之间可以进行相互通信。不同的是,ZigBee网络主要为自动化控制数据传输而建立,每个ZigBee网络节点既可以与监控对象直接进行数据采集和监控,还可以自动中转其他网络节点传输的数据资料。除此之外,每个ZigBee网络节点还可在自己信号覆盖的范围内,与多个不承担网络信息中转任务的孤立子节点无线连接。ZigBee网络节点可支持31个传感器和受控设备,每个传感器与受控设备有8种不同的接口方式,用来采集、传输数字量和模拟量。

  1 WSN路由基本算法

  ZigBee WSN中的节点大体可以分为两种类型:有路由容量的节点和没有路由容量的节点。对于树簇拓扑的WSN来说,终端设备通常是RFD精简设备,因此没有路由容量;而路由器与协调器是由FFD全功能设备组成的,因此有路由容量。

  树簇型拓扑的WSN中,通常采用树簇算法与AODVjr算法相结合的路由算法,其中树簇算法指的是消息沿着树型拓扑进行传输的算法,它是静态的,不需要存储路由表。该算法适用于节点静止或者移动较少的场合。而AODVjr算法则是对Ad Hoc按需距离矢量路由算法的改进,考虑到节能、应用方便性留了等因素,对AODV的一些特点进行了简化,但是仍然保留了AODV的原始功能。

  这两种算法的结合使用确定了WSN路由的三种模式,即:禁止路由模式、使能路由模式和强制路由模式。禁止路由模式就是禁止对路径进行查找,因此处于该模式的网络只能使用树簇算法沿着树型拓扑进行路由。使能路由模式是将树簇算法与AODVjr算法相结合,视具体情况来决定到底采用哪种路由算法。强制路由模式完全使用了AODVjr算法,只要设备具有路径查找能力,不管消息传输的路径是否已经存在,都要启动一个路径查找过程,当查找完成,数据包将沿着计算出来的路径传送。

  2 路由方式

  路由的设定通常有三种模式:禁止路由发现、使能路由发现及强制路由发现。

  禁止路由发现(SUPPRESS):如果发现网络路由器存在,数据包路由指向该路由器。否则,数据包沿着树形推进。

  使能路由发现(ENABLE):如果发现网络路由器存在,数据包路由指向该路由器。如果网络路由器不能确定,路由器可以启动一个路由发现过程,当发现完成,数据包将沿着计算出来的路由传送。如果该路由器没有路由发现能力,数据包将沿着树形推进。

  强制路由发现(FORCE):如果路由器有路由发现能力,不管路由是否已经存在,都将启动一个路由发现过程。发现完成,数据包将沿着计算出来的路由传送。如果这个路由器没有路由发现能力,数据包将沿着树形推进。这个选择必须小心使用,因为它会产生较大的网络冗余。它的主要用途是修复破坏了的路由。

  对于树形拓扑结构设备间的数据转发,通常将源地址简化为上行路由(route up)或下行路由(route down)。如果LocalAddr < DeSTAddr < LocalAddr + CSkip(d-1) 为下行路由,否则为上行路由。通常网络的协调器或路由器都含有一个邻接设备表,该表记录了一定区域内与其具有邻接关系的设备。若想使用邻接表进行路由,只要目标设备在物理区域内可见,即可直接发送信息。而对于网状拓扑结构,则要使用路由表来进行路由。通常协调器或路由器都拥有自己的路由表,如果目标设备在路由表中有相关的记录,则信息就可以根据路由表中的记录进行发送,否则就要沿着树形拓扑来传输数据。

  无线传感器网络是一种特殊的Ad-Hoc网络,网络中节点密集,数量巨大且分布在十分广泛的区域。目前,发展前景最为看好的是基于 IEEE802.15.4标准的ZigBee无线网络。无线传感器网络通常并不需要较高的传输带宽,但却需要较低的传输延时和极低的功率消耗,使用户能拥有较长的电池寿命和较多的器件阵列,而ZigBee的出现正好解决了这一问题。ZigBee有着高通信效率、低复杂度、低功耗、低速率、低成本、高安全性以及全数字化等诸多优点。这些优点使得ZigBee与无线传感器网络完美地结合在一起。目前,基于ZigBee技术的无线传感器网络的研究和开发已得到越来越多的关注。


  ZigBee是一个由多到65 000个无线数传模块组成的无线数传网络平台,十分类似现有的移动通信CDMA网或GSM网,每一个ZigBee网络数传模块类似移动网络的一个基站,在整个网络范围内,它们之间可以进行相互通信。不同的是,ZigBee网络主要为自动化控制数据传输而建立,每个ZigBee网络节点既可以与监控对象直接进行数据采集和监控,还可以自动中转其他网络节点传输的数据资料。除此之外,每个ZigBee网络节点还可在自己信号覆盖的范围内,与多个不承担网络信息中转任务的孤立子节点无线连接。ZigBee网络节点可支持31个传感器和受控设备,每个传感器与受控设备有8种不同的接口方式,用来采集、传输数字量和模拟量。

  2.1 ZigBee 无线传感器节点硬件

  要创建WSN节点,本实验使用了以下的组件:一片带SPITM接口的PIC18F单片机;一个带有所需外部元件的RF收发器芯片CC2420; 一根天线,可以是PCB上的引线形成的天线或单极天线。

  如图1所示,控制器通过SPI总线与RF收发器芯片CC2420相连。控制器充当SPI主器件而CC2420充当从器件。控制器实现了IEEE 802.15.4 MAC 层和ZigBee协议层。它还包含了特定的应用逻辑,并使SPI总线与RF收发器交互。Microchip协议栈提供了完全集成的驱动程序,免除了主应用程序管理RF收发器功能的任务。如果需要,可以将某些非SPI控制信号重新分配到其他端口引脚以适合应用的硬件。在这种情况下,必须修改物理层接口定义,包括正确的引脚分配。

  2.2 设计步骤

  以微芯的ZigBee协议栈为例,为了设计ZigBee协议系统,应按以下步骤进行设计:(1)获得OUI;(2)根据数据传输率及市场的需要,确定无线通信的频带;(3)使用TSZ-008开发系统进行开发设计;(4)利用微芯协议栈提供的源文件扩展ZigBee协议应用;(5)进行RF规范论证;(6)进行ZigBee协议互操作规范论证。

  具体设计时应遵从以下步骤:

  (1)确定系统需要使用的配置文件;

  (2)确定每个设备具备的终端结构;

  (3)创建一个新的项目目录,将所有的具体应用源文件及项目文件置于该目录中;

  (4)使用ZENA软件产生基于设备类型、设备配置及终端结构的配置文件并编写相关源代码。

  2.3 虚拟路径建立过程

  相关源码如下:

  case NLME_START_ROUTER_confirm:

  if (!params.NLME_START_ROUTER_confirm.Status)

  {

  ConsolePutROMString( (ROM char *)"Router Started!

  Enabling joins...rn" );

  params.NLME_PERMIT_JOINING_request.PermitDura-

  TIon=0xFF;

  currentPrimitive=NLME_PERMIT_JOINING_request;

  }

  else

  {

  PrintChar( params.NLME_JOIN_confirm.Status );

  ConsolePutROMString( (ROM char *)" Router start

  unsuccessful. We cannot route frames.rn" );

  currentPrimitive = NO_PRIMITIVE;

  }

  break;

  2.4 确认路径过程

  相关源码如下:

  case NLME_PERMIT_JOINING_confirm:

  if (!params.NLME_PERMIT_JOINING_confirm.Status)

  {

  ConsolePutROMString( (ROM char *)"Joining permitted.rn" );

  currentPrimitive = NO_PRIMITIVE;

  }

  else

  {

  PrintChar( params.NLME_PERMIT_JOINING_confirm.Status );

   ConsolePutROMString( (ROM char *)" Join permission unsuccessful. We cannot allow joins.rn" );

  currentPrimiTIve = NO_PRIMITIVE;

  }

  break;

  2.5 实验结果

  笔者主要对树簇网进行了验证。实验中,路由器与终端设备组建了小型星形网络,这个星形网络是以路由器为中心,以终端设备为子节点的。与标准星形网络不同的是,在以路由器为中心的小型星形网络中,路由器不会向终端设备发出任何控制命令,它只起中继的作用,实际的控制命令是由协调器发出的。这样通过路由器的连接中继作用,协调器可以控制超出它的能量覆盖范围的终端设备。路由器没有组建树簇网络的功能,但它可以接收终端设备形成星形网络,也可以加入协调器参与到树簇网络中。

可以使用开发板进行路由器的定位实现简单路由,也可以实现帧转发,但是路由表的建立维护功能不全。协调器和路由器不能自动地发起路由探询与路由修复,所以在应用层传输数据包之前,需要通过按下某一固定键盘的方式人工激发路由探询。在路由探询等待中,在接收缓存中只允许存放一个等待

[1] [2]

关键字:zigbee  路由  研究  实验

编辑:masen 引用地址:http://www.eeworld.com.cn/wltx/2010/1213/article_1568.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
zigbee
路由
研究
实验

小广播

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved