新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 如何开发更具鲁棒性的ZigBee解决方案

如何开发更具鲁棒性的ZigBee解决方案

作者:Damon Stewart MaxStream公司时间:2008-05-30来源:电子工程专辑收藏

  领域中受到了人们的密切关注,主要是由于承诺能为可靠、高性价比和低功率的无线通信提供全球性统一规范。并且在目前的无线设备市场中,联盟经过不懈地努力已经将ZigBee的地位提升了一大步。仅仅用了几年的时间,该联盟就发展了200多家联盟成员。ZigBee芯片组和协议栈已经可以很容易地从许多供货商那里得到。去年市场上已经出现第一套ZigBee终端产品。

本文引用地址:http://www.eepw.com.cn/article/83400.htm

  通过精心地定义ZigBee规范中的网络和应用层,ZigBee联盟希望独立的设备制造商能够开发出可以互操作的优秀终端产品。成员们对ZigBee芯片组给予了很高的期望,希望能够帮助OEM制造商进一步降低成本,从而为系统集成商和终端用户提供低成本的终端产品。

  随着市场需求的增长以及大量的志愿者投入研究ZigBee规范,现在已经到了将一个低成本、低功率的无线网络的可行性方案提供给人们的时候了。本文将讨论设计和集成一个ZigBee方案时应该考虑的一些重要因素。文中的许多内容来自MaxStream公司在研发其首套ZigBee认证产品——XBee OEM无线模块过程中所获取的经验。

ZigBee一览

1. ZigBee网络

  ZigBee定义了三种节点类型:协调器、路由器和终端设备。协调器可以通过选择网络的工作信道和个域网识别标志(PAN ID)来启动一个ZigBee网络。一旦网络启动,路由器和终端设备就能加入网络。协调器和路由器都能通过网络发射和路由数据,并且允许其它的路由器和终端设备加入。终端设备不能参与路由数据,因此在不发射和接收数据时可以休眠。当设备加入ZigBee PAN时,设备间的父子关系即形成,加入的设备为子,允许加入的设备为父。一个简单的ZigBee网络如图1所示。

2. ZigBee寻址

  ZigBee设备支持两种地址类型:一种是64位IEEE地址,另一种是16位网址。64位地址在所有ZigBee设备之中是唯一,其中包含一个由IEEE分配、也是全球唯一的24位制造商特定组织识别符(OUI)。

  当设备加入ZigBee个域网时,它可以从允许其加入的父设备上获取16位网址。该网址在个域网内被规定为唯一。该网址用于数据传输和数据包路由。用于路由数据包的路由表存放着各个目标设备和下一跳设备的网络地址。因此个域网的各设备都必须有明确且唯一的网络地址,以保证数据能到达正确的设备。

 


图1:简单的ZigBee网络。

  然而,在有些条件下一个设备的地址可能会改变,或者是多个节点可能接收到同一个地址。例如,如果终端设备被移除或失去与父设备的联系,它就必须重新连接网络,这可能导致它接收到一个新的地址。另外,如果协调器被一台新设备所替换,新协调器会不知道哪些地址是之前的协调器分发的。新协调器分发给设备的地址很容易与已有的网址重叠。

  ZigBee联盟正在加紧研究解决这些地址问题的对策,并将整合到ZigBee规范中去。但是,一些协议栈和模块提供者,譬如MaxStream公司已经研发出解决这些问题的方法。

3. ZigBee路由

  ZigBee包括一个用于AODV网状路由的基本框架。如果一个设备需要向其它设备发送数据,它首先需要发现一条可能要经过多台路由器才能到达目标设备的路由。网状路由允许动态地建立、修改或替换传输路径,从而保持设备间有一条可靠的路径。

  然而,除网状路由之外,ZigBee规范还经常依赖树状路由。在树状路由中,数据将在源设备和目标设备之间的“树”状路由上严格地按照从父到子或从子到父的路径传输。

 


图2:树状路由(左)和网状路由(右)的演示。

  当节点移动或删除时路由可能出现问题。这时如果单个节点无法从一条路由中隔离开来,那么整个树状路由就无法定位故障点。而网状网络就能在现有路由发生故障时发现一条新路由。

  ZigBee协议栈按照规范采用树状和网状路由的ZigBee 1.0标准而建立。两种路由之间的交互是相当复杂的,而且协议栈之间的交互也是不断变化的。但是,增强型ZigBee规范(2006)增加了一个nwkUseTreeRouting功能,该功能可以使整个树状路由彻底断开,再由(NLME)路由发现请求(route-discovery-request)原语根据需要强制进行路由发现。这些功能可以解决与树状路由相关的问题,并且允许开发商充分发挥网状路由的优势。

 


图3:当所建通道上的一个节点失效时树状路由(左)和网状路由(右)的性能。

4. ZigBee互操作性

  ZigBee规范包括一些可以用来定义各种网络的配置功能。开发商可以很容易地配置以下参数:目标系统中的路由器和/或终端设备数量;安全级别;路由表和邻居表规模;网络最大深度(从协调器到最远派生设备的连接深度);协调器/父路由器允许的子路由器和终端设备的最大数量。

  ZigBee联盟研发出了为这些不同协议栈建立通用设置的公共框架-可配置参数表。为了完成框架(如家庭控制协议栈框架就定义了开灯、关灯、或切换一个灯光的簇ID)内的共同任务,该框架还定义了一些称作簇ID的接口。

  终端设备必须围绕可互操作的同一框架来设计。因此,应用开发商必须设置他们的协议栈参数以匹配公共框架所规定的参数值,从而确保与采用同一框架的其它的互操作性。另外,开发商也可以为了满足其设计而通过采用专用(定制)的框架来自由修改协议栈参数。不过,在专用框架中所定义的簇ID不具备与基于公共框架的设备互操作的能力。

  由于开发商具有选择框架的灵活性,从而并非所有的ZigBee设备都能互操作。虽然这种灵活性一开始会在市场上引起一些混乱,但允许开发商决定其产品是否要与其他供应商的设备进行互操作。在不需要互操作性的场合,功能强大的ZigBee可以围绕一个专用框架进行开发,并剪裁协议栈参数来满足特殊应用需求。

5. ZigBee认证

  经认证的ZigBee硬件平台(芯片组和模块)和软件层(PHY层、MAC层和网络层)必须做ZigBee验证平台(ZCP)测试。通过ZCP认证的硬件平台和软件协议栈表明适用于ZigBee终端产品的研发。

  在ZigBee兼容平台上开发的终端产品可以直接做产品认证测试。终端产品认证允许产品出现在ZigBee认证产品列表中,并打上ZigBee标识。ZigBee联盟已经开发了相关测试标准来认证基于公共和专用框架的终端产品是否是合格的ZCP产品。

 

路由器相关文章:路由器工作原理


路由器相关文章:路由器工作原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭