劉月明 ,董 航
(1.武漢郵電科學研究院, 武漢 430074; 2.烽火通信科技股份有限公司, 武漢 430074)
以太網(wǎng)中需要時間戳同步功能,時間的精確同步能保證以太網(wǎng)傳輸中實時獲取數(shù)據(jù)的準確性。但以太網(wǎng)傳輸過程中傳輸延時會受到諸多因素的影響,比如通道時鐘切換、數(shù)據(jù)位寬變換以及物理編碼子層(Physical Coding Sublayer,PCS)對準標記(Alignment Marker,AM)碼插入等處理方式。為了保證時鐘的精確同步,應盡可能地消除不確定延時的影響。IEEE1588定義為為網(wǎng)絡測量和控制系統(tǒng)提供精確時鐘同步協(xié)議的標準,簡稱為1588協(xié)議或精確時間協(xié)議(Precision Time Protocol,PTP)[1]。協(xié)議分為1588v1和1588v2兩個版本,1588v1只能達到微秒級的時間同步精度,而1588v2的時間同步精度可達到納秒量級。應用了PTP的網(wǎng)絡稱為PTP域[2]。網(wǎng)絡中可能含有多個PTP域,PTP域是獨立PTP時鐘同步系統(tǒng)[3],一個PTP域內有且只有一個時鐘源,域內的所有設備都與該時鐘源保持同步[4],在一個特定的PTP域網(wǎng)絡中,由于只能存在一個主時鐘,其他時鐘都是從屬的關系,所以整個系統(tǒng)中的最高級別時鐘(Grand Master Clock,GMC)[5]有著最好的穩(wěn)定性和精確性。通常這個GMC的時間通過全球定位系統(tǒng)(Global Positioning System,GPS)或銫原子鐘來獲取,網(wǎng)絡中的其他從時鐘都與這個主時鐘保持同步。
本文提出了一種提高以太網(wǎng)傳輸中時間戳[6]精度的方法——均勻包絡速率刻畫。該方法在一定程度上能夠提高時間戳精度,使數(shù)據(jù)傳輸中的延時抖動保持在± 20 ns的范圍內,從而達到時鐘同步的效果。
PTP是IEEE1588的核心協(xié)議,設備之間通過運行PTP使主從設備時鐘交互PTP報文,傳遞報文的發(fā)送和接收的精確時戳,從而實現(xiàn)時間和頻率的同步。PTP支持兩種延時測量機制:延時請求-響應機制和點對點[7]延時機制。圖1所示為延時請求-響應機制[7]。
圖1 PTP延時請求-響應機制報文交互[7]
主設備周期性地發(fā)送Sync報文,如果Sync報文中包括發(fā)送此報文的時間戳t1且不再發(fā)Follow_up報文則稱作單步時鐘模式,如果隨后在發(fā)送Follow_up報文中記錄發(fā)送Sync報文的精確時間戳,則稱為兩步時鐘模式。從設備收到Sync或Follow_up報文后記錄下時間t1(Sync發(fā)出時間)和Sync消息的到達時間t2。從設備在t3時刻發(fā)送Delay_Req報文,主設備在t4時刻收到此報文,并將此t4時間放在Delay_Resp報文中發(fā)給從設備[8],從設備記錄下t3和t4時間。從設備時鐘根據(jù)4個時間信息計算出兩個時鐘的偏差和傳輸延遲。假設主從時鐘節(jié)點之間的消息往返延遲是對稱的,即t-ms=t-sm,則有從時鐘與主時鐘的時間偏差為Offset=[(t2-t1)+(t3-t4)]/2;從時鐘與主時鐘之間的傳輸延遲為Delay=[(t2-t1)+(t4-t3)]/2。 根據(jù)以上結果對從時鐘進行補償[9]和校正,就可以達到從時鐘與主時鐘同步的目的了。但傳輸延遲會受到很多因素的影響,發(fā)生不確定的抖動,影響時鐘同步。
100 G BASE-R PCS和上層協(xié)調子層(Reconciliation Sublayer,RS)的接口由媒體獨立接口(100 Gbit/s Media Independent Interface,CGMII)提供,與下層物理介質接入層(Physical Medium Attachment,PMA)接口使用PMA服務接口[10]。100 G BASE-R PCS與其他相關子層的關系如圖2所示[11]。由圖可知,100 G BASE-R PCS位于RS(通過CGMII接口)[12]和PMA子層之間。該模塊主要完成將經(jīng)過完善定義的以太網(wǎng)媒體接入控制(Media Access Control,MAC)功能映射到現(xiàn)存編碼和物理層信號系統(tǒng)的功能上去[13]。
圖2 100 G BASE-R PCS內部邏輯框圖[11]
數(shù)據(jù)在編碼和加擾之后,會分配到多個PCS通道,按照通道序號從低到高的順序依次放入66 bit的數(shù)據(jù)塊[14],此方式將支持PCS與物理介質相關子層(Physical Medium Dependent,PMD)或附件單元接口(100 Gbit/s Attachment Unit Interface,CAUI)中的多通道進行對接。100 G BASE-R PCS將66 bit數(shù)據(jù)塊分配到20個通道,并按照通道序號從小到大的順序依次排放[15],100 G BASE-R PCS總共有20個通道,采用輪詢方式,第0個66 bit數(shù)據(jù)塊放在0通道,第1個66 bit數(shù)據(jù)塊放在1通道,以此類推,第n-1個66 bit數(shù)據(jù)塊放在n-1通道,完成第一輪通道分配后,第n個66 bit數(shù)據(jù)塊放在0通道,以此類推,第2n-1個66 bit數(shù)據(jù)塊放在n-1通道,如圖3所示[11]。在本文中,圖3中n的取值為20。
圖3 100 G BASE-R PCS通道分配圖[11]
為了在PCS接收端對各個獨立通道的信號進行糾偏和重新排序,需要在每個通道中插入對齊標識即AM[11]碼。對齊標識是一個特殊的66 bit數(shù)據(jù)塊,其同步頭與控制碼字的相同,如圖4所示[11]。
圖4 對齊碼插入示意圖[11]
位寬變換以及AM碼的插入會增加數(shù)據(jù)流量,從而影響傳輸鏈路中的時延。此外,在100 G BASE-R PCS中存在多個時鐘域,時鐘的切換要通過異步先入先出(First Input First Output,FIFO)隊列來實現(xiàn),而讀寫時鐘頻率不一致會導致FIFO水線的抖動,從而影響傳輸鏈路中的時延,導致PTP幀中獲取的時戳存在不確定抖動,難以實現(xiàn)時鐘的精確同步。
100 Gbit/s以太網(wǎng)傳輸對時間的精度要求如圖5所示。由圖可知,傳輸過程中存在無法消除的固定時延,分布在圖中的4個點,具體的時延如下:
圖5 100 G BASE-R PCS時間戳相關結構圖
(1) 發(fā)送時間戳采集,異步時鐘引入,目前為8 ns;
(2) 發(fā)送Serdes并/串轉換引入一個并行時鐘周期;
(3) 接收Serdes串/并轉換引入一個并行時鐘周期;
(4) 接收時間戳采集,異步時鐘引入,目前為8 ns。
影響時鐘同步的主要原因是FIFO水線抖動導致的時戳抖動。
針對上述時間戳抖動問題,提出了解決方案。通過在傳輸鏈路中加入均勻包絡速率刻畫模塊,均勻包絡速率刻畫模塊刻畫均勻的數(shù)據(jù)包絡保證在任意單位時間內傳輸?shù)牧髁繛楹愣ㄖ?,從而保證FIFO及隨機存取存儲器(Random Access Memory,RAM)讀寫穩(wěn)定。當FIFO和RAM讀寫趨于穩(wěn)定,F(xiàn)IFO水線保持穩(wěn)定時,在傳輸?shù)臄?shù)據(jù)幀中打入攜帶時間戳信息的PTP幀,這樣能夠就保證傳輸鏈路中的時延穩(wěn)定性,消除不確定延時。數(shù)據(jù)包絡的均勻化程度會決定時間戳的精度,在設計中對數(shù)據(jù)包絡的均勻化程度要求較高,為了提高時間戳精度,需要均勻包絡速率刻畫模塊刻畫出均勻性較好的數(shù)據(jù)包絡。下面對不均勻數(shù)據(jù)包絡和均勻速率包絡兩種情形下的時間戳精度展開分析。
圖6 非均勻包絡數(shù)據(jù)流
分析可知,R為定值,數(shù)值S1、S2、S3和S4不同,所以相鄰時間戳之間的延時Δt也會不同,即時間戳發(fā)生抖動。為了有效消除時間戳抖動,加入了均勻速率包絡刻畫模塊,如圖5所示。均勻速率包絡刻畫模塊能刻畫均勻的數(shù)據(jù)包絡,所以,MAC發(fā)送模塊輸出的數(shù)據(jù)有效包絡是均勻分布的,如圖7所示,Ts間隔內的valid信號有效時長是固定的,Ts時間間隔內的流量S1、S2、S3和S4為固定值,則時間戳間隔Δt1=Δt2=Δt3=Δt4,這樣,相鄰時間戳之間的延時會是固定的,所以消除了時間戳抖動,達到了時鐘同步的效果。
圖7 均勻包絡數(shù)據(jù)流
為了驗證均勻包絡速率刻畫方法的效果,在實驗室中進行了測試,跟蹤記錄了12個時間戳,采集了12組數(shù)據(jù),分別計算出時間戳差值Inout_delay。未進行均勻包絡速率刻畫時,記錄到的時間戳差值信息如表1所示。
表1 非均勻包絡速率刻畫的時間戳延時表
由表可知,非均勻包絡速率刻畫的數(shù)據(jù)流輸入和輸出的時間戳差值即Inout_delay值抖動較大,時間戳抖動處于±40 ns范圍之內。此次設計中,要求時間戳抖動處于±20 ns范圍之內,非均勻數(shù)據(jù)包絡無法滿足時間戳精度要求,如圖8所示,圖中的點較為分散,抖動幅度較大,無法保證時鐘的精確同步。
圖8 非均勻包絡速率刻畫的時間戳的延時
在設計中加入了均勻包絡速率刻畫模塊后,MAC發(fā)送模塊輸出的數(shù)據(jù)有效包絡為均勻分布,同樣采集了12組時間戳數(shù)據(jù),計算出Inout_delay,實驗得到的數(shù)據(jù)如表2所示。
表2 均勻包絡速率刻畫的時間戳延時表
由表可知,均勻包絡速率刻畫的數(shù)據(jù)流輸入和輸出的時間戳差值即Inout_delay值抖動較小,時間戳抖動處于±20 ns范圍之內,實現(xiàn)了設計要求。如圖9所示,圖中的點抖動幅度較小,抖動消除效果較為明顯,能達到時鐘同步的效果。
圖9 均勻包絡速率刻畫的時間戳的延時
由實驗結果可知,設計中加入均勻包絡速率刻畫模塊后,均勻的數(shù)據(jù)包絡使得傳輸鏈路中的時間戳抖動大大降低了,時間戳精度得到了明顯提升,這為設計中數(shù)據(jù)的精確傳輸和接收提供了重要保障。
以太網(wǎng)對時鐘同步精度要求很高,但以太網(wǎng)傳輸中諸多因素會影響時鐘同步,時鐘切換和數(shù)據(jù)位寬變換引起的時間戳抖動會嚴重影響到時間的同步。針對這一問題,本文提出了均勻包絡速率刻畫的方法,通過刻畫均勻的數(shù)據(jù)包絡,保證了相同時間間隔內數(shù)據(jù)流量的穩(wěn)定,從而保證了相鄰時間戳之間延時的穩(wěn)定,消除了時間戳的抖動。由實驗數(shù)據(jù)可知,均勻包絡速率刻畫方法能夠很好地消除時間戳抖動,達到時鐘精確同步的效果,提高了時間戳精度,對以太網(wǎng)傳輸中時鐘的精確同步有著重要的作用。這種方法對數(shù)據(jù)包絡的均勻性有著嚴格的要求,為了更好地提高時間戳精度,需要均勻速率刻畫模塊刻畫出均勻性較好的數(shù)據(jù)包絡。