測試與測量(Test and Measurement,T&M)的發(fā)展以測試總線(xiàn)的發(fā)展為標志。測試總線(xiàn)從GPIB到VXI再到PXI,測試儀器也由機架式發(fā)展到了插卡式。但是T&M對數據傳輸與處理綜合要求的逐步提高使得這種發(fā)展已經(jīng)遠遠不能滿(mǎn)足人們的需求,于是以太網(wǎng)以其優(yōu)秀的傳輸性能開(kāi)始被廣泛采用。 人們開(kāi)始在測試與測量系統中直接接入以太網(wǎng),然后使用GPIB、VXI或者PXI總線(xiàn)連接儀器,達到向遠程地點(diǎn)傳輸數據或者從遠程地點(diǎn)接收命令的目的。去年9月,Agilent公司和VXI科技公司聯(lián)合推出了LXI(LAN?based eXtensions for Instruments),這是一種適用于測試系統的新一代基于LAN的模塊化平臺標準。LXI總線(xiàn)不受帶寬、軟件和計算機背板體系結構的限制,而且能利用日益增長(cháng)的Ethernet吞吐能力。 LXI是一種基于網(wǎng)絡(luò )的儀器接口規范,為實(shí)現各種終端設備之間的同步控制,采用了以太網(wǎng)的精密時(shí)間協(xié)議(Precision Time Protocol,PTP),即IEEE1588。IEEE1588定義了一個(gè)在測量和控制網(wǎng)絡(luò )中,與網(wǎng)絡(luò )交流、本地計算和分配對象有關(guān)的精確同步時(shí)鐘的協(xié)議(PTP)。下面介紹這種精密時(shí)鐘協(xié)議的體系結構、工作原理以及它的精度分析。 1 IEEE1588體系結構 1.1 關(guān)于精密時(shí)鐘 一個(gè)1588精密時(shí)鐘(PTP)系統包括多個(gè)節點(diǎn),每一個(gè)都代表一個(gè)時(shí)鐘,時(shí)鐘之間經(jīng)由網(wǎng)絡(luò )連接。按工作原理,時(shí)鐘可以分為普通時(shí)鐘和邊界時(shí)鐘兩種。二者的區別是普通時(shí)鐘只有一個(gè)PTP端口,而邊界時(shí)鐘包括多個(gè)PTP端口。在網(wǎng)絡(luò )中,每一個(gè)時(shí)鐘都可能處于下面3種狀態(tài):從屬時(shí)鐘(SLAVE)、主時(shí)鐘(MASTER)和原主時(shí)鐘(PASSIVE)。每個(gè)時(shí)鐘所處的狀態(tài)是根據最優(yōu)化的時(shí)鐘算法決定的,圖2IEEE1588的三層結構這些狀態(tài)隨著(zhù)網(wǎng)絡(luò )構造的改變而改變。 1.2 PTP參考體系結構 PTP體系結構的特別之處在于硬件部分與協(xié)議的分離,以及軟件部分與協(xié)議的分離,因此,運行時(shí)對處理器的要求很低。事實(shí)上,下面可以看到,PTP的體系結構是一種完全脫離操作系統的軟件結構。 PTP參考體系結構如圖1所示。硬件單元由一個(gè)高度精確的實(shí)時(shí)時(shí)鐘和一個(gè)用來(lái)產(chǎn)生時(shí)間印章的時(shí)間印章單元(TSU)組成。軟件部分通過(guò)與實(shí)時(shí)時(shí)鐘和硬件時(shí)間印章單元的聯(lián)系來(lái)實(shí)現時(shí)鐘同步。 圖1同步元件組成框圖 PTP這種體系結構的目的是為了支持一種完全脫離操作系統的軟件組成模型,如圖2所示。根據抽象程度的不同,PTP可分為3層結構: 協(xié)議層、OS抽象層和OS層。 協(xié)議層包含完成網(wǎng)絡(luò )時(shí)鐘同步的精密時(shí)鐘協(xié)議,它能運用在不同的通信元件中(如PC、集線(xiàn)器、路由器等)。協(xié)議層中使用的僅僅是ANSI/ISO C中的保角函數(Conformal Functions),因此無(wú)需對不同平臺的接口功能函數有很深的了解,就能很容易地移植該協(xié)議。協(xié)議層與OS抽象層之間的通信是通過(guò)一個(gè)序列和3個(gè)精確定義的接口實(shí)現的。 OS抽象層包含了基于操作系統的功能函數, 因此,這一層操作者必須掌握。這一層中包含PTP的3個(gè)通信接口:時(shí)間印章接口、時(shí)鐘接口、端口接口。時(shí)間印章接口通過(guò)對Sync和DelayReq信號加蓋時(shí)間印章來(lái)提供精密時(shí)鐘協(xié)議,同時(shí)根據精度需要決定到底是硬件還是軟件產(chǎn)生時(shí)間印章。產(chǎn)生“軟件時(shí)間印章”的最好方法是依賴(lài)操作系統的NIC網(wǎng)絡(luò )接口卡驅動(dòng),并且要在傳輸媒介中取得越近越好。通過(guò)時(shí)鐘接口能夠對本地時(shí)鐘進(jìn)行讀和更改的操作,當然,這些操作是建立在熟知各類(lèi)功能函數的基礎上。該接口包含了與時(shí)鐘同步質(zhì)量(如精確度、穩定度等)密切相關(guān)的控制算法。端口接口用來(lái)分配/接收PTP信息。 這種模塊化的軟件平臺在Windows與Linux中的應用是通過(guò)軟件中的時(shí)間印章實(shí)現的。純粹的軟件實(shí)現也能達到大約100μs 的精確度,而且精確度很有可能達到小于10μs的精確度。 1.3 IEEE1588 與集線(xiàn)器 IEEE1588的精確度與所基于網(wǎng)絡(luò )拓撲結構的偏移抖動(dòng)(latency jitter)密切相關(guān)。測量時(shí),點(diǎn)對點(diǎn)連接能提供最高的精確度,而Hub的使用會(huì )產(chǎn)生網(wǎng)絡(luò )抖動(dòng)(jitter)。當負載很低或者根本沒(méi)有負載時(shí)第二層集線(xiàn)器(Layer 2 switches)的處理時(shí)間很短,一般是2μs"10μs外加信息包接收時(shí)間。但是,集線(xiàn)器是以序列的方式處理和儲存數據,采取“存儲-轉發(fā)”方式進(jìn)行數據交換的。因此僅僅一個(gè)序列的最大長(cháng)度信息包就會(huì )給下面的信息包造成大約122μs的延遲,而且在高負載條件下,往往不止存在一個(gè)序列。 該協(xié)議的精確度的第二個(gè)問(wèn)題是,(在下面的分析中可以看出)當考慮偏移(latency)的時(shí)候假設從主時(shí)鐘到從屬時(shí)鐘以及從從屬時(shí)鐘到主時(shí)鐘是完全對稱(chēng)的,很顯然,在較高的網(wǎng)絡(luò )負載中這一點(diǎn)幾乎是無(wú)法保證的。 IEEE802.2D/p信息包的優(yōu)先權(Prioritization)根本無(wú)法真正解決上述問(wèn)題。因為在這種協(xié)議中,至少在同步信息包的前面必須有一個(gè)長(cháng)信息包,因此,在傳輸的過(guò)程中就會(huì )產(chǎn)生122μs的抖動(dòng),而且一般在優(yōu)先程序(priority scheduler)后面會(huì )存在一個(gè)有2到8個(gè)信息包的序列,而且還可能不止一個(gè)序列,這就意味著(zhù)在重負載的條件下,將會(huì )存在360μs到1ms的抖動(dòng)。 這個(gè)問(wèn)題的解決方法是在集線(xiàn)器中使用IEEE1588邊界時(shí)鐘。這樣就只存在點(diǎn)對點(diǎn)連接,在主時(shí)鐘和從屬時(shí)鐘之間幾乎不存在抖動(dòng),而且,集線(xiàn)器內部序列的延遲(抖動(dòng))(delay/jitter)也不會(huì )有任何關(guān)系了。在本文精度測試的試驗中就是接入了邊界時(shí)鐘后進(jìn)行的測試,如圖3所示。 圖3邊界時(shí)鐘的使用2IEEE1588的時(shí)間同步實(shí)現 同步過(guò)程分為兩個(gè)階段:偏移測量階段和延遲測量階段。 2.1 偏移測量 偏移測量階段用來(lái)修正主時(shí)鐘和從屬時(shí)鐘的時(shí)間差。在這個(gè)偏移修正過(guò)程中,主時(shí)鐘周期性發(fā)出一個(gè)確定的同步信息(簡(jiǎn)稱(chēng)Sync信息)(一般為每?jì)擅胍淮危,它包含了一個(gè)時(shí)間印章(time stamp),精確地描述了數據包發(fā)出的預計時(shí)間。如圖4所示,假設同步之前主時(shí)鐘的時(shí)間為T(mén)m=1050s,而從屬時(shí)鐘的時(shí)間為T(mén)s=1000s。主時(shí)鐘測量出發(fā)送的準確時(shí)間TM1,而從屬時(shí)鐘測量出接收的準確時(shí)間TS1。由于信息包含的是預計的發(fā)出時(shí)間而不是真實(shí)的發(fā)出時(shí)間,所以主時(shí)鐘在Sync信息發(fā)出后發(fā)出一個(gè)Follow_Up信息,該信息加了一個(gè)時(shí)間印章,準確地記載了Sync信息的真實(shí)發(fā)出時(shí)間TM1。這樣一來(lái),從屬時(shí)鐘使用Follow_Up信息中的真實(shí)發(fā)出時(shí)間和接收方的真實(shí)接收時(shí)間,可以計算出從屬時(shí)鐘與主時(shí)鐘之間的偏移(offset): 圖4偏移測量 Offset = TS1-TM1-Delay 這里要說(shuō)明的是,上式中的Delay指的是主時(shí)鐘與從屬時(shí)鐘之間的傳輸延遲時(shí)間,它將在下面的測量階段測出,所以在這里是未知的,從偏移測量階段就提供了一個(gè)修正時(shí)間(Adjust Time),將從屬時(shí)鐘修正為: Adjust Time=Ts-Offset 2.2 延遲測量 延遲測量(delay measurement)階段用來(lái)測量網(wǎng)絡(luò )傳輸造成的延遲時(shí)間。為了測量網(wǎng)絡(luò )的傳輸延時(shí),IEEE1588定義了一個(gè)延遲請求信息包(Delay Request Packet),簡(jiǎn)稱(chēng)Delay_Req。 圖5延遲測量 如圖5所示,從屬時(shí)鐘在收到Sync信息后在TS3時(shí)刻發(fā)出延遲請求信息包Delay_Req,主時(shí)鐘收到Delay_Req后在延遲響應信息包(Delay Request Packet,Delay_Resp)印章出準確的接收時(shí)間TM3,并發(fā)送給從屬時(shí)鐘,因此從屬時(shí)鐘就可以非常準確地計算出網(wǎng)絡(luò )延時(shí): TM2→TS2:Delay1= TS2-(TM2+Offset) TS3→TM3:Delay2=(TM3+Offset)-TS3 因為網(wǎng)絡(luò )延遲時(shí)間是對稱(chēng)相等的,所以: Delay=Delay1+Delay22 與偏移測量階段不同的是,延遲測量階段的延遲請求信息包是隨機發(fā)出的,并沒(méi)有時(shí)間限制。需要說(shuō)明的是,在這個(gè)測量過(guò)程中,假設傳輸介質(zhì)是對稱(chēng)均勻的。 2.3 同步實(shí)現 如圖5所示,經(jīng)過(guò)同步信息的交換,從屬時(shí)鐘與主時(shí)鐘實(shí)現了精確同步。 3 精確度測試 為保證測試結果能夠最大限度地接近工程應用的實(shí)際情況,使主時(shí)鐘和從屬時(shí)鐘之間的偏離數據具有說(shuō)服力,在精確度測試中接入一個(gè)以太網(wǎng)信息包發(fā)生器加重網(wǎng)絡(luò )負載,測試系統連接如圖6所示。主時(shí)鐘和從屬時(shí)鐘的PPS(Plus Per Second)輸出連接到示波器,通過(guò)示波器就能非常清楚地測量出兩個(gè)信號之間的偏離,而且還可以描繪出這種偏離的頻率分布情況。這次測量前后用時(shí)84個(gè)小時(shí),圖7是示波器的顯示值。從圖7可以看出,最大抖動(dòng)條件下的同步精確度落在±100 ns內,顯示的是納秒級的主時(shí)鐘和從屬時(shí)鐘之間偏移值的頻率分布,標準偏離達到23.95ns,平均值是-4.248ns。 圖6測試系統的組成 圖7測試示波器顯示 結束語(yǔ) 精密時(shí)鐘協(xié)議將IEEE1588標準化達到亞微妙范圍內的同步精確度,而且還存在提高精確度的潛力。它適用于那些需要實(shí)現最高精確度分布時(shí)鐘的時(shí)間同步的有限網(wǎng)絡(luò )領(lǐng)域。 為使集線(xiàn)器以太網(wǎng)網(wǎng)絡(luò )達到高精確度,建議裝備具有IEEE1588技術(shù)的集線(xiàn)器。 |