gPTP時間同步(時鐘同步)協議對智慧駕駛車載網路的重要性

ahjzdz發表於2022-03-10

gPTP時間同步(時鐘同步)協議對智慧駕駛車載網路的重要性


一輛宣稱具備L4/L5自動駕駛功能的車輛,如果多個鐳射雷達之間的時間同步不夠精確?如果感測器感知資料通過乙太網傳輸到智駕域控制器的延遲不可控?如果智駕域控制器規劃決策的結果通過乙太網傳輸到底盤域控制器的延遲也不可控?如果座艙域內螢幕顯示的變道決策與揚聲器播報的聲音不同步?那將仍然只是一輛適合演示或測試的無情機器,一副沒有“有趣靈魂”的軀體。


自動駕駛功能對資料在傳輸過程的可靠性和實時性要求遠超汽車以往任何功能,而作為域架構/中央計算架構下承載資料傳輸的車載乙太網,必須具備類似當前CAN/LIN網路下資料傳輸的確定性、實時效能力。而TSN作為一種可以基於車載乙太網提供確定性和實時性資料傳輸的全新網路技術,開始進入到自動駕駛產業上下游的視野。
TSN的確定性和實時性優勢是建立在精確的時間同步基礎之上,而TSN中用於實現精確時間同步的協議是IEEE 802.1AS,也就是業界常說的gPTP。在《時間同步,自動駕駛裡的花好月圓》這篇文章中,作者介紹了PPS+PTP的全域架構下時間同步系統方案,可以認為是TSN產業尚未成熟背景下的一種最佳選擇。而隨著TSN上下游產業的成熟,以及自動駕駛量產落地的推進,PPS+gPTP必將契合全域架構/中央計算架構下自動駕駛功能的需求。
自動駕駛圈黑話第九期就以gPTP為切入點,介紹TSN下一種更精確的時間同步方法,同時介紹適合自動駕駛量產落地路上一種更優的時間同步架構方案。

                                              TSN 的前情回顧
TSN(Time-Sensitive Networking,時間敏感型網路)技術的前身是AVB(Audio/Video Bridging,音視訊橋接)技術。在乙太網音視訊傳輸領域,如果音訊和視訊資訊沒有嚴格的時序規則以及不具有可預測的延遲,則會出現聲音和畫面不一致的現象。而高清的音訊和視訊資料傳輸,頻寬需求極大,實時性要求又非常高。如何保證高頻寬下的實時、同步傳輸,成為乙太網音視訊傳輸領域的難題。
2006年,IEEE 802.1工作組成立AVB任務組,主攻以上難題。經過幾年攻關後,成功找到了高頻寬音視訊資料在乙太網中實時、同步傳輸的方法,並制定了一系列標準。AVB由此開始受到工業、汽車領域產學研人士的關注。
2012年,AVB任務組改名TSN任務組,並在其章程中擴大了時間確定性乙太網的應用需求和適用範圍。TSN任務組通過制定一系列的傳輸和轉發機制來保證資料在車載乙太網傳輸過程中的低延時、低抖動和低丟包率,從而保證資料在高可靠性的前提下進行快速傳輸,為在工業、汽車領域的應用打下理論基礎。
TSN協議棧是一系列IEEE 802.1標準的集合,包括技術類和配置類。技術類也稱為元件,主要有五類元件構成,包括時間同步元件、可靠性元件、延時控制元件、資源管理元件和安全元件。配置類主要分為工業領域、汽車領域和移動領域等。汽車領域主要涉及兩份配置標準IEEE 802.1BA和IEEE P802.1DG,後者將gPTP定義為車載乙太網TSN網路下時間同步的標準。
gPTP 的精彩呈現  一、基礎概念
gPTP(generalized Precision Time Protocol,廣義精確時間同步協議),基於PTP(IEEE 1588v2)協議進行了一系列優化,形成了更具有針對性的時間同步機制,可以實現μs級的同步精度。
gPTP定義有兩種裝置型別,Time-aware-end Station和Time-aware Bridge。每種裝置都具有本地時鐘,本地時鐘都是通過晶振的振盪週期進行度量的,裝置內部硬體計數器負責對振盪週期進行計數。裝置中用來發布時間同步報文的網路埠稱為主埠,用來接收時間同步報文的埠稱為從埠。
(1)Time-aware-end Station,既可以作為主時鐘,也可以作為從時鐘。
(2)Time-aware Bridge,既可以作為主時鐘,也可以作為橋接裝置,類似交換機。橋接類裝置在收到gPTP報文後,會請報文搓個澡,然後再送出去。而報文在橋接裝置內搓澡消耗的時間,稱為駐留時間。gPTP要求橋接裝置必須具有測量駐留時間的能力。
下圖展示了一個簡單的gPTP系統,包含一個時鐘源、1個主時鐘,2個橋接裝置,4個從時鐘。主時鐘是系統內的時間基準,一般具有更高精度的本地時鐘,同時需要能夠被高精度準時鍾源(如衛星系統、原子鐘等)授時。主時鐘在系統內可以動態分配,也可以預先分配(對於車載固定拓撲應用場景,多采用預先分配的原則)。


gPTP中規定的主時鐘動態分配機制為BMCA(Best Master Clock Algorithm,最佳主時鐘選擇演算法)。系統上電喚醒之後,系統所有裝置都可以通過傳送一條報文來參與主時鐘競選,報文中含有各自裝置的時鐘資訊。每一個參選裝置都會比較自己的時鐘資訊和其它裝置的時鐘資訊,並判斷是否具有優勢,如果不具有,則退出競選,直到綜合能力最強的武林盟主誕生。
二、同步過程
gPTP定義有兩類報文,事件型別報文(包括Sync、Pdelay_Req、Pdelay_Resp三條)和一般型別報文(包括Follow_UP、Pdelay_Resp_Follow_UP二條)。gPTP定義裝置工作在網路七層模型中的第二層資料鏈路層的MAC(Media Acess Control,媒介訪問控制)子層。
當裝置MAC層接收或傳送事件型別報文時,會觸發對硬體計數器進行取樣,從而獲得時鐘振盪週期計數值,結合時鐘振盪頻率及基準時間,可獲得此時的時間戳。而一般型別報文僅用來攜帶資訊,不會觸發內部硬體計數器的取樣操作。
(1)時鐘偏差測量
gPTP定義的五條報文中,Sync和Follow_UP為一組報文,週期傳送,主要用來測量時鐘偏差。Sync由主埠傳送,在報文離開主埠MAC層時,觸發主埠記錄此時的時間戳t1。從埠MAC層收到Sync報文後會記錄此時的時間戳t2。隨後,主埠將t1值附到Follow_UP報文裡傳送給從埠。


如果沒有網路傳輸延遲或延遲、可以忽略,則從埠將本地時鐘值加上時鐘偏差(t1-t2的值)就完成時間同步,也就沒有後面的碎碎唸了。但是對於μs級時間同步精度的gPTP來說,傳輸延遲顯然無法視若不見。
(2)傳輸延遲測量
gPTP採用P2P(Peer to Peer)的方法來測量傳輸延遲。在P2P方法中,測量的是相鄰裝置間的傳輸延遲,報文不允許跨裝置傳輸,這也就要求gPTP網路內的所有裝置都需要支援gPTP功能。同時定義一組獨立的報文專門負責傳輸延遲測量,分別為週期傳送的Pdelay_Req、Pdelay_Resp和Pdelay_Resp_Follow_UP。


從埠首先傳送Pdelay_Req報文,標誌傳輸延遲測量的開始,在報文離開從埠MAC層時,觸發從埠記錄此時的時間戳t3。主埠MAC層收到Pdelay_Req報文後會記錄此時的時間戳t4,隨後,主埠通過Pdelay_Resp報文將值t4傳送給從埠,同時在Pdelay_Resp報文離開主埠的MAC層時,觸發主埠記錄此時的時間戳t5,從埠MAC層收到Pdelay_Resp報文後記錄此時的時間戳t6。隨後,相同的套路,主埠通過Pdelay_Resp_Follow_Up報文將值t5傳送給從埠。至此,一次傳輸延遲測量過程已經結束。在假設路徑傳輸延遲是對稱的前提下,可由如下公式計算相鄰裝置間的傳輸延遲。


(3)頻率同步
上文的傳輸延遲測量是基於從埠與主埠的時鐘振盪頻率一致的前提下得到的。現在我們考慮一下如果主從埠時鐘振盪頻率不一致的時候,會導致什麼靈異事件發生。假設從埠的時鐘振盪頻率是25MHz,則一個時鐘振盪週期是40ns。主埠的時鐘振盪頻率是100MHz,則一個時鐘時鐘振盪週期是10ns。
假設在一次傳輸延遲測量過程中,從埠在t6和t3時刻記錄的振盪週期差值若為200個振盪週期。由於主埠的時脈頻率是從埠的4倍,因此從埠收到t5和t4時刻的振盪週期差值大概800個。以從埠的40ns一個時鐘振盪週期為基準進行計算的話,傳輸延遲則為-24μs([200x40-800x40]/2)。傳輸不僅沒有延遲,反而提前知道了,從埠大仙無疑了。
除了主從埠時鐘振盪頻率的先天不一致,溫度、老化等原因也會導致晶振振盪頻率的不穩定。為了解決頻率不同步的問題,gPTP通過頻率同步來實現從埠對主埠的時鐘振盪頻率同步。


頻率同步複用傳輸延遲測量過程的Pdelay_Resp和Pdelay_Resp_Follow_UP報文。通過採用兩組答覆,最終可以獲得t5,t6,t9,t10的值,由下面公式可得主從埠的頻率比。 


主從埠頻率同步的情況下,頻率比等於1。如果大於1,說明主埠走得快,如果小於1,說明主埠走的慢。從埠根據頻率比的值,調整自己的時基,從而獲得正確的時間戳。
三、gPTP與PTP之間的差異
(1)傳輸延時測量方式
gPTP僅支援P2P的傳輸延時測量方式,PTP除了支援上文提到的P2P方法,還支援E2E(End-to-End)方法。在E2E方法中,測量的是網路中任意兩個支援PTP裝置之間的傳輸延遲,而在這兩個裝置之間允許存在普通交換機等可以透傳PTP報文的裝置。這導致P2P和E2E方式在如下方面存在差異。
(a)測量精度:P2P方法中,報文在橋接裝置的駐留時間可以被測量,且會和傳輸延時時間一同發給後面鏈路上的裝置,故測量精度可控且足夠高。E2E方法中,報文在普通交換機的駐留時間具有隨機性且不可測量,導致測量精度不可控且波動範圍大。
(b)架構靈活性:P2P方法中,測量報文不跨裝置傳輸,主時鐘變化或新增從時鐘,僅對物理上相鄰的裝置有影響,有利於網路擴充;E2E方法中,無論主時鐘變化還是從時鐘變化,都需要重新測量整個網路的傳輸延遲,且在網路比較複雜時,網路開銷會比較大,因此網路擴充性較差。  (2)時間戳取樣方式 gPTP只能工作在MAC子層,PTP除了可以工作在MAC子層,還可以工作在傳輸層。工作在傳輸層時,報文要經歷協議棧快取、作業系統排程等過程,這兩個過程都會帶來傳輸延時的增加且大小不可控。而工作在MAC子層時,離物理層只有一步之遙,既能減緩協議棧快取帶來延時的不確定性,又能縮短報文傳輸延時。
工作在MAC子層時,報文要麼直接發給物理層要麼從物理層收到,因此時間戳可以選擇由物理層硬體打或由軟體打。通過硬體的方式打,可以消除作業系統排程帶來的延時不確定性。PTP工作在MAC子層時,既支援硬體打時間戳,也支援軟體打時間戳。而gPTP從延時可控,延時減少的角度考慮,只允許打硬體時間戳。
(3)時鐘型別
PTP時鐘支援兩種時鐘型別,One-Step Clock和Two-Step Clock。在One-Step Clock中,事件報文傳送時,同時將本身記錄的時間戳傳送給從埠,如下圖左半部分所示。在Two-Step Clock中,事件報文不攜帶時間戳資訊,需要一條專門的一般型別報文來給從埠傳送時間戳,如下圖右半部分所示。
One-Step Clock雖然可以比Two-Step Clock節省一條報文,但對硬體要求很高,且硬體成本高,不利於網路擴充套件和應用普及。在兩者精度沒有區別的前提下,Two-Step Clock型別顯然是gPTP的更優選擇,這也是gPTP協議裡規定的型別。


自動駕駛應用的下集預告
隨著自動駕駛量產落地的腳步越來越近,人們對四大模組演算法的優化也將逐漸轉移到架構級系統功能的優化,時間同步作為架構級系統功能的靈魂,必將首先得到重視,而隨著TSN產業鏈上下游的成熟,PPS+gPTP的精確時間同步方案,必將在自動駕駛的架構級功能佔有一席之地。
下圖列舉了未來潛在的一種時間同步落地架構方案,如下圖。GNSS作為時鐘源,智駕域控制器作為主時鐘,整車域控制器作為橋接裝置,其它域控制器作為從時鐘。

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69969420/viewspace-2869217/,如需轉載,請註明出處,否則將追究法律責任。

相關文章