新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 利用IEEE 1588和Blackfin嵌入式處理器實現設備時鐘同步

        利用IEEE 1588和Blackfin嵌入式處理器實現設備時鐘同步

        作者: 時間:2011-01-05 來源:網絡 收藏

        DelayReq消息在稍后的時間點Tm3'到達主,由主軟件在時間點Tm3處理。然后,該軟件讀取時間戳以獲取到達時間Tm3',將其插入DelayResp消息中,并在時間點Tm4發送至從。當從時鐘設備軟件在時間點Ts4收到DelayResp消息時,它可以提取時間Tm3',并通過公式2計算從主通信延遲Tsmd。

        (2)

        公式1和公式2中均有一個未知變量,即主從時間差Tms,因此無法單獨求得Tmsd或Tsmd。但是,如果我們合理地假設通信路徑是對稱的,即

        (3)

        ——這是 1588成立的關鍵假設——那么,將公式1與公式2相加可以得出:

         (4)

        由于從時鐘設備尋求與主時鐘設備,因此所有這些計算均由這些設備執行。從時鐘設備從主時鐘設備的Followup消息獲得Tm1',從其Rx(接收)時間戳獲得Ts1',從其Tx(發送)時間戳獲得Ts3',并通過主時鐘設備的DelayResp消息獲得Tm3'。

        如何計算從時鐘與主時鐘的時間差

        一旦獲得通信路徑延遲Td,便可公式1或公式2輕松計算從時鐘與主時鐘的時間差,如公式5和公式6所示。

         (5)

         (6)

        如何調整從時鐘設備的時間

        知道與主時鐘的時間差之后,各從時鐘需要調整自己的本地時間,與主時鐘保持一致。該任務包括兩方面。第一,從時鐘設備需要加上時間差以調整絕對時間,使其時間在此刻與主時鐘時間完全一致。第二,從時鐘設備需要調整各自的時鐘頻率,與主時鐘的頻率保持一致。我們不能單靠絕對時間,因為時間差僅在一定期間內應用,可能是正值,也可能是負值;調整的結果是從時鐘時間向前跳躍或向后倒退。因此,在實際操作中,調整分兩步執行:

        1.如果時間差過大,例如1秒以上,則應用絕對時間調整。

        2.I如果時間差較小,則使從時鐘的頻率改變某一百分比。

        一般而言,該系統會變成一個控制環路,其中主時鐘時間是參考命令,而從時鐘時間是跟蹤主時鐘時間的輸出,二者之差驅動可調整時鐘。可以使用PID控制來特定跟蹤性能,這是許多 1588實施方案常用的方法。圖4顯示了這種控制環路。

        IEEE 1588控制環路

        圖4. 1588控制環路

        點對點延遲

        修訂版IEEE 1588-2008引入了新的機制來測量路徑延遲,稱為“點對點”(P2P)延遲。與之相比,上文討論的主從機制則是“端對端”(E2E)延遲。在支持IEEE 1588-2008的網絡中,主時鐘設備可以與從時鐘設備直接相連,或者隔幾個中繼站(級)相連。E2E延遲實際上是主時鐘設備到從時鐘設備的“總”延遲,包括其間的所有中繼站在內。但是,P2P延遲則僅限于兩個直接相連的設備。通信路徑的總延遲等于所有中繼站的P2P延遲之和。從確保路徑對稱性的角度看,P2P機制可提供更高的精度。

        如上文所述,IEEE 1588-2008新增了PdelayReq、PdelayResp和PdelayRespFollowup三種消息來測量P2P延遲。這些消息的工作方式與上文所述方式相似,詳情請看參考文獻3。

        影響性能的因素

        精心設計的IEEE 1588設備能夠高度精確的時鐘,但也必須了解直接影響同步性能的主要因素,其中包括:

        1.路徑延遲:如上文所述,IEEE 1588的路徑延遲測量假設通信路徑延遲是對稱的,即前向路徑的傳輸延遲與后向傳輸延遲相同。此外,在延遲測量期間,延遲不應變化。測量期間延遲變化會導致不對稱和延遲抖動,這將直接影響同步精度。雖然無法在IEEE 1588設備的邊界之外控制延遲對稱性和抖動,但如果測量基于硬件時間戳,則可在設備內改善路徑對稱性和抖動。由于中斷延時、環境切換和線程調度,軟件時間戳會導致明顯的抖動,而硬件時間戳則不存在這一問題。

        2.時鐘的漂移和抖動特性:主時鐘的頻率和相位代表跟蹤控制系統的輸入,從時鐘則是控制對象。主時鐘的任何時變行為都會擾動該控制系統,導致穩態和瞬態兩種誤差。因此,時鐘的漂移和抖動越低,則同步精度越高。

        3.控制法則:從時鐘調整如何校正從時鐘設備的時間誤差取決于控制方法。控制法則參數包括建立時間、過沖和穩態誤差,都將直接影響時鐘同步性能。

        4.時鐘分辨率:如圖1所示,本地時間的分辨率由時鐘頻率決定;最小時間增量為時鐘信號的一個周期。IEEE 1588-2002支持1 ns的時間分辨率,IEEE 1588-2008則支持2–16 ns的時間分辨率。216 (!) GHz(甚至1 GHz)的時鐘是不現實的。本地時鐘的量化會影響本地時間測量和控制的精度。

        5.Sync消息的發送周期:從時鐘的更新頻率最終會影響同步精度。因為時間誤差是從時鐘頻率誤差的整體累積值,所以發送周期越長,下一個Sync所觀察到的時間誤差一般會越大。

        6.延遲測量的頻率:以預期相鄰采樣點之間延遲沒有明顯變化的間隔時間,定期執行延遲測量。如果IEEE 1588網絡的延遲變化較大,則增加延遲測量頻率可以改善時鐘同步性能。

        哪個是主時鐘?

        在考慮如何精確確定主時鐘設備與從時鐘設備之間的時間差之后,下一個相關問題是:在成百上千臺互連設備中,如何確定哪一臺設備充當主時鐘。

        IEEE 1588定義了一種稱為“最佳主時鐘”(BMC)算法的方法,用于選擇主時鐘設備。這種方法要求IEEE 1588網絡的每臺設備均提供一個數據集,描述其本地時鐘的性質、質量、穩定性、唯一識別符和首選設置。當一臺設備加入IEEE 1588網絡時,它會廣播其時鐘的數據集,并接收所有其它設備的數據集。所有參與設備的數據集,每臺設備均運行同一BMC算法,以確定主時鐘及其自己的未來狀態(主時鐘或從時鐘)。由于所有設備均采用同樣的數據獨立執行同一算法,因此結論將會相同,設備之間不需要進行任何協商。有關BMC算法的更多詳細信息,請看參考文獻2和3。

        ADSP-BF518支持IEEE 1588

        ADI公司 DSP系列最近新增一款產品:ADSP-BF518。像前款產品ADSP-BF537,4一樣,該內置“以太網媒體訪問控制器”(EMAC)模塊。它還具有TSYNC模塊,進一步擴展了支持IEEE 1588標準EMAC功能的能力;還提供其它額外特性,可支持以太網的各種IEEE 1588應用。圖5顯示了TSYNC模塊的框圖。 ADSP-BF51x 處理器硬件參考提供了更多信息。

        ADSP-BF518處理器TSYNC模塊的框圖

        圖5. ADSP-BF518處理器TSYNC模塊的框圖

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 卓资县| 崇义县| 简阳市| 涪陵区| 西乌珠穆沁旗| 灵丘县| 津南区| 石河子市| 辽宁省| 甘南县| 棋牌| 吐鲁番市| 兴义市| 普兰店市| 应用必备| 年辖:市辖区| 金塔县| 松阳县| 兴安盟| 湘阴县| 乌审旗| 灵山县| 察哈| 长汀县| 射洪县| 印江| 昌乐县| 彝良县| 嘉黎县| 离岛区| 定西市| 新营市| 伊宁县| 彝良县| 洱源县| 鱼台县| 平阳县| 二连浩特市| 应用必备| 资源县| 涡阳县|