<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

作者: 時(shí)間:2011-01-05 來(lái)源:網(wǎng)絡(luò ) 收藏

簡(jiǎn)介

本文引用地址:http://dyxdggzs.com/article/151125.htm

1588標準誕生于2002年,主要定義網(wǎng)絡(luò )分布式協(xié)議。測試與測量、電信和多媒體流處理等許多不同應用,都開(kāi)始首選這種方法。這種標準化法成本效益高,支持異構系統,并可提供納秒級同步精度。

本文介紹原版 1588-2002標準以及更新版本 1588-2008中的改進(jìn)內容。由于IEEE 1588在一些目標應用中越來(lái)越重要,因此ADSP-BF518 中也集成專(zhuān)用硬件來(lái)支持IEEE 1588。本文將概要介紹其功能,并通過(guò)一個(gè)示例來(lái)展示ADSP-BF518解決方案獲得的時(shí)鐘同步性能結果。

現在幾點(diǎn)了?

大多數系統都需要本振來(lái)維護自己的時(shí)間概念。圖1顯示硬件和軟件如何組合,在系統內產(chǎn)生時(shí)間信息。

本地計時(shí)

圖1. 本地計時(shí)

系統內的硬件和軟件資源均可使用此時(shí)間信息。對于硬件,振蕩器時(shí)鐘會(huì )產(chǎn)生一個(gè)或多個(gè)物理時(shí)鐘信號(時(shí)鐘輸出),并可這些時(shí)鐘信號驅動(dòng)或觸發(fā)系統的其它部分。軟件中維護的時(shí)間通常稱(chēng)為“系統時(shí)間”。系統時(shí)間可以用時(shí)鐘脈沖數或秒/納秒的形式表示。系統軟件利用振蕩器時(shí)鐘脈沖數及其頻率信息得出時(shí)間,并提供“應用程序編程接口”(API)函數,軟件的其它部分可以使用這些函數檢索并設置時(shí)間。如果需要絕對時(shí)間,則所提供的時(shí)間將與預定義時(shí)間點(diǎn),即基準時(shí)間點(diǎn)相關(guān)聯(lián)。

時(shí)鐘同步

許多應用要求兩臺獨立的以同步方式工作。如果每臺僅依靠自己的振蕩器,則各振蕩器的特性與工作條件差異將會(huì )限制時(shí)鐘同步工作的能力。一些簡(jiǎn)單可行的解決方案可以克服這些限制,包括:

●所有共用一個(gè)物理振蕩器。這種方法僅對距離很近的分布式系統可行;高頻時(shí)鐘信號無(wú)法長(cháng)距離可靠傳輸。

●所有設備均使用特性幾乎完全相同的振蕩器。由于很難獲得幾乎完全一樣的振蕩器,并確保性能不隨時(shí)間飄移,因此這種方法不可行。更重要的是,各振蕩器的工作條件并不相同。

●如果所有設備均通過(guò)一個(gè)通信網(wǎng)絡(luò )(例如以太網(wǎng))互連,則這些設備可以通過(guò)網(wǎng)絡(luò )交換時(shí)間消息,根據單個(gè)“主”時(shí)鐘動(dòng)態(tài)調整各自的時(shí)鐘。利用傳統的時(shí)間同步協(xié)議——“網(wǎng)絡(luò )時(shí)間協(xié)議”(NTP),系統中的每臺設備根據它從NTP時(shí)間服務(wù)器獲取的時(shí)間信息調整其時(shí)鐘。然而,該協(xié)議只能毫秒級同步精度。

IEEE 1588定義了一個(gè)新協(xié)議,能夠納秒級同步精度。下面討論該標準如何實(shí)現這種水平的時(shí)鐘同步。

IEEE 1588有何作用

IEEE 1588標準定義了一種時(shí)間同步協(xié)議,適用于地理位置分散但通過(guò)某種通信技術(shù)(例如以太網(wǎng))互連的設備。設備之間通過(guò)交換時(shí)序消息,從而保持相同的絕對系統時(shí)間(用秒和納秒表示)。

要實(shí)現此目標,一個(gè)直觀(guān)的方法是將一臺具有“最佳”(最精確)時(shí)鐘的設備指定為“主時(shí)鐘”設備,讓它向其它設備廣播其時(shí)間。其它設備將會(huì )調整各自的時(shí)間,與主時(shí)鐘所發(fā)送的時(shí)間保持一致。不過(guò),這種解決方案也有幾點(diǎn)不足:

主時(shí)鐘設備無(wú)法以極短的間隔廣播時(shí)間,因此“從”時(shí)鐘設備必須使用自己獨立的“低劣”振蕩器,在主時(shí)鐘設備的兩次廣播之間插入時(shí)間點(diǎn)。這將導致主時(shí)鐘更新周期之間的同步精度下降。

廣播路徑難免存在延遲,延遲幅度取決于通信技術(shù),例如物理信號沿導線(xiàn)從一臺設備傳輸至另一臺設備所需的時(shí)間。這種延遲會(huì )進(jìn)一步擴大主時(shí)鐘與各從時(shí)鐘之間的失調。

主時(shí)鐘設備與各從時(shí)鐘設備之間的廣播路徑存在差異,這會(huì )進(jìn)一步降低各從時(shí)鐘設備之間的同步精度。

IEEE 1588要求通過(guò)測量路徑延遲,解決第二個(gè)和第三個(gè)問(wèn)題。它還要求待調整的從時(shí)鐘與主時(shí)鐘保持步調一致,從而減輕第一個(gè)問(wèn)題。如果可能,使用更小的廣播間隔和更高質(zhì)量的振蕩器,可以進(jìn)一步減輕第一個(gè)問(wèn)題。

IEEE 1588如何測量通信延遲

IEEE 1588-2002定義了四種消息Sync、Followup、DelayReq和DelayResp,用來(lái)測量前向(主時(shí)鐘至從時(shí)鐘)和后向(從時(shí)鐘至主時(shí)鐘)路徑的通信延遲。更新版本IEEE 1588-2008還提供其它機制,新增三種消息:PdelayReq、PdelayResp和 PdelayRespFollowup來(lái)測量“點(diǎn)對點(diǎn)延遲”。

這些消息中,Sync、DelayReq、PdelayReq和PdelayResp是所謂“事件”消息,在離開(kāi)和到達一臺設備時(shí)必須加上“時(shí)間戳”(記錄本地時(shí)間)。給分組加上時(shí)間戳的方法有兩種:

1.消息由軟件處理時(shí)出現軟件時(shí)間戳。通常出現在消息的接收/發(fā)送“中斷服務(wù)程序”(ISR)中,該時(shí)間戳為系統時(shí)間的當前值。

2.消息實(shí)際到達或離開(kāi)設備時(shí)出現硬件時(shí)間戳。該時(shí)間戳操作由硬件執行,硬件會(huì )維護自己的連續時(shí)間信息。

兩種時(shí)間戳方法均為IEEE 1588所接受,但硬件時(shí)間戳的精度明顯更高,如下文所述。

主時(shí)鐘設備到從時(shí)鐘設備的延遲

消息Sync和Followup由主時(shí)鐘設備發(fā)送,從時(shí)鐘設備負責接收這些消息,并計算主時(shí)鐘設備到從時(shí)鐘設備的通信路徑延遲。

圖2中,在時(shí)間點(diǎn)Tm1,主時(shí)鐘設備軟件讀取當前本地系統時(shí)間(Tm1,軟件時(shí)間戳),將其插入Sync消息中,并送出該消息。該消息在稍后的時(shí)間點(diǎn)Tm1'離開(kāi)主時(shí)鐘設備,該時(shí)間點(diǎn)為硬件時(shí)間戳。該消息在時(shí)間點(diǎn)Ts1'(從時(shí)鐘設備本地時(shí)間)到達從時(shí)鐘硬件,從時(shí)鐘設備軟件在稍后的時(shí)間點(diǎn)Ts1收到該消息。該軟件將讀取硬件時(shí)間戳以獲得Ts1'。如果沒(méi)有通信延遲,Ts1'應等于(Tm1' + Tms),其中Tms為主時(shí)鐘與從時(shí)鐘之間的時(shí)間差。該協(xié)議的最終目標是補償此時(shí)間差。

測量主時(shí)鐘設備與從時(shí)鐘設備之間的通信延遲

 圖2. 測量主時(shí)鐘設備與從時(shí)鐘設備之間的通信延遲

發(fā)送Sync消息之后,主時(shí)鐘設備軟件通過(guò)時(shí)間戳單元讀取Sync消息的離開(kāi)時(shí)間Tm1',將其插入Followup消息中,然后在時(shí)間點(diǎn)Tm2發(fā)送該消息。從時(shí)鐘設備軟件在時(shí)間點(diǎn)Ts2收到此消息。此時(shí),從時(shí)鐘設備軟件有兩個(gè)時(shí)間:Ts1'(Sync到達時(shí)間)和Tm1'(Sync離開(kāi)時(shí)間)。主從路徑延遲Tmsd由公式1確定。

(1)

從時(shí)鐘設備到主時(shí)鐘設備的延遲

從時(shí)鐘設備發(fā)送DelayReq消息,主時(shí)鐘設備予以響應發(fā)送DelayResp消息。利用這些消息,從時(shí)鐘設備可以計算從時(shí)鐘設備到主時(shí)鐘設備的通信路徑延遲。

在時(shí)間點(diǎn)Ts3(圖3),從時(shí)鐘設備軟件讀取當前本地系統時(shí)間(Ts3),將其插入DelayReq消息中,并送出該消息。

 測量從主通信延遲

圖3. 測量從主通信延遲

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

上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>