新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的通用數控分頻器的設計與實現

        基于FPGA的通用數控分頻器的設計與實現

        作者: 時間:2015-05-13 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/274088.htm

          4.半整數

          半整數原理如圖3所示[3].主要包括模M計數器,異或模塊和2分頻模塊三個部分。其設計思想是:通過異或門和2分頻模塊組成一個改變輸入頻率的脈沖添加電路,即在M-0.5個輸入信號周期內產生M個計數脈沖,并將其中的一個計數脈沖的周期變為含有兩個脈沖的周期。而這種改變的具體實現是將原始時鐘信號與2分頻模塊的輸出進行異或。

          

         

          圖3 半整數分頻器原理

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

          

         

          圖4 半整數分頻器仿真結果

          5.數控通用分頻器的實現

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

          

         

          圖5 通用分頻器原理圖

          其中:

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

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

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

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

          6.結論

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

        fpga相關文章:fpga是什么


        分頻器相關文章:分頻器原理

        上一頁 1 2 下一頁

        關鍵詞: FPGA 分頻器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 论坛| 天峨县| 舟曲县| 蕲春县| 三台县| 华宁县| 临安市| 汉沽区| 淮南市| 仙桃市| 疏附县| 沭阳县| 黄冈市| 岗巴县| 德惠市| 集贤县| 合山市| 铜梁县| 五华县| 宜都市| 毕节市| 贺州市| 江口县| 佛山市| 泰安市| 延津县| 桦南县| 革吉县| 安塞县| 东兰县| 普兰店市| 尚义县| 舟曲县| 博兴县| 延边| 永修县| 长顺县| 大港区| 滨海县| 泰宁县| 兴业县|