?

用于WirelessHART網絡的高精度時間同步算法

2015-06-07 11:01李世興周桂平
儀表技術與傳感器 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國際會議上首次提出的,之后該研究領域引起了廣泛的關注。眾多的時間同步算法也相繼被各大學和研究機構陸續提出??偨Y起來,目前已經出現的算法可以分為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開發與設計
高抗擾高精度無人機著艦縱向飛行控制
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合