新聞中心

News

以太網設計規范——一刻鐘讀懂gPTP


時間同步解決的問題


大家都有過給機械手表校時的經歷:手表由于走得“快”或“慢”,造成它的指示時間和標準時間不一致,為了保證手表計時的準確性,可以根據電視臺或電臺的整點報時調表。手表“快”或手表“慢”的意思是手表走了1s,標準時間也許實際過去了0.999s或1.001s,一般優等機械表的日誤差在30秒以內。因此,為了保證計時的準確性,需要經常根據標準時間校準手表的指示時間;同時,當手表日誤差過大時,還需要到專業的維修店調整手表計時精度。


類似地,欲使網絡中的設備保持時間同步,必須解決以下問題:

1. 選取一個設備的時鐘作為主時鐘,即時間基準(類似于電視臺或電臺的時鐘)

2. 主時鐘定期發布同步信息(類似于電視臺或電臺整點報時)

3. 其他設備根據同步信息校正自己的本地時鐘,本地時鐘的同步包含以下兩個方面:

a) 絕對時間同步(類似于手表調時),如下圖所示,它要求在同一時刻,E和P的指示時間一致。



b) 頻率同步(類似于調整手表計時精度),如下圖所示,雖然在同一時刻E和P的指示時間不同,但是相鄰時刻之間的差值是相同的,如E走了20s,P同樣走20s。即E和P對時間的度量是一致的。



gPTP就是為了解決上述問題而誕生的,gPTP是general precise time protocol的簡稱,由IEEE 802.1AS標準定義。gPTP的目標是確保局域網里的所有設備的時間完全一致(同步精度在±500ns內)。


gPTP主要內容


1.網絡架構

gPTP域內的設備都有本地時鐘系統,可選擇“扮演”以下兩類角色之一:

主時鐘(Grandmaster Clock),它是整個gPTP域的時間基準,發送校時用的時間信息;

從時鐘(Slave Clock),根據收到的時間信息,保持和主時鐘的同步。


Source:來自“汽車以太網指南”一書


gPTP域內的設備,被稱為時間感知系統,共有兩類:

Time-aware end station:圖中標注802.1AS endpoint的設備。這類設備可以作為系統內的主時鐘(Grandmaster),也可以是從時鐘,當作為從時鐘時,它是時間信息的接收方。

Time-aware Bridge:圖中標注802.1AS bridge的設備。它可以作為主時鐘,或者作為中繼設備,連接網絡內的其他設備。作為中繼設備時,它接收主時鐘的時間信息,補償鏈路傳輸時延和駐留時間,發送新的修正后的時間信息。


2.主時鐘選取

在gPTP域內,某個節點被選舉為Grandmaster,此節點的本地時鐘將作為整個gPTP域的時基,Grandmaster可以自動選擇,也可以預先分配(車載領域一般為預先分配)。


BMCA(Best Master Clock Algorithm)是gPTP的主時鐘選擇機制。在系統啟動之初,所有設備都可以通過發送Announce報文,參與Grandmaster的“競選”,Announce報文中含有參選設備的時鐘信息(相當于競選宣言),一旦參選設備發現自己的時鐘不具備優勢,就會主動退出主時鐘競選。BMCA是一種“能者優先”機制,獲勝選出的Grandmaster一般具有更高精度的本地時鐘,并能夠和世界時保持同步(如GPS同步)。


此外通過BMCA將會構建一個以Grandmaster為根的時間同步生成樹,如上圖所示,在每個鏈路中,一個設備擔任Clock Master,另一個則是Clock Slave,這種主/從關系以Grandmaster為根遍歷整個gPTP網絡。同步消息將會依據時間同步樹從Grandmaster傳遍整個gPTP網絡。


3.網絡報文

gPTP通過不同種類的報文,攜帶并傳遞不同的信息;其他時間感知系統通過這些信息,完成與主時鐘的同步。


與時鐘同步相關的報文分為兩類五種:

事件類型報文:Sync、Pdelay_Req、Pdelay_Resp,此類報文的接收和發送會觸發MAC層對本地時鐘進行采樣;

一般類型報文:Follow_UP、Pdelay_Resp_Follow_UP,僅用來攜帶信息;


時間感知系統的本地時鐘都是通過晶振的振蕩周期進行度量的,如果一個晶振的振蕩頻率是25MHz,那么它的振蕩周期就是40ns,每振蕩25000次是1ms;時間感知系統中有硬件計數器對振蕩次數進行計數,當MAC層接收或發送事件類型報文時,會觸發記錄計數器的計數值。


Sync、Follow_UP為一組報文,Grandmaster的主時鐘信息,通過此組報文,傳遍整個生成樹。Sync報文定期發送,觸發記錄本地時鐘,Follow_UP負責將記錄的時間發送到網絡。

Pdelay_Req、Pdelay_Resp、Pdelay_Resp_Follow_UP報文為一組報文,周期發送,用于測量報文沿路徑傳輸產生的延時和實現頻率同步。




4.鏈路傳播延遲測量

鏈路傳播延遲是指報文在一條鏈路上傳播引起的延遲。報文攜帶的是同步報文離開Master端口的時間信息,在到達鏈路對端的設備時,由于傳播延遲的原因已經過期,從時鐘根據主時鐘消息校準自己的時間,需要補償傳播帶來的時間延遲。100m的鏈路,傳輸延遲一般在500ns左右,對于時間精度為ns級的設備,無法忽略。


鏈路傳播延遲一般通過兩步法測量,測量過程如下:

1. 請求方發送Pdelay_Req報文,請求測量傳播延遲。

2. Pdelay_Req報文離開請求方MAC層時,利用自由運行的本地時鐘捕獲t1時間戳;同時Pdelay_Req報文到達應答方MAC層時,在應答方捕獲到t2時間戳。

3. 應答方回復Pdelay_Resp報文,將t2時間傳輸給請求方;同時,Pdelay_Resp會觸發雙方捕捉t3和t4時間戳。

4. 應答方通過Pdelay_Resp_Follow_Up報文,將t3時間傳給請求方。

5. 假設傳輸延遲是對稱的,即報文從請求方到應答方的傳輸時間和從應答方到請求方的傳輸時間相同,則鏈路傳播延遲可通過以下公式計算:




由于t4/t1以請求方的時基為基準,t2/t3以應答方的時基為基準,在雙方頻率同步的前提下上述公式才正確。舉個例子方便大家理解:假設以請求方時基為基準情況下,t4-t1為2ms,t3-t2為1ms。當雙方頻率同步時,即雙方時間度量尺度相同,則Pdelay為0.5ms。而當雙方頻率不同步,如請求方計時1ms,應答方計時為3ms,即應答方的計時頻率是請求方的3倍;則t3-t2的度量值3ms,Pdelay此時計算結果為-0.5ms,顯然不正確,所以為了保證Pdelay計算結果的準確性,需要保證雙方的頻率同步。


鏈路延遲測量的方向可以從master端發起,也可以從slave端,不過有的場景下(比如車載領域固定主時鐘的情況),可以禁止master端進行鏈路延遲測量。


5.頻率同步

設備基于晶振振蕩頻率實現時間度量,然而晶振并非絕對穩定,其穩定度受溫度、老化等因素影響。不管晶振的實際振蕩頻率如何變化,設備仍然按照晶振頻率的標稱值進行計時,從而引起計時的誤差。gPTP要求晶振頻率不小于25MHz,誤差不大于100ppm(日誤差不大于8.64s)。


gPTP的頻率同步,要求從時鐘以主時鐘的頻率為基準進行校準。具體方法如下:

1. 通過周期發送的Pdelay_Resp報文,觸發本地時鐘采樣t3、t4;

2. 通過Pdelay_Resp_Follow_Up將一方采樣值t3,傳給另一方;

3. 通過以下公式計算頻率比,用于校準計時頻率;



理想情況下,Ratio的值應該是1,如果大于1,說明請求方走得慢,如果小于1,說明走的快。請求方可以根據該值將自己的計時值轉化為基于應答方時基的計時值。


gPTP網絡的時鐘校準過程


以下圖網絡拓撲為例,介紹gPTP網絡的時鐘同步過程(此處高能,非戰斗人員請避讓)

1. 每個slave端口將周期性地發送Pdelay_Req,完成各自鏈路的傳播延遲測量和頻率同步;

2. Grandmaster周期性地發送Sync報文,在Follow_UP報文中,PreciseOriginTimestamp字段將會填充Sycn報文離開Grandmaster的時刻t1,Correction字段添加對t1時間的修正,對于Grandmaster來說,Correction的數值為t1不足ns的小數部分。因為PreciseOriginTimestamp精度是ns,Correction的精度是2的(-16)次方ns。



網絡報文的交互


3. Bridge收到sync報文后,需要在一定時間內轉發Sycn報文;Bridge在t2時刻收到報文,t3時刻轉發報文,注意t2/t3是bridge自身時基的度量值。

4. Bridge在發送Follow_UP報文時,PreciseOriginTimestamp值不變,Correction字段值要重新計算,它的值為New Correction=Old Correction+Pdelayi+residence_time;Pdelayi為Grandmaster到Bridge的傳播延遲,residence_time為Sync報文在Bridge中駐留的時間。注意Pdelayi、residence_time都要轉化為相對主時鐘時基的度量值,具體計算過程請參看802.1AS標準。同時,Follow_UP報文中還包含RateRatio字段,它是主時鐘頻率和Bridge時鐘頻率的比值。

5. Endpointi+1節點在t4時刻收到Sync報文,Endpointi+1節點的任意本地時刻t,對應的主時鐘時間(GlobalTime(t),即同步時間),可以根據以下公式計算:



PreciseOriginTimestamp、CorrectionFieldi來自Follow_UP報文,Pdelayi+1是節點相對主時鐘時基的傳播延遲,RateRatioi+1主時鐘頻率相對本地時鐘頻率的比值。注意:i+1節點通過鏈路延遲測量和頻率同步,只能計算相對Bridge時基的傳播延遲和頻率比,如何轉化為相對主時鐘時基的值,大家不妨開動一下腦筋,也可以參考802.1AS標準。


從以上的校準過程可以看出,Sync報文以主時鐘為起點,經過網絡擴散到每個節點,在此過程中每個節點只需關注自己和上級節點的傳輸延時和頻率同步,Bridge負責將中間路徑的傳輸延時和駐留時間逐級累加到Correction域,從而實現整個網絡的同步。


結語


汽車功能越來越復雜,汽車的智能化和網聯化,推動了汽車電子電氣架構的變革。汽車以太網作為通信主干網,已經成為一種趨勢,結合AVB/TSN技術,能夠確保數據的實時和可靠傳輸。gPTP作為AVB/TSN技術的基礎協議,不可避免地將被率先應用。


懌星科技作為一家聚焦汽車電子新興及關鍵技術的服務公司,已在國內較早地開展AVB/TSN技術研究,具備了豐富的設計和測試經驗,能夠提供AVB/TSN技術相關的架構設計、測試服務、協議棧開發和集成服務。



北京快3一定牛基本走势 皇冠娱乐城 上海快三走势图一定牛一定牛 (*^▽^*)MG女皇之心_官方版 福彩18选7开奖查询 6场半全场14010 (^ω^)MG阿拉斯加垂钓试玩网站 (★^O^★)MG丛林巨兽巨额大奖视频 (^ω^)MG古怪猴子APP下载 2021曾道人全年资料 123六合图库大全 (^ω^)MG星际争霸战援彩金 好运彩三开奖结果 青海快三今天的走势图解 (*^▽^*)MG北极探险新手攻略 (^ω^)MG白狮王援彩金 江西快3彩票玩法