EDA課程設(shè)計(jì)基于fpga的數(shù)字頻率計(jì)_第1頁(yè)
EDA課程設(shè)計(jì)基于fpga的數(shù)字頻率計(jì)_第2頁(yè)
EDA課程設(shè)計(jì)基于fpga的數(shù)字頻率計(jì)_第3頁(yè)
EDA課程設(shè)計(jì)基于fpga的數(shù)字頻率計(jì)_第4頁(yè)
EDA課程設(shè)計(jì)基于fpga的數(shù)字頻率計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(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、 第17頁(yè) 共 15 頁(yè) 摘 要 等精度頻率計(jì)在工業(yè)生產(chǎn)中具有很重要的作用,它在儀表測(cè)量領(lǐng)域扮演著重要的角色,它應(yīng)用等精度測(cè)頻原理,其測(cè)量精度優(yōu)于普通頻率計(jì)?;趥鹘y(tǒng)測(cè)頻原理的頻率計(jì)的測(cè)量精度將隨被測(cè)信號(hào)頻率的下降而降低,在實(shí)用中有較大的局限性,而等精度頻率計(jì)不但具有較高的測(cè)量精度,而且在整個(gè)頻率區(qū)域能保持恒定的測(cè)試精度。本次設(shè)計(jì)頻率測(cè)量范圍為2k999khz,作品已經(jīng)與dds信號(hào)源搭配成功的完成了調(diào)試,其測(cè)量精度高,性能穩(wěn)定。本次設(shè)計(jì)方案是基于fpga完成全系統(tǒng)設(shè)計(jì),應(yīng)用altera公司的cyclone ii芯片構(gòu)成系統(tǒng)主體。本次設(shè)計(jì)的軟件部分應(yīng)用vhdl語(yǔ)言。應(yīng)用 quartus ii 6

2、.0完成系統(tǒng)的設(shè)計(jì),具有較高的靈活性與可靠性。關(guān)鍵詞:等精度;頻率計(jì);fpga;vhdlabstract equal accuracy cymometer play a very important role in the frequency of industrial production and in the field of measurement instrumentation, the application of precision frequency measurement principle, the accuracy is better than ordinary cymom

3、eter. the cymometer based on the principles of traditional frequency measurement of the accuracy will face more practical limitations when the frequency of the signal decrease.the equal accuracy cymometer not only has high accuracy, but also maintain constant accuracy in the whole frequency region.t

4、he frequency of this design is in the range of 2 k-999khz, it has been works with dds signal generator successfully,completed with the commissioning, its high precision,stable performance.key words:equal accuracy; cymometer;fpga;vhdl目 錄引言 11 設(shè)計(jì)功能及要求12 等精度測(cè)頻原理13 fpga概述33.1 fpga概念 33.2 設(shè)計(jì)工具quartus ii

5、6.0 44 詳細(xì)設(shè)計(jì)方案55 結(jié)論12謝 辭 13參考文獻(xiàn) 14附 錄 15引言頻率測(cè)量是電子測(cè)量的重要領(lǐng)域。頻率的測(cè)量已越來(lái)越受到重視,長(zhǎng)度、電壓等參數(shù)也可以轉(zhuǎn)化為與頻率測(cè)量有關(guān)的技術(shù)來(lái)確定。本設(shè)計(jì)通過(guò)等精度頻率測(cè)量的方法完成,基于fpga完成了系統(tǒng)的設(shè)計(jì),系統(tǒng)的可靠性優(yōu)于常規(guī)元件組合而成的電路,系統(tǒng)工作頻率高,穩(wěn)定性也更好。通過(guò)對(duì)作品進(jìn)行調(diào)試運(yùn)行,證明了該設(shè)計(jì)方案的實(shí)際測(cè)量效果,該設(shè)計(jì)方案切實(shí)可行,能達(dá)到較高的頻率測(cè)量精度。1 設(shè)計(jì)功能及要求1.1 設(shè)計(jì)等精度頻率計(jì),頻率測(cè)量范圍為2k999k。1.2 應(yīng)用fpga完成系統(tǒng)的設(shè)計(jì)。1.3 通過(guò)6位動(dòng)態(tài)數(shù)碼管完成頻率數(shù)據(jù)的顯示。2 等精度測(cè)

6、頻原理 等精度測(cè)頻技術(shù)的實(shí)際閘門(mén)時(shí)間不是固定的值,而是被測(cè)信號(hào)的整周期倍,即與被測(cè)信號(hào)同步,因此消除了對(duì)被測(cè)信號(hào)計(jì)數(shù)時(shí)產(chǎn)生的1個(gè)字誤差,測(cè)量精度大大提高,而且達(dá)到了在整個(gè)測(cè)量頻段的等精度測(cè)量,其波形圖如圖1所示。圖1 等精度測(cè)頻波形圖在測(cè)量過(guò)程中,有兩個(gè)計(jì)數(shù)器分別對(duì)標(biāo)準(zhǔn)信號(hào)和被測(cè)信號(hào)同時(shí)計(jì)數(shù)。首先給出閘門(mén)開(kāi)啟信號(hào)(預(yù)置閘門(mén)上升沿),此時(shí)計(jì)數(shù)器并不開(kāi)始計(jì)數(shù),而是等到被測(cè)信號(hào)的上升沿到來(lái)時(shí),計(jì)數(shù)器才真正開(kāi)始計(jì)數(shù)。然后預(yù)置閘門(mén)關(guān)閉信號(hào)(下降沿)到時(shí),計(jì)數(shù)器并不立即停止計(jì)數(shù),而是等到被測(cè)信號(hào)的上升沿到來(lái)時(shí)才結(jié)束計(jì)數(shù),完成一次測(cè)量過(guò)程。可以看出,實(shí)際閘門(mén)時(shí)間與預(yù)置閘門(mén)時(shí)間1并不嚴(yán)格相等,但差值不超過(guò)被測(cè)

7、信號(hào)的一個(gè)周期 。等精度測(cè)頻具體實(shí)現(xiàn)方法可簡(jiǎn)化為圖2所示cnt1和cnt2是兩個(gè)可控計(jì)數(shù)器,標(biāo)準(zhǔn)頻率(fs)信號(hào)從cnt1的時(shí)鐘輸入端clk輸入;經(jīng)整形后的被測(cè)信號(hào)(fx)從cnt2的時(shí)鐘輸入端clk輸入。如圖3所示 圖2 等精度測(cè)頻原理框圖圖3 閘門(mén)控制信號(hào)產(chǎn)生圖設(shè)在一次實(shí)際閘門(mén)時(shí)間中計(jì)數(shù)器對(duì)被測(cè)信號(hào)的計(jì)數(shù)值為nx,對(duì)標(biāo)準(zhǔn)信號(hào)的計(jì)數(shù)值為ns。標(biāo)準(zhǔn)信號(hào)的頻率為fs,則被測(cè)信號(hào)的頻率為由式(1)可知,若忽略標(biāo)頻fs的誤差,則等精度測(cè)頻可能產(chǎn)生的相對(duì)誤差為=(|fxc-fx|/fxe)100% (2)其中fxe為被測(cè)信號(hào)頻率的準(zhǔn)確值。在測(cè)量中,由于fx計(jì)數(shù)的起停時(shí)間都是由該信號(hào)的上升測(cè)觸發(fā)的,在閘

8、門(mén)時(shí)間內(nèi)對(duì)fx的計(jì)數(shù)nx無(wú)誤差(=nxtx);對(duì)fs的計(jì)數(shù)ns最多相差一個(gè)數(shù)的誤差,即|ns|1,其測(cè)量頻率為fxe=nx/(ns+ns)/fs (3)將式(1)和(3)代入式(2),并整理得:=|ns|/ns1/ns=1/(fs)=|ns|/ns1/ns=1/(fs)由上式可以看出,測(cè)量頻率的相對(duì)誤差與被測(cè)信號(hào)頻率的大小無(wú)關(guān),僅與閘門(mén)時(shí)間和標(biāo)準(zhǔn)信號(hào)頻率有關(guān),即實(shí)現(xiàn)了整個(gè)測(cè)試頻段的等精度測(cè)量。閘門(mén)時(shí)間越長(zhǎng),標(biāo)準(zhǔn)頻率越高,測(cè)頻的相對(duì)誤差就越小。標(biāo)準(zhǔn)頻率可由穩(wěn)定度好、精度高的高頻率晶體振蕩器產(chǎn)生,在保證測(cè)量精度不變的前提下,提高標(biāo)準(zhǔn)信號(hào)頻率,可使閘門(mén)時(shí)間縮短,即提高測(cè)試速度。每個(gè)計(jì)數(shù)器中的cen輸

9、入端為時(shí)鐘使能端控制時(shí)鐘輸入。當(dāng)預(yù)置門(mén)信號(hào)為高電平(預(yù)置時(shí)間開(kāi)始)時(shí),被測(cè)信號(hào)的上升沿通過(guò)d觸發(fā)器的輸出端,同時(shí)啟動(dòng)兩個(gè)計(jì)數(shù)器計(jì)數(shù);同樣,當(dāng)預(yù)置門(mén)信號(hào)為低電平(預(yù)置時(shí)間結(jié)束)時(shí),被測(cè)信號(hào)的上升沿通過(guò)d觸發(fā)器的輸出端,同時(shí)關(guān)閉計(jì)數(shù)器的計(jì)數(shù)。系統(tǒng)由分頻器、計(jì)數(shù)器1、計(jì)數(shù)器2、d觸發(fā)器等組成。分頻器出來(lái)的信號(hào)作為等精度測(cè)頻原理的預(yù)置閘門(mén)信號(hào)。其中d觸發(fā)器,計(jì)數(shù)器2和計(jì)數(shù)器1的作用與前2頁(yè)圖中所示相同。運(yùn)算模塊就是完成公式(1)的運(yùn)算。復(fù)位主要對(duì)分頻、計(jì)數(shù)器1和計(jì)數(shù)器2進(jìn)行清零操作。3 fpga概述3.1 fpga概念fpga是英文fieldprogrammable gate array的縮寫(xiě),即現(xiàn)場(chǎng)

10、可編程門(mén)陣列,它是在pal、gal、epld等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(asic)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數(shù)有限的缺點(diǎn)。 fpga采用了邏輯單元陣列l(wèi)ca(logic cell array)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊clb(configurable logic block)、輸出輸入模塊iob(input output block)和內(nèi)部連線(interconnect)三個(gè)部分。fpga的基本特點(diǎn)主要有: 1)采用fpga設(shè)計(jì)asic電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。 -2)fp

11、ga可做其它全定制或半定制asic電路的中試樣片。 3)fpga內(nèi)部有豐富的觸發(fā)器和io引腳。 4)fpga是asic電路中設(shè)計(jì)周期最短、開(kāi)發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。 5) fpga采用高速chmos工藝,功耗低,可以與cmos、ttl電平兼容。 可以說(shuō),fpga芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。 目前fpga的品種很多,有xilinx公司的virtex系列、ti公司的tpc系列、altera公司的stratix系列等。 fpga是由存放在片內(nèi)ram中的程序來(lái)設(shè)置其工作狀態(tài)的,因此,工作時(shí)需要對(duì)片內(nèi)的ram進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。加電

12、時(shí),fpga芯片將eprom中數(shù)據(jù)讀入片內(nèi)編程ram中,配置完成后,fpga進(jìn)入工作狀態(tài)。掉電后,fpga恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,fpga能夠反復(fù)使用。fpga的編程無(wú)須專用的fpga編程器,只須用通用的eprom、prom編程器即可。當(dāng)需要修改fpga功能時(shí),只需換一片eprom即可。這樣,同一片fpga,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,fpga的使用非常靈活。 fpga有多種配置模式:并行主模式為一片fpga加一片eprom的方式;主從模式可以支持一片prom編程多片fpga;串行模式可以采用串行prom編程fpga;外設(shè)模式可以將fpga作為微處理器的外設(shè),由微

13、處理器對(duì)其編程。3.2 設(shè)計(jì)工具quartus ii 6.0altera的可編程邏輯器件設(shè)計(jì)工具隨著altera公司在推出各種可編程邏輯器件的同時(shí)也在不斷升級(jí)。從早期的aplus、maxplus發(fā)展到 目前的 maxplus、quartus、quartus。maxplus 和 quartus 具有可視化的設(shè)計(jì)環(huán)境,具有工業(yè)標(biāo)準(zhǔn) eda工具接口,可以運(yùn)行在多種操作平臺(tái)上。quartus 提供了一種與結(jié)構(gòu)無(wú)關(guān)的設(shè)計(jì)環(huán)境,設(shè)計(jì)人員不需要精通器件的內(nèi)部結(jié)構(gòu),只需要運(yùn)用自己熟悉的輸入工具(如原理圖輸入或高級(jí)行為描述語(yǔ)言)進(jìn)行設(shè)計(jì),利用quartus可以將這些設(shè)計(jì)轉(zhuǎn)換為最終結(jié)構(gòu)所需要的格式。有關(guān)結(jié)構(gòu)的詳細(xì)

14、知識(shí)已裝入開(kāi)發(fā)工具軟件,設(shè)計(jì)人員無(wú)須手工優(yōu)化自己的設(shè)計(jì),因此設(shè)計(jì)速度非??臁J褂胵uartus軟件開(kāi)發(fā)可編程邏輯器件,包括設(shè)計(jì)輸入、項(xiàng)目編譯、設(shè)計(jì)校驗(yàn)及器件編程等過(guò)程。maxplus和 quartus提供了全面的邏輯設(shè)計(jì)能力,設(shè)計(jì)人員可將文本、圖形和波形等設(shè)計(jì)方法自由組合,建立起層次化的單器件或多器件設(shè)計(jì)。編譯過(guò)程完成最小化邏輯綜合、適配設(shè)計(jì)項(xiàng)目于單個(gè)器件或多個(gè)器件以及形成編程和配置數(shù)據(jù)等工作。設(shè)計(jì)校驗(yàn)包括功能仿真、時(shí)序仿真、影響速度的關(guān)鍵路徑的延時(shí)預(yù)測(cè)以及多種系列器件混合使用的多器件仿真。quartus是altera的新一代設(shè)計(jì)開(kāi)發(fā)軟件,支持apex20k、apex、excalibur、me

15、rcury以及stratix等新器件系列。為了縮短設(shè)計(jì)周期和降低設(shè)計(jì)復(fù)雜度,quartus 含有工作組計(jì)算、集成邏輯分析功能、eda工具集成、多過(guò)程支持、增強(qiáng)重編譯和ip集成等特性。quartus軟件加強(qiáng)了網(wǎng)絡(luò)功能,它具有最新的internet技術(shù),設(shè)計(jì)人員可以直接通過(guò)internet獲得 altera的技術(shù)支持。quartus的安裝需要的pc機(jī)系統(tǒng)配置:奔騰或更好的pc機(jī),256 mb以上的有效內(nèi)存,不低于 128 mb的物理內(nèi)存,1.5 gb以上的硬盤(pán)空間,windows 98、windows 2000或windows nt 3.51、windows nt 4.0操作系統(tǒng),17英寸顯示器。

16、與maxplus一樣,quartus也分為商業(yè)版和基本版。通過(guò)edif網(wǎng)表文件、sram目標(biāo)文件(.sof)參數(shù)化的模塊庫(kù)(lpm)、 verilog hdl、vhdl及designware組件來(lái)共享信息, quartus和maxplus軟件可與 cadence、mentor graphics、orcad、synopsys、synplicity、exemplar logic及 viewlogic等許多公司提供的多種 eda工具接口。quartus能夠調(diào)用其它工具進(jìn)行綜合仿真,其它eda工具也能夠直接調(diào)用 quartus工具進(jìn)行設(shè)計(jì)編輯。4 詳細(xì)設(shè)計(jì)方案 本次設(shè)計(jì)采用原理圖、vhdl、veril

17、og hdl與lpm宏單元庫(kù)結(jié)合設(shè)計(jì)而成。頂層文件為為原理圖設(shè)計(jì)。如圖4所示。圖4 頂層文件原理圖被測(cè)信號(hào)技術(shù)模塊采用vhdl語(yǔ)言描述完成:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count isport( bclk:in std_logic; tclk:in std_logic; bzq1:out std_logic_vector(15 downto 0); tsq1:out std_logic_vector(15 downto 0); clr:in std_logic;

18、start:out std_logic); end count;architecture behave of count issignal bzq:std_logic_vector(15 downto 0);signal tsq:std_logic_vector(15 downto 0);signal ena:std_logic;signal q1:std_logic_vector(6 downto 0);signal cl: std_logic;begin tsq1=tsq;bzq1=bzq; start=ena; process (bclk) begin if bclkevent and

19、bclk=1 then if clr=1 then q1=0000000; cl=0; elsif q1=1111111 then q1=1111111; cl=0; else q1=q1+1;cl=1; end if; end if; end process;process (tclk)begin if tclkevent and tclk=1 then if clr=1 then tsq0);ena=0; elsif cl=1 then tsq=tsq+1;ena=1; else ena=0; end if; end if; end process;process (bclk)begin

20、if bclkevent and bclk=1 then if clr=1 then bzq0); elsif ena=1 then bzq=bzq+1; end if; end if; end process;end behave;由公式1可知在實(shí)際閘門(mén)時(shí)間內(nèi)被測(cè)信號(hào)周期數(shù)nx需要與標(biāo)準(zhǔn)時(shí)鐘相乘,此乘法環(huán)節(jié)由原理圖5與verilog hdl語(yǔ)言結(jié)合完成圖5 乘法器頂層圖module multip(clk,tclk,out1,rst);input clk;input rst;input26:0 tclk;output26:0 out1;reg26:0 out1;reg26:0 q5;reg26

21、:0 q6;reg26:0 q7;reg26:0 q8;reg26:0 q9;reg26:0 q10;reg26:0 q11;always (posedge clk or negedge rst)beginif (rst=1b0) out1=27b0;elseq5 =tclk19;q6 =tclk18;q7 =tclk17;q8 =tclk16;q9 =tclk14;q10 =tclk9;q11 =tclk6;out1 =q5+q6+q7+q8+q9+q10+q11;end endmodule由公式一可知nx與fs相乘后需與ns相除,此處調(diào)用lpm宏單元庫(kù)。如圖6所示。圖6 lpm除法器產(chǎn)生器

22、生成的除法器為27位除法器,內(nèi)部設(shè)有流水線設(shè)計(jì),除法運(yùn)算延遲一個(gè)時(shí)鐘周期,產(chǎn)生的除法器如下圖7所示: 圖7 除法器模塊除法器產(chǎn)生的16位數(shù)據(jù)字即為被測(cè)信號(hào)的頻率字,是bin二進(jìn)制代碼,如果要在數(shù)碼管顯示必須經(jīng)過(guò)bin-bcd轉(zhuǎn)換,此轉(zhuǎn)換應(yīng)用vhdl語(yǔ)言描述:library ieee;use ieee.std_logic_1164.all;use ieee.numeric_std.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity bin_bcd isport( datain:in std_logic_v

23、ector(23 downto 0); dataout:out std_logic_vector(23 downto 0) );end entity;architecture rt1 of bin_bcd issignal temp5,temp4,temp3,temp2,temp1,temp0:std_logic_vector(3 downto 0);signal nn:integer range 0 to 4194303;-16位的2進(jìn)制beginprocess(datain,nn,temp5,temp4,temp3,temp2,temp1,temp0)beginnn=conv_intege

24、r (datain);temp5=conv_std_logic_vector(nn/100000,4);-百ktemp4=conv_std_logic_vector(nn/10000-(nn/100000)*10,4);-十ktemp3=conv_std_logic_vector(nn/1000-(nn/10000)*10,4);-千位temp2=conv_std_logic_vector(nn/100-(nn/1000)*10,4);-百位temp1=conv_std_logic_vector(nn/10-(nn/100)*10,4);-十位temp0=conv_std_logic_vect

25、or(nn-(nn/10)*10,4);-個(gè)位end process;dataout=temp5&temp4&temp3&temp2&temp1&temp0;end rt1;動(dòng)態(tài)數(shù)碼管掃描程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity segmain isport(clk:in std_logic; rst:in std_logic; datain:in std_logic_vector(23 downto 0); dataout:out std_logic_vector(3

26、downto 0); ledcom:out std_logic_vector(5 downto 0);end segmain;architecture behav of segmain issignal comclk:std_logic_vector(2 downto 0);signal bcd_led:std_logic_vector(3 downto 0);begin process(rst,clk) begin if rst=1 then comclk=5 then comclk=000;elsecomclk=comclk+1;end if;end if;end process;proc

27、ess(comclk)begin if comclk=000 then ledcom=000001; elsif comclk=001 then ledcom=000010;elsif comclk=010 then ledcom=000100;elsif comclk=011 then ledcom=001000;elsif comclk=100 then ledcom=010000;else ledcom=100000;end if;end process;process(comclk,datain)begin if comclk=000 then bcd_led=datain(3 dow

28、nto 0); elsif comclk=001 then bcd_led=datain(7 downto 4); elsif comclk=010 then bcd_led=datain(11 downto 8); elsif comclk=011 then bcd_led=datain(15 downto 12); elsif comclk=100 then bcd_led=datain(19 downto 16); else bcd_led=datain(23 downto 20);end if;end process;dataout dout dout dout dout dout dout

溫馨提示

  • 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)論