李世興,王 宏,周桂平
(1.中國(guó)科學(xué)院沈陽(yáng)自動(dòng)化研究所網(wǎng)絡(luò)化控制系統(tǒng)實(shí)驗(yàn)室,遼寧沈陽(yáng) 110016;2.中國(guó)科學(xué)院大學(xué),北京 100039;3.國(guó)網(wǎng)遼寧省電力有限公司電力科學(xué)研究院,遼寧沈陽(yáng) 110055)
?
用于WirelessHART網(wǎng)絡(luò)的高精度時(shí)間同步算法
李世興1,2,王 宏1,周桂平3
(1.中國(guó)科學(xué)院沈陽(yáng)自動(dòng)化研究所網(wǎng)絡(luò)化控制系統(tǒng)實(shí)驗(yàn)室,遼寧沈陽(yáng) 110016;2.中國(guó)科學(xué)院大學(xué),北京 100039;3.國(guó)網(wǎng)遼寧省電力有限公司電力科學(xué)研究院,遼寧沈陽(yáng) 110055)
為保證WirelessHART網(wǎng)絡(luò)節(jié)點(diǎn)時(shí)間嚴(yán)格一致,研究了WirelessHART網(wǎng)絡(luò)時(shí)隙建立過(guò)程、主動(dòng)同步和被動(dòng)同步時(shí)間同步機(jī)制,提出了keep-alive數(shù)據(jù)包周期的計(jì)算方法和基于TDMA時(shí)隙校正的高精度時(shí)間同步算法,該時(shí)間同步算法通過(guò)單個(gè)時(shí)隙計(jì)數(shù)器閉環(huán)微調(diào),使網(wǎng)絡(luò)節(jié)點(diǎn)間時(shí)鐘高度同步。使用WirelessHART通信平臺(tái)WH-M組網(wǎng)驗(yàn)證了該算法的效果,比使用該算法前降低83%的同步誤差。
WirelessHART;時(shí)間同步;主動(dòng)同步;被動(dòng)同步;高精度同步算法
微電子技術(shù)的發(fā)展和無(wú)線傳感器網(wǎng)絡(luò)的研究為過(guò)程工業(yè)無(wú)線化奠定了技術(shù)基礎(chǔ)。 工業(yè)過(guò)程環(huán)境復(fù)雜,有線傳輸信號(hào)的方式有造價(jià)成本高、不易于維護(hù),線纜易老化、腐蝕等缺點(diǎn)。正是在此背景下,2007年9月WirelessHART標(biāo)準(zhǔn)由HCF(Hart Communication Foundation)發(fā)布,加速了工業(yè)無(wú)線網(wǎng)絡(luò)的發(fā)展[1]。
WirelessHART是一種專(zhuān)門(mén)為過(guò)程控制領(lǐng)域而設(shè)計(jì)的網(wǎng)絡(luò)通信協(xié)議,其典型的網(wǎng)絡(luò)應(yīng)用如圖1所示。WirelessHART協(xié)議的發(fā)布,擴(kuò)展了傳統(tǒng)HART總線在工業(yè)現(xiàn)場(chǎng)領(lǐng)域的應(yīng)用。WirelessHART在數(shù)據(jù)鏈路層采用基于TDMA(Time Division Multiple Access)時(shí)分多路訪問(wèn)媒體接入控制機(jī)制,物理層采用IEEE STD802.15.4-2006通信規(guī)范[2]。由于MAC層采用TDMA機(jī)制,實(shí)現(xiàn)安全、可靠、無(wú)沖突通信的前提是整個(gè)通信網(wǎng)絡(luò)的時(shí)鐘必須同步[3]。
圖1 WirelessHART網(wǎng)絡(luò)結(jié)構(gòu)
TDMA 機(jī)制將時(shí)間軸劃分為多個(gè)小的時(shí)間片,多個(gè)連續(xù)的時(shí)間片組成一定長(zhǎng)度的超幀。如圖2所示,每個(gè)超幀內(nèi)的時(shí)間片稱(chēng)為時(shí)隙[4],1個(gè)超幀由若干個(gè)時(shí)隙組成。WirelessHART網(wǎng)絡(luò)中每個(gè)時(shí)隙固定為10 ms。在1個(gè)超幀內(nèi)給WirelessHART網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)分配一定數(shù)量的時(shí)隙以接收或發(fā)送信息[5],這就要求每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)均有精確的定時(shí)[6]。為了實(shí)現(xiàn)TDMA機(jī)制的正常工作,在WirelessHART網(wǎng)絡(luò)中選取AP(Access Point)節(jié)點(diǎn)作為時(shí)鐘基準(zhǔn),網(wǎng)絡(luò)中其他節(jié)點(diǎn)的時(shí)鐘則與之同步,或者與網(wǎng)絡(luò)管理者指定的時(shí)間源節(jié)點(diǎn)同步,最終形成統(tǒng)一的網(wǎng)絡(luò)時(shí)鐘。
圖2 TDMA機(jī)制示意圖
目前,GPS(Global Positioning System)和NTP(Network Time Protocol)時(shí)間同步方法是主流的網(wǎng)絡(luò)時(shí)間同步的方法。采用GPS進(jìn)行同步,可以獲得很高的同步精度,但是采用這種方法的成本較大并且設(shè)備的功耗很高。另外,當(dāng)環(huán)境GPS信號(hào)不穩(wěn)定時(shí),其時(shí)間同步精度急劇下降。采用NTP時(shí)間同步算法,雖然可以達(dá)到較小的時(shí)間同步誤差,但是它的計(jì)算量較大,對(duì)于在計(jì)算能力有限的無(wú)線網(wǎng)絡(luò)節(jié)點(diǎn)上應(yīng)用有很大的局限性[7]。在一般的無(wú)線傳感器網(wǎng)絡(luò)應(yīng)用中,傳感器節(jié)點(diǎn)往往功耗要求比較嚴(yán)格,設(shè)備體積較小且成本較低,以便能實(shí)現(xiàn)大范圍的部署[8]。此外,無(wú)線傳感器網(wǎng)絡(luò)通常部署的環(huán)境較為惡劣,所以目前主流的時(shí)間同步方法不能直接應(yīng)用于無(wú)線傳感器網(wǎng)絡(luò)。
時(shí)間同步研究課題是由Elson和Romer在2002年8月的HotNets-I國(guó)際會(huì)議上首次提出的,之后該研究領(lǐng)域引起了廣泛的關(guān)注。眾多的時(shí)間同步算法也相繼被各大學(xué)和研究機(jī)構(gòu)陸續(xù)提出??偨Y(jié)起來(lái),目前已經(jīng)出現(xiàn)的算法可以分為3類(lèi)[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)算法為代表。
在WirelessHART網(wǎng)絡(luò)中,時(shí)間同步技術(shù)不僅是節(jié)點(diǎn)定位、數(shù)據(jù)融合、同步測(cè)量等應(yīng)用的基礎(chǔ),更是通信網(wǎng)絡(luò)得以正常運(yùn)行的保障[13]。WirelessHART網(wǎng)絡(luò)中時(shí)間同步是將pair-wise和sender-receiver的同步方法相結(jié)合的時(shí)間同步機(jī)制,利用時(shí)隙內(nèi)部數(shù)據(jù)收發(fā)理想時(shí)刻點(diǎn)模型,建立起時(shí)間同步算法,通過(guò)正常通信數(shù)據(jù)包的收發(fā),實(shí)現(xiàn)全網(wǎng)的時(shí)間同步,避免了額外的時(shí)間同步包的傳輸,減少了網(wǎng)絡(luò)負(fù)荷,獲得了較高精度的時(shí)間同步的同時(shí)減少了網(wǎng)絡(luò)開(kāi)銷(xiāo)。
3.1 時(shí)隙建立
WirelessHART網(wǎng)絡(luò)時(shí)隙模型如圖3所示,每個(gè)時(shí)隙長(zhǎng)度固定為10 ms。在數(shù)據(jù)發(fā)送端,對(duì)于該節(jié)點(diǎn)的發(fā)送時(shí)隙,如果CCA(Clear Channel Assessment)功能使能,發(fā)送端等到時(shí)隙開(kāi)始后的TsCCAOffset時(shí)刻,進(jìn)行CCA檢測(cè),如果信道忙,則放棄本次發(fā)送,避免沖突[14]。如果信道空閑,發(fā)送端利用TsRxTx時(shí)段切換到數(shù)據(jù)發(fā)送模式,等到TsTxoffset時(shí)刻,將要發(fā)送的數(shù)據(jù)包發(fā)送出去,發(fā)送完成后,發(fā)送端等待TsRxAck Delay時(shí)長(zhǎng),切換到接收模式,如果在此后的TsAckWait時(shí)長(zhǎng)內(nèi),帶著正確響應(yīng)碼的ACK數(shù)據(jù)包被接收,則認(rèn)為本次發(fā)送成功,否則認(rèn)為本次通信失敗[15]。
圖3 WirelessHART網(wǎng)絡(luò)收發(fā)時(shí)隙模型
在數(shù)據(jù)接收端,對(duì)于該節(jié)點(diǎn)的接收時(shí)隙,在時(shí)隙開(kāi)始后的TsRxOffset時(shí)刻,接收節(jié)點(diǎn)處于接收狀態(tài),如果在TsRxWait時(shí)長(zhǎng)內(nèi)沒(méi)有接收到數(shù)據(jù)包,認(rèn)為該時(shí)隙沒(méi)有其他節(jié)點(diǎn)給其發(fā)送數(shù)據(jù)。如果正確的接收到了數(shù)據(jù)包,則在接收完畢開(kāi)始,在TsTxAck Delay時(shí)長(zhǎng)內(nèi)準(zhǔn)備ACK數(shù)據(jù)包,等到TsTxAck Delay時(shí)段結(jié)束,接收端將ACK數(shù)據(jù)包發(fā)送出去[16]。WirelessHART對(duì)發(fā)送數(shù)據(jù)時(shí)序有較嚴(yán)格的規(guī)定,只有在時(shí)隙內(nèi)部小段對(duì)準(zhǔn)的情況下,才可能在對(duì)應(yīng)的時(shí)隙正確地收發(fā)消息。
假設(shè)網(wǎng)絡(luò)N為1個(gè)已經(jīng)正常運(yùn)行的WirelessHART網(wǎng)絡(luò),節(jié)點(diǎn)A為網(wǎng)絡(luò)中的1個(gè)節(jié)點(diǎn),節(jié)點(diǎn)B為待加入節(jié)點(diǎn)。為便于網(wǎng)絡(luò)拓展,已經(jīng)在網(wǎng)的節(jié)點(diǎn)A會(huì)周期性地發(fā)送廣告包,當(dāng)節(jié)點(diǎn)B開(kāi)始加入時(shí),收發(fā)器處于接收狀態(tài),此時(shí)節(jié)點(diǎn)B處于主動(dòng)搜索態(tài),監(jiān)聽(tīng)網(wǎng)絡(luò)中所有的數(shù)據(jù)包。當(dāng)節(jié)點(diǎn)B接收到網(wǎng)絡(luò)的第一個(gè)數(shù)據(jù)包不為廣告包的情況下,此時(shí)節(jié)點(diǎn)B記錄自己數(shù)據(jù)包接收的本地時(shí)間RxLocal,此時(shí)節(jié)點(diǎn)B進(jìn)入包接收狀態(tài)。根據(jù)上述的接收理想模型,可以計(jì)算得出RxLocal-TsTxoffset-TsError為網(wǎng)絡(luò)N本時(shí)隙的起始時(shí)刻,這樣就有RxLocal-TsTxOffset-TsError+10 ms為本時(shí)隙的結(jié)束時(shí)刻,即下一個(gè)時(shí)隙的起始。在包已經(jīng)接收狀態(tài)下,節(jié)點(diǎn)B的監(jiān)聽(tīng)周期改為10 ms。在接收到廣告包之后,節(jié)點(diǎn)B提取廣告包中的網(wǎng)絡(luò)N的絕對(duì)時(shí)隙號(hào)ASN(Absolute Slot Number)信息,根據(jù)該信息修改本地ASN號(hào),從而建立起節(jié)點(diǎn)B的本地時(shí)隙,進(jìn)入時(shí)隙同步態(tài),實(shí)現(xiàn)節(jié)點(diǎn)B與全網(wǎng)時(shí)隙的同步。
3.2 主動(dòng)同步
無(wú)線網(wǎng)絡(luò)節(jié)點(diǎn)本地時(shí)間由晶振驅(qū)動(dòng)[17],由于不同晶振之間的誤差、時(shí)鐘漂移等原因,節(jié)點(diǎn)之間的時(shí)間偏差是存在的[18]。為了讓節(jié)點(diǎn)之間的時(shí)間偏差始終保持在較高的精度范圍之內(nèi),使之用于復(fù)雜的無(wú)線環(huán)境,必須進(jìn)行節(jié)點(diǎn)之間的時(shí)間同步。在1個(gè)WirelessHART網(wǎng)絡(luò)中,網(wǎng)絡(luò)管理者指定一部分節(jié)點(diǎn)為時(shí)間源節(jié)點(diǎn),另一部分為非時(shí)間源節(jié)點(diǎn),非時(shí)間源節(jié)點(diǎn)要同時(shí)間源節(jié)點(diǎn)進(jìn)行時(shí)間同步。
假設(shè)在上述WirelessHART網(wǎng)絡(luò)N中,節(jié)點(diǎn)A為節(jié)點(diǎn)B時(shí)間源節(jié)點(diǎn),節(jié)點(diǎn)B需要與節(jié)點(diǎn)A進(jìn)行時(shí)間同步。當(dāng)節(jié)點(diǎn)B采用主動(dòng)同步方式時(shí),節(jié)點(diǎn)B在時(shí)隙開(kāi)始后的TsTxOffset時(shí)刻發(fā)送數(shù)據(jù),節(jié)點(diǎn)A在時(shí)隙內(nèi)部的TsRxOffset時(shí)刻開(kāi)始的TsRxWait時(shí)長(zhǎng)內(nèi)處于接收狀態(tài),當(dāng)節(jié)點(diǎn)A在檢測(cè)到有數(shù)據(jù)包接收時(shí)刻記錄本地時(shí)間TA節(jié)點(diǎn)A正確接收數(shù)據(jù)包后發(fā)送ACK數(shù)據(jù)包給節(jié)點(diǎn)B,如圖4所示,ACK中的載荷為時(shí)間源節(jié)點(diǎn)A計(jì)算出來(lái)的節(jié)點(diǎn)B時(shí)間偏差值ΔTa=TsTxOffset+TsError-TA,節(jié)點(diǎn)B在收到這個(gè)ACK數(shù)據(jù)包之后,將自己本地時(shí)間TB修改為T(mén)B-ΔTa,實(shí)現(xiàn)節(jié)點(diǎn)B與節(jié)點(diǎn)A之間的時(shí)間同步。
圖4 主動(dòng)同步過(guò)程
3.3 被動(dòng)同步
當(dāng)被動(dòng)同步時(shí),時(shí)間源節(jié)點(diǎn)A在時(shí)隙開(kāi)始后的TsTxOffset時(shí)刻發(fā)送數(shù)據(jù),節(jié)點(diǎn)B在時(shí)隙內(nèi)部的TsRxOffset時(shí)刻開(kāi)始的TsRxWait時(shí)長(zhǎng)內(nèi)處于接收狀態(tài),當(dāng)節(jié)點(diǎn)B在檢測(cè)到有數(shù)據(jù)包接收時(shí)刻記錄本地時(shí)間TB,如圖5所示,計(jì)算自己與時(shí)間源節(jié)點(diǎn)A的時(shí)間偏差值,可以由等式算出ΔTp=TsTxOffset+TsError-TB,然后節(jié)點(diǎn)B將自己本地時(shí)間TB修改為T(mén)B+ΔTp,從而實(shí)現(xiàn)節(jié)點(diǎn)B與節(jié)點(diǎn)A之間的時(shí)間同步。
圖5 被動(dòng)同步過(guò)程
3.4 同步周期
從上述的時(shí)間同步機(jī)制可以看出,節(jié)點(diǎn)間的時(shí)間同步是依賴于通信過(guò)程的。如果在某段時(shí)間內(nèi)節(jié)點(diǎn)之間沒(méi)有發(fā)生通信,則節(jié)點(diǎn)無(wú)法進(jìn)行時(shí)間同步,因此為了維持本地時(shí)間與網(wǎng)絡(luò)時(shí)間一致,節(jié)點(diǎn)必須向其時(shí)鐘源節(jié)點(diǎn)發(fā)送keep-alive數(shù)據(jù)包以維持時(shí)間同步。設(shè)keep-alive數(shù)據(jù)包周期為P,在給定網(wǎng)絡(luò)節(jié)點(diǎn)之間時(shí)間偏差為ΔT的目標(biāo)上限,如果網(wǎng)絡(luò)節(jié)點(diǎn)誤差為±delt ppm(1 ppm=10-6),則有2×delt×P≤ΔT,從而可得P≤ΔT/(2×delt)。如果在時(shí)間同步的路徑上有n跳,則進(jìn)一步keep-alive周期為P≤ΔT/[(2×delt)(n+1)]。從上述的通信機(jī)制中可得,如果保證節(jié)點(diǎn)間正確通信,則有下面兩個(gè)不等式:
ΔT+TsRxOffset≤TsTxOffset
(1)
ΔT+TsTxOffset+TsError≤TsRxOffset+TsRxWait
(2)
在WirelessHART協(xié)議中,有
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,時(shí)間同步路徑為1跳的情況下,將不等式(1)~式(6)聯(lián)立,可解得ΔT≤800 μs,P≤40 s。
在WirelessHART網(wǎng)絡(luò)中,規(guī)定keep-alive包的周期為30 s,能滿足時(shí)間同步路徑為1跳情況下的要求。但是,WirelessHART網(wǎng)絡(luò)為mesh結(jié)構(gòu)拓?fù)?,必須要支持多跳路徑。由上面?jì)算結(jié)果可知,在多跳的時(shí)候WirelessHART協(xié)議中規(guī)定的30 s同步周期不能夠繼續(xù)滿足時(shí)間偏差足夠小的要求,會(huì)造成設(shè)備時(shí)間偏差過(guò)大,引起掉線。如果減小同步周期P,就會(huì)引起網(wǎng)絡(luò)中數(shù)據(jù)負(fù)荷增大,引起網(wǎng)絡(luò)擁塞。針對(duì)這個(gè)問(wèn)題,提出了TDMA時(shí)隙校正的高精度時(shí)間同步算法。
4.1 算法描述
假設(shè)在一個(gè)工業(yè)無(wú)線網(wǎng)絡(luò)N中,節(jié)點(diǎn)B需要與其時(shí)間源節(jié)點(diǎn)A進(jìn)行時(shí)間同步,為了更清楚的闡述同步算法,做出以下假設(shè):
(1)節(jié)點(diǎn)A和B之間時(shí)鐘偏差來(lái)源于晶振的時(shí)鐘漂移;
(2)時(shí)間源節(jié)點(diǎn)A的時(shí)鐘與網(wǎng)絡(luò)時(shí)鐘嚴(yán)格一致;
(3)每次時(shí)間同步完成的瞬間節(jié)點(diǎn)A和B的時(shí)鐘完全相同,即TDMA的時(shí)隙偏差為零。
如果2個(gè)節(jié)點(diǎn)某次時(shí)間同步的TDMA絕對(duì)時(shí)隙號(hào)ASN記為ASNold,此時(shí)節(jié)點(diǎn)B時(shí)隙長(zhǎng)度為SL,映射到本地的定時(shí)器計(jì)數(shù)個(gè)數(shù)為SCold,下一次兩個(gè)節(jié)點(diǎn)時(shí)間同步時(shí)候的時(shí)間偏差值的調(diào)整值為ΔTadj,此時(shí)的ASN為ASNnew, 兩次同步之間的絕對(duì)時(shí)隙號(hào)ASN差值為ΔASN=ASNnew-ASNold,如圖6所示,說(shuō)明兩次同步之間的時(shí)長(zhǎng)間隔ΔASN為個(gè)時(shí)隙長(zhǎng)度的總和。
圖6 基于TDMA時(shí)隙校正的高精度時(shí)間同步算法示意圖
采用TDMA時(shí)隙校正、高精度時(shí)間同步算法時(shí),節(jié)點(diǎn)B除了進(jìn)行正常的時(shí)間同步調(diào)整時(shí)隙偏差外,還需要調(diào)整時(shí)隙長(zhǎng)度計(jì)數(shù)器計(jì)數(shù)個(gè)數(shù)SCnew,其值可以通過(guò)下面的等式求得
SCnew=SCold+(ΔΤadj/ΔASN)×(SCold/SL)
式中規(guī)定(ΔTadj/ΔASN)×(SCold/SL)為時(shí)隙校正項(xiàng)SCadj。
這樣,網(wǎng)絡(luò)節(jié)點(diǎn)將按照新的時(shí)隙長(zhǎng)度運(yùn)行TDMA網(wǎng)絡(luò)時(shí)隙計(jì)時(shí)。
根據(jù)以上所述,基于TDMA的時(shí)間同步校正技術(shù)實(shí)現(xiàn)了TDMA網(wǎng)絡(luò)時(shí)隙的閉環(huán)控制,每次節(jié)點(diǎn)進(jìn)行時(shí)間偏差ΔΤadj調(diào)整后,還要將此偏差反饋到系統(tǒng)中,用以計(jì)算新的時(shí)隙長(zhǎng)度,其控制過(guò)程如圖7所示。
圖7 網(wǎng)絡(luò)時(shí)隙閉環(huán)控制
4.2 時(shí)隙校正項(xiàng)SCadj的討論
4.2.1 時(shí)隙校正項(xiàng)SCadj為整數(shù)
由于定時(shí)器計(jì)數(shù)值SCnew必須為整數(shù),若校正項(xiàng)SCadj為整數(shù),那完全可以直接計(jì)算得到SCnew的數(shù)值。
4.2.2 時(shí)隙校正項(xiàng)SCadj為非整數(shù)
若SCadj為非整數(shù),則較小調(diào)整值SCadj_s=[SCadj], 較大調(diào)整值SCadj_1=[SCadj]+1,根據(jù)選取校正精度delt(0.1,0.01……)得到等價(jià)周期CN=1/delt,則有小數(shù)部分值為Madj=SCadj-SCadj_s,則小數(shù)部分對(duì)應(yīng)的時(shí)隙調(diào)整間隔為SI=1/Madj。
取SIs=[SI],SI1=[SI]+1 ,在CN個(gè)ASN周期內(nèi),以SIs為周期均勻調(diào)整NS次,以SI1周期調(diào)整NL次,則有如下等價(jià)約束關(guān)系:
NS+NL=CN×Madj
(7)
SIS×NS+SI1×NL=CN
(8)
SI1-SIs=1
(9)
聯(lián)立式(7)、式(8)、式(9),解得:
NS=CN×Madj×SI1-CN
NL=CN-CN×Madj×SIs
在1個(gè)TDMA工業(yè)無(wú)線網(wǎng)絡(luò)中,采用時(shí)隙調(diào)整值為SCadj_1時(shí)候,以SIs為周期,調(diào)整NS次,然后以SI1為周期,調(diào)整NL次,其余不滿足周期要求的時(shí)隙采用調(diào)整值SCadj_s,這樣就實(shí)現(xiàn)了在CN個(gè)時(shí)隙的時(shí)段內(nèi),實(shí)現(xiàn)了平均每個(gè)時(shí)隙調(diào)整值與非整數(shù)SCadj完全等價(jià)。
4.3 高精度時(shí)間同步算法效果測(cè)試
WirelessHART網(wǎng)絡(luò)同步效果測(cè)試在研發(fā)的WirelessHART通信模塊WH-M上實(shí)現(xiàn)。WH-M模塊采用MC13224處理器射頻單芯片解決方案,系統(tǒng)時(shí)鐘為24 MHz,漂移誤差為±10 ppm。測(cè)試平臺(tái)還包括WirelessHART智能網(wǎng)關(guān)、PC機(jī)和串口調(diào)試工具SSCOM32.exe。搭建包含有5個(gè)測(cè)試節(jié)點(diǎn)的WirelessHART網(wǎng)絡(luò),用于測(cè)試該算法效果。
當(dāng)網(wǎng)絡(luò)組建完畢,在未采用高精度時(shí)間同步算法和采用了該算法的情況下,設(shè)定時(shí)間同步周期為30 s,選取20 min時(shí)長(zhǎng)的窗口,分別觀察記錄時(shí)間窗口內(nèi)每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)各自的時(shí)間同步調(diào)整值ΔΤadj。根據(jù)ΔTadj的值求取該算法采用前后5個(gè)節(jié)點(diǎn)的平均時(shí)間誤差,繪制其曲線,如圖8所示。比較采用該算法前后的誤差,可以得出,該技術(shù)使網(wǎng)絡(luò)之間節(jié)點(diǎn)的平均誤差縮小了83%。假如按照前面的硬件平臺(tái)組網(wǎng),選取精度delt=0.1,以24 MHz的晶振4分頻為時(shí)隙定時(shí)器時(shí)鐘源,30 s時(shí)長(zhǎng)的keep-alive周期,網(wǎng)絡(luò)規(guī)模直接可以擴(kuò)大到6跳,可見(jiàn)采用該算法明顯提高了網(wǎng)絡(luò)支持的跳數(shù)。
圖8 采用高精度時(shí)間同步算法校正前后時(shí)間誤差曲線
此外,該算法對(duì)于工業(yè)無(wú)線網(wǎng)絡(luò)提高通信可靠性、降低網(wǎng)絡(luò)整體能耗以及減小網(wǎng)絡(luò)負(fù)荷有重要意義[19-20],并且該技術(shù)對(duì)于采用TDMA機(jī)制的網(wǎng)絡(luò)具有通用性。
本文在總結(jié)已有的無(wú)線網(wǎng)絡(luò)時(shí)間同步算法的基礎(chǔ)上,對(duì)WirelessHART網(wǎng)絡(luò)時(shí)間同步機(jī)制進(jìn)行了深入細(xì)致的研究,提出了與WirelessHART網(wǎng)絡(luò)時(shí)間同步密切相關(guān)的keep-alive數(shù)據(jù)包周期的計(jì)算方法,針對(duì)WirelessHART協(xié)議中Keep-alive數(shù)據(jù)包周期存在的問(wèn)題,提出了基于TDMA時(shí)隙校正的高精度時(shí)間同步算法,最后利用開(kāi)發(fā)的試驗(yàn)平臺(tái),實(shí)現(xiàn)了WirelessHART時(shí)間同步機(jī)制,搭建起WirelessHART網(wǎng)絡(luò),利用試驗(yàn)驗(yàn)證了此高精度時(shí)間同步算法的效果。對(duì)于該項(xiàng)課題,下一步有待于研究的情況為在設(shè)備休眠狀態(tài)下,設(shè)計(jì)相關(guān)算法,實(shí)現(xiàn)設(shè)備的休眠前后不同設(shè)備的TDMA時(shí)隙嚴(yán)格對(duì)齊一致,以實(shí)現(xiàn)WilessHART網(wǎng)絡(luò)的正常通信。
[1] 趙亦兵,吳志盛,龐濤.基于無(wú)線HART網(wǎng)絡(luò)的時(shí)鐘同步算法研究.自動(dòng)化與儀器儀表,2010(4):3-5.
[2] IEC 62591.HCF_SPEC-065 2.4GHz DSSSO-QPSK Physical Layer Specification.
[3] 周思捷.基于IEEE 1588無(wú)線網(wǎng)絡(luò)時(shí)間同步技術(shù)研究:[學(xué)位論文].上海:上海交通大學(xué),2013.
[4] 李興海,肖連.一種適用于TDMA組網(wǎng)的時(shí)隙同步技術(shù).價(jià)值工程,2013,32(8):197-198.
[5] 王平,劉其琛,王恒,等.一種適用于ISA100.11a工業(yè)無(wú)線網(wǎng)絡(luò)的通信調(diào)度方法.儀器儀表學(xué)報(bào),2011,32(5):1189-1195.
[6] 易成濤,周紅進(jìn).無(wú)線傳感器網(wǎng)絡(luò)時(shí)間同步方案比較研究.計(jì)算機(jī)與數(shù)字工程,2013,41(6):974-977.
[7] 汪富強(qiáng),曾鵬,于海斌.一種低開(kāi)銷(xiāo)的雙向時(shí)間同步算法.儀器儀表學(xué)報(bào),2011,32(6):1357-1363.
[8] 李金鳳,劉沁,張治國(guó),等.基于無(wú)線傳感器網(wǎng)絡(luò)的礦井瓦斯監(jiān)測(cè)系統(tǒng).儀表技術(shù)與傳感器,2013(9):73-76.
[9] 錢(qián)志鴻,王義君.面向物聯(lián)網(wǎng)的無(wú)線傳感器網(wǎng)絡(luò)綜述.電子與信息學(xué)報(bào),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協(xié)議棧的設(shè)計(jì)與實(shí)現(xiàn):[學(xué)位論文].成都:電子科技大學(xué),2013.
[15] 左蕓.工業(yè)無(wú)線mesh網(wǎng)絡(luò)若干技術(shù)的研究:[學(xué)位論文].上海:華東理工大學(xué),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] 劉鐵流,巫詠群.一種新的基于分簇的無(wú)線傳感器網(wǎng)絡(luò)多跳節(jié)能路由協(xié)議.信息與控制,2012,41(1):27-32.
[20] 胡升澤,包衛(wèi)東,王博,等.無(wú)線傳感器網(wǎng)絡(luò)基于多元簇首的分簇?cái)?shù)據(jù)收集算法.電子與信息學(xué)報(bào),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
國(guó)家高技術(shù)研究發(fā)展計(jì)劃資助項(xiàng)目(2011AA040103)
2014-04-23 收修改稿日期:2014-11-25
TP23
A
1002-1841(2015)04-0084-04
李世興(1986—),博士研究生,主要研究領(lǐng)域?yàn)楣I(yè)自動(dòng)化和物聯(lián)網(wǎng)。E-mail:lisx1986@163.com 王宏(1963—),研究員,碩士,主要研究領(lǐng)域?yàn)榍度胧较到y(tǒng)和計(jì)算機(jī)網(wǎng)絡(luò)。E-mail:wang@sina.cn