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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于FPGA的數(shù)控分頻器設(shè)計

          基于FPGA的數(shù)控分頻器設(shè)計

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

          1.引言

          本文引用地址:http://www.ex-cimer.com/article/235151.htm

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

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

          2.偶數(shù)分頻器

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

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

           

           

          3.奇數(shù)分頻器

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

          下面介紹一種常用的實現(xiàn)方法。

          實現(xiàn)原理:采用兩個不同的邊沿觸發(fā)器(一個在上升沿和一個在下降沿)來實現(xiàn),其細(xì)節(jié)在于實現(xiàn)1/2個原始時鐘周期的時間差。

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

           

           

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

          4.半整數(shù)分頻器

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

           

           

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

           

           

          5.數(shù)控通用分頻器的實現(xiàn)

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

           

           

          其中:

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

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

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

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

          6.結(jié)論

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

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


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


          關(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); })();