1.3 ZigBee无线传感器网络的通信协议架构
1.3.1 概述
ZigBee以IEEE 802.15.4协议为基础,使用全球免费频段进行通信。传输速率分别为250kbps、20kbps和40kbps。IEEE 802.15.4工作组主要负责制定PHY层和MAC层的协议,其余协议主要参照和采用现有的标准,高层应用、测试和市场推广等方面的工作将由ZigBee联盟负责。ZigBee联盟成立于2002年8月,由英国Invensys公司、日本三菱电气公司、美国摩托罗拉公司以及荷兰飞利浦半导体公司组成,如今已经吸引了200多家芯片公司、无线设备公司及开发商加入。ZigBee是一个由可多到65 000个无线数传模块组成的一个无线数传网络平台,十分类似于现有的移动通信的CDMA网或GSM网,每一个ZigBee网络数传模块类似于移动网络的一个基站,在整个网络范围内,它们之间可以相互通信;每个网络节点间的距离可以从标准的75m,到扩展后的几百米,甚至几千米;另外,整个ZigBee网络不仅可以无限扩展,而且还可以与现有的各种网络进行连接。
IEEE 802.15.4描述了低速率无线个人局域网(Wireless Personal Area Network,WPAN)的物理层和媒体接入控制协议,属于IEEE 802.15.4工作组。ZigBee技术是基于IEEE 802.15.4标准的无线技术,IEEE 802.15.4只负责ZigBee的物理层和MAC层,ZigBee网络协议架构分层如图1.6所示。
图1.6 ZigBee网络协议架构分层
不同的是,ZigBee网络主要是为工业现场自动化控制数据传输而建立的,因而它必须具有操作简单、使用方便、工作可靠、价格低廉的特点;而移动通信网主要是为语音通信而建立的。每个移动基站价值一般都在百万元以上,而每个ZigBee基站仅需100~200元。每个ZigBee网络节点不仅本身可以与监控对象进行连接,直接进行数据的采集和监控,还可以自动中转别的网络节点采集的数据;除此以外,它还可以在自己信号覆盖的范围内和多个不承担网络信息中转任务的孤立的子节点无线连接。
每个ZigBee网络节点可以支持255个传感器和受控设备,每一个传感器和受控设备都可以有8种不同的接口方式,可以采集和传输数字量和模拟量。
1.3.2 ZigBee无线网络通信信道分析
各个国家都有自己的无线电管理结构,如美国的联邦通信委员会(Federal Communicatians Commission,FCC)、欧洲的电信标准协会(European Telecommunications Standards Institute,ETSI)等。我国的无线电管理机构是中国无线电管理委员会,其主要负责无线电频率的划分、分配与指配,卫星轨道位置的协调和管理,无线电监测、检测、干扰的查处,协调处理电磁干扰事宜和维护空中电波秩序等。中国无线电管理机构对频段的划分及其主要用途如表1.3所示。
表1.3 频段的划分及其主要用途
IEEE 802.15.4工作在工业科学医疗(Industrial、Scientific and Medical,ISM)频段,即2.4GHz频段和868/915MHz频段。在IEEE 802.15.4中,总共分配了27个具有3种速率的信息。
在2.4GHz频段,共有16个信道,信道通信速率为250kbit/s。
在915MHz频段,共有10个信道,信道通信速率为40kbit/s。
在896MHz频段,共有1个信道,信道通信速率为20kbit/s。
ZigBee无线传感器网络系统统一使用2.4GHz频段,这些信息的中心频段按表1.4所示的定义(k为信道数)进行分配。
表1.4 ZigBee无线传感器网络信道分布
ISM频段分布示意如图1.7所示。
图1.7 ISM频段分布示意图
一个IEEE 802.15.4可以根据ISM频段、可用性、拥挤状况和数据速率在27个信道中选择一个工作信道。从能量和成本效率来看,不同的数据速率能为不同的应用提供较好的选择。例如,对于有些计算机外围设备与互动式玩具,可能需要250kbit/s的速率,而对于其他许多应用,如各种传感器、智能标记和家用电器等,20kbit/s这样的低速率就能满足要求了。不同的数据传输率适用于不同的场合。例如,868/915MHz频段物理层的低速率换取了较好的灵敏度和较大的覆盖面积,从而减少了覆盖给定物理区域所需的节点数。2.4GHz频段物理层的较高速率适用于较高的数据吞吐量、低延时或低作业周期的场合。
2.4GHz频段日益受到重视,原因主要有三:首先它是一个全球性的频段,开发的产品具有全球通用性;其次,它整体的频宽胜于其他ISM频段,这就提高了整体数据传输速率,允许系统共存;第三就是尺寸,2.4GHz无线电和天线的体积相当小,产品体积更小。虽然每一种技术标准都进行了必要的设计来减小干扰的影响,但是为了能让各种设备正常运行,对他们之间的干扰、共存分析显然是非常重要的。
ZigBee技术的抗干扰特性主要是抗同频干扰,即来自共用相同频段的其他技术的干扰。对于同频干扰的抵御能力是极为重要的,因为它直接影响到设备的性能。ZigBee在2.4GHz频段内具备强抗干扰能力就意味着能够可靠地与Wi-Fi、蓝牙、WirelessUSB以及家用的无绳电话和微波炉共存。
IEEE802.15.4标准中提供了很多机制来保证ZigBee在2.4GHz频段和其他无线技术标准的共存能力。
IEEE802.15.4物理层在碰撞避免机制(Carrier Sense Multiple Access with Collision Avoidance,CSMA/CA)中提供空闲信道评估(Clear Channel Assessment,CCA)的能力,即如果信道被其他设备占用,允许传输退出而不必考虑采用的通信协议。
ZigBee个人区域网中的协调器首先要扫描所有的信道,然后再确认并加入一个合适的PAN,而不是自己去创建一个新PAN,这样就减少了同频段PAN的数量,降低了潜在的干扰。如果干扰源出现在重叠的信道上,协调器上层的软件要应用信道算法选择一个新的信道。
IEEE802.11b信道分布示意如图1.8所示。对比IEEE 802.11b和IEEE 802.15.4信道算法,有4个IEEE 802.15.4信道(n=15,16,21,22)落在3个IEEE 802.11b信道的频带间距上,这些间距上的能量不为零,但是会比信道内的能量低,将这些信道作为IEEE 802.15.4网络工作信道可以将系统间的干扰降至最小。在网络初始化或者响应中断时,ZigBee设备都会先扫描一系列被列入信道表参数中的信道,以便进行动态信道选择。在有IEEE 802.11b网络活跃的工作环境中建立一个IEEE 802.15.4网络,可以按照上述空闲信道来设置信道表参数,以便加强网络的共存性能。
图1.8 IEEE802.11b信道分布示意图
1.3.3 ZigBee的网络号
ZigBee协议使用一个16位的个域网络标识符(Personal Area Network ID,PANID)来标识一个网络。Z-Stack允许用两种方式配置PANID。PANID是一个32位标设,范围从0x0000~0xFFFF。当ZDAPP_CONFIG_PAN_ID值不设置为0xFFFF时,设备建立或加入网络的PAN ID由ZDAPP_CONFIG_PAN_ID指定;如果设置ZDAPP_CONFIG_PAN_ID为0xFFFF,那么设备就将建立或加入一个“最优”的网络。
PANID的出现一般是在确定信道以后。PANID针对一个或多个应用的网络,用于区分不同的ZigBee网络,一般是Mesh或者Cluster Tree两种拓扑结构之一。所有节点的PANID唯一,即一个网络只有一个PANID,它是由PAN协调器生成的,PANID是可选配置项,用来控制ZigBee路由器和终端节点要加入哪个网络。文件f8wConfg.cfg可以设置为0x0000~0x3FFF之间的一个值。协调器使用这个值,作为它要启动的网络的PANID。而对于路由器节点和终端节点来说,只要加入一个已经用这个参数配置了PANID的网络。如果要关闭这个功能,只要将这个参数设置为0xFFFF。要更进一步控制加入过程,则需要修改ZDApp.c文件中的ZDO_NetworkDiscoveryConfirmCB函数。当然,如果ZDAPP_CONFIG_PAN_ID被定义为0xFFFF,那么协调器将根据自身的IEEE地址建立一个随机的PANID(0x0000~0x3FFF)。
1.3.4 ZigBee的地址
在ZigBee无线传感器网络中,节点有两个地址。一个是物理(IEEE或扩展)地址,每个CC2530单片机的IEEE在出厂时就已经定义好了(当然,在用户学习阶段可能通过编程软件SmartRF Flash Programmer修改设备的IEEE地址)。当一个ZigBee节点需要加入网络时,其物理地址必须不能与现有网络节点的物理地址有冲突,并且不为0xFFFF。另一个是网络地址(16位)。该地址是在设备加入网络时,按照一定的算法计算得到并分配给加入网络的设备。网络地址在某个网络中是唯一的,16位的网络地址主要有两个功能:在网络中标识不同的设备;在网络数据传输时指定目的地址。
1.3.5 ZigBee的设备类型
ZigBee规范定义了3种类型的设备,每种都有自己的功能要求。ZigBee协调器是启动和配置网络的一种设备。协调器可以保持间接寻址用的绑定表格,支持关联,同时还能设计信任中心和执行其他活动。协调器负责网络正常工作以及保持同网络其他设备的通信。一个ZigBee网络只允许一个ZigBee协调器。
ZigBee节点一般包括终端节点、路由节点和协调器3种节点类型。
① 终端节点(End Device):只负责数据信息的采集和环境的检测,一般数量比较多。
② 路由节点(Router):负责数据的转发功能,一个路由节点可以与若干个路由节点或终端节点通信。
③ 协调器(Coordinator):网络的控制中心,负责一个网络的建立,可以与此网络中的所有路由节点或终端节点通信。
ZigBee路由器是一种支持关联的设备,能够将消息转发到其他设备。ZigBee网格或树型网络可以有多个ZigBee路由器。ZigBee星型网络不支持ZigBee路由器。
ZigBee终端设备可以执行它的相关功能,并使用ZigBee网络到达其他需要与其通信的设备,它的存储容量要求最小,其可以实现ZigBee低功耗设计。
上述3种设备根据功能完整性可分为全功能设备(Full Functional Device,FFD)和精简功能设备(Reduce Function Device,RFD)。其中FFD可作为协调器、路由器和终端设备,而RFD只能用于终端设备。一个FFD可与多个RFD或多个其他FFD通信,而一个RFD只能与一个FFD通信。