gPTP時(shí)間同步流程
gPTP時(shí)間同步流程可以按照如下先后順序來(lái)進(jìn)行,彼此之間存在依賴(lài)關(guān)系:
- 最佳主時(shí)鐘選擇原理
在gPTP時(shí)間同步協(xié)議中可能在同一域內(nèi)存在多個(gè)可用的全局時(shí)間源,就需要通過(guò)一種方式來(lái)選擇全局最佳主時(shí)鐘,這種方法被稱(chēng)為Best Master
Clock Algorithm,簡(jiǎn)稱(chēng)BMCA算法。
系統(tǒng)上電之后,所有設(shè)備都可以通過(guò)一條報(bào)文來(lái)參與主時(shí)鐘的競(jìng)選,報(bào)文中包含各個(gè)設(shè)備的時(shí)鐘信息,每個(gè)設(shè)備都會(huì)主動(dòng)比較自身與其他節(jié)點(diǎn)時(shí)鐘的信息,競(jìng)選失敗的將退出,如此反復(fù),直至最后選擇最佳主時(shí)鐘。
針對(duì)車(chē)載以太網(wǎng),無(wú)需通過(guò)考慮最佳主時(shí)鐘選擇,車(chē)載以太網(wǎng)屬于靜態(tài)網(wǎng)絡(luò),均已提前設(shè)定好。
- 頻率同步原理
我們知道主從時(shí)鐘底層都是通過(guò)晶振驅(qū)動(dòng)來(lái)進(jìn)行計(jì)時(shí),但是不可避免的是晶振會(huì)受到外部溫度,老化等因素影響進(jìn)而產(chǎn)生時(shí)鐘偏移。
因此為了更為精確地保證主從時(shí)鐘的同步,因此需要將主從時(shí)鐘之間的晶振頻率差異考慮在內(nèi),進(jìn)而解決主從端口晶振精度不準(zhǔn)帶來(lái)的時(shí)間同步誤差。
計(jì)算方法如下圖3所示:
圖3 主從時(shí)鐘頻率同步測(cè)量原理
基于圖3中的兩個(gè)周期性的sync報(bào)文與follow-up報(bào)文,其中followup報(bào)文傳輸?shù)氖莝ync報(bào)文在主時(shí)鐘節(jié)點(diǎn)發(fā)送時(shí)刻的時(shí)間戳,考慮主從時(shí)鐘節(jié)點(diǎn)對(duì)于總線傳輸?shù)难訒r(shí)都是固定的,T1,T2,T3,T4都是物理層獲取的時(shí)間戳,因此主從時(shí)鐘節(jié)點(diǎn)的時(shí)鐘偏差可以通過(guò)如下公
式來(lái)體現(xiàn):
頻率同步計(jì)算公式
- Path延時(shí)時(shí)間測(cè)量原理
從時(shí)鐘節(jié)點(diǎn)為了能夠跟主時(shí)鐘同步,除了上述主從時(shí)鐘節(jié)點(diǎn)的時(shí)鐘頻率偏差帶來(lái)的差異外,還存在一個(gè)非常重要的延時(shí)即以太網(wǎng)總線傳輸延時(shí)需要進(jìn)行精確測(cè)量,才能夠保證時(shí)間同步的精度,測(cè)量原理如下圖4所示:
圖4 gPTP延時(shí)時(shí)間測(cè)量原理
注意,Pdelay_Req報(bào)文發(fā)起方既可以是Time Master也可以是Time Slave,本文只不過(guò)以Time Slave為例。
延時(shí)時(shí)間Pdelay time的測(cè)量具體步驟如下:
S1:Time Slave節(jié)點(diǎn)發(fā)送Pdelay_Req報(bào)文,Time Slave節(jié)點(diǎn)記錄該報(bào)文發(fā)送時(shí)刻的時(shí)間戳T1;
S2:Time Master記錄MAC層收到Pdelay_Req報(bào)文的時(shí)間戳T2;
S3:Time Master將上述T2時(shí)間通過(guò)Pdelay_Resp報(bào)文發(fā)送至Time Slave,同時(shí)Time
Master記錄發(fā)送該報(bào)文的時(shí)間戳T3,Time Slave記錄收到該報(bào)文的時(shí)間戳T4;
S4:Time Master將上述T3時(shí)間通過(guò)Pdelay_Resp_Follow_Up報(bào)文發(fā)送至Time Slave,當(dāng)Time
Slave收到該報(bào)文時(shí)便知道了T1,T2,T3,T4時(shí)間戳;
考慮到主從時(shí)鐘之間的時(shí)鐘頻率偏差以及主從時(shí)鐘之間的延時(shí)對(duì)稱(chēng)原理,因此Pdelay time的計(jì)算方法如下所示:
Pdelay計(jì)算公式
值得注意的是上述公式中如果主從時(shí)鐘頻率一致,那么此時(shí)P=1。
- 時(shí)間同步原理
基于上述計(jì)算出來(lái)的總線延時(shí)時(shí)間Pdelaytime以及主從時(shí)間頻率的比值,也被稱(chēng)為NeighborRateRatio,那么便可以完成從時(shí)鐘節(jié)點(diǎn)與主時(shí)鐘之間的同步,其同步原理如下圖5所示:
圖5 gPTP時(shí)間同步原理
如上圖5所示,基于gPTP的時(shí)間同步協(xié)議通過(guò)SYNC報(bào)文與FollowUp報(bào)文來(lái)實(shí)現(xiàn)同步,同步流程如下:
S1:Time Master發(fā)送SYNC報(bào)文,該報(bào)文如果是單步模式,那么就需要攜帶T1時(shí)間戳信息,如果是雙步模式,該報(bào)文無(wú)需發(fā)送任何有效信息;
S2:Time Slave收到SYNC報(bào)文之后,MAC層會(huì)記錄對(duì)應(yīng)時(shí)刻的時(shí)間戳T2;
S3:若基于雙步模式,Time Master再發(fā)送Follow up報(bào)文,該報(bào)文中攜帶著SYNC報(bào)文外發(fā)時(shí)刻的時(shí)間戳T1;
基于上述流程,我們便可以得到從時(shí)鐘節(jié)點(diǎn)與主時(shí)鐘節(jié)點(diǎn)的時(shí)間同步關(guān)系,設(shè)某時(shí)刻Time Master的全局時(shí)間為T(mén)6,對(duì)應(yīng)此時(shí)刻的Time Slave本地時(shí)間為T(mén)5,因此時(shí)間同步關(guān)系如下:
其中Pdelay time通過(guò)上述延時(shí)時(shí)間測(cè)量過(guò)程得到,最終得到的Time Master與Time Slave的同步時(shí)間關(guān)系。
注意:gPTP時(shí)間同步過(guò)程可分為單步模式與雙步模式,單步模式(onestep)對(duì)以太網(wǎng)PHY硬件要求較高,需要能夠精準(zhǔn)獲取發(fā)送時(shí)刻的時(shí)間,因此普遍采用雙步模式來(lái)完成時(shí)間同步,以便降低集成難度。
對(duì)于AUTOSAR規(guī)范中定義的gPTP時(shí)間同步協(xié)議而言,默認(rèn)采用雙步模式(two step)。
-
時(shí)間
+關(guān)注
關(guān)注
0文章
41瀏覽量
19773 -
測(cè)量
+關(guān)注
關(guān)注
10文章
4864瀏覽量
111359 -
汽車(chē)
+關(guān)注
關(guān)注
13文章
3525瀏覽量
37347
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論