zigbee协议概述
1.1.1ZigBee堆栈层
ZigBee堆栈是在IEEE 802.15.4标准基础上建立的,定义了协议的MAC和PHY层。ZigBee设备应该包括IEEE802.15.4(该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层:网络层(NWK)、应用层和安全服务提供层。图1-1给出了这些组件的概况。
图1-1 zigbe堆栈框架
每个ZigBee设备都与一个特定模板有关,可能是公共模板或私有模板。这些模板定义了设备的应用环境、设备类型以及用于设备间通信的簇。公共模板可以确保不同供应商的设备在相同应用领域中的互操作性。
设备是由模板定义的,并以应用对象(Application Objects)的形式实现(见图1-1)。每个应用对象通过一个端点连接到ZigBee堆栈的余下部分,它们都是器件中可寻址的组件从应用角度看,通信的本质就是端点到端点的连接(例如,一个带开关组件的设备与带一个或多个灯组件的远端设备进行通信,目的是将这些灯点亮)。
端点之间的通信是通过称之为簇的数据结构实现的。这些簇是应用对象之间共享信息所需的全部属性的容器,在特殊应用中使用的簇在模板中有定义。图1-1-2就是设备及其接口的一个例子:
每个接口都能接收(用于输入)或发送(用于输出)簇格式的数据。一共有二个特殊的端点,即端点0和端点255。端点0用于整个ZigBee设备的配置和管理。应用程序可以通过端点0与ZigBee堆栈的其它层通信,从而实现对这些层的初始化和配置。附属在端点0的对象被称为ZigBee设备对象(ZD0)。端点255用于向所有端点的广播。端点241到254是保留端点。所有端点都使用应用支持子层(APS)提供的服务。APS通过网络层和安全服务提供层与端点相接,并为数据传送、安全和绑定提供服务,因此能够适配不同但兼容的设备,比如带灯的开关。
APS使用网络层(NWK)提供的服务。NWK负责设备到设备的通信,并负责网络中设备初始化所包含的活动、消息路由和网络发现。应用层可以通过ZigBee设备对象(ZDO)网络
层参数进行配置和访问。
1.1.2于服务接入点
ZigBee协议栈体系包含一系列的层元件,其中有IEEE802.15.4 2003标准中的MAC层和PHY层,当然也包括ZigBee组织设计的NWK层和应用层。每个层的元件有其特定的服务功能。
ZigBee的体系结构由称为层的各模块组成。每一层为其上层提供特定的服务:即由数据服务实体提供数据传输服务;管理实体提供所有的其他管理服务。ZigBee堆栈的大多数层有两个接口:数据实体接口和管理实体接口。数据实体接口的目标是向上层提供所需的常规数据服务。管理实体接口的目标是向上层提供访问内部层参数、配置和管理数据的机制。
每个服务实体通过相应的服务接入点(SAP)为其上层提供一个接口,每个服务接入点通过服务原语来完成所对应的功能。
1.1.3zigbee中原语的概念
原语是层与层之间信息交互的接口,交互的信息就是原语的参数。原语只有四种类型:请求原语:Request,确认原语:Confirm,指示原语:Indication,响应原语:Response,其中Request和Response是从上层到下层的,Confirm和Indication是从下层到上层的。
举例:假如上层请求下层打开接收机,给下层一个request,下层完成请求的功能后,给上层一个Confirm,告诉上层正确完成了,或者出什么错了;
假如上层请求下层发送数据到Remote端,给下层一个数据发送的request,下层完成数据发送任备后,给上层一个Confirm告诉上层结果;在对端,对应的下层收到数据后,需要通过indication把收到的数据传给上层!
假如节点A要请求节点B的对等层的一个服务,给自己下层一个请求,下层将信息发送到节点B的对等层之后,节点B的下层用indication告诉上层,上层做出影响后,用Response 给到下层,节点B再发送到节点A的对等层,节点A的下层再用confirm原语要得到的信息返回给上层。
1.1.3 设备类型和角色
I EEE 802.15.4无线网络协议中定义了两种设备类型:全功能设备(FFD)和半功能设备(RFD)。FFD可以执行IEEE 802.15.4标准中的所有功能,并且可以在网络中扮演任何角色,那反过来讲,RFD就有功能限制。比如FFD能与网络中的任何设备通信,而RFD就只能和FFD通信。RFD设备的用途是为了做一些简单功能的应用,比如做个开关之类的。而其功耗与内存大小都比FFD要小很多。
在Zigbee网络中,节点分为三种角色:协调器、路由器和终端节点。其中Zigbee 协调者(coord)为协调者节点,每各Zigbe网络必须有一个。他的主要作用是初始化网络信息。Zigbee路由器(router)为路由节点,他的作用是提供路由信息。Zigbee终端节点(rfd 为终端节点),它没有没有路由功能,完成的是整个网络的终端任务。其中FFD可以扮演任何一个角色,而RFD只能扮演终端节点的角色。
图zigbee节点类型和角色
1.1.4 zigbee网络拓扑结构
ZigBee技术网络有两种网络拓扑结构:星型的拓扑结构和对等的拓扑结构。
Zigbee网络拓扑结构
星型拓扑网络结构有一个叫做PAN主协调器的中央控制器和多个从设备组成,主协调器必须为一个完整功能的设备,从设备既可为完整功能设备也可为简化功能设备,在实际应用中,应根据具体应用情况,采用不同功能的设备,合理的构造通信网络。在网络通信中,通常将这些设备分为起始设备或者终端设备,PAN主协调器既可作为起始设备、终端设备,也可以作为路由器,它是PAN网络的主要控制器。在任何一个拓扑网络上,所有设备都有唯一的64位长地址码,该地址码可以在PAN中用于直接通信,或者当设备发起连接时,可