<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > FPGA的時(shí)鐘頻率同步設計

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

作者: 時(shí)間:2009-12-28 來(lái)源:網(wǎng)絡(luò ) 收藏


引 言
網(wǎng)絡(luò )化運動(dòng)控制是未來(lái)運動(dòng)控制的發(fā)展趨勢,隨著(zhù)高速加工技術(shù)的發(fā)展,對網(wǎng)絡(luò )節點(diǎn)間的時(shí)間精度提出了更高的要求。如造紙機械,運行速度為1 500~1 800m/min,運行的電機之間1μs的時(shí)間誤差將造成30 μm的運動(dòng)誤差。高速加工中心中加工速度為120 m/min時(shí),伺服電機之間1μs的時(shí)間同步誤差,將造成2 μm的加工誤差,影響了加工精度的提高。
分布式網(wǎng)絡(luò )中節點(diǎn)的通常是采用晶振+計數器的方式來(lái)實(shí)現,由于晶振本身的精度以及穩定性問(wèn)題,造成了時(shí)間運行的誤差。同步通常是選定一個(gè)節點(diǎn)作為主時(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í)間同步。

本文引用地址:http://dyxdggzs.com/article/152175.htm

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í)測量幀采用往返法測量得到,從時(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í)鐘
可調頻率時(shí)鐘是一種完全由數字電路組成的時(shí)鐘計數器,構造簡(jiǎn)單,可以很方便地在中實(shí)現,原理如圖2所示。該頻率可調時(shí)鐘由一個(gè)戶(hù)位時(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可由下列公式得出:
DivRatio=FreqOsc/FreqClk (5)

在本系統中,取FreqClk為50 MHz,FreqOsc為60MHz,則DivRatio為1.2。當同步周期為1 s時(shí),補償精度Precision可選10-9,由公式可選擇r=q=32,p=64。頻率補償初值由下式求出:
FreqCompValue=2q/DivRatio=232/1.2=32d3579139413
在時(shí)鐘輸出算法中,該值由頻率調整系數動(dòng)態(tài)調整:
FreqCompValuen=kn?FreqCompValuen-1 (10)

伺服電機相關(guān)文章:伺服電機工作原理



上一頁(yè) 1 2 3 下一頁(yè)

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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>