利用IEEE 1588和Blackfin嵌入式處理器實現設備時鍾同步
發布時間:2020-01-12 來源:Dr. Jiang Wu 和 Robert Peloquin 責任編輯:wenwei
【導讀】IEEE 1588標準誕生於2002 年,主要定義網絡分布式時鍾的同步協議。測試與測量、dianxinheduomeitiliuchulidengxuduobutongyingyong,doukaishishouxuanzhezhongshizhongtongbufangfa。zhezhongbiaozhunhuashizhongtongbufachengbenxiaoyigao,zhichiyigouxitong,bingketigongnamiaojitongbujingdu。
本文介紹原版 IEEE 1588-2002 標準以及更新版本 IEEE 1588-2008 中的改進內容。由於IEEE 1588 在一些目標應用中越來越重要,因此 ADSP-BF5181 Blackfin® 嵌入式處理器中也集成專用硬件來支持IEEE 1588。本文將概要介紹其功能,並通過一個示例來展示利用ADSP-BF518 處理器解決方案獲得的時鍾同步性能結果。
現在幾點了?
大多數係統都需要利用本振來維護自己的時間概念。圖1顯示硬件和軟件如何組合,在係統內產生時間信息

圖1. 本地計時
係統內的硬件和軟件資源均可使用此時間信息。對於硬件,振 蕩器時鍾會產生一個或多個物理時鍾信號(時鍾輸出),並可 利用這些時鍾信號驅動或觸發係統的其它部分。軟件中維護的 時間通常稱為"係統時間"。係統時間可以用時鍾脈衝數或秒 / 納秒的形式表示。係統軟件利用振蕩器時鍾脈衝數及其頻率 信息得出時間,並提供"應用程序編程接口" (API) 函數,軟 件的其它部分可以使用這些函數檢索並設置時間。如果需要絕 對時間,則所提供的時間將與預定義時間點,即基準時間點相 關聯.
時鍾同步
許多應用要求兩台獨立的設備以同步方式工作。如果每台設備 僅依靠自己的振蕩器,則各振蕩器的特性與工作條件差異將會 限製時鍾同步工作的能力。一些簡單可行的解決方案可以克服 這些限製,包括:
● 所有設備共用一個物理振蕩器.這種方法僅對距離很近的分
● 所有設備均使用特性幾乎完全相同的振蕩器.由 於很難獲得 幾乎完全一樣的振蕩器,並確保性能不隨時間飄移,因此這 種方法不可行。更重要的是,各振蕩器的工作條件並不相
● 如果所有設備均通過一個通信網絡(例如以太網)互連,則這些設備可以通過網絡交換時間消息,根據單個"主"時鍾 動態調整各自的時鍾。利用傳統的時間同步協議—— "網絡 時間協議"(NTP),統中的每台設備根據它從 NTP時間服 務器獲取的時間信息調整其時鍾。然而,該協議隻能實現毫 秒級同步精度。
IEEE 1588 定義了一個新協議,能夠實現納秒級同步精度。下 麵討論該標準如何實現這種水平的時鍾同步。
IEEE 1588 有何作用
IEEE 1588 標準定義了一種時間同步協議,適用於地理位置分 散但通過某種通信技術(例如以太網)互連的設備。設備之間 通過交換時序消息,從而保持相同的絕對係統時間(用秒和納 秒表示)。
要實現此目標,一個直觀的方法是將一台具有"最佳"(最精 確)時鍾的設備指定為"主時鍾"設 備,讓它向其它設備廣播 其時間。其它設備將會調整各自的時間,與主時鍾所發送的時 間保持一致。不過,這種解決方案也有幾點不足:
1. 主時鍾設備無法以極短的間隔廣播時間,因此"從"時鍾設備必須使用自己獨立的"低劣"振蕩器,在主時鍾設備
2. 廣播路徑難免存在延遲,延遲幅度取決於通信技術,例如物理信號沿導線從一台設備傳輸至另一台設備所需的時 間。這種延遲會進一步擴大主時鍾與各從時鍾之間的失
3. 主時鍾設備與各從時鍾設備之間的廣播路徑存在差異,這會進一步降低各從時鍾設備之間的同步精度。
IEEE 1588 要求通過測量路徑延遲,解決第二個和第三個問 題。它還要求待調整的從時鍾與主時鍾保持步調一致,從而減 輕第一個問題。如果可能,使用更小的廣播間隔和更高質量的 振蕩器,可以進一步減輕第一個問題
IEEE 1588 如何測量通信延遲
IEEE 1588-20022 定義了四種消息 Sync、 Followup、 DelayReq和 DelayResp,用來測量前向(主時鍾至從時鍾)和後向(從 時鍾至主時鍾)路徑的通信延遲。更新版本IEEE 1588-2008,3 還提供其它機製,新增三種消息 PdelayReq、PdelayResp和PdelayRespFollowup,來測量"點對點延遲"。
這些消息中,Sync、DelayReq、PdelayReq 和PdelayResp 是所謂"事件"消息,在離開和到達一台設備時必須加上"時間 戳"(記錄本地時間)。給分組加上時間戳的方法有兩種
1. 消息由軟件處理時出現軟件時間戳。通常出現在消息的接收/發送"中斷服務程序"(ISR)中,該時間戳為係統時間的當前值。
2. 消息實際到達或離開設備時出現硬件時間戳。該時間戳操作由硬件執行,硬件會維護自己的連續時間信息。
兩種時間戳方法均為IEEE 1588 所接受,但硬件時間戳的精度明顯更高,如下文所述。
主時鍾設備到從時鍾設備的延遲
消息Sync 和Followup 由主時鍾設備發送,從時鍾設備負責接 收這些消息,並計算主時鍾設備到從時鍾設備的通信路徑延遲.
圖2 中,在時間點 Tm1,主時鍾設備軟件讀取當前本地係統 時間(Tm1,軟件時間戳),將其插入 Sync 消息中,並送出 該消息。該消息在稍 後的時間點 Tm1'''' 離開主時鍾設備,該時 間點為硬件時間戳。該消息在時間點 Ts1'''' (從時鍾設備本地時間)到達從時鍾硬件,從時鍾設備軟件在稍後的時間點 Ts1 收到該消息。該軟件將讀取硬件時間戳以獲得 Ts1''''。如果沒有通 信延遲,Ts1'''' 應等於(Tm1'''' + Tms),其中 Tms 為主時鍾與從時 鍾之間的時間差。該協議的最終目標是補償此時間差.

圖 2. 測量主時鍾設備與從時鍾設備之間的通信延遲
發送 Sync 消息之後,主時鍾設備軟件通過時間戳單元讀取 Sync 消息的離開時間 Tm1'''' ,將其插入 Followup 消息中,然後 在時間點 Tm2 發送該消息。從時鍾設備軟件在時間點 Ts2 收 到此消息。此時,從時鍾設備軟件有兩個時間: Ts1'''' ( Sync 到 達時間)和 Tm1'''' ( Sync 離開時間)。主從路徑延遲 Tmsd 由 公式 1 確定。
從時鍾設備到主時鍾設備的延遲ce
從時鍾設備發送 DelayReq 消息,主時鍾設備予以響應發送 DelayResp 消息。利用這些消息,從時鍾設備可以計算從時鍾 設備到主時鍾設備的通信路徑延遲.
在時間點 Ts3 (圖 3 ),從時鍾設備軟件讀取當前本地係統時 間 (T s3) ,將其插入 DelayReq 消息中,並送出該消息。發送該 消息之後,從時鍾設備軟件讀取時間戳以獲取消息離開時間 Ts3'''' ,並等待主時鍾設備的響應。

圖 3. 測量從主通信延遲
DelayReq 消息在稍後的時間點 Tm3'''' 到達主時鍾設備,由主時 鍾設備軟件在時間點 Tm3 處理。然後,該軟件讀取時間戳以 獲取到達時間 Tm3'''' ,將其插入 DelayResp 消息中,並在時間 點 Tm4 發送至從時鍾設備。當從時鍾設備軟件在時間點 Ts4 收到 DelayResp 消息時,它可以提取時間 Tm3'''' ,並通過公式 2 計算從主通信延遲 Tsmd 。
公式 1 和公式 2 中均有一個未知變量,即主從時間差 Tms ,因 此無法單獨求得 Tmsd 或 Tsmd 。但是,如果我們合理地假設 通信路徑是對稱的,即
——這是IEEE 1588 成立的關鍵假設——那麼,將公式1 與公式 2 相加可以得出
由於從時鍾設備尋求與主時鍾設備同步,因此所有這些計算 均由這些設備執行。從時鍾設備從主時鍾設備的 Followup 消 息獲得 Tm1'''' ,從其 Rx (接收)時間戳獲得 Ts1'''' ,從其 Tx (發 送)時間戳獲得 Ts3'''' ,並通過主時鍾設備的 DelayResp 消息獲 得 Tm3''''.
如何計算從時鍾與主時鍾的時間差
一旦獲得通信路徑延遲 Td ,便可利用公式 1 或公式 2 輕鬆計 算從時鍾與主時鍾的時間差,如公式 5 和公式 6 所示
如何調整從時鍾設備的時間
知道與主時鍾的時間差之後,各從時鍾需要調整自己的本地時 間,與主時鍾保持一致。該任務包括兩方麵。第一,從時鍾設 備需要加上時間差以調整絕對時間,使其時間在此刻與主時鍾 時間完全一致。第二,從時鍾設備需要調整各自的時鍾頻率, 與主時鍾的頻率保持一致。我們不能單靠絕對時間,因為時間 差僅在一定期間內應用,可能是正值,也可能是負值;調整的 結果是從時鍾時間向前跳躍或向後倒退。因此,在實際操作 中,調整分兩步執行:
1. 如果時間差過大,例如
2. 如果時間差較小,則使從時鍾的頻率改變某一百分比.
一般而言,該係統會變成一個控製環路,其中主時鍾時間是參 考命令,而從時鍾時間是跟蹤主時鍾時間的輸出,二者之差驅 動可調整時鍾。可以使用 PID 控製來實現特定跟蹤性能,這 是許多 IEEE 1588 實施方案常用的方法。圖 4 顯示了這種控製環路.

圖 4. IEEE 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 的時間分辨率。 2 16 (!) GHz (甚至 1 GHz )的時鍾是不 現實的。本地時鍾的量化會影響本地時間測量和控製的精
5. Sync 消息的發送周期: 從時鍾的更新頻率最終會影響同步 精度。因為時間誤差是從時鍾頻率誤差的整體累積值,所 以發送周期越長,下一個 Sync 所觀察到的時間誤差一般會
6. 延遲測量的頻率: 以預期相鄰采樣點之間延遲沒有明顯變 化的間隔時間,定期執行延遲測量。如果 IEEE 1588 網絡 的延遲變化較大,則增加延遲測量頻率可以改善時鍾同步 性能。
哪個是主時鍾?
在考慮如何精確確 定主時鍾設備與從時鍾設備之間的時間差之 後,下一個相關問題是:在成百上千台互連設備中,如何確定 哪一台設備充當主時鍾。
IEEE 1588 定義了一種稱為"最佳主時鍾" (BMC) 算法的方 法,用於選擇主時鍾設備。這種方法要求 IEEE 1588 網絡的每 台設備均提供一個數據集,描述其本地時鍾的性質、質量、穩 定性、唯一識別符和首選設置。當一台設備加入 IEEE 1588 網 絡時,它會廣播其時鍾的數據集,並接收所有其它設備的數據 集。利用所有參與設備的數據集,每台設備均運行同一 BMC 算法,以確定主時鍾及其自己的未來狀態(主時鍾或從時 鍾)。由於所有設備均采用同樣的數據獨立執行同一算法,因 此結論將會相同,設備之間不需要進行任何協商。有關 BMC 算法的更多詳細信息,請看參考文獻 2 和 3 。
ADSP -BF51 8 處理器支持 IEEE 1588
ADI 公司 Black fi n DSP 係列最近新增一款產品: ADSP-BF518 處理器。像前款產品 ADSP-BF537,4 該處理器內置"以 太網媒體訪問控製器" (EMAC) 模塊。它還具有 TSYNC 模 塊,進一步擴展了支持 IEEE 1588 標準 EMAC 功能的能力; 還提供其它額外特性,可支持以太網的各種 IEEE 1588 應用。 圖 5 顯示了 TSYNC 模塊的框圖。 ADSP-BF51x Blackfin 處理 器硬件參考提供了更多信息5

圖 5. ADSP-BF518 處理器 TSYNC 模塊的框圖。
分組檢測
ADSP-BF518 處理器可以檢測 IEEE 1588 的所有事件消息,包 括送入和送出的分組,並為其提供硬件時間戳。因為事件消息 時間戳的精度及其提取位置會影響路徑延遲的對稱性和穩定 性要求,所以 IEEE 1588 係統的精度在很大程度上取決於這二 者。 ADSP-BF518 的 TSYNC 模塊持續監控 MAC 控製器與以 太網"物理接口收發器" (PHY) 之間的硬件接口,即"媒體獨 立接口" (MII) ,並且隻要檢測到事件消息,就會產生硬件時 間戳,這一功能可提高 ADSP-BF518 的同步精度。
事件消息檢測功能是可編程的,基本配置有兩種:支持 IEEE 1588-2002 (默認狀態)或支持 IEEE 1588-2008 。此外,這種 可編程能力還支持將來版本的 IEEE 1588 ,以及其它要求時間 戳的一般協議,包括配置為給進出處 理器的每個以太網分組加 上時間戳。
靈活的時鍾源
本地時鍾的屬性對於 IEEE 1588 係統的性能很重要。為了滿足 各種不同應用的要求, ADSP-BF518 處理器可提供三種本地時 鍾源選項:係統時鍾、外部時鍾或以太網時鍾。如果應用具有 特定時鍾要求,則可以選擇"外部時鍾",並提供定製時鍾 源。如果主時鍾設備與從時鍾設備"背靠背"連接,由於"以 太網時鍾"來自以太網線路,而且兩台設備采用同一時鍾工 作,因此該時鍾選項可以提供良好的精度。一般應用可以選擇 處理器的"係統時鍾"作為時鍾源。
所選源時鍾也由 TSYNC 模塊驅動,通過特定引腳 Clockout 作 為處理器輸出,係統的其它部分可利用該輸出提供本地時間信息。
PPS 輸出
"每秒脈衝" (PPS) 信號是時間信息的物理表示。它名義上是 一個 1-Hz 信號,在每個 1 秒轉換時間發出一個脈衝。它可用 來控製本地設備,或者在發生網絡故障時提供輔助時間通道。 它也可以 用於測試。兩台設備的 PPS 信號之間的相位差是二 者時間偏移的物理量度
ADSP-BF518 處理器提供靈活的 PPS 輸出。它利用可編程"開 始時間" (PPS_ST) 和周期 (PPS_P) 產生一個在時間 (PPS_ST + n × PPS_P) 發出脈衝的信號,其中 n = 1, 2, 3 ...。基本用法是 將 PPS_P 設置為 1 秒,並將 PPS_ST 設置為用秒數表示的將來 任一時刻,從而產生 PPS 信號。參考基本用法,可以利用這 種 PPS 輸出功能產生具有可編程頻率和開始時間的周期性信號。
輔助快照
一些應用可能需要按照標誌信號切換指示,給某一事件加上時 間戳。 ADSP-BF518 的 TSYNC 模塊通過輔助"快照" 功能, 使用一個專用引腳來接收外部標誌,以便實現這種請求。切換 標誌將觸發該模塊捕捉時間戳寄存器中的當前本地時間,供軟 件訪問。.
報警
如果應用需在特定時間執行一項任務,則可以用 TSYNC 模塊 的"報警"功能。這項功能可以設置本地絕對時間,到達該時 間時,就會觸發處理器中斷。然後,軟件便可利用中斷執行任 務。
可調時鍾
TSYNC 模塊的可調時鍾是一種"基於加數"的時鍾。如圖 6 所示,它獲得一個固定輸入時鍾信號,並輸出該輸入的"盜取 脈衝"版本信號:對於每個輸入時鍾,"加數"的值增加到累 加器中,並且每次累加器溢出時,進位位就會驅動"本地時間計數器",從而產生以脈衝計數值表示的本地時間。更改加數 可以調整本地時鍾的頻率,因為加數決定累加器溢出的頻率, 從而決定本地時間計數器遞增的頻率。如果輸入時鍾的頻率為 Fin,且加數的值為A,則本地時鍾頻率為:

圖 6. 基於加數的可調時鍾
采用ADSP-BF518 處理器的 IEEE 1588 實施方案
ADSP-BF518 處理器上構建了一個完整的 IEEE 1588-2008 兼容係統,如圖 7 所示。

圖7. 采用ADSP-BF518 的 IEEE 1588 實施方案
處理器的 TSYNC 模塊檢測送入和送出的 IEEE 1588 消息, 並通過硬件給事件消息加上時間戳。由 I X X AT ( I X X AT Automation GmbH) 提供的 IEEE 1588 協議棧軟件可實現標準 所要求的消息交換協議。它利用 TSYNC 驅動程序讀取、寫 入並調整 TSYNC 時鍾,並使用 MAC 控製器驅動程序在以太 網 MAC 層(開放係統互連模型的第二層)發送和接收消息。它還可實現 P2P 延遲測量的控製法則和過濾。以太網 PHY 選擇具有低抖動延遲特性的 National Semiconductor DP838486。為簡明起見,TSYNC 模塊時鍾源選擇處理器的係統時鍾 (80 MHz)。

圖 8. ADSP-BF518 上 IEEE 1588 係統的從時鍾誤差直方圖
圖 8 是兩個完全相同的 ADSP-BF518 IEEE 1588 係統之間的 測量誤差直方圖,由此可看出該器件的時鍾同步性能。在 約 1700 秒的時間內共進行了 6938 次測量。最終平均誤差為0.015 ns,標準差為 12.96 ns。該測試所用的 Sync 消息間隔為0.25 秒。
結論
IEEE 1588 標準提供了一種高精度、低成本的分布式時鍾同步 方法。雖然 IEEE 1588 並未明文要求硬件支持,但硬件輔助 消息檢測和時間戳對於實現極高同步精度至關重要。 ADSP- BF518 為 IEEE 1588-2002 和 IEEE 1588-2008 提供硬件支 持,包括各種應用的支持功能。利用 ADSP-BF518 處理器和 IXXAT IEEE 1588-2008 協議軟件實施 IEEE 1588 技術,已證 明可以實現高精度時鍾同步。
參考電路
1 ADSP-BF518 數據手冊。 http://www.analog.com/en/products/processors-dsp/blackfin/adsp-bf518.html.
2IEEE Std. 1588-2002. 網絡測量和控製係統的精密時鍾同步協 議 IEEE 標準。 http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1048550.
3IEEE Std. 1588-2008. 網絡測量和控製係統的精密時鍾同步協 議 IEEE 標準。http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4579760.
4ADSP-BF537 數據手冊。 http://www.analog.com/en/products/processors-dsp/blackfin/adsp-bf537.html.
5ADSP-BF51x Blackfin 處理器硬件參考,0.1 版(初始版)。 2009 年 1 月。 Analog Devices, Inc.http://www.analog.com/media/en/dsp-documentation/processor-manuals/ADSP-BF51x_hwr_rev1.2.pdf.
6AN-1507 :DP83848 和 DP83849 100Mb 數據延時。 2006. National Semiconductor Corporation. http://www.ti.com/lit/an/snla084b/snla084b.pdf.
推薦閱讀:
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 具身智能成最大亮點!CITE 2026開幕峰會釋放產業強信號
- 助力醫療器械產業高質量發展 派克漢尼汾閃耀2026 ICMD
- 比異步時鍾更隱蔽的“芯片殺手”——跨複位域(RDC)問題
- 數據之外:液冷技術背後的連接器創新
- “眼在手上”的嵌入式實踐:基於ROS2與RK3576的機械臂跟隨抓取方案
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索



