APP下载

混合休眠策略的ZigBee多点监控自组网设计

2015-07-02范学升宋戈张德学

单片机与嵌入式系统应用 2015年6期
关键词:待机低功耗报文

范学升,宋戈,张德学

(山东科技大学 电子通信与物理学院,青岛 266590)



混合休眠策略的ZigBee多点监控自组网设计

范学升,宋戈,张德学

(山东科技大学 电子通信与物理学院,青岛 266590)

分析了ZigBee多点监控网络中休眠节点工作不同步、网络性能不稳定等问题,提出基于混合休眠策略的ZigBee多点监控自组网设计方案,完成基于Z-Stack的软件设计,并组建ZigBee星型网络进行测试。实验结果表明,节点在维持低功耗的同时,系统的同步性、稳定性得到了提高。

ZigBee;混合休眠;低功耗;自组网;同步

引 言

随着国内物联网行业进入发展快车道,ZigBee技术越来越多地被应用到环境、安全监测系统中,利用传感器技术与ZigBee技术的有机结合,将采集的数据周期性发送到网络中心节点,进行多点信息实时监控。

传统的ZigBee多点监控网络中节点采用同步休眠或异步休眠方式,节点的功耗和同步性难以得到平衡,网络性能不稳定。本文将同步和异步方式相结合,采用混合休眠策略构建基于ZigBee星型网络拓扑结构[1]的无线监控系统,并加入网络自愈功能,提高系统的稳定性。

1 ZigBee技术简介

ZigBee技术是一种基于IEEE 802.15.4标准[4]的无线技术,在农业、工业、环境、军事、医疗等诸多领域取得了成功的应用[5]。IEEE 802.15.4标准定义了物理层和媒体访问控制层,ZigBee联盟[6]在这个基础上扩展了网络层和应用层框架。

ZigBee网络是一种结构简单、低功耗、低成本的无线网络,它实现了低功耗和低数据吞吐量的无线连接。IEEE 802.15.4网络中根据设备所具有的通信能力,可以分为全功能设备(Full Function Device, FFD)和精简功能设备[7](Reduced Function Device, RFD)。FFD之间以及FFD与RFD之间都可以直接通信,RFD之间只能通过FFD转发数据,进而实现间接通信,这个与RFD相关联的FFD称为该RFD的协调器。IEEE 802.15.4网络中,必须有一个FFD作为PAN(Personal Area Network)网络协调器,其除了直接参与应用外,还要完成成员身份管理、链路状态信息管理以及分组转发等任务[8]。

2 自组网设计

2.1 网络组建

ZigBee星型网络中,只有一个FFD作为协调器,其他RFD都是终端节点。完整的ZigBee网络组建分为两步:第一步是协调器初始化网络;第二步是终端节点加入网络。

ZigBee协调器上电后,首先由协调器发起建立一个新网络的进程;然后,由网络层管理实体请求媒体访问控制层对信道进行扫描[1],找到建立网络的最佳信道,并为新建网络选择唯一的PAN描述符;最后确定好PAN描述符后,网络层管理实体将协调器网络地址设为0x 0000,网络建立完成,运行并等待终端节点加入。

ZigBee协调器建立网络后,终端设备可以申请加入网络。终端设备上电后主动寻找射频范围内的网络,如果一定时间内检测到包含PAN标识符的信标帧,则向协调器发出连接请求。协调器在地址分配空间充足的条件下为之分配16位的网络地址,在经过传输响应确认后,终端节点成功加入。

2.2 网络自愈功能

在网络正常运行的情况下,如果某个节点由于断电或受到干扰,而与网络断开连接,会影响系统的稳定性。本设计提供了良好的网络自愈功能,在软件设计中,及时检测节点网络状态并对异常节点进行处理。当节点出现网络异常或重新上电后,通过访问非易失(NV)存储器,查看之前网络信息,主动查找并重新加入之前的网络。网络自愈功能使节点能自动处理网络异常,系统中其他节点的数据传输不受异常节点的干扰而能正常运行,增强了网络的稳定性,提高了系统的容错性。

3 休眠同步机制

ZigBee网络中终端节点采用电池供电,节省能耗对网络的运作和维护非常重要,休眠是降低功耗的有效方法,而对于多点监控网络,节点的同步工作更有利于数据的分析和处理。节点的休眠方式会影响系统的同步性能,本设计在同步休眠和异步休眠的基础上提出混合休眠策略。

3.1 同步休眠

在多点监测系统中,终端节点周期性地采集发送数据,在不工作时进入休眠状态。同步休眠模式下,终端节点同时工作、同时休眠。终端节点同步休眠模式下的时间片使用方式如图1所示。其中,时间片的同步由协调器向全网广播同步休眠指令实现。休眠指令命令终端节点同时进入同步休眠状态,其休眠时间长度可灵活设定,醒来时自动进入工作状态。

图1 同步休眠示意图

在同步休眠中,终端节点待机电流为1 μA,系统同步性高,但若由于某些因素导致终端节点未能正常收到协调器的休眠指令,则无法进入休眠状态,待机电流为24 mA,会造成大量不必要的功率损耗,系统性能不稳定。

3.2 异步休眠

在异步休眠模式下,各节点间休眠相互独立,终端节点在完成数据传输后主动进入休眠状态,无需等待协调器的休眠指令。节点按照预设的频率进行周期性的休眠,在休眠时间片结束时,会打开无线接收器监听网络中的数据报文。如果在监听时间片内收到协调器的唤醒指令,则进入正常工作状态,否则进入下一个休眠时间片。终端节点异步休眠模式下的时间片使用方式如图2所示。

图2 异步休眠示意图

监听时间片与节点从睡眠状态转入工作状态的时间长度有关,而休眠时间片的长度可以根据系统实际需求灵活设定。CC2530浅度休眠时电流为1 μA,接收时电流为24 mA,如果按照200:1的睡醒比例计算,则终端节点的平均待机电流为:

异步休眠中,终端节点避免了由于收不到休眠指令而造成的大量功耗浪费,系统性能稳定。不足的是节点平均待机功耗有所增加,且系统的同步性低于同步休眠机制,其最大误差为一个睡醒周期。因此,系统须根据此误差合理设置监听时间片的长度。

3.3 混合休眠

正常情况下终端节点工作在同步休眠模式,当某个节点出现异常没有正确接收到协调器休眠指令时,进入异步休眠模式。同步和异步的有效结合组成了本设计的混合休眠模式,如图3所示。

图3 混合休眠示意图

当异步休眠节点进入监听时间片时,会主动向协调器询问是否缓存了属于自己的唤醒报文,协调器在收到请求后会向终端节点返回媒体访问控制层的ACK报文,告诉终端节点是否有缓存报文。当终端节点被告知没有缓存的唤醒报文时,可以再次进入异步休眠模式。如果有缓存的唤醒报文,则查看缓存报文中同步节点的醒来时刻,并根据此时刻进入休眠等待,从而避免了空闲等待的功耗浪费。当从休眠等待中醒来时,此节点和同步休眠节点共同进入同步模式,进行数据传输。

其中,唤醒报文是协调器在同步节点休眠即将结束时向全网广播。假设异步状态中监听时间片长度为t1,休眠时间片长度为t2,则协调器缓存报文时间t3应满足:t3>t1+t2,确保异步节点在t3时间段至少有一次进入监听状态,以被唤醒。由于协调器缓存数据报文时间有限,所以采用多次重发短报文方式,使唤醒报文在缓存区连续存在t3的时间长度。同时,协调器在每个同步周期内都广播一次唤醒报文,使异常节点在一个工作周期内能被及时唤醒,尽可能地减少由于异步休眠次数过多造成的功耗浪费。

混合模式下,同步节点平均待机电流为1 μA,异步节点平均待机电流为120.4 μA,假设平均在n次休眠中进入一次异步休眠,则混合模式下节点的平均待机电流为:

可以看出当系统越稳定,即n越大时,混合休眠模式下的平均待机电流越接近同步休眠模式下的待机电流,且明显小于异步休眠模式下的平均待机电流。因此,混合休眠策略在实现低功耗传感器网络的基础上,能够达到全网节点同步的效果,更有利于整个系统的运行和管理。

4 系统软件设计

系统软件设计主要包括协调器和终端节点的工作控制。

4.1 协调器程序设计

协调器主要负责网络的组建、维护和控制及数据处理的工作,网络的组建主要由协议栈内部完成,协调器主要工作流程如图4所示。

图4 协调器主要工作流程

协调器组网成功后,接收到终端节点发送的无线消息,并进行处理。根据接收到的无线消息节点的设备ID号判断是否成功接收所有节点的数据,若成功接收,则广播同步休眠指令,终端节点进入同步休眠。否则,记录未成功发送数据的节点,提醒其再次发送,通过重传机制增强数据传输的稳定性。若规定时间内,检测不到无线消息,协调器也将广播同步休眠指令,实现全网终端节点的同步休眠。

协调器向终端节点发送休眠指令后,将数据打包发送至上位机,同时启动定时器,在同步休眠节点醒来前t3时刻,连续发送t3时间长度的唤醒指令,确保异步休眠模式下的节点在同步节点醒来前被唤醒,并在下一个工作周期加入到同步网络中。

4.2 终端节点程序设计

终端节点加入网络后,周期性地采集和发送数据,并处理协调器的消息。终端节点主要工作流程如图5所示。

图5 终端节点主要工作流程

终端节点成功发送采集信息后,若在一定时间内收到协调器重发指令,则再次发送采集数据;若收到休眠指令,则进入同步休眠;其余情况进入异步休眠。异步模式下,若监听时间片内收到协调器唤醒指令,则进入休眠等待,醒来后和同步休眠节点一起进入同步模式。

5 实验结果分析

为了验证混合休眠策略在实际应用中的可行性,选取50个终端节点模块和1个协调器模块组成ZigBee星型网络,异步模式下采取200:1的睡醒比,在各终端节点程序中对异步休眠次数、唤醒周期数进行统计,求得每个节点的平均异步休眠次数和每次异步休眠的平均唤醒周期数,计算出各节点的平均待机电流,整理数据如表1所列。

表1 混合休眠模式测试数据

由测试数据可以看出,通信距离小于80 m时,异步休眠节点在1个工作周期内能被及时唤醒,节点的平均待机电流维持在2 μA以下。由于ZigBee的通信距离受环境因素影响较大,当通信距离继续增大、超出可靠通信范围时,网络性能不稳定,节点平均待机电流增加。因此,在正常通信状态下,混合休眠策略能有效降低节点功耗,提高网络同步性和稳定性。

结 语

[1] 蒋挺,赵成林.紫峰技术及其应用[M].北京:北京邮电大学出版社,2006.

[2] 谢琦,刘兰涛.用于ZigBee网络的同步休眠与唤醒算法[J].计算机应用,2010,30(1):12-14.

[3] 刘微珊,陈晓江.DRAD:一种基于异步休眠调度的无线传感器网络数据收集协议[J].计算机工程与科学,2010,32(11):40-43.

[4] Salman N,Rasool I,Kemp A H.Overview of the IEEE 802.15.4 standards family for Low Rate Wireless Personal Area Networks[J].Wireless Communication Systems, 2010(7):19-22.

[5] 孙俊杰.ZigBee应用向商用化逼近[J].电子设计应用,2007(11):132.

[6] 孙静,于洋.ZigBee无线传感器网络树状路由协议研究[J].通化师范学院学报,2011,32(6):25-36.

[7] Kinney P.ZigBee technology:Wirelesscontrol that simply works[EB/OL].[2014-12].https://docs.zigbee.org/zigbee-docs/dcn/03-1418.doc.

[8] 徐丽华,王宜怀.一种ZigBee网络的设计与实现[J].微计算机信息,2007(32):72-74.

范学升(硕士研究生)、宋戈(讲师),主要研究方向为嵌入式系统及应用;张德学(博士),主要研究方向为异构多核片上网络NoC建模与评估、SoC集成电路设计。

Atmel联合上海庆科推出面向IoT应用的超低功耗Wi-Fi平台

Atmel公司与动点科技评选出的“中国十大物联网初创企业”之一的上海庆科信息技术有限公司(MXCHIP)近日宣布,两家公司正在联合研发一款能够通过Wi-Fi安全接入云端的超低功耗物联网(IoT)平台,以便让设计人员能够将他们的物联网设备快速推向市场。该联合平台整合了Atmel的超低功耗的基于ARM Cortex-M4核的Atmel | SMART SAM G系列 MCU和SmartConnect WILC1000 Wi-Fi解决方案,以及 MXCHIP的MiCO IoT操作系统,可服务所有面向IoT应用的智能设备开发者。

伴随着物联网市场的快速增长,未来或将有数十亿电池供电型智能互连设备要求安全地接入云端。该新平台整合了Atmel面向可穿戴设备与传感器集线器管理而设计的成熟的超低功耗SAM G系列MCU、安全超低功耗SmartConnect WILC1000 Wi-Fi解决方案,以及MXCHIP面向下一代IoT应用的MiCO IoT操作系统。这一整合性平台能够让IoT应用设计者更有信心,设计出续航时间更长的电池供电型设备,并安全地将数据传输至云端。

Atmel的WILC1000是一款IEEE 802.11b/g/n IoT链路控制器,内置一个超低功耗Wi-Fi收发器和一个全集成功率放大器。该解决方案提供超长的通信距离,输出高达+20.5dBm,是家庭互连设备的理想选择。集成在一个 3.2 mm×3.2 mm WLCSP(晶圆级芯片尺寸封装)中的Atmel WILC1000链路控制器采用Atmel的SAM G MCU,后者是低功耗IoT应用的理想选择,经过功耗优化,在一个2.8 mm×2.84 mm封装中集成了大容量SRAM、高性能及高效率特性和浮点单元。与安全Wi-Fi技术结合使用时,这个联合平台可以直接互连,或者连接到一个局域网(LAN),从而实现系统的远程监控。在增强安全性能方面,该平台附带可选的Atmel加密设备ATECC508A以整合ECDH密钥协议,以便为应用于诸多领域的IoT节点当中的数据系统增强安全保密性,譬如家庭自动化、工业网络、配件、消耗品授权、医疗、手机等领域。

Multipoint Monitoring of Self-organized ZigBee Network Based on Mixture Sleep

Fan Xuesheng,Song Ge,Zhang Dexue

(College of Electronic,Communication and Physics,Shandong University of Science and Technology,Qingdao 266590,China)

The paper proposes a solution of multipoint monitoring self-organized network which based on mixture sleep through the analysis of problems in ZigBee multipoint monitoring network,such as nodes work out of sync and the network is not stable.Then completes the software design based on Z-Stack and tests in ZigBee star network.The experimental results show that the synchronicity and stability of the system are improved,as well as the nodes keep low consumption.

ZigBee;mixture sleep;low-power;self-organized;synchronization

TP274.5

A

士然

2014-12-17)

猜你喜欢

待机低功耗报文
基于J1939 协议多包报文的时序研究及应用
关机不断电 电表悄悄走——防止待机能耗成“隐藏的浪费”
遏制“超长预售”,需监管“超长待机”
“超长待机”的余震
一种高速低功耗比较器设计
CTCS-2级报文数据管理需求分析和实现
漫“话”抗疫·人与自我:“超长待机”的假期,你收获了什么?
浅析反驳类报文要点
一种用于6LoWPAN的低功耗路由协议
低功耗技术在驾驶行为管理模块中的应用