TDD PTP NTP PVT FIFO TOD

掌握PTP協定運作原理 高精度時間同步設計隨心所欲

2020-12-10
借助平台,可實現的高精確時間協定(PTP)精度受限於所使用的架構而非硬體。這種典範轉移(Paradigm Shift)允許開發者在仍然使用標準硬體平台的情況下,為其應用實現一直以來所尋求的精度。

 

時間同步是包括金融、電信、工業、消費類以及航空航天與國防在內大多數產業的普遍要求。所有市場都有眾多應用仰賴時間同步。本文的第一部分介紹了幾個典型示例,在這些示例中,時間同步造就了應用的實現,除此之外別無他法。時間同步可以藉助迥然不同的技術來實現,每種技術都有各有利弊。而本文的第二部分簡要回顧了常用的時間同步技術;本文的第三部分重點講解了時間同步的品質,以及如何幫助設計人員和系統架構師在其特定應用中實現設計/系統等級的要求目標。某些FPGA內原生提供的硬體設計,支援低於1ns的PTP精度,為實現可靠的時間同步策略奠定基礎。

時間同步無處不在

時間同步無處不在,幾乎在所有市場上的眾多應用領域和日常生活中都得到了廣泛採用。在本文中,「時制(Clock)」為時間同步應用情景下的固定時段(Time of Day, TOD),而非週期性波形。下面是時間同步的一些示例。

由時間同步提供支援的一大類服務是地理定位。在全球定位服務(GPS)中,衛星在完全相同的時間裡開始訊框傳輸。因為接收器距離每個可見衛星的距離不同,所以它要準確測量接收到的每訊框相位差。結合該訊息與衛星的已知位置,就能容易計算出接收器的準確位置。每個衛星必須「同時」開始訊框傳輸。這是一個先決條件,否則系統就無法運作。每個衛星都有一個固定時段,位於不同衛星上的所有時制都必須保持同相。這種在後台保持時制「對齊」的技術被稱為時間同步。

另一個示例來自於電網。每個國家都擁有覆蓋全國、深入每棟建築的電網。在長途輸電過程中(高架或地下化),線纜長度達到數百公里是極為常見的。如果在電力站A和電力站B之間的某點發生意外短路,會發生什麼情況?根據圖1,假設在T0時刻發生故障,波及到電力站A和電力站B將有滯後,因為故障傳播並不會以無限的速度發生。具體而言,電力站A和電力站B受故障波及的時間將不同,具體取決於線路中故障發生的位置。

圖1  只有在電力站A和電力站B使用公共TOD的情況下,電網故障檢測才能奏效

若兩個電力站使用公共時制(TOD),也就是說它們時間同步,那麼根據到達時間,就能輕鬆估算出故障位置。而故障定位只是電網時間同步的眾多優勢之一。

在金融業中,監管市場上發生的所有交易都應該蓋上精度優於100ns的時間戳記,目的是發現非法交易活動。主要監管機構包括歐盟的歐洲證券與市場監管局(ESMA)與美國證券交易委員會(SEC),所有進入監管市場的營運商都必須採用合規的時間同步策略。

時間同步的應用範圍遠超出電子應用。它也是日常生活的一部分。如在約定「下午2點視訊開會」時,就意謂著以公共時制,一般為世界標準時間(UTC)為基準,以便各方在同一時間與會。

時間同步技術

從上面示例可以清楚看出,時間同步的問題之一是在不同網路節點上分配和維護時制,但這些節點通常彼此相距甚遠。

雖然如今有大量時間同步技術可以使用,最為人熟知的非電子時間同步示例是內燃機裡的動力軸。雖然是採機械方式,但其仍然是主要的時間同步技術。本文只將電子時間同步納入考量,它們可以劃分為兩大類:使用全球導航衛星系統(GNSS)或是數據封包,而電子時間同步指所有使用資料流程的時間同步方法,包括不嚴格使用乙太網路資料封包的協定。

常用於定位服務的衛星往往也用於分配時間;實際上,在任何一個GNSS系統中,授時都是主要服務之一。例如無線基地台就有安裝這一用途的GPS接收器(不是用於獲取其自身位置,其自身位置應該是先驗位置)。而證券交易所和交易公司都在自己的建築物頂部安裝了GPS接收器,用於為事件進行時間戳標記,主要是應監管要求,如前文所述。

需要注意的是,雖然GPS可能是第一種投入使用的GNSS,但並非是唯一一種。如今,格洛納斯、伽利略定位和北斗衛星導航系統也在手機中實現大部分商用。GNSS接收器的使用,一般結合運用便可改善定位服務,例如蘋果iPhone8便支援GPS、格洛納斯和伽利略等系統。

然而,使用GNSS的時間同步並非是針對所有應用的唯一解決方案。因為天氣原因或駭客攻擊(網路詐騙、干擾等),任何GNSS都可能會被關閉,暫時失聯。此外,室內應用通常不具備GNSS時間同步要求的天空能見度。因此可以透過數據封包網路授時,作為GNSS的補強。這方面的主要標準在IEEE Std 1588中有具體規定,被稱為精確時間協定。

每個節點應實現的時間同步精度僅由應用來決定。早一分鐘或晚一分鐘接聽電話可能沒有大礙,但電力站裡的一分鐘差異將讓故障定位服務無法使用。IEEE Std 1588可支援多種不同的方案,這些方案之間的主要差異在於對每個節點上的時制所要求的時間同步精度。

PTP在開放系統互聯(OSI)模型的第2層運作,盡可能貼近物理介質以提升精度。網路時間協定(NTP)與PTP的相似之處在於它也透過數據封包網路授時,但它在TCP/IP個人電腦內的時制運作。

本文接下來將重點講解PTP,包括它的運作方式以及如何支援它獲得用戶期望的精度。

在圖2中,PTP的目標是以最小誤差從一個網路節點(主節點,左側)向另一節點(從節點,右側)傳遞時間。從節點定期檢查其是否準確時間同步,即其自身的時間尺度是否與主節點的時間尺度對齊。在其間從節點根據最新時間同步訊息自由運行。主節點可以時間同步到另一個主節點。在這種情況下,它將充當從節點。另外,主節點可以從GNSS接收器獲得時間同步。網路內所有時間同步到的主時制被定義為主控時制(Grandmaster),參見圖2。 主時制發送嵌入T1(即數據封包離開主時制的TOD)的時間數據封包。該數據封包在T2被接收到。讀者應該留意,T2-T1並非是鏈路延遲,因為T1是按主時制的時間尺度測量的,而T2是按從時制的時間尺度測量的。實際上,主時制和從時制的時間尺度並未對齊。

圖2  IEEE Std 1588 PTP流程(簡化版)

LEG 2用於測量從時制和主時制之間的「表面」延遲,而LEG 3只用於將主時制內生成的T4傳遞回從時制進行處理。在從時制採集到T1至T4後,就能用如下公式計算TOD校正。

公式所做的校正計算是從時制裡的時間和主時制裡的時間之間的估算差。從時制可以使用透過該公式計算得出的校正來校正自己的時間尺度,因此本文假定在測量下一次校正前主時制和從時制之間的時間尺度是對齊的。請注意,公式中假定鏈路延遲是對稱的,任何鏈路延遲的非對稱都會導致時間同步誤差。 此公式也說明PTP容易受到鏈路延遲非對稱的影響,除非這些非對稱是已知的先驗值。在用來補償PTP網路的非對稱的結構化方法中,最值得一提的是IEEE Std 1588的擴展版本,這種方法被稱為白兔法(WR),是由歐洲核子研究委員會(CERN)開發而成的。

在非對稱之外,生成時間戳記的精度在總體時間同步精度中占主導地位。本文能夠幫助實現所需的精度水準,大幅減少線路和TOD間與每個電子模組有關延遲的不確定性(抖動)。

電子裝置精確延遲測量

收發器一般在RX方向和TX方向都採用FIFO(圖3),用於調和讀取時制和寫入時制的相位差。雖然這是用來保證數據完整性的解決方案,但同時它也給鏈路延遲製造了不確定性。由於讀取時制和寫入時制的分頻器時間不同步。因為它們使用單一時制重置,所以重置後的FIFO填充等級(進而導致延遲)具有不確定性,使鏈路延遲在啟動到啟動之間不斷變化,因而使延遲對功耗、電壓和溫度(PVT)十分敏感。而針對PVT的敏感性主要源於FPGA邏輯中的長時制樹狀變化。時間延遲的任何變化都會帶來FIFO填充等級的變化,進而影響其延遲的變化。

圖3  TX:時間延遲在每次啟動時發生變化並隨PVT而變化


對於系統架構師而言,非常需要在時間同步中實現固定延遲。固定延遲,也稱為「緩衝旁路」,能夠將接收器的延遲變化降低至遠低於1ns。固定延遲會對時制結構造成影響,應從系統層面予以考慮(圖4)。具體而言,這種架構大幅改變了時制驅動時制樹的相位,以從時序角度保持異步數據域交匯的安全。

圖4  緩衝旁路模式

緩衝旁路模式有一個「正面的」副作用,這是因為收發器在最低延遲下工作,使它不僅對時間同步應用來說是理想配置,對低延遲應用,主要是高頻交易(HFT)來說也是如此。而在收發器中實現固定延遲的替代方案,是用在近幾代賽靈思(Xilinx)元件中都搭載的相位插值器(PI)模組。PI模組位於輸入參考時制和傳輸緩衝之間,FPGA邏輯透過簡單的升高/降低命令就能控制(圖5)。

圖5  TX PI功能位置和功能

雖然PI猶如一個延遲線,其優勢在於能夠無限升高或降低,允許設計人員以不同於參考時制之一的速率發送輸出數據。其分辨率能容易地達到1ps範圍內(即1單位間隔除以32)。PI在時制上的行為猶如「無限」延遲線。如圖6所示架構,PI能使用與PI精度(約1ps且與PVT無關)相關的精度調變FIFO填充等級。當旗標切換時,FIFO剛好半滿。圖6中的旗標對發送器稱為TXBUFSTATUS,對接收器稱為RXBUFSTATUS。

圖6  使用PI實現/維持固定延遲時間

雖然低延遲模式能夠保證較低延遲且無抖動注入到線路上,但以第二種方法在線路上注入抖動(調變PI),在設置延遲本身上精度顯著勝出,因為它是基於皮秒分辨率的PI。

獲得固定延遲是必要的,因為在制定時間同步策略時它能顯著地簡化PTP引擎。但是這並非是PTP的一項嚴格要求。在PTP中,FIFO的延遲隨時間的推移而變化;只需要知道TS生成時的延遲,就能正確地以數學方式補償TS。有一個全新的策略源於這個觀察結果:與其限制收發器的延遲,不如簡單地對它進行測量。 許多專用電路可以測量收發器運行時的延遲,每種都有自己的精度、優勢及不足,如針對使用內建64/66變速機制的協定,有業者在收發器內提供全自動化運行時延遲測量系統,解析度可達到0.125UI。以下示例關注的是基於PI的延遲測量架構,其精度較高且能在近幾代的FPGA上實現。在這個示例中(圖7),收發器的延遲可以簡單地透過鏡像結構間接測量,假設鏡像結構隨時間保持與任務收發器相同的延遲。任務收發器用於數據傳輸(即本應用中使用的收發器),鏡像收發器只用於測量延遲,其數據不進行傳輸。

圖7  使用鏡像結構測量FIFO延遲

每個收發器帶有以下用戶接口:輸入端口可調增或調減PI,使用戶能獨立地在每個收發器中控制FIFO部分占用;以及輸出端口方便用戶掌握FIFO是否高於或低於半滿。 在重置後啟動時,任務收發器和鏡像收發器的延遲不同。這種延遲可以透過簡單地操作每個收發器中的PI,將FIFO調節為準確的半滿(重置後僅一次)而獲得均衡。

在運行過程中,任務收發器的PI不產生作用,因此不會給線路注入抖動。在運行期間,兩個收發器的延遲能夠彼此追蹤,這是因為它們共享PVT(它們處於同一晶片上)。雖然延遲會隨時間發生改變,但對兩個收發器而言改變的方式完全相同。

鏡像結構中的PI能夠計算需要多少步才能將它的FIFO準確調回至半滿。這一過程可以在運行中反覆重複以測量FIFO的延遲。測得的延遲訊息可以用於糾正待發送數據封包中的TS。在RX側也能使用類似的結構,而且值得一提的是,多個接收器和發送器可以共享單個鏡像結構。

這種方案的優勢在於最終精度由PI本身決定(非常高,在皮秒以內),而且可避免對線路注入抖動,因為所有測量都是在鏡像收發器上完成的,而非在任務收發器上完成。在鏡像結構上測量延遲可視為對現有數據通訊/電信應用IP的升級,該IP目前還不支援PTP。

有些收發器的硬體結構高度靈活,可以創建新的架構來匹配特定的目標精度。本文中所列舉的電路只是示例,旨在為系統架構師和設計人員提供靈感。本文重點簡介為何文中提及的平台是有嚴格時序要求的應用的平台選擇,以及該平台如何托管客製化的應用,其以單個元件提供精度和整合度,相比其他平台,能較快推動應用從設計變為現實。

(本文作者為賽靈思首席工程師)

 

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!