利用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可編程電源,賦能高端裝備製造
技術文章更多>>
- 貿澤EIT係列新一期,探索AI如何重塑日常科技與用戶體驗
- 算力爆發遇上電源革新,大聯大世平集團攜手晶豐明源線上研討會解鎖應用落地
- 創新不止,創芯不已:第六屆ICDIA創芯展8月南京盛大啟幕!
- AI時代,為什麼存儲基礎設施的可靠性決定數據中心的經濟效益
- 矽典微ONELAB開發係列:為毫米波算法開發者打造的全棧工具鏈
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
微波功率管
微波開關
微波連接器
微波器件
微波三極管
微波振蕩器
微電機
微調電容
微動開關
微蜂窩
位置傳感器
溫度保險絲
溫度傳感器
溫控開關
溫控可控矽
聞泰
穩壓電源
穩壓二極管
穩壓管
無焊端子
無線充電
無線監控
無源濾波器
五金工具
物聯網
顯示模塊
顯微鏡結構
線圈
線繞電位器
線繞電阻



