基于IEEE1588協(xié)議的精確時(shí)鐘同步算法改進(jìn)
隨著(zhù)計算機和互聯(lián)網(wǎng)的迅速發(fā)展,基于網(wǎng)絡(luò )的分布式應用越來(lái)越普及。為了確保分布式網(wǎng)絡(luò )化的終端能夠實(shí)現精確的數據采集、運行控制等實(shí)時(shí)性任務(wù),需要整個(gè)系統具有統一的參考時(shí)間,并且應該使所有分布式終端的本地時(shí)鐘與該系統時(shí)間保持同步。越來(lái)越多的工業(yè)測量和控制系統對時(shí)鐘同步的精度要求也越來(lái)越高,尤其是在大多數以工業(yè)以太網(wǎng)為基礎的控制系統中,已經(jīng)對時(shí)鐘同步提出了微妙級的同步要求。特別是在分布式控制系統中,考慮到實(shí)時(shí)性的調度和控制,對時(shí)間統一的要求就更為嚴格。傳統的時(shí)間同步技術(shù)網(wǎng)絡(luò )時(shí)間協(xié)議(Network time protocol,NTP)已經(jīng)無(wú)法滿(mǎn)足這種精度要求,比如對時(shí)鐘同步精度要求非??量痰腡DSCDMA網(wǎng)絡(luò )就采用GPS衛星信號進(jìn)行授時(shí),雖然精度可以保證,但是GPS系統造價(jià)昂貴、安裝復雜、兼容性差的缺點(diǎn)使得運營(yíng)商不得不考慮其替代方案。
本文引用地址:http://dyxdggzs.com/article/201609/303777.htm為了徹底解決分布式網(wǎng)絡(luò )化測控系統的實(shí)時(shí)性問(wèn)題,很多研究機構和測控公司紛紛投入人力、物力進(jìn)行這方面的研究與實(shí)驗。美國電氣和電子工程師協(xié)會(huì )(IEEE)開(kāi)發(fā)并發(fā)布了“網(wǎng)絡(luò )測量和控制系統的精密時(shí)鐘同步協(xié)議標準(Precision cloek synchronization Drotocol for networked measurement and control systems)”,即IEEE1588協(xié)議,簡(jiǎn)稱(chēng)為精確時(shí)間同步協(xié)議(Precision Time Protocol,PTP)。IEEE15 88協(xié)議的發(fā)展和成熟提供了一種低成本高精度的網(wǎng)絡(luò )時(shí)鐘同步解決方案。IEEE1588定義了一種用于由網(wǎng)絡(luò )通訊、本地計算和分布式對象等技術(shù)實(shí)現的現代測量和控制系統的精確時(shí)鐘同步協(xié)議。該協(xié)議支持系統范圍的時(shí)鐘同步,即可以用于廣域的以太網(wǎng)中,也可用于支持多點(diǎn)歡送的局域網(wǎng)中,能夠實(shí)現亞微妙級的時(shí)間同步精度。IEEE1588協(xié)議采用了發(fā)布者和接收者的P/S模式,主時(shí)鐘擔當時(shí)間發(fā)布者的角色,從時(shí)鐘擔當接受者的角色。IEEE1588精確時(shí)鐘同步算法由于其高同步精度、低成本實(shí)現、方便安裝與維護等優(yōu)越性,在供電管理、工業(yè)控制、測試和測量、網(wǎng)絡(luò )通信等鄰域得到了廣泛的應用。
1 IEEE1588同步原理
IEEE1588通過(guò)交換報文來(lái)確定主時(shí)鐘Master和從時(shí)鐘Slave之間的時(shí)間偏差及報文傳輸的網(wǎng)絡(luò )延遲。首先,主時(shí)鐘節點(diǎn)Master端周期性的發(fā)送同步報文(Sync消息)給從時(shí)鐘Slave端,Sync消息中包括其離開(kāi)主時(shí)鐘時(shí)的時(shí)間t1,如果采用兩步機制,則將同步包文時(shí)間戳t1打包到跟隨報文(Follow Up消息),緊接著(zhù)發(fā)送Follow Up消息。Slave接收后記錄該消息到達時(shí)間戳t2;從時(shí)鐘發(fā)Delay_Req消息給主時(shí)鐘,并記錄Delay_Req的離開(kāi)時(shí)刻t3;主時(shí)鐘記錄Delay_Req到達時(shí)間t4,并通過(guò)Delay_Resp把t4發(fā)回給從時(shí)鐘Slave。從時(shí)鐘Slave根據時(shí)間戳t1,t2,t3,t4來(lái)計算主從時(shí)鐘的時(shí)間偏差及傳輸的網(wǎng)絡(luò )延遲,并用時(shí)間偏差調整自身時(shí)鐘,直到與主時(shí)鐘同步,如圖1所示。

這里我們把主從時(shí)鐘的時(shí)間偏差記作△toffset,而發(fā)送同步報文Sync消息傳輸需要的時(shí)間記作△tdelay12,發(fā)送Delay_Req消息傳輸需要的時(shí)間記作△tdelay34,則它們有公式(1)關(guān)系。

從原理中可以看出傳輸的網(wǎng)絡(luò )延遲嚴重影響時(shí)鐘同步精度。傳輸的網(wǎng)絡(luò )延遲包含協(xié)議棧、存貯轉發(fā)及物理網(wǎng)絡(luò )上的傳輸時(shí)延。物理網(wǎng)絡(luò )所產(chǎn)生的線(xiàn)路延時(shí)一般是穩定的,而協(xié)議棧及存貯轉發(fā)在運行過(guò)程中由于受不確定因素影響會(huì )產(chǎn)生較大的抖動(dòng),這對同步的精度有較大的影響。為此IEEE1588協(xié)議提出了一種基于軟件和硬件相結合的時(shí)間同步方法,將時(shí)間戳的標記點(diǎn)下移到MAC層和PHY層之間,即圖2中的A點(diǎn),降低協(xié)議棧及業(yè)務(wù)流量對同步時(shí)間的影響,使同步過(guò)程中的主要延時(shí)為物理層延時(shí),目前已經(jīng)有很多Switch芯片、PHY芯片都支持硬件打時(shí)間戳。

2 時(shí)鐘同步算法的改進(jìn)
只有當網(wǎng)絡(luò )雙向傳輸是完全對稱(chēng)的,即△tdelay=△tdelay12=△tdelay34時(shí),才能夠保證同步的精確性。但在現實(shí)中的網(wǎng)絡(luò )系統中這只能是一種理想情況,在網(wǎng)絡(luò )上有較大負載的情況下,這種假設很難保證。為了有效減小遠程末端的串擾,目前使用網(wǎng)絡(luò )電纜在設計時(shí)就采用了一些非對稱(chēng)的設計,而許多收發(fā)器采用的也是不對稱(chēng)的傳送和接收路徑。在這種情況下,網(wǎng)絡(luò )負載越大,不同傳輸方向上延遲Delay越不可能相等,這樣就會(huì )使計算出的延時(shí)與實(shí)際的主從延時(shí)相差較大。另外,如果主時(shí)鐘和從時(shí)鐘使用的收發(fā)器的時(shí)間特性不同,這種不對稱(chēng)性將是無(wú)法補償的,從而嚴重影響時(shí)鐘同步精度?,F實(shí)中的網(wǎng)絡(luò )傳輸延遲肯定是非對稱(chēng)的,根據IEEE1588的規定,上文中給出的計算網(wǎng)絡(luò )延遲的式(3)可在必要時(shí)作出修改,以滿(mǎn)足實(shí)際情況的需要。
針對網(wǎng)絡(luò )傳輸路徑的不對稱(chēng)性,以及發(fā)送同步報文Sync消息傳輸需要的時(shí)間△tdelay12和發(fā)送Delay_Req消息傳輸需要的時(shí)間△tdelay34具有不同的更新周期,可以考慮一種基于加權平衡的同步改進(jìn)算法,所以若將網(wǎng)絡(luò )延遲△tdelay取為△tdelay12和△tdelay34的加權平均值,則可具有較好的精確度。不妨標記傳輸的網(wǎng)絡(luò )延遲△tdelay34為網(wǎng)絡(luò )延遲△tdelay12的w倍(w的測量計算不在本文討論,文獻給出了具體的實(shí)現方法)

在時(shí)間源穩定運行下,主從時(shí)鐘間的時(shí)間偏差△toffset測量值在統計學(xué)理論上符合正態(tài)分布,或者分布近似高斯分布。根據IEEE1588標準同步算法計算得出的時(shí)間偏差測量值△toffsset,若簡(jiǎn)單認為就是主從時(shí)鐘間的相位差而直接進(jìn)行相位的調整,由于時(shí)間偏差△toffset符合正態(tài)分布,則會(huì )出現從時(shí)鐘相位的正負矢量方向上的無(wú)間歇運動(dòng),時(shí)鐘的運行將很不穩定,不但起不到適中同步的效果,反而可能使系統的時(shí)間發(fā)生嚴重的錯亂。故在實(shí)現精確時(shí)間同步算法的時(shí)間同步系統中,由于網(wǎng)絡(luò )延時(shí)等不可確定因素的影響,計算得出的主從時(shí)鐘偏差測量值與理論值存在一定誤差,為進(jìn)一步提高時(shí)間同步精度,一般運用統計學(xué)方法計算大量主從時(shí)鐘偏差樣本的算術(shù)平均值,無(wú)限逼近主從相位偏差的數學(xué)期望值,即式(7)。不足的是當采集到的△toffset測量值不夠理想時(shí),計算出的算術(shù)平均值可能會(huì )遠離其期望值,或者在主時(shí)鐘源時(shí)間發(fā)生跳變時(shí),通常的調相操作可能會(huì )使得從時(shí)鐘相位發(fā)生較大位移,降低同步精度和系統的穩定性。
評論