基于Zigbee孤立节点快速入网机制研究
2018-08-08李铁良于纪言孙宇嘉朱立坤
李铁良,于纪言,孙宇嘉,朱立坤
(南京理工大学机械工程学院,江苏南京210000)
无线传感器网络WSN(Wireless Sensor Network)是随着微机电系统,微处理器,微型传感器等技术高速发展而产生的一种低功耗新型无线技术,是集数据采集、传输、处理为一体的多功能无线网络。其中基于IEEE802.15.4协议的ZigBee技术具有很高的实用性优点,使得它在国防军事、自然灾害和健康生活上都有很广泛的应用[1-6]。
传统ZigBee节点采用非时隙CSMA/CA随机接入机制的MAC层协议,其缺点在于入网连接耗时过长,很难满足应急环境下孤立节点快速入网以保证实时通信要求。大部分学者致力于从协议层上提出改进方法,降低整个网络组网时延。如陈珊珊[7]等提出的集中式信道分配算法,Hao[8-9]等人提出的分布式信道分配算法,Saifullah[10]提出了基于节点的和基于链路的分布式信道分配算法Dis-Link,李[11]等人提出了包括频谱感知调度与信道接入竞争两部分的低延迟MAC层频谱接入方案。同时一部分学者从应用层协议出发,如贾[12]等人提出一种基于代理节点的ZigBee地址分配算法,植[13]等人提出通过选择和交换合适的父节点来改善孤立节点入网算法,从而相对降低孤立节点入网时间。不同于上述两种思路,部分学者从组网机制的角度出发改善组网延时。如孟[14]等人分析组网连接过程,在网络部署前对每个节点进行配置,通过缩减为单信道,并采用预分配地址缩短关联接入时间,但同时也造成信道干扰问题。文献[15]通过减少冗余原语提高应答时间,进而缩短采用信标网络的关联延迟。文献[16]为了让移动节点快速入网,直接删除了802.15.4MAC层的关联过程,只能对于相应环境下有一定作用。然而针对应急环境下,如战场、火灾等情况,由于大量路由节点被损毁、能量不足和地址分配不均等其他问题,产生大量孤立节点,其入网耗时过长,造成局部信息不能及时传递方面的问题研究涉及较少。因此本文综合分析了非时隙CSMA/CA随机接入机制,针对孤立节点入网耗时问题,从应用层方面提出一种新的孤立节点快速入网策略,简化入网机制,减少关联地址分配冲突,缩短组网时间,以满足应急环境的通信要求。
1 ZigBee孤立节点分析
1.1 孤立节点产生原因
基于ZigBee技术分布式地址分配机制[17]缺陷,孤立节点不可避免,主要原因有两个:1)节点自身原因:由于节点能量不足、自毁需要以及通信干扰等情况导致一些设备成为孤立节点;2)地址分配空间不足:父节点达到最大网络深度Lm、父节点的子设备总数达到最大值Cm或者子路由总数达到最大值Rm。
1.2 孤立节点入网流程分析
组建ZigBee网络后产生的孤立节点,当父节点损毁时,重新入网的主要方式是通过MAC层关联接入。首先节点进行孤立状态判断,用于判断自身是否是孤立节点,当子设备连续未收到信标帧的次数达到aMaxLostBeacons(IEEE802.15.4标准定义为常量值4)或者多次与父设备通信失败,则判断自身为孤立节点。其次进行信道扫描,选择一个干扰较少的信道。然后进行关联接入,发送入网请求,父节点对其进行认证和编址并应答入网申请形成父子关系。其中孤立状态判断、主动信道扫描、关联接入机制为IEEE802.15.4网络提供了基本的自修复和自组织能力。
2 孤立节点入网耗时分析
2.1 孤立节点入网原语图分析
经过分析孤立点入网流程可知,孤立点入网过程主要包括孤立状态判断、主动信道扫描、关联接入3个阶段,如图1所示。
图1 孤立节点入网原语图
2.2 孤立状态判断耗时分析
在信标网络中,父节点每隔一段时间广播一次,子节点收到信标帧表示父子关系存在。在非信标网络中,子节点通过每隔一段时间与父节点进行数据通信保持联络维持父子关系。传感器节点较多时,为了节省能量,一般采用非信标模式。网络形成后,子节点每间隔Tspan向父节点发送数据,假设两次收不到父设备的ACK应答就判断自身为孤立节点。为了有效传递数据通常间隔Tspan取值最小为1 s,由以上分析可知孤立状态判断所需时间:
2.3 信道扫描时间分析
节点重新申请入网时,通过主动信道扫描,发现通信范围内的协调器,对于每一个逻辑信道,子节点先进行主动信道扫描,然后等待描述个域网的信标帧,等待最长时间为Twait在这段时间如果收到信标帧直接进入关联过程,如果没有收到信标帧则扫描下一信道。IEEE802.15.4协议规定单信道扫描时间[18]:
式中:aBaseSuperframeDuration为MAC常量,换算成时间为15.36ms;ScanDuration取值范围为[0,14],默认值为3。计算可得单信道扫描时间约为:Twait=138.24ms
IEEE802.15.4协议定义2.4G和900 MHz两个工作频段。在2.4G频段有16个信道,当所有信道扫描一遍则耗时T2.4G=Twait×16=2.2 s;900 MHz频段有10个信道,同样扫描一遍则耗时:T900 MHz=Twait×10=1.38 s。
2.4 关联接入时间分析
孤立节点经过主动信道扫描得到网络信息,向父节点发出连接请求。父节点接收到请求后回复ACK应答帧,同时自身在最长aResponseWaitTime时间内决定是否同意连接,并使用间接发送方法发送到请求连接的子设备。由于采用的是非信标模式,孤立节点仍需等待aResponseWaitTime时间后发送数据请求,然后向父节点提取连接响应命令,成功则建立父子关系,失败则重新入网。经过分析,关联接入时间主要浪费在等待响应命令的时间间隔aRsponseWaitTime上(标准规定的aRsponseWaitTime是 32个 aBaseSuperframeDuration)。因此 aRsponse⁃WaitTime=32×15.36 ms=491.52 ms。
3 改进孤立节点入网策略
3.1 改进后孤立节点入网原语图分析
通过分析孤立节点入网耗时情况,本文针对性的提出一种改进策略,改进后孤立节点入网流程如图2所示。
图2 改进后孤立节点入网原语图
3.2 省略孤立状态判断
由上文可知,等待孤立点自身判断是否丢失父节点耗时略大于2 s,耗时过长。可以通过父节点提前退网策略强制清除子节点相关注册信息。如恶劣环境下,由于父节点自身能量不足或者战场强制报废等情况,可以通过设定阀值在父节点报废前强制将子节点退网。子节点收到退网信标帧后,直接判断自己为孤立节点并开始主动信道扫描,重新加入网络。
3.3 缩短信道扫描过程
文献[14,18]已经提出了缩短信道扫描过程。首先,由于全部信道扫描耗时过长,在快速组网应用条件下,可以直接指定扫描某一信道,节省大量信道扫描时间。另外根据IEEE802.15.4协议基础,默认ScanDuration取值为3,部分学者提出将其减少为2,单信道扫描周期将从138.24 ms降低到76.8 ms,可节省61.44 ms。但同时这两方面也导致信道干扰以及单信道扫描时间过短等缺点,影响组网性能,文中不予以考虑。
3.4 降低关联冲突
通过分析,关联接入过程,理论上节点成功连接一次需等待491.52 ms,实际由于地址分配空间不足和原语碰撞造成地址分配失败,子节点需要重新入网,耗时明显。其中,由于采用的CSMA/CA协议,原语碰撞冲突较低以及同时入网的孤立点数目相对有限。造成孤立点关联冲突主要原因是父节点地址分配空间不足。部分学者提出简化关联过程,直接给予节点固定地址。显然,这种方法不适用于失去父节点的孤立节点重新入网。所以根据上文分析,为了降低关联冲突,通过分析分布式地址分配机制,让父节点在线读取自身地址分配空间以及子节点RSSI强度,并根据这两类信息,设定阀值,强制子节点退网,留出一定地址空间,降低地址分配冲突。流程图如图3所示。
如图3所示,父节点首先读取自身子节点总数C1,将其与Cm比较,判断是否存在可分配地址。然后读取自身网络深度d1,将d1与Lm比较,判断自身网络深度:如果自身网络深度处于最后一层,首先强退距离最近的子路由,其次强退距离最近的子终端。如果自身网络深度没有处于最后一层,直接强退距离最近的子终端。为了节省能量,可以设置循环若干次即中断循环。
图3 依据地址空间强制退网流程图
4 实验分析
由于实际硬件数量以及场地的限制,本文进行小范围组网实验,以评估基于强制子节点退网的快速组网策略。本文采用Texas Instruments(TI)公司的CC2530节点进行现场组网实验。该节点主要有2.4GHz的RF收发器以及低功耗8051微控制器内核组成,具有很高的接收灵敏度和抗干扰性能,以及可编程的输出功率,最高达4.5 dBm。
图4 硬件实验
实验部分:首先在3m×3m的室内环境部署6个传感器节点组建树型网络,如图4所示。然后,分别采用IEEE802.15.4协议的原组网策略和本文提出的快速入网策略,通过将路由节点断电制造孤立节点,测量单个孤立节点每次入网耗时,进行比较。
实验结果如图5所示,原组网策略,单个孤立节点入网耗时基本在2.8 s左右。因为实际节点数量有限,地址分配空间充足,几乎不会发生地址分配失败,通过分析,主要耗时是孤立状态判断耗时2.1 s左右,单信道扫描耗时0.2 s左右,关联接入耗时0.5 s左右。采用改进的快速组网策略进行试验,孤立节点入网时间缩短至0.6 s左右,可能会有小概率次数出现原语碰撞造成关联接入过程失败,需要重新入网。
图5 孤立节点入网耗时
5 仿真分析
根据本文分析,仿真试验场景设定为300 m×300 m的区域并随机布撒若干个节点,协调器位于中间区域,Cm=7,Rm=3,Lm=5,孤立节点个数为10,其他仿真参数采用默认值。鉴于文献[15]对单一信道扫描的仿真实验分析,本文不再重复讨论。
图6 孤立节点入网耗时
如图6所示,随着节点总数增大,即网络中地址分配空间缩小时,孤立节点入网时间的变化。从图中可以看出,当节点个数小于100时,地址空间充足,节点入网耗时和实验结果相当。随着节点个数达到125也即饱和度达到50%时,节点入网平均耗时增加1.1 s左右,随着节点个数持续增多,由于地址分配空间不足,造成地址分配失败,导致入网耗时相对增加明显。当节点饱和度达到80%以上时,改进后组网策略入网耗时缩减明显。
图7 孤立节点地址分配成功率
如图7所示,随着节点总数增大,孤立点连接成功率的变化。很明显,随着节点总数增大,地址分配空间不足,孤立节点连接成功率逐渐下降。当节点个数小于125时即饱和度维持在50%以下时,两种组网方式都达到了90%以上的连接成功率。随着节点饱和度达到90%,改进组网策略相比原组网策略,连接成功率提高10%左右。
图8 路由节点网络深度对比
如图8所示,两种不同组网策略在不同网络深度下,路由节点个数占比图。从图中可以看出,改进组网策略在网络深度2、3、4时路由节点平均占比高于原组网方式3%左右。最后一层网络深度,路由节点占比低于原组网方式10%左右,提高了网络路由的健壮性。
6 结论
文中为满足应急环境背景下孤立节点重新快速入网通信需求,提出一种新的孤立节点快速入网策略,用于简化孤立节点握手机制,减少关联过程地址分配冲突,优化路由节点网络深度。通过现场试验可知,当节点较少时,通常节省2.1s左右的入网时间。仿真试验表明,当节点饱和度高于90%时,孤立点连接成功率提高10%,进而有效缩短孤立节点入网时间,并且可以有效优化路由节点网络深度,提高网络的健壮性。