zigbee技术原理.ppt
《zigbee技术原理.ppt》由会员分享,可在线阅读,更多相关《zigbee技术原理.ppt(129页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、理解Zigbee网络结构。掌握IEEE802.15.4通信层。掌握MAC层和网络层帧结构。掌握Zigbee网络层服务规范。掌握Zigbee应用层规范。本章主要介绍Zigbee技术原理,这是更深入了解Zigbee协议的应用以及后续开发的基础。2.1 概述概述Zigbee技术是一种低数据传输速率的无线个域网,网络的基本成员称为设备。网络中的设备按照各自作用的不同可以分为协调器节点、路由器节点和终端节点。2.2 Zigbee网络结构网络结构Zigbee网络协调器是整个网络的中心,它的功能包括建立、维持和管理网络,分配网络地址等。所以可以将Zigbee网络协调器认为是整个Zigbee网络的“大脑”。Z
2、igbee网络路由器主要负责路由发现、消息传输、允许其他节点通过它接入到网络。Zigbee终端节点通过Zigbee协调器或者Zigbee路由器接入到网络中,Zigbee终端节点主要负责数据采集或控制功能,但不允许其他节点通过它加入到网络中。本节将重点介绍Zigbee网络体系、Zigbee网络拓扑结构和Zigbee协议架构。2.2.1 网络体系 按照OSI模型,Zigbee网络分为4层,从下向上分别为物理层、媒体访问控制层(MAC)、网络层(NWK)和应用层。其中物理层和MAC层由IEEE802.15.4标准定义,合称IEEE802.15.4通信层;网络层和应用层由Zigbee联盟定义。图2-1
3、所示为Zigbee网络协议架构分层,每一层向它的上层提供数据和管理服务。图2-1 Zigbee网络体系架构2.2.2 拓扑结构Zigbee网络支持三种拓扑结构:星型、树型和网状型结构,如图2-2所示。其中:在星型拓扑结构中,所有的终端设备只和协调器之间进行通信。树型网络由一个协调器和多个星型结构连接而成,设备除了能与自己的父节点或子节点互相通信外,其他只能通过网络中的树型路由完成通信。图2-2 Zigbee网络拓扑结构网状型网络是在树型网络的基础上实现的。与树状网络不同的是,它允许网络中所有具有路由功能的节点互相通信,由路由器中的路由表完成路由查寻过程。(1). 星型网络的形成过程在星型网络中
4、,协调器作为发起设备,协调器一旦被激活,它就建立一个自己的网络,并作为PAN协调器。路由设备和终端设备可以选择PAN标识符加入网络。不同PAN标识符的星型网络中的设备之间不能进行通信。(2). 树型网络的形成过程在树型网络中,由协调器发起网络,路由器和终端设备加入网络。设备加入网络后由协调器为其分配16位短地址,具有路由功能的设备可以拥有自己的子设备。但是在树型网络中,子设备只能和自己的父设备进行通信,如果某终端设备要与非自己父设备的其他设备通信,必须经过树型路由进行通信。(3). 网状型网络的形成过程在网状型网络中,每个设备都可以与在无线通信范围内的其他任何设备进行通信。理论上任何一个设备都
5、可定义为PAN主协调器,设备之间通过竞争的关系竞争PAN主协调器。但是在实际应用中,用户往往通过软件定义协调器,并建立网络,路由器和终端设备加入此网络。当协调器建立起网络之后,其功能和网络中的路由器功能是一样的,在此网络中的设备之间都可以相互进行通信。2.2.3 协议架构(重点、难点)协议架构(重点、难点)Zigbee网络协议体系结构如图2-3所示,协议栈的层与层之间通过服务接入点(SAP)进行通信。 SAP是某一特定层提供的服务与上层之间的接口。 大多数层有两个接口:数据服务接口和管理服务接口。数据服务接口的目标是向上层提供所需的常规数据服务;管理服务接口的目标是向上层提供访问内部层参数、配
6、置和管理数据服务。Zigbee协议体系架构是在IEEE802.15.4标准的基础上建立的,IEEE802.15.4标准定义了Zigbee协议的物理层和MAC层。因此Zigbee设备应该包括IEEE802.15.4的物理层和MAC层以及Zigbee堆栈层,其中Zigbee堆栈层包括Zigbee联盟定义的网络层和应用层以及安全服务商提供的安全服务层。1. 物理层和MAC层IEEE802.15.4标准为低速率无线个人域网定义了OSI模型最底层的两层,即物理层和MAC层,也是Zigbee协议底部的两层,因此这两层也称为IEEE 802.15.4通信层。其详细内容见2.3节。图2-3 Zigbee协议体
7、系架构2. 网络层网络层提供保证IEEE802.15.4 MAC层正确工作的能力,并为应用层提供合适的服务接口,包括数据服务接口数据服务接口(MCPS)和管理服务接口管理服务接口(MLME)。数据服务接口的作用数据服务接口的作用主要有两点: 一是为应用支持子层的数据添加适当的协议头以便产生网络协议数据单元。 二是根据路由拓扑结构,把网络数据单元发送到通信链路的目的地址设备或通信链路的下一跳地址。管理服务接口的作用管理服务接口的作用有以下两点:提供的服务包括配置新设备、创建新网络、设备请求加入或者离开网络。允许Zigbee协调器或路由器请求设备离开网络、寻址、路由发现等功能。3. 应用层应用层包
8、括三部分:应用支持子层应用支持子层(APS)、Zigbee设备对象(ZDO)和厂商定义的应用对象。应用支持子层提供了网络层和应用层之间的接口,包括数据服务接口数据服务接口和管理服务接口管理服务接口。其中管理服务接口提供设备发现服务和绑定服务,并在绑定的设备之间传送消息。Zigbee设备对象设备对象功能包括:定义设备在网络中的角色(比如协调器、路由器或终端设备),发起和响应绑定请求,在网络设备之间建立安全机制。另外,还负责发现网络中的设备,并且向他们提供应用服务。厂商定义的应用对象功能包括:提供一些必要函数,为网络层提供合适的服务接口。另外一个重要的功能是应用者可以在这层定义自己的应用对象。IE
9、EE802.15.4规范满足国际标准组织(ISO)开放系统互联(OSI)参考模式,它定义了Zigbee的物理层和物理层和MAC层层。2.3 IEEE802.15.4通信层通信层2.3.1 物理层物理层负责的主要功能包括:工作频段的分配,信道的分配以及为MAC层服务提供数据服务和管理服务。1. 工作频段的分配IEEE802.15.4定义了两个物理标准,分别是2450MHz(一般称为2.4GHz)的物理层和868/915MHz的物理层。它们基于直接序列扩频,使用相同的物理层数据包格式,区别在于工作频段、调制技术和传输速率的不同。2.4GHz是全球统一的无需申请的ISM频段,有助于Zigbee设备的
10、推广和生产成本的降低。此频段的物理层通过采用高阶调制技术能够提供250kb/s的传输速率,有助于获得更高的吞吐量、更小的通信延时和更短的周期,达到节约能源的目的。另外此频段提供16个数据速率为250kb/s的信道。868MHz是欧洲的ISM频段,915MHz是美国的ISM频段,这两个频段的引入避免了2.4GHz附近各种无线通信设备的相互干扰。868MHz的传输速率为20kb/s,915MHz的传输速率是40kb/s。这两个频段上无线信号传播损耗较小,可以降低对接收灵敏度的要求,获得较远的通信距离。在868/915MHz频段中,868MHz支持1个数据速率为20kb/s的信道,915MHz支持1
11、0个数据速率为40kb/s的信道。2. 信道的分配IEEE802.15.4物理层在三个频段上划分了27个信道,信道编号k为026。2.4GHz频段上划分了16个信道,915MHz频段上有10个信道,868MHz频段只有1个信道。27个信道的中心频率和对应的信道编号定义如下:3. 物理层服务规范物理层服务规范物理层的主要功能是在一条物理传输媒体上,实现数据链路实体之间透明地传输各种数据比特流。它提供的它提供的主要服务主要服务包括:物理层连接的建立、维持与释放,物理服务数据单元的传输,物理层管理,数据编码。物理层功能涉及“服务原语”和“服务访问接口”两个概念,它们的意义如下所述。 服务原语:服务原
12、语:Zigbee协议栈是一种分层结构,从下至上第从下至上第N层向第层向第N + 1层或者第层或者第N + 1层向第层向第N层提供一组操作层提供一组操作(也也叫服务叫服务),这种,这种“操作操作”叫做服务原语叫做服务原语。它一般通过一段不可分割的或不可中断的程序实现其功能。服务原语用以实现层和层之间的信息交流。 服务访问接口服务访问接口:服务访问接口(Service Access Point,SAP)是某一特定层提供的服务与上层之间的接口。这里所说的“接口接口”是指不同功能层的是指不同功能层的“通信规则通信规则”。例如,物理层服务访问接口是通过射频固件和硬件提供给MAC层与无线信道之间的通信规则
13、。服务访问接口是通过服务原语实现的,其功能是为其他层提供具体服务。注意:这里要区分区分“服务原语服务原语”和和“协议协议”的区别的区别:“协议”是两个需要通信的设备之间的同一层之间如何发送数据、如何交换帧的规则,是“横向”的;而“服务原语”是“纵向”的层和层之间的一组操作。IEEE 802.15.4标准的物理层所实现的功能物理层所实现的功能包括数据的发送与接收、物理信道的能量检测、射频收发器的激活与关闭、空闲信道评估、链路质量指示、物理层属性参数的获取与设置。这些功能是通过物理层服务访问接口来实现的,物理层主要有两种服务接口(SAP):物理层管理服务访问接口管理服务访问接口(Physical
14、Layer Management Entity,简称,简称PLME-SAP),PLME-SAP除了负责在物理层和MAC层之间传输管理服务之外,还负责维护物理层PAN信息库(PHY PIB)。物理层数据服务访问接口(Physical Data SAP,简称PD-SAP),PD-SAP负责为物理层和MAC层之间提供数据服务。PLME-SAP和PD-SAP通过物理层服务原语实现物理层的各种功能,如图2-4所示。图2-4 物理层参考模型4. 数据的发送与接收数据的发送与接收数据的发送和接收是通过PD-SAP提供的PD-DATA原语完成的,它可以实现两个MAC子层的MAC协议数据单元(MAC Proto
15、col Data Unit,MPDU)传输。IEEE802.15.4标准专门定义了三个与数据相关的原语原语:数据请求原语(PD-DATA.Request),数据确认原语(PD-DATA. comfirm)数据指示原语(PD-DATA.Indication)。语法见P18内容5. 物理能量信道的检测物理能量信道的检测协调器在构建一个新的网络时构建一个新的网络时,需要扫描所有信道(在MAC层这种扫描称作ED_SCAN),然后为网络选择一个空闲的信道,这个过程在底层是借助物理信道能量检测来借助物理信道能量检测来完成的完成的。如果一个信道被别的网络占用,体现在信道能量上的值是不一样的。IEEE802.
16、15.4标准定义了与之相关的两个原语:能量检测请求原语(PLME_ED.request)能量检测确认原语(PLED-ED.confirm)。能量检测请求原语由MAC子层产生。能量检测请求原语为一个无参的原语,语法如下:PLME-ED.request( )。收到该原语后,如果设备处于接收使能状态,PLME就指示物理层进行能量检测(ED)。能量检测确认原语由物理层产生,物理层在接收到能量检测原语后把当前信道状态以及当前信道的能量值返回给MAC子层。语法如下:PLME-ED.confirm( status, Energy Level )其中状态参数status将指示能量检测失败的原因(TRX_OFF
17、或TX_ON),如果设备处于收发关闭状态(TRX_OFF)或发送使能状态(TX_ON)时,则无法进行能量检测。在具体实现中,一般射频芯片会使用特定的寄存器存放当前的信道状态以及信道的能量值。 注意:在Zstack协议栈中,用户往往会提前指定信道的使用,以便于Zigbee网络的管理和维护。6. 射频收发器的激活与关闭射频收发器的激活与关闭为了满足低功耗要求,在不需要无线数据收发时,可以选择关闭底层射频收发器。802.15.4标准定义了两个相关的原语:收发器状态设置请求原语收发器状态设置请求原语(PLME-SET-TRX-STATE. request) 收发器状态设置确认状态设置确认原语(PLME
18、-SET-TRX-STATE.confirm)收发器状态设置请求原语由MAC子层产生。语法如下:PLME-SET-TRX-STATE.request( status )其中参数为需要设置的目标状态目标状态,包括:射频接收打开 (RX_ON)、发送打开 (TX_ON)、收发关闭 (TRX_OFF)强行收发关闭 (FORCE_TRX_OFF)。物理层在接收到收发器状态设置确认收发器状态设置确认原语后,将射频设置为对应的状态,并通过设置确认原语返回才做结果。语法如下:PLME-SET-TRX-STATE.confirm( status )其中参数status的取值为SUCCESSRX_ONTRX_O
19、FFTX_ONBUSY_RX或BUSY_TX。7. 空闲信道评估空闲信道评估(Clear Channel Assessment,CCA)由于802.15.4标准的MAC子层采用的是CSMA/CA机制访问信道,需要探测当前的物理信道是否空闲需要探测当前的物理信道是否空闲,物理层提供的CCA检测功能就是专门为此而定义的。此功能定义的两个与之相关的原语为:CCA请求原语(PLME-CCA.request)CCA确认原语(PLME-CCA.confirm)。CCA请求原语由MAC子层产生,语法为:PLME-CCA.request(),是一个无参的请求原语无参的请求原语,用于向物理层询问当前的信道状况。
20、在物理层收到该原语后,如果当前的射频收发状态设置为接收状态,将进行CCA操作(读取物理芯片中相关的寄存器状态)。CCA确认原语由物理层产生,语法如下:PLME-CCA.confirm( status )通过CCA确认原语返回信道空闲或者信道繁忙状态空闲或者信道繁忙状态。如果当前射频收发器处于关闭状态或者发送状态,CCA确认原语将对应返回TRX_OFF或或TX_ON。8. 链路质量指示链路质量指示高层的协议往往需要依据底层的链路质量来选择路由,物理层在接收一个报文的时候,可以顺带返回当前的LQI值,物理层主要通过底层的射频硬件支持来获取LQI。MAC软件产生的软件产生的LQI值可以用信号接收强度
21、指示器(RSSI)来表示。9. 物理层属性参数的获取与设置物理层属性参数的获取与设置在Zigbee协议栈里面,每一层协议都维护着一个信息库(PAN information base,PIB)用于管理该层,里面具体存放着与该层相关的一些属性参数,如最大报文长度等。在高层可以通过原语获取或者修改下一层的信息库里面的属性参数。IEEE802.15.4物理层也同样维护着这样一个信息库,并提供4个相关原语:属性参数获取获取请求(PLME-GET.request)。属性参数获取获取确认原语(PLME-GET.confirm)。属性参数设置设置请求原语(PLME-SET.request)。属性参数设置设置确
22、认原语(PLME-SET.confirm)。2.3.2 MAC层前述物理层负责信道的分配,而而MAC层负责无线信层负责无线信道的使用方式道的使用方式,它们是构建Zigbee协议底层的基础。1. MAC功能功能概述IEEE802.15.4标准定义MAC子层具有以下几项功能:采用CSMA/CA机制来访问信道。PAN(Personal Area Network,个域网)的建立和维护。支持PAN网络的关联(即加入网络)和解除关联(退出网络)。 协调器产生网络信标帧,普通设备根据信标帧与协调器同步。处理和维护保证GTS(Guaranteed Time Slot,同步时隙)。在两个对等MAC实体间提供可靠
23、链路。 2. MAC层服务规范MAC层包括MAC层管理服务(MLME)和数据服务(MCPS)。MAC层参考模型如图2-5所示。图2-5 MAC层参考模型MAC管理服务可以提供调用MAC层管理功能的服务接口,同时还负责维护MAC PAN信息库(MAC PIB)。MAC数据服务可以提供调用MAC公共部分子层(MCPS)提供的数据服务接口,为网络层数据添加协议头网络层数据添加协议头,从而实现实现MAC层帧数据层帧数据。除了以上两个外部接口外,在MCPS和MLME之间还隐含了一个内部接口内部接口,用于MLME调用MAC管理服务。MAC子层具体功能子层具体功能的实现如下所述。 1) CSMA/CA的工作
24、原理 2) PAN的建立和维护 3) 关联和解除关联4) 信标帧2.3.3 MAC帧的结构MAC帧即MAC协议数据单元(MPDU),是由一系列字段按照特定的顺序排列而成的。设计目标是在保持低复杂度的前提下实现在噪声信道上的可靠数据传输。MAC层帧结构分为一般格式和特定格式。1. MAC帧的一般结构MAC帧的一般格式,即所有的MAC帧都由三部分组成:MAC帧头(MHR)、MAC有效载荷和MAC帧尾(MFR)。如图2-6所示。图2-6 MAC帧的一般格式其中,MAC帧头部分由帧控制字段和帧序号字段组成;MAC有效载荷由地址信息和特定帧(例如数据帧、命令帧、信标帧、确认帧)的有效载荷组成,MAC有效
25、载荷的长度与特定帧类型相关(例如确认帧的有效载荷部分长度为0);MAC帧尾是校验序列(FCS)。图2-6中的各部分解释如下。1) 帧控制帧控制帧控制字段的长度为16位,共分为9个子域。帧控制字段的格式如图2-7所示。帧类型子域占3位:000表示信标帧,001表示数据帧,010表示确认帧,011表示MAC命令帧,其他取值预留。安全使能子域占1位:0表示MAC层没有对该帧做加密处理;1表示该帧使用了MACPIB中的密钥进行保护。数据待传指示:1表示在当前帧之后,发送设备还有数据要传送给接收设备,接收设备需要再发送数据请求命令来索取数据;0表示发送数据帧的设备没有更多的数据要传送给接收设备。确认请求
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- zigbee 技术 原理
限制150内