




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、通用分頻器基本原理整數(shù)分頻包括偶數(shù)分頻和奇數(shù)分頻,對于偶數(shù)N分頻,通常是由模N/2計數(shù)器實現(xiàn)一個占空比為1:1的N分頻器,分頻輸出信號模N/2自動取反。對于奇數(shù)N分頻,上述方法就不適用了,而是由模N計數(shù)器實現(xiàn)非等占空比的奇數(shù)N分頻器,分頻輸出信號取得是模N計數(shù)中的某一位(不同N值范圍會選不同位)。這種方法同樣適用于偶數(shù)N分頻,但占空比不總是1:1,只有2的n次方的偶數(shù)(如4、8、16等)分頻占空比才是1:1。這種方法對于奇數(shù)、偶數(shù)具有通用性。半整數(shù)分頻器也是在這種方法基礎(chǔ)上實現(xiàn)的。除了一個模N計數(shù)器,還需要一個異或模塊和一個2分頻模塊。半整數(shù)分頻器原理如圖1所示:半整數(shù)分頻器設(shè)計思想:通過異或
2、門和2分頻模塊組成一個改變輸入頻率的脈沖添加電路,也就是說N-0.5個輸入信號周期內(nèi)產(chǎn)生了N個計數(shù)脈沖,即輸入信號其中的一個含一個脈沖的周期變?yōu)楹瑑蓚€脈沖的周期。而這一改變正是輸入頻率與2分頻輸出異或的結(jié)果。由2分頻輸出決定一個周期產(chǎn)生兩個脈沖有兩種方式:當(dāng)一個輸入信號來一個脈沖(前半周期)時,2分頻輸出變?yōu)?,clk_in取反,后半周期就會產(chǎn)生一個脈沖;2分頻輸出由1變?yōu)?時,clk_in剛把一個周期(前半周期)內(nèi)低電平變?yōu)楦唠娖疆a(chǎn)生一個脈沖,而后半周期的脈沖與0異或不變。從而實現(xiàn)N-0.5分頻。要實現(xiàn)奇數(shù)、偶數(shù)、半整數(shù)通用分頻器只需再加一個控制選擇信號sel。當(dāng)sel=1時,clk_in與
3、2分頻輸出異或,實現(xiàn)半整數(shù)分頻;當(dāng)sel=0時,只選通clk_in,實現(xiàn)整數(shù)分頻。通用分頻器原理如圖2所示:Verilog語言的實現(xiàn)本設(shè)計采用層次化的設(shè)計方法,首先設(shè)計通用分頻器中各組成電路元件,然后通過元件例化的方法,調(diào)用各元件,實現(xiàn)通用分頻器。1、選擇異或門模塊half_select:modulehalf_select(sel,a,b,c);outputc;inputsel,a,b;xoru1(w,a,b);assignc=sel?w:a;(當(dāng)sel=1時,clk_in與2分頻輸出異或,實現(xiàn)半整數(shù)分頻;當(dāng)sel=0時,只選通clk_in,實現(xiàn)整數(shù)分頻。)endmodule2、模N計數(shù)器co
4、unter_n:實現(xiàn)參數(shù)化設(shè)計N可取2256,也可增加count位數(shù)使N可取更大的值。以N=7為例通過設(shè)置sel分別實現(xiàn)奇數(shù)7分頻和半整數(shù)6.5分頻。modulecounter_n(reset,en,clk_in,clk_out,count);parameterN=7;inputreset,en,clk_in;outputclk_out;output7:0count;regclk_out;reg7:0count;always(posedgeclk_in)beginif(reset)begincount7:0=0;endelseif(en)beginif(count=(N-1)count=0;e
5、lsecount=count1;endendalwaysbeginif(Nclk_out=count0;elseif(Nclk_out=count;elseif(Nclk_out=count;elseif(N在復(fù)雜數(shù)字邏輯電路設(shè)計中,經(jīng)常會用到多個不同的時鐘信號。介紹一種通用的分頻器,可實現(xiàn)2256之間的任意奇數(shù)、偶數(shù)、半整數(shù)分頻。首先簡要介紹了FPGA器件的特點和應(yīng)用范圍。接著介紹了通用分頻器的基本原理和分類,并以分頻比為奇數(shù)7和半整數(shù)6.5的分頻器設(shè)計為例,介紹了在QuartusII開發(fā)軟件下,利用Verilog硬件描述語言來設(shè)計數(shù)字邏輯電路的過程和方法。在數(shù)字邏輯電路設(shè)計中,分頻器是一種
6、基本電路。我們常會遇到偶數(shù)分頻、奇數(shù)分頻、半整數(shù)分頻等,在同一個設(shè)計中有時要求多種形式的分頻。通常由計數(shù)器或計數(shù)器的級聯(lián)構(gòu)成各種形式的偶數(shù)分頻和奇數(shù)分頻,實現(xiàn)較為簡單。但對半整數(shù)分頻分頻實現(xiàn)較為困難。但在某些場合下,時鐘源與所需的頻率不成整數(shù)倍關(guān)系,此時可采用小數(shù)分頻器進行分頻。例如:時鐘源信號為130MHz,而電路中需要產(chǎn)生一個20MHz的時鐘信號,其分頻比為6.5,因此根據(jù)不同設(shè)計的需要,本文利用Verilog硬件描述語言,通過MAXplusII開發(fā)平臺,使用Altera公司的FLEX系列EPF10K10LC84-3型FPGA,設(shè)計了一種能夠滿足上述各種要求的較為通用的分頻器?;诓檎冶恚?/p>
7、LUT)的FPGA的結(jié)構(gòu)特點查找表(Look-Up-Table)簡稱為LUT,LUT本質(zhì)上就是一個RAM。目前FPGA中多使用4輸入的LUT,所以每一個LUT可以看成一個有4位地址線的16x1的RAM。當(dāng)用戶通過原理圖或HDL語言描述了一個邏輯電路以后,PLD/FPGA開發(fā)軟件會自動計算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫入RAM,這樣,每輸入一個信號進行邏輯運算就等于輸入一個地址進行查表,找出地址對應(yīng)的內(nèi)容,然后輸出即可。由于LUT主要適合SRAM工藝生產(chǎn),所以目前大部分FPGA都是基于SRAM工藝的,而SRAM工藝的芯片在掉電后信息就會丟失,一定需要外加一片專用配置芯片,在上電的時候,
8、由這個專用配置芯片把數(shù)據(jù)加載到FPGA中,然后FPGA就可以正常工作,由于配置時間很短,不會影響系統(tǒng)正常工作。也有少數(shù)FPGA采用反熔絲或Flash工藝,對這種FPGA,就不需要外加專用的配置芯片。FPGA(FieldprogrammableGatesArray,現(xiàn)場可編程門陣列)都是可編程邏輯器件,它們是在PAL、GAL等邏輯器件基礎(chǔ)上發(fā)展起來的。同以往的PAL、GAL相比,F(xiàn)PGA/CPLD的規(guī)模比較大,適合于時序、組合等邏輯電路的應(yīng)用。它可以替代幾十甚至上百塊通用IC芯片。這種芯片具有可編程和實現(xiàn)方案容易改動等特點。由于芯片內(nèi)部硬件連接關(guān)系的描述可以存放在磁盤、ROM、PROM、或EPR
9、OM中,因而在可編程門陣列芯片及外圍電路保持不動的情況下,換一塊EPROM芯片,就能實現(xiàn)一種新的功能。它具有設(shè)計開發(fā)周期短、設(shè)計制造成本低、開發(fā)工具先進、標(biāo)準(zhǔn)產(chǎn)品無需測試、質(zhì)量穩(wěn)定以及實時在檢驗等優(yōu)點,因此,可廣泛應(yīng)用于產(chǎn)品的原理設(shè)計和產(chǎn)品生產(chǎn)之中。幾乎所有應(yīng)用門陣列、PLD和中小規(guī)模通用數(shù)字集成電路的場合均可應(yīng)用FPGA和CPLD器件。在現(xiàn)代電子系統(tǒng)中,數(shù)字系統(tǒng)所占的比例越來越大。系統(tǒng)發(fā)展的越勢是數(shù)字化和集成化,而FPGA作為可編程ASIC(專用集成電路)器件,它將在數(shù)字邏輯系統(tǒng)中發(fā)揮越來越重要的作用。通用分頻器基本原理整數(shù)分頻包括偶數(shù)分頻和奇數(shù)分頻,對于偶數(shù)N分頻,通常是由模N/2計數(shù)器實
10、現(xiàn)一個占空比為1:1的N分頻器,分頻輸出信號模N/2自動取反。對于奇數(shù)N分頻,上述方法就不適用了,而是由模N計數(shù)器實現(xiàn)非等占空比的奇數(shù)N分頻器,分頻輸出信號取得是模N計數(shù)中的某一位(不同N值范圍會選不同位)。這種方法同樣適用于偶數(shù)N分頻,但占空比不總是1:1,只有2的n次方的偶數(shù)(如4、8、16等)分頻占空比才是1:1。這種方法對于奇數(shù)、偶數(shù)具有通用性。半整數(shù)分頻器也是在這種方法基礎(chǔ)上實現(xiàn)的。除了一個模N計數(shù)器,還需要一個異或模塊和一個2分頻模塊。半整數(shù)分頻器原理如圖1所示:半整數(shù)分頻器設(shè)計思想:通過異或門和2分頻模塊組成一個改變輸入頻率的脈沖添加電路,也就是說N-0.5個輸入信號周期內(nèi)產(chǎn)生了
11、N個計數(shù)脈沖,即輸入信號其中的一個含一個脈沖的周期變?yōu)楹瑑蓚€脈沖的周期。而這一改變正是輸入頻率與2分頻輸出異或的結(jié)果。由2分頻輸出決定一個周期產(chǎn)生兩個脈沖有兩種方式:當(dāng)一個輸入信號來一個脈沖(前半周期)時,2分頻輸出變?yōu)?,clk_in取反,后半周期就會產(chǎn)生一個脈沖;2分頻輸出由1變?yōu)?時,clk_in剛把一個周期(前半周期)內(nèi)低電平變?yōu)楦唠娖疆a(chǎn)生一個脈沖,而后半周期的脈沖與0異或不變。從而實現(xiàn)N-0.5分頻。要實現(xiàn)奇數(shù)、偶數(shù)、半整數(shù)通用分頻器只需再加一個控制選擇信號sel。當(dāng)sel=1時,clk_in與2分頻輸出異或,實現(xiàn)半整數(shù)分頻;當(dāng)sel=0時,只選通clk_in,實現(xiàn)整數(shù)分頻。通用分頻
12、器原理如圖2所示:Verilog語言的實現(xiàn)本設(shè)計采用層次化的設(shè)計方法,首先設(shè)計通用分頻器中各組成電路元件,然后通過元件例化的方法,調(diào)用各元件,實現(xiàn)通用分頻器。1、選擇異或門模塊half_select:modulehalf_select(sel,a,b,c);outputc;inputsel,a,b;xoru1(w,a,b);assignc=sel?w:a;(當(dāng)sel=1時,clk_in與2分頻輸出異或,實現(xiàn)半整數(shù)分頻;當(dāng)sel=0時,只選通clk_in,實現(xiàn)整數(shù)分頻。)endmodule2、模N計數(shù)器counter_n:實現(xiàn)參數(shù)化設(shè)計N可取2256,也可增加count位數(shù)使N可取更大的值。以N
13、=7為例通過設(shè)置sel分別實現(xiàn)奇數(shù)7分頻和半整數(shù)6.5分頻。modulecounter_n(reset,en,clk_in,clk_out,count);parameterN=7;inputreset,en,clk_in;outputclk_out;output7:0count;regclk_out;reg7:0count;always(posedgeclk_in)beginif(reset)begincount7:0=0;endelseif(en)beginif(count=(N-1)count=0;elsecount=count1;endendalwaysbeginif(Nclk_out=
14、count0;elseif(Nclk_out=count;elseif(Nclk_out=count;elseif(Nclk_out=count;elseif(Nclk_out=count;elseif(Nclk_out=count;elseif(Nclk_out=count;elseif(Nclk_out=count;endendmodule3、2分頻模塊fenpin_2:modulefenpin_2(clk_in,clk_out);inputclk_in;outputclk_out;regclk_out;always(posedgeclk_in)beginclk_out=clk_out;e
15、ndendmodule4、最后通過元件例化的方法,調(diào)用各元件,實現(xiàn)通用分頻器最高層設(shè)計:modulefenpin(reset,en,sel,clk_in,clk_out,count);inputreset,en,sel,clk_in;outputclk_out;output3:0count;half_selectu1(sel,clk_in,b,c);(調(diào)用half_select,元件例化)counter_nu2(reset,en,c,clk_out,count);(調(diào)用counter_n,元件例化)fenpin_2u3(clk_out,b);(調(diào)用fenpin_2,元件例化)endmodule
16、仿真結(jié)果及硬件電路測試當(dāng)sel=0,N=7時,實現(xiàn)奇數(shù)7分頻。如圖3所示當(dāng)sel=1,N=7時,實現(xiàn)半整數(shù)6.5分頻。如圖4所示由此可見,只要改變異或門選通控制sel和N的值就可實現(xiàn)2256之間的任意奇數(shù)、偶數(shù)、半整數(shù)分頻。本設(shè)計在Altera公司的FLEX系列EPF10K10LC84-3型FPGA構(gòu)成的測試平臺上測試通過,性能良好。結(jié)語本文旨在介紹一種進行FPGA開發(fā)時,所需多種分頻的實現(xiàn)方法,如果設(shè)計中所需分頻形式較多,可以直接利用本設(shè)計,通過對程序的稍微改動以滿足自己設(shè)計的要求。如果設(shè)計中需要分頻形式較少,可以利用本設(shè)計部分程序,以節(jié)省資源。用實現(xiàn)基于的通用分頻器 唐曉燕梁光勝王瑋基于F
17、PGA的多種形式分頻的設(shè)計與實現(xiàn)作者:dianzi9 來源:電子技術(shù)交流網(wǎng) 字體:大 中 小 在百度搜索相關(guān)內(nèi)容編輯導(dǎo)讀:基于FPGA的32位浮點FFT處理器的設(shè)計|將軟件編譯并形成有效硬件的方法|DSP HPI口與PC104總線接口的FPGA設(shè)計|5個不朽的法則轉(zhuǎn)帖|基于FPGA的多種形式分頻的設(shè)計與實現(xiàn)|基于FPGA和DSP的音頻采集卡的實現(xiàn)|PLD/FPGA 結(jié)構(gòu)與原理初步|智能家庭:用可編程邏輯器件橋接各種接口標(biāo)準(zhǔn)|紅外動目標(biāo)識別跟蹤系統(tǒng)的DSP+FPGA實現(xiàn)|DVB-C解交織器的FPGA實現(xiàn)|正文: 摘 要: 本文通過在Quarturs
18、開發(fā)平臺下,一種能夠?qū)崿F(xiàn)等占空比、非等占空比整數(shù)分頻及半整數(shù)分頻的通用分頻器的FPGA設(shè)計與實現(xiàn),介紹了利用VHDL硬件描述語言輸入方式,設(shè)計數(shù)字電路的過程。關(guān)鍵詞:FPGA;VHDL硬件描述語言;數(shù)字電路設(shè)計;分頻器 引言 分頻器是數(shù)字系統(tǒng)設(shè)計中的基本電路,根據(jù)不同設(shè)計的需要,我們會遇到偶數(shù)分頻、奇數(shù)分頻、半整數(shù)分頻等,有時要求等占空比,有時要求非等占空比。在同一個設(shè)計中有時要求多種形式的分頻。通常由計數(shù)器或計數(shù)器的級聯(lián)構(gòu)成各種形式的偶數(shù)分頻及非等占空比的奇數(shù)分頻,實現(xiàn)較為簡單。但對半整數(shù)分頻及等占空比的奇數(shù)分頻實現(xiàn)較為困難。本文利用VHDL硬件描述語言,通過Quartus3.0開發(fā)平臺,使
19、用Altera公司的FPGA,設(shè)計了一種能夠滿足上述各種要求的較為通用的分頻器。 一、電路設(shè)計 采用FPGA實現(xiàn)半整數(shù)分頻器,可以采用以下方法:設(shè)計一個模N的計數(shù)器,再設(shè)計一個脈沖扣除電路,每來兩個脈沖扣除一個脈沖,即可實現(xiàn)分頻系數(shù)為N-0.5的分頻器。脈沖扣除電路由異或門和一個2分頻器構(gòu)成。本設(shè)計在半整數(shù)分頻器原理的基礎(chǔ)上,對異或門加一個使能控制信號,通過對異或門和計數(shù)器計數(shù)狀態(tài)值的控制,實現(xiàn)同一個電路完成多種形式分頻,如圖1所示。 二、VHDL語言的實現(xiàn) 現(xiàn)通過設(shè)計一個可以實現(xiàn)8.5分頻,等占空比的17分頻,2、4、8、16、32分頻,及占空比為18和45的9分頻等多種形式分頻的分頻器,介
20、紹該通用分頻器的FPGA實現(xiàn)。 由圖1所示的電路原理圖可知,分頻器由帶使能端的異或門、模N計數(shù)器和一個2分頻器組成,本設(shè)計用D觸發(fā)器來完成2分頻的功能,實現(xiàn)方法是:將觸發(fā)器的Q反輸出端反饋回輸入端D,將計數(shù)器的一個計數(shù)輸出端作為D觸發(fā)器的時鐘輸入端。各功能模塊的VHDL語言實現(xiàn)如下。 1模N計數(shù)器的實現(xiàn) 一般設(shè)計中用到計數(shù)器時,我們可以調(diào)用lpm庫中的計數(shù)器模塊,也可以采用VHDL語言自己設(shè)計一個模N計數(shù)器。本設(shè)計采用VHDL語言設(shè)計一個最大模值為16的計數(shù)器。輸入端口為:使能信號en,復(fù)位信號clr和時鐘信號clk;輸出端口為:qa、qb、qc、qd。其VHDL語言描述略。2帶使能控制的異或
21、門的實現(xiàn) 輸入端為:xor_en:異或使能,a和b:異或輸入;輸出端為:c:異或輸出。當(dāng)xor_en為高電平時,c輸出a和b的異或值。當(dāng)xor_en為低電平時,c輸出信號b。其VHDL語言略。 32分頻(觸發(fā)器)的實現(xiàn) 輸入端為:時鐘信號clk,輸入信號d;輸出端為:q:輸出信號a,q1:輸出信號a反。其VHDL語言略。 4分頻器的實現(xiàn) 本設(shè)計采用層次化的設(shè)計方法,首先設(shè)計實現(xiàn)分頻器電路中各組成電路元件,然后通過元件例化的方法,調(diào)用各元件,實現(xiàn)整個分頻器。其VHDL語言略。 三、仿真結(jié)果及硬件電路的測試 本設(shè)計的目的是通用性和簡易性,只要對上述程序稍加改動即可實現(xiàn)多種形式的分頻。
22、1實現(xiàn)8.5分頻和等占空比的17分頻 只要將上述程序中,調(diào)用計數(shù)器模塊時端口qa、qb、qc匹配為open狀態(tài),同時置xor_en為高電平即可。從編譯報告看出總共占用8個邏輯單元(logic elements),其仿真波形如圖24所示。 圖 圖二 &
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 考程規(guī)劃試題及答案解答
- 公司租賃合同范文(20篇)
- 技術(shù)項目設(shè)計開發(fā)合同(4篇)
- 嵌入式技術(shù)的國際合作試題及答案
- 產(chǎn)品研發(fā)技術(shù)合作協(xié)議簽訂備忘錄
- 咖啡廳場地租賃合同
- 節(jié)能環(huán)保項目投資合作合同
- 技術(shù)轉(zhuǎn)讓與技術(shù)服務(wù)合同協(xié)議書
- 軟件測試的未來發(fā)展趨勢與試題及答案
- 茶葉委托加工合同協(xié)議書
- 頸內(nèi)動脈海綿竇瘺
- 工業(yè)4.0和中國制造2025
- 子宮內(nèi)膜增生
- 品牌視覺形象設(shè)計智慧樹知到答案章節(jié)測試2023年天津科技大學(xué)
- YY/T 1850-2023男用避孕套聚氨酯避孕套的技術(shù)要求與試驗方法
- 擠壓工試卷合集
- GB/T 3101-1993有關(guān)量、單位和符號的一般原則
- GB/T 2624.1-2006用安裝在圓形截面管道中的差壓裝置測量滿管流體流量第1部分:一般原理和要求
- 2023年上海高考語文試卷+答案
- 小學(xué)數(shù)學(xué)西南師大六年級下冊五總復(fù)習(xí) 列方程解決問題D
- 景觀園林設(shè)計收費的標(biāo)準(zhǔn)
評論
0/150
提交評論