《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于PTP授時(shí)的高可靠時(shí)間統(tǒng)一系統(tǒng)的應(yīng)用研究
基于PTP授時(shí)的高可靠時(shí)間統(tǒng)一系統(tǒng)的應(yīng)用研究
2019年電子技術(shù)應(yīng)用第5期
馬 昭,葛文雙,胡愛蘭,張瑞權(quán),張志成
華北計(jì)算機(jī)系統(tǒng)工程研究所,北京100083
摘要: 現(xiàn)如今,各領(lǐng)域?qū)r(shí)間統(tǒng)一系統(tǒng)的性能要求越來越高。以往的時(shí)間統(tǒng)一系統(tǒng)大多使用網(wǎng)絡(luò)時(shí)間協(xié)議(Network Time Protocol,NTP)進(jìn)行授時(shí),但該協(xié)議只能提供毫秒級的同步精度,且主時(shí)鐘一般為固定不變的,無法滿足測控等應(yīng)用領(lǐng)域的高精度、高魯棒性的要求?;诖?,對基于IEEE1588 標(biāo)準(zhǔn)(Precision Time Protocol,PTP)授時(shí)的高可靠時(shí)間統(tǒng)一系統(tǒng)的應(yīng)用進(jìn)行了深入研究。本系統(tǒng)采用PTP協(xié)議進(jìn)行授時(shí),可使系統(tǒng)時(shí)間同步精度達(dá)到納秒級,并以最佳主時(shí)鐘算法(Best Master Clock,BMC)為理論基礎(chǔ),設(shè)計(jì)并實(shí)現(xiàn)手動(dòng)設(shè)置與自動(dòng)選擇兩種模式的雙機(jī)熱備功能,滿足了測控等應(yīng)用領(lǐng)域?qū)r(shí)間統(tǒng)一系統(tǒng)的高性能要求。相比較以往的時(shí)間統(tǒng)一系統(tǒng),本系統(tǒng)大大提升了系統(tǒng)的授時(shí)精度與魯棒性。
中圖分類號: TP393.1
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.190161
中文引用格式: 馬昭,葛文雙,胡愛蘭,等. 基于PTP授時(shí)的高可靠時(shí)間統(tǒng)一系統(tǒng)的應(yīng)用研究[J].電子技術(shù)應(yīng)用,2019,45(5):38-42.
英文引用格式: Ma Zhao,Ge Wenshuang,Hu Ailan,et al. Application research of high reliability time unified system based on PTP strategy[J]. Application of Electronic Technique,2019,45(5):38-42.
Application research of high reliability time unified system based on PTP strategy
Ma Zhao,Ge Wenshuang,Hu Ailan,Zhang Ruiquan,Zhang Zhicheng
National Computer System Engineering Research Institute of China,Beijing 100083,China
Abstract: Nowadays, the performance requirements of time unified system in various fields are getting higher and higher. In the past, most time unified system used NTP for time synchronization, but the protocol can only provide millisecond-level synchronization accuracy, and the master clock is generally fixed, which cannot meet the requirements of high precision and high robustness in application fields such as measurement and control. Based on this, this paper conducts an in-depth study on the application of high-reliability time unified system based on PTP timing. The system adopts the PTP protocol for timing, which can make the system time synchronization precision reach nanosecond level, and based on the BMC algorithm,the system is designed and implemented the double mode of manual setting and automatic selection for the dual-system hot standby function, which satisfies the high-performance requirements of the time unified system in the application fields such as measurement and control. Compared with the previous time unified system, the system greatly improves the timing accuracy and robustness of time unified system.
Key words : high precision timing;PTP;dual-system hot standby;time unified system;measurement and control

0 引言

    隨著計(jì)算機(jī)和通信技術(shù)的飛速發(fā)展,時(shí)間統(tǒng)一系統(tǒng)測控、航天、工業(yè)控制等領(lǐng)域的應(yīng)用越來越廣泛,例如,時(shí)間統(tǒng)一系統(tǒng)為指揮控制系統(tǒng)、航空航天信息處理系統(tǒng)、工業(yè)控制網(wǎng)絡(luò)等提供精確、可靠、統(tǒng)一的時(shí)間,同時(shí),各應(yīng)用領(lǐng)域?qū)λ璧臅r(shí)間統(tǒng)一系統(tǒng)的性能要求也越來越高[1-2]。

    時(shí)間統(tǒng)一系統(tǒng)的主要功能是提供標(biāo)準(zhǔn)的時(shí)間和脈沖中斷信號,使其所處的信息系統(tǒng)有一個(gè)統(tǒng)一的時(shí)間標(biāo)準(zhǔn)。目前在時(shí)間統(tǒng)一系統(tǒng)中應(yīng)用最廣泛的時(shí)間同步協(xié)議是NTP協(xié)議,但是該協(xié)議的同步精度為毫秒級,無法滿足高精度要求的應(yīng)用場景[3-4]。并且,在NTP協(xié)議的條件下,系統(tǒng)主時(shí)鐘一般都是固定的,一旦系統(tǒng)中的主時(shí)鐘出現(xiàn)異常,整個(gè)系統(tǒng)的授時(shí)就會癱瘓,所以,提升時(shí)間統(tǒng)一系統(tǒng)的魯棒性也是一個(gè)亟需解決的問題。因此,設(shè)計(jì)并實(shí)現(xiàn)一個(gè)高精度、高可靠性的時(shí)間統(tǒng)一系統(tǒng),提升時(shí)間統(tǒng)一系統(tǒng)的同步精度、魯棒性,對于測控、航天、工業(yè)控制等領(lǐng)域具有重大現(xiàn)實(shí)意義。

1 系統(tǒng)架構(gòu)

    本文基于PTP協(xié)議構(gòu)建了一個(gè)高可靠的時(shí)間統(tǒng)一系統(tǒng),系統(tǒng)由時(shí)間服務(wù)器和時(shí)統(tǒng)軟件兩部分組成。在本系統(tǒng)中,PTP時(shí)間服務(wù)器為整個(gè)系統(tǒng)的時(shí)間源,時(shí)統(tǒng)軟件接收時(shí)間源的同步信號,校正本地時(shí)間。PTP時(shí)間服務(wù)器通過網(wǎng)絡(luò)交換機(jī)連接服務(wù)器,服務(wù)器配置專用網(wǎng)卡來接收網(wǎng)絡(luò)傳輸?shù)腜TP信號;安裝于服務(wù)器上的時(shí)統(tǒng)軟件獲得網(wǎng)卡的時(shí)間信息,進(jìn)行解碼并輸出對時(shí)信號和脈沖中斷信號。系統(tǒng)架構(gòu)圖如圖1所示。

ck2-t1.gif

2 基于PTP授時(shí)的雙機(jī)熱備的實(shí)現(xiàn)

    為了解決時(shí)間同步精度較低、魯棒性較差等問題,本系統(tǒng)采用PTP協(xié)議進(jìn)行網(wǎng)絡(luò)授時(shí),且本系統(tǒng)采用兩臺時(shí)間服務(wù)器及BMC算法來實(shí)現(xiàn)系統(tǒng)的雙機(jī)熱備功能。

2.1 PTP同步原理

    PTP協(xié)議的時(shí)間戳記錄在MAC層,消除了在NTP協(xié)議中一直存在的協(xié)議棧的延遲和抖動(dòng),從而提高授時(shí)精度。PTP協(xié)議主要通過4種類型的報(bào)文來測量時(shí)鐘偏差和網(wǎng)絡(luò)延時(shí),分別是:Sync報(bào)文、Follow_Up報(bào)文、Delay_Req報(bào)文、Delay_Resp報(bào)文[5-7]。其具體的時(shí)間同步過程如圖2所示。

ck2-t2.gif

    具體原理如下:

    (1)主時(shí)鐘在t1時(shí)刻發(fā)送Sync消息:如果為1588 one-step機(jī)制,則Sync消息包含有發(fā)送時(shí)間;如果為1588 two-step機(jī)制,則Sync消息僅發(fā)送發(fā)送時(shí)間值的估計(jì)值,即t1的估計(jì)值,然后在Follow_Up消息中再發(fā)送精確的t1值。

    (2)從時(shí)鐘記下收到Sync消息的時(shí)間t2,然后在t3時(shí)刻發(fā)送Delay_Req消息。

    (3)主時(shí)鐘記下收到Delay_Req消息的時(shí)間t4,然后發(fā)送攜帶t4值的Delay_Resp消息給從時(shí)鐘。

    (4)假設(shè)主從時(shí)鐘之間的鏈路延遲是對稱的,從時(shí)鐘根據(jù)已知的t1、t2、t3、t4值,計(jì)算出Offset值與Delay值。

    計(jì)算過程如下:

    假設(shè)從時(shí)鐘超前主時(shí)鐘的值為Offset,則有:

     ck2-gs1-4.gif

則本地時(shí)間糾正值為本地時(shí)間值減去Offset值與Delay值之和。

2.2 雙機(jī)熱備實(shí)現(xiàn)原理

    在時(shí)間統(tǒng)一系統(tǒng)中,主時(shí)鐘的異常會導(dǎo)致整個(gè)系統(tǒng)的授時(shí)癱瘓。在航天、測控、工業(yè)控制等領(lǐng)域,這種情況的出現(xiàn)對所需授時(shí)的信息系統(tǒng)的影響是致命的,它可能會帶來無法挽回的損失。因此,在這些要求較高的應(yīng)用領(lǐng)域中實(shí)現(xiàn)時(shí)間統(tǒng)一系統(tǒng)的雙機(jī)熱備,并進(jìn)一步達(dá)到雙機(jī)切換的無縫銜接,是十分有必要的。對此問題的解決,BMC算法提供了很好的理論依據(jù)。雙機(jī)熱備原理圖如圖3所示。

ck2-t3.gif

2.2.1 雙機(jī)熱備工作模式

    在BMC算法的理論基礎(chǔ)上,為了防止算法運(yùn)行過程中受到無法預(yù)測的干擾而導(dǎo)致系統(tǒng)授時(shí)出現(xiàn)故障,本系統(tǒng)共實(shí)現(xiàn)了兩種雙機(jī)熱備工作模式。兩種雙機(jī)熱備工作模式的實(shí)現(xiàn)原理如下:

    (1)手動(dòng)設(shè)置主時(shí)鐘

    根據(jù)本系統(tǒng)實(shí)際工作環(huán)境,網(wǎng)絡(luò)授時(shí)采用發(fā)送/接收組播數(shù)據(jù)包的模式進(jìn)行相關(guān)報(bào)文的交互,因此,PTP時(shí)間服務(wù)器運(yùn)行狀態(tài)穩(wěn)定后(鎖定后),可將其中一臺設(shè)置為組播模式,其余的設(shè)置為單播模式,且將所有的PTP時(shí)間服務(wù)器設(shè)置為較高的同一優(yōu)先級。

    通過如上的設(shè)置,實(shí)現(xiàn)了當(dāng)前網(wǎng)絡(luò)中只有一臺設(shè)備發(fā)包,進(jìn)而實(shí)現(xiàn)熱備功能。其中,保持為組播模式的PTP時(shí)間服務(wù)器為主時(shí)鐘,單播模式的為備時(shí)鐘。另外,傳輸模式中單播與組播模式可無縫切換無需重啟服務(wù),保障了運(yùn)行的可靠性。

    (2)自動(dòng)選擇主時(shí)鐘

    ①正常工作情況

    首先,整個(gè)時(shí)間統(tǒng)一系統(tǒng)會選擇一臺PTP時(shí)間服務(wù)器作為主時(shí)鐘,該模式的工作原理為:當(dāng)PTP時(shí)間服務(wù)器開機(jī)并鎖定后,均從時(shí)統(tǒng)專網(wǎng)上獲取時(shí)間報(bào)文,并從中解析出所需的參數(shù)值,再根據(jù)BMC算法的相應(yīng)參數(shù)值進(jìn)行判斷,符合相應(yīng)條件的即為主時(shí)鐘(Master),其余的為從時(shí)鐘(Slave)。然后,主時(shí)鐘對整個(gè)系統(tǒng)進(jìn)行授時(shí)。

    ②異常工作情況

    主時(shí)鐘(Master)發(fā)生故障或物理鏈路波動(dòng)導(dǎo)致授時(shí)精度下降時(shí),系統(tǒng)會根據(jù)BMC算法的判定結(jié)果選定新的主時(shí)鐘,即主時(shí)鐘(Master)自動(dòng)切換為數(shù)據(jù)質(zhì)量較好的從時(shí)鐘(Slave)。

2.2.2 最佳主時(shí)鐘算法

    BMC算法能夠?qū)φ麄€(gè)時(shí)間統(tǒng)一系統(tǒng)進(jìn)行自適應(yīng)授時(shí)調(diào)整,它包括數(shù)據(jù)集比較算法和端口狀態(tài)決策算法[7-9]。

    (1)數(shù)據(jù)集比較算法

    在PTP時(shí)間統(tǒng)一系統(tǒng)中,每個(gè)協(xié)議節(jié)點(diǎn)定期向其他協(xié)議節(jié)點(diǎn)發(fā)送的Announce報(bào)文中攜帶了該節(jié)點(diǎn)及其父節(jié)點(diǎn)的時(shí)鐘質(zhì)量信息[10]。數(shù)據(jù)集比較算法的比較對象是端口收到的時(shí)鐘質(zhì)量信息和本地時(shí)鐘default DS數(shù)據(jù)集[11]。其需比較的具體信息及比較流程如圖4、圖5所示,圖中A、B分別代表端口收到的時(shí)鐘質(zhì)量信息和本地時(shí)鐘default DS數(shù)據(jù)集。

ck2-t4.gif

ck2-t5.gif

    (2)端口狀態(tài)決策算法

    端口狀態(tài)決策算法的數(shù)據(jù)來源為:本地時(shí)鐘默認(rèn)數(shù)據(jù)(D0)、PTP端口最佳報(bào)文(Erbest)、最佳報(bào)文(Ebest)。對于任一PTP端口r,對其收到的來自其他PTP端口的有效報(bào)文,依次使用數(shù)據(jù)集比較算法,就可以得到PTP端口最佳報(bào)文(Erbest)[11-12]。然后,對每個(gè)端口的Erbest依次使用數(shù)據(jù)集比較算法,就可以得到Ebest。

    根據(jù)從這3個(gè)數(shù)據(jù)源得到數(shù)據(jù)的比較以及對本地時(shí)鐘等級的判定,系統(tǒng)得出本地端口應(yīng)處的狀態(tài),包括主時(shí)鐘狀態(tài)(M1、M2、M3)、從時(shí)鐘狀態(tài)(S1)、待機(jī)狀態(tài)(P1、P2)。端口狀態(tài)決策流程圖如圖6所示。

ck2-t6.gif

3 實(shí)驗(yàn)結(jié)果

    本系統(tǒng)的實(shí)驗(yàn)環(huán)境由2臺PTP時(shí)間服務(wù)器和相應(yīng)的時(shí)統(tǒng)軟件組成,按照如圖1所示系統(tǒng)架構(gòu)圖進(jìn)行部署。根據(jù)PTP時(shí)鐘優(yōu)先級設(shè)置規(guī)則,PTP時(shí)間服務(wù)器為本系統(tǒng)內(nèi)主時(shí)鐘(設(shè)置為高優(yōu)先級),時(shí)統(tǒng)軟件為從時(shí)鐘(優(yōu)先級設(shè)置為255,無法被選擇為主時(shí)鐘)。

    完成整個(gè)系統(tǒng)的部署后,首先對本系統(tǒng)進(jìn)行精度測試。將標(biāo)準(zhǔn)時(shí)鐘源的授時(shí)信號輸出到示波器上,再選擇本系統(tǒng)中一臺服務(wù)器,在服務(wù)器上利用時(shí)統(tǒng)軟件測試工具獲得的授時(shí)信號經(jīng)串口輸出到示波器上,調(diào)整示波器并進(jìn)行上升沿的對比,得出兩者的時(shí)延誤差。系統(tǒng)測試結(jié)構(gòu)圖如圖7所示,測試結(jié)果如圖8所示。

ck2-t7.gif

ck2-t8.gif

    如圖8所示,本系統(tǒng)通過時(shí)統(tǒng)軟件獲取的穩(wěn)定時(shí)延誤差大概為710 ns,遠(yuǎn)遠(yuǎn)低于NTP協(xié)議的毫秒級誤差,滿足本系統(tǒng)自身的高精度要求。

    然后,對本系統(tǒng)進(jìn)行魯棒性測試。本系統(tǒng)正常運(yùn)行時(shí),隨機(jī)選擇一時(shí)刻(本測試中為7時(shí)59分59秒),將PTP時(shí)間服務(wù)器1與網(wǎng)絡(luò)交換機(jī)斷開連接,測試結(jié)果如表1所示。

ck2-b1.gif

    由表1可以看出,將PTP時(shí)間服務(wù)器1斷開連接,對系統(tǒng)的運(yùn)行并無影響,系統(tǒng)并未出現(xiàn)時(shí)間斷續(xù)、跳變等異常情況,滿足本系統(tǒng)自身的高魯棒性要求。

    另外,在本系統(tǒng)中,服務(wù)器接收PTP信號需配置專用網(wǎng)卡,為了使系統(tǒng)性能測試結(jié)果更加詳細(xì),更能體現(xiàn)出本系統(tǒng)的授時(shí)精度情況,在進(jìn)行了上述兩項(xiàng)測試之后,對本系統(tǒng)中所使用的網(wǎng)卡進(jìn)行了自守時(shí)的測試,大概收集了16個(gè)小時(shí)的數(shù)據(jù),使用MATLAB將數(shù)據(jù)轉(zhuǎn)化為曲線圖,得出了如圖9所示的自守時(shí)精度及其一階擬合情況。

    由圖9可得本系統(tǒng)所使用網(wǎng)卡的每秒時(shí)間漂移大概為80 ns(由圖中直線斜率得出),即隨著系統(tǒng)使用時(shí)間的增長,本系統(tǒng)所使用的專用網(wǎng)卡對系統(tǒng)的授時(shí)精度有一定的影響。

ck2-t9.gif

4 結(jié)論

    本文通過對基于PTP授時(shí)的高可靠時(shí)間統(tǒng)一系統(tǒng)進(jìn)行理論研究、設(shè)計(jì)論證,實(shí)現(xiàn)了一套基于PTP授時(shí)的、適用可靠性要求較高的雙機(jī)熱備時(shí)間統(tǒng)一系統(tǒng),提出了手動(dòng)設(shè)置主時(shí)鐘與自動(dòng)選擇主時(shí)鐘兩種雙機(jī)熱備工作模式。本研究充分利用實(shí)際物理環(huán)境,篩選使用場景,并進(jìn)行了系統(tǒng)的搭建、系統(tǒng)的性能測試。結(jié)果表明,對比以往的時(shí)間統(tǒng)一系統(tǒng),本系統(tǒng)的時(shí)間同步精度為納秒級,大大提升了時(shí)間統(tǒng)一系統(tǒng)的授時(shí)精度;并且在雙機(jī)熱備自動(dòng)切換的基礎(chǔ)上,增加了人工主動(dòng)切換模式,進(jìn)一步提高了系統(tǒng)的魯棒性。此外,在性能測試中,對本系統(tǒng)中所使用的專用網(wǎng)卡進(jìn)行了自守時(shí)精度測試,也進(jìn)一步展示了本系統(tǒng)相比于以往時(shí)間統(tǒng)一系統(tǒng)的性能優(yōu)化情況。

參考文獻(xiàn)

[1] 張楊敏,郭勇,謝興紅.嵌入式高精度GPS異地時(shí)間測量系統(tǒng)的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2010,36(2):19-22.

[2] 王娜,慕德俊.分布式試驗(yàn)系統(tǒng)管理中的時(shí)鐘同步技術(shù)研究[J].電子技術(shù)應(yīng)用,2006,32(12):25-27.

[3] 黃沛芳.基于NTP的高精度時(shí)鐘同步系統(tǒng)實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2009,35(7):122-124,127.

[4] 李永剛,李欣泉,郭力兵,等.麒麟操作系統(tǒng)平臺軟時(shí)統(tǒng)同步方法研究[J].電子技術(shù)應(yīng)用,2018,44(9):129-133.

[5] 李德駿,汪港,楊燦軍,等.基于NTP和IEEE1588海底觀測網(wǎng)時(shí)間同步系統(tǒng)[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2014,59(1):1-7.

[6] 劉見,靳紹平,李敏,等.基于IEEE-1588協(xié)議的高精度時(shí)鐘對時(shí)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,40(4):48-51.

[7] 孫中尉.IEEE1588高精度網(wǎng)絡(luò)時(shí)間同步應(yīng)用研究[D].西安:中國科學(xué)院大學(xué)(中國科學(xué)院國家授時(shí)中心),2010.

[8] 魏亞敏,李軼,張申,等.礦山物聯(lián)網(wǎng)時(shí)間同步系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2017,43(1):81-83.

[9] 黃健,劉鵬,楊瑞民.IEEE1588精確時(shí)鐘同步協(xié)議從時(shí)鐘設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2010,36(7):94-97,108.

[10] 王冠.IEEE1588v2時(shí)鐘同步技術(shù)的研究與實(shí)現(xiàn)[D].武漢:武漢郵電科學(xué)研究院,2011.

[11] 李紅亮.基于PTP協(xié)議的高精度網(wǎng)絡(luò)時(shí)間同步系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].天津:天津大學(xué)軟件學(xué)院,2012.

[12] 庾智蘭,李智.精確時(shí)鐘同步協(xié)議最佳主時(shí)鐘算法[J].電力自動(dòng)化設(shè)備,2009,16(11):74-77.



作者信息:

馬  昭,葛文雙,胡愛蘭,張瑞權(quán),張志成

(華北計(jì)算機(jī)系統(tǒng)工程研究所,北京100083)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。