国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

精確時鐘同步協(xié)議分析及實現(xiàn)

2012-07-25 07:16:56曾慶華
微型電腦應(yīng)用 2012年10期
關(guān)鍵詞:報文時鐘機制

曾慶華

0 引言

測量和控制工程正在越來越多地使用網(wǎng)絡(luò)通訊、本地化計算、分布式設(shè)備等分布式系統(tǒng)技術(shù)。在這個分布式系統(tǒng)中,分布式設(shè)備來自多個不同的廠商,如果沒有一個標(biāo)準(zhǔn)的協(xié)議用來同步那些分布式設(shè)備中的時鐘,整個系統(tǒng)將不可能很好地工作。在兼顧精度和低成本方面,現(xiàn)存的時鐘同步協(xié)議,如NTP/SNTP,GPS并不能很好地滿足這些系統(tǒng)的要求。在此背景下,IEEE Std 1588TM —2002《網(wǎng)絡(luò)測量和控制系統(tǒng)的精確時鐘同步協(xié)議》(簡稱IEEE 1588 協(xié)議) 已于2002以標(biāo)準(zhǔn)形式年發(fā)布[1]。2004年,IEC也發(fā)布了相應(yīng)的IEC 61588 標(biāo)準(zhǔn)。IEEE Std 1588TM —2008作為IEEE Std 1588TM —2002的修訂版于2008年發(fā)布。IEEE 1588以其低成本高精度的特點,使其在短短的幾年內(nèi),獲得了廣泛的應(yīng)用和推廣。 IEEE 1588 協(xié)議又稱精確時間協(xié)議(PTP),IEEE Std 1588TM —2008也叫做PTPv2,它最初是由Agilent Laboratories(安捷倫實驗室)開發(fā)用于測量和控制系統(tǒng)的。它利用以太網(wǎng)或其他支持多播技術(shù)的網(wǎng)絡(luò)使終端設(shè)備同步,最高精度可以達(dá)到亞微秒級。同時, IEEE 1588 協(xié)議對資源要求非常低,易于高中低端設(shè)備之間的兼容。但是, IEEE 1588協(xié)議為了保證高精度,需要硬件支持,這對于兼容性很高的以太網(wǎng)來說,制約了IEEE 1588 協(xié)議的應(yīng)用與發(fā)展。

本文首先針對IEEE 1588協(xié)議的以太網(wǎng)應(yīng)用,對協(xié)議進(jìn)行了分析,介紹了IEEE 1588協(xié)議的優(yōu)點和核心算法,然后介紹了支持IEEE 1588的網(wǎng)絡(luò)設(shè)備,在不同時鐘模式下應(yīng)該如何工作。

1 IEEE 1588的介紹

IEEE 1588PTP協(xié)議借鑒了NTP技術(shù),具有容易配置、快速收斂以及對網(wǎng)絡(luò)帶寬和資源消耗少等特點。IEEE1588標(biāo)準(zhǔn)的全稱是“網(wǎng)絡(luò)測量和控制系統(tǒng)的精密時鐘同步協(xié)議標(biāo)準(zhǔn)(IEEE 1588 Precision Clock Synchronization Protocol)”,簡稱PTP(Precision Timing Protocol),它的主要原理,是通過一個同步信號周期性的對網(wǎng)絡(luò)中所有節(jié)點的時鐘進(jìn)行校正同步,可以使基于以太網(wǎng)的分布式系統(tǒng)達(dá)到精確同步,IEEE 1588PTP時鐘同步技術(shù)也可以應(yīng)用于任何組播網(wǎng)絡(luò)中。

IEEE 1588將整個網(wǎng)絡(luò)內(nèi)的時鐘分為兩種,即普通時鐘(Ordinary Clock,OC)和邊界時鐘(Boundary Clock,BC),只有一個PTP通信端口的時鐘是普通時鐘,有一個以上PTP通信端口的時鐘是邊界時鐘,每個PTP端口提供獨立的PTP通信。其中,邊界時鐘通常用在確定性較差的網(wǎng)絡(luò)設(shè)備(如交換機和路由器)上。從通信關(guān)系上又可把時鐘分為主時鐘和從時鐘,在理論上,任何時鐘都能實現(xiàn)主時鐘和從時鐘的功能,但一個 PTP通信子網(wǎng)內(nèi)只能有一個主時鐘。整個系統(tǒng)中,最優(yōu)時鐘為最高級時鐘GMC(Grandmaster Clock),有著最好的穩(wěn)定性、精確性、確定性等。根據(jù)各節(jié)點上時鐘的精度和級別以及 UTC(通用協(xié)調(diào)時間)的可追溯性等特性,由最佳主時鐘算法(Best Master Clock)來自動選擇各子網(wǎng)內(nèi)的主時鐘;在只有一個子網(wǎng)的系統(tǒng)中,主時鐘就是最高級時鐘GMC。每個系統(tǒng)只有一個GMC,且每個子網(wǎng)內(nèi)只有一個主時鐘,從時鐘與主時鐘保持同步。是一個簡單的主時鐘、從時鐘關(guān)系示意,如圖1所示:

圖1 簡單主時鐘,從時鐘關(guān)系示意

同步的基本原理,包括時間發(fā)出和接收時間信息的記錄,并且對每一條信息增加一個“時間戳”。有了時間記錄,接收端就可以計算出信息在網(wǎng)絡(luò)中的時鐘誤差和延時。為了管理這些信息,PTP協(xié)議定義了4種多點傳送的報文類型和管理報文,包括同步報文(Sync)、跟隨報文(Follow_up)、延遲請求報文(Delay_Req)、延遲應(yīng)答報文(Delay_Resp)。同步報文是由主時鐘周期性發(fā)出的(一般為每兩秒一次),它包含了主時鐘算法所需的時鐘屬性??偟膩碚f,同步報文包含了一個時間戳,精確地描述了數(shù)據(jù)包發(fā)出的預(yù)計時間。

由于同步報文包含的是預(yù)計的發(fā)出時間,而不是真實的發(fā)出時間,所以Sync報文的真實發(fā)出時間被測量后在隨后的Follow_Up報文中發(fā)出。Sync報文的接收方記錄下真實的接收時間。使用Follow_Up報文中的真實發(fā)出時間和接收方的真實接收時間,可以計算出從時鐘與主時鐘之間的時差,并據(jù)此更正從時鐘的時間。但是此時計算出的時差包含了網(wǎng)絡(luò)傳輸造成的延時,所以使用Delay_Req報文來測量網(wǎng)絡(luò)的傳輸延時。

Delay_Req報文在Sync報文收到后由從時鐘發(fā)出。與Sync報文一樣,發(fā)送方從時鐘記錄準(zhǔn)確的發(fā)送時間,接收方主時鐘記錄準(zhǔn)確的接收時間。主時鐘在接收到Delay_Req報文后生成Delay_Resp報文,并將Delay_Req報文的準(zhǔn)確的接收時間包含在Delay_Resp報文中,然后將Delay_Resp報文發(fā)往從時鐘。從時鐘在收到Delay_Resp報文后就可以計算出網(wǎng)絡(luò)延時和時鐘誤差。

精確時鐘同步過程,分為漂移測量階段與延遲測量階段。

第一階段修正主時鐘與從時鐘之間的時間偏差,稱為漂移測量,如圖2所示:

圖2 漂移測量

在修正漂移量的過程中,主時鐘按照定義的間隔時間(缺省是 2s)周期性地向從時鐘發(fā)出同步報文。這個同步報文包括該報文離開主時鐘的時間估計值。主時鐘測量發(fā)送的準(zhǔn)確時間t10,從時鐘測量接收的準(zhǔn)確時間t20。之后主時鐘發(fā)出第二條報文——跟隨報文(Follow_up Message),此報文與同步報文相關(guān)聯(lián),且包含同步報文被發(fā)送到到 PTP通信路徑上的更為精確的時間值。從時鐘根據(jù)同步報文和跟隨報文中的時間信息來計算偏移量,然后按照這個偏移量來修正從時鐘的時間,如果在傳輸路徑中沒有延遲,那么主從時鐘就可以達(dá)到同步。

為了提高修正精度,必須把主時鐘到從時鐘的報文傳輸延遲時間考慮進(jìn)來,即延遲測量,這是同步過程的第二個階段——延遲測量,如圖3所示:

圖3 延遲測量

從時鐘向主時鐘發(fā)出一個“延遲請求”數(shù)據(jù)報文,并記錄下該報文傳遞準(zhǔn)確時間t3。主時鐘對接收數(shù)據(jù)包打上一個接收時間戳t4,然后在“延遲響應(yīng)”數(shù)據(jù)包中,把接收時間戳t4送回到從時鐘。根據(jù)傳遞時間戳t3和主時鐘提供的接收時間戳t4,從時鐘計算與主時鐘之間的延遲時間。

IEEE 1588定義了兩種工作模式,一步模式和兩步模式。上述用跟隨報文傳送同步報文的發(fā)送時間戳的方式即為兩步模式。如果作為 Master時鐘的設(shè)備有能力把同步報文的發(fā)送時間戳精確的打在同步報文中,那么就可以省去跟隨報文的發(fā)送了。這就是一步模式。

IEEE 1588目前的版本是 v2.2,主要應(yīng)用于相對本地化、網(wǎng)絡(luò)化的系統(tǒng),內(nèi)部組件相對穩(wěn)定,其優(yōu)點是標(biāo)準(zhǔn)非常具有代表性,并且是開放式的。由于它的開放性,特別適合于以太網(wǎng)的網(wǎng)絡(luò)環(huán)境。與其他常用于Ethernet TCP/IP網(wǎng)絡(luò)的同步協(xié)議如SNTP或NTP相比,主要區(qū)別是PTP是針對更穩(wěn)定和更安全的網(wǎng)絡(luò)環(huán)境設(shè)計的,所以更為簡單,占用的網(wǎng)絡(luò)和計算資源也更少。PTP定義的網(wǎng)絡(luò)結(jié)構(gòu)可以使自身達(dá)到很高的精度,與SNTP和NTP相反,時間戳更容易在硬件上實現(xiàn),并且不局限于應(yīng)用層,這使得 PTP可以達(dá)到微秒以內(nèi)的精度。此外,PTP模塊化的設(shè)計也使它很容易適應(yīng)低端設(shè)備。

IEEE1588標(biāo)準(zhǔn)所定義的精確網(wǎng)絡(luò)同步協(xié)議,實現(xiàn)了網(wǎng)絡(luò)中的高度同步,使得在分配控制工作時,無需再進(jìn)行專門的同步通信,從而達(dá)到了通信時間模式與應(yīng)用程序執(zhí)行時間模式分開的效果。

2 IEEE 1588定義的其它時鐘類型

在現(xiàn)實的網(wǎng)絡(luò)環(huán)境中,主時鐘設(shè)備和從時鐘設(shè)備之間往往會存在許多的各種路由器,交換機。在這些設(shè)備中,會因為網(wǎng)絡(luò)流量的變化或是設(shè)備自身的性能,而使得 IEEE 1588報文在網(wǎng)絡(luò)上的傳播時延產(chǎn)生抖動。這就會造成時鐘同步的精確度下降。為了能夠更好的測量報文在網(wǎng)絡(luò)上的時延,IEEE 1588定義了另外一種類型的時鐘:透傳時鐘。透傳時鐘在網(wǎng)絡(luò)中的位置,就在主時鐘設(shè)備和從時鐘設(shè)備之間,如圖4所示:

圖4 透傳時鐘工作示意圖

透傳時鐘的工作,就是把1588報文在該透傳時鐘設(shè)備上的停留時間,精確的記錄下來,然后把這個停留時間加到報文中去。這樣從時鐘在計算網(wǎng)路延遲時就可以得到更精確的值了。

3 IEEE 1588的實現(xiàn)

IEEE 1588的實現(xiàn)有3種方式:純軟件的實現(xiàn)、軟件與硬件相結(jié)合的實現(xiàn)、純硬件實現(xiàn)。

純軟件實現(xiàn)的IEEE 1588,是指時鐘同步過程中的頻率差的計算,線路延遲的計算以及時間同步報文的接收和發(fā)送時間戳的產(chǎn)生,都由軟件來負(fù)責(zé)完成。這樣的實現(xiàn),性能難于達(dá)到設(shè)計的性能目標(biāo)。主要原因,是IEEE 1588報文,在協(xié)議棧和存儲轉(zhuǎn)發(fā)過程中,受到不確定因素的影響太多,從而使得同步的結(jié)果產(chǎn)生較大的抖動。不確定因素包括:軟件系統(tǒng)的繁忙程度、網(wǎng)絡(luò)的擁塞狀況等等。

純硬件實現(xiàn)的IEEE 1588,是指時鐘同步過程中的頻率差的計算、線路延遲的計算以及時間同步報文的接收和發(fā)送時間戳的產(chǎn)生,都由硬件來負(fù)責(zé)完成。純硬件實現(xiàn),雖然可以提高精確度,使得得到的同步結(jié)果,更接近于理想的結(jié)果,但純硬件實現(xiàn),會帶來成本大幅提高的問題,這不利于IEEE 1588的推廣使用。同時,硬件實現(xiàn),還存在缺乏靈活性的問題,不利于IEEE 1588設(shè)備的升級和換代。

為了實現(xiàn)IEEE 1588的高精確性,同時也為了控制成本,理想的實現(xiàn)方式就是軟硬件結(jié)合。即由硬件來負(fù)責(zé)打時間戳和獲取時間戳的工作,然后由軟件來負(fù)責(zé)進(jìn)行必要的計算。最后軟件將計算的結(jié)果設(shè)置到相應(yīng)的時鐘上去。其實現(xiàn)結(jié)構(gòu),如圖5所示:

圖5 軟件加硬件結(jié)合實現(xiàn)結(jié)構(gòu)圖

在報文中打時間戳的時間點相當(dāng)重要,因為這關(guān)系到精確性。一般的實現(xiàn)方法,是在各種物理端口的PHY層,這個最靠近物理線路的模塊來實現(xiàn)打時間戳的功能。

3.1 IEEE 1588各種時鐘類型的實現(xiàn)

3.1.1 請求響應(yīng)機制普通時鐘的實現(xiàn)

請求響應(yīng)機制普通時鐘分兩種角色:master時鐘和slave時鐘。兩種時鐘的硬件在收到IEEE1588消息后記錄下消息到達(dá)時間,然后將消息送往CPU交由軟件做處理。硬件在發(fā)送 IEEE1588消息前,會修改消息的內(nèi)容、填寫IEEE1588消息的發(fā)送時間和校正域。軟件在收到IEEE1588消息后,先對收到的消息的正確性做出判斷。對于不正確的消息,直接丟棄。對于正確的消息,軟件會讀取硬件為該消息保存的接收時間信息。對于slave時鐘,軟件會計算出本地時鐘頻率和 master時鐘的時鐘頻率的差值,然后調(diào)整本地時鐘以達(dá)到和master時鐘頻率的同步。如果slave時鐘的本地時間和master時鐘的時間相差大于1S的情況下,slave時鐘還應(yīng)該更改本地時鐘的時間,以達(dá)到和 master時鐘的時間一致。

請求響應(yīng)機制,普通時鐘在計算線路延遲時,把從master到slave的線路延遲和從slave到master的延遲視為同等的。通過取兩個不同方向延遲的平均值作為線路延遲。

3.1.2 請求響應(yīng)機制邊界時鐘的實現(xiàn)

請求響應(yīng)機制邊界時鐘,是請求響應(yīng)機制普通時鐘的聚合體。請求響應(yīng)機制邊界時鐘上,必須且只能有一個slave角色的請求響應(yīng)機制普通時鐘和若干個 master角色的請求響應(yīng)機制普通時鐘。Slave時鐘和這些master時鐘共用相同的時鐘源。請求響應(yīng)機制邊界時鐘,通過slave普通時鐘和外部的時鐘源完成時鐘同步。

請求響應(yīng)機制邊界時鐘上的 slave普通時鐘和 master普通時鐘的實現(xiàn),和4.1.1節(jié)中介紹的請求響應(yīng)機制普通時鐘的實現(xiàn)是一樣的。

3.1.3 對等機制普通時鐘的實現(xiàn)

對等機制普通時鐘在進(jìn)行時鐘頻率同步的時候,也是有master時鐘和slave時鐘之分的,但在進(jìn)行線路延遲的測量時,卻沒有master和slave之分,這個時候體現(xiàn)出了對等的關(guān)系。兩個對等機制普通時鐘之間是直接互聯(lián)的,中間沒有連接任何設(shè)備。

對等機制普通時鐘頻率同步的實現(xiàn)和請求響應(yīng)機制普通時鐘的頻率同步的實現(xiàn)是一樣的。對等機制普通時鐘的特殊之處,在于它把兩個時鐘之間的兩個方向上的線路延遲看做是不對等的,因此相連的兩個時鐘,要分別計算從對方到己方的線路延遲。

3.1.4 對等機制邊界時鐘的實現(xiàn)

對等機制邊界時鐘,是對等機制普通時鐘的聚合體。對等機制邊界時鐘上,必須且只能有一個slave角色的對等機制普通時鐘和若干個 master角色的對等機制普通時鐘。Slave時鐘和這些master時鐘共用相同的時鐘源。對等機制邊界時鐘,通過slave普通時鐘和外部的時鐘源完成時鐘同步。

對等機制邊界時鐘上的slave普通時鐘和master普通時鐘的實現(xiàn),和4.1.3節(jié)中介紹的對等機制普通時鐘的實現(xiàn)是一樣的。

3.1.5 對等機制透傳時鐘的實現(xiàn)

透傳時鐘的作用,是將IEEE1588消息在該透傳時鐘設(shè)備上的逗留時間添加到消息報文中去。為了保證所加的逗留時間的準(zhǔn)確性,這就要求透傳時鐘也要和時鐘源進(jìn)行時鐘同步。

對等機制透傳時鐘的消息入口,是一個slave角色的對等機制普通時鐘。當(dāng)來自主時鐘的IEEE1588消息從該入口進(jìn)入到透傳時鐘時,硬件所做的工作,是將消息報文拷貝一份送往CPU供軟件進(jìn)行頻率同步,同時將原消息報文遞送往出口,以使其到達(dá)從時鐘。而在反方向,來自從時鐘的回應(yīng)消息,將會被硬件在消息報文中,添加逗留時間后直接轉(zhuǎn)發(fā)往主時鐘。

3.1.6 端到端機制透傳時鐘的實現(xiàn)

作為透傳時鐘,端到端機制透傳時鐘也要和時鐘源進(jìn)行時鐘同步。

端到端機制透傳時鐘的消息入口是一個 slave角色的請求響應(yīng)機制的普通時鐘。當(dāng)來自主時鐘的IEEE1588消息從該入口進(jìn)入到透傳時鐘時,硬件所做的工作是將消息報文拷貝一份,送往CPU供軟件進(jìn)行頻率同步,同時將原消息報文遞送往出口,以使其到達(dá)從時鐘。而在反方向,來自從時鐘的回應(yīng)消息,將會被硬件在消息報文中,添加逗留時間后直接轉(zhuǎn)發(fā)往主時鐘。

4 結(jié)語

目前支持IEEE 1588功能的設(shè)備大多為主干網(wǎng)上的設(shè)備。雖然支持IEEE 1588功能的局域網(wǎng)設(shè)備也已經(jīng)開發(fā)出來了,但是因為成本的原因,先期布設(shè)局域網(wǎng)設(shè)備不可能在短期內(nèi)得到更換。已有的實驗顯示,在兩個支持IEEE 1588功能的設(shè)備中間,加上10級不支持IEEE 1588的交換機后,同步的時間精度在300微妙左右。這樣IEEE 1588在局域網(wǎng)中,還是不能夠很好的發(fā)揮其精確時間同步的作用。

IEEE 1588PTP協(xié)議借鑒了NTP技術(shù),具有容易配置、快速收斂以及對網(wǎng)絡(luò)帶寬和資源消耗少等特點。同時還能夠提供亞微秒級的精確度。是適合以太網(wǎng)的理想時鐘同步協(xié)議。但是在實際的應(yīng)用中,也還存在著問題。比如如何很好的克服在協(xié)議棧處理是產(chǎn)生的延遲;如何提高主時鐘的容錯性能。這些問題,都還需要更進(jìn)一步的研究。

[1]IEEE Std 1588 TM —2002 Standard for a precision clock synchronization protocol for networked measurement and control systems[S]. 2002.

[2]IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control System ,[C]IEEE Instrumentation and Measurement Society , 2008.

[3]于鵬飛,喻強,鄧輝, IEEE 1588精確時間同步協(xié)議的應(yīng)用方案,[J]電力系統(tǒng)自動化,33(3)2009.7.3.

[4]張妍,孫鶴旭,林濤等,IEEE 1588在實時工業(yè)以太網(wǎng)中的應(yīng)用,[J]微計算機技術(shù),2005(25)。

[5]袁振華,董秀軍,劉朝英,基于IEEE 1588的時鐘同步技術(shù)及應(yīng)用,[J]計算機與控制,2006(12)。

猜你喜歡
報文時鐘機制
基于J1939 協(xié)議多包報文的時序研究及應(yīng)用
汽車電器(2022年9期)2022-11-07 02:16:24
別樣的“時鐘”
古代的時鐘
CTCS-2級報文數(shù)據(jù)管理需求分析和實現(xiàn)
淺析反駁類報文要點
中國外匯(2019年11期)2019-08-27 02:06:30
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
有趣的時鐘
ATS與列車通信報文分析
時鐘會開“花”
破除舊機制要分步推進(jìn)
清涧县| 白水县| 重庆市| 三亚市| 察隅县| 定陶县| 吉林市| 衡山县| 武汉市| 永川市| 盐城市| 临朐县| 乌兰察布市| 都昌县| 若尔盖县| 吉林省| 永善县| 苗栗市| 德昌县| 定襄县| 古田县| 盐亭县| 刚察县| 华亭县| 桃园市| 宣汉县| 松滋市| 新蔡县| 邯郸市| 乐清市| 铜川市| 东乌珠穆沁旗| 南和县| 青州市| 永靖县| 丰县| 尼玛县| 淮安市| 上虞市| 沁水县| 屏东县|