1 ZigBee技术的渊源
ZigBee是一种新兴的短距离、 低速率无线网络技术。 ZigBee名字来源于蜂群使用的赖以生存和发展的通信方式, 蜜蜂通过跳z形状的舞蹈来分享新发现的食物源的位置、 距离和方向等信息。 ZigBee先前亦被称为HomeRF Lite、 RF-EasyLink或FireFly无线电技术, 目前统一称为ZigBee。
ZigBee 网 络 架 构 如 图 1 所 示 。 ZigBee 联 盟 在IEEE802.15.4的介质访问控制层MAC和物理层PHY之上定义了ZigBee网络的Network and Security (网络层和安全层) 和Appliaction Interface (应用层)的技术标准。 IEEE和ZigBee联盟共同催生了ZigBee技术协议, 并且最终免费向全世界公开。
2 ZigBee网络拓扑和设备类型
ZigBee网络支持星状网、 树状网和网状网3种网络拓扑结构, 定义了网络协调器 (Coordinator)、 路由器 (Router) 和终端设备 (End Device) 3种设备类型。 网络协调器是整个ZigBee网络建立的发起者和管理者, 它管理ZigBee设备节点的准入与退出,网络地址的动态分配, 对整个ZigBee网络进行维护。每个独立的ZigBee网络只允许一个惟一的网络协调器来管理和维护整个ZigBee网络。 路由器和终端设备是一般的ZigBee设备, 路由器不但具有一般的端设备的功能, 而且还有路由功能, 而终端设备没有路由功能, 但可以工作在睡眠模式。
3 ZigBee协议堆栈结构
以Chipcon公司提供的基于CC2420芯片的ZigBee协议堆栈为例, ZigBee协议堆栈结构如图2所示。
ZigBee堆栈使用了IEEE802.15.4 的介质访问控制层MAC和物理层PHY。 ZigBee堆栈层之间及与IEEE802.15.4 MAC之间通过服务通道 (SAP) 进行通信。 SAP是层与层之间进行通信的接口, 不同层与层之间有各自的SAP。 堆栈中的多数层都为自己的上层提供保留一个数据实体SAP和管理实体SAP,数据实体SAP完成一般的数据传输, 管理实体SAP完成网络管理数据的传输。
物理层PHY使用了2.4 GHz和868/915 MHz两个不同的物理层。 它们都使用DSSS (Direct SequenceSpread Spectrum, 直接序列扩频 )技术 , 物理层数据包格式相同。 2个物理层的区别在于工作频率,扩频码片长度和传输速率。 2.4 GHz波段为全球统一的无需申请的ISM频段, 采用高阶调制技术提供250 kb/s的传输速率 。 868 MHz是欧洲的 ISM 频段 ,能提供20 kb/s的传输速率。 915 MHz是美国的ISM频段, 能提供40 kb/s的传输速率。 物理层PHY给上层介质访问层提供了物理层数据实体服务通道PD-SAP和物理层管理实体服务通道PLME-SAP两个接口, 与MAC层进行数据交换。
ZigBee的网络层主要负责网络层数据安全管理、路由管理、 网络管理。 ZigBee协议中, 设备类型不同, 其对应的NWK层的功能有所不同, 网络协调器的NWK层主要负责网络的建立、 为允许加入该网络的ZigBee设备分配16位的网络地址、 设备节点的退出等网络管理功能。 协调器的网络地址固定为0。
网络层通过介质访问控制层数据实体-服务通道MLDE_SAP 和 介 质 控 制 层 管 理 实 体 - 服 务 通 道MLME_SAP 这两类 SAP, 与下层介质访问控制层MAC 完成通信 。 通过网络层数据实体 - 服务通道NLDE_SAP 和 网 络 层 管 理 实 体 - 服 务 通 道NLME_SAP, 与 应 用 支 持 子 层 APS 层 进 行 通 信 。NLDE_SAP为应用支持子层APS层提供数据传输请求和确认, 以及向APS层提供远程设备通信请求服务。NLME_SAP为应用支持子层ASP提供加入网络请求和确认, 允许加入网络请求, 确认, 网络发现, 建立请求, 确认等网络管理服务。
ZigBee的应用层包含应用支持子层 (Applica-tion Support Sublayer) APS、 ZigBee设备对象 (Zig-Bee Device Object) ZDO和厂商自定义的应用设备对象层 (Application Object)。
应用支持子层APS层是网络层和应用层的中间层, 直接服务于ZDO和厂商自定义的应用对象。 应用支持子层APS层维护绑定表、 APS层数据安全管理和对网络中间接寻址消息的映射管理。 APS层通过APS数据实体-服务通道 (APSDE-SAP) 和APS管理实体-服务通道 (APSME-SAP) 两个实体, 对上层AF和ZDO层提供服务。 APS层通过APSDE_SAPEndpoit和AF层 、 ZDO完成通信 。 Endpoit是对网络地址的一种扩展, 是一组8位二进制整数。