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

时间:2008-03-28 17:12:55  来源:  发布者:

  5 实验

  本实验基于Microchip公司推出的TSZ-008系列开发套件,对ZigBee无线传感器网络路由的建立与确认等操作进行了实验测试。

  5.1 ZigBee 无线传感器节点硬件

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

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

  5.2 设计步骤

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

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

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

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

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

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

  5.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;

文章评论

共有 0位传感器爱好者发表了评论 查看完整内容

评论加载中…

热门信息