使用DP83640實現(xiàn)標準網(wǎng)絡(luò)IEEE1588的同步
速率校正通過測量跟隨的同步周期并測量每個消息從 主機開始與到達從機之間的差異進行。這給出了從機頻率相 對于主機頻率的一個基本比值并可以用來校正頻率差。因為 包延時偏差可能很明顯,這可能使任何單一的速率測量有很 大的不精確性。
例如,如果同步周期每秒8個同步,誤差在 125ms內(nèi)可能是100us或者接近1000ppm。如果算法是平均 所有速率測量,也許需要成百上千秒來測量速率以得到合理 的估算。使用低廉的振蕩器時會發(fā)生短期頻率變化,平均時 間較長會導致不能對這種頻率變化進行控制。 可替代的方法是,建議的算法利用平均路徑延時測量來 檢測短時等待包時,只使用這些包檢測對主機的頻率偏移。
如果包滿足一個好的最小環(huán)回延時要求,通過比較上一個 “好包”時間來測量速率。*估“好包”時,需要在質(zhì)量和 數(shù)量上進行權(quán)衡。如果質(zhì)量過于嚴格,就可能無法獲得足夠 的信息來跟蹤頻率變化。但如果不夠嚴格,速率計算結(jié)果中 可能包含過量的偏差。
圖3表明用于決定速率的同步消息之間的最基本的關(guān)系。
從這個圖中,速率比值為
rate_ratio(n) = (T2(n) C T2) / (T1(n) CT1)
另外,為準備另一個測量,需要設(shè)置:
T1=T1(n),T2=T2(n)
由于測量中存在誤差,仍然需要一些平均或濾波測量。
為了簡化,使用指數(shù)移動平均或平滑函數(shù)來跟蹤速率。這個等式為:
rate_avg(n) = Rate_avg(n-1)
+α(rate_ratio(n) C rate_avg(n-1))
α的典型值通常設(shè)為0.1,但是在某些諸如提高或降低速率的延長周期場合,這個值可能會有所增加。
2.1.3 時間校正
確定時間偏移的典型方法是使用同步消息來確定對主機 的偏差。常使用平均或濾波的方式來平滑連接,并避免每次 測量的過量校正。對于時間校正來說,利用兩個不同的機制 來檢測和校正時間偏差。
第一個機制的基本想法是尋找最小延時?;舅惴ㄊ窃?最近的延時中檢測最小的主機到從機的延時。為防止過量校 正,也對時間校正進行了限制。這種算法依賴于大量的同步 消息,比IEEE-1588網(wǎng)絡(luò)本身需要的同步報文更多。另外, 在延時請求測量之后,算法可能使用主機到從機延時或從機 到主機延時中產(chǎn)生更小偏差的一個延時。在一個方向的流量 變得擁堵的情況下,另一個方向可以提供更精確的時間偏差 的測量。這個方法基于它擁有的最好信息而在每個周期都進 行校正。如果沒有收到真實的最小延時消息報文,這將導致 不適當?shù)男U?。原因是算法不能確定測量誤差是由時間偏差 還是由包延時偏差引起的。
第二個時間校正機制是嘗試只使用延時來進行校正,前 提是這些延時已經(jīng)確定為真實最小延時包。它有助于避免對 時間值的無效校正。這個機制的基本想法是使用同步和延時 請求來進行時間校正。對于同步消息,如果主機到從機延時 小于最小平均路徑延時,測量結(jié)果就顯示至少有一個主機到 從機延時減去最小平均路徑延時的時間偏差。這種情況下, 時間校正是基于偏差測量進行的。如果主機到從機的延時高 于最小平均路徑延時,無法知道誤差是由時間偏差引起的還 是包延時偏差引起的,所以不會做校正。對于延時請求消息 也相似,如果從機到主機的延時小于最小平均路徑延時,測 量結(jié)果就顯示有至少為平均路徑延時減去從機到主機延時的 時間偏差發(fā)生。注意,這里檢測到的時間偏差是正的,而主 機到從機延時測量中的結(jié)果是負的。
兩個方法都是通過調(diào)節(jié)一段時間內(nèi)的精準時間協(xié)議的時 鐘速率來進行時間校正。為了避免速率的大波動,每一個校 正都限制幅值。這將有助于降低由于時間偏移的快速校正而 引起的時間間隔誤差。在第二個機理中通過保持時間誤差值 進行處理。當因接收到的同步或延時請求引起的新誤差計算 出來時,如果這個新誤差代表了一個更大的偏差,時間誤差 就更新為新值。否則,時間誤差保持不變。基于時間誤差, 只能進行有限的校正并從時間誤差中去除。因此,在完成校 正之前,偏移測量可能進行多次校正。
第二個機理很少有無效的校正,但是呈現(xiàn)出更長的無校 正周期;基于速率校正誤差,很可能會出現(xiàn)漂移。盡管第二 個機理在重流量和多開關(guān)的條件下顯得更好,但兩者的總體 結(jié)果相似。由于第二個機理產(chǎn)生更好的結(jié)果,結(jié)論部分詳述 這些結(jié)果。
3.0 測試平臺
測試時鐘伺服算法的*估平臺是基于FPGA的常規(guī)*估 平臺,ALP(模擬測試發(fā)射平臺)。ALP平臺包含一個小的 FPGA來實現(xiàn)MAC接口、數(shù)據(jù)包緩沖和與DP83640以太網(wǎng)物 理層設(shè)備進行通訊的MDIO管理界面。ALP板子包括與PC主 機通訊的USB接口。在PC主機上,ALP軟件運行PTP協(xié)議來 建立和分析包并控制PHY中的PTP硬件的操作。ALP平臺合 并了支持兩個獨立的PHY器件的邏輯和連接。
評論