本节书摘来自华章出版社《无线网络:理解和应对互联网环境下网络互连所带来的挑战》一书中的第3章,第3.2节,作者:(美)杰克L.伯班克(Jack L. Burbank)等著,更多章节内容可以访问云栖社区“华章计算机”公众号查看
3.2 ZigBee
3.2.1 IEEE 802.15.4
IEEE 802.15.4-2006标准[13]定义了低速率无线个域网(Low-Rate Wireless Personal Area Networks,LR-WPAN)的MAC层和PHY层规范。这种技术适合于数据传感器、无线自动化,或其他不需要高数据速率的应用,如高质量的视频会议。相比之下,IEEE 802.11系列技术运行在更高的数据速率上,可以很容易地支持带宽密集型应用。上述标准是IEEE 802.15.4-2003(ZigBee产品采用的主要技术)的修订版本。IEEE 802.15.4的主要目标包括:
用户安装方便
可靠的数据传输
低成本
短距离
低功耗
简单、灵活的协议设计和实现
这些目标对于IEEE 802.15.4兼容产品的商业可行性是至关重要的。WPAN技术常应用于小型设备上,这些设备需要这些特点来实现可接受的用户体验。
IEEE 802.15.4定义了一些关键技术特点:
无线数据速率从20到250 kbps
对等或星型拓扑操作
灵活的16或64位寻址方案
支持可选分配保护时隙(guaranteed time slots,GTS)
载波监听多路接入/冲突避免(Carrier sensing multiple access with collision avoidance,CSMA/CA)的媒体接入方法
可靠的协议功能,包括完整的确认
低功耗
能量等级检测
链路质量评估和指示
16个信道在2.4GHz频段,30个信道在915MHz频段,3个信道在868MHz频段
本节所述的大部分内容均是基于或取自IEEE 802.15.4-2006标准[13]或ZigBee标准[64]。
在IEEE 802.15.4协议中,有两种类型的设备:全功能设备(full-function device,FFD)和精简功能设备(reduced-function device,RFD)。在WPAN中,至少必须有一个FFD。FFD可以工作在三种模式下,而RFD只能在一种模式下工作。FFD的工作模式如下:
PAN协调器:负责初始PAN网络的建立,并作为网络中的主要协调器。
协调器:能够中继消息的设备。
设备:不中继消息的设备。
所有的FFD都可以与RFD或其他FFD通信,但RFD却只能与FFD通信。因此,RFD是简单设备。RFD的例子包括被动传感器,它不发送大量的数据,也不需要在多个设备之间协调网络功能。图3-15[13]说明了设备的类型和拓扑结构。
图3-15 IEEE 802.15.4规定的拓扑和设备类型,摘自参考文献[13]
在星形拓扑中,所有设备都必须通过PAN协调器FFD进行通信,并且所有的星形拓扑相互之间都独立工作。然而,在对等拓扑中,FFD可以直接相互通信,而图中显示的RFD则只能与PAN协调器通信。虽然图中没有显示,对等PAN网络可以扩展到集群。可以确定FFD网关并在网络集群中分配角色,以便将数据从一个集群(包含一台单FFD的PAN协调器和至少一台其他设备)传递到另一个集群。
IEEE 802.15.4标准规定了LR-WPAN技术规范的PHY和MAC层。图3-16[13]描绘了该标准的分层架构。可以看出物理层有两个服务接入点(SAP),用于与本地MAC层和远程PHY或MAC层交互:PHY数据服务接入点(PHY data service access point,PD-SAP)和物理层管理实体SAP(physical layer management entity SAP,PLME-SAP)。PD-SAP支持通过MAC协议数据单元(MAC protocol data units,MPDU)进行数据传输,而PLME-SAP允许与MAC层之间传输管理和协调指令。服务特定的汇聚子层SSCS定义在MAC层之上,用于处理特定的服务。例如,ZigBee联盟定义了特殊的SSCS和网络层来支持他们所需的应用。IEEE 802.2逻辑链路控制层(Logical Link Control,LLC)可以应用在SSCS之上,由一台设备实现,来为其他高层协议提供公共接口。
![8da8fe459f3790810918c4511d079c8c9b5a8a3b](https://yqfile.alicdn.com/8da8fe459f3790810918c4511d079c8c9b5a8a3b.png?x-oss-process=image/resize,w_1400/format,webp)
PHY层定义包含以下功能:激活和关闭RF收发信机、在一个定义的信道内检测能量、接收数据包的链路质量估计、为CSMA/CA提供空闲信道评估、信道频率选择,以及数据的传输与接收。此外,IEEE 802.15.4-2006还定义了4种PHY层方案:
直接序列扩频(Direct sequence spread spectrum,DSSS)和二进制相移键控(binary phase-shift keying,BPSK)调制,工作频段为868MHz(数据速率为20kbps)和915 MHz(数据速率为40 kbps)。
DSSS和偏移正交相移键控(offset quadrature phase-shift keying,O-QPSK)调制,工作频段为868MHz(100kbps)和915MHz(250kbps)。
并行序列扩频(Parallel sequence spread spectrum,PSSS)、BPSK和幅移键控(amplitude shift keying,ASK)调制,工作频段为868和915MHz(两种频段的数据速率均为250 kbps)。
DSSS和O-QPSK调制,工作频段为2.4 GHz(250 kbps)。
最初的IEEE 802.15.4-2003规范定义了一种工作在868MHZ和915MHz频段的BPSK PHY,数据速率分别为20kbps和40kbps,和一种工作在2450MHz频段的O-QPSK PHY。这些规范形成了当今ZigBee设备的基础。表3-10[13]总结了IEEE 802.15.4-2006的工作频段和数据速率。
![screenshot screenshot](https://yqfile.alicdn.com/e7106035f606dee38490b6526a45f705a5d09aed.png?x-oss-process=image/resize,w_1400/format,webp)
摘自参考文献[13]。
IEEE 802.15.4的信道分配由信道“页面”的分配来决定,每个页面都对信道分配有一个特殊的定义。信道页面的使用是因为考虑到预期增加的频段和为这些设备分配的频段。信道页面0目前包含最多的信道分配,也最为常见。信道页面0在两个频段上总共定义了kmax =
27个信道,其中16个信道定义在2450MHz频段,10个定义在915 MHz,1个定义在868MHz。信道页面0的中心频率定义如下所示:
其他信道页面在参考文献[13]中均有相应的定义,文中期望随着频率分配方案的改变将会定义更多的信道页面。
868/915 MHz BPSK PHY采用一个码片调制序列和差分比特编码。这是通过图3-17[13]所示的三阶段操作实现的。
图3-17 868/915 MHz BPSK PHY实现框图,摘自参考文献[13]
在第一阶段,差分编码器将当前输入比特与前一输入比特做异或操作。比特到码片转换器以比用户数据速率快得多的速率将输入比特转换为DSSS码片。在这种情况下,868 MHz频段的码片速率是300kchips/s,915MHz频段的码片速率为600 kchips/s。868MHZ和915MHz频段的符号速率分别为20和40 ksymbols/s。输入比特“0”的码片表示为{111101011001000},输入比特“1”的码片表示为{000010100110111},其为输入比特“0”的码片表示的二进制补码。最后,BPSK调制器使用升余弦滤波器对信号做成形处理。
868/915 MHz ASK PHY使用一个多码调制方法,称为并行序列扩频(PSSS)。在每个数据符号传输期间,868MHZ和915MHz频段分别有20和5个信息比特,每个符号均被调制为长度为20或5的正交伪随机(pseudorandom,PN)序列。每一个PN序列线性相加,构成一个32码片符号。对于868MHz频段,32码片符号为一个多级64码片半符号,而对于915 MHz频段,则是一个完整的32码片符号。图3-18[13]描绘了这种结构的实现框图。
图3-18 868/915 MHz ASK PHY实现框图,摘自参考文献[13]
如图中所示,PHY包头和有效载荷比特的发送首先通过比特到符号转换器,然后通过符号到码片转换器,最后到ASK调制器。然而,同步头的发送则是单独通过BPSK调制器。相对于其他模块,符号到码片映射在这个结构中是较为复杂的。图3-19[13]描绘了符号到码片映射。
在图中,每一比特(0或1)转换为一个数据值,{?1}对应比特0,而{+1}对应比特1。
对应的数据值乘以集合中的序列。然后将这些相乘得到的序列线性叠加,并采用预编码操作。之后,采用平方根升余弦脉冲成形方法对得到的码片序列做ASK调制。868 MHz频段的ASK符号速率为12.5 ksymbol/s,915 MHz频段为50ksymbol/s。这种方法的更多细节,包括实际序列值、升余弦滤波器公式,可以参见参考文献[13]。
图3-19 868/915 MHz ASK PHY中的符号到码片映射,摘自参考文献[13]
868/915 MHz O-QPSK PHY配置工作在100 kbps的数据速率,并使用16阶调制方式。在每个数据符号周期,利用4个信息比特从16个PN序列中选取1个发送。然后,将这些连续符号对应的PN序列串接在一起,并采用O-QPSK调制方法对聚合生成的序列进行调制。图3-20[13]给出了这种PHY的实现框图。应该指出的是,2450 MHz O-QPSK PHY具有相同的实现流程。
图3-20 868/915和2450 MHz O-QPSK PHY实现框图,摘自参考文献[13]
表3-11提供了4比特数据符号与相应码片值之间的映射关系。这些序列采用半正弦脉冲成形方法调制在O-QPSK载波上。具有偶数索引值的码片调制在同相(I)载波上,而具有奇数索引值的码片调制在正交(Q)载波上。868 MHz频段的码片速率为400kchips/s,915MHz频段的码片速率为1Mchips/s。相比I相码片,Q相码片延迟了一个码片周期。
摘自参考文献[13]。
相比于868/915MHz O-QPSK PHY,2450MHz O-QPSK PHY使用了类似的16阶调制方法,只是码片有32个值,而不是16个值。表3-12总结了2450MHz O-QPSK PHY的符号到码片的映射[13]。
在PHY层,储存数据的主要单元称为PHY协议数据单元(PHY protocol data unit,PPDU)。这个数据包由3个基本部分构成:
同步头(Synchronization header,SHR):用于接收机同步和锁定
PHY头(PHY header,PHR):包含帧长信息
可变长有效载荷:包含其他层包头和用户数据
摘自参考文献[13]。
图3-21[13]说明了PPDU的结构。如图所示,前导码字段用于码片与符号同步,并且根据所使用的频段和调制方式,其长度在3.75~5字节之间可变。帧起始分隔符(start-of-frame delimiter,SFD)字段指示SHR的结束和数据包数据的起始。该字段的长度也是可变的,在0.625~2.5字节之间。有效载荷是PHY服务数据单元(PHY service data unit,PSDU),包含用户数据和在设备上实现的通信协议栈的相关层的包头。
图3-21 PPDU结构,摘自参考文献[13]
表3-13[13]总结了标准中定义的前导码以及SFD字段的字节长度和符号数。
摘自参考文献[13]。
在PHY层,每个SAP是通过一组原语指定的,这些原语具有SAP所支持的特定功能。例如,为PD-SAP定义了如下原语:请求将MPDU从MAC层传输到PHY层,确认从一个本地节点(本地PHY实体)传输一个MPDU到一个远端节点(对等PHY实体)的结束,或对一条从MAC层通过SAP发送到PHY层的请求原语进行确认。这些原语提供了在可控方式下在MAC层和PHY层之间传输用户数据的基本功能。与其他技术(如IEEE 802.16)相比,IEEE 802.15.4的原语集规模很小,这使得协议的复杂性和实现成本较低。表3-14[13]总结了PD-SAP原语及其功能。在每一条原语项中,原语类型用斜体表示,原语类型后面是每种类型功能的简要说明。
摘自参考文献[13]。
表3-15[13]总结了PLME-SAP原语和相关功能。在每一条原语项中,原语类型用斜体表示,原语类型后面是每种类型功能的简要说明。
改编自参考文献[13]。
IEEE 802.15.4-2006中的MAC层规范分为两个部分:MAC公共部分子层(MAC common part sublayer,MCPS)和MAC层管理实体(MAC layer management entity,MLME)。以下是MAC层的部分功能:
网络信标的协调器产生
与网络信标同步
支持PAN关联和取消关联
安全性
CSMA/CA信道访问机制
处理/维护GTS对设备的可用性
维护对等设备之间的可靠链路(MAC层)
![29030811dd581a7899b0ccf66c05eccc265f9224](https://yqfile.alicdn.com/29030811dd581a7899b0ccf66c05eccc265f9224.png?x-oss-process=image/resize,w_1400/format,webp)
图3-22[13]详细说明了MAC层的高级架构。这里,MLME包含MAC PIB,它是一组以通过MLME的两个SAP访问或设置的属性。MAC层提供的服务主要有2个:
数据服务:通过CPS和相关联的SAP(MCPS、PD)访问
管理服务:通过MLME-SAP访问
![screenshot screenshot](https://yqfile.alicdn.com/3d9552216275fb612daa986007e700c8a47b7d23.png?x-oss-process=image/resize,w_1400/format,webp)
摘自参考文献[13]。
PD-SAP和PLME-SAP与PHY通过接口相连,而MCPS-SAP和MLME-SAP与服务特定汇聚子层(service-specific convergence sublayer,SSCS)通过接口相连,如ZigBee规范[64]中所定义的那样。
在SSCS子层,数据单元以SSCS协议数据单元(SSCS protocol data units,SPDU)的形式在对等SSCS实体之间传递。应当指出的是,这些SPDU被封装在由MAC层处理的MAC服务数据单元(MAC service data unit,MSDU)中。
图3-23[13]描绘了MAC帧的一般格式。MAC帧头(MAC header,MHR)由帧控制字段、序列号、目的PAN ID、目的地址、源PAN ID、源地址和辅助安全报头组成。MAC有效载荷包含帧有效载荷以及MAC帧尾(MAC footer,MFR),其中,帧有效载荷中包含用户数据在内的高层信息,MAC帧尾中包含帧校验序列信息。
图3-23 IEEE 802.15.4-2006中MAC格式。摘自参考文献[13]
帧控制表征帧的类型、地址字段和其他控制标志。主要有四种帧类型:信标、数据、确认和MAC命令。不是所有的帧都包含图3-22所示的所有字段。关于帧类型更详细的内容见参考文献[13]。
序列号字段表征每个帧的序列ID。对于信标帧,它指定信标序列号(beacon sequence number,BSN),而对于数据、确认或MAC命令帧,它指定数据序列号(data sequence number,DSN)。
当目标PAN ID字段存在时,它表征用于预定接收机PAN标识符的唯一ID。
当目的地址字段存在时,它表征接收机设备的唯一地址ID。
当源PAN ID字段存在时,它指定用于发射机PAN标识符的唯一ID。
当源地址字段存在时,它表征发射机设备的唯一地址ID。
当辅助安全报头字段存在时,它提供安全机制所处理的信息,包括帧保护(安全级别)信息和在MAC安全PIB中使用的密钥。
帧有效载荷字段包含四类帧的特定信息。它可能包括用户数据、信标标识符信息或MAC命令。
帧校验序列(frame check sequence,FCS)字段长为16比特,并且采用ITU-T的CRC,计算帧中MHR和MAC有效载荷部分的CRC。它用于错误检测。
MAC命令帧为IEEE802.15.4中的MAC控制提供了主要方法。具体而言,共有9种MAC命令帧:
关联请求:请求通过PAN协调器或协调器关联到PAN。
关联响应:允许PAN协调器或协调器对关联请求做出响应。
取消关联通知:PAN协调器、协调器或关联设备可以发送取消关联通知,以通知设备与PAN取消关联
数据请求:由设备发送,向PAN协调器或协调器请求数据
PAN ID冲突:当PAN ID已被使用或冲突时,由设备发送给PAN协调器
孤立通知:已关联的设备与协调器失去同步时使用。
信标请求:设备在扫描过程中用来查找范围内的所有协调器。
协调器重置:由PAN协调器或协调器在收到孤立通知后或者当任何PAN配置属性由于MLME-START/Request原语而发生改变时发送。
GTS请求:已关联设备发给PAN协调器,用来请求分配一个新GTS,或释放已经存在的GTS。
对于数据服务,有两条原语可以使用。表3-17[13]总结了这两条原语。
改编自参考文献[13]。
MCPS的主要功能是数据传输。图3-24[13]描绘了从发射机到接收机的数据传输过程。这里,发送设备生成从上一层到MAC层的MCPS-DATA.request,然后创建一个数据帧,并通过其PHY层将这个帧传送到接收设备的MAC层。如果收到请求,接收设备的MAC层将发回一个确认,并传送一条MCPS-DATA.indication消息,指示MAC层已经传送一个SPDU到上一层。
图3-24 MAC数据传输序列,摘自参考文献[13]
对于管理服务,有15条原语可供使用。表3-18[13]总结了这些原语。表3-19[13]总结了可被访问以执行MAC功能的MAC PIB属性。
改编自参考文献[13]。
摘自参考文献[13]。
图3-25[13]详细阐述了IEEE 802.15.4标准中新设备通过关联方式加入一个特定PAN网络的具体流程。设备高层发送关联请求到设备MLME,然后设备MLME在MAC层形成相应的关联请求发送至协调器MLME。一旦协调器接收到该请求,将反馈确认信息并发送MLME.ASSOCIATE.indication消息到其高层。协调器高层确认收到该指示消息后,发送MLME.ASSOCIATE.response消息加以响应。等待一段时间后,协调器接收到设备MLME发送的数据请求,并且其MLME反馈ACK。然后,协调器MLME发送给设备MLME关联响应以确认关联。正处于关联的设备MLME发送针对该响应的ACK,同时将MLME-ASSOCIATE.confirm消息传送给设备高层。最后,协调器MLME向高层发送MLME-COMM-STATUS.indication消息,通知其有新的设备成功关联。相应地,设备发起的取消关联过程[13]如图3-26所示。
图3-25 关联过程,摘自参考文献[13]
为建立PAN,FFD必须将自己作为PAN的协调器并创建PAN。该过程如图3-27所示[13],
其中PAN通过PHY层、MAC层和高层实体之间的消息交换和事件驱动来完成建立。高层产生MLME-RESET.request消息并发送给FFD MAC层,然后MAC层发送PLME-SET-TRX-STATE.request消息关闭接收机。一旦该消息得到确认,高层确认该RESET信息后,发送含有PAN ID的MLME-SET.request消息到MAC层以建立初始PAN ID。一旦该消息得到确认,高层将发送MLME-SCAN.request消息来扫描潜在的信道和检测已存在的PAN。一旦该扫描得到了确认,其他检测能量的扫描将开始执行。此时,高层将发送其他具有地址分配机制(短地址示于图中)的MLME-SET.request消息,且基于扫描结果决定如何分配逻辑信道。一旦该命令得到确认,高层通过向MAC层发送MLME-START.request 消息开始运行这个新的PAN。MAC层发送PLME-SET.requset消息到PHY层以请求一个特定的物理信道,物理层发送PLME-SET.confirm消息指示成功。然后,MAC层将发送PLME-SET-TRX-STATE.request消息打开发射机并且接收确认消息。然后,发送PD-DATA.request和确认消息使得信标得以传输。另外,MAC层发送MLME-START.confirm消息到高层,并根据PLME-SET-TRX-STATE.request消息打开接收机然后确认。此时,完全建立了一个节点可加入的PAN网络,并能够发送/接收消息。
图3-26 设备发起的取消关联过程,摘自参考文献[13]
图3-27 FFD建立PAN的消息交换过程,摘自参考文献[13]
3.2.2 ZigBee联盟和规范
ZigBee联盟成立于2002年,是一个商界、学术界和政府机构的非盈利组织,其目的是开发“使智能设备更自由、更灵活,使世界更可持续”的标准[16]。具体地,联盟关注于为传感器、控制和监测应用开发绿色、低功耗和开放性低功耗的全球无线网络标准,同时具有高度的简单性和易用性。ZigBee联盟制定了多种规范和协议栈,ZigBee PRO利用IEEE 802.15.4-2003标准作为PHY层和MAC层的基准,同时定义了MAC层以上各层的规范,而ZigBee RF4CE利用IEEE 802.15.4-2006标准。本节其他部分将更详细地讨论ZigBee PRO规范[64]以详细论述IEEE 802.15.4。2011年,市场上55%以上的IEEE 80215.4兼容设备都是ZigBee设备,并且数量还在增加(请参考ZigBee官网,http://www.ZigBee.org)。
图3-28阐述了ZigBee分层架构[64]。注意PHY层和MAC层是根据IEEE 802.15.4-2003标准定义的,而网络层和上层是由ZigBee规范定义的。在此我们讨论网络(NWK)层和应用(APL)层,并提供一些实例说明现在是如何使用该技术的。
图3-28 ZigBee分层架构,摘自参考文献[64]
在ZigBee PRO中,NWK层用于将IEEE 802.15.4标准中的MAC层连接到相关联的APL层。同IEEE 802.15.4标准的MAC层和PHY层一样,NWK层存在两个主要的服务实体:网络层数据实体(Network layer data entity,NLDE)和网络层管理实体(Network layer management entity,NLME),前者用于传递数据,后者用于管理。SAP用于将上述这些实体连接到MAC层,NLDE提供如下服务:
网络层分组数据单元(Network-level packet data unit,NPDU)的产生;
基于网络拓扑的路由。
NLME提供如下服务:
新设备配置;
网络初始化;
加入、离开和重新加入网络;
寻址;
邻居发现;
路由发现;
接收控制;
路由。
ZigBee规范详细阐述了NWK层的服务原语,大致与IEEE 802.15.4标准的原语相似,只是增加了网络路由功能和特性,具体细节请参考文献[64]。
表3-20总结了NWK层的NLDE原语[64],表3-21总结了NLME原语[64],表3-22总结和说明了NIB属性[64]。
图3-29阐述了NPDU的帧格式。图中,帧控制字段表示帧类型,包括数据帧和NWK命令帧两种,并且每一种帧都可以是单播帧、广播帧、多播帧和源路由帧。目的和源地址字段包括16位的网络地址(单播或多播)。半径字段指定传输范围的限制,序列号标识NPDU,且每额外产生一个NPDU,该数增加1。目的和源IEEE地址字段包含与16位网络层地址对应的64位 IEEE 802.15.4 MAC地址。若16位目的网络地址是广播或多播,那么目的IEEE地址不存在。多播控制字段若存在,则为8位长并且处理与多播相关的参数,包括范围、半径、特定的多播模式等。源路由子帧的长度是可变的,并包含中继消息相关的信息,包括中继计数与中继列表。最后,帧有效载荷包括用户数据或NWK层命令信息。
图3-29 NPDU帧格式,摘自参考文献[64]
图3-30中列出了创建网络需要的消息序列[64]。图中,APL形成的网络信息请求在NWK层和MAC层启动过程,用于创建网络和执行所需的功能,请注意调用的MAC层
原语。
图3-30 ZigBee网络的生成,摘自参考文献[64]
图3-31列出了利用关联过程加入网络的消息序列[64]。其中,NLME-NETWORK-DISCOVERY原语启动加入过程后,NWK层发送MLME-SCAN请求通知MAC层在一定范围内搜索可用网络。当接收到用于广播有可用网络的信标后,该请求结果将发送至APL层。然后APL层发送NLME-JOIN请求给NWK层,NWK层形成MLME-ASSOCIATE请求并发送至MAC层,请求与一个特定网络关联。若设备是路由器或协调器,那么一旦NLME-JOIN请求得到确认,它就可以请求启动路由功能。
ZigBee NWK层提供的主要功能之一是路由。每个规范中的路由算法都是基于链路成本度量。成本函数定义如公式(3-5)[64]所示:
图3-31 加入ZigBee网络,摘自参考文献[64]
其中C是单个链路的成本。C可定义为固定成本7,或取7与取整数后的两者的最小值,p是该链路发送数据包的概率。采用何种取值由实现者决定,若使用后者,则需估计和提供链路的p值,可利用链路质量指示(Link quality indicator,LQI)进行估计。网络路由取决于最低成本的路径。
ZigBee规范中定义的APL层包括应用支持子层(Application support sublayer,APS)、ZigBee设备对象(ZigBee device object,ZDO)和制造商定义的应用对象。制造商定义的应用对象提供使用ZigBee的应用特定功能。APL层支持两种服务:数据服务和管理服务。同ZigBee定义的NWK层和IEEE 802.15.4定义的PHY/MAC层一样,APL层也有两个服务实体:应用层服务数据实体(Application layer service data entity,APSDE)和应用层服务管理数据实体(Application layer service management data entity,ASMDE)。APS信息库(APS information base,AIB)是该层属性的集合,通过访问/控制它可支持APL层的多种功能。应用协议数据单元(Application protocol data unit,APDU)通过APSDE传递给NWK层,反之亦然。APSDE负责APDU的生成、绑定设备间的数据传输、基于端点关系的组地址过滤、可靠传输、重复帧的拒收和长于单个NWK层帧的帧分段。APSME支持应用与协议栈交互,APSME提供的功能包括绑定管理,是一种基于服务和需求来匹配设备的能力,也具有AIB管理、安全和组管理的功能。
表3-23和表3-24中分别列出了与APSDE和APSME相关的原语[64]。表3-25中总结了可用的AIB属性[64]。
摘自参考文献[64]。
摘自参考文献[64]。
摘自参考文献[64]。
图3-32阐述了APDU帧格式。其中,帧控制字段定义了APDU的类型,包括数据帧、命令帧和确认帧。目的端点字段指定帧的最终目的端点,但不用于间接帧或组寻址帧。组地址字段用于组寻址帧且包含特定的一组设备的唯一标识符。簇标识符字段指定帧应用特定规范簇的标识符,但不用于命令帧。规范标识符字段仅用于数据帧和确认帧,用于在接收帧的设备上过滤消息且对ZigBee规范而言是唯一的。源端点字段指定帧的发起端点,APS计数器用来防止接收重复帧,扩展头子字段用于分段或扩展帧控制。最后,帧有效载荷域包含用户数据或其他3种帧类型的指定信息。
图3-32 APDU帧格式,摘自参考文献[64]
ZigBee规范提供了应用规范,这些规范是有关消息格式、处理方法和消息类型的协议,帮助开发人员创建互操作的、分布式应用程序。从这个意义上说,不同的厂商开发出的符合特定应用规范的设备具有一定的互操作性,因此改善和丰富了ZigBee产品的市场。一些规范的实例如下所示:家庭自动化、设备发现和语音呼叫。ZigBee定义了制造商特定和公共两种类型的规范。设备描述符和簇标识符在同一个规范内定义,ZigBee联盟负责分配特定的规范ID。
与TCP/UDP/IP中的端口机制相似,不同应用类型之间的ZigBee应用层必须加以区分。ZigBee中特定应用“流”称为簇(cluster)。对于一个特定应用的规范而言,簇标志符是唯一的。
由于每个规范内定义有簇ID子集,因此单个设备可能支持多种规范,并且能够支持多种设备描述。利用唯一的IEEE MAC层地址、NWK层地址和端点标识符的分层寻址来区分设备。图3-32阐述了描述单个无线电支持的不同应用的端点值。端点值0x00用于寻址设备规范,0xff用于寻址所有有效端点,端点值0xf1~0xfe保留。单个无线电在端点0x01~0xf0上能够支持240个应用。在服务发现的情况下,规范ID、输入簇和输出簇ID列表作为特定设备服务可用性的基础。
可以由ZigBee描述符完成发现服务。节点描述符包含有关ZigBee设备功能的信息,并且每个节点都必须有。节点功率描述符指示每个节点功率状态的动态变化;简单描述符包含节点中每个端点的特定信息,包括应用规范ID;复杂描述符包含节点内包含的每个设备描述的扩展信息,包括制造商信息。另外,用户描述符能够提供其他信息。这些描述符在服务发现过程中传输。
ZigBee设备规范(ZigBee device profile,ZDP)提供3种设备间的通信功能:
设备和服务发现:确定其他设备和网络关联服务设备的身份信息。
绑定和关联功能:是指创建、添加和删除将控制消息映射到特定目的节点的绑定表表项。
网络管理:是指获取设备管理信息的能力,包括网络发现结果、与邻居的链路质量、路由表、绑定表、发现缓存和能量检测扫描信息;为设备提供离开或加入网络的能力;若设备为协调器,允许加入自身网络的能力和提供错误通知。
设备规范使用了客户端/服务器的方法。例如,通过发送设备规范消息执行发现功能的设备为客户端,响应这些消息的设备为服务器。设备规范消息包括获取网络地址或服务描述等其他参数。
使用ZDP实现低层原语,为ZigBee设备提供特定应用功能。表3-26[64]总结了ZDP,ZDP的作用如下:
初始化APS层、NWK层和安全服务提供者(SSP)。
利用终端应用配置信息实现多种应用层功能,包括ZigBee路由器、协调器和设备的实例化。
摘自参考文献[64]。
ZigBee联盟官网(http://www.ZigBee.org)列出了多种不同应用的ZigBee认证产品,且定义的应用标准包括医疗保健、建筑/家庭自动化、照明、远程控制和零售服务。
在医疗保健方面,ZigBee联盟定义了一个ZigBee Health Care?标准。根据参考文献[16],该标准“为互操作产品提供了一个全球性标准。针对慢性疾病、老年人独立性和常规性保健、健康和健身,此类产品能够为非严重、低危险的保健服务提供安全、可靠的监控和管理。”
在家庭自动化方面,ZigBee联盟已经定义一个ZigBee Home Automation?标准。支持此规范的设备包括以下几种:
智能电子插座:无线监控能量负载和开/关电源。
家庭自动化控制器:用于能量管理、安全和媒体管理。
小型开关:安装在普通墙壁开关中,无线控制打开/关闭墙壁开关的驱动电路。
门感应器:用无线方式向中央控制器指示门是打开还是关闭状态。
智能门锁:可通过连接到互联网的家庭控制器无线访问以实现远程锁/开门。
灯开/关和调节开关:本地或通过无线家庭自动化控制器控制灯的开/关和调节。
内置无线电台的家庭自动化控制器:通过USB接口连接标准的个人电脑。
连接温控器:通过家庭自动化控制器实现本地或无线控制。
ZigBee Remote Control标准是由ZigBee RF4CE标准支持的另外一个规范。与ZigBee PRO相比,ZigBee RF4CE更简单,也更轻量级。在此应用中,远程控制器根据ZigBee Remote Control标准,可将命令无线传输到电视或电缆盒等设备。使用RF代替红外将会使远程控制系统的性能和特性集得到极大的丰富。
ZigBee联盟还定义了ZigBee Telecom Services标准来丰富用户服务,如移动支付、游戏网络的生成、不使用GPS进行公共空间信息的收集,是地铁隧道或地下区域等地点的理想选择。另外,ZigBee语音簇定义可使ZigBee设备作为耳机、扬声器和麦克风使用。
3.2.3 802.15.4的性能
在参考文献[65]中,随着设备数目和数据有效载荷大小的变化,作者分析了有效数据速率的性能参数。图3-33阐述了参考文献[65]中的一个结论:因为共享媒体的竞争增加,正如预期的一样,有效数据速率随着设备数目的增加而减小;同时因为开销的减小(包头和每个单元时间内较少的保护间隔),MDSU越大,性能越好,可达到的数据速率适用于家庭安全传感器等低速应用场景。在高速视频的特定场景下,性能较差。这是因为IEEE 802.15.4
标准正是用于低速PHY/MAC层,而通过其他协议标准实现高速(如3.3节提到的WiMedia方案)。
图3-33 相应设备数目和MSDU大小的802.15.4性能,摘自参考文献[65]