一种基于休眠机制的网络时间同步协议

2017-12-22 07:43牛宇卿
自动化仪表 2017年12期
关键词:苏醒时钟校正

牛宇卿,杨 挺

(天津大学电气自动化与信息工程学院,天津 300072)

一种基于休眠机制的网络时间同步协议

牛宇卿,杨 挺

(天津大学电气自动化与信息工程学院,天津 300072)

时间同步技术是网络系统正常运行的基础。为了降低能耗,无线传感器网络(WSN)需要采用周期性休眠机制。针对目前WSN时间同步协议较少考虑网络节点的休眠问题,提出了一种适用于采用休眠机制的WSN时间同步协议。该协议包括递增序列号(ISN)机制和时钟校正机制。ISN同步机制能够在唤醒休眠节点的同时,将各网络节点同步到一致的时间点。随后,各节点利用本地时钟与参考节点时钟间的时钟漂移差值,对本地时钟进行校正。基于硬件平台的测试表明,该协议能够以较低的同步成本达到较高的同步精度;与传统时间同步协议相比,协议的执行不再受节点休眠状态影响,并且节点的唤醒过程与时间同步相结合,减少了同步消息的交换量;此外,协议中的时钟校正机制还可有效延长再同步周期。该协议还为众多基于时间同步的应用,如网络通信协议、时分多址(TDMA)调度及节点定位等,奠定了必要的基础。

无线网络; 时间同步协议; 通信; 休眠机制; 时钟漂移; 时钟校正; 传感器

0 引言

无线传感器网络(wireless sensor network,WSN)是由大量的传感器节点通过无线通信技术互联的网络,可对采集的数据进行处理和传输。WSN已逐渐应用于建筑安全、环境监测等领域[1]。多数WSN应用,如确定事件时序、协调休眠以及时分多址(time division multiple access,TDMA)通信协议等[2],都需要时间同步协议的支持。因此,时间同步协议是构建WSN的重要基础。

Su Ping[3]提出的延迟测量时间同步协议(delay measurement time synchronization,DMTS),采用单向消息传递机制。在该协议中,被同步节点利用接收到的主节点时钟信息设置本地时钟,以达成同步。传感器网络时间同步协议(timing-sync protocol for sensor networks,TPSN)是基于双向消息交换机制协议的代表[4]。该协议首先在全网建立树状分级结构,随后在各层级间进行同步,直到所有节点均达到同步为止。Elson等[5]提出的参考广播同步(reference broadcast synchronization,RBS)协议采用了接收端-接收端同步方式。其中,被同步节点通过交换彼此的同步消息接收时间戳来达成同步。Maggs M K[6]等提出了协商时间同步协议,利用协商算法消除节点间的时钟相位差和漂移。Schenato L等[7]提出了基于协商和谣传算法的平均时间同步(average time synchronization,ATS)协议,通过对来自相邻节点的时间信息进行平均计算以达成同步。Wu J等[8]提出了一种基于分簇的时间同步策略,各个簇头被赋予不同的权值,时间同步过程在簇间和簇内相继进行。

然而,上述协议均未考虑到WSN休眠机制的影响。在实际应用中,WSN经常部署于偏远无人区域,使用电池供电[9],并采用休眠/苏醒交替的工作模式。此时,上述协议往往无法执行。

为此,本文提出了一种适用于WSN休眠机制的时间同步协议。该协议包括2种机制:①递增序列号(incremental serial number,ISN)同步机制,用于唤醒并同步WSN节点;②时钟校正机制,可对节点时钟进行周期性校正,以延长再同步时间。

1 时钟模型与时钟漂移

1.1 时钟模型

WSN 节点的时钟由晶体振荡器(简称晶振)和计数器组成。计数器通过对晶振产生的脉冲计数来计算时间。节点通过晶振获取本地时间T与实际时间t的关系。时钟模型一般为一阶线性方程:

T=ρt+β+ε

(1)

对节点间的时间同步操作,即将β视为0。

1.2 时钟漂移

在式(1) 中,理想时钟的漂移率ρ=1。然而,实际时钟的振荡频率与其标称频率一般存在偏差。该偏差将导致实际时钟的漂移率ρ略大于或小于1。在应用中,将此偏差称为晶振精度。例如,精度为10×10-6的晶振会与UTC标准时间产生最大为10 μs/s 的时间差。综上所述,由于时钟漂移的影响,为了长期保持WSN网络的同步状态,需要周期性地进行同步操作,同时伴随大量的消息收发。对于WSN节点,数据无线收发消耗的电量通常远大于本地CPU计算消耗的电量。为了节约电能,除ISN同步机制外,本协议还包括了时钟校正机制。其利用节点的本地计算代替部分同步消息的收发,可避免频繁同步操作带来的能耗。

2 递增序列号同步机制

对于采用休眠/苏醒交替模式的WSN,时间同步时,被同步的节点均须处于苏醒状态。本文提出的ISN同步机制将节点的唤醒与同步过程相结合,最终将网络节点同步到一致的时间点。

大量基于WSN的应用都需要在网络中建立分层结构,如WSN路由算法和数据汇聚树算法等[10]。因此,本文假设待同步WSN已建立类似TPSN协议中的分层结构。其中,根节点为0级,其邻近分支节点为第1级,依次类推,最后一级节点为第n级。第(i-1)级节点利用ISN同步机制唤醒并同步第i级节点。

同步过程需要设置消息发送节点。为了唤醒下一级休眠节点,该节点将持续发送包含步进值为1的ISN和唤醒消息的数据包。ISN同步机制如图1所示。

图1 ISN同步机制示意图

网络节点具有时长为Δtw的苏醒窗口。如果在Δtw内接收到唤醒消息,表明节点退出休眠;否则,再次进入时长为Δts的休眠状态。由此可知,节点处于一个总时长为(Δtw+Δts)的苏醒/休眠循环内。

WSN网络刚建立时,各节点的本地时钟初始值存在随机差异,因此网络节点苏醒的时刻不同。设级别为i的3个节点a、b、c的苏醒时刻分别为t1、t2、t3。在t0时刻,由第(i-1)级的节点连续发送时长为Tmsg、包含唤醒消息和ISN的数据包。第一个数据包中的ISN为1,第二个为2,依次类推,最后一个为n。为保证所有节点均被唤醒,需使Tmsg≥Δtw+Δts。a、b、c节点随机苏醒并接收到唤醒消息,若节点收到的ISN为N(1≤N≤n),则根据式(2) 延时到tvirtual(虚拟时间点),每个节点的延时长度为tdelay。

(2)

在ISN发送完毕的时刻,消息发送节点与a、b、c节点均被统一到tvirtual时刻。此时,4个节点的本地时钟值不同,但它们均具有一致的虚拟时间。上述节点只要在tvirtual时刻将本地时钟改写为相同数值,即可将虚拟时间转换为统一的本地时间。

3 时钟校正机制

由于时钟漂移的影响,同步完成后,节点仅在tvirtual时刻是同步的。从这一时刻起,节点间会重新出现时钟偏差。时钟漂移导致的苏醒窗口移动过程如图2所示。

图2 苏醒窗口移动过程示意图

图2中:t为节点的公共参考时间,并假设在上次时间同步后的一段时间内,第(i-1)级节点与第i级节点a之间不存在时钟漂移,而a与b之间存在时钟漂移,会导致它们之间的苏醒窗口Δtw产生t1-t0的偏差。Δt为节点a苏醒窗口结束时与节点b苏醒窗口开始时之差,即t2-t1。设平均发送1个ISN的耗时为tcritical。假设在t0时刻,第(i-1)级节点持续发送唤醒消息。如果Δt≥tcritical,则节点b至少可收到1个唤醒消息;如果Δt

由式(1)可知,由于时钟漂移的影响,网络节点间难以保持绝对持续同步。一般认为,只要节点间的时钟偏差能够保持在某一区间内,即同步。对于上述WSN节点,各节点的苏醒窗口起始时刻偏差可作为节点时间同步效果的度量。假如图2中的该偏差能够长期小于Δtw,则其效果等价于将网络节点间的时钟偏差保持在Δtw内。因此,节点可按如下步骤进行周期性的时钟校正。

①由第(i-1)级某节点利用ISN同步机制,同步所有第i级节点。

②经过若干休眠周期后,步骤①中的第(i-1)级节点将包含本地时间戳t的消息发送给所有的i级节点。时间戳t由MAC层负责截取,并在发送前写入消息中。

③第i级某节点a利用本地时钟值对消息接收的时间打时间戳ta,并令Δclock=ta-t-δ。其中:δ为消息传播时延。

RT=Δclock+RT

(3)

式中:RT为本地时钟寄存器。

式(3)表示:首先,从RT获取当前时钟值;然后,作Δclock+RT运算;最后,将运算结果再次写入RT中。校正完成后,即可长时间地将节点间时钟偏差保持在Δtw内。

4 试验结果

为了对ISN和时钟校正机制进行验证,试验采用了自主开发的WSN节点。其微控制器采用C8051F921芯片,无线通信模块采用Si4463芯片。上述器件均支持休眠模式。节点还具有实时时钟(real time clock,RTC)功能,用于支持休眠/苏醒模式的切换,并采用锂电池供电。因此,该节点具有WSN节点的典型特征。

4.1 ISN同步机制测试结果

试验采用3个WSN节点,消息发送节点为S,其余2个节点A、节点B均采用休眠机制。试验原理如图1所示。苏醒窗口Δtw为10 ms,休眠时间Δts为4 990 ms。由于节点上电工作时间随机,因此它们的起始时间差Δtw也是随机的。为了唤醒节点,节点S发送时长为6 s、包含ISN的唤醒消息。节点A、节点B被唤醒后,对tdelay进行计算,并延时到tvirtual,最后在该时刻通过GPIO产生1个正脉冲。试验将双通道示波仪测量节点A、节点B的脉冲时间差ΔP作为同步效果的度量。

50次同步机制试验的结果如下:最小值为9.2 μs,最大值为96.0 μs,平均值为44.4 μs,标准差为25.3 μs。

50次同步机制试验的ΔP分布如图3所示。试验结果表明,ISN同步机制的最大同步误差小于100 μs。

图3 ΔP分布示意图

表1给出了ISN同步机制与TPSN[4]协议、RBS[5]协议和ATS[7]协议的精度。Kumar R等在Berkeley motes平台上测试了TPSN的精度。由于其试验中的时钟取自节点CPU时钟,系统休眠后,该时钟将无法工作。而本试验采用的RTC时钟在休眠模式下仍可持续工作。

表1 各种同步方式精度

4.2 时钟校正机制测试结果

试验采用消息发送节点S和待校正节点R。节点S与节点R首先被同步到tvirtual时间点。从该时刻开始,经过60次休眠循环后,节点S将本地时钟值发送给节点R;节点R据此求出Δclock,然后每间隔5 min利用Δclock校正自身的本地时钟值。节点S和节点R在每次苏醒时产生1个正脉冲。使用双通道示波仪每隔2.5 min测量两脉冲的时间差ΔP,作为校正效果的度量,在对照组中则未进行校正。试验持续进行60 min,每隔5 min测量节点S与节点R之间的时钟漂移量。试验在22 ℃的恒温空调室内进行。时钟校正试验结果如表2所示。

为使结果更加直观,每次测量结果均减去节点S与节点R的初始时钟差,即ΔP初始值为0。

表2 时钟校正试验结果

由表2可知:无校正机制时,时钟漂移率约为1.08 ms/min,试验进行60 min后,漂移总量为65.03 ms;而加入校正机制后,60 min后的漂移总量为0.304 ms,仅为前者的1/213。60 min试验中时钟漂移量对比如图4所示。

图4 时钟漂移量对比示意图

为了验证时钟校正机制对时间同步操作间隔时间的影响,本试验在节点S和节点R中实现了TPSN协议,并将同步差值上限设定为10 ms 。如2个节点间的时钟差值在此上限内,就可以认为这2个节点是同步的;反之,则不同步。经测试,节点S和节点R每5 min的相对时钟漂移量为8.7 ms。为了使节点S和节点R的同步差值保持在该上限内,每隔约344 s,TPSN就需要进行1次同步;而采用时钟校正机制后,经过约32.9 h,相对时钟漂移量才会达到同步差值上限,相当于将网络节点的再同步时间延长了约344倍。

5 结束语

针对目前WSN时间同步协议较少考虑节点休眠的问题,本文提出了一种结合ISN和时钟校正机制的时间同步的协议。试验结果表明,与其他协议相比,本协议可将节点的唤醒与时间同步过程相结合,同时有效延长了网络节点的再同步周期,降低了同步能量消耗,适用于采用休眠机制的WSN。

[1] OJHA T,MISRA S,RAGHUWANSHI N S.Wireless sensor networks for agriculture:the state of the art in practice and future challenges[J].Computers & Electronics in Agriculture,2015,118(3):66-84.

[2] 徐祥振,汪成亮.基于节点密度与 TDMA 的无线传感器网络集簇协议[J].传感技术学报,2015,28(11):1689-1694.

[3] SU P.Delay measurement time synchronization for wireless sensor networks[J].Intel Research Berkeley Lab,2003(6):1-10.

[4] GANERIWAL S,KUMAR R,SRIVASTAVA M B.Timing-syncprotocol for sensor networks[C]//Proceedings of the 1st International Conference on Embedded Networked Sensor Systems,2003:138-149.

[5] ELSON J,GIROD L,ESTRIN D.Fine-grained network time synchronization using reference broadcasts[J].ACM SIGOPS Operating Systems Review,2002,36(SI):147-163.

[6] MAGGS M K,O’KEEFE S G,THIEL D V.Consensus clock synchronization for wireless sensor networks[J].Sensors Journal IEEE,2012,12(6):2269-2277.

[7] SCHENATO L,GAMBA G.A distributed consensus protocol for clock synchronization in wireless sensor network[C]//46th IEEE Conference on Decision and Control,2007:2289-2294.

[8] WU J,ZHANG L,BAI Y.Cluster-based consensus time synchronization for wireless sensor networks [J].IEEE Sensors Journal,2015,15(3):1404-1413.

[9] 徐洁,丁国强,熊明.低功耗无线传感终端网络系统设计与实现[J].自动化仪表,2015,36(1):59-62.

[10]于摇标.一种树型层次结构的无线传感器网络应用研究[J].自动化仪表,2013,34(4):50-54.

NetworkTimeSynchronizationProtocolBasedonSleepingMechanism

NIU Yuqing,YANG Ting

(School of Electrical and Information Engineering,Tianjin University,Tianjin 300072,China)

Time synchronization technique provides the basis for the normal operation of network system.To save energy,the wireless sensor network(WSN) usually has to adopt sleeping mechanism.At present,the sleeping mechanism for network nodes does not be considered in the time synchronization protocol for WSN.Aiming at this problem,the time synchronization protocol based on sleeping mechanism which is suitable for WSN is proposed.The protocol includes an incremental serial number(ISN) synchronization mechanism and a clock correction mechanism.The ISN mechanism is able to synchronize a set of network nodes to consistent time points while waking them up.Then the network nodes will correct their local clocks in accordance with the time drift between their clock and that of the reference node.According to the experiment based on the hardware test platform,the proposed protocol is able to reach a high synchronization precision with relatively low cost;compared with traditional time synchronization protocols,the execution of the proposed protocol will not be affected by the sleeping state of the node,and the wake-up process of the node is combined with time synchronization,thus the amount of synchronization messages exchanged is reduced,and the resynchronization period can be effectively extended by the clock correction mechanism of the protocol.Meanwhile,the proposed protocol will also be the cornerstone for many applications based on time synchronization,such as network communication protocols,time division multiple access(TDMA) scheduling and node positioning,etc.

Wireless network; Time synchronization protocol; Communication; Sleep mechanism; Clock drift; Clock correction; Sensor

修改稿收到日期:2017-04-13

国家自然科学基金资助项目(61571324)、国际科技合作专项基金资助项目(2013DFA11040)、天津市自然科学基金资助重点项目(16JCZDJC30900)

牛宇卿(1984—),男,在读博士研究生,主要从事无线传感器网络、物联网方向的研究,E-mail:niuyuq@foxmail.com;杨挺(通信作者),男,博士,教授,主要从事无线传感器网络、电力信息物理融合系统方向的研究,E-mail:yangting@tju.edu.cn

TH86;TP393

A

10.16086/j.cnki.issn1000-0380.201712013

猜你喜欢
苏醒时钟校正
植物人也能苏醒
别样的“时钟”
古代的时钟
劉光第《南旋記》校正
绿野仙踪
建立在校正系统上的强大实力Sonance所能士i12
会搬家的苏醒树
在Lightroom中校正镜头与透视畸变
机内校正
有趣的时钟