首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

ZigBee网络结构及协议分析

作者:庄严 来源:电子技术与软件工程

摘 要 目前,在WSN的无线通信方面可以采用的主要有ZigBee、蓝牙、Wi-Fi和红外线等技术。其中ZigBee技术由于其自身的经济、可靠、高效的优点在WSN中有着广泛的应用前景。ZigBee技术是一组基于IEEE802.15.4无线标准研制开发的有关组网、安全和应用软件方面的通信技术。IEEE802.15.4规范是一种经济、高效、低数据速率的无线技术,它工作的频率是2.4GHz和868/928MHz,这个频率是用于个人区域网和对等网络的频率。它是ZigBee应用层和网络层协议的基础,

【关键词】ZigBee 协议 网络

1 ZigBee网络拓扑结构

一个符合IEEE 802.15.4的系统由几个部分组成。最基本的是器件,设备可以是RFD(简化功能设备Rduced-function device)或FFD(全功能设备Full-function device)。由两个或两个以上的这样的设备构成一个网络,但一个WPAN网络中至少要有一个FFD设备作为协调器,所以RFD一般作为终端使用,而FFD设备作为协调器或网关使用。网络是一个IEEE 802.15.4的另一个组成部分。

2 ZigBee协议体系结构

2.1 物理层

IEEE 802.15.4规范定义了27个信道,而在2.4GHz频段上定义了16条信道,在具体工作时,传感器网络可以在其中选择一个编号为11-26的信道,也就是2.4GHz的信道传输信号。

2.2 MAC层

ZigBee的MAC层提供两种服务:MAC层数据服务和MAC层管理服务。管理服务负责MAC层的各类管理工作以及信息数据库的维护;MAC数据服务通过MAC层的公共子层服务接入点支持在对等的MAC层的实体之间来传输数据。

2.3 网络层

网络层负责拓扑结构的建立、网络连接的维护,主要功能有设备连接和断开的机制,帧信息传送时的安全机制,设备的路由发现、维护和转交,发现和存储一跳邻居设备的信息,当一个Zigbee协调器创建一个新的网络时网络层还要负责为新加入的节点分配短地址,提供一些函数来完成MAC层的工作以并为应用层提供适合的服务接口。

2.4 应用层

应用支持子层(Application Support sub-layer: APS)、 ZigBee设备对象(ZigBee Device Object,ZDO)和应用对象。APS是应用层的一个子层,它负责在绑定的设备之间传送信息及维护绑定表。ZDO是一个特殊的软件对象,为网络层和应用支持子层以原主的形式提供服务,它可以是一个ZigBee设备或是一个ZigBee路由器或是一个ZigBee协调器。

3 ZigBee协议关键概念解析

本节将介绍上文中所提到的有关ZigBee体系结构时所涉及到的相关概念。这些概念都是ZigBee联盟在制定ZigBee规范时所定义的。这些关键概念的定义对于开发和设计ZigBee网络是至关重要的。

3.1 原语

在Zigbee协议下的工作,各层上都有不同的任务在执行,而每层要完成的一般都会分为两个方面,一方面是根据上一层的要求对下一层提供服务,另一方面就是根据下一层的服务要求为上一层提供的服务。而这样的服务都必须一定的规范和时机下完成,这样就只有原语才能实现这种封闭的要求。

3.2 配置文件

配置文件指对分布式应用的描述,对逻辑设备及其接口描述的集合,是面向某个类别的公约或准则。在消息、消息格式、请求数据等方面的一个共识。配置文件分为协议栈层次的应用层次的两种,一种是来定义网络类型、拓扑结构等的网络通信规则的,这一种是stack profile,一种是与特定的应用场景相关的,这一种就是application profile。

3.3 路由

在一个Zigbee网络当中,设备的通信依赖于网络的地址,当一个网络形成后, 每个设备都会被分配一个16位的网络短地址。当一个消息从源节点形成后,到达目标节点可能有多种传输路径,在这些路径中由路由发现(route discovery)寻找到一条最适合的路径,这样可以节约开销减少传输时间。并且在路由的过程当中设备还要记录路由的信息,为下面的路由发现提供依据。

3.4 端点

一个射频可以支持不同的应用,每一个Zigbee节点可以包含多个端点,端点就是一个8位的字段,这8位的字段可以表示的0-255个端点的编号。其中0号端点作为Zigbee设备对象,用于管理该节点的类似于初始化以及配置工作,应用程序是可以通过0号端点实现与协议栈的其它层的通信的;255号端点用于发送广播帧,寻找所有活动端点;241-254为保留端点;所以可以被用户所使用的端点号是由1-240这240个应用。

3.5 属性和簇

每一个Zigbee节点有很多的属性,这些属性也都有自己的值。一个簇(cluster)就是一些属性和命令的集合。一个应用一般会定义出在这个应用当中不同操作的集合也就是簇,而在这一个簇当中可能会有相关的操作命令及属性,当要调用此应用的时候就可以先访问到该簇的编号即cluster ID,再根据具体的操作而设置不同属性值以实现操作的目的。

参考文献

[1]张亚琼,杜永贵.基于CC2430的ZigBee智能传感器网络研究及应用[J].仪表技术,2008(04).

[2]高守玮,吴灿阳.Zigbee技术实践教程[M].北京:北京航空航天大学出版社,2009.

作者简介

庄彦(1978-),男,吉林省人。现为白城师范学院讲师。研究方向为嵌入式系统。

作者单位

白城师范学院 吉林省白城市 137000