<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > FPGA的時鐘頻率同步原理研究與設(shè)計實現(xiàn)

          FPGA的時鐘頻率同步原理研究與設(shè)計實現(xiàn)

          作者: 時間:2010-01-04 來源:網(wǎng)絡(luò) 收藏

            3 頻率補(bǔ)償算法在中的實現(xiàn)

            由式(4)和式(10)可得:

          公式

            頻率補(bǔ)償就是在每個同步周期計算FreqCompValuen,提供了參數(shù)化的乘法器兆函數(shù)(1pm_mult)和除法器兆函數(shù)(1pm_divide),可以快速實現(xiàn)上述算法。原理如圖3所示,在每個同步周期同步信號的驅(qū)使下,鎖存器B和C分別鎖存當(dāng)前時鐘讀數(shù)和上個同步周期時鐘讀數(shù),同時將主時鐘讀數(shù)輸入到加法器A中,經(jīng)過減法器E、F和乘法器G,以及除法器H后計算出新的FreqCompValuen,并在同步信號的驅(qū)動下,將其鎖存到鎖存器D中。由于中間的計算結(jié)果要經(jīng)過一定的時鐘周期,所以鎖存器D的鎖存信號要延時一定的晶振周期。在本設(shè)計中延時50個FreqOsc,即在1μs的情況下就可以得到新的頻率補(bǔ)償值。

          頻率補(bǔ)償算法在FPGA中的實現(xiàn)

            同步報文的傳輸延遲SyncDelay理論上是不變的,而實際上報文在傳輸過程中有抖動。參考文獻(xiàn)[3]對此進(jìn)行了分析,并指出同步周期越長,報文傳輸延遲抖動的影響就越小,因此可以忽略不計。

            4 實驗驗證

            主時鐘采用50 MHz的有源晶振來實現(xiàn),并將其作為固定時鐘;從時鐘采用30 MHz有源晶振,通過的鎖相環(huán)PLL將其頻率倍頻到60 MHz,然后1.2分頻,實現(xiàn)可調(diào)頻率的50 MHz時鐘。

            讓主時鐘和從時鐘以一定的時間間隔產(chǎn)生中斷,并通過邏輯分析儀采樣中斷信號分析其偏差。由于系統(tǒng)時鐘的分辨率為20 ns,采用廣州致遠(yuǎn)電子有限公司的邏輯分析儀LA1532,其最大采樣頻率為100 MHz,所以偏差測量精度可以達(dá)到10 ns。圖4(a)是未進(jìn)行同步前兩個時鐘的偏差分析,X軸表示主時鐘和從時鐘的計時長度,Y軸表示主時鐘和從時鐘的計時偏差。從圖中可以看出兩個時鐘的偏差大概為5×10-6,即1 s內(nèi)的偏差可以達(dá)到5μs。圖4(b)為同步后主時鐘和從時鐘偏差測量結(jié)果,共測量1 000次,其10 ms內(nèi)同步偏差在±20 ns。X軸表示測量時間,Y軸表示主從時鐘同步偏差。圖4(c)為同步后兩個從時鐘偏差測量結(jié)果,共測量1 000次,其10 ms內(nèi)同步偏差在±40 ns。X軸表示測量時間,Y軸表示從時鐘之間同步偏差。

          時鐘同步精度測試

            結(jié) 語

            基于時鐘頻率調(diào)整的時間同步方法,實現(xiàn)簡單,而且沒有復(fù)雜的軟件同步協(xié)議,占用較小的網(wǎng)絡(luò)帶寬就可以實現(xiàn)高精度的時鐘同步,在硬件上只需要低成本的FPGA支持。


          上一頁 1 2 下一頁

          關(guān)鍵詞: FPGA 時鐘頻率同步

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();