FPGA的時(shí)鐘頻率同步設計

發(fā)布時(shí)間:2010-3-11 15:23    發(fā)布者:諸葛孔明
關(guān)鍵詞: FPGA , 頻率 , 設計 , 時(shí)鐘
引言
  
網(wǎng)絡(luò )化運動(dòng)控制是未來(lái)運動(dòng)控制的發(fā)展趨勢,隨著(zhù)高速加工技術(shù)的發(fā)展,對網(wǎng)絡(luò )節點(diǎn)間的時(shí)間同步精度提出了更高的要求。如造紙機械,運行速度為1 500~1 800 m/min,同步運行的電機之間1 μs的時(shí)間同步誤差將造成30 μm的運動(dòng)誤差。高速加工中心中加工速度為120 m/min時(shí),伺服電機之間1 μs的時(shí)間同步誤差,將造成2 μm的加工誤差,影響了加工精度的提高[1]。
  
分布式網(wǎng)絡(luò )中節點(diǎn)的時(shí)鐘通常是采用晶振+計數器的方式來(lái)實(shí)現,由于晶振本身的精度以及穩定性問(wèn)題,造成了時(shí)間運行的誤差。時(shí)鐘同步通常是選定一個(gè)節點(diǎn)時(shí)鐘作為主時(shí)鐘,其他節點(diǎn)時(shí)鐘作為從時(shí)鐘。主節點(diǎn)周期性地通過(guò)報文將主時(shí)鐘時(shí)間發(fā)送給從節點(diǎn),從節點(diǎn)接收到報文后,以主時(shí)鐘為基準進(jìn)行延遲補償,然后將計算出的新時(shí)鐘值賦給從時(shí)鐘。這種同步方法造成了從時(shí)鐘計數值的不連續,即會(huì )出現重復(從時(shí)鐘晶振頻率快于主時(shí)鐘)或跳躍(從時(shí)鐘晶振頻率慢于主時(shí)鐘),而且這種方法并沒(méi)有從根本上解決時(shí)鐘頻率的不同步問(wèn)題,因此要進(jìn)一步提高同步精度很困難。本文研究了一種可對頻率進(jìn)行動(dòng)態(tài)調整的時(shí)鐘,通過(guò)對時(shí)鐘頻率的動(dòng)態(tài)修正,實(shí)現主從時(shí)鐘頻率的同步,進(jìn)而實(shí)現時(shí)間同步[2]。


圖1  時(shí)鐘同步原理

1  時(shí)鐘同步原理
  
要實(shí)現兩個(gè)時(shí)鐘的同步,一是時(shí)鐘的計數值要相同,二是計數增長(cháng)速率要相同。如圖1所示,設主時(shí)鐘的頻率為f,從時(shí)鐘頻率在Nn-1到Nn時(shí)間段為fn-1,在Nn到Nn+1為fn,SyncDelay為同步報文從主站到從站的延遲時(shí)間,可以通過(guò)延時(shí)測量幀采用往返法測量得到[3],從時(shí)鐘要在 Nn+1時(shí)刻達到與主時(shí)鐘相等,那么有:

  
因為主時(shí)鐘是周期性發(fā)出同步報文,所以有Mn+1-Mn=Mn -Mn-1= T,由式(2)和(3)可得:


  
kn就是時(shí)鐘頻率調整系數。在每個(gè)同步周期可以計算出頻率調整系數,然后通過(guò)相應的硬件電路來(lái)實(shí)現頻率調節。

2  可調頻率的時(shí)鐘設計



圖2  頻率可調時(shí)鐘原理框圖
  
可調頻率時(shí)鐘是一種完全由數字電路組成的時(shí)鐘計數器,構造簡(jiǎn)單,可以很方便地在FPGA中實(shí)現,原理如圖2所示。該頻率可調時(shí)鐘由一個(gè)p位時(shí)鐘計數器,q位累加器和r位頻率補償值寄存器組成。每個(gè)晶振周期,累加器與頻率補償寄存器中的FreqCompValue相加,并將結果保存到累加器。如果累加器發(fā)生溢出,時(shí)鐘計數器的值就增加1;反之,時(shí)鐘計數器保持不變。由此可以看出,晶振頻率和頻率補償值FreqCompValue的大小決定了累加器的溢出速率,也決定了時(shí)鐘計數器的計數頻率。所以可以通過(guò)調整FreqCompValue來(lái)調節時(shí)鐘頻率。為了實(shí)現高精度時(shí)鐘,晶振頻率要比時(shí)鐘頻率高。設晶振頻率為FreqOsc,時(shí)鐘計數頻率為FreqClk,分頻比為DivRatio,同步周期為SyncInterval,補償精度為 Precision,p、q、r可由下列公式得出[4-5]:


  
在本系統中,取FreqClk為50 MHz,FreqOsc為60 MHz,則DivRatio為1.2。當同步周期為1 s時(shí),補償精度Precision可選10-9,由公式可選擇r=q=32,p=64。頻率補償初值由下式求出:


3  頻率補償算法在FPGA中的實(shí)現
  
由式(4)和式(10)可得:

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


圖3  頻率調整算法在FPGA中的實(shí)現
  
同步報文的傳輸延遲SyncDelay理論上是不變的,而實(shí)際上報文在傳輸過(guò)程中有抖動(dòng)。參考文獻[3]對此進(jìn)行了分析,并指出同步周期越長(cháng),報文傳輸延遲抖動(dòng)的影響就越小,因此可以忽略不計。

4  實(shí)驗驗證
  
主時(shí)鐘采用50 MHz的有源晶振來(lái)實(shí)現,并將其作為固定時(shí)鐘;從時(shí)鐘采用30 MHz有源晶振,通過(guò)FPGA的鎖相環(huán)PLL將其頻率倍頻到60 MHz,然后1.2分頻,實(shí)現可調頻率的50 MHz時(shí)鐘。讓主時(shí)鐘和從時(shí)鐘以一定的時(shí)間間隔產(chǎn)生中斷,并通過(guò)邏輯分析儀采樣中斷信號分析其偏差。由于系統時(shí)鐘的分辨率為20 ns,采用廣州致遠電子有限公司的邏輯分析儀LA1532,其最大采樣頻率為100 MHz,所以偏差測量精度可以達到10 ns。


圖4  時(shí)鐘同步精度測試
  
圖4(a)是未進(jìn)行同步前兩個(gè)時(shí)鐘的偏差分析,X軸表示主時(shí)鐘和從時(shí)鐘的計時(shí)長(cháng)度,Y軸表示主時(shí)鐘和從時(shí)鐘的計時(shí)偏差。從圖中可以看出兩個(gè)時(shí)鐘的偏差大概為5×10-6,即1 s內的偏差可以達到5 μs。圖4(b)為同步后主時(shí)鐘和從時(shí)鐘偏差測量結果,共測量1 000次,其10 ms內同步偏差在±20 ns。X軸表示測量時(shí)間,Y軸表示主從時(shí)鐘同步偏差。圖4(c)為同步后兩個(gè)從時(shí)鐘偏差測量結果,共測量1 000次,其10 ms內同步偏差在±40 ns。X軸表示測量時(shí)間,Y軸表示從時(shí)鐘之間同步偏差。

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


作者:南京航空航天大學(xué) 李英 游有鵬
本文地址:http://selenalain.com/thread-9215-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页