国产午夜视频免费_精品午夜国产_国产欧洲av,寡妇高潮的味道,特级全黄久久久久久久久,久久久亚洲高清

0731-84728105
15116127200
基于FAST的TSN交換(6)基于FPGA的PTP時(shí)間同步實(shí)現(xiàn)v2
發(fā)布時(shí)間:2019-04-02
     時(shí)間同步是TSN交換實(shí)現(xiàn)的前提。802.1AS規(guī)范定義了TSN網(wǎng)絡(luò)同步的方法,其基本思路還是利用IEEE 1588v2定義的PTP協(xié)議,將網(wǎng)絡(luò)中所有的時(shí)間從設(shè)備與時(shí)間主設(shè)備的時(shí)間進(jìn)行同步。在基于FAST流水線的TSN實(shí)現(xiàn)中,與PTP協(xié)議相關(guān)的邏輯主要有接收控制邏輯(RXC),PTP-UDA模塊以及PTP-UDO模塊。這三個(gè)模塊密切協(xié)同實(shí)現(xiàn)PTP時(shí)間同步而不需要軟件參與。
一、FAST-TSN-04的PTP實(shí)現(xiàn)模型
      在FAST-TSN-04的PTP協(xié)議實(shí)現(xiàn)模型如下圖所示,主要由RxC、PTP-UDA和PTP-UDO模塊組成。其中RxC模塊位于FPGA OS內(nèi)部,是FAST平臺(tái)固有的邏輯,而PTP-UDA和PTP-UDO是FAST擴(kuò)展的流水線模塊,只有需要支持PTP協(xié)議的流水線才需要嵌入這兩個(gè)模塊。

圖1 FAST-TSN-04的PTP實(shí)現(xiàn)模型
   (1)主要功能模塊
     每個(gè)從接口接收的分組首先進(jìn)入RxC模塊。RxC模塊首先不加區(qū)分的為每個(gè)分組打上48比特接收時(shí)間戳。接收時(shí)間戳被填寫(xiě)在分組的元數(shù)據(jù)中,隨著分組一同進(jìn)入FAST流水線處理。由于接口時(shí)鐘頻率為125MHz,因此時(shí)間戳的精度為8ns。RxC模塊位于輸入緩存之前,因此輸出緩存的擁塞和調(diào)度機(jī)制不影響接收時(shí)間戳標(biāo)記的準(zhǔn)確度。
     PTP-UDA模塊位于FAST流水線的開(kāi)始,負(fù)責(zé)PTP協(xié)議的處理。根據(jù)軟件配置,PTP-UDA可以工作在時(shí)間主模式或是時(shí)間從模式。PTP-UDA內(nèi)部的狀態(tài)機(jī)控制整個(gè)時(shí)間同步過(guò)程,由于時(shí)間同步完全由硬件實(shí)現(xiàn),因此同步過(guò)程中不需要followup消息,主從之間只交換sync、delay_req和delay-resp三類消息,關(guān)于PTP消息詳細(xì)的交互流程以及offset的計(jì)算已有大量文章介紹,本文不再贅述。
     若PTP-UDA工作在時(shí)間從模式,則每次同步都會(huì)產(chǎn)生一個(gè)本地時(shí)鐘與主時(shí)鐘的偏差offset,該offset用于修正本地的全局時(shí)間。PTP-UDO模塊位于輸出緩存之后,PTP-UDO模塊根據(jù)輸出分組元數(shù)據(jù)中協(xié)議標(biāo)準(zhǔn)類型(PST)來(lái)判斷該分組是否為PTP的sync/delay-req/delay-resp分組。
     如果輸出分組是上述PTP分組,則該分組在PTP協(xié)議頭中會(huì)攜帶透明時(shí)鐘(Transparent Clock)字段TC,PTP-UDO模塊會(huì)根據(jù)分組頭部攜帶的時(shí)間戳信息,當(dāng)前時(shí)間信息計(jì)算分組從PTP-UDA發(fā)出經(jīng)交換緩存和輸出緩存的延時(shí),將該延時(shí)累計(jì)到透明時(shí)鐘字段中。如果分組不是上述PTP分組,則PTP-UDO模塊將該分組發(fā)出而不做任何修改。
   (2)多時(shí)鐘域時(shí)鐘同步
     在基于FPGA的FAST千兆交換實(shí)現(xiàn)過(guò)程中,F(xiàn)PGA內(nèi)部最多有2N+1個(gè)時(shí)鐘域,其中N為接口數(shù)目。其中每個(gè)千兆接口都有一個(gè)獨(dú)立的接收時(shí)鐘,該時(shí)鐘頻率與通信對(duì)端的發(fā)送時(shí)鐘一致。每個(gè)接口都有一個(gè)發(fā)送時(shí)鐘,負(fù)責(zé)將數(shù)據(jù)通過(guò)GMII/RGMII接口發(fā)送給PHY芯片。同時(shí)還有一個(gè)獨(dú)立于接收和發(fā)送接口時(shí)鐘的核心時(shí)鐘,作為FAST流水線的工作時(shí)鐘。
     雖然FAST-TSN-04的接口時(shí)鐘和核心時(shí)鐘都額定為125MHz,但可能存在細(xì)微的差別。例如兩個(gè)20ppm的125MHz晶振,設(shè)基于這兩個(gè)晶振的時(shí)間每秒偏差為D,則: Dmax=8ns*(125M*(1+20ppm)-125M*(1-20ppm))=40us 因此FPGA內(nèi)部不同時(shí)鐘域的時(shí)間信息之間也需要同步,片上跨時(shí)鐘域的時(shí)間同步有單信號(hào)同步和多信號(hào)同步等方式,這里不再贅述。
二、PTP協(xié)議同步實(shí)現(xiàn)
   (1)時(shí)間信息的標(biāo)記和處理
     基于RxC、PTP-UDA和PTP-UDO模塊的FAST-TSN-04的PTP時(shí)間同步實(shí)現(xiàn)原理如下圖所示。每個(gè)sync/delay_req/delay-resp的協(xié)議分組都由PTP-UDA發(fā)出和接收。
     FAST-TSN-04需要發(fā)送PTP分組時(shí), PTP-UDA產(chǎn)生PTP分組,并將分組從PTP-UDA離開(kāi)的時(shí)間t0填寫(xiě)到分組的元數(shù)據(jù)中,假設(shè)該分組到達(dá)PTP-UDO時(shí)間為t1,則該分組在交換機(jī)內(nèi)部的延時(shí)將會(huì)填寫(xiě)到分組的透明時(shí)鐘域TC中,隨分組從網(wǎng)絡(luò)接口發(fā)出。

圖2 PTP協(xié)議分組處理流程
      FAST-TSN-04接收PTP分組時(shí)首先將接收時(shí)間戳t2填寫(xiě)到分組元數(shù)據(jù)中,然后送到FAST流水線的PTP-UDA模塊,設(shè)PTP-UDA模塊收到分組的時(shí)間為t3。后續(xù)的PTP分組處理有兩種情況。
     一是分組的目的MAC是本地接口MAC地址,則該分組會(huì)送到本地PTP-UDA處理。本地PTP-UDA首先對(duì)分組的透明時(shí)鐘域進(jìn)行修正,增加值為該分組進(jìn)入FPGA后的延時(shí)t3-t2,然后再對(duì)分組數(shù)進(jìn)行解析,根據(jù)PTP協(xié)議要求進(jìn)行后續(xù)處理。
     二是分組目的不是本地MAC,即該分組需要被TSN交換機(jī)轉(zhuǎn)發(fā)。PTP-UDA不處理該分組,直接將分組送FAST流水線進(jìn)行后續(xù)交換處理。設(shè)分組到達(dá)輸出接口的PTP-UDO時(shí)間為t4,則分組在交換機(jī)中的延時(shí)t4-t2將被累加到TC域中。
   (2)同步計(jì)算關(guān)鍵時(shí)間點(diǎn)的獲取
     基于PTP的時(shí)間同步原理如下圖所示,時(shí)間從設(shè)備通過(guò)與時(shí)間主設(shè)備的三種類型分組的交互獲取四個(gè)關(guān)鍵的時(shí)間點(diǎn)信息,T1,T2,T3和T4,并根據(jù)這些關(guān)鍵時(shí)間點(diǎn)信息計(jì)算自己時(shí)間與時(shí)間主設(shè)備時(shí)間的偏差offset,并根據(jù)這個(gè)偏差調(diào)整自己的時(shí)間計(jì)數(shù)器。

圖3 一次PTP協(xié)議時(shí)間同步的過(guò)程
     時(shí)間從設(shè)備與時(shí)間主設(shè)備的交互并獲取四個(gè)關(guān)鍵時(shí)間點(diǎn)的詳細(xì)方法如下表所示,時(shí)間點(diǎn)標(biāo)記參見(jiàn)圖1。
   (3)全局時(shí)間的表示與修正
     我們將在后續(xù)文章中,對(duì)TSN的CQF轉(zhuǎn)發(fā)模型,以及PTP UDA、PTPUDO以及CFQ UDO模塊的功能實(shí)現(xiàn)進(jìn)行詳細(xì)介紹。
     PTP主和PTP從設(shè)備的全局時(shí)間計(jì)數(shù)器time_cnt均在PTP-UDA內(nèi)部維護(hù),長(zhǎng)度為48比特。每隔8ns加1,因此計(jì)數(shù)器計(jì)數(shù)的時(shí)長(zhǎng)超過(guò)200天,這對(duì)于TSN交換原型系統(tǒng)來(lái)說(shuō)已經(jīng)足夠。
     TSN交換系統(tǒng)復(fù)位時(shí),time_cnt置為全0,并隨時(shí)鐘自由增加。從設(shè)備在第一次接收到sync同步幀時(shí),將自己的time_cnt設(shè)置為T(mén)1,后續(xù)同步過(guò)程使用offset修正自己的time_cnt計(jì)數(shù)器。此外,在每個(gè)時(shí)鐘同步周期內(nèi),每個(gè)TSN設(shè)備的time_cnt要與外圍時(shí)鐘域的時(shí)間進(jìn)行一次同步。
三、進(jìn)一步討論
   (1)端系統(tǒng)PTP處理的實(shí)現(xiàn)
     在TSN網(wǎng)絡(luò)中,時(shí)間主設(shè)備可以是TSN交換機(jī),也可以是具有高精度時(shí)間的終端設(shè)備。由于FAST架構(gòu)的核心就是基于軟硬件協(xié)同的方式進(jìn)行分組處理,F(xiàn)PGA OS內(nèi)部已經(jīng)嵌入DMA通道,實(shí)現(xiàn)與CPU軟件進(jìn)行通信,因此基于FAST擴(kuò)展流水線的PTP協(xié)議處理可方便的在網(wǎng)卡上實(shí)現(xiàn),而且不需要任何軟件參與。
   (2)PTP同步頻率
     由于所有的PTP同步邏輯由FPGA硬件實(shí)現(xiàn),不會(huì)給軟件增加開(kāi)銷,因此在規(guī)模有限的TSN網(wǎng)絡(luò)中,可以增加同步的頻度。根據(jù)上述分析,當(dāng)兩個(gè)節(jié)點(diǎn)的晶振精度都為20ppm時(shí),每秒時(shí)間偏差可達(dá)40us。若將同步間隔縮小到1ms,則同步誤差可縮小到40ns左右,可以滿足絕大多數(shù)TSN場(chǎng)景的需求