新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于IEEE 1588的時(shí)鐘同步技術(shù)在分布式系統(tǒng)中的應(yīng)用

基于IEEE 1588的時(shí)鐘同步技術(shù)在分布式系統(tǒng)中的應(yīng)用

作者: 時(shí)間:2010-08-11 來源:網(wǎng)絡(luò) 收藏


3影響精度的因素

(1)網(wǎng)絡(luò)對稱性從圖1看出,為計(jì)算其網(wǎng)絡(luò)延遲和偏移所進(jìn)行的4次測量都是建立在報(bào)文的傳輸延遲(Delay)在傳輸方向上是相同的基礎(chǔ)上。但這只是理想的情況,在大網(wǎng)絡(luò)負(fù)載的情況下,Delay在傳輸方向上的差異會越來越大。造成精度的下降。但由于工業(yè)上的多為相對本地化、局域網(wǎng)的,子網(wǎng)或內(nèi)部組件相對穩(wěn)定的環(huán)境,因此可忽略Delay在傳輸方向上的差異。

(2)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)系統(tǒng)測量時(shí),點(diǎn)對點(diǎn)的傳輸能提供最高的精度,網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)也會對精度造成影響,當(dāng)采用Hub連接時(shí),網(wǎng)絡(luò)延遲抖動為300~400 ns,當(dāng)采用交換機(jī)時(shí),由于存儲-轉(zhuǎn)發(fā)機(jī)制的影響,網(wǎng)絡(luò)延遲會隨著網(wǎng)絡(luò)負(fù)載的變化而變化,因此具有較大的抖動值,使得上述網(wǎng)絡(luò)傳輸延遲測量方法精度大大降低。為此,PTP采用邊界(Bounday Clock)的方法解決這一問題,如圖2所示。在交換機(jī)內(nèi)部與主連接的端口可以看成從時(shí)鐘端口,在接收主時(shí)鐘發(fā)送的同步報(bào)文后調(diào)整自己的本地時(shí)鐘,然后用調(diào)整后的時(shí)鐘去同步所有與交換機(jī)主時(shí)鐘連接的從時(shí)鐘設(shè)備,這樣帶有拓?fù)浣Y(jié)構(gòu)的連接就變成簡單的點(diǎn)對點(diǎn)連接,從而有效去除交換機(jī)所造成的延遲抖動。



(3)晶振的頻率由于產(chǎn)生時(shí)鐘的不同晶體本身的速度是不同的,而且晶體容易受溫度等影響,產(chǎn)生晶振漂移,引起誤差增大,因此需時(shí)從時(shí)鐘的晶振頻率進(jìn)行補(bǔ)償。使從時(shí)鐘的晶振頻率與主時(shí)鐘保持一致。

4 時(shí)間戳的生成

以上方法,可有效消除主、從時(shí)鐘偏差和報(bào)文在網(wǎng)絡(luò)中的傳輸延遲,從而實(shí)現(xiàn)系統(tǒng)的時(shí)鐘同步。同步信息檢測和時(shí)間戳生成方法不同,時(shí)鐘同步精度也不一樣,802.3中規(guī)定以太網(wǎng)幀的基本結(jié)構(gòu):前導(dǎo)碼、幀起始定界符、目的MAC、源MAC、長度、數(shù)據(jù)和幀校驗(yàn)序列。其中,前導(dǎo)碼由7個(gè)‘1 0’交替的8位字節(jié)組成,用于信號同步;而幀起始定界符包含6位交替的‘1 0’及末位的2個(gè)1,末位的2個(gè)1通知接收端,跟在后面的是幀的實(shí)際字段,表示一幀開始。在以太網(wǎng)中, 1588所定義的各種時(shí)鐘報(bào)文(Sync報(bào)文等)均以UDP/IP多播包形式發(fā)送的,報(bào)文的時(shí)標(biāo)生成點(diǎn)位于幀起始定界符最后一位,如圖3所示。


1588的同步原理決定了時(shí)鐘同步的精度主要取決于時(shí)間戳的精度。時(shí)間戳的加蓋有3種方法:

(1)硬件加蓋方式 時(shí)間戳主要加蓋在MAC層和PHY層之間的MII(media independent interface)層,這也是最精確的加蓋方式,需用硬件電路實(shí)現(xiàn)。

(2)軟件加蓋方式 時(shí)間戳加蓋在網(wǎng)絡(luò)的驅(qū)動層,在網(wǎng)絡(luò)接口的驅(qū)動程序中實(shí)現(xiàn),精度略低。

(3)加蓋在層 因?yàn)檫@種方式無需修改其他系統(tǒng)軟件,所以協(xié)議棧的操作延遲和負(fù)載都能對同步精度造成影響,因此同步精度最低。無論在網(wǎng)絡(luò)驅(qū)動層還是在MII產(chǎn)生的時(shí)間戳都必須返回到PTP層并經(jīng)由系統(tǒng)內(nèi)核處理,然后才發(fā)送到PTP終端,由此可以看出時(shí)間戳的生成決定了PTP協(xié)議的運(yùn)行。只有獲得精確的時(shí)間戳才能發(fā)揮IEEE 1588所能達(dá)到的時(shí)鐘同步精度。

以太網(wǎng)自身的CSMMCD機(jī)制、上一層通信(如TCP及UDP)上進(jìn)行的誤差檢測及翻譯障礙等,都占用以太網(wǎng)的時(shí)間。因此,用軟件方式產(chǎn)生時(shí)間戳,必須優(yōu)化加蓋時(shí)間戳的驅(qū)動程序以提高系統(tǒng)內(nèi)核處理帶有時(shí)間戳報(bào)文的運(yùn)算效率,同時(shí)優(yōu)化報(bào)文發(fā)送前在網(wǎng)卡內(nèi)部的排序,減小程序運(yùn)行和網(wǎng)絡(luò)負(fù)載對收發(fā)報(bào)文的影響,從而降低報(bào)文發(fā)送過程中的軟件延遲和抖動。

在以太網(wǎng)中,也可以在物理層放置硬件電路加蓋時(shí)間戳,這樣可以避免協(xié)議棧上部較大的時(shí)間抖動,消除報(bào)文傳輸中的網(wǎng)絡(luò)延遲。由于主從時(shí)鐘不同步的原因除了網(wǎng)絡(luò)延遲外還有時(shí)鐘偏差,可以采用頻率可調(diào)時(shí)鐘來校正從時(shí)鐘相對主時(shí)鐘的時(shí)鐘偏差,根據(jù)從時(shí)鐘處得出的自身與主時(shí)鐘的偏差計(jì)算出相應(yīng)的頻率補(bǔ)償值,從而控制時(shí)鐘計(jì)數(shù)器的數(shù)值達(dá)到與主時(shí)鐘的同步。硬件電路從物理層獲得每個(gè)發(fā)送和接收報(bào)文的比特流,并記錄時(shí)間戳信息,判斷其是否為IEEE 1588相關(guān)協(xié)議報(bào)文,如果是相關(guān)報(bào)文,則把時(shí)間戳信息傳送給上層軟件,否則丟棄該報(bào)文的時(shí)間戳信息。對于100 M以太網(wǎng),由于采用4B/SB編碼和Scrambler,只能在物理層與數(shù)據(jù)鏈路層之間的MII層加蓋時(shí)間戳信息。IEEE 1588時(shí)鐘同步實(shí)現(xiàn)過程如圖4所示。


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉