ZigBee基础

发布于2013年6月15日 -

本文节译自Shahin Farahani所作的ZigBee Wireless Networks and Transceivers(ISBN:978-0-7506-8393-7)第一章,原文版权归作者所有。译文版权归本人所有。本译文亦用作本人本科综合论文训练的文献翻译部分。

本文将介绍ZigBee标准,该标准是为短距离无线网络设计的。本文旨在对ZigBee基本特征的内容作出简要的介绍,这些特征主要包括网络拓扑结构、频段访问机制以及协议各层的角色。

1 什么是ZigBee?

ZigBee是一个定义了一套用于低速率短距离无线网络的通信协议的标准。基于ZigBee的无线设备使用868MHz、915MHz和2.4GHz频段,最大的数据率为250Kbps。ZigBee是为了电池驱动的应用设计的,这些应用往往具有低数据率、低功耗、长电池寿命的需求。在很多ZigBee的应用中,无线设备的活动时间是非常有限的,这些设备多数时候会启用节电模式(或称睡眠模式)。因此,使用ZigBee的设备,电池的寿命可以长达数年。

ZigBee可能的应用包括家庭内的病人监护系统。具体来说,病人的血压和心律可以通过可穿戴的设备来测量。这些健康信息数据会通过ZigBee网络传送到本地的服务器,例如病人家中的电脑,在这里,可以对数据进行初步分析,之后,这些重要的数据还会被送到护士或者医生那里来做进一步的诊断。

另一个ZigBee的例子是监控大型建筑的结构健康程度。在这个例子中,一些支持ZigBee的传感器(例如加速度计)安放在大楼中,这些传感器可以组成一个单一的无线网,用来收集可以计算大楼结构健康度的信息,从而判断是否有危险产生。例如,地震后,一栋大楼需要经过检查合格后才能重新启用,用传感器收集数据可以降低检查的花费。

ZigBee标准由ZigBee联盟提出,联盟囊括了数百家企业,包括半导体制造业、软件业、OEM以及安装集成业的厂商等。ZigBee联盟成立于2002年,是一个开放的、自由的非盈利组织。ZigBee标准采用IEEE 802.15.4作为物理层(PHY)和介质访问控制层(MAC)的协议。因此,兼容ZigBee的设备也兼容IEEE 802.15.4标准。

使用无线通信在家庭或者工厂中收集信息或者进行控制的概念并不新,有不少标准都是针对短距离无线网络的,例如IEEE 802.11 无线局域网(WLAN)和蓝牙。这些标准在特定的应用中都有各自的优势。而ZigBee标准则着重于非常低成本地实现低数据率的无线通信,同时还能做到极低的功耗。

ZigBee标准通过简化通信协议和降低数据率来减少实现成本。相比于IEEE 802.11,实现ZigBee和802.15.4规范的要求要容易很多。

占空比是指设备激活的时间占总时间的比例。例如,如果一个设备每分钟唤醒一次,每次唤醒60ms,则它的占空比为0.001,即0.1%。在很多ZigBee应用中,设备的占空比都小于1%,以此确保长达数年的电池寿命。

2 ZigBee与蓝牙、IEEE 802.11

将ZigBee与蓝牙及IEEE 802.11 WLAN对比有助于理解ZigBee与和现有的标准具体有怎样的不同。图1总结了这三个标准的基本特点。

IEEE 802.11是一组协议,这里选择IEEE 802.11b是因为它使用2.4GHz频段,与蓝牙和ZigBee相同。IEEE 802.11b有着高达11Mbps的数据率,它的典型应用是提供无线互联网连接。在室内,IEEE 802.11b的通信范围是30-100米。与之对应,蓝牙有着低于3Mbps的数据率,它的室内通信范围是2-10米。蓝牙的典型应用是无线耳机。ZigBee有着最低的数据率,是这三个协议中最简单的,同时也是最节能的。

ZigBee的低数据率意味着它并不适合用作无线互联网连接,也不适合传输CD质量的音频(因为这需要超过1Mbps的数据率)。但是,如果我们的目标是传输简单的指令或获取诸如温度湿度之类的传感器数据,ZigBee则提供了最具有性价比的解决方案。

3 短距离无线网络分类

短距离无线网络可以分为两大类:无线局域网(WLAN)和无线个人局域网(WPAN)。

WLAN用于替换有线局域网,例如以太网(IEEE 802.3)。WLAN设备可以集成到有线局域网中,一旦设备连入,网络并不区分设备是通过有线还是无线的方式接入的。WLAN的目标是最大化通信范围和数据率。

相反,WPAN并不是为了替代已有的局域网。WPAN的目的是在不需要其他设备的情况下,在个人操作空间(POS)内提供低功耗的无线通信手段。POS是人在手持无线设备时的一个球形区域,这个区域随着人移动,半径大约为10米。

WPAN可以被分为三类(见图2):高速(HR)WPAN、中速(MR)WPAN和低俗(WPAN)。HR-WPAN的例子有IEEE 802.15.3,可以提供11-55Mbps的数据率,以实现实时视频传输。MR-WPAN的例子是蓝牙,1-3Mbps的数据率可以用作高质量的语音传输。ZigBee则是典型的LR-WPAN。

4 ZigBee和IEEE 802.15.4标准的关系

创建一个通信网络(有线或无线)的常见方法是使用网络层次的概念。每个层都在网络中承担特定的任务。通常,每个层之和它之上或之下的那层传递数据和命令。

ZigBee无线网络协议层如图三所示。ZigBee的协议层基于OSI(Open System Interconnect)的基本参考模型。将网络协议划分为若干层有不少好处。例如,如果协议发生改变,替换或者修改受影响的层要比替换整个协议容易许多。此外,在应用程序开发中,较低层的协议和程序是彼此独立的,可以由第三方提供,所以在开发的时候,只需要操作应用层即可。一个协议的软件实现往往被称作协议栈。

如图3所示,最下面的两层协议由IEEE 802.15.4标准定义。这一标准是由IEEE 802标准工作组最初于2003年提出的。IEEE 802.15.4定义了无线网络的PHY和MAC层,它并不对更高层做出任何限制。

ZigBee标准仅定义了网络层、应用层和安全层部分,PHY和MAC层采用了IEEE 802.15.4标准。因此,任何ZigBee兼容的设备也符合IEEE 802.15.4标准。

IEEE 802.15.4标准独立于ZigBee标准,因此可以仅使用IEEE 802.15.4标准建立短距离无线网,而无需实现ZigBee协议层。在这种场景下,用户在IEEE 802.15.4的PHY和MAC层之上开发应用程序(如图4所示),这些自定义层通常会比ZigBee更简单,并针对特定的应用。

使用私有协议的好处是无需实现完整的协议,可以降低内存等部分的开销。但是实现完整的ZigBee协议则可以和其他厂商的设备互操作,而且更加稳定可靠。是否实现完整的ZigBee协议通常由应用程序和产品的规划决定。

网络的物理特性由PHY层决定,因此诸如工作频率、数据率、接收器灵敏度以及设备类型都由IEEE 802.15.4标准规定。

5 工作频率和数据率

最新的IEEE 802.15.4协议(2006年9月)规定了三个频段:

  • 868-868.6MHz(868MHz频段)
  • 902-928MHz(915MHz频段)
  • 2400-2483.5MHz(2.4GHz频段)

868MHz频段在欧洲使用,其余两个频段(915MHz和2.4GHz)是ISM频段的一部分,915MHz主要在北美使用,2.4GHz在全球使用。

表1展示了IEEE 802.15.4标准对这三个频段的具体规范。此外,IEEE 802.15.4标准要求如果收发机支持868MHz频段,则它也必须支持915MHz频段,反之亦然。因此,这两个频段通常会被标注为868/915MHz。

IEEE 802.15.4对868/915MHz频段规定了一个强制模式和两个可选模式的规范。强制规范容易实现,但数据率较低(20Kbps和40Kbps)。在2006年引入两个可选模式前,要想达到超过40Kbps的数据率的唯一办法就是使用2.4GHz频段。

如果用户选择实现这两个可选模式,IEEE 802.15.4仍然要求设备兼容低数据率的强制规范,设备也必须能在这些模式中动态切换。

2.4GHz的收发机可以支持868/915MHz频段,也可以不支持。868MHz频段只有一个频道,915MHz有10个频道,2.4GHz有16个频道。

2.4GHz的ISM频段在全世界都可用,并且有着最高的数据率和最多的频道数,因此很多制造商都使用这一频段。不幸的是,IEEE 802.11b协议也在这一频段工作,两个协议共存在某些应用中可能会产生问题。此外,频率越低,信号穿墙的能力就越好,因此有些用户会选择868/915MHz。

IEEE 802.15.4协议规定了三种调制方式:BPSK、ASK和O-QPSK。BPSK和O-QPSK采用相位调制,ASK采用幅度调制。

IEEE 802.15.4协议中的全部无线通信方法都利用了DSSS或PSSS技术的优点,这有助于提升接收器在多径环境下的性能。

6 互操作性

ZigBee应用范围很广,因此不少厂商都提供了支持ZigBee的解决方案,基于ZigBee的设备和不同厂商的ZigBee设备的交互就显得很重要。换句话说,设备应当可以互操作。互操作性是ZigBee协议栈的一项核心优点。甚至当消息加密时,ZigBee设备也是具备互操作性的。

7 设备类型

IEEE 802.15.4网络中有两种类型的设备:全功能设备(FFD)和精简功能设备(RFD)。FFD设备具备能力实现IEEE 802.15.4标准中的全部功能,而RFD设备只具备有限的功能。例如,FFD设备可以和网络中的其他任何设备通信,而RFD设备只能和FFD设备通信。RFD设备是为非常简单的应用设计的,例如控制开关的开合等。RFD设备对电力和内存的要求通常都要比FFD设备小。

8 设备角色

在一个IEEE 802.15.4网络中,一个FFD设备支持三种角色:协调器(coordinator)、PAN协调器(PAN coordinator)和设备(device)。协调器是具备消息转发能力的FFD设备。如果协调器还是PAN的控制器,则称作PAN协调器。如果一个设备不是协调器,则被称作设备。

ZigBee标准使用稍有不同的术语(如图5所示)。ZigBee的协调器是IEEE 802.15.4中的PAN协调器,ZigBee的路由器是IEEE 802.15.4中的协调器,ZigBee中的终端设备是除了协调器、路由器以外的设备。ZigBee终端设备内存最小、处理能力最弱,往往也最便宜。

9 ZigBee网络拓扑

网络的构建由ZigBee网络层管理。网络必须是IEEE 802.15.4规定的两种拓扑结构之一:星形或点对点。

在星形拓扑结构中(图6),网络中的每个设备只能和PAN协调器通信。一个典型的星形网络构建是,被编程设定为PAN协调器的FFD设备激活,并创建自己的网络,它将选择一个在信号范围内,与其他网络不同的PAN ID。

在点对点结构中(图7),如果两个设备距离足够近,它们就直接通信。任何FFD设备都可以扮演PAN协调器的角色。确定哪个设备作为PAN协调器的一个方法是,直接选择建立网络的FFD设备作为PAN协调器。在点对点网络中,所有的设备都依靠FFD设备传递信息,因为RFD设备没有这个能力。但是,RFD设备可以加入网络,并且和网络中的某个设备(协调器或路由器)通信。

一个点对点网络可以通过在通信设备上加入不同的限制形成不同的形状。如果没有任何限制,则这样的点对点网络被称作网状网络。ZigBee支持的另一种形式是树形结构(图8)。在这个例子中,ZigBee协调器创建最初的网络,路由器形成树枝并传递消息,终端设备则作为叶节点不参与消息的路由。在树形网络中,路由器起到了扩大网络的作用。

图8也展示了如何通过传递消息扩大网络规模。例如,设备A需要发送消息到B,但是A和B之间存在一个障碍物,信号被阻断。树形结构可以克服障碍,通过多跳的机制将消息传递给B。但这样也可能带来潜在的高延迟。

无论一个IEEE 802.15.4的拓扑结构如何,它总是由PAN协调器创建的。PAN协调器控制了整个网络,并起到了如下作用:

  • 给网络中的每个设备分配唯一的地址(16位或64位)
  • 初始化、终止网络,以及控制消息的路由
  • 给网络选择唯一的PAN ID,以便同一个网络内的设备可以使用16位的短地址仍然可以通信

整个网络中只有一个PAN协调器,由于PAN协调器需要长时间工作,因此它通常不使用电池供电。其他设备通常则使用电池供电。最小的网络包括两个设备:一个PAN协调器和一个设备。

10 ZigBee和IEEE 802.15.4通信基础

这部分包括一些通信基础、数据传输方法以及在IEEE 802.15.4和ZigBee中用到的寻址。

10.1 CSMA-CA

IEEE 802.15.4实现了一个简单的方法允许多个设备使用同样的信道通信,这个方法叫做载波侦听多路访问-冲突避免(CSMA-CA)。在CSMA-CA中,如果一个设备想要发送数据,它首先需要进行空闲信道评估(CCA)来确保它选定的信道没有被其他设备占用。判断一个信道是否被占用的方法是测量该信道的能量谱或者检测占用该信道的信号类型。

当一个设备准备发送信号,它首先进入接收模式,侦测并估计选定信道的信号能量水平,这一过程叫做能量检测(ED)。在能量检测中,接收器并不解码信号,而仅估计信号能量水平。如果信道内已经有信号,能量检测机制并不判断这个信号是不是IEEE 802.15.4信号。

另一种空闲信道评估的方法是载波侦听(CS),和能量检测不同的是,占用信道的信号类型需要做检测,如果信号是IEEE 802.15.4信号,即使信号能量低于阈值,设备也有可能认为信道被占用。

如果信道被占用,设备将休眠一段随机长度的时间然后重试,重复这样的过程直到信道空闲或达到了最大重试次数。

10.2 有信标网络与无信标网络

信道接入机制分为两种:有竞争的和无竞争的。在基于竞争的信道接入中,所有设备通过CSMA-CA机制使用相同的信道传输数据,第一个发现信道未被占用的设备可以传输。而在无竞争的信道接入中,PAN协调器给每个设备指定一个时隙,这叫做保证时隙(GTS)。

为了提供GTS,PAN协调器需要保证网络内的设备的时钟都已同步。信标(Beacon)是网络中用于同步节点时钟的特殊格式消息。协调器可以发送信标以同步连接在自己的设备。这种网络叫做有信标网络。使用信标的缺点是,所有设备必须定时唤醒,监听信标,同步之中,然后继续睡眠。这意味着网络中的很多设备仅仅为了同步才唤醒,而并不执行其他任务。因此,有信标网络中的设备通常更容易将电池的电量耗尽。

无信标网没有GTS机制,因此也无法做到无竞争。这种网络中,设备的电量消耗明显少于有信标网络,因为设备唤醒得更少了。

10.3 数据传输方式

IEEE 802.15.4标准规定了三种数据传输方式:

  • 设备到协调器
  • 协调器到设备
  • 设备到设备

点对点结构中,三种方式都能使用。在星形网络中,只有前两种能使用。

10.3.1 传输数据到协调器

在有信标的网络中,当一个设备需要传输数据到协调器时,设备通过信标同步,然后使用CSMA-CA机制传输数据。如果设备还请求协调器确认,协调器将在收到数据后发出确认响应。这一过程如图9a所示。

图9b展示了无信标网络中数据传输的序列。在这种场景下,只要信道空闲,设备就传输数据。同样的,确认信息也是可选的。

10.3.2 从协调器传输数据

图10a展示了有信标网络中从协调器到设备的数据传输步骤。如果协调器需要向特定设备发送数据,它会在信标中标明接下来需要向设备发送数据,接下来设备会发送数据请求信息告诉协调器已经准备好接收数据。协调器在收到请求后向设备发送数据。发送确认同样是可选的。

在无信标网络中(图10b),协调器需要等候设备请求数据。如果设备请求了数据,但是协调器没有数据发给设备,则协调器发送一个表示无数据的确认消息给设备,或者也可以发送载荷为空的数据包。

10.3.3 点对点传输

在点对点结构中,每个设备都可以和其他设备直接通信。在很多应用中,点对点收发数据的设备都是同步的。

10.4 数据校验

数据包是具备特定格式的一起传输的一组比特位。接收器需要机制来校验收到的每一位是否正确。IEEE 802.15.4标准使用基于国际电信联盟(ITU)循环冗余校验(CRC)的帧校验序列(FCS)来检测数据包中可能的错误。

10.5 寻址

网络中的每个设备都需要一个唯一的地址。IEEE 802.15.4使用两种方式寻址:

  • 16位短地址寻址
  • 64位扩展地址寻址

一个网络可以选择使用16位或16位寻址方式。短地址允许在单一网络内通信。使用短地址寻址机制可以降低消息的长度,节省保存地址的内存空间。而PAN ID和短地址的结合可以实现在不同网络中通信。

64位寻址意味着网络内最多可有(2^{64})个设备。因此,在实践中,一个IEEE 802.15.4网络没有设备数量的限制。

ZigBee协议的网络层会在IEEE地址的基础上加入一个16位的网络地址。可以使用一个简单的表格来对应每个设备的64位IEEE地址和16位网络地址。网络层实际使用网络地址。

网络中的每个设备有一个唯一的IEEE地址和一个唯一的网络地址。每个设备可以连接最多240个设备,这些设备中的每个都由1到240的数字来区分,这个数字被称作终端地址。