<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è) > 汽車(chē)電子 > 設計應用 > 基于FPGA的多種分頻設計與實(shí)現

基于FPGA的多種分頻設計與實(shí)現

——
作者:陳英梅,席亮亮 時(shí)間:2007-07-16 來(lái)源:電子元器件應用 收藏

引言

  分頻器是設計中使用頻率非常高的基本單元之一。盡管目前在大部分設計中還廣泛使用集成鎖相環(huán)(如altera的PLL,Xilinx的DLL)來(lái)進(jìn)行時(shí)鐘的分頻、倍頻以及相移設計,但是,對于時(shí)鐘要求不太嚴格的設計,通過(guò)自主設計進(jìn)行時(shí)鐘分頻的實(shí)現方法仍然非常流行。首先這種方法可以節省鎖相環(huán)資源,再者,這種方式只消耗不多的邏輯單元就可以達到對時(shí)鐘操作的目的。

1 整數分頻器的設計

1.1 偶數倍分頻

  偶數分頻器的實(shí)現非常簡(jiǎn)單,通過(guò)計數器計數就完全可以實(shí)現。如進(jìn)行N倍偶數分頻,就可以通過(guò)由待分頻的時(shí)鐘觸發(fā)計數器計數,當計數器從0計數到N/2-1時(shí),輸出時(shí)鐘進(jìn)行翻轉,并給計數器一個(gè)復位信號,以使下一個(gè)時(shí)鐘從零開(kāi)始計數。以此循環(huán),就可以實(shí)現任意的偶數分頻。圖1所示是占空比為1:1的36分頻的仿真波形圖。
 

1.2 奇數倍分頻

  奇數倍分頻有兩種實(shí)現方法,其中之一完全可以通過(guò)計數器來(lái)實(shí)現,如進(jìn)行三分頻,就可通過(guò)待分頻時(shí)鐘上升沿觸發(fā)計數器來(lái)進(jìn)行模三計數,當計數器計數到鄰近值時(shí)進(jìn)行兩次翻轉。比如可以在計數器計數到1時(shí),輸出時(shí)鐘進(jìn)行翻轉,計數到2時(shí)再次進(jìn)行翻轉。這樣,就在計數值鄰近的1和2進(jìn)行了兩次翻轉。如此便實(shí)現了三分頻,其占空比為1/3或2/3。

  占空比1/15的15分頻設計的主要代碼如下:
 


  如果要實(shí)現占空比為50%的三分頻時(shí)鐘,則可通過(guò)待分頻時(shí)鐘下降沿觸發(fā)計數,并以和上升沿同樣的方法計數進(jìn)行三分頻,然后對下降沿產(chǎn)生的三分頻時(shí)鐘和上升沿產(chǎn)生的時(shí)鐘進(jìn)行相或運算。即可得到占空比為50%的三分頻時(shí)鐘這是奇數分頻的第三種方法。這種方法可以實(shí)現任意的奇數分頻。如將其歸類(lèi)為一般的方法:對于實(shí)現占空比為50%的N倍奇數分頻,首先要進(jìn)行上升沿觸發(fā)以進(jìn)行模N計數,計數選定到某一個(gè)值再進(jìn)行輸出時(shí)鐘翻轉,然后過(guò)(N-1)/2再次進(jìn)行翻轉,就可得到一個(gè)占空比非50%的奇數n分頻時(shí)鐘。再同時(shí)進(jìn)行下降沿觸發(fā)的模N計數,當其到達與上升沿觸發(fā)輸出時(shí)鐘翻轉選定值相同時(shí),再進(jìn)行輸出時(shí)鐘翻轉,同樣,經(jīng)過(guò)(N-1)/2時(shí),輸出時(shí)鐘再次翻轉以生成占空比非50%的奇數n分頻時(shí)鐘。將這兩個(gè)占空比非50%的n分頻時(shí)鐘相或運算,就可以得到占空比為50%的奇數n分頻時(shí)鐘。圖2所示是占空比為1:1的3分頻電路原理圖。圖3為其仿真波形。


 


 
2 半整數分頻器設計

  進(jìn)行n+0.5分頻一般需要對輸入時(shí)鐘先進(jìn)行操作。其基本設計思想是:首先進(jìn)行模n的計數,在計數到n-1時(shí),將輸出時(shí)鐘賦為'1',而當回到計數0時(shí),又賦為0,這樣,當計數值為n-1時(shí),輸出時(shí)鐘才為1,因此,只要保持計數值n-1為半個(gè)輸入時(shí)鐘周期,即可實(shí)現n+0.5分頻時(shí)鐘。因此,保持n-1為半個(gè)時(shí)鐘周期即是該設計的關(guān)鍵。從中可以發(fā)現,因為計數器是通過(guò)時(shí)鐘上升沿計數,故可在計數為n-1時(shí)對計數觸發(fā)時(shí)鐘進(jìn)行翻轉,那么,時(shí)鐘的下降沿就變成了上升沿。即在計數值為n-1期間的時(shí)鐘下降沿變成了上升沿,也就是說(shuō),計數值n-1只保持了半個(gè)時(shí)鐘周期。由于時(shí)鐘翻轉下降沿變成上升沿,因此,計數值變?yōu)?。所以,每產(chǎn)生一個(gè)n+0.5分頻時(shí)鐘的周期,觸發(fā)時(shí)鐘都要翻轉一次。圖4給出了通用的半整數分頻器的電路原理圖。

  圖5所示是一個(gè)分頻系數為2.5的分頻器電路,該電路是用來(lái)設計半整數分頻器的。它由模3計數器、異或門(mén)和D觸發(fā)器組成。圖6是其仿真波形圖。


 
3 任意整數帶小數分頻

  任意整數帶小數分頻的基本原理是采用脈沖吞吐計數器和鎖相環(huán)技術(shù)先設計兩個(gè)不同分頻比的整數分頻器,然后通過(guò)控制單位時(shí)間內兩種分頻比出現的不同次數來(lái)獲得所需要的小數分頻值。若設計一個(gè)分頻系數為10.1的分頻器,即可以將分頻器設計成9次10分頻和1次11分頻,這樣,總的分頻值為:

F=(9

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
分頻器相關(guān)文章:分頻器原理


評論


相關(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>