FPGA的時(shí)鐘頻率同步原理研究與設(shè)計(jì)實(shí)現(xiàn)
3 頻率補(bǔ)償算法在FPGA中的實(shí)現(xiàn)
由式(4)和式(10)可得:
頻率補(bǔ)償就是在每個(gè)同步周期計(jì)算FreqCompValuen,FPGA提供了參數(shù)化的乘法器兆函數(shù)(1pm_mult)和除法器兆函數(shù)(1pm_divide),可以快速實(shí)現(xiàn)上述算法。原理如圖3所示,在每個(gè)同步周期同步信號(hào)的驅(qū)使下,鎖存器B和C分別鎖存當(dāng)前時(shí)鐘讀數(shù)和上個(gè)同步周期時(shí)鐘讀數(shù),同時(shí)將主時(shí)鐘讀數(shù)輸入到加法器A中,經(jīng)過(guò)減法器E、F和乘法器G,以及除法器H后計(jì)算出新的FreqCompValuen,并在同步信號(hào)的驅(qū)動(dòng)下,將其鎖存到鎖存器D中。由于中間的計(jì)算結(jié)果要經(jīng)過(guò)一定的時(shí)鐘周期,所以鎖存器D的鎖存信號(hào)要延時(shí)一定的晶振周期。在本設(shè)計(jì)中延時(shí)50個(gè)FreqOsc,即在1μs的情況下就可以得到新的頻率補(bǔ)償值。
同步報(bào)文的傳輸延遲SyncDelay理論上是不變的,而實(shí)際上報(bào)文在傳輸過(guò)程中有抖動(dòng)。參考文獻(xiàn)[3]對(duì)此進(jìn)行了分析,并指出同步周期越長(zhǎng),報(bào)文傳輸延遲抖動(dòng)的影響就越小,因此可以忽略不計(jì)。
4 實(shí)驗(yàn)驗(yàn)證
主時(shí)鐘采用50 MHz的有源晶振來(lái)實(shí)現(xiàn),并將其作為固定時(shí)鐘;從時(shí)鐘采用30 MHz有源晶振,通過(guò)FPGA的鎖相環(huán)PLL將其頻率倍頻到60 MHz,然后1.2分頻,實(shí)現(xiàn)可調(diào)頻率的50 MHz時(shí)鐘。
讓主時(shí)鐘和從時(shí)鐘以一定的時(shí)間間隔產(chǎn)生中斷,并通過(guò)邏輯分析儀采樣中斷信號(hào)分析其偏差。由于系統(tǒng)時(shí)鐘的分辨率為20 ns,采用廣州致遠(yuǎn)電子有限公司的邏輯分析儀LA1532,其最大采樣頻率為100 MHz,所以偏差測(cè)量精度可以達(dá)到10 ns。圖4(a)是未進(jìn)行同步前兩個(gè)時(shí)鐘的偏差分析,X軸表示主時(shí)鐘和從時(shí)鐘的計(jì)時(shí)長(zhǎng)度,Y軸表示主時(shí)鐘和從時(shí)鐘的計(jì)時(shí)偏差。從圖中可以看出兩個(gè)時(shí)鐘的偏差大概為5×10-6,即1 s內(nèi)的偏差可以達(dá)到5μs。圖4(b)為同步后主時(shí)鐘和從時(shí)鐘偏差測(cè)量結(jié)果,共測(cè)量1 000次,其10 ms內(nèi)同步偏差在±20 ns。X軸表示測(cè)量時(shí)間,Y軸表示主從時(shí)鐘同步偏差。圖4(c)為同步后兩個(gè)從時(shí)鐘偏差測(cè)量結(jié)果,共測(cè)量1 000次,其10 ms內(nèi)同步偏差在±40 ns。X軸表示測(cè)量時(shí)間,Y軸表示從時(shí)鐘之間同步偏差。
結(jié) 語(yǔ)
基于時(shí)鐘頻率調(diào)整的時(shí)間同步方法,實(shí)現(xiàn)簡(jiǎn)單,而且沒有復(fù)雜的軟件同步協(xié)議,占用較小的網(wǎng)絡(luò)帶寬就可以實(shí)現(xiàn)高精度的時(shí)鐘同步,在硬件上只需要低成本的FPGA支持。
評(píng)論