Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2259164
  • 博文数量: 187
  • 博客积分: 1457
  • 博客等级: 上尉
  • 技术积分: 2423
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-13 09:41
个人简介

如需要绘制PCB,设计电路可以和我联系。sunhenu@163.com.

文章分类

全部博文(187)

文章存档

2017年(2)

2016年(2)

2015年(7)

2014年(13)

2013年(80)

2012年(83)

分类: 嵌入式

2013-04-20 12:05:11

原文地址:ZigBee 协议规范 作者:frankzfz

   ZigBee协议栈体系结构由应用层。应用汇聚层。 网络层。数据链路层和物理层组成,如下图所示:
 
图1 ZigBee 协议栈体系的层次结构
 
   应用层定义了各种类型的应用业务,是协议栈的最上层用户。应用汇聚层负责把不同的应用映射到ZigBee网络层上,包括安全与时鉴权、多个业务数据流的汇聚、设备发现和业务发现。网线层的功能包括拓扑管理、MAC管理、路由管理和安全管理。
1. 数据链路层
   数据链路层以可分为逻辑链路控制子层(LLC Logic Link Control)和介质访问控制子层(Medium Access Control,  MAC)。IEEE802.15.4的LLC子层功能包括传输可靠性保障、数据包的分段与重组、数据包的顺序传输。IEEE802.15.4MAC子层功能包括设备间无线链路的建立、和拆除,确认的帧传送与接收,信道接入控制、帧校验、预留时隙管理和广播信息管理。
2.     物理层和MAC层
   ZigBee直接使用了IEEE802.15.4标准的物理层和MAC层。ZigBee工作 在三种不同的频带上,欧洲的868MHz频带,美国的915MHz频带和全球通用的2.4GHz频带。968MHz频带上、915MHz频带和2.4GHz频带的物理层并不相同,它们各自的信道带宽分别是0.6MHz,2MHz和5MHz,分别有1个、10个和16处信道。不同频带的扩频和调制方式也有所区别,虽然都是使用了直接序列扩频(DSSS)的方式。但是比特到码片的变换方式有比较大的差别;调制方面都使用了调相技术,但868MHz和915MHz频段采用的是BPSK,而2.4GHz频段采用的是OQPSK。
   ZigBee网络组网可以灵活地采用多种拓扑结构,可以采用星形,可以采用网状和树簇状拓扑等。如下图所示:
图2 星形拓扑结构
图3 树状拓扑结构
图4  网状拓扑结构
    星形拓扑具有组网简单、成本低;但网络覆盖范围小,一旦中心节点发生故障,所有与中心节点连接的传感器节点与网络中心的通信都将中断,星形拓扑组网时,电池使用寿命较长,网状拓扑组网可靠性高、覆盖范围大的优点,但电波使用寿命短、管理复杂。树簇形拓扑综合了以上两种拓扑的特点,相对讲会使ZigBee网络灵活、高效。
        ZigBee/IEEE802.15.4网络中所有节点都工作在同一个信道上,当讨论某个节点要向另一个节点传输数据时,如果网络内其他节点音下在通信并发送数据,就有可以发生冲突。为此,在MAC层采用了CSMA/CA的媒质访问控制技术,简单来说,就是节点在发送数据之前先监听信道,如果信道空闲,则可以发送数据,否则,就要进行随机的退避,即延迟一段随机时间,然后再进行监听,这个退避的时间是指数增长的,但有一个最大值,即如果上一次退避之后再次监听信道忙,则退避时间要增倍,这们做的原因是如果多次监听信道都忙,有可能表明信道上的数据量大,因此让节点等待更多的时间,避免繁忙的监听,通过这种信道接入技术,所有节点竞争共享同一个信道。在MAC层当中还规定了“超帧”的格式,在超帧的开始发送信标帧,里面含有一些时序以及网络的信息,紧接着是竞争接入时期,在这段时间内各节点以竞争方式接入信道,再后面是非竞争接入时期,节点采用时分复用的方式接入信道,然后是非活跃时期,节点进入休眠状态,等待下一个超帧周期的开始以发送信标帧。而非信标模式则比较灵活,节点均以竞争方式接入信道,不需要周期性的发送信标帧。显然,在信标模式当中由于有了周期性的信标,整个网络的所有节点都能进行同步,但这咱同步的规模不会很大。实际上,在ZigBee当中用的更多的可能是非信标模式。
1.    网络层
(1)       网络拓扑结构。ZigBee网络组网可以灵活地采用多种拓扑结构,可以采用星形,可以采用网状和树簇状拓扑等。在星形拓扑结构组网时,整个网络有一个ZigBee 协调器设备来进行整个网络的控制,ZigBee协调器能启动和维持网络的正常工作,使网络内的终端设备实现通信,如果采用网状和树形拓扑结构组网,ZigBee协调器则负责启动网络以及选择关键的网络参数。在树形网络中,路由器采用分级路由策略来传送数据和控制信息。网状网络中,设备之间使用完全对等的通信方式。ZigBee路由器不发送通信信标。
(2)       网络层及路由算法。ZigBee网络层的功能包括拓扑管理 MAC管理、路由管理和安全管理。网络层的主要功能是路由管理,路由算法是它的核心 。网络层主要支持两种路由算法-----树状路由和网状路由。
(3)       网络层中各部分的数据接口和网络层服务功能
1)  网络层中各部分的数据接口。ZigBee网络层的各个组成部分和彼此间的接口关系如下图
   
                图5 ZigBee 网络层的各个组成部分和彼此间接口关系
 
    图中的NLDE-SAP是网络层数据实体的服务接入点,MLME-SAP是网络层管理实体的服务接入占,MCPS-SAP是媒体接入控制公共部分子层的服务接入点,MALME-SAPMAC子层管理实体的服务接入点。
    网络层通过两种服务接入点提供网络层数据服务和网络层管理服务,层数据服务通过层数据实体服务接入点接入,网络层管理服务通过网络层管理实体服务接入点接入、这两种服务通过媒体接入控制公共部分子层的服务接入点和MAC子层管理实体的服务接入点为MAC层提供接口;通过网络层数据实体的服务接入点和MAC子层管理实体的服务接入点为应用层实体提供接口服务。
2)  网络层服务功能。网络层要为IEEE802.15.4MAC子层提供支持,确保ZigBeeMAC层正常工作,并为应用层提供合适的服务接口。为了向应用层提供其接口,层提供了两个必需的功能服务实体,它们分别为数据服务实体和管理服务实体。网络层数据实体(NLDE)通过网络层数据实体服务接入点(NLDE-SAP)提供数据传输服务。网络层管理实体(NLME)通过网络层管理实体服务接入点(NLME-SAP)提供网络管理服务。
     网络层数据实体提供的服务
l         产生网络层协议数据单元(NPDU),网络层数据实体通过增加一个适当的协议头,从应用支持层协议数据单元中生成网络层的协议数据单元。
l         指定拓扑传输路由,网络层数据实体能够发送一个网络层的协议数据协议数据单元到一个数据传输的目标终端设备,目标终端设备也可以是通信链路中的一个中间通信设备。
     网络层管理实体提供的服务
  • 配置一个新的设备。为保证设备正常工作的需要,设备应具有足够的堆栈,以满足配置的需要。配置选项包括对一个ZigBee协调器和连接一个现有网络设备的初始化操作。
  • 加入或离开网络。具有连接或者断开一个网络的能力,以及建立一个ZigBee协调器或者ZigBee路由器,具有要求设备同网络断开的能力。
  • 寻址。ZigBee协调器和ZigBee路由器具有为新加入网络的设备分配地址的能力。
  • 邻居发现。具有发现。记录和汇报相关的一跳邻居设备信息的能力
  • 接收控制。具有控制设备接收机接收状态的能力,即控制接收机什么时间接收。接收时间长短,以保证MAC层的同步或者正常接收等
(4)       原语 在分层的通信协议中,层之间通过服务访问点SAP相连,每一屋都可以通过本层和下层的SAP调用下层为其提供相应的服务,同时通过与上层的SAP为上层提供相应的服务。访问点SAP有通信协议中层与层之间的为通信接口,但具体的服务是以通信原语的形式供上层调用的。在调用下层服务时,只需要遵循统一的原语规范,而不必了解下层是怎样处理原语的,通过这咱方式实现了数据层与层之间的透明传输。层与层之间的原语分成请求原语,确认原语,指示原语和响应原语
(5)       网络层管理服务。网络层管理实体服务接入点为其上层和网络层管理实体之间传送管理命令提供通信接口,网络层管理实体支持NLME-SAP接口原语,这些原语包括网络发现、网络的形成、允许设备连路由器初始化、设备同网络的连接等原语。
(6)       网络层帧格式。ZigBee网络帧由下列基本部分组成:网络层帧报头,包含帧控制、地址和序列信息;第二个部分是,网络层帧的可变长有效栽荷,包含帧类型所指定的信息。
 
图 6 通用的网络层帧格式
 
1)  通用网络层帧的结构与格式,网络层帧的格式由一个网络层报头和一个网络层网负载组成。帧头部分域的顺序是固定的,但根据不同的具体应用情况,不是必须包括所有域。通用网络层帧格式所示:
2)  不同域的说明:
  • 帧控制域。由16位组成,内容包括帧类型、地址、序列域以及其他的控制标记。
  • 目地地址域。在网络层帧中,必须要有目的地址域,该域长度两个字节,用来存放目标设备的网络地址或广播地址(0xffff.
  • 源地址域。在网络层帧中,该域也是必备的,长度为两个字节,其值是16位的源设备网络地址
  • 广播半径域。广播半径域在帧的目的地址为广播地址时才存在,长度一个字节。该域用来设定传输半径。
  • 序列号域。在网络层帧中,该域是必备的,长度一个字节,每次发送帧时改为加1.
  • 帧负载域。该域长度可变,包含了各种帧的具体信息。
4. 应用层规范
 ZigBee协议栈的层级有IEEE802.15.4MAC、物理层(PHY)以及ZigBee网络层,网络层上面是应用层。
 网络层的頉是应用层,包括APSApplication Support Layer:应用支持子层)和ZDOZigBee设备对象:ZigBee Device Object)等部分,主要规定了一些和应用相关的功能,包括端点(Endpoint)的规定,还有绑定(Binding)、服务发现和设备发现等。
APS子层的任务包括维护绑定表和绑定设备间消息传输;绑定指的是根据两个设备所提供的服务和它们的需求将两个设备关联起来。
(1)       ZigBee应用支持子层。应用支持子层(APS)是网络层和应用层之间接口。通过此接口可以调用一系列被ZDO和用户自定义应用对象的服务
(2)       ZigBee设备协定。ZigBee应用层规范描述了ZigBee设备的绑定、设备发现和服务发现在ZigBee设备对象(ZDO)中的实现方式,ZigBee设备协定(devic profile)支持以下几种设备间通信功能:
1)  设备和服务发现
2)  终端设备绑定请求过程
3)  绑定和接触绑定过程
4)  网络管理
(3)       ZigBee设备对象。ZigBee设备对象(ZDO)是一种通过调用网络和应用支持子层原语来实现ZigBee规范中规定的ZigBee终端设备。ZigBee路由器能及ZigBee协调器的应用。ZigBee设备对象ZDO主要功能:
1)  APS子层、网络层、安全服务模块(SSP)以及除了应用层中端点1~~240以外的ZigBee设备层和初始化
2)  集成终端应用的配置信息,实现设备服务发现、网络管理、网络安全、绑定管理和节点管理等功能。
  上面主要是简单的描述了ZigBee中各层之间的相互关系和作用,希望对以后的学习有帮助。
阅读(879) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~