<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的數控分頻器設計

基于FPGA的數控分頻器設計

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

1.引言

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

是數字系統中非常重要的模塊之一,被廣泛應用于各種控制電路中。在實(shí)際中,設計人員往往需要將一個(gè)標準的頻率源通過(guò)分頻技術(shù)以滿(mǎn)足不同的需求。常見(jiàn)的分頻形式主要有:偶數分頻、奇數分頻、半整數分頻、小數分頻、分數分頻。在某些嚴格的情況下,還有占空比的要求。其中非等占空比的偶數和奇數其實(shí)現比較容易,但對于半整數分頻器和占空比為50%的奇數分頻器實(shí)現比較困難。

本文首先介紹了各種分頻器的實(shí)現原理,并結合VHDL硬件描述語(yǔ)言對其進(jìn)行了仿真,最后提出一個(gè)可控的通用分頻器的設計方法,該方法可實(shí)現任意分頻,資源消耗低,具有可編程等優(yōu)點(diǎn)。

2.偶數分頻器

偶數分頻器比較簡(jiǎn)單,即利用計數器對需要分頻的原始時(shí)鐘信號進(jìn)行計數翻轉。

例如:要進(jìn)行M=2N(N為自然數)分頻,當計數值為0~k-1時(shí),輸出高電平,當計數值為k-1~2N-1時(shí)輸出低電平,同時(shí)計數值復位,如此循環(huán)可實(shí)現任意占空比的偶數分頻,其中M和k為預置數,可根據分頻倍數和占空比的要求進(jìn)行置數。如圖1所示,當k=N時(shí),即可實(shí)現占空比為50%的偶數分頻。

 

 

3.奇數分頻器

任意占空比的奇數分頻器的實(shí)現,其原理與偶數分頻器類(lèi)似。但對于占空比為50%的任意奇數次分頻卻無(wú)法用上述相同的方法實(shí)現。

下面介紹一種常用的實(shí)現方法。

實(shí)現原理:采用兩個(gè)不同的邊沿觸發(fā)器(一個(gè)在上升沿和一個(gè)在下降沿)來(lái)實(shí)現,其細節在于實(shí)現1/2個(gè)原始時(shí)鐘周期的時(shí)間差。

如圖2所示,進(jìn)行M=2N+1分頻時(shí),k1是在clk上升沿且計數周期為M變化的信號。當計數器值為0~N時(shí),k1保持低電平,計數值為N+1~2N時(shí),k1保持高電平。

 

 

k2與k1一樣,唯一不同的是:k2是在clk的下降沿變化。最后將k2與k1進(jìn)行或運算即可得到占空比50%的任意奇數分頻器。

4.半整數分頻器

半整數分頻器原理如圖3所示[3].主要包括模M計數器,異或模塊和2分頻模塊三個(gè)部分。其設計思想是:通過(guò)異或門(mén)和2分頻模塊組成一個(gè)改變輸入頻率的脈沖添加電路,即在M-0.5個(gè)輸入信號周期內產(chǎn)生M個(gè)計數脈沖,并將其中的一個(gè)計數脈沖的周期變?yōu)楹袃蓚€(gè)脈沖的周期。而這種改變的具體實(shí)現是將原始時(shí)鐘信號與2分頻模塊的輸出進(jìn)行異或。

 

 

另外,不難發(fā)現此原理圖還可以實(shí)現占空比為50%的2M-1倍的奇數分頻。當M=3時(shí),其仿真結果如圖4所示。原理圖的輸出端口q即為占空比為50%的5分頻,輸出端口C為2.5分頻。

 

 

5.數控通用分頻器的實(shí)現

綜上,利用模N計數器、脈沖添加電路,以及控制模塊即可實(shí)現占空比可調的通用分頻器。在具體設計過(guò)程中可采用層次化的設計方法。首先,設計通用分頻器中各組成電路元件,然后通過(guò)元件例化的方法,調用各元件,實(shí)現通用分頻器。

 

 

其中:

模N計數器的實(shí)現可以采用兩種方式:

一是調用L P M 庫中的參數化的計數器模塊LPM_COUNTER,根據向導對參數進(jìn)行設置,QuartusII會(huì )生成相應的。vdh計數文本。為了能夠調用計數文本,最后還需要利用VHDL語(yǔ)言對該計數文本設計一個(gè)例化程序,并將其設置為頂層文件。二是利用VHDL描述語(yǔ)言實(shí)現。

二分模塊是利用D觸發(fā)器來(lái)實(shí)現的,即將D觸發(fā)器的輸出信號Q反饋回來(lái)作為輸入信號,將模N計數器輸出信號的最高位作為D觸發(fā)器的時(shí)鐘信號。

其頂層原理圖如圖5所示。其中a為分頻模式選擇,當a=00時(shí)進(jìn)行偶數分頻;當a=01時(shí)進(jìn)行占空比為非50%奇數分頻;當a=10時(shí)進(jìn)行占空比為50%的奇數分屏;當a=11時(shí)進(jìn)行半整數分頻[2].端口M的作用是控制分頻數。端口K的作用是進(jìn)行偶數(M=2N)和奇數(M=2N+1)分頻時(shí),調節占空比,當k=N時(shí),占空比為50%.

6.結論

本設計的最終目的是實(shí)現分頻器的通用性和實(shí)用性,本設計中控制端口M、K、以及計數器N的位寬均采用參數化設計思想,用戶(hù)根據需要對其稍加修改就可滿(mǎn)足不同的分頻需求,在一定程度上實(shí)現了通用性。

fpga相關(guān)文章:fpga是什么


分頻器相關(guān)文章:分頻器原理
塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理


關(guān)鍵詞: 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>