韓麗英
[摘 要]數(shù)控分頻器廣泛應(yīng)用在家庭數(shù)字音響、通信設(shè)備時(shí)序電路、數(shù)字頻率計(jì)中。另外,近
年來已成為電子競(jìng)賽設(shè)計(jì)中常用的單元模塊。本文論述了數(shù)控分頻器的基本原理、設(shè)計(jì)思路
及小數(shù)分頻器的原理及設(shè)計(jì),并給出了一個(gè)2.5 分頻器電路仿真波形。
[關(guān)鍵詞]EDA技術(shù) 數(shù)控分頻器 VHDL語言
[中圖分類號(hào)]TN-4[文獻(xiàn)標(biāo)識(shí)碼]A[文章編號(hào)]1007-9416(2009)11-0108-02
1 引言
數(shù)控分頻器廣泛應(yīng)用在家庭數(shù)字音響、通信設(shè)備時(shí)序電路、數(shù)字頻率計(jì)中。另外,近年來已成為電子競(jìng)賽設(shè)計(jì)中常用的單元模塊。筆者在連續(xù)三年指導(dǎo)學(xué)生電子設(shè)計(jì)競(jìng)賽過程中都用到了數(shù)控分頻器。
用傳統(tǒng)的設(shè)計(jì)方法設(shè)計(jì)數(shù)控分頻器時(shí),典型的設(shè)計(jì)是采用具有預(yù)置數(shù)據(jù)輸入端的通用計(jì)數(shù)器芯片按設(shè)計(jì)要求完成。但當(dāng)分頻系數(shù)較大時(shí),需用多片集成計(jì)數(shù)器和設(shè)計(jì)更復(fù)雜的控制電路來實(shí)現(xiàn),且設(shè)計(jì)成果的可修改性和可移植性都較差。尤其是對(duì)于參加電子設(shè)計(jì)競(jìng)賽的學(xué)生,在有限的3-5天時(shí)間內(nèi)要完成一個(gè)指定功能的設(shè)計(jì),尤其不適合采用這種傳統(tǒng)的“固定功能的集成電路+連線”的設(shè)計(jì)模式。
基于EDA技術(shù)的數(shù)控分頻器設(shè)計(jì),采用的是用軟件的方法設(shè)計(jì)硬件的EDA (電子設(shè)計(jì)自動(dòng)化)技術(shù)。作為EDA技術(shù)重要組成部分的VHDL硬件描述語言是一種符合IEEE工業(yè)標(biāo)準(zhǔn)的建模語言。用它設(shè)計(jì)的數(shù)控分頻器可作為一個(gè)模塊,移植到很多數(shù)字電路系統(tǒng)中,且極易修改,只要修改程序中的某幾條語句,就可使最大分頻系數(shù)得到改變。整個(gè)設(shè)計(jì)過程簡(jiǎn)單、快捷。可從根本上減少硬件調(diào)試的時(shí)間,為總體設(shè)計(jì)完成爭(zhēng)取寶貴的時(shí)間。
2 通用數(shù)控分頻器的原理
數(shù)控分頻器的功能就是當(dāng)在輸入端給定不同輸入數(shù)據(jù)時(shí),將對(duì)輸入的時(shí)鐘信號(hào)有不同的分頻比,數(shù)控分頻器可用計(jì)數(shù)值可并行預(yù)置的加法計(jì)數(shù)器設(shè)計(jì)實(shí)現(xiàn)。所以數(shù)控分頻器功能的實(shí)質(zhì)是分頻電路,即將一個(gè)給定的頻率較高的數(shù)字輸入信號(hào),經(jīng)過適當(dāng)?shù)奶幚砗?產(chǎn)生一個(gè)或數(shù)個(gè)頻率較低的數(shù)字輸出信號(hào)。
3 數(shù)控分頻器的設(shè)計(jì)思路
在數(shù)字邏輯電路設(shè)計(jì)中,分頻電路是一種基本電路其本質(zhì)是加法計(jì)數(shù)器的變種,計(jì)數(shù)值由分頻常數(shù)N=fin/fout決定,其輸出不是一般計(jì)數(shù)器的計(jì)數(shù)結(jié)果,而是根據(jù)分頻常數(shù)對(duì)輸出信號(hào)的高、低電平進(jìn)行控制。根據(jù)實(shí)際需要可分為整數(shù)分頻和小數(shù)分頻兩種。
設(shè)計(jì)中通過對(duì)某個(gè)外部輸入的或內(nèi)部電路產(chǎn)生的給定頻率進(jìn)行分頻,即可得到所需頻率。整數(shù)分頻器實(shí)現(xiàn)非常簡(jiǎn)單,可采用標(biāo)準(zhǔn)計(jì)數(shù)器,也可采用可編程邏輯器件設(shè)計(jì)實(shí)現(xiàn)。但在某些場(chǎng)合下,時(shí)鐘源與所需頻率不成整數(shù)倍關(guān)系,此時(shí)需采用小數(shù)分頻器進(jìn)行分頻。如分頻系數(shù)為2.5、3.5等半整數(shù)分頻器。
4 小數(shù)分頻器的原理及設(shè)計(jì)
4.1 小數(shù)分頻器的原理
小數(shù)分頻基本原理是采用脈沖吞吐計(jì)數(shù)器和PLL鎖相環(huán)技術(shù)先設(shè)計(jì)兩個(gè)不同分頻比的整數(shù)分頻器,然后通過控制單位時(shí)間內(nèi)兩種分頻比出現(xiàn)的不同次數(shù)來獲得所需要的小數(shù)分頻值。如設(shè)計(jì)一個(gè)分頻系數(shù)為10.1分頻器時(shí),可以將分頻器設(shè)計(jì)成9次10分頻,1次11分頻,這樣總分頻值為: F=(9×10+1×11)/(9+1)=10.1。
從這種實(shí)現(xiàn)方法特點(diǎn)可以看出,由于分頻器分頻值不斷改變,因此分頻后得到信號(hào)抖動(dòng)較大。當(dāng)分頻系數(shù)為N-0.5(N為整數(shù))時(shí),可控制扣除脈沖時(shí)間,以使輸出成為一個(gè)穩(wěn)定脈沖頻率,而不是一次N分頻,一次N-1分頻。
4.2 小數(shù)分頻器的設(shè)計(jì)電路
分頻系數(shù)為N-0.5分頻器電路可由一個(gè)異或門、一個(gè)模N計(jì)數(shù)器和一個(gè)二分頻器組成。在實(shí)現(xiàn)時(shí),模N計(jì)數(shù)器可設(shè)計(jì)成帶預(yù)置計(jì)數(shù)器,這樣可以實(shí)現(xiàn)任意分頻系數(shù)為N-0.5分頻器。圖1是通用半整數(shù)分頻器電路組成。
VHDL硬件描述語言,可實(shí)現(xiàn)任意模N計(jì)數(shù)器(其工作頻率可以達(dá)到160MHz以上),并可產(chǎn)生模N邏輯電路。之后,用原理圖輸入方式將模N邏輯電路、異或門和D觸發(fā)器連接起來,便可實(shí)現(xiàn)半整數(shù)(N-0.5)分頻器以及(2N-1)分頻如圖1所示。
4.3 半整數(shù)分頻器設(shè)計(jì)
4.3.1 模3計(jì)數(shù)器VHDL語言設(shè)計(jì)
該計(jì)數(shù)器可產(chǎn)生一個(gè)分頻系數(shù)為3分頻器,并產(chǎn)生一個(gè)默認(rèn)邏輯符號(hào)COUNTER3。其輸入端口為RESET、EN和CLK;輸出端口為QA和QB。下面給出模3計(jì)數(shù)器VHDL描述代碼:
entity counter3 is
port(clk,reset,en:in std_logic;
qa,qb:out std_logic);
end counter3;
architecture behavior of counter3 is
signal count:std_logic_vector(1 downto 0);
begin
process(reset,clk)
begin
if reset='1'then
count(1 downto 0)<="00";
else
if(clk 'event and clk='1')then
if(en='1')then
if(count="10")then
count<="00";
else
count<=count+1;
end if;
end if;
end if;
end if;
end process;
qa<=count(0);
qb<=count(1);
end behavior;
4.3.2 半整數(shù)分頻器的設(shè)計(jì)
任意模計(jì)數(shù)器與模3計(jì)數(shù)器描述結(jié)構(gòu)完全相同,所不同的僅僅是計(jì)數(shù)器狀態(tài)數(shù)。通過設(shè)計(jì)一個(gè)分頻系數(shù)為2.5分頻器,用FPGA設(shè)計(jì)半整數(shù)分頻器。該2.5分頻器由模3計(jì)數(shù)器、異或門和D觸發(fā)器組成。如圖1所示。
4.3.3 完整電路波形及仿真
將COUNTER3、異或門和D觸發(fā)器通過圖1所示的電路邏輯連接關(guān)系,并用原理圖輸入方式調(diào)入圖形編輯器,然后經(jīng)邏輯綜合即可得到如圖2所示的仿真波形。
由圖中outclk與inclk的波形可以看出,outclk會(huì)在inclk每隔2.5個(gè)周期處產(chǎn)生一個(gè)上升沿,從而實(shí)現(xiàn)分頻系數(shù)為2.5的分頻器。設(shè)inclk為50MHz,則outclk為20MHz。因此可見,該電路不僅可得到分頻系數(shù)為2.5的分頻器(outclk),而且還可得到分頻系數(shù)為5的分頻器(q)。
5 結(jié)語
筆者在本設(shè)計(jì)過程中使用了MAX+ plusII、ispEXPERT、Foundation等EDA工具軟件,并分別適配過當(dāng)前國(guó)內(nèi)FPGA/CPLD市場(chǎng)份額占有較大的三家公司Xilinx、Altera、Lattice的器件實(shí)現(xiàn)半整數(shù)分頻的設(shè)計(jì),經(jīng)邏輯綜合、仿真、并下載后運(yùn)行效果都穩(wěn)定、可靠。
[參考文獻(xiàn)]
[1] 潘松,黃繼業(yè).EDA技術(shù)實(shí)用教程[M].北京:科學(xué)出版社,2005.
[2] 譚會(huì)生,張昌凡.EDA技術(shù)及應(yīng)用.西安:西安電子科技大學(xué)出版社,2004.
[3] Xilinx inc.DATA BOOK Xilinx Incorporation San Jose Use,1999.
數(shù)字技術(shù)與應(yīng)用2009年11期