摘 要:隨著智能網(wǎng)聯(lián)和智能駕駛的高速發(fā)展,傳統(tǒng)的CAN/LIN網(wǎng)絡(luò)不足以支持車載網(wǎng)絡(luò)對數(shù)據(jù)帶寬的需求,因此車載以太網(wǎng)被廣泛應(yīng)用到車載網(wǎng)絡(luò)架構(gòu)中。車載以太網(wǎng)中的很多應(yīng)用實現(xiàn)需要基于高精度的時鐘同步。因此時間敏感網(wǎng)絡(luò)(TSN)協(xié)議族之一的IEEE 802.1AS協(xié)議被引入到車載以太網(wǎng)。IEEE 802.1AS協(xié)議通過將網(wǎng)絡(luò)中各節(jié)點的時鐘同步至主時鐘節(jié)點,從而確保各節(jié)點的時鐘同步,同步精度控制在1us以內(nèi)。為有效驗證車載以太網(wǎng)的時鐘同步質(zhì)量,介紹基于IEEE 802.1AS協(xié)議的主從時鐘同步偏差系統(tǒng)測試方案。
關(guān)鍵詞:車載以太網(wǎng) TSN IEEE 802.1AS 時鐘同步
以太網(wǎng)是目前應(yīng)用最廣泛的網(wǎng)絡(luò)協(xié)議,傳統(tǒng)以太網(wǎng)無法解決兩個交互節(jié)點時鐘同步的問題,為了解決這個問題,通信業(yè)界開發(fā)了網(wǎng)絡(luò)時間協(xié)議NTP(Network Time Protocol)。網(wǎng)絡(luò)時間協(xié)議可以實現(xiàn)兩個交互節(jié)點時鐘同步偏差小于1ms,但仍然無法滿足工業(yè)控制以及車載網(wǎng)絡(luò)的時鐘同步要求。為了提高以太網(wǎng)設(shè)備間的同步精度,2000年成立了網(wǎng)絡(luò)精密時鐘同步委員會,并于2001年起草了IEEE 1588[1]協(xié)議,IEEE 1588協(xié)議可以實現(xiàn)納秒級的時鐘同步。之后IEEE 802.1工作組在IEEE 1588協(xié)議基礎(chǔ)上,起草了時鐘同步協(xié)議IEEE 802.1AS[2],同步誤差控制在1us以內(nèi)。考慮到時鐘同步冗余的特性,IEEE工作組又基于IEEE 802.1AS協(xié)議,起草了IEEE 802.1AS_Rev[3]協(xié)議。該協(xié)議在IEEE 802.1AS的基礎(chǔ)上增加了多域的概念,可以實現(xiàn)主時鐘的備份和冗余,進一步提高時間敏感網(wǎng)絡(luò)的魯棒性。
隨著智能網(wǎng)聯(lián)車和智能駕駛的高速發(fā)展,傳統(tǒng)的CAN/LIN網(wǎng)絡(luò)不足以支持當(dāng)前車載網(wǎng)絡(luò)對數(shù)據(jù)帶寬的需求,因此車載以太網(wǎng)被廣泛應(yīng)用到車載網(wǎng)絡(luò)架構(gòu)中。車載以太網(wǎng)是一個時間敏感網(wǎng)絡(luò),為滿足高精度時鐘同步,基于IEEE 802.1AS的時鐘同步協(xié)議被廣泛應(yīng)用到車載以太網(wǎng)中。
在車載以太網(wǎng)中,不只車身,輔助駕駛和座艙等域控對時鐘同步精度也有很高的要求。一些傳感器,比如雷達,同樣需要。從系統(tǒng)層面對各個域控和傳感器之間的時鐘同步偏差進行測試是比較困難的,比如在實車測試層面,時鐘同步測試將缺乏有效的測試手段。在實車測試階段,對各個域控的時鐘同步數(shù)據(jù)抓取分析,查看串口日志信息,采樣秒脈沖信號都比較困難。在實車測試之前,對整個車載網(wǎng)絡(luò)進行多域控多傳感器之間的時鐘同步系統(tǒng)集成測試,能夠盡早發(fā)現(xiàn)、分析、定位相關(guān)問題,縮短質(zhì)量環(huán)路,減輕實車測試壓力。
行業(yè)中目前存在兩種比較常見的主從時鐘偏差測試方案,分別是基于Reverse Sync和1PPS(1 Pulse Per Second)的時鐘同步偏差測試方案。分析對比了這兩種測試方案的優(yōu)缺點,選擇基于1PPS的時鐘同步偏差系統(tǒng)測試方案。
1 時鐘同步原理
IEEE 802.1AS用于保證整個車載以太網(wǎng)的高精度時鐘同步,是TSN協(xié)議簇中重要的一部分。IEEE 802.1AS,又稱 gPTP(Generalized Precision Time Protocol )協(xié)議,通過主時鐘節(jié)點發(fā)送時鐘同步報文,從節(jié)點基于同步報文中的時間信息來動態(tài)調(diào)整各自本地時鐘,從而達到與主時鐘時間同步的目的。
為更加精確地實現(xiàn)主從時鐘的同步,需要考慮時鐘同步報文在車載以太網(wǎng)上傳輸?shù)穆窂綍r延、經(jīng)過交換機的駐留時間和主從時鐘的頻率誤差。IEEE 802.1AS協(xié)議定義了BMCA(Best Master Clock Algorithm)算法[2],用于在時鐘同步域內(nèi)選舉主時鐘節(jié)點。但對于車載以太網(wǎng)來說,網(wǎng)絡(luò)拓撲和節(jié)點是固定的,同時為了在車載以太網(wǎng)喚醒后,主從節(jié)點有更快的同步性能,一般選擇禁用BCMA,配置固定的主時鐘節(jié)點和時鐘同步生成樹[2],因此BMCA算法在文章中不予介紹。
2 時鐘同步報文
IEEE 802.1AS協(xié)議在車載以太網(wǎng)中主要使用5種報文類型,分別是:Sync、Follow_Up、Pdelay_Req、Pdelay_Resp和Pdelay_Resp_Follow_Up。其中Sync和Follow_Up用于傳遞主時鐘的時間,Pdelay_Req、Pdelay_Resp和Pdelay_Resp_Follow_Up用于計算路徑時延和頻率補償。
3 路徑時延計算
時鐘同步報文在網(wǎng)絡(luò)傳輸過程中存在路徑時延,圖1展示了路徑時延的計算過程:
IEEE 802.1AS域內(nèi)的相鄰節(jié)點在喚醒后要進行時延測量,如圖1所示。
(1)請求節(jié)點發(fā)送Pdelay_Req報文,記錄發(fā)送時間;
(2)響應(yīng)節(jié)點記錄收到Pdelay_Req的時間;
(3)響應(yīng)節(jié)點發(fā)送Pdelay_Resp給請求節(jié)點,并在Pdelay_Resp報文中攜帶時間信息,同時記錄自己發(fā)送Pdelay_Resp的時間;
(4)請求節(jié)點收到Pdelay_Resp報文后,記錄收到該報文的時間;
(5)響應(yīng)節(jié)點發(fā)送Pdelay_Resp_Follwo_Up,并在Pdelay_Resp_Follwo_Up報文中攜帶時間信息;
(6)請求節(jié)點通過公式計算路徑時延:
上式的前提是請求和響應(yīng)節(jié)點都有相同的本地時鐘速率,而實際上兩個不同的本地時鐘間客觀存在的頻率差,對測量結(jié)果造成影響。為降低此類影響,協(xié)議中引入Neighbor Rate Ratio變量。
(7)Neighbor Rate Ratio為相鄰兩個節(jié)點的時鐘頻率比:
式中:r 表示響應(yīng)節(jié)點對請求節(jié)點的Neighbor Rate Ratio,和表示第n次測量時和的值,和表示作為基準的第0次測量時和的值。
(8)修正后的路徑時延:
4 時鐘同步過程
如圖2所示, 收到傳輸?shù)臅r鐘同步報文Sync和Follwo_Up,再轉(zhuǎn)發(fā)給。通過研究整個傳遞過程,了解時鐘同步原理。
(1)發(fā)送Sync報文,并記錄發(fā)送的時間。
(2)發(fā)送Follow_Up報文,其攜帶以下關(guān)鍵信息。
1):主時鐘節(jié)點發(fā)送Sync報文的時間點,在轉(zhuǎn)發(fā)過程中不會變更;
2):發(fā)送Sync報文時的本地時間點與主時鐘節(jié)點發(fā)送Sync報文時間點的差值;
3):主時鐘節(jié)點時鐘頻率與節(jié)點時鐘頻率之比。
(3) 收到發(fā)送的Sync報文,記錄收到的時間,并完成與主時鐘節(jié)點的時鐘同步,同步時間。
式中:表示的是節(jié)點計算出的同步時間,表示的是節(jié)點至的路徑時延。
(4)發(fā)送Sync報文給,并記錄發(fā)送Sync報文時間。
(5)發(fā)送Follow_Up報文給,發(fā)送前需要計算和:
1)
式中:為發(fā)送Follow_Up報文攜帶的參數(shù), 是對節(jié)點的時鐘頻率比。
2)
式中:為發(fā)送Follow_Up報文攜帶的參數(shù),是節(jié)點至的路徑時延,和分別是收到Sync報文的時間點和轉(zhuǎn)發(fā)Sync報文的時間點,它們的差值代表Sync報文在節(jié)點內(nèi)所消耗的駐留時間,為主時鐘的時鐘頻率與的時鐘頻率之比。
5 主從時鐘同步偏差系統(tǒng)測試
主時鐘和從時鐘時間偏差測試是針對整個時鐘同步網(wǎng)絡(luò)的系統(tǒng)級測試,通過設(shè)備同時監(jiān)控時鐘同步網(wǎng)絡(luò)內(nèi)所有從時鐘與主時鐘的同步狀態(tài)和時間偏差。
針對時鐘同步偏差測試,主流有2種方案,基于Reverse Sync的測試方案和1PPS秒脈沖測試方案。
5.1 基于Reverse Sync的測試方案
5.1.1 測試原理
Reverse Sync是配置在從節(jié)點上的一種特殊的時鐘同步報文,它攜帶從節(jié)點的本地時間,測試設(shè)備捕捉到這個報文后,與主時鐘的Sync報文進行對比,就可以計算出主從時鐘的時間偏差。
5.1.2 測試環(huán)境搭建與配置
(1)采用這種方案測試,被測件需支持IEEE 802.1AS_Rev。在一個時鐘同步域里,只能有一個主時鐘發(fā)送Sync報文,如果多個從節(jié)點在同一個時鐘同步域內(nèi)發(fā)送Reverse Sync,會導(dǎo)致整個時鐘同步域癱瘓。因此,從節(jié)點發(fā)送的Reverse Sync需要配置到另一個時鐘同步域中;
(2)該測試方案需要使用TSN-BOX,系統(tǒng)連接如下圖3所示。TSN-BOX與主時鐘進行時鐘同步,同時收取從節(jié)點發(fā)送的Reverse Sync報文,得到每個從節(jié)點的本地時間,從而計算出主從節(jié)點的時鐘偏差。
5.1.3 局限性
(1)每個從節(jié)點均需配置Reverse Sync,增加了從節(jié)點的開發(fā)和配置復(fù)雜度;
(2)該方案需要給每一個從節(jié)點配置一個時鐘同步域,而主流的車載交換機芯片一般只支持最多4個時鐘同步域,所以當(dāng)從節(jié)點比較多時,無法支持同時進行時鐘同步系統(tǒng)級測試。
基于上述限制,在實際項目中,采用下述基于1PPS的測試方案。
5.2 基于1PPS的測試方案
5.2.1 測試原理
采集所有從節(jié)點的秒脈沖,對比主時鐘的秒脈沖,從而計算出主從時鐘同步偏差。
5.2.2 測試環(huán)境搭建與配置
在實際項目中,采用一款基于1PPS測試時鐘同步偏差的測試設(shè)備PPS Tester,可以支持對24路1PPS通道同時進行采集,24小時連續(xù)采樣,系統(tǒng)連接如圖4所示:
(1)把從時鐘和主時鐘的1PPS信號接入到PPS Tester;
(2)配置采樣通道的參數(shù),包括采樣脈沖輸入阻抗、電壓值、脈沖寬帶和是否為主節(jié)點等,如圖5所示;
(3)點擊開始按鍵,開始采樣測試。
1)測試結(jié)果分析
①1PPS脈沖
各域控秒脈沖采樣如圖6所示。
②同步精度
各從節(jié)點相對于主時鐘節(jié)點的時間偏差如圖7所示。
③數(shù)據(jù)統(tǒng)計
各從節(jié)點時鐘偏差當(dāng)前值、最大,最小和平均值統(tǒng)計如圖8所示。
④測試報告
測試報告分為測試信息、通道配置信息、測試統(tǒng)計結(jié)果和錯誤日志等統(tǒng)計信息,如圖9所示。
(a)測試信息統(tǒng)計測試開始時間、結(jié)束時間和測試時長;
(b)通道配置信息包括采樣通道分配信息、主從節(jié)點信息、1PPS脈沖采樣設(shè)置信息和同步精度限值信息;
(c)測試統(tǒng)計結(jié)果包括各通路的平均同步精度、同步精度最大和最小值、缺失信號計數(shù)、無效信號計數(shù)等;
(d)錯誤日志會記錄異常事件發(fā)生的時間和當(dāng)時的時間同步精度,比如某路同步精度超過限值。
2)測試方案總結(jié)
該測試方案支持對車載網(wǎng)絡(luò)中的24路通道連續(xù)24小時采樣1PPS,統(tǒng)計各路時間偏差信息,時間偏差精度最高可達4ns,滿足基于IEEE 802.1AS協(xié)議的時鐘同步偏差系統(tǒng)測試需求。該測試方案存在的缺點是1PPS很難檢測出主從節(jié)點超過整秒倍數(shù)的時間偏差,比如從時鐘和主時鐘的時間偏差為2.333s,1PPS測試結(jié)果為偏差333ms。因此除了查看1PPS測試結(jié)果,還需要在時鐘同步后對比主從節(jié)點的秒級時間來完善該測試方案。
6 結(jié)論
對時間敏感網(wǎng)絡(luò)的時鐘同步協(xié)議IEEE 802.1AS進行了詳細的研究,介紹了時鐘同步偏差系統(tǒng)測試方案,有效保障車載以太網(wǎng)的時鐘同步質(zhì)量??偨Y(jié)如下。
(1)介紹時鐘同步技術(shù)的發(fā)展過程,并給出在車載網(wǎng)絡(luò)中,基于IEEE 802.1AS協(xié)議的時鐘同步偏差系統(tǒng)測試的必要性;
(2)研究時鐘同步協(xié)議IEEE 802.1AS協(xié)議,具體包括時鐘同步原理、時鐘同步報文、路徑時延計算和時鐘同步過程;
(3)實踐主從時鐘同步偏差系統(tǒng)測試方案。對比2種常用時鐘同步偏差測試方案,選擇并使用符合項目要求的最優(yōu)方案。經(jīng)過對測試結(jié)果分析驗證,該測試方案滿足項目需求,有效完成了項目中車載以太網(wǎng)時鐘同步的測試。
參考文獻:
[1]IEEE 1588 standard for a precision clock synchronization protocol for networked" measurement and control systems[C]// IEEE Std 1588-2002. IEEE,2002.
[2]IEEE Standard for Local and Metropolitan Area Networks - Timing and Synchronization for Time-Sensitive Applications in Bridged Local Area Networks[C]// IEEE Std 802.1AS2011. IEEE,2011.
[3]IEEE Standard for Local and Metropolitan Area Networks - Timing and Synchronization for Time-Sensitive Applications[C]// IEEE Std 802.1AS-2020. IEEE,2020.
[4]Lim H T, Herrscher D, L V?lker, et al. IEEE 802.1AS time synchronization in a switched" Ethernet based in-car network[C]// Vehicular Networking Conference. IEEE,2011.
[5]Yong J K, Jin H K, Bo M C, et al. Performance of IEEE 802.1AS for automotive system using hardware timestamp[C]// IEEE International Symposium on Consumer Electronics." IEEE,2014.
[6]Kero N, Puhm A, Kernen T, et al. Performance and Reliability Aspects of Clock" Synchronization Techniques for Industrial Automation[J]. Proceedings of the IEEE,2019,PP(99):1-16.
[7]Garner G M, Ryu H . Synchronization of audio/video bridging networks using IEEE" 802.1AS[J]. IEEE Communications Magazine,2011,49(2):140-147.
[8]Yang K, Jie W, Xie M P, et al. A new design for precision clock synchronization based on FPGA[C]// 2009 16th IEEE-NPSS Real Time Conference. IEEE,2009.