課程設(shè)計(jì)(論文)基于FPGA的verilog頻率計(jì)設(shè)計(jì)_第1頁(yè)
課程設(shè)計(jì)(論文)基于FPGA的verilog頻率計(jì)設(shè)計(jì)_第2頁(yè)
課程設(shè)計(jì)(論文)基于FPGA的verilog頻率計(jì)設(shè)計(jì)_第3頁(yè)
課程設(shè)計(jì)(論文)基于FPGA的verilog頻率計(jì)設(shè)計(jì)_第4頁(yè)
課程設(shè)計(jì)(論文)基于FPGA的verilog頻率計(jì)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、電 子 科 技 大 學(xué) (基于 fpga 的頻率計(jì)設(shè)計(jì)) 題目 :簡(jiǎn)易頻率計(jì)的設(shè)計(jì) 指導(dǎo)教師: 姓名 : 學(xué)號(hào) : 專業(yè) :光電學(xué)院一專業(yè) 摘要 本文主要介紹了基于 fpga 的簡(jiǎn)易多量程頻率計(jì)的設(shè)計(jì),使用硬件 描述語(yǔ)言 verilog 來(lái)實(shí)現(xiàn)對(duì)硬件的控制,在軟件 ise 上實(shí)現(xiàn)編程的編 譯綜合,在系統(tǒng)時(shí)鐘 48mhz 下可正常工作。該數(shù)字頻率計(jì)采用測(cè)頻 的方法,能準(zhǔn)確的測(cè)量頻率在 10hz 到 100mhz 之間的信號(hào)。使用 modelsim 仿真軟件對(duì) verilog 程序做了仿真,并完成了綜合布局布 線,通過(guò) ise 下載到 spartan3a 開發(fā)板上完成測(cè)試。 關(guān)鍵詞:fpga ,v

2、erilog,ise,測(cè)頻方法 abstractabstract this paper mainly introduces the simple more range based on fpga design of frequency meter,use hardware description language verilog to realize the control of hardware,in the software realize the compilation of the programming ise on comprehensive,in the system clock

3、 can work normally under 48 mhz。the digital frequency meter frequency measurement method used, can accurate measurement frequency in 10 hz to 100 mhz of signals between。use modelsim simulation software verilog program to do the simulation, and completed the overall layout wiring,through the ise down

4、loaded to spartan3a development board complete test。 keywords: : fpga, verilog, ise, frequency measurement 目 錄 第一章第一章 測(cè)量原理與方法測(cè)量原理與方法 1.1測(cè)頻方法 1.2測(cè)周方法 1.3等精度測(cè)量法 1.4放大整形電路 1.5時(shí)基信號(hào)產(chǎn)生 第二章第二章 任務(wù)要求任務(wù)要求 第三章第三章 各模塊功能及介紹各模塊功能及介紹 3.1 分頻器 3.2 閘門選擇器 3.3 頻率計(jì)數(shù)器 3.4 鎖存器 3.5 掃描顯示控制譯碼系統(tǒng) 第四章第四章 頂層電路及總體仿真頂層電路及總體仿真 4.1

5、頂層電路 4.2 總體仿真結(jié)果 4.3 測(cè)試結(jié)果 第一章:測(cè)量原理與方法 所謂“頻率”,就是周期性信號(hào)在單位時(shí)間(秒)內(nèi)變化的次數(shù)。若在一定的時(shí) 間間隔 t 內(nèi)計(jì)數(shù),計(jì)得某周期性信號(hào)的重復(fù)變化次數(shù)為 n,則該信號(hào)的頻率可 表達(dá)為: f = n / t 所以測(cè)量頻率就要分別知道 n 和 t 的值,由此,測(cè)量頻率的方法一般 有三種:測(cè)頻方法、測(cè)周方法和等精度測(cè)量。 1.1 測(cè)頻方法 這種方法即已知時(shí)基信號(hào)(頻率或周期確定)做門控信號(hào),t 為已知量, 然后在門控信號(hào)有效的時(shí)間段內(nèi)進(jìn)行輸入脈沖的計(jì)數(shù),原理圖如下圖所示: 首先,被測(cè)信號(hào)(以正弦波為例)經(jīng)過(guò)放大整形后轉(zhuǎn)變成方波脈沖,其重 復(fù)頻率等于被測(cè)信

6、號(hào)頻率。把方波脈沖加到閘門的輸入端。由一個(gè)高穩(wěn)定的 石英振蕩器和一系列數(shù)字分頻器組成了時(shí)基信號(hào)發(fā)生器,它輸出時(shí)間基準(zhǔn)(或頻 率基準(zhǔn))信號(hào)去控制門控電路形成門控信號(hào),門控信號(hào)的作用時(shí)間 t 是非常 準(zhǔn)確的(由石英振蕩器決定)。門控信號(hào)控制閘門的開與閉,只有在閘門開通的 時(shí)間內(nèi),方波脈沖才能通過(guò)閘門成為被計(jì)數(shù)的脈沖由計(jì)數(shù)器計(jì)數(shù)。閘門開 通的時(shí)間稱為閘門時(shí)間,其長(zhǎng)度等于門控信號(hào)作用時(shí)間 t。比如,時(shí)間基準(zhǔn)信 號(hào)的重復(fù)周期為 1s,加到閘門的門控信號(hào)作用時(shí)間 t 亦準(zhǔn)確地等于 1s,即閘 門的開通時(shí)間“閘門時(shí)間”為 1s。在這一段時(shí)間內(nèi),若計(jì)數(shù)器計(jì)得 n=100000 個(gè)數(shù),根據(jù)公式 f = n /

7、t,那么被測(cè)頻率就是 100000hz。如果計(jì)數(shù) 式頻率計(jì)的顯示器單位為“khz”,則顯示 100.000khz,即小數(shù)點(diǎn)定位在第三 位。不難設(shè)想,若將閘門時(shí)間設(shè)為 t=0.1s,則計(jì)數(shù)值為 10000,這時(shí),顯示器 的小數(shù)點(diǎn)只要根據(jù)閘門時(shí)間 t 的改變也隨之自動(dòng)往右移動(dòng)一位(自動(dòng)定位),那 么,顯示的結(jié)果為 100.00khz。在計(jì)數(shù)式數(shù)字頻率計(jì)中,通過(guò)選擇不同的閘門 時(shí)間,可以改變頻率計(jì)的測(cè)量范圍和測(cè)量精度。 1.2 測(cè)周方法 測(cè)周方法即:被測(cè)信號(hào)(頻率或周期待測(cè))做門控信號(hào),t 為未知量,做門 控信號(hào) t,然后在門控信號(hào)有效的時(shí)間段內(nèi)對(duì)時(shí)基信號(hào)脈沖計(jì)數(shù),原理圖如下 圖所示: 計(jì)數(shù)器測(cè)周的

8、基本原理剛好與測(cè)頻相反,即由被測(cè)信號(hào)控制主門開門,而 用時(shí)標(biāo)脈沖進(jìn)行計(jì)數(shù),所以實(shí)質(zhì)上也是一種比較測(cè)量方法。 1.3 等精度測(cè)量法 等精度測(cè)量法的核心思想是通過(guò)閘門信號(hào)與被測(cè)信號(hào)同步,將閘門時(shí)間 控制為被測(cè)信號(hào)周期長(zhǎng)度的整數(shù)倍。測(cè)量時(shí),先打開預(yù)置閘門,當(dāng)檢測(cè)到被測(cè) 信號(hào)脈沖沿到達(dá)時(shí),標(biāo)準(zhǔn)信號(hào)時(shí)鐘開始計(jì)數(shù)。預(yù)置閘門關(guān)閉時(shí),標(biāo)準(zhǔn)信號(hào)并不 立即停止計(jì)數(shù),而是等檢測(cè)到被測(cè)信號(hào)脈沖沿到達(dá)時(shí)才停止,完成被測(cè)信號(hào)整 數(shù)個(gè)周期的測(cè)量。測(cè)量的實(shí)際閘門時(shí)間可能會(huì)與預(yù)置閘門時(shí)間不完全相同,但 最大差值不會(huì)超過(guò)被測(cè)信號(hào)的一個(gè)周期。 在等精度測(cè)量法中,相對(duì)誤差與被測(cè)信號(hào)本身的頻率特性無(wú)關(guān),即對(duì)整個(gè) 測(cè)量域而言,測(cè)量精度相

9、等,因而稱之為“等精度測(cè)量”。標(biāo)準(zhǔn)信號(hào)的計(jì)數(shù)值越 大則測(cè)量相對(duì)誤差越小,即提高門限時(shí)間 和標(biāo)準(zhǔn)信號(hào)頻率可以提高測(cè)量 精度。在精度不變的情況下,提高標(biāo)準(zhǔn)信號(hào)頻率可以縮短門限時(shí)間,提高測(cè)量 速度。原理圖如下: 1.4 放大整形電路 當(dāng)輸入信號(hào)為 0.5v 時(shí),仿真放大整形后的輸出結(jié)果如下圖示 圖 1-6 放大整形電路仿真結(jié)果(一) 當(dāng)輸入信號(hào)為 3v 時(shí),仿真放大整形后的輸出結(jié)果如下圖示: 當(dāng)輸入信號(hào)為 10v 時(shí),仿真放大整 形后的輸出結(jié)果如下圖示: 圖 1-6 放大整形電路仿真結(jié)果(三) 1.5 時(shí)基信號(hào)的產(chǎn)生 圖 1-7 時(shí)基信號(hào)產(chǎn)生電路 第二章:任務(wù)要求 設(shè)計(jì)一個(gè)計(jì)數(shù)式頻率計(jì),其頻率測(cè)量范

10、圍為 10hz100mhz,測(cè)量結(jié)果用 6 只數(shù)碼管顯示。有三個(gè)帶鎖按鍵開關(guān)(任何時(shí)候都只能有一個(gè)被按下)被用來(lái)選 擇 1s、0.1s 和 0.01s 三個(gè)閘門時(shí)間中的一個(gè)。有一個(gè)按鈕開關(guān)用來(lái)使頻率計(jì)復(fù) 位。有兩只 led,一只用來(lái)顯示閘門的開與閉,另一只當(dāng)計(jì)數(shù)器溢出時(shí)做溢出 指示。 第三章:各功能模塊的基本介紹 3.1 分頻器 由于晶體振蕩器提供的為 48m 的時(shí)鐘,而在整個(gè)頻率計(jì)里將用到周期為 2s、0.2s 和 0.02s 的閘門信號(hào),還有譯碼顯示的掃描信號(hào) 1khz ,所以我們?cè)诖?模塊先分頻產(chǎn)生 1hz、10hz、100hz、1khz 四個(gè)分頻信號(hào),以留作其它模塊用。 分頻分別采用

11、4 個(gè)計(jì)數(shù)器來(lái)實(shí)現(xiàn),當(dāng)計(jì)到一定的值時(shí)輸出的分頻信號(hào)翻轉(zhuǎn), 最后分別獲得 4 個(gè)分頻輸出,分頻器模塊如下圖所示: 此模塊的復(fù)位為同步方式,當(dāng)復(fù)位有效時(shí),輸出將清零。 源程序如下: module clk_div(reset, clk,clk_1hz, clk_10hz, clk_100hz,clk_1khz); input reset,clk; output reg clk_1hz,clk_10hz,clk_100hz,clk_1khz; reg 29:0 counter1,counter2,counter3,counter4; /分頻計(jì)數(shù)值 always (posedge clk or nege

12、dge reset) begin if(!reset) begin counter1=0;counter2=0;counter3=0;counter4=0; clk_1hz=0;clk_10hz=0;clk_100hz=0;clk_1khz=0; endelse begin if(counter1=2400000) begin counter1=0;clk_1hz=clk_1hz; end else begin counter1=counter1+1; end if(counter2=240000) begin counter2=0;clk_10hz=clk_10hz;end else beg

13、in counter2=counter2+1; end if(counter3=24000) begin counter3=0;clk_100hz=clk_100hz; end else begin counter3=counter3+1; end if(counter4=2400) begin counter4=0;clk_1khz=clk_1khz; end else begin counter4=counter4+1; end end end endmodule 仿真圖如下所示: 3.2 閘門選擇器: 該模塊主要實(shí)現(xiàn)對(duì)閘門的選擇功能,通過(guò)輸入的門選信號(hào)來(lái)確定輸出的閘 門,生成的模塊如下圖

14、所示: 具體實(shí)現(xiàn)方法如下:當(dāng)三個(gè)門選信號(hào)中有且僅有門選信號(hào) gate_ch1 有效時(shí), reg 變量 gate 為 clk_1hz ,當(dāng)三個(gè)門選信號(hào)中有且僅有門選信號(hào) gate_ch2 有效 時(shí),reg 變量 gate 為 clk_10hz;當(dāng)三個(gè)門選信號(hào)中有且僅有門選信號(hào) gate_ch3 有效時(shí),reg 變量 gate 為 clk_100hz。reg 變量 gate 再二分頻則是輸出的閘門信 號(hào) gate_out(dot 為標(biāo)記信號(hào),標(biāo)記了當(dāng)前閘門的選擇情況)。如果同時(shí)有兩個(gè) 或以上的門 另外輸出的譯碼掃描信號(hào)為 clk_1khz ,供后面的掃描譯碼模塊使用 程序如下:module gat

15、e_sel(reset,gate_ch1,gate_ch2,gate_ch3, clk_1hz,clk_10hz,clk_100hz,clk_1khz, gate_outdot); input reset,gate_ch1,gate_ch2,gate_ch3, clk_1hz,clk_10hz,clk_100hz,clk_1khz; output reg gate_out; output reg 2:0dot; always (posedge clk_1khz or negedge reset) begin if(!reset) begin gate_out=0;dot=3b111;end e

16、lse begin if(gate_ch1=0) dot=3b011;end else if(gate_ch1=1)dot=3b010;end else if(gate_ch1=1)dot=3b001;end else begin gate_out=0;dot=3b111;end end end endmodule 3.3 頻率計(jì)計(jì)數(shù) 頻率計(jì)數(shù)器的功能為在輸入的閘門信號(hào)的控制下對(duì)輸入脈沖時(shí)行計(jì)數(shù),它是一 個(gè) 7 拉的模十計(jì)數(shù)器。生成的模塊如下圖所示: 當(dāng) gate_out 信號(hào)為高時(shí)才計(jì)數(shù)器才計(jì)數(shù),在 gate_out 為低后,馬上將此時(shí) 計(jì)數(shù)的值 cnt 賦給輸出 cnte ,然后當(dāng)輸入 c

17、arry_in 信號(hào)再過(guò)一個(gè)脈沖后降計(jì)數(shù) 的值 cn 清零,以備下次閘門有效時(shí)又重新開始計(jì)數(shù)。源程序如下: module count(carry_in,gate_out,reset, cnte0,cnte1,cnte2,cnte3,cnte4,cnte5,cnte6); input carry_in,gate_out,reset; output reg 3:0 cnte0,cnte1,cnte2,cnte3,cnte4,cnte5,cnte6;/在每一次閘門有效時(shí)讀數(shù)/器傳遞的計(jì)數(shù)值 reg 3:0 cnt0,cnt1,cnt2,cnt3,cnt4,cnt5,cnt6; /計(jì)數(shù)器的 6 個(gè)計(jì)數(shù)

18、值 reg 2:0 counter6; / 延遲將 counter-num 清零的計(jì)數(shù)值 always (posedge carry_in or negedge reset) begin if(!reset) begin cnt0=4b0000;cnt1=4b0000;cnt2=4b0000;cnt3=4b0000; cnt4=4b0000;cnt5=4b0000;cnt6=4b0000;/判斷是否溢出 cnte0=4b0000;cnte1=4b0000;cnte2=4b0000; cnte3=4b0000;cnte4=4b0000;cnte5=4b0000;counter6=0; end e

19、lse begin if(gate_out=1) begin counter6=0; if(cnt5=4b1001)cnt1=4b0000;cnt2=4b0000;cnt3=4b0000; cnt4=4b0000;cnt5=4b0000;cnt6=cnt6+4b0001;end else begin if(cnt4=4b1001) cnt1=4b0000; cnt2=4b0000; cnt3=4b0000; cnt4=4b0000; cnt5=4b0001+cnt5; cnt6=cnt6; end else begin if(cnt3=4b1001) cnt1=4b0000; cnt2=4b0

20、000; cnt3=4b0000; cnt4=4b0001+cnt4; cnt5=cnt5; cnt6=cnt6; end else begin if(cnt2=4b1001) cnt1=4b0000; cnt2=4b0000; cnt3=4b0001+cnt3; cnt4=cnt4; cnt5=cnt5; cnt6=cnt6; end else begin if(cnt1=4b1001) cnt1=4b0000; cnt2=4b0001+cnt2; cnt3=cnt3; cnt4=cnt4; cnt5=cnt5;cnt6=cnt6; end else begin if(cnt0=4b1001

21、) begin cnt0=4b0000; cnt1=4b0001+cnt1; cnt2=cnt2; cnt3=cnt3; cnt4=cnt4; cnt5=cnt5; cnt6=cnt6; end else begin cnt0=4b0001+cnt0; cnt1=cnt1; cnt2=cnt2; cnt3=cnt3; cnt4=cnt4; cnt5=cnt5; cnt6=cnt6; end end end end end end end else begin if(counter6=2b01) begin cnt0=4b0000; cnt1=4b0000; cnt2=4b0000; cnt3=

22、4b0000; cnt4=4b0000; cnt5=4b0000; cnt6=4b0000; end else begin counter6=counter6+1; cnte0=cnt0; cnte1=cnt1; cnte2=cnt2;cnte3=cnt3; cnte4=cnt4; cnte5=cnt5; cnte6=cnt6; end end end end endmodule 3.4 鎖存器 如果計(jì)數(shù)器輸出直接與譯碼器相連接,那么在計(jì)數(shù)過(guò)程中輸出端則隨輸入 脈沖數(shù)的增加而不斷跳變,那么顯示數(shù)碼管則也會(huì)不斷閃爍跳變,讓人不能看 到穩(wěn)定的輸出,設(shè)鎖存器后,則不再跳變,便可清晰讀出計(jì)數(shù)結(jié)果。其生

23、成的 功能模塊如圖所示: 這模塊實(shí)現(xiàn)了對(duì)七位計(jì)數(shù)結(jié)果的鎖存功能。程序很簡(jiǎn)單如下所示: module data_latch(latch_enable,reset,num0, num 1, num 2, num 3, num 4, num 5,over, n_0,n_1,n_2,n_3,n_4,n_5,over_out); input reset,latch_enable,over; input 3:0 num 0, num 1, num 2, num 3, num 4, num 5; output reg 3:0n_0,n_1,n_2,n_3,n_4,n_5; output reg over_o

24、ut; reg over_old,over_new; always (negedge latch_enable or negedge reset) begin if(!reset) begin n_0=4b0000; n_1=4b0000; n_2=4b0000; n_3=4b0000; n_4=4b0000; n_5=4b0000; end else begin n_0=digi0; n_1=digi1;n_2=digi2; n_3=digi3; n_4=digi4; n_5=digi5; end end always(negedge latch_enable) begin over_new=over; end always(over_new) begin if(over_old=1)over_old=over_new; end else begin over_out=1;over_old=over_new; end end endmodule 3.5 掃描顯示譯碼系統(tǒng) 本模塊在掃描信號(hào)的 clk-1khz 的控制下,對(duì)多路選擇器進(jìn)行掃描,實(shí)現(xiàn)對(duì) 實(shí)現(xiàn)對(duì)六位已經(jīng)鎖存的計(jì)數(shù)結(jié)果的掃描輸出,由于人眼的視覺(jué)暫留效應(yīng),

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論