1、第三章 zigbee第三章 ZigBee 无线网络技术研究 ZigBee 网络的拓扑结构、网络层协议对定位系统的性能的影响。3.1 ZigBee无线网络技术的特点ZigBee技术主要用于无线个域网(WPAN),是基于IEEE802.15.4无线标准研制开发的。IEEE802.15.4定义了两个底层,即物理层和媒体接入控制(Media Access Control,MAC)层;ZigBee联盟则在IEEE 802.15.4的基础上定义了网络层和应用层。ZigBee联盟成立于2001年8月,该联盟由Invensys、三菱、摩托罗拉、飞利浦等公司组成,如今已经吸引了上百家芯片公司、无线设备公司和开发
2、商的加入,其目标市场是工业、家庭以及医学等需要低功耗、低成本、对数据速率和QoS(服务质量)要求不高的无线通信应用场合。ZigBee这个名字来源于蜂群的通信方式:蜜蜂之间通过跳Zigzag形状的舞蹈来交互消息,以便共享食物源的方向、位置和距离等信息。与其它无线通信协议相比,ZigBee无线协议复杂性低、对资源要求少,主要有以下特点:(1)低功耗:这是ZigBee的一个显著特点。由于工作周期短、传输速率低,发射功率仅为lmw,以及采用了休眠机制,因此ZigBee设备功耗很低,非常省电。据估算,ZigBee设备仅靠两节5号电池就可以维持长达6个月到2年左右的使用时间,这是其它无线设备望尘莫及的。(
3、2)低成本:协议简单且所需的存储空间小,这极大降低了ZigBee的成本,每块芯片的价格仅2美元,而且ZigBee协议是免专利费的。低成本对于ZigBee也是一个关键的因素。(3)时延短:通信时延和从休眠状态激活的时延都非常短,典型的搜索设备时延为30ms,休眠激活的时延是15ms,活动设备信道接入的时延为15ms。这样一方面节省了能量消耗,另一方面更适用于对时延敏感的场合,例如一些应用在工业上的传感器就需要以毫秒的速度获取信息,以及安装在厨房内的烟雾探测器也需要在尽量短的时间内获取信息并传输给网络控制者,从而阻止火灾的发生。(4)传输范围小:在不使用功率放大器的前提下,ZigBee节点的有效传
4、输范围一般为10-75m,能覆盖普通的家庭和办公场所。(5)网络容量大:根据ZigBee协议的16位短地址定义,一个ZigBee网络最多可以容纳65535个节点,而且还可以通过64位的IEEE地址进行扩展,因此ZigBee网络的容量是相当大的。(6)数据传输速率低:2.4GHz频段为250kb/s,915MHz频段为40kb/s,868MHz频段只有20kb/s。(7)可靠:采取了免冲撞机制,同时为需要固定带宽的通信业务预留了专用时隙,避开了发送数据的竞争和冲突。媒体接入控制子层采用了完全确认的数据传输模式,每个发送的数据包都必须等待接收方的确认信息。如果传输过程中出现问题可以进行重发。(8)
5、安全:ZigBee提供了基于循环冗余校验的数据包完整性检查功能,支持鉴权和认证,采用高级加密标准 (Advanced Encryption standard,AES)进行加密,各个应用可以灵活确定其安全属性。3.2 ZigBee协议栈结构 ZigBee协议栈结构(图)是基于标准OSI七层模型的,包括高层应用规范、应用汇聚层、网络层、媒体接入层和物理层。图 ZigBee 协议栈IEEE802.15.4定义了两个物理层标准,分别是2.4GHz物理层和868/915MHz物理层。两者均基于直接序列扩频(DirectSequenceSpread Spectrum,DSSS)技术。868MHz只有一个信
6、道,传输速率为20kb/s;902MHz928MHZ频段有10个信道,信道间隔为2MHz,传输速率为40kb/s。以上这两个频段都采用BPSK调制。2.4GHz2.4835 GHz频段有16个信道,信道间隔为5MHz,能够提供250kb/s的传输速率,采用O-QPSK调制。为了提高传输数据的可靠性,IEEE 802.15.4定义的媒体接入控制(MAC)层采用了CSMA-CA和时隙CSMA-CA信道接入方式和完全握手协议。应用汇聚层主要负责把不同的应用映射到ZigBee网络上,主要包括安全与鉴权、多个业务数据流的会聚、设备发现和业务发现。物理层物理层提供的服务是由硬件和软件共同实现的,定义了物理
7、无线信道(对于24GHz频段,有16个信道,编号为11-26)和MAC子层之间的接IZl,提供物理层数据服务(PLDE)和物理层管理服务(PLME)。通过该接1:3可以唤醒层管理服务功能,同时也负责维护与物理层相关的一些管理对象的数据库(PIB)。物理层通过物理层数据服务接入点(PDSAP)和物理层管理实服务接入点fPLMESAP)与MAC层通信,PDSAP支持在对等的MAC层实体间进行MAC协议数据单元传送,PLMESAP则在MAC层管理实体之间提供管理命令的传送。物理层主要完成如下任务:1无线收发机的激活与关闭:2当前信道的能量检澳1(Energy Detect,ED);3接受数据包的链路
8、质量标识(LQI);4为载波侦听多路访问冲突防_flz(CSMSCA)提供空闲信道评估(CCA):5工作信道选择;6数据发送和接收。信道能量检测为网络层提供信道选择依据,其值取值范围是0x000xFF。它主要测量目标信道中接受信号的功率强度,链路质量标识为网络层或应用层提供接受数据帧无线信号的强度和质量信息。MAC层与物理层类似,MAC层也包括管理实体(MLME)和数据实体(MLDE)。MAC层管理实体提供可以唤醒MAC层管理服务的服务接口,同时也维护一个与MAC层相关的管理对象数据库(MIB)。MAC层与物理层之间通过PLMESAP和PDSAP进行通信,通过MAC数据实体服务点(MLDESA
9、P)和MAC层管理实体服务接入点(MLMESAP)向qlt务相关子层提供MAC层数据和管理服务。另外,MAC层能支持多种LLC标准,通过业务相关会聚子层(SSCS)协议承载8022类型的LLC标准。MAC层功能如下:1当节点为网络协调器时,产生信标(beacon)帧;2在信标帧之间进行同步;3支持个人区域网(PAN)的关联与解关联;4支持节点安全机制;5对信道接入使用CSMACA机制;6处理和维护有保证的时隙(GTS)机制;7在两个对等的MAC实体问提供可靠的链接。Zigbee中的MAC和物理层协议是网状网络的应用基础,高容错和低功耗的特点能保证网状网络所必须考虑基于拓扑控制和功率控制的网络白
10、组特性。而且对于经典的隐藏终端和暴露终端问题、协议的接入公平性问题、服务质量问题等都有良好的解决。在网状网络中,MAC层的传输调度策略会影响数据包延迟、带宽等性能,影响网络层路由性能,所以网络层必须感知MAC层性能的变化,才可以自适应的方式改变路由,改善网络性能。网络层网络层对于Zigbee协议栈非常重要,每一个Zigbee节点都包含网络层,Zigbee网络层主要实现组建网络,为新加入网络访分配地址、路由发现、路由维护等。另外网络层还提供一些必要的函数,确保ZigBee的MAC层正常工作,并且为应用层提供合适的服务接口,这种结构使得网状网络的应用基本能够实现。为了向应用层提供其接口,网络层提供
11、了两个必须的功能服务实体,它们分别为网络数据服务实体(NLDE)和管理服务实体(NLME)。NLDE通过网络层数据服务实体服务接入点(NLMESAP)提供数据传输服务,网络层管理实体(NLME)通过网络层管理实体服务接入点(NLMESAP)提供网络管理服务。网络层管理实体利用网络层数据实体完成一些网络的管理工作,并且,网络层管理实体完成对网络信息庠(NIBl的维护和管理。应用层ZigBee 应用层由三个部分组成:应用子层(APS)、ZDO(包含ZDO管理寸骨)和制造商定义的应用对象(App Obj)。APS通过蚓络层和安全服务提供层与端点相接,并为数据传送、安全午口绑定提供服务,可以适配不同但
12、兼容的霄点,并且提供了这样的接口:在NWK层和APL层之间,从ZDO到供应商的应用对象的通用服务集。ZigBee中的应_|j框架(APL Framework)是为驻扎在zigBee节点巾的应用对象提供活动的环境。最多可以定义240个相对独立的应用程序对象(ZDO),任何个对象的端点编号从l到240,端点号0固定用于ZDO数据接口,应用程序可以通过这个端点与ZigBee怫议栈的其它层通信:另外一个端点255固定用于所有应用对象广播数数据的数据接口功能。端点241254保留(给为了扩展使片),用户不能使用1451。3.2.2 ZigBee 网络拓扑结构IEEE802.15.4和ZigBee协议中明
13、确定义了三种拓扑结构:星型结构(Star)、网状结构(Mesh)和簇树结构 (ClusterTrec),如图2.2所示。在星型网络结构中,ZigBee协调器负责整个网络的控制,无其它路由节点,ZigBee终端设备直接与zigBe。协调器通信,终端设备间的通信则需通过协调器转发。这是最简单的拓扑结构,网络通信范围十分有限,单独使用这种拓扑结构的情况很少。在网状网络和簇树型网络中,ZigBee协调器负责网络的建立和初始参数设定,网络都可以通过ZigBee路由器进行扩展。但是,在簇树型网络中,路由器采用分级路由策略传送数据和控制信息,并且通常是基于信标(Beacon)的通信模式。而在网状网中则是完全
14、对等的点对点通信,路由器不会定期发送信标,仅在网内设备要求时对其单播信标。对于簇树型网络,其通信路由相对单一,骨干网络中一旦有路由节点瘫痪,则相应区域就进入通信瘫痪状态,要等待该部分网络重组后,才能恢复通信。但是,簇树型网定期发送信标,使网内节点能做到很好的同步,便于节点定期进入休眠状态,降低功耗,延长网络寿命。在网状网中情况则恰好相反,完全的点对点通信使路由有多种选择,提高了网络的容错性,但是不定期发送信标使网络中节点很难达到同步,必须采取别的手段来实现,如广播。因此,网状结构与簇树结构的层次融合,必定是zigBee网络拓扑结构的一个发展方向。ZigBee组网技术ZigBee中,只有PAN协
15、调点可以建立一个新的ZigBee网络。当ZigBeePAN协调点希望建立一个新网络时,首先扫描信道,寻找网络中的一个空闲信道来建立新的网络。如果找到了合适的信道,ZigBee协调点会为新网络选择一个PAN标识符(PAN标识符是用来标识整个网络的,因此所选的PAN标识符必须在信道中是唯一的)。一旦选定了PAN标识符,就说明已经建立了网络,此后,如果另一个ZigBee协调点扫描该信道,这个网络的协调点就会响应并声明它的存在。另外,这个ZigBee协调点还会为自己选择一个16bit网络地址。ZigBee网络中的所有节点都有一个64bitIEEE扩展地址和一个16 bit网络地址,其中,16bit的网
16、络地址在整个网络中是唯一的,也就是802.15.4中的MAC短地址。ZigBee协调点选定了网络地址后,就开始接受新的节点加入其网络。当一个节点希望加入该网络时,它首先会通过信道扫描来搜索它周围存在的网络,如果找到了一个网络,它就会进行关联过程加入网络,只有具备路由功能的节点可以允许别的节点通过它关联网络。如果网络中的一个节点与网络失去联系后想要重新加入网络,它可以进行孤立通知过程重新加入网络。网络中每个具备路由器功能的节点都维护一个路由表和一个路由发现表,它可以参与数据包的转发、路由发现和路由维护,以及关联其它节点来扩展网络。ZigBee网络中传输的数据可分为三类:周期性数据,例如传感器网中
17、传输的数据,这一类数据的传输速率根据不同的应用而确定;间歇性数据,例如电灯开关传输的数据,这一类数据的传输速率根据应用或者外部激励而确定;反复性的、反应时间低的数据,例如无线鼠标传输的数据,这一类数据的传输速率是根据时隙分配而确定的。为了降低ZigBee节点的平均功耗,ZigBee节点有激活和睡眠两种状态,只有当两个节点都处于激活状态才能完成数据的传输。在有信标的网络中,ZigBee协调点通过定期地广播信标为网络中的节点提供同步;在无信标的网络中,终端节点定期睡眠,定期醒来,除终端节点以外的节点要保证始终处于激活状态,终端节点醒来后会主动询问它的协调点是否有数据要发送给它。在ZigBee网络中
18、,协调点负责缓存要发送给正在睡眠的节点的数据包。3.1.3 ZigBee网络协议栈框架zigBee协议栈采用分层结构。每一层都为其上一层提供一套明确的服务:数据实体提供数据传输服务,管理实体则提供其他所有的服务。每个服务实体都通过服务接入点 (Service Access Point,SAP)为上层提供一个接口,每个服务接入点都支持一定数量的服务原语来实现所需功能。ZigBee协议栈框架是在标准的开放式系统互联(Open Systems Interconnection,OSI)七层参考模型的基础上,根据市场和应用的实际需要定义的,如图2.3所示。正 EE802.巧.4标准定义了两个底层协议:物
19、理层(Physical layer,PHY)和媒体接入控制子层一 (Medium Access control sublayer,MAC)。在此基础上,ZigBee联盟定义了网络层(Network layer,NWK)和应用层(Application layer,APL)架构。应用层包含应用支持子层 (Application Support sublayer,APS)、应用架构 (Application Framework,AF),ZigBee设备对象(ZigBee Device objects,ZDO)和厂商定义的应用对象.3.2 ZigBee协议栈介绍3.2.1 IEEE 802.15.4
20、 物理层 IEEE802.15.4定义的物理层参考模型如图2.4所示。通过射频固件和射频硬件,物理层定义了MAC子层和物理信道间的接口,并提供两种服务:物理层数据服务和物理层管理服务。物理层数据服务实现了物理层协议数据单元(PHY Protocul Data Unit,PPDU)在物理信道上的发送和接收。在概念上,物理层含有一个管理实体,叫做物理层管理实体 (PHY layer Management Eniity,PLME)。这个实体提供了物理层管理功能得以执行的一些接口,同时,还负责维护物理层的个域网信息库(PAN infonnation Base,PIB)。物理层的两种服务分别通过两个接入
21、点来实现:物理层数据服务接入点 (PHY Data SAP,PD-SAP)和物理层管理实体服务接入点PLME-SAP)。PD-SAP实现了通信双方MAC子层实体间媒体接入控制协议数据单元 (MAC Protocol Data Unit,MPDU)的传输。PLME-SAP则实现了媒体接入控制子层管理实体 (MAC layer Management Entity,MLME)和PLME间管理命令的传输。根据 IEEE802.15.4定义,物理层主要实现如下功能:(1)激活和关闭射频收发器;(2)当前信道能量检测(Energy Detect,ED);(3)为接收数据包提供链路质量指示 (Link Qu
22、ality Indication,LQI);(4)为载波侦听多路访问免冲撞机制(Carrier Sensor Multiple Access with Collision Avoidance,CSMA-CA)提供空闲信道评估 (Clear Channel Assessment,CCA);(5)选择工作信道;(6)发送和接收数据。信道能量检测为网络层的信道选择算法提供依据,其取值范围是0x00-0xFF。它是信道中接收信号功率强度的一个评估,并没有对信号进行鉴别和解码的能力。链路质量指示的测量为接收数据包提供了其信号强度和质量信息,取值范围也是0x00-0xFF。当进行信道能量检测或信噪比评估时
23、,这一测量也会被执行,其测量结果会交给MAC子层。 IEEE 802.15.4规定了三种空闲信道评估的方法:第一种,以信道能量检测为依据,在设定了信道能量检测门限值的基础上,将当前检测值与门限值进行比较,若检测值高于门限值,则认为信道处于被占用状态;第二种,载波侦听,只要侦听到信道上有符合IEEE802.15.4的信号在传输就认为信道处于被占用状态。第三种则是前两种方法的综合。根据 IEEE802.15.4标准,ZigBee网络可以工作在3个频段的27个信道上,如表2.1所示。 3.2.2 IEEE 802.15.4 MAC子层图2.5给出了IEEE802.巧.4定义的MAC子层参考模型。MA
24、C子层定义了特定服务汇聚子层 (ServiceSpeeifieConve堪 encesublayer,SSCS)和物理层之间的接口,同样提供两种服务:MAC子层数据服务和MAC子层管理服务。MAC层数据服务实现了媒体接入控制协议数据单元 (MACProtocolDataUnit,MPDU)在物理层数据服务上的发送和接收。MAC子层同样在概念上包含一个管理实体,叫做MLME。这个实体提供了MAC子层管理功能得以执行的一些接口,同时,还负责璀护MAc子层的PIB。MAC子层的两种服务也分别通过两个接入点实现:媒体接入控制公共部分子层数据服务接入点 (MACCommonpartsublayerDat
25、as”,Meps一s妙)和媒体接入控制子层管理实体服务接入点(MLME一SAP)。MCPS.SA卫实现了通信双方SSCS实体IbJ特定服务汇聚子层协议数据单元 (SSCSProtocolDataUnit,sPDU)的传输。MLME.SA卫则实现了MLME与上一层间的管理命令的传输。根据正 EE802.15.4标准,MAC子层具有如下功能:(1)让协调器产生网络信标;(2)与信标同步;(3)支持孙创网络的关联(Assoeiation)和解除关联(Disassociation)操作;(4)支持设备安全机制;(5)使用CSMACA机制共享物理信道;(6)处理和维持保证时隙(Guaranteed叭 m
26、eSlot,GTS)机制;(7)为两个对等的MAC实体提供可靠的链路。关联操作是设备加入Zi少ee网络的途径之一。在这一过程中,设备从协调器或路由器处获取网络基本参数和网内16位短地址。而当设备离开网络或进行网络切换时,就执行解除关联操作。信标、保证时隙和超帧(Supe价ame)三者的关系如图2.6所示,它们的引入使ZigBee网络的低功耗实现成为可能。在乙gBee网络中,超帧是一种可选的机制。每个超帧都以协调器或路由器发出的信标为起始点。信标除了同步网内设备外,还包含了超帧的持续时间以及这段时间的分配等信息。在超帧结构中可以包含活动期和非活动期。活动期即超帧持续期 (SuperframeDu
27、ration,SD),这个时间段被均匀得分成16个时间槽 (Slot)。活动期以时间槽为单位又可被分为竞争接入期 (ContentionAccessPeriod,CAP)和非竞争接入期 (ContentionFreePeriod,CFP)。在CA尹中,任何需要进行通信的设备都利用CSMA.CA机制进行接入竞争。CFP是可选的,它由GTS组成,最多允许七个GTS,每个GTS可以占用多个时间槽。GTS的分配由每个超帧的信标帧给出,因此,在CFP时间段中设备的通信不基于CSMA.CA机制。超帧的非活动期也是可选的,在这一时间段内协调器或路由器不会与网内设备有任何通信,并有可能进入低功耗状态,如休眠状
28、态。是否使用超帧、是否存在CFP和非活动期、超帧持续期长短以及信标间隔长短等参数都在MAC子层的PIB中给出定义。2.2.321gBee协议网络层1.网络层结构及功能图2.7是ZigBee协议提供的网络层参考模型。网络层为 IEEE502.15.4MAC子层的正确操作提供保障,同时也为zigBee协议应用层提供合适的服务接口。网络层提供了两个概念上的实体来作为应用层的接口:网络层数据实体(NWK uyerDataEntity,NLDE)和网络层管理实体 (NWKuyerManagementEntity,NLME)。NLDE通过其服务接入点,即NLDE一SAP,提供数据传输服务。NLME则通过其
29、服务接入点,即NLME一SAP,提供管理服务。这两个实体间还存在一个隐藏的接口,使NLME能使用NLDE的数据传输服务来实现它的一些管理任务。此外,NLME还负责维护网络信息库 (NetworkhiformationBase,NIB)。ZigBee协议网络层通过必要的机制实现如下功能(1)加入和离开网络;(2)对帧信息采取安全机制;(3)路由帧信息到它们的目标地址;(4)发现和维护设备间的路由(5)发现单跳邻居;(6)存储相关的邻居信息。此外,zigBee协调器的网络层还必须具有发起一个新的zi叨ee网络和为新加入的设备分配16位短地址的功能。2.网络层数据实体NLDE需要提供一种服务来允许应
30、用程序在两个或多个设备间传输应用协议数据单元,这些设备必须属于同一个网络。NLDE提供如下服务:(1)生成网络层协议数据单元(N、 vKLayerprotocolDatauult,NpDU):NLDE必须有能力在应用支持子层协议数据单元 (APSProtocolDataUnit,APDU)的基础上,添加适当协议头来生成NPDU;(2)拓扑结构的特定路由:NLDE必须有能力将NPDU传送给一个合适的设备,该设备是通信的最终目标设备或者是通向最终目标设备的通信链上的下一个节点;(3)安全:有能力保证传输的真实性和保密性。3.网络层管理实体NLME负责提供允许应用程序与协议栈互相作用的管理服务,具体
31、如下:(1)配置一个新的设备:有能力根据所要求的操作有效配置协议栈。配置选项包括成为ZigBee协调器的操作和加入现存网络的操作;(2)启动网络:具有建立新网络的能力;(3)加入和离开网络:具有加入或离开网络的能力,以及在作为zigBee协调器或路由器时要求设备离开网络的能力;(4)地址分配:使zigBee协调器和路由器具有为加入网络的设备分配地址的能力;(5)邻居发现:具有发现、记录和报告设备单跳邻居信息的能力;(6)路由发现:具有发现和记录信息传输有效路径的能力(7)接收控制:使设备具有激活接收器及其工作时间长度的能力和使能MAC子层同步和直接接收的能力。 2.2.421gBee协议应用层
32、第2章 IEEE802.15.4标准与ZigBee协议.应用层结构根据“图 2.3ZigBee协议栈框架”,应用层由四部分组成:应用支持子层(APS)、应用架构(灯),zi少ee设备对象(zDO)和厂商定义的应用对象。2.应用支持子层结构及功能应用支持子层的参考模型如图2.8所示。应用支持子层通过一系列常规服务提供了网络层和应用层之间的接口。这些服务是通过应用支持子层数据实体(抑 plicationsupportsublayerDataEntity,妙s现)和应用支持子层管理实体 (APplicationsupportSublayerMana罗 mentEntity,APsME)来提供的,它们同时也
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1