APP下载

用于WirelessHART网络的高精度时间同步算法

2015-06-07李世兴周桂平

仪表技术与传感器 2015年4期
关键词:时隙高精度数据包

李世兴,王 宏,周桂平

(1.中国科学院沈阳自动化研究所网络化控制系统实验室,辽宁沈阳 110016;2.中国科学院大学,北京 100039;3.国网辽宁省电力有限公司电力科学研究院,辽宁沈阳 110055)



用于WirelessHART网络的高精度时间同步算法

李世兴1,2,王 宏1,周桂平3

(1.中国科学院沈阳自动化研究所网络化控制系统实验室,辽宁沈阳 110016;2.中国科学院大学,北京 100039;3.国网辽宁省电力有限公司电力科学研究院,辽宁沈阳 110055)

为保证WirelessHART网络节点时间严格一致,研究了WirelessHART网络时隙建立过程、主动同步和被动同步时间同步机制,提出了keep-alive数据包周期的计算方法和基于TDMA时隙校正的高精度时间同步算法,该时间同步算法通过单个时隙计数器闭环微调,使网络节点间时钟高度同步。使用WirelessHART通信平台WH-M组网验证了该算法的效果,比使用该算法前降低83%的同步误差。

WirelessHART;时间同步;主动同步;被动同步;高精度同步算法

0 引言

微电子技术的发展和无线传感器网络的研究为过程工业无线化奠定了技术基础。 工业过程环境复杂,有线传输信号的方式有造价成本高、不易于维护,线缆易老化、腐蚀等缺点。正是在此背景下,2007年9月WirelessHART标准由HCF(Hart Communication Foundation)发布,加速了工业无线网络的发展[1]。

WirelessHART是一种专门为过程控制领域而设计的网络通信协议,其典型的网络应用如图1所示。WirelessHART协议的发布,扩展了传统HART总线在工业现场领域的应用。WirelessHART在数据链路层采用基于TDMA(Time Division Multiple Access)时分多路访问媒体接入控制机制,物理层采用IEEE STD802.15.4-2006通信规范[2]。由于MAC层采用TDMA机制,实现安全、可靠、无冲突通信的前提是整个通信网络的时钟必须同步[3]。

图1 WirelessHART网络结构

1 WirelessHART网络中的TDMA机制

TDMA 机制将时间轴划分为多个小的时间片,多个连续的时间片组成一定长度的超帧。如图2所示,每个超帧内的时间片称为时隙[4],1个超帧由若干个时隙组成。WirelessHART网络中每个时隙固定为10 ms。在1个超帧内给WirelessHART网络中的每个节点分配一定数量的时隙以接收或发送信息[5],这就要求每个网络节点均有精确的定时[6]。为了实现TDMA机制的正常工作,在WirelessHART网络中选取AP(Access Point)节点作为时钟基准,网络中其他节点的时钟则与之同步,或者与网络管理者指定的时间源节点同步,最终形成统一的网络时钟。

图2 TDMA机制示意图

2 传统的时间同步方式

目前,GPS(Global Positioning System)和NTP(Network Time Protocol)时间同步方法是主流的网络时间同步的方法。采用GPS进行同步,可以获得很高的同步精度,但是采用这种方法的成本较大并且设备的功耗很高。另外,当环境GPS信号不稳定时,其时间同步精度急剧下降。采用NTP时间同步算法,虽然可以达到较小的时间同步误差,但是它的计算量较大,对于在计算能力有限的无线网络节点上应用有很大的局限性[7]。在一般的无线传感器网络应用中,传感器节点往往功耗要求比较严格,设备体积较小且成本较低,以便能实现大范围的部署[8]。此外,无线传感器网络通常部署的环境较为恶劣,所以目前主流的时间同步方法不能直接应用于无线传感器网络。

时间同步研究课题是由Elson和Romer在2002年8月的HotNets-I国际会议上首次提出的,之后该研究领域引起了广泛的关注。众多的时间同步算法也相继被各大学和研究机构陆续提出。总结起来,目前已经出现的算法可以分为3类[9]:基于receiver-receiver的同步方法,以RBS(Reference broadcast Synchronization)同步算法[10]为代表;基于pair-wise的同步方法,以TPSN[11](Timing-Sync Protocol for Sensor Networks)、LTS(Lightweight Tree-based Synchronization)同步算法为代表;基于sender-receiver的同步方法,以DMTS[12](Delay Measurement Time Synchronization)、FTSP(Flooding Time Synchronization)算法为代表。

3 WirelessHART网络中时间同步方式

在WirelessHART网络中,时间同步技术不仅是节点定位、数据融合、同步测量等应用的基础,更是通信网络得以正常运行的保障[13]。WirelessHART网络中时间同步是将pair-wise和sender-receiver的同步方法相结合的时间同步机制,利用时隙内部数据收发理想时刻点模型,建立起时间同步算法,通过正常通信数据包的收发,实现全网的时间同步,避免了额外的时间同步包的传输,减少了网络负荷,获得了较高精度的时间同步的同时减少了网络开销。

3.1 时隙建立

WirelessHART网络时隙模型如图3所示,每个时隙长度固定为10 ms。在数据发送端,对于该节点的发送时隙,如果CCA(Clear Channel Assessment)功能使能,发送端等到时隙开始后的TsCCAOffset时刻,进行CCA检测,如果信道忙,则放弃本次发送,避免冲突[14]。如果信道空闲,发送端利用TsRxTx时段切换到数据发送模式,等到TsTxoffset时刻,将要发送的数据包发送出去,发送完成后,发送端等待TsRxAck Delay时长,切换到接收模式,如果在此后的TsAckWait时长内,带着正确响应码的ACK数据包被接收,则认为本次发送成功,否则认为本次通信失败[15]。

图3 WirelessHART网络收发时隙模型

在数据接收端,对于该节点的接收时隙,在时隙开始后的TsRxOffset时刻,接收节点处于接收状态,如果在TsRxWait时长内没有接收到数据包,认为该时隙没有其他节点给其发送数据。如果正确的接收到了数据包,则在接收完毕开始,在TsTxAck Delay时长内准备ACK数据包,等到TsTxAck Delay时段结束,接收端将ACK数据包发送出去[16]。WirelessHART对发送数据时序有较严格的规定,只有在时隙内部小段对准的情况下,才可能在对应的时隙正确地收发消息。

假设网络N为1个已经正常运行的WirelessHART网络,节点A为网络中的1个节点,节点B为待加入节点。为便于网络拓展,已经在网的节点A会周期性地发送广告包,当节点B开始加入时,收发器处于接收状态,此时节点B处于主动搜索态,监听网络中所有的数据包。当节点B接收到网络的第一个数据包不为广告包的情况下,此时节点B记录自己数据包接收的本地时间RxLocal,此时节点B进入包接收状态。根据上述的接收理想模型,可以计算得出RxLocal-TsTxoffset-TsError为网络N本时隙的起始时刻,这样就有RxLocal-TsTxOffset-TsError+10 ms为本时隙的结束时刻,即下一个时隙的起始。在包已经接收状态下,节点B的监听周期改为10 ms。在接收到广告包之后,节点B提取广告包中的网络N的绝对时隙号ASN(Absolute Slot Number)信息,根据该信息修改本地ASN号,从而建立起节点B的本地时隙,进入时隙同步态,实现节点B与全网时隙的同步。

3.2 主动同步

无线网络节点本地时间由晶振驱动[17],由于不同晶振之间的误差、时钟漂移等原因,节点之间的时间偏差是存在的[18]。为了让节点之间的时间偏差始终保持在较高的精度范围之内,使之用于复杂的无线环境,必须进行节点之间的时间同步。在1个WirelessHART网络中,网络管理者指定一部分节点为时间源节点,另一部分为非时间源节点,非时间源节点要同时间源节点进行时间同步。

假设在上述WirelessHART网络N中,节点A为节点B时间源节点,节点B需要与节点A进行时间同步。当节点B采用主动同步方式时,节点B在时隙开始后的TsTxOffset时刻发送数据,节点A在时隙内部的TsRxOffset时刻开始的TsRxWait时长内处于接收状态,当节点A在检测到有数据包接收时刻记录本地时间TA节点A正确接收数据包后发送ACK数据包给节点B,如图4所示,ACK中的载荷为时间源节点A计算出来的节点B时间偏差值ΔTa=TsTxOffset+TsError-TA,节点B在收到这个ACK数据包之后,将自己本地时间TB修改为TB-ΔTa,实现节点B与节点A之间的时间同步。

图4 主动同步过程

3.3 被动同步

当被动同步时,时间源节点A在时隙开始后的TsTxOffset时刻发送数据,节点B在时隙内部的TsRxOffset时刻开始的TsRxWait时长内处于接收状态,当节点B在检测到有数据包接收时刻记录本地时间TB,如图5所示,计算自己与时间源节点A的时间偏差值,可以由等式算出ΔTp=TsTxOffset+TsError-TB,然后节点B将自己本地时间TB修改为TB+ΔTp,从而实现节点B与节点A之间的时间同步。

图5 被动同步过程

3.4 同步周期

从上述的时间同步机制可以看出,节点间的时间同步是依赖于通信过程的。如果在某段时间内节点之间没有发生通信,则节点无法进行时间同步,因此为了维持本地时间与网络时间一致,节点必须向其时钟源节点发送keep-alive数据包以维持时间同步。设keep-alive数据包周期为P,在给定网络节点之间时间偏差为ΔT的目标上限,如果网络节点误差为±delt ppm(1 ppm=10-6),则有2×delt×P≤ΔT,从而可得P≤ΔT/(2×delt)。如果在时间同步的路径上有n跳,则进一步keep-alive周期为P≤ΔT/[(2×delt)(n+1)]。从上述的通信机制中可得,如果保证节点间正确通信,则有下面两个不等式:

ΔT+TsRxOffset≤TsTxOffset

(1)

ΔT+TsTxOffset+TsError≤TsRxOffset+TsRxWait

(2)

在WirelessHART协议中,有

2 020 μs≤TsTxOffset≤2 220 μs

(3)

1 020 μs≤TsRxOffset≤1 220 μs

(4)

2 100 μs≤TsRxWait≤2 300 μs

(5)

TsError=192 μs

(6)

在给定晶振误差delt=±10 ppm,时间同步路径为1跳的情况下,将不等式(1)~式(6)联立,可解得ΔT≤800 μs,P≤40 s。

在WirelessHART网络中,规定keep-alive包的周期为30 s,能满足时间同步路径为1跳情况下的要求。但是,WirelessHART网络为mesh结构拓扑,必须要支持多跳路径。由上面计算结果可知,在多跳的时候WirelessHART协议中规定的30 s同步周期不能够继续满足时间偏差足够小的要求,会造成设备时间偏差过大,引起掉线。如果减小同步周期P,就会引起网络中数据负荷增大,引起网络拥塞。针对这个问题,提出了TDMA时隙校正的高精度时间同步算法。

4 基于TDMA时隙校正的高精度时间同步算法

4.1 算法描述

假设在一个工业无线网络N中,节点B需要与其时间源节点A进行时间同步,为了更清楚的阐述同步算法,做出以下假设:

(1)节点A和B之间时钟偏差来源于晶振的时钟漂移;

(2)时间源节点A的时钟与网络时钟严格一致;

(3)每次时间同步完成的瞬间节点A和B的时钟完全相同,即TDMA的时隙偏差为零。

如果2个节点某次时间同步的TDMA绝对时隙号ASN记为ASNold,此时节点B时隙长度为SL,映射到本地的定时器计数个数为SCold,下一次两个节点时间同步时候的时间偏差值的调整值为ΔTadj,此时的ASN为ASNnew, 两次同步之间的绝对时隙号ASN差值为ΔASN=ASNnew-ASNold,如图6所示,说明两次同步之间的时长间隔ΔASN为个时隙长度的总和。

图6 基于TDMA时隙校正的高精度时间同步算法示意图

采用TDMA时隙校正、高精度时间同步算法时,节点B除了进行正常的时间同步调整时隙偏差外,还需要调整时隙长度计数器计数个数SCnew,其值可以通过下面的等式求得

SCnew=SCold+(ΔΤadj/ΔASN)×(SCold/SL)

式中规定(ΔTadj/ΔASN)×(SCold/SL)为时隙校正项SCadj。

这样,网络节点将按照新的时隙长度运行TDMA网络时隙计时。

根据以上所述,基于TDMA的时间同步校正技术实现了TDMA网络时隙的闭环控制,每次节点进行时间偏差ΔΤadj调整后,还要将此偏差反馈到系统中,用以计算新的时隙长度,其控制过程如图7所示。

图7 网络时隙闭环控制

4.2 时隙校正项SCadj的讨论

4.2.1 时隙校正项SCadj为整数

由于定时器计数值SCnew必须为整数,若校正项SCadj为整数,那完全可以直接计算得到SCnew的数值。

4.2.2 时隙校正项SCadj为非整数

若SCadj为非整数,则较小调整值SCadj_s=[SCadj], 较大调整值SCadj_1=[SCadj]+1,根据选取校正精度delt(0.1,0.01……)得到等价周期CN=1/delt,则有小数部分值为Madj=SCadj-SCadj_s,则小数部分对应的时隙调整间隔为SI=1/Madj。

取SIs=[SI],SI1=[SI]+1 ,在CN个ASN周期内,以SIs为周期均匀调整NS次,以SI1周期调整NL次,则有如下等价约束关系:

NS+NL=CN×Madj

(7)

SIS×NS+SI1×NL=CN

(8)

SI1-SIs=1

(9)

联立式(7)、式(8)、式(9),解得:

NS=CN×Madj×SI1-CN

NL=CN-CN×Madj×SIs

在1个TDMA工业无线网络中,采用时隙调整值为SCadj_1时候,以SIs为周期,调整NS次,然后以SI1为周期,调整NL次,其余不满足周期要求的时隙采用调整值SCadj_s,这样就实现了在CN个时隙的时段内,实现了平均每个时隙调整值与非整数SCadj完全等价。

4.3 高精度时间同步算法效果测试

WirelessHART网络同步效果测试在研发的WirelessHART通信模块WH-M上实现。WH-M模块采用MC13224处理器射频单芯片解决方案,系统时钟为24 MHz,漂移误差为±10 ppm。测试平台还包括WirelessHART智能网关、PC机和串口调试工具SSCOM32.exe。搭建包含有5个测试节点的WirelessHART网络,用于测试该算法效果。

当网络组建完毕,在未采用高精度时间同步算法和采用了该算法的情况下,设定时间同步周期为30 s,选取20 min时长的窗口,分别观察记录时间窗口内每个网络节点各自的时间同步调整值ΔΤadj。根据ΔTadj的值求取该算法采用前后5个节点的平均时间误差,绘制其曲线,如图8所示。比较采用该算法前后的误差,可以得出,该技术使网络之间节点的平均误差缩小了83%。假如按照前面的硬件平台组网,选取精度delt=0.1,以24 MHz的晶振4分频为时隙定时器时钟源,30 s时长的keep-alive周期,网络规模直接可以扩大到6跳,可见采用该算法明显提高了网络支持的跳数。

图8 采用高精度时间同步算法校正前后时间误差曲线

此外,该算法对于工业无线网络提高通信可靠性、降低网络整体能耗以及减小网络负荷有重要意义[19-20],并且该技术对于采用TDMA机制的网络具有通用性。

5 结论

本文在总结已有的无线网络时间同步算法的基础上,对WirelessHART网络时间同步机制进行了深入细致的研究,提出了与WirelessHART网络时间同步密切相关的keep-alive数据包周期的计算方法,针对WirelessHART协议中Keep-alive数据包周期存在的问题,提出了基于TDMA时隙校正的高精度时间同步算法,最后利用开发的试验平台,实现了WirelessHART时间同步机制,搭建起WirelessHART网络,利用试验验证了此高精度时间同步算法的效果。对于该项课题,下一步有待于研究的情况为在设备休眠状态下,设计相关算法,实现设备的休眠前后不同设备的TDMA时隙严格对齐一致,以实现WilessHART网络的正常通信。

[1] 赵亦兵,吴志盛,庞涛.基于无线HART网络的时钟同步算法研究.自动化与仪器仪表,2010(4):3-5.

[2] IEC 62591.HCF_SPEC-065 2.4GHz DSSSO-QPSK Physical Layer Specification.

[3] 周思捷.基于IEEE 1588无线网络时间同步技术研究:[学位论文].上海:上海交通大学,2013.

[4] 李兴海,肖连.一种适用于TDMA组网的时隙同步技术.价值工程,2013,32(8):197-198.

[5] 王平,刘其琛,王恒,等.一种适用于ISA100.11a工业无线网络的通信调度方法.仪器仪表学报,2011,32(5):1189-1195.

[6] 易成涛,周红进.无线传感器网络时间同步方案比较研究.计算机与数字工程,2013,41(6):974-977.

[7] 汪富强,曾鹏,于海斌.一种低开销的双向时间同步算法.仪器仪表学报,2011,32(6):1357-1363.

[8] 李金凤,刘沁,张治国,等.基于无线传感器网络的矿井瓦斯监测系统.仪表技术与传感器,2013(9):73-76.

[9] 钱志鸿,王义君.面向物联网的无线传感器网络综述.电子与信息学报,2013,35(1) :215-227.

[10] ELSON J,GIROD L,ESTRIN D,et al.Fine-grained network time synchronization using reference broadcasts.Procceedings of the 5th SOS-DI,New York,2002.

[11] GANERIWAL P,KUMER P,SRIVASTAVA M B.Timing-sync protocol for sensor networks.Procceedings of the 1st Conference on Embedded Networked Sensor Systems,New York,2003.

[12] SU P.Delay measurement time synchronization for wireless sensor networks.BerKeley:Intel Research Berkeley Lab,2003.

[13] FERRIGNO L,PACIELLO V,PACIELLO A.Experimental characterization of synchronization protocols for instrument wireless interface.IEEE Transactions on Instrumentation and Measurement,2011,60 (3):1037-1046.

[14] 凌健中.WirelessHART协议栈的设计与实现:[学位论文].成都:电子科技大学,2013.

[15] 左芸.工业无线mesh网络若干技术的研究:[学位论文].上海:华东理工大学,2013.

[16] IEC 62591.HCF_SPEC-075 TDMA Data Link Layer Specification.

[17] WU Y,CHAUDNARI Q,SERPEDIN E.Clock synchronization of wireless sensor networks.IEEE Signal Processing Magazine,2011,28(1):124-138.

[18] RHEE I K,LEE J,KIM J,et al.Clock synchronization in wireless sensor networks:an overview.Sensors,2009(9) :56-85.

[19] 刘铁流,巫咏群.一种新的基于分簇的无线传感器网络多跳节能路由协议.信息与控制,2012,41(1):27-32.

[20] 胡升泽,包卫东,王博,等.无线传感器网络基于多元簇首的分簇数据收集算法.电子与信息学报,2014,36(2):403-408.

High-precision Time-sync Algorithm for WirelessHART Networks

LI Shi-xing1,2,WANG Hong1,ZHOU Gui-ping3

(1.Lab.of Networked Control System,Shenyang Institute of Automation,Chinese Academy of Sciences, Shenyang 110016,China; 2.University of Chinese Academy of Sciences,Beijing 100039,China; 3.Electric Power Research Institute of State Grid Liaoning Electric Power Co.,Ltd.,Shenyang 110055,China)

In order to make WirelessHART network node clock be synchronized,the time-sync mechanism was researched including time slot setting up,active time-sync and passive time-sync steps for a WirelessHART network.The way to calculate keep-alive packet cycle and the high-precision time-sync algorithm was presented.The time-sync algorithm adopts single time slot closed-loop adjustment method to realize the whole network high-precision synchronization.The test effect on WirelessHART platform WH-M proves that time difference between nodes was reduced by 83%.

WirelessHART; time-sync; active time-sync; passive time-sync; high-precision time-sync algorithm

国家高技术研究发展计划资助项目(2011AA040103)

2014-04-23 收修改稿日期:2014-11-25

TP23

A

1002-1841(2015)04-0084-04

李世兴(1986—),博士研究生,主要研究领域为工业自动化和物联网。E-mail:lisx1986@163.com 王宏(1963—),研究员,硕士,主要研究领域为嵌入式系统和计算机网络。E-mail:wang@sina.cn

猜你喜欢

时隙高精度数据包
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于时分多址的网络时隙资源分配研究
C#串口高效可靠的接收方案设计
基于市场机制的多机场时隙交换放行策略
复用段单节点失效造成业务时隙错连处理
基于Niosll高精度超声波流量计的研究
高精度PWM式DAC开发与设计
高精度PWM式DAC开发与设计
高抗扰高精度无人机着舰纵向飞行控制