使用DP83640實(shí)現(xiàn)標(biāo)準(zhǔn)網(wǎng)絡(luò)IEEE1588的同步
1.0 簡介
美國國家半導(dǎo)體的DP83640精密PHYTER?實(shí)現(xiàn)了IEEE 1588精密時間協(xié)議(PTP)的時鐘關(guān)鍵部分,允許高精度 IEEE 1588節(jié)點(diǎn)實(shí)現(xiàn)。當(dāng)使用包含IEEE1588功能器件、邊界時鐘和透明時鐘的網(wǎng)絡(luò)時,利用非常簡單的時鐘伺服算法 來確定速率調(diào)整和時間校正,可以獲得非常高的精度。不需 要復(fù)雜處理,只需要對協(xié)議測量進(jìn)行簡單平均或?yàn)V波即可。 當(dāng)網(wǎng)路由不具有IEEE 1588能力的器件構(gòu)成時,包延時偏差 (PDV)就很重要。簡單時鐘伺服不會提供很高精度的同 步。
本文描述了一種同步方法,它可以為較大PDV系統(tǒng)帶 來更高的同步精度。這里描述的方法試圖檢測最小延時,或 “幸運(yùn)包”。這個方法還利用了DP83640時鐘控制機(jī)理來獨(dú) 立控制時鐘速率和時間校正,從而將時鐘時間精度內(nèi)的過沖 和擺動降低到最小。
2.0 背景
IEEE1588精確時間協(xié)議給從機(jī)提供了基本信息,用以確 定相對于最高級主時鐘的頻率以及時間偏差?;舅惴ò?使用各自的同步和延時請求消息來測量主機(jī)到從機(jī)之間和從 機(jī)到主機(jī)的路徑延時。 圖1顯示了最基本的IEEE 1588的時序圖。
主機(jī)到從機(jī)和從機(jī)到主機(jī)的延時為:
MSdelay = t2 - t1
SMdelay = t4 Ct3
單向延時或稱為平均路徑延時正是這兩個延時的平均值
MeanPathDelay = (MSdelay + SMdelay)/2
理想情況下,時間偏移為:
offset_from_master = MSdelay C meanPathDelay
在包含支持IEEE-1588網(wǎng)絡(luò)元件(橋、開關(guān)、路由器)的網(wǎng)絡(luò)中,包延時偏差基本上可以忽略。在邊界時鐘器件中,同步時鐘在網(wǎng)絡(luò)元件上得以保持,它與上游主機(jī)同步時間和速率,并充當(dāng)下游器件的主機(jī)。在透明時鐘器件中,因?yàn)镻TP報文要經(jīng)過這個器件,所以通過測量其停留時間來校 正包延時偏差。
在無1588能力的網(wǎng)絡(luò)中不做補(bǔ)償,導(dǎo)致包延時變量大概 是幾十或幾百微妙的數(shù)量級。這些延時變得非常明顯,使得 單一測量極度不正確。
在使用只有簡單平均和濾波的基本算法的單開關(guān)條件 下,得到了圖2在80%流量條件下的MTIE(最大時間間隔誤差)測試波形。很容易看到,這種方法提供了相對較差的同 步,其誤差達(dá)到100ms之大。
2.1 建議算法
在無1588能力元件的網(wǎng)絡(luò)中,包延時可能在每個器件 的最小物理延時和通過每個器件的最大延時總和的范圍內(nèi)變 化。實(shí)踐中,每個設(shè)備經(jīng)常會有最小傳輸延時,因此主機(jī)到 從機(jī)產(chǎn)生最小的總包延時?;静僮魇菄L試檢測最小延時, 或者“幸運(yùn)延時”,利用這些包的結(jié)果進(jìn)行速率和時間校 正。算法基本上可分為三級:平均路徑延時測量、速率校正 和時間校正。
2.1.1 平均路徑延時測量
在大多數(shù)網(wǎng)絡(luò)中,最小路徑延時是相對恒定的值。再 次配置網(wǎng)絡(luò)能夠引起步長變化,但是這種配置并不是經(jīng)常性 的。因此有可能采用長期跟蹤最小環(huán)回延時(即全部的同步 延時請求計(jì)算)的方式來檢測最小平均路徑。這種方法保持 最后N個平均路徑延時測量記錄,并從中找到最小值:
Min_meanPathDelay(n) = min(meanPathDelay[n+1-N:n]
其中,Min_meanPathDelay(n)為第n次測量記錄中保留的N個數(shù)據(jù)中的最小值。
進(jìn)行速率校正和時間校正時確定最小平均路徑是關(guān)鍵。
評論