999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于PTPd的精準(zhǔn)時鐘同步技術(shù)的研究

2016-02-23 06:24:52王金波

蘇 宇,胡 珩,2,張 濤,王金波

(1.中國科學(xué)院 空間應(yīng)用工程與技術(shù)中心,北京 100094;2.中國科學(xué)院大學(xué),北京 100049)

基于PTPd的精準(zhǔn)時鐘同步技術(shù)的研究

蘇 宇1,胡 珩1,2,張 濤1,王金波1

(1.中國科學(xué)院 空間應(yīng)用工程與技術(shù)中心,北京 100094;2.中國科學(xué)院大學(xué),北京 100049)

IEEE1588定義了一種精準(zhǔn)時鐘同步協(xié)議(PTP),因其具有高同步精度,故逐漸取代傳統(tǒng)的NTP(Network Time Protocol)被廣泛應(yīng)用于更高時鐘同步精度的分布式測控系統(tǒng)中。PTP協(xié)議可以通過純硬件或純軟件方式實(shí)現(xiàn),純硬件方式通過硬件編程實(shí)現(xiàn),同步精度可達(dá)納秒量級,但是開發(fā)難度大;而純軟件實(shí)現(xiàn)的PTP利用協(xié)議實(shí)現(xiàn)完整的開源代碼PTPd實(shí)現(xiàn),開發(fā)難度較低,同步精度略低于純硬件實(shí)現(xiàn)的PTP協(xié)議。文中在深入比較、分析了IEEE1588協(xié)議與NTP的同步機(jī)理后,并對純軟件實(shí)現(xiàn)的PTP(PTPd)進(jìn)行同步精度測試。結(jié)果表明,PTPd的同步精度可達(dá)±10 μs,遠(yuǎn)優(yōu)于傳統(tǒng)的NTP同步協(xié)議±200 ms的同步精度,而被成功應(yīng)用于載人航天嵌入式軟件第三方評測分布式測試系統(tǒng)中。

時鐘同步;網(wǎng)絡(luò)時間協(xié)議;IEEE1588;PTPd

0 引 言

近年來,隨著計算機(jī)技術(shù)和載人航天技術(shù)的飛速發(fā)展,航天嵌入式軟件系統(tǒng)的復(fù)雜度越來越高,接口越來越豐富,信號種類越來越多,如1553B總線接口、RS422接口、IEEE1394總線接口等。在航天嵌入式軟件測試時,會出現(xiàn)一個包含上述接口信號的航天嵌入式被測組件同時與多個嵌入式仿真測試前端板(核心板+底板的結(jié)構(gòu),核心板采用CPU+FPGA+存儲芯片的通用架構(gòu),底板為相應(yīng)對外接口)相連,即組成分布式測試系統(tǒng)。在分布式測試系統(tǒng)中,一部分測試用例的執(zhí)行常常要各個嵌入式仿真前端協(xié)同動作—如某型號航天器嵌入式主控軟件要求在1553B總線的XXX指令注入后200μs±25ns內(nèi)注入SPI接口的XXX指令,這就要求兩個測試前端能夠嚴(yán)格按照此時序關(guān)系向被測對象注入測試激勵數(shù)據(jù)。因此,需要一個精確的、統(tǒng)一的標(biāo)準(zhǔn)時間,從而同步分布式測試系統(tǒng)中的其他各個嵌入式仿真測試前端。

同步的基準(zhǔn)時間可以是上位機(jī)系統(tǒng)時間,或者是以其中某一個嵌入式仿真測試前端的時間作為標(biāo)準(zhǔn)時間(即主時鐘),進(jìn)而去同步其他前端的系統(tǒng)時間(從時鐘),以達(dá)到測試的目的。

現(xiàn)階段,被廣泛使用的網(wǎng)絡(luò)時間同步方法為網(wǎng)絡(luò)時間協(xié)議(NetworkTimeProtocol,NTP)。但是,此方法在距離不超過2 000公里萬維網(wǎng)內(nèi)NTP的同步精度為10ms,在局域網(wǎng)內(nèi)的同步精度為1ms[1],在同步精度要求較高的場合并不適用。而人們傳統(tǒng)意識上的GPS,雖然性能可觀,但要求有同步衛(wèi)星的覆蓋,而且存在一定的政治安全問題,因此讓人望而卻步。在這種情況下,IEEE1588協(xié)議應(yīng)運(yùn)而生,并迅速因其高精度與高可靠性受到人們的普遍歡迎。

文中的目的是分析NTP、IEEE1588協(xié)議的同步機(jī)理以及PTPd(IEEE1588的軟件實(shí)現(xiàn))的結(jié)構(gòu)特點(diǎn),并將PTPd應(yīng)用于載人航天嵌入式軟件第三方評測系統(tǒng)中。通過實(shí)際應(yīng)用測試結(jié)果說明PTPd的高同步精度可以滿足測試需要。

1 同步協(xié)議介紹

1.1 NTP協(xié)議

1.1.1 NTP協(xié)議概述

NTP協(xié)議是由美國海軍水面武器中心(NSWC)、美國國防部高級研究計劃局(DARPA)以及美國國家科學(xué)基金(NSF)資助的網(wǎng)絡(luò)時間同步項目,其第一個版本于1988年成功開發(fā)。截止到目前為止,NTP協(xié)議已經(jīng)發(fā)展到了第四個版本,應(yīng)用到與時間同步的各個領(lǐng)域。為了能夠達(dá)到令人滿意的同步精度,NTP采用了多服務(wù)器算法[2],該算法十分復(fù)雜,這也在某種程度上限制了NTP協(xié)議的推廣。但在大多數(shù)網(wǎng)絡(luò)負(fù)載不大的情況下,NTP協(xié)議能夠達(dá)到毫秒級的同步精度,這一點(diǎn)使其成功應(yīng)用在很多對同步精度要求不是很高的應(yīng)用中;當(dāng)NTP用于洲際間時間同步時,同步的精度只有秒級。

1.1.2 NTP協(xié)議的同步機(jī)理

NTP協(xié)議一般有對等工作模式、廣播/多播工作模式以及客戶端/服務(wù)器(C/S)模式。在對等工作模式下,客戶端和服務(wù)器具有相同地位,任何一方都可以同步另一方,也可以被對方同步,一般來說,率先發(fā)出申請建立連接的一方工作在主動模式下,而另一方工作在被動模式下;廣播/多播工作模式采用了一對多模式,即作為服務(wù)器的一方主動發(fā)出攜帶時間戳的消息,作為客戶端可以根據(jù)此消息中的時間戳信息來調(diào)整自己的時間;在C/S模式下,采用了一對一的連接方式,服務(wù)器能夠同步客戶端的時間信息,而客戶端不能同步服務(wù)器的時間信息。不同的同步協(xié)議往往提供不同的時間同步策略,但都遵循兩個通用的模型:(1)客戶端發(fā)送請求到服務(wù)器,服務(wù)器用當(dāng)前時間響應(yīng);(2)服務(wù)器發(fā)送時間信息給一組或所有用戶[3]。

一般來說,當(dāng)今通常是采用C/S模式進(jìn)行時間同步的[4]。服務(wù)器端接收到客戶端周期性發(fā)出的帶有本地時間戳的NTP報文后,向客戶端應(yīng)答一個帶有服務(wù)器時間戳的報文,根據(jù)以上報文攜帶的時間戳信息來計算客戶端與服務(wù)器之間的時間偏移量(Offset)以及時間同步過程中的網(wǎng)絡(luò)傳輸延時時間(Delay)這兩個關(guān)鍵參數(shù)。同步原理如圖1所示。

圖1 NTP協(xié)議同步原理圖

首先假定服務(wù)器的時間是精確的國際標(biāo)準(zhǔn)時間(UTC),而客戶端與服務(wù)器之間的時間偏移量為Offset,同步報文從客戶端發(fā)送到服務(wù)器端經(jīng)歷網(wǎng)絡(luò)路徑延時時間為Delay1,而從服務(wù)器端發(fā)送應(yīng)答報文到客戶端的網(wǎng)絡(luò)路徑延時時間為Delay2,總的網(wǎng)絡(luò)路徑延時時間為Delay=Delay1+Delay2。

同步過程如下,首先客戶端向服務(wù)器發(fā)送一個NTP同步請求報文,并加蓋了其自身離開客戶端估計時間T1;當(dāng)服務(wù)器收到該報文時加蓋了本地的接收時間戳T2,同時服務(wù)器向客戶端回傳一個攜帶本地發(fā)送時間戳T3的響應(yīng)報文;客戶端收到該報文后,加蓋了客戶端本地時間戳T4[5]。

綜上所述,可以得出以下方程:

T2-T1=Offset+Delay1

(1)

T4-T3=Delay2-Offset

(2)

Delay=Delay1+Delay2

(3)

為了簡化問題,假設(shè)從客戶端到服務(wù)器的網(wǎng)絡(luò)傳輸延時等于從服務(wù)器到客戶端的網(wǎng)絡(luò)傳輸延時,即:

Delay1=Delay2=Delay/2

(4)

那么以上三式可以簡化為兩式:

T2-T1=Offset+Delay/2

(5)

T4-T3=Delay/2-Offset

(6)

則由上述公式可推導(dǎo)出:

Offset=[(T2+T3)-(T1+T4)]/2

(7)

Delay=(T4-T1)-(T3-T2)

(8)

NTP協(xié)議包含一個64bit的無符號定點(diǎn)數(shù)協(xié)調(diào)世界時時間戳。整數(shù)部分用高32bit表示,對應(yīng)于從基準(zhǔn)時間(1900年1月1日00:00:00)直到當(dāng)前的秒累計計數(shù)值;小數(shù)部分用低32bit表示,其時間最小分辨率是200ps。相對于時間基準(zhǔn),到2036年時,64bit數(shù)將發(fā)生溢出,即每136年這64bit的字段將歸零,到時將廢除此時間戳或重新定義新協(xié)議[5]。

1.2 IEEE1588協(xié)議

1.2.1 IEEE1588協(xié)議概述

2002年出現(xiàn)的IEEE1588(Precision Time Protocol,PTP)[6]協(xié)議,全稱是“網(wǎng)絡(luò)測量和控制系統(tǒng)精密時間同步協(xié)議標(biāo)準(zhǔn)”,簡稱PTP(Precision Time Protocol)協(xié)議。相對于NTP協(xié)議,PTP為網(wǎng)絡(luò)上亞微秒級的同步精度的設(shè)備提供一個標(biāo)準(zhǔn)方法,確保事件和時間戳在所有設(shè)備上使用相同的時間基準(zhǔn)[7]。

IEEE1588精準(zhǔn)時鐘同步協(xié)議通常可以采用純軟件或純硬件的方式實(shí)現(xiàn)。純硬件的方式實(shí)現(xiàn),采用硬件編程的方式,可以避免操作系統(tǒng)的調(diào)度和內(nèi)存管理、UDP和IP等協(xié)議的封裝、網(wǎng)卡控制器里FIFO(先進(jìn)先出)隊列的排隊和總線仲裁等[8]過程的影響,在網(wǎng)絡(luò)的MAC層獲得時間戳,能夠達(dá)到納秒級的同步精度[9]。常見的純硬件的實(shí)現(xiàn)又可分為通過FPGA實(shí)現(xiàn)和通過集成有PTP協(xié)議的網(wǎng)絡(luò)收發(fā)芯片實(shí)現(xiàn),同步精度高,但是需要有相應(yīng)的硬件支持,成本高,且開發(fā)難度也較大;而采用純軟件方式實(shí)現(xiàn)的IEEE1588精準(zhǔn)時鐘同步協(xié)議,通用的方案是采用開源的IEEE1588協(xié)議實(shí)現(xiàn)代碼(PTPd),開發(fā)難度大大降低;但因其是在協(xié)議上層獲取時間戳信息,同步精度達(dá)不到純硬件的實(shí)現(xiàn)方式的納秒量級。

截止到目前,IEEE1588協(xié)議已經(jīng)發(fā)展到了第二版-IEEE1588V2。與IEEE1588V1相比,IEEE1588V2引入了點(diǎn)延時機(jī)制,用來測量一對端口的平均路徑延時時間;時間戳的表示由64 bit有符號數(shù)進(jìn)行,時間分辨率可以達(dá)到1/216ns;引入了透明時鐘模型以便將報文在透明時鐘內(nèi)的延時時間也能累加到時間修正域中,并采用了雙向信道,以上措施的采用大大提高了同步精度。

文中在純軟件實(shí)現(xiàn)IEEE1588協(xié)議的基礎(chǔ)上,將其與純軟件實(shí)現(xiàn)的NTP協(xié)議進(jìn)行同步精度的對比,以體現(xiàn)純軟件實(shí)現(xiàn)的IEEE1588協(xié)議(PTPd)的優(yōu)勢。

1.2.2 IEEE1588協(xié)議的同步機(jī)理

IEEE 1588主要定義了四種多點(diǎn)傳送的時鐘報文類型:同步報文(Sync)、跟隨報文(Follow_Up)、延遲請求報文(Delay_Req)和延遲請求響應(yīng)報文(Delay_Resp)[10]。

IEEE1588協(xié)議是通過在主從時鐘之間傳輸同步報文來實(shí)現(xiàn)同步,主要分為兩個階段:偏差測量階段和延時測量階段[11]。

第一階段:偏移測量階段,用來修正主時鐘和從時鐘之間的時間偏差[12]。同步過程如下,主時鐘以多播的形式周期性向從時鐘發(fā)送Sync,主時鐘緊接著又發(fā)送攜帶了Sync準(zhǔn)確發(fā)送時間Tm1的Follow_Up。從時鐘收到Sync后記下Sync的準(zhǔn)確到達(dá)時間Ts1。則由Tm1和Ts1可計算出主、從時鐘之間的Offset,這里由于同步報文的Delay未知,先假設(shè)Delay=0,這里同樣假設(shè)網(wǎng)絡(luò)是對稱的,即從從時鐘到主時鐘的網(wǎng)絡(luò)傳輸延時等于從主時鐘到從時鐘的網(wǎng)絡(luò)傳輸延時。則主從時間偏差值的計算公式是:

Offset=Ts1-Tm1-Delay

(9)

第二階段:延時測量階段,用來測量主、從時鐘間的Delay。從時鐘收到Follow_Up后,向主時鐘發(fā)出一個Delay_Req,同時記下Delay_Req精確發(fā)送時間Ts3。主時鐘收到Delay_Req后記錄下Delay_Req的精確到達(dá)時間Tm3,主時鐘緊接著發(fā)送Delay_Resp,把Tm3傳遞給從時鐘。根據(jù)Ts3和Tm3,則可計算出從時鐘到主時鐘之間的網(wǎng)絡(luò)傳輸延時時間。主時鐘到從時鐘的傳輸延時根據(jù)上一次同步報文的發(fā)送來計算,則:

Delay=[(Ts2-Tm2)+(Tm3-Ts3)]/2

(10)

經(jīng)過Tm4到Ts4以及Tm5到Ts5的調(diào)整過程,最后主從時鐘達(dá)到了同步。

時鐘同步在實(shí)際通信活動中是周期性的行為。即便主、從時鐘達(dá)到同步以后,從時鐘依然要對主時鐘發(fā)出的每一個時鐘同步報文進(jìn)行計算。如果計算出的偏移值不等于0,說明兩者之間的時鐘又處于不同步狀態(tài),需要重新按照上面的步驟進(jìn)行時鐘同步[13]。

2 PTPd簡介

自從IEEE1588誕生后,其純硬件實(shí)現(xiàn)方式更多地受到學(xué)者和工程師的關(guān)注,純軟件的實(shí)現(xiàn)(PTPd)往往被人們忽視。文中使用純軟件實(shí)現(xiàn)的IEEE1588協(xié)議,即由著名的開源軟件網(wǎng)站SourceForge.Net負(fù)責(zé)維護(hù)的開源的IEEE1588協(xié)議—PTPd。PTPd包含了兩個版本:Version1用于支持IEEE1588-2002,Version2用于支持IEEE1588-2008[14]。文中采用PTPd1.1.0版代碼,由于PTPd代碼全部是由C語言開發(fā),因此可以很方便地移植到32位或64位系統(tǒng)上,也很適合嵌入式系統(tǒng)。PTPd的時鐘伺服系統(tǒng)如圖2所示。

由圖2可知,PTPd時鐘同步測試程序是在用戶空間加蓋的發(fā)送時間戳,又由于嵌入式操作系統(tǒng)的存在,則同步的結(jié)果不可避免地會受到通信協(xié)議棧以及操作系統(tǒng)任務(wù)調(diào)度延時的影響,因此,高精度的時鐘同步可以分步實(shí)現(xiàn),即在CPU這一層上面只實(shí)現(xiàn)同步精度達(dá)

圖2 PTPd的時鐘伺服系統(tǒng)

到幾十微秒級或微秒級的同步過程,更精確的納秒級的同步可由FPGA實(shí)現(xiàn),實(shí)現(xiàn)過程在這里不予詳細(xì)說明。

PTPd程序主要由IEEE1588協(xié)議引擎、最佳主時鐘算法、時鐘伺服系統(tǒng)、數(shù)據(jù)包的處理、網(wǎng)絡(luò)服務(wù)、時間戳模塊、啟動的初始化、定時器以及其他模塊組成。它們之間的關(guān)系如圖3所示。

圖3 PTPd的整體結(jié)構(gòu)

PTPd各個模塊的功能如下:

(1)IEEE1588協(xié)議引擎狀態(tài)機(jī)。

主要由protocol.c實(shí)現(xiàn)。根據(jù)系統(tǒng)當(dāng)前運(yùn)行的狀態(tài),保證狀態(tài)機(jī)在正常狀態(tài)下處于各個狀態(tài)之間的循環(huán)切換狀態(tài),并且能在發(fā)生錯誤的情況下退出循環(huán)。

(2)初始化。

由dep/startup.c實(shí)現(xiàn),主要功能是對PTPd程序執(zhí)行前對運(yùn)行環(huán)境等進(jìn)行初始化操作。

(3)報文處理。

由dep/msg.c函數(shù)實(shí)現(xiàn),它的主要功能是根據(jù)協(xié)議的規(guī)范將欲發(fā)送的報文打包,同時將接收到的報文進(jìn)行解包處理。

(4)網(wǎng)絡(luò)服務(wù)。

由dep/net.c實(shí)現(xiàn),初始化并建立socket套接字,并建立UDP網(wǎng)絡(luò)連接;發(fā)送、接收報文,并獲取時間戳信息。

(5)時鐘伺服系統(tǒng)。

由dep/servo.c函數(shù)實(shí)現(xiàn),它的主要功能是根據(jù)服務(wù)器至客戶端時鐘之間的網(wǎng)絡(luò)傳輸延時和客戶端至服務(wù)器時鐘之間的網(wǎng)絡(luò)傳輸延時,計算出服務(wù)器與客戶端之間的時鐘偏差,并對本地時鐘進(jìn)行修正。

(6)最佳主時鐘算法。

由bmc.c函數(shù)實(shí)現(xiàn)IEEE1588協(xié)議定義的最佳主時鐘算法,該函數(shù)返回經(jīng)過自身仲裁的服務(wù)器、客戶端時鐘各自的狀態(tài)。

(7)定時器。

由dep/timer.c函數(shù)實(shí)現(xiàn),用于控制客戶端時鐘發(fā)送Delay_Req報文和服務(wù)器時鐘發(fā)送Sync報文的周期,以及判斷Sync報文接收是否發(fā)生超時等。

綜上所述,不難看出,NTP協(xié)議與IEEE1588協(xié)議的同步機(jī)理還是有所區(qū)別的,除了IEEE1588協(xié)議的軟件PTPd會根據(jù)最佳主時鐘算法選取一個相對較穩(wěn)定的主時鐘外,在IEEE1588協(xié)議中,主時鐘發(fā)送Sync后,還緊接著發(fā)送了Follow_Up,在Follow_Up中,攜帶了Sync精確的發(fā)送時間,而NTP協(xié)議則用Sync自身攜帶的本報文的預(yù)計發(fā)送時間,因此,NTP協(xié)議的同步精度要比IEEE1588協(xié)議(包括PTPd)同步精度低。

3 同步精度測試

為了更好地說明PTPd的同步精度,在開始測試PTPd同步精度之前,首先測試一下NTP的同步精度。

3.1 NTP同步精度測試

測試之前,先來了解一些關(guān)于時間的術(shù)語:

GMT時間:格林威治時間,國際標(biāo)準(zhǔn)時間,中國位于東八區(qū),時間為GMT+8,即北京時間;

UTC時間:世界協(xié)調(diào)時間,可認(rèn)為跟GMT是相同的含義;

時間戳:NTP服務(wù)器上的時間戳為從1900年1月1日0時0分0秒開始到至今的秒數(shù)(UTC時間);由于UNIX操作系統(tǒng)是1970年正式發(fā)布的,因而PC機(jī)上的時間戳為1970年1月1日0時0分0秒到至今的秒數(shù)(因此也叫UNIX時間戳),需在PC機(jī)的時間戳秒數(shù)的基礎(chǔ)上加上從1900年1月1日0時0分0秒到1970年1月1日0時0分0秒的秒數(shù):即3 600 s*24 h*(365 days*70 years+17 days)。

NTP是基于UDP協(xié)議進(jìn)行傳輸?shù)模W(wǎng)絡(luò)端口號為123,所涉及的時間同步報文均封裝在UDP協(xié)議報文中進(jìn)行傳輸。

編程實(shí)現(xiàn)NTP的本地客戶端代碼,根據(jù)式(1)~(8)可以計算出客戶端與NTP服務(wù)器之間的Offset以及單程Delay/2。

在NTP同步精度驗證過程中,選用遠(yuǎn)程N(yùn)TP同步服務(wù)器,來同步本地PC機(jī)上的時鐘。本地PC機(jī)的操作系統(tǒng)為Fedora20,首先調(diào)整本地時間超出標(biāo)準(zhǔn)時間10 min左右,然后Fedora進(jìn)入root模式,執(zhí)行NTP的客戶端同步程序,同步周期為3 s,同步結(jié)果如圖4所示。

圖4 NTP協(xié)議同步結(jié)果

由圖4可以觀測到,同步過程開始后,秒級偏差在同步算法的調(diào)整下迅速歸零,而毫秒級的偏差則以±200 ms為區(qū)間在零值附近震蕩,本地時間被調(diào)整為標(biāo)準(zhǔn)時間。從圖4不難看出,NTP協(xié)議的同步精度為幾百毫秒級,因此NTP協(xié)議可以應(yīng)用于對同步精度要求不太高的領(lǐng)域中,如網(wǎng)絡(luò)授時系統(tǒng)。

3.2 PTPd同步精度測試

在這里,利用某型號航天器嵌入式主控軟件的1553B仿真測試前端和SPI仿真測試前端作為PTPd同步精度測試的主、從時鐘模塊,用以太網(wǎng)將它們連接起來。

將Linux操作系統(tǒng)移植到ARM11(S3C6410)處理器上,即:移植Bootloader(uboot)、裁剪標(biāo)準(zhǔn)Linux內(nèi)核生成內(nèi)核映像文件以及制作支持讀寫操作的文件系統(tǒng)(YAFFS2),具體移植過程在此不予詳述。

將編譯好的Bootloader、內(nèi)核映像文件以及文件系統(tǒng)燒寫到ARM11(S3C6410)的存儲芯片中。

交叉編譯PTPd1.1.0代碼,并下載到嵌入式測試前端板中,PC機(jī)系統(tǒng)時間為北京時間(GMT+8),嵌入式仿真測試前端系統(tǒng)時間為嵌入式Linux系統(tǒng)的開機(jī)時間,即2000年1月1日00:00:00。

先啟動作為主時鐘(同步服務(wù)器)的程序,再啟動作為從時鐘(同步客戶端)的程序,具體操作如下:

主時鐘端:#sudo ./ptpd -a 3,12 -y 0 -p -c

從時鐘端:#sudo ./ptpd -a 3,12 -y 0 -g -c

IEEE1588精準(zhǔn)時鐘同步協(xié)議的同步結(jié)果如圖5和圖6所示。圖5為PTPd開始同步直到主從時鐘趨于穩(wěn)定的過程,而圖6為主從時鐘同步趨于穩(wěn)定后的放大的結(jié)果。

圖5 PTPd同步結(jié)果圖

圖6 PTPd同步趨于穩(wěn)定后局部放大圖

當(dāng)同步過程開始后,PTPd的時鐘伺服系統(tǒng)不斷計算主從時鐘的偏差與網(wǎng)絡(luò)路徑傳輸延時,并不斷調(diào)整本地時鐘。從圖5可以觀測到,主從時鐘的秒級時間差在時刻0時為非零值,在大于0時刻,秒級時間差在同步算法的調(diào)整下迅速歸零;納秒級時間差在經(jīng)過一段時間的正負(fù)調(diào)整后,逐漸逼近零點(diǎn)。從圖6可以觀測到,在主從時鐘調(diào)整趨于穩(wěn)定后,秒級時間差為0,納秒級時間差在正負(fù)10微秒?yún)^(qū)間來回震蕩,即能夠達(dá)到微秒級的同步精度。

這里由于嵌入式Linux并不是硬實(shí)時的操作系統(tǒng),再加上PTPd在應(yīng)用層獲取時間戳,因此中斷服務(wù)的延時和網(wǎng)絡(luò)協(xié)議棧的抖動都會對同步精度造成影響。因此在CPU負(fù)載過大時,會導(dǎo)致系統(tǒng)中斷延時時間不能夠得到確切的保證,從而影響時鐘的滴答和消息的接收,進(jìn)而影響PTPd同步的精度;再次,由于在實(shí)際網(wǎng)絡(luò)傳輸時其他計算機(jī)數(shù)據(jù)流的存在,也會導(dǎo)致網(wǎng)絡(luò)傳輸延時變大甚至?xí)簳r堵塞,這樣網(wǎng)絡(luò)傳輸?shù)难訒r是非對稱的,也會影響同步精度。但是對于一些對同步精度要求不是很高的同步系統(tǒng)來說,如CPU級的時鐘同步,這個精度已經(jīng)夠用了。

4 結(jié)束語

綜上所述,PTPd實(shí)現(xiàn)的IEEE1588精準(zhǔn)時鐘同步協(xié)議的微秒級的同步精度雖然沒有達(dá)到IEEE1588協(xié)議規(guī)定的納秒級同步精度,但是它要遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)NTP協(xié)議的幾百毫秒級的同步精度,因此,將PTPd實(shí)現(xiàn)的IEEE1588精準(zhǔn)時鐘同步協(xié)議應(yīng)用于載人航天某航天器嵌入式軟件第三方評測的分布式仿真測試系統(tǒng)前端中,同時配合仿真測試前端的FPGA,進(jìn)行分級時鐘同步,取得了令人滿意的同步精度,順利完成了對某航天器嵌入式主控軟件的第三方測試任務(wù)。同時也為IEEE1588精準(zhǔn)時鐘同步協(xié)議的推廣使用拓寬了道路。

[1] Cisco Systems,Inc.Network time protocol:best practices white paper[EB/OL].2008.http://www.cisco.com/c/en/us/support/docs/availability/high-availability/19643-ntpm.html.

[2] 李曉珍.基于IEEE1588的網(wǎng)絡(luò)時間同步系統(tǒng)研究[D].北京:中國科學(xué)院,2011.

[3] Li Dejun,Wang Gang,Yang Canjun,et al.IEEE 1588 based time synchronization system for a seafloor observatory network[J].Journal of Zhejiang University Sci C,2013,14(10):766-776.

[4] Zhang Xiangli,Tang Xiaoqi,Chen Jihong.Time synchronization of hierarchical real-time networked CNC system based on ethernet/internet[J].International Journal of Advanced Manufacturing Technology,2008,36(11-12):1145-1156.

[5] 陳 敏.基于NTP協(xié)議的網(wǎng)絡(luò)時間同步系統(tǒng)的研究與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2005.

[6] IEEE Std 1588-2008. IEEE standard for a precision clock synchronization protocol for networked measurement and control systems[S].New York:IEEE,2008.

[7] Zhong Chongquan, Jin Haibo, Han Yechen,et al.Research and implement of distributed network motion control system[J].Informatics in Control,Automation and Robotics,2011,2:383-391.

[8] 張洪源.基于IEEE1588的數(shù)字化變電站時鐘同步技術(shù)的應(yīng)用研究[D].成都:西南交通大學(xué),2010.

[9] 魏 豐,孫文杰.IEEE-1588協(xié)議時鐘同步報文的精確時間標(biāo)記方法研究[J].儀器儀表學(xué)報,2009,30(1):162-169.

[10] 陳永標(biāo).IEEE 1588時間精確同步協(xié)議(PTP)在電力系統(tǒng)應(yīng)用的可行性研究[D].上海:上海交通大學(xué),2009.

[11] 常夏勤.IEEE1588時間同步協(xié)議分析與實(shí)現(xiàn)[D].南京:南京大學(xué),2011.

[12] 蘇 宇.嵌入式實(shí)時測試前端的設(shè)計與實(shí)現(xiàn)[D].北京:中國科學(xué)院大學(xué),2013.

[13] 張亞超.基于IEEE1588協(xié)議的嵌入式網(wǎng)絡(luò)節(jié)點(diǎn)研究與實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2010.

[14] 宋升金,許永輝,姜守達(dá).基于PTPd改進(jìn)的高精密時鐘同步實(shí)現(xiàn)[J].計算機(jī)工程與應(yīng)用,2013,49(2):72-75.

Research on Precision Clock Synchronization Technology Based on PTPd

SU Yu1,HU Heng1,2,ZHANG Tao1,WANG Jin-bo1

(1.Technology and Engineering Center for Space Utilization,Chinese Academy of Sciences,Beijing 100094,China;2.University of Chinese Academy of Sciences,Beijing 100049,China)

IEEE1588 defines a Precision Time clock synchronization Protocol (PTP) which is widely used in distributed measurement and control systems where higher synchronization precision are necessary,and PTP gradually takes the replace of the traditional NTP because of its high synchronization accuracy.The PTP can be achieved by pure hardware or pure software.The pure hardware method can achieve the synchronization precision up to nanoseconds through the hardware programming,but the development is difficult,while the pure software method can be achieved by the open source PTPd code,it is simple and able to obtain a lower synchronization accuracy than the pure hardware.In this paper,synchronization mechanism of NTP and IEEE1588 precision clock synchronization protocol was compared and analyzed,the PTP(PTPd) is implemented in pure software method were tested.Result of tests proves that the synchronization precision of PTPd is within 10μs,whichismuchbetterthantheNTP’s±200ms,soPTPdhasbeensuccessfullyappliedinthethird-partyembeddedsoftwaretestingofdistributedtestingsystemformannedspaceflight.

clock synchronization;NTP;IEEE1588;PTPd

2015-04-15

2015-07-17

時間:2016-01-04

國家重大專項(Y2140102RN)

蘇 宇(1985-),男,碩士,助理工程師,研究方向為高可靠軟件;張 濤,研究員,博士生導(dǎo)師,研究方向為高可靠軟件;王金波,副研究員,碩士生導(dǎo)師,研究方向為高可靠軟件測試與驗證。

http://www.cnki.net/kcms/detail/61.1450.TP.20160104.1510.046.html

TP202.2

A

1673-629X(2016)01-0175-06

10.3969/j.issn.1673-629X.2016.01.038

主站蜘蛛池模板: 日本三级精品| 国产精品综合久久久| 国产精品欧美在线观看| 国产精品lululu在线观看| 亚洲天堂视频在线观看| 亚洲日韩AV无码精品| 97人人做人人爽香蕉精品| 在线免费亚洲无码视频| 又大又硬又爽免费视频| 久久久久免费精品国产| 男女男精品视频| 日本在线亚洲| 欧美一级在线| 国产精品视频系列专区 | 国产亚卅精品无码| 免费三A级毛片视频| 玖玖精品在线| 91系列在线观看| 精品91在线| 成人国产一区二区三区| 日韩成人免费网站| 国产一区二区三区在线观看免费| 国产v精品成人免费视频71pao | 亚洲国产成熟视频在线多多 | 99re在线观看视频| 九九热在线视频| 亚洲欧美日韩动漫| 97久久超碰极品视觉盛宴| 国产在线91在线电影| 欧美一区二区自偷自拍视频| 啪啪啪亚洲无码| 免费jizz在线播放| 亚洲aⅴ天堂| 亚洲免费福利视频| 日韩一区二区在线电影| 国产精品一区二区在线播放| 国产成人精品免费视频大全五级 | 99青青青精品视频在线| 亚洲娇小与黑人巨大交| 国内精品自在欧美一区| 18黑白丝水手服自慰喷水网站| 久久亚洲黄色视频| 成年免费在线观看| 日韩欧美中文字幕在线韩免费| 伊人91视频| 久久精品免费国产大片| 一区二区三区在线不卡免费| 国产精品13页| 亚洲欧美在线综合图区| 日本在线视频免费| 日本三级精品| 高潮毛片无遮挡高清视频播放| 日韩123欧美字幕| www亚洲精品| 国产91视频观看| 欧美一区二区啪啪| 亚洲人网站| 国产专区综合另类日韩一区| 伊人国产无码高清视频| 成人免费一级片| 99视频精品在线观看| 日韩天堂视频| 91精品啪在线观看国产60岁| 日韩在线成年视频人网站观看| 久久9966精品国产免费| 国产亚洲精久久久久久无码AV| 中文字幕调教一区二区视频| 老司机午夜精品视频你懂的| 黄色在线网| 色欲国产一区二区日韩欧美| 免费不卡在线观看av| 色精品视频| 亚洲男女天堂| 欧美国产在线一区| 欧美三级不卡在线观看视频| 国产不卡一级毛片视频| 亚洲精品天堂自在久久77| 亚洲天堂视频在线免费观看| 国产在线视频福利资源站| 亚洲色图狠狠干| 国产精品黑色丝袜的老师| 久久久久免费看成人影片|