《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 使用DP83640實(shí)現(xiàn)標(biāo)準(zhǔn)網(wǎng)絡(luò)IEEE 1588的同步
使用DP83640實(shí)現(xiàn)標(biāo)準(zhǔn)網(wǎng)絡(luò)IEEE 1588的同步
摘要: 美國國家半導(dǎo)體的DP83640精密PHYTER?實(shí)現(xiàn)了IEEE 1588精密時(shí)間協(xié)議(PTP)的時(shí)鐘關(guān)鍵部分,,允許高精度 IEEE 1588節(jié)點(diǎn)實(shí)現(xiàn),。當(dāng)使用包含IEEE1588功能器件,、邊 界時(shí)鐘和透明時(shí)鐘的網(wǎng)絡(luò)時(shí),,利用非常簡單的時(shí)鐘伺服算法 來確定速率調(diào)整和時(shí)間校正,,可以獲得非常高的精度,。不需 要復(fù)雜處理,,只需要對(duì)協(xié)議測(cè)量進(jìn)行簡單平均或?yàn)V波即可,。 當(dāng)網(wǎng)路由不具有IEEE 1588能力的器件構(gòu)成時(shí),,包延時(shí)偏差 (PDV)就很重要。簡單時(shí)鐘伺服不會(huì)提供很高精度的同 步,。
關(guān)鍵詞: 2.5G|3G DP83640 IEEE 網(wǎng)絡(luò)
Abstract:
Key words :

美國國家半導(dǎo)體的DP83640精密PHYTER?實(shí)現(xiàn)了IEEE 1588精密時(shí)間協(xié)議(PTP)的時(shí)鐘關(guān)鍵部分,,允許高精度 IEEE 1588節(jié)點(diǎn)實(shí)現(xiàn)。當(dāng)使用包含IEEE1588功能器件,、邊 界時(shí)鐘和透明時(shí)鐘的網(wǎng)絡(luò)時(shí),,利用非常簡單的時(shí)鐘伺服算法來確定速率調(diào)整和時(shí)間校正,,可以獲得非常高的精度。不需 要復(fù)雜處理,,只需要對(duì)協(xié)議測(cè)量進(jìn)行簡單平均或?yàn)V波即可,。 當(dāng)網(wǎng)路由不具有IEEE 1588能力的器件構(gòu)成時(shí),包延時(shí)偏差 (PDV)就很重要,。簡單時(shí)鐘伺服不會(huì)提供很高精度的同 步,。

本文描述了一種同步方法,它可以為較大PDV系統(tǒng)帶 來更高的同步精度,。這里描述的方法試圖檢測(cè)最小延時(shí),,或 “幸運(yùn)包”。這個(gè)方法還利用了DP83640時(shí)鐘控制機(jī)理來獨(dú) 立控制時(shí)鐘速率和時(shí)間校正,,從而將時(shí)鐘時(shí)間精度內(nèi)的過沖 和擺動(dòng)降低到最小,。

2.0 背景

IEEE1588精確時(shí)間協(xié)議給從機(jī)提供了基本信息,用以確 定相對(duì)于最高級(jí)主時(shí)鐘的頻率以及時(shí)間偏差,?;舅惴òㄊ褂酶髯缘耐胶脱訒r(shí)請(qǐng)求消息來測(cè)量主機(jī)到從機(jī)之間和從 機(jī)到主機(jī)的路徑延時(shí)。 圖1顯示了最基本的IEEE 1588的時(shí)序圖,。



主機(jī)到從機(jī)和從機(jī)到主機(jī)的延時(shí)為:

MSdelay = t2 - t1

SMdelay = t4 –t3

單向延時(shí)或稱為平均路徑延時(shí)正是這兩個(gè)延時(shí)的平均值

MeanPathDelay = (MSdelay + SMdelay)/2

理想情況下,,時(shí)間偏移為:

offset_from_master = MSdelay – meanPathDelay

在包含支持IEEE-1588網(wǎng)絡(luò)元件(橋、開關(guān),、路由器)的網(wǎng)絡(luò)中,,包延時(shí)偏差基本上可以忽略。在邊界時(shí)鐘器件中,,同步時(shí)鐘在網(wǎng)絡(luò)元件上得以保持,,它與上游主機(jī)同步時(shí)間和速率,并充當(dāng)下游器件的主機(jī),。在透明時(shí)鐘器件中,,因?yàn)镻TP報(bào)文要經(jīng)過這個(gè)器件,,所以通過測(cè)量其停留時(shí)間來校正包延時(shí)偏差,。



在無1588能力的網(wǎng)絡(luò)中不做補(bǔ)償,導(dǎo)致包延時(shí)變量大概 是幾十或幾百微妙的數(shù)量級(jí),。這些延時(shí)變得非常明顯,,使得 單一測(cè)量極度不正確。

在使用只有簡單平均和濾波的基本算法的單開關(guān)條件 下,,得到了圖2在80%流量條件下的MTIE(最大時(shí)間間隔誤差)測(cè)試波形,。很容易看到,這種方法提供了相對(duì)較差的同 步,,其誤差達(dá)到100ms之大,。

2.1 建議算法

在無1588能力元件的網(wǎng)絡(luò)中,,包延時(shí)可能在每個(gè)器件 的最小物理延時(shí)和通過每個(gè)器件的最大延時(shí)總和的范圍內(nèi)變化。實(shí)踐中,,每個(gè)設(shè)備經(jīng)常會(huì)有最小傳輸延時(shí),,因此主機(jī)到 從機(jī)產(chǎn)生最小的總包延時(shí)?;静僮魇菄L試檢測(cè)最小延時(shí),,或者“幸運(yùn)延時(shí)”,利用這些包的結(jié)果進(jìn)行速率和時(shí)間校 正,。算法基本上可分為三級(jí):平均路徑延時(shí)測(cè)量,、速率校正 和時(shí)間校正。

2.1.1 平均路徑延時(shí)測(cè)量

在大多數(shù)網(wǎng)絡(luò)中,,最小路徑延時(shí)是相對(duì)恒定的值,。再 次配置網(wǎng)絡(luò)能夠引起步長變化,但是這種配置并不是經(jīng)常性的,。因此有可能采用長期跟蹤最小環(huán)回延時(shí)(即全部的同步 延時(shí)請(qǐng)求計(jì)算)的方式來檢測(cè)最小平均路徑,。這種方法保持最后N個(gè)平均路徑延時(shí)測(cè)量記錄,并從中找到最小值:

Min_meanPathDelay(n) = min(meanPathDelay[n+1-N:n]

其中,,Min_meanPathDelay(n)為第n次測(cè)量記錄中保留的N個(gè)數(shù)據(jù)中的最小值,。

進(jìn)行速率校正和時(shí)間校正時(shí)確定最小平均路徑是關(guān)鍵。

2.1.2 速率校正

速率校正通過測(cè)量跟隨的同步周期并測(cè)量每個(gè)消息從 主機(jī)開始與到達(dá)從機(jī)之間的差異進(jìn)行,。這給出了從機(jī)頻率相對(duì)于主機(jī)頻率的一個(gè)基本比值并可以用來校正頻率差,。因?yàn)?包延時(shí)偏差可能很明顯,這可能使任何單一的速率測(cè)量有很 大的不精確性,。

例如,,如果同步周期每秒8個(gè)同步,誤差在 125ms內(nèi)可能是100us或者接近1000ppm,。如果算法是平均所有速率測(cè)量,,也許需要成百上千秒來測(cè)量速率以得到合理 的估算。使用低廉的振蕩器時(shí)會(huì)發(fā)生短期頻率變化,,平均時(shí)間較長會(huì)導(dǎo)致不能對(duì)這種頻率變化進(jìn)行控制,。 可替代的方法是,建議的算法利用平均路徑延時(shí)測(cè)量來檢測(cè)短時(shí)等待包時(shí),,只使用這些包檢測(cè)對(duì)主機(jī)的頻率偏移,。

如果包滿足一個(gè)好的最小環(huán)回延時(shí)要求,通過比較上一個(gè) “好包”時(shí)間來測(cè)量速率,。*估“好包”時(shí),,需要在質(zhì)量和數(shù)量上進(jìn)行權(quán)衡。如果質(zhì)量過于嚴(yán)格,,就可能無法獲得足夠 的信息來跟蹤頻率變化,。但如果不夠嚴(yán)格,,速率計(jì)算結(jié)果中 可能包含過量的偏差。

圖3表明用于決定速率的同步消息之間的最基本的關(guān)系,。



從這個(gè)圖中,,速率比值為

rate_ratio(n) = (T2(n) – T2) / (T1(n) –T1)

另外,為準(zhǔn)備另一個(gè)測(cè)量,,需要設(shè)置:

T1=T1(n),,T2=T2(n)

由于測(cè)量中存在誤差,仍然需要一些平均或?yàn)V波測(cè)量,。

為了簡化,,使用指數(shù)移動(dòng)平均或平滑函數(shù)來跟蹤速率。這個(gè)等式為:

rate_avg(n) = Rate_avg(n-1)

+α(rate_ratio(n) – rate_avg(n-1))

α的典型值通常設(shè)為0.1,,但是在某些諸如提高或降低速率的延長周期場(chǎng)合,,這個(gè)值可能會(huì)有所增加。

2.1.3 時(shí)間校正

確定時(shí)間偏移的典型方法是使用同步消息來確定對(duì)主機(jī) 的偏差,。常使用平均或?yàn)V波的方式來平滑連接,,并避免每次測(cè)量的過量校正。對(duì)于時(shí)間校正來說,,利用兩個(gè)不同的機(jī)制 來檢測(cè)和校正時(shí)間偏差,。

第一個(gè)機(jī)制的基本想法是尋找最小延時(shí)?;舅惴ㄊ窃?最近的延時(shí)中檢測(cè)最小的主機(jī)到從機(jī)的延時(shí),。為防止過量校正,也對(duì)時(shí)間校正進(jìn)行了限制,。這種算法依賴于大量的同步 消息,,比IEEE-1588網(wǎng)絡(luò)本身需要的同步報(bào)文更多。另外,,在延時(shí)請(qǐng)求測(cè)量之后,,算法可能使用主機(jī)到從機(jī)延時(shí)或從機(jī) 到主機(jī)延時(shí)中產(chǎn)生更小偏差的一個(gè)延時(shí)。在一個(gè)方向的流量變得擁堵的情況下,,另一個(gè)方向可以提供更精確的時(shí)間偏差 的測(cè)量,。這個(gè)方法基于它擁有的最好信息而在每個(gè)周期都進(jìn)行校正。如果沒有收到真實(shí)的最小延時(shí)消息報(bào)文,,這將導(dǎo)致 不適當(dāng)?shù)男U?。原因是算法不能確定測(cè)量誤差是由時(shí)間偏差 還是由包延時(shí)偏差引起的,。

第二個(gè)時(shí)間校正機(jī)制是嘗試只使用延時(shí)來進(jìn)行校正,,前 提是這些延時(shí)已經(jīng)確定為真實(shí)最小延時(shí)包。它有助于避免對(duì)時(shí)間值的無效校正,。這個(gè)機(jī)制的基本想法是使用同步和延時(shí) 請(qǐng)求來進(jìn)行時(shí)間校正,。對(duì)于同步消息,,如果主機(jī)到從機(jī)延時(shí)小于最小平均路徑延時(shí),測(cè)量結(jié)果就顯示至少有一個(gè)主機(jī)到 從機(jī)延時(shí)減去最小平均路徑延時(shí)的時(shí)間偏差,。這種情況下,,時(shí)間校正是基于偏差測(cè)量進(jìn)行的。如果主機(jī)到從機(jī)的延時(shí)高 于最小平均路徑延時(shí),,無法知道誤差是由時(shí)間偏差引起的還是包延時(shí)偏差引起的,,所以不會(huì)做校正。對(duì)于延時(shí)請(qǐng)求消息 也相似,,如果從機(jī)到主機(jī)的延時(shí)小于最小平均路徑延時(shí),,測(cè)量結(jié)果就顯示有至少為平均路徑延時(shí)減去從機(jī)到主機(jī)延時(shí)的 時(shí)間偏差發(fā)生。注意,,這里檢測(cè)到的時(shí)間偏差是正的,,而主機(jī)到從機(jī)延時(shí)測(cè)量中的結(jié)果是負(fù)的。

兩個(gè)方法都是通過調(diào)節(jié)一段時(shí)間內(nèi)的精準(zhǔn)時(shí)間協(xié)議的時(shí) 鐘速率來進(jìn)行時(shí)間校正,。為了避免速率的大波動(dòng),,每一個(gè)校正都限制幅值。這將有助于降低由于時(shí)間偏移的快速校正而 引起的時(shí)間間隔誤差,。在第二個(gè)機(jī)理中通過保持時(shí)間誤差值進(jìn)行處理,。當(dāng)因接收到的同步或延時(shí)請(qǐng)求引起的新誤差計(jì)算 出來時(shí),如果這個(gè)新誤差代表了一個(gè)更大的偏差,,時(shí)間誤差就更新為新值,。否則,時(shí)間誤差保持不變,?;跁r(shí)間誤差, 只能進(jìn)行有限的校正并從時(shí)間誤差中去除,。因此,,在完成校正之前,偏移測(cè)量可能進(jìn)行多次校正,。



第二個(gè)機(jī)理很少有無效的校正,,但是呈現(xiàn)出更長的無校 正周期;基于速率校正誤差,,很可能會(huì)出現(xiàn)漂移,。盡管第二個(gè)機(jī)理在重流量和多開關(guān)的條件下顯得更好,但兩者的總體 結(jié)果相似,。由于第二個(gè)機(jī)理產(chǎn)生更好的結(jié)果,,結(jié)論部分詳述 這些結(jié)果。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。