利用IEEE 1588和Blackfin嵌入式處理器實(shí)現(xiàn)設(shè)備時(shí)鐘同步
DelayReq消息在稍后的時(shí)間點(diǎn)Tm3'到達(dá)主時(shí)鐘設(shè)備,由主時(shí)鐘設(shè)備軟件在時(shí)間點(diǎn)Tm3處理。然后,該軟件讀取時(shí)間戳以獲取到達(dá)時(shí)間Tm3',將其插入DelayResp消息中,并在時(shí)間點(diǎn)Tm4發(fā)送至從時(shí)鐘設(shè)備。當(dāng)從時(shí)鐘設(shè)備軟件在時(shí)間點(diǎn)Ts4收到DelayResp消息時(shí),它可以提取時(shí)間Tm3',并通過(guò)公式2計(jì)算從主通信延遲Tsmd。
(2)
公式1和公式2中均有一個(gè)未知變量,即主從時(shí)間差Tms,因此無(wú)法單獨(dú)求得Tmsd或Tsmd。但是,如果我們合理地假設(shè)通信路徑是對(duì)稱的,即
(3)
——這是IEEE 1588成立的關(guān)鍵假設(shè)——那么,將公式1與公式2相加可以得出:
(4)
由于從時(shí)鐘設(shè)備尋求與主時(shí)鐘設(shè)備同步,因此所有這些計(jì)算均由這些設(shè)備執(zhí)行。從時(shí)鐘設(shè)備從主時(shí)鐘設(shè)備的Followup消息獲得Tm1',從其Rx(接收)時(shí)間戳獲得Ts1',從其Tx(發(fā)送)時(shí)間戳獲得Ts3',并通過(guò)主時(shí)鐘設(shè)備的DelayResp消息獲得Tm3'。
如何計(jì)算從時(shí)鐘與主時(shí)鐘的時(shí)間差
一旦獲得通信路徑延遲Td,便可利用公式1或公式2輕松計(jì)算從時(shí)鐘與主時(shí)鐘的時(shí)間差,如公式5和公式6所示。
(5)
(6)
如何調(diào)整從時(shí)鐘設(shè)備的時(shí)間
知道與主時(shí)鐘的時(shí)間差之后,各從時(shí)鐘需要調(diào)整自己的本地時(shí)間,與主時(shí)鐘保持一致。該任務(wù)包括兩方面。第一,從時(shí)鐘設(shè)備需要加上時(shí)間差以調(diào)整絕對(duì)時(shí)間,使其時(shí)間在此刻與主時(shí)鐘時(shí)間完全一致。第二,從時(shí)鐘設(shè)備需要調(diào)整各自的時(shí)鐘頻率,與主時(shí)鐘的頻率保持一致。我們不能單靠絕對(duì)時(shí)間,因?yàn)闀r(shí)間差僅在一定期間內(nèi)應(yīng)用,可能是正值,也可能是負(fù)值;調(diào)整的結(jié)果是從時(shí)鐘時(shí)間向前跳躍或向后倒退。因此,在實(shí)際操作中,調(diào)整分兩步執(zhí)行:
1.如果時(shí)間差過(guò)大,例如1秒以上,則應(yīng)用絕對(duì)時(shí)間調(diào)整。
2.I如果時(shí)間差較小,則使從時(shí)鐘的頻率改變某一百分比。
一般而言,該系統(tǒng)會(huì)變成一個(gè)控制環(huán)路,其中主時(shí)鐘時(shí)間是參考命令,而從時(shí)鐘時(shí)間是跟蹤主時(shí)鐘時(shí)間的輸出,二者之差驅(qū)動(dòng)可調(diào)整時(shí)鐘??梢允褂肞ID控制來(lái)實(shí)現(xiàn)特定跟蹤性能,這是許多IEEE 1588實(shí)施方案常用的方法。圖4顯示了這種控制環(huán)路。
圖4. IEEE 1588控制環(huán)路
點(diǎn)對(duì)點(diǎn)延遲
修訂版IEEE 1588-2008引入了新的機(jī)制來(lái)測(cè)量路徑延遲,稱為“點(diǎn)對(duì)點(diǎn)”(P2P)延遲。與之相比,上文討論的主從機(jī)制則是“端對(duì)端”(E2E)延遲。在支持IEEE 1588-2008的網(wǎng)絡(luò)中,主時(shí)鐘設(shè)備可以與從時(shí)鐘設(shè)備直接相連,或者隔幾個(gè)中繼站(級(jí))相連。E2E延遲實(shí)際上是主時(shí)鐘設(shè)備到從時(shí)鐘設(shè)備的“總”延遲,包括其間的所有中繼站在內(nèi)。但是,P2P延遲則僅限于兩個(gè)直接相連的設(shè)備。通信路徑的總延遲等于所有中繼站的P2P延遲之和。從確保路徑對(duì)稱性的角度看,P2P機(jī)制可提供更高的精度。
如上文所述,IEEE 1588-2008新增了PdelayReq、PdelayResp和PdelayRespFollowup三種消息來(lái)測(cè)量P2P延遲。這些消息的工作方式與上文所述方式相似,詳情請(qǐng)看參考文獻(xiàn)3。
影響同步性能的因素
精心設(shè)計(jì)的IEEE 1588設(shè)備能夠實(shí)現(xiàn)高度精確的時(shí)鐘同步,但也必須了解直接影響同步性能的主要因素,其中包括:
1.路徑延遲:如上文所述,IEEE 1588的路徑延遲測(cè)量假設(shè)通信路徑延遲是對(duì)稱的,即前向路徑的傳輸延遲與后向傳輸延遲相同。此外,在延遲測(cè)量期間,延遲不應(yīng)變化。測(cè)量期間延遲變化會(huì)導(dǎo)致不對(duì)稱和延遲抖動(dòng),這將直接影響同步精度。雖然無(wú)法在IEEE 1588設(shè)備的邊界之外控制延遲對(duì)稱性和抖動(dòng),但如果測(cè)量基于硬件時(shí)間戳,則可在設(shè)備內(nèi)改善路徑對(duì)稱性和抖動(dòng)。由于中斷延時(shí)、環(huán)境切換和線程調(diào)度,軟件時(shí)間戳?xí)?dǎo)致明顯的抖動(dòng),而硬件時(shí)間戳則不存在這一問(wèn)題。
2.時(shí)鐘的漂移和抖動(dòng)特性:主時(shí)鐘的頻率和相位代表跟蹤控制系統(tǒng)的輸入,從時(shí)鐘則是控制對(duì)象。主時(shí)鐘的任何時(shí)變行為都會(huì)擾動(dòng)該控制系統(tǒng),導(dǎo)致穩(wěn)態(tài)和瞬態(tài)兩種誤差。因此,時(shí)鐘的漂移和抖動(dòng)越低,則同步精度越高。
3.控制法則:從時(shí)鐘調(diào)整如何校正從時(shí)鐘設(shè)備的時(shí)間誤差取決于控制方法??刂品▌t參數(shù)包括建立時(shí)間、過(guò)沖和穩(wěn)態(tài)誤差,都將直接影響時(shí)鐘同步性能。
4.時(shí)鐘分辨率:如圖1所示,本地時(shí)間的分辨率由時(shí)鐘頻率決定;最小時(shí)間增量為時(shí)鐘信號(hào)的一個(gè)周期。IEEE 1588-2002支持1 ns的時(shí)間分辨率,IEEE 1588-2008則支持2–16 ns的時(shí)間分辨率。216 (!) GHz(甚至1 GHz)的時(shí)鐘是不現(xiàn)實(shí)的。本地時(shí)鐘的量化會(huì)影響本地時(shí)間測(cè)量和控制的精度。
5.Sync消息的發(fā)送周期:從時(shí)鐘的更新頻率最終會(huì)影響同步精度。因?yàn)闀r(shí)間誤差是從時(shí)鐘頻率誤差的整體累積值,所以發(fā)送周期越長(zhǎng),下一個(gè)Sync所觀察到的時(shí)間誤差一般會(huì)越大。
6.延遲測(cè)量的頻率:以預(yù)期相鄰采樣點(diǎn)之間延遲沒(méi)有明顯變化的間隔時(shí)間,定期執(zhí)行延遲測(cè)量。如果IEEE 1588網(wǎng)絡(luò)的延遲變化較大,則增加延遲測(cè)量頻率可以改善時(shí)鐘同步性能。
哪個(gè)是主時(shí)鐘?
在考慮如何精確確定主時(shí)鐘設(shè)備與從時(shí)鐘設(shè)備之間的時(shí)間差之后,下一個(gè)相關(guān)問(wèn)題是:在成百上千臺(tái)互連設(shè)備中,如何確定哪一臺(tái)設(shè)備充當(dāng)主時(shí)鐘。
IEEE 1588定義了一種稱為“最佳主時(shí)鐘”(BMC)算法的方法,用于選擇主時(shí)鐘設(shè)備。這種方法要求IEEE 1588網(wǎng)絡(luò)的每臺(tái)設(shè)備均提供一個(gè)數(shù)據(jù)集,描述其本地時(shí)鐘的性質(zhì)、質(zhì)量、穩(wěn)定性、唯一識(shí)別符和首選設(shè)置。當(dāng)一臺(tái)設(shè)備加入IEEE 1588網(wǎng)絡(luò)時(shí),它會(huì)廣播其時(shí)鐘的數(shù)據(jù)集,并接收所有其它設(shè)備的數(shù)據(jù)集。利用所有參與設(shè)備的數(shù)據(jù)集,每臺(tái)設(shè)備均運(yùn)行同一BMC算法,以確定主時(shí)鐘及其自己的未來(lái)狀態(tài)(主時(shí)鐘或從時(shí)鐘)。由于所有設(shè)備均采用同樣的數(shù)據(jù)獨(dú)立執(zhí)行同一算法,因此結(jié)論將會(huì)相同,設(shè)備之間不需要進(jìn)行任何協(xié)商。有關(guān)BMC算法的更多詳細(xì)信息,請(qǐng)看參考文獻(xiàn)2和3。
ADSP-BF518處理器支持IEEE 1588
ADI公司Blackfin DSP系列最近新增一款產(chǎn)品:ADSP-BF518處理器。像前款產(chǎn)品ADSP-BF537,4一樣,該處理器內(nèi)置“以太網(wǎng)媒體訪問(wèn)控制器”(EMAC)模塊。它還具有TSYNC模塊,進(jìn)一步擴(kuò)展了支持IEEE 1588標(biāo)準(zhǔn)EMAC功能的能力;還提供其它額外特性,可支持以太網(wǎng)的各種IEEE 1588應(yīng)用。圖5顯示了TSYNC模塊的框圖。 ADSP-BF51x Blackfin處理器硬件參考提供了更多信息。
圖5. ADSP-BF518處理器TSYNC模塊的框圖
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論