基于ZigBee的无线传感器网络研究
扫描二维码
随时随地手机看文章
摘要:为了验证ZigBee协议的有效性,叙述了新型无线ZigBee通信技术,介绍ZigBee协议的结构和特点,基于ZigBee协议的无线网络设备以及网络拓扑结构;ZigBee标准协议栈结构及数据在协议栈内部的传输机制。以两个网络设备成网为例,详细给出了ZigBee设备形成网络时,各个设备的工作状态、设备之间网络连接过程以及数据帧的发送过程。最后,通过Microchip公司的ZigBee实验平台验证了ZigBee无线星型组网,实验证明,ZigBee技术是有效的无线传感器网络组网技术。
关键词:ZigBee技术;无线传感器网络;协议栈;无线星型网络
0 引言
ZigBee是一种新兴的短距离、低功率、低速率的无线接人技术,工作于无须注册的2.4 GHz ISM频段,传输速率为10~250 Kb/s,传输距离为10~75 m。该项技术自2002年起由ZigBee技术联盟研究开发,采用IEEE 802.15.4标准作为其物理层和媒体接入子层标准、网络层及上层标准,即ZigBee技术标准。
以传感器和自组织网络为代表的无线应用并不需要较高的传输带宽,但却需要较低的传输延时和极低的功率消耗。因此,迫切需要一种符合传感器和低端的、面向控制的、应用简单的专用标准,ZigBee技术的特点使它与无线传感器网络完美地结合在一起。本文以ZigBee技术为背景,研究基于ZigBee的无线传感器网络。
1 ZigBee网络设备及网络拓扑
ZigBee网络中可同时存在两种不同类型的设备,一种是具有完整功能的设备(FFD),一种是简化功能的设备(RFD)。在网络中,FFD通常有3种工作状态:作为个人区域网络的协调器(PAN);作为路由器;作为一个终端设备。一个FFD可以同时和多个RFD或多个其他的FFD通信,而对于RFD,它只能和一个FFD进行通信,故只能作为终端设备。
ZigBee协调器,即ZigBee的个域网协调器,是网络建立的起点,负责网络的初始化,确定个域网标识符和网络工作的物理信道,并统筹短地址的分配。ZigBee协调器必须是全功能设备,并且一个网络只有一个协调器。ZigBee路由器是一个全功能设备,类似于定义的协调器,在接入网路后,它能获得一定的16位短地址空间。在其通信范围内,它能允许其他节点加入或者离开网络,分配及收回短地址,路由和转发数据。ZigBee终端设备,既可以是全功能设备,也可以是简化功能设备,它只能与其父节点通信,从其父节点处获得网络标识符、短地址等相关信息。
ZigBee网络由FFD和RFD组成,网络有两种拓扑结构:星型拓扑结构和对等拓扑结构。具体拓扑结构如图1所示。星型拓扑网络是由一个PAN协调器的中央控制器和多个从设备组成,主协调器必须是一个FFD设备,从设备既可以是FFD也可以RFD;对等网络拓扑结构也存在协调器,该网络不同于星型拓扑结构,在该拓扑结构中任何设备只要在其通信范围之内,就可以和其他设备进行通信。
2 ZigBee协议栈
根据ZigBee联盟公布的ZigBee技术标准,各个芯片生产厂家都公布了基于自己产品的ZigBee协议栈。有TI公司、AVR公司、Microchip公司等,其中TI公司及Microchip公司开发了源代码开放的ZigBee协议栈。本文介绍Microchip公司基于ZigBee 2006标准的ZigBee协议栈。
ZigBee协议栈采用分层结构,每一层都为其上一层提供一套明确的服务:数据实体提供数据传输服务,管理实体则提供其他所有的服务。每个服务实体都通过服务接入点为上层提供一个接口,每个服务接入点都支持一定数量的服务原语来实现所需功能。协议栈框架如图2所示,APSDE-SAP为数据实体接口,MLME-SAP为管理实体接口。ZigBee协议栈中,各层间数据的传输通过帧来实现,在PAN网络结构中定义了4种帧结构:信标帧、数据帧、确认帧及命令帧。不管是那种传输帧,发送时都是自协议栈高层向底层传输,从产生层向下每个协议层都为其增加自己的帧头和帧尾。接收时都是自底层向高层传输,从物理层向上依次去掉每个协议层的帧头和帧尾。
3 无线网络组网机制
3.1 建立一个新网络并将设备与网络连接
新的网络首先由协调器设备建立,启动时,协调器搜索附近其他协调器,如果没有发现协调器,它就通过发送NLME-NETWORK-FORMATIO-N.request原语启动一个新的网络建立过程。当建立网络过程开始后,协调器网络层将首先请求MAC层对协议所规定的信道,或由物理层所默认的有效信道进行能量检测扫描,设备网络层发送扫描类型参数设置为能量检测扫描的MLME_SCAN.request原语到MAC层进行信道能量检测扫描。扫描结果通过MLME_SCAN.confirm原语返回。当网络层管理实体收到成功的能量检测扫描结果后,将以递增的方式对所测量的能量值进行信道排序,并且抛弃那些能量值超出了可允许能量水平的信道,选择可允许能量水平的信道有待处理。此后网络层管理实体发送MLME_SCA-N.request原语执行主动扫描,搜索所有的ZigBee设备。为了决定用于建立一个新网络的最佳通道,网络层管理实体将检查PAN描述符确保所给定的个域网标识符不会与所选择的信道的现有标识符参数产生冲突,如果冲突那么可能从给定的信道中选择另外一个信道。如果找到了适当的通道,则将为这个新网络选择一个PAN标识符。一旦选定了PAN标识符,将选择一个等于0x0000的16位网络地址,并且设置MAC层的地址P-IB属性,将其设置为该值。分配地址后,将通过MAC层发出MLME_START.request原语开始运行新的个域网,NLME-NETWORK-FORMATION.conf-irm原语返回网络已经形成的确认。
通过NLME_PERMIT_JOINING.request原语允许其他设备与网络连接,该原语允许ZigBee协调器或路由器上层设定其MAC层连接允许标志,在一定期间内允许其他设备同网络连接。仅仅只有ZigBee协调器或路由器才能企图允许设备与网络连接,如果终端节点设备的网络层管理实体收到该原语时,则返回状态为INVALID-REQUEST的NLME_PERMIT_JOIN-ING.confirm原语。NLME_PERMIT_JOINING.re-quest原语激发网络层向MAC层发送MLME_SET.request原语完成MAC层若干属性设置,MAC层通过MLME_SET.confirm返回结果,网络层通过NLME_PERMIT_JOINING. confirm返回设置结果,允许设备同网络连接。
3.2 子设备连接网络
当网络建立并允许新设备接入时,子设备可以通过两种方式加入网络:
(1)利用MAC子层关联接入程序加入网络;
(2)通过应用层预先指派的父设备直接加入网络。
在这两种方式的基础上,协议定义了四种接入方法:关联接入、利用网络层再接入命令再接入网络、网络直接接入和以孤点方式连接或重新连接网络。
关联接入是新设备接入ZigBee网络的主要途径。关联接入过程中,请求入网的子设备首先由应用层向底层发出NLME_NETWORK_DISCOVER-Y.request原语在网络通信发起网络发现操作,在预先设定的一个或多个信道上通过主动扫描和被动扫描搜索邻居网络的信息。一旦完成主被动扫描,底层通过NLME_NET-WORK_DISCOVERY.confirm原语将邻居信息返回给应用层。应用层也可以选择重新执行网络发现命令,以便发现更多的网络。
如果不重新执行发现任务,将从发现的网络中选择一个网络进行连接,即通过发送NLME_JOIN.request原语以直接或联合方式请求连接网络,没有连接的设备会在邻居表中选择一个适当的父设备请求连接。父设备在收到关联接入请求后,首先在其邻居表中查找子设备的64位IEEE地址是否已经存在,若存在,则把对应的16位短地址分配给子设备,若不存在,则分配一个新的16为短地址给子设备,然后将该地址通过关联接入应答原语NLME_JOIN.confirm发送给子设备,同时更新其邻居表和路由表。子设备收到关联接入确认后,更新自己的16位短地址和邻居表,完成关联接入过程。
网络形成及子设备关联接入流程如图3所示。
4 无线组网实验
本实验采用3个节点完成无线环境区域内的星型组网连接,网络设备包括一个全功能设备和两个简单功能设备。实验中,节点硬件采用相同构成,采用Microchip公司开发的ZigBee实验平台,协议栈采用该公司对应的软件程序。终端和星型网络协调器功能差异由软件实现,完成终端采集温度数据而协调器收集数据的任务。其中,两个终端加入网络的过程相同,遵循上节所述过程,协调器串口输出如图4所示。
5 结语
本文分析了使用ZigBee协议组成无线网络的过程,通过实验证明了ZigBee协议栈能够形成稳定可靠的ZigBee无线网络。用户可以根据使用环境选配不同的传感器,并选择所需的拓扑结构,实现不同应用环境不同拓扑结构的无线传感器网络,如覆盖面积较大可选择多跳路由方式传递数据,即将本实验协调器作为协调器和路由器继续向上级传输数据。该系统可以应用于军事监测、智能家居、工农业生产等领域,为监测环境区域参数提供了强而有效的方案。