基于FPGA的多種形式分頻的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時間:2007/9/10 0:00:00 訪問次數(shù):902
作者:北京交通大學(xué)現(xiàn)代通信研究所高培軍
摘要:本文通過在QuartursⅡ開發(fā)平臺下,一種能夠?qū)崿F(xiàn)等占空比、非等占空比整數(shù)分頻及半整數(shù)分頻的通用分頻器的FPGA設(shè)計(jì)與實(shí)現(xiàn),介紹了利用VHDL硬件描述語言輸入方式,設(shè)計(jì)數(shù)字電路的過程。
關(guān)鍵詞:FPGA;VHDL硬件描述語言;數(shù)字電路設(shè)計(jì);分頻器
引言
分頻器是數(shù)字系統(tǒng)設(shè)計(jì)中的基本電路,根據(jù)不同設(shè)計(jì)的需要,我們會遇到偶數(shù)分頻、奇數(shù)分頻、半整數(shù)分頻等,有時要求等占空比,有時要求非等占空比。在同一個設(shè)計(jì)中有時要求多種形式的分頻。通常由計(jì)數(shù)器或計(jì)數(shù)器的級聯(lián)構(gòu)成各種形式的偶數(shù)分頻及非等占空比的奇數(shù)分頻,實(shí)現(xiàn)較為簡單。但對半整數(shù)分頻及等占空比的奇數(shù)分頻實(shí)現(xiàn)較為困難。本文利用VHDL硬件描述語言,通過QuartusⅡ3.0開發(fā)平臺,使用Altera公司的FPGA,設(shè)計(jì)了一種能夠滿足上述各種要求的較為通用的分頻器。
一、電路設(shè)計(jì)
采用FPGA實(shí)現(xiàn)半整數(shù)分頻器,可以采用以下方法:設(shè)計(jì)一個模N的計(jì)數(shù)器,再設(shè)計(jì)一個脈沖扣除電路,每來兩個脈沖扣除一個脈沖,即可實(shí)現(xiàn)分頻系數(shù)為N-0.5的分頻器。脈沖扣除電路由異或門和一個2分頻器構(gòu)成。本設(shè)計(jì)在半整數(shù)分頻器原理的基礎(chǔ)上,對異或門加一個使能控制信號,通過對異或門和計(jì)數(shù)器計(jì)數(shù)狀態(tài)值的控制,實(shí)現(xiàn)同一個電路完成多種形式分頻,如圖1所示。
二、VHDL語言的實(shí)現(xiàn)
現(xiàn)通過設(shè)計(jì)一個可以實(shí)現(xiàn)8.5分頻,等占空比的17分頻,2、4、8、16、32分頻,及占空比為1∶8和4∶5的9分頻等多種形式分頻的分頻器,介紹該通用分頻器的FPGA實(shí)現(xiàn)。
由圖1所示的電路原理圖可知,分頻器由帶使能端的異或門、模N計(jì)數(shù)器和一個2分頻器組成,本設(shè)計(jì)用D觸發(fā)器來完成2分頻的功能,實(shí)現(xiàn)方法是:將觸發(fā)器的Q反輸出端反饋回輸入端D,將計(jì)數(shù)器的一個計(jì)數(shù)輸出端作為D觸發(fā)器的時鐘輸入端。各功能模塊的VHDL語言實(shí)現(xiàn)如下。
1.模N計(jì)數(shù)器的實(shí)現(xiàn)
一般設(shè)計(jì)中用到計(jì)數(shù)器時,我們可以調(diào)用lpm庫中的計(jì)數(shù)器模塊,也可以采用VHDL語言自己設(shè)計(jì)一個模N計(jì)數(shù)器。本設(shè)計(jì)采用VHDL語言設(shè)計(jì)一個最大模值為16的計(jì)數(shù)器。輸入端口為:使能信號en,復(fù)位信號clr和時鐘信號clk;輸出端口為:qa、qb、qc、qd。其VHDL語言描述略。
2.帶使能控制的異或門的實(shí)現(xiàn)
輸入端為:xor_en:異或使能,a和b:異或輸入;輸出端為:c:異或輸出。當(dāng)xor_en為高電平時,c輸出a和b的異或值。當(dāng)xor_en為低電平時,c輸出信號b。其VHDL語言略。
3.2分頻(觸發(fā)器)的實(shí)現(xiàn)
輸入端為:時鐘信號clk,輸入信號d;輸出端為:q:輸出信號a,q1:輸出信號a反。其VHDL語言略。
4.分頻器的實(shí)現(xiàn)
本設(shè)計(jì)采用層次化的設(shè)計(jì)方法,首先設(shè)計(jì)實(shí)現(xiàn)分頻器電路中各組成電路元件,然后通過元件例化的方法,調(diào)用各元件,實(shí)現(xiàn)整個分頻器。其VHDL語言略。
三、仿真結(jié)果及硬件電路的測試
本設(shè)計(jì)的目的是通用性和簡易性,只要對上述程序稍加改動即可實(shí)現(xiàn)多種形式的分頻。
1.實(shí)現(xiàn)8.5分頻和等占空比的17分頻
只要將上述程序中,調(diào)用計(jì)數(shù)器模塊時端口qa、qb、qc匹配為open狀態(tài),同時置xor_en為高電平即可。從編譯報告看出總共占用8個邏輯單元(logicelements),其仿真波形如圖2~4所示。
圖二
圖三
圖四
由圖中qxiao和clk的波形可以看出,每隔8.5個時鐘周期,qxiao信號產(chǎn)生一個上升沿,從而實(shí)現(xiàn)分頻系數(shù)是8.5的分頻,同時在qzheng端得到等占空比的17分頻。設(shè)clk為170MHz,則qxiao輸出為20MHz,qzheng輸出為10MHz。
2.實(shí)現(xiàn)占空比為1∶8和4∶5的9分頻
只要上述程序的xor_en置低電平即可在qxiao輸出占空比為1∶8的9分頻信號;在qzheng2輸出占空比為4∶5的9分頻信號。同樣僅占8個邏輯單元(logicelements)。仿真波形如下。
3.實(shí)現(xiàn)等占空比的2、4、8、16和32分頻
只要將上述程序中的xor_en置為低電平,同時將計(jì)數(shù)器模塊的計(jì)數(shù)最大值設(shè)為16即可。仿真波形如下。
由此可見,只要稍微改變計(jì)數(shù)器的計(jì)數(shù)狀態(tài)值,對異或門進(jìn)行選通控制,即可實(shí)現(xiàn)上述多種形式
作者:北京交通大學(xué)現(xiàn)代通信研究所高培軍
摘要:本文通過在QuartursⅡ開發(fā)平臺下,一種能夠?qū)崿F(xiàn)等占空比、非等占空比整數(shù)分頻及半整數(shù)分頻的通用分頻器的FPGA設(shè)計(jì)與實(shí)現(xiàn),介紹了利用VHDL硬件描述語言輸入方式,設(shè)計(jì)數(shù)字電路的過程。
關(guān)鍵詞:FPGA;VHDL硬件描述語言;數(shù)字電路設(shè)計(jì);分頻器
引言
分頻器是數(shù)字系統(tǒng)設(shè)計(jì)中的基本電路,根據(jù)不同設(shè)計(jì)的需要,我們會遇到偶數(shù)分頻、奇數(shù)分頻、半整數(shù)分頻等,有時要求等占空比,有時要求非等占空比。在同一個設(shè)計(jì)中有時要求多種形式的分頻。通常由計(jì)數(shù)器或計(jì)數(shù)器的級聯(lián)構(gòu)成各種形式的偶數(shù)分頻及非等占空比的奇數(shù)分頻,實(shí)現(xiàn)較為簡單。但對半整數(shù)分頻及等占空比的奇數(shù)分頻實(shí)現(xiàn)較為困難。本文利用VHDL硬件描述語言,通過QuartusⅡ3.0開發(fā)平臺,使用Altera公司的FPGA,設(shè)計(jì)了一種能夠滿足上述各種要求的較為通用的分頻器。
一、電路設(shè)計(jì)
采用FPGA實(shí)現(xiàn)半整數(shù)分頻器,可以采用以下方法:設(shè)計(jì)一個模N的計(jì)數(shù)器,再設(shè)計(jì)一個脈沖扣除電路,每來兩個脈沖扣除一個脈沖,即可實(shí)現(xiàn)分頻系數(shù)為N-0.5的分頻器。脈沖扣除電路由異或門和一個2分頻器構(gòu)成。本設(shè)計(jì)在半整數(shù)分頻器原理的基礎(chǔ)上,對異或門加一個使能控制信號,通過對異或門和計(jì)數(shù)器計(jì)數(shù)狀態(tài)值的控制,實(shí)現(xiàn)同一個電路完成多種形式分頻,如圖1所示。
二、VHDL語言的實(shí)現(xiàn)
現(xiàn)通過設(shè)計(jì)一個可以實(shí)現(xiàn)8.5分頻,等占空比的17分頻,2、4、8、16、32分頻,及占空比為1∶8和4∶5的9分頻等多種形式分頻的分頻器,介紹該通用分頻器的FPGA實(shí)現(xiàn)。
由圖1所示的電路原理圖可知,分頻器由帶使能端的異或門、模N計(jì)數(shù)器和一個2分頻器組成,本設(shè)計(jì)用D觸發(fā)器來完成2分頻的功能,實(shí)現(xiàn)方法是:將觸發(fā)器的Q反輸出端反饋回輸入端D,將計(jì)數(shù)器的一個計(jì)數(shù)輸出端作為D觸發(fā)器的時鐘輸入端。各功能模塊的VHDL語言實(shí)現(xiàn)如下。
1.模N計(jì)數(shù)器的實(shí)現(xiàn)
一般設(shè)計(jì)中用到計(jì)數(shù)器時,我們可以調(diào)用lpm庫中的計(jì)數(shù)器模塊,也可以采用VHDL語言自己設(shè)計(jì)一個模N計(jì)數(shù)器。本設(shè)計(jì)采用VHDL語言設(shè)計(jì)一個最大模值為16的計(jì)數(shù)器。輸入端口為:使能信號en,復(fù)位信號clr和時鐘信號clk;輸出端口為:qa、qb、qc、qd。其VHDL語言描述略。
2.帶使能控制的異或門的實(shí)現(xiàn)
輸入端為:xor_en:異或使能,a和b:異或輸入;輸出端為:c:異或輸出。當(dāng)xor_en為高電平時,c輸出a和b的異或值。當(dāng)xor_en為低電平時,c輸出信號b。其VHDL語言略。
3.2分頻(觸發(fā)器)的實(shí)現(xiàn)
輸入端為:時鐘信號clk,輸入信號d;輸出端為:q:輸出信號a,q1:輸出信號a反。其VHDL語言略。
4.分頻器的實(shí)現(xiàn)
本設(shè)計(jì)采用層次化的設(shè)計(jì)方法,首先設(shè)計(jì)實(shí)現(xiàn)分頻器電路中各組成電路元件,然后通過元件例化的方法,調(diào)用各元件,實(shí)現(xiàn)整個分頻器。其VHDL語言略。
三、仿真結(jié)果及硬件電路的測試
本設(shè)計(jì)的目的是通用性和簡易性,只要對上述程序稍加改動即可實(shí)現(xiàn)多種形式的分頻。
1.實(shí)現(xiàn)8.5分頻和等占空比的17分頻
只要將上述程序中,調(diào)用計(jì)數(shù)器模塊時端口qa、qb、qc匹配為open狀態(tài),同時置xor_en為高電平即可。從編譯報告看出總共占用8個邏輯單元(logicelements),其仿真波形如圖2~4所示。
圖二
圖三
圖四
由圖中qxiao和clk的波形可以看出,每隔8.5個時鐘周期,qxiao信號產(chǎn)生一個上升沿,從而實(shí)現(xiàn)分頻系數(shù)是8.5的分頻,同時在qzheng端得到等占空比的17分頻。設(shè)clk為170MHz,則qxiao輸出為20MHz,qzheng輸出為10MHz。
2.實(shí)現(xiàn)占空比為1∶8和4∶5的9分頻
只要上述程序的xor_en置低電平即可在qxiao輸出占空比為1∶8的9分頻信號;在qzheng2輸出占空比為4∶5的9分頻信號。同樣僅占8個邏輯單元(logicelements)。仿真波形如下。
3.實(shí)現(xiàn)等占空比的2、4、8、16和32分頻
只要將上述程序中的xor_en置為低電平,同時將計(jì)數(shù)器模塊的計(jì)數(shù)最大值設(shè)為16即可。仿真波形如下。
由此可見,只要稍微改變計(jì)數(shù)器的計(jì)數(shù)狀態(tài)值,對異或門進(jìn)行選通控制,即可實(shí)現(xiàn)上述多種形式
熱門點(diǎn)擊
- 由ICL8308制作的多波形信號發(fā)生器
- 電容模塊在緩沖電路中的應(yīng)用
- EPC-755A微型光電編碼器及其應(yīng)用
- LVDS輸入電平問題
- 電子鼓音響芯片HT3670C及應(yīng)用
- 基于掃描線轉(zhuǎn)換的快速等值線填充算法
- 數(shù)字信號完整性和信號恢復(fù)
- 單片機(jī)開關(guān)電容濾波器TLC04原理與應(yīng)用
- 基于FPGA的多種形式分頻的設(shè)計(jì)與實(shí)現(xiàn)
- 圖像數(shù)字化電路中的高精度行鎖相象素時鐘發(fā)生器
推薦技術(shù)資料
- 泰克新發(fā)布的DSA830
- 泰克新發(fā)布的DSA8300在一臺儀器中同時實(shí)現(xiàn)時域和頻域分析,DS... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究