前言
之前的主題TSN的發展歷史和協議族現狀介紹了TSN技術的緣起,最近一期的主題TSN協議導讀從定時與同步、延時、可靠性、資源管理四個方面,幫助大家了解TSN協議族包含哪些子協議,以及這些子協議的作用及功能。相信大家對TSN技術已經有了整體的概念。
時間同步作為諸多TSN協議的基礎,無疑是十分重要的。今天就帶大家深入了解TSN協議族中802.1AS是如何實現時間同步的。
協議基本介紹
802.1AS通用精確時間協議(Generalized Precision Time Protocol),將為汽車、工業自動化控制等領域實現精確時間的測量。本章將從基本概念、測量方式入手,再介紹時間同步過程,最后介紹802.1AS的新特性及汽車領域profile。
1. 802.1AS概念
1)基本構成
在802.1AS中,時間同步是按照“域”(domain)划分的,包含多個PTP節點。在這些PTP節點中,有且僅有一個全局主節點(GrandMaster PTP Instance),其負責提供時鍾信息給所有其他從節點。
PTP節點又分為兩類:PTP End Instance(PTP端節點)和PTP Relay Instance(PTP交換節點)。其中:
- PTP End Instance或者作為GrandMaster,或者接收來自GrandMaster的時間同步信息;
- PTP Relay Instance從某一接口接收時間同步信息,修正時間同步信息后,轉發到其他接口。
2)GrandMaster的選取
GrandMaster的選取除了手動設置以外,可以通過比較每個PTP節點的屬性,自動選出GrandMaster,這一策略就是BMCA(Best Master Clock Algorithm)。
在BMCA建立的過程中,首先各個PTP節點將自身時鍾屬性(比如時鍾源)、接口信息放入Announce報文中,並發送給gPTP域內所有節點,之后PTP節點比較自身與接收到的時鍾屬性,優先級高的PTP節點自動成為GrandMaster。

3)報文類型
802.1AS包括兩種類型(Message class)General message和Event message,二者的區別在於,發送或接收Event message時,相應的時間戳會被記錄,而General message則不會。General message包括Announce、Signaling、Follow_Up、Pdelay_Resp_Follow_Up,Event message包括Sync、Pdelay_Req、Pdelay_Resp。

Announce報文包含時鍾相關信息,並且傳輸中,會記錄途徑的各PTP節點的Id添加到path trace TLV中;Signaling報文包含該PTP節點支持的信息,比如是否支持“一步法”、允許的Announce Interval等;Sync報文由GrandMaster發送,包含主時鍾信息,其他節點計算本地時鍾與主時鍾的差值,實現同步;Follow_Up以及Pdelay_Resp_Follow_Up則是“兩步法”中提供補充時間戳的報文,前者與Sync連用,后者與Pdelay_Resp連用;最后Pdelay_Req與Pdelay_Resp一起構成P2P測量機制的基礎,將在后續章節中詳細講解。
2. 802.1AS測量過程
為了實現從節點本地時鍾與GrandMaster時鍾同步,需要考慮三個因素:
- 時鍾頻率誤差
- 鏈路延遲
- 駐留時間
時鍾頻率誤差是指PTP從節點的本地時鍾頻率與GrandMaster的主時鍾頻率很有可能是不同的,而且各PTP從節點之間也存在誤差,這就造成時間測量基准不同,從而引入誤差。
鏈路延遲(MeanLinkDelay)是指兩兩PTP節點之間通信的鏈路,在單方向上傳播所需要的時間,也稱為鏈路平均傳播時間(Mean Propagation Delay)。
駐留時間(residence time)是指PTP Relay Instance將接收到的報文轉發出去所用的時間,也就是報文停留在Relay中的時間。
1) 時鍾頻率誤差測量
802.1AS為了消除這種誤差,采用累積計算相鄰節點時鍾頻率的比值(NeighborRateRatio)的方式,實現將本地時基(Local Clock Timebase)換算成(GrandMaster Timebase)。
舉例來說,GrandMaster的時鍾頻率為1MHz,而與之相鄰的PTP從節點(A)時鍾頻率有偏差為1.3MHz,對於A節點來說NeighborRateRatio等於1.3。當A節點本地時鍾度過2.6s時,使用NeighborRateRatio換算為GrandMaster時基,則得到主時鍾度過2s。對於與A相鄰的B節點,假設其時鍾頻率為0.9MHz,經過累積的NeighborRateRatio等於0.9(1.3/1.0*0.9/1.3),當B節點本地時鍾度過3s時,主時鍾度過2.7s。
2) 鏈路延遲測量
802.1AS中測量鏈路延遲采用P2P測量機制(Peer-to-Peer delay Mechanism),假設鏈路往返延遲一致(鏈路具有對稱性),通過測定四個精確時間戳,計算得出一段鏈路上的鏈路延遲(MeanLinkDelay)。

- 對於一段鏈路,存在兩個PTP節點,其中Peer delay initiator(發起者)會主動發出Pdelay_Req報文,接收Pdelay_Req報文的節點稱為Peer delay responder(響應者)
- 在initiator端會記錄Pdelay_Req報文實際的發出時間戳t1,在responder端會記錄報文實際的接收時間戳t2
- responder在接收到Pdelay_Req后會回復Pdelay_Resp報文給initiator,這個報文會包含t2這一信息
- 在responder端會記錄Pdelay_Resp發送時間戳t3,在initiator端會記錄接收時間戳t4
- responder端會在Pdelay_Resp之后在發送一個Pdelay_Resp_Follow_Up報文給initiator,以包含信息t3
- 至此,在initiator端有t1、t2、t3、t4四個精確時間戳,通過計算t2-t1和t4-t3就能得到這一鏈路兩個方向(i->r、r->i)傳播的用時(tir、tri),再對其求均值,就能得到這一鏈路延遲(MeanLinkDelay);
- 對於進行P2P測量的雙方節點會交替作為initiator,從而都能獲得該鏈路延遲(MeanLinkDelay)。
使用P2P測量機制,就能得到gPTP域中每一段鏈路延遲,在實際進行同步過程中,PTP Relay Instance會將從GrandMaster開始的鏈路延遲累積記錄在Follow_Up報文中的correctionField中,再轉發出去;同時,對非對稱誤差的修正(通過測定后,手動設置參數修正),也放在correctionField中。
3) 駐留時間測量
駐留時間由PTP Relay Instance引入,指的是報文停留在Relay中的時間。想要消除其帶來的影響相對簡單,就是在轉發出的Follow_Up報文中的correctionField中記錄這一駐留時間,其他PTP節點收到該報文,就能計算得出正確的時間偏移。
3. 時間同步實現過程
802.1AS中通過手動配置或者BMCA確立GrandMaster后,GrandMaster周期發送Sync和Follow_Up報文提供主時鍾基准;在實現節點同步之前,各個PTP節點通過Signaling報文協商計算NeighborRateRatio的間隔、計算MeanLinkDelay的間隔等信息;最后,各PTP從節點利用已有的NeighborRateRatio、MeanLinkDelay以及接受到的Sync及Follow_Up報文,利用Follow_Up報文中的correctionField信息修正后,就能得出主時鍾現在的時刻,從而完成時間同步。
4. 2020版新特性
在新版的802.1AS-2020中,添加了幾個重要的新特性,如:多域冗余、支持“一步法”等。下面就來簡單了解一下這些特性。
1) 多域冗余

這張圖很好地展現了多域冗余特性,主要分為兩種方式:
- 同一GM(全局主節點)划分多個域,對每個域生成同步樹(即同步路徑)實現冗余
- 多個GM,每個GM維護一個域生成同步樹,多個GM有主次之分,次要GM跟主要GM同步,這種方式也稱為hot-standby
在圖中,左上角的end station作為主要GM,它划分兩個域,為每個域生成一個同步樹(即同步路徑,分別為藍色和淡藍色),右下角的end station作為次要GM跟主要GM同步,此外也划分兩個域,為每個域生成同步樹(紅色和淺紅色),這樣一共有四個域、四個同步樹,確保了冗余。
2) “一步法”
所謂“一步法”(也稱為“on-the-fly”)是指在發送報文的同時,將在接近物理層的發送時間戳添加到報文中直接發送出去,這樣將所需要的信息放在一幀報文中,更加高效,但是需要額外的硬件支持。對於接收節點,同樣需要對“一步法”報文解析的能力。

“兩步法”Sync報文

“一步法”Sync報文
與之相對的是“兩步法”,這種方法僅在Sync或Pdelay_Resp報文發送時記錄發送時間戳,再把這一信息封裝在Follow_Up或Pdelay_Resp_Follow_Up報文中發送,從而在不需要額外的硬件支持下獲得精確的時間戳。
5. 汽車領域profile
802.1AS能為汽車領域、工業自動化控制等領域實現精確時間的測量。而針對汽車領域的profile目前還未正式發布,這一內容將在802.1dg中體現,屆時,我們將帶來對其的深入解讀。
結語
以上就是本次對802.1AS協議介紹的全部內容了,后續會帶來更多TSN協議的解讀,敬請期待。
北匯信息作為早期探索TSN領域的專業團隊,能夠針對AVB/TSN網絡架構提供解決方案,包括應用場景設計、需求規范開發、通信系統設計以及演示驗證系統開發;針對AVB/TSN網絡提供系統級測試解決方案,包括系統測試規范開發、系統測試執行與演示;針對AVB/TSN節點提供協議族。
最后,北匯信息還提供AVB/TSN 網絡課程,課程介紹了汽車網絡架構的發展帶來了各種各樣的挑戰和問題,如何從通訊角度來應對這些挑戰,以及當前TSN協議的發展現狀;對TSN各個協議標准進行了剖析,以期聽眾可以了解TSN各個協議的運作機理,為其配置和使用TSN網絡提供基礎。
