數(shù)字頻率計是直接用十進制數(shù)字來顯示被測信號頻率的一種測量裝置_第1頁
數(shù)字頻率計是直接用十進制數(shù)字來顯示被測信號頻率的一種測量裝置_第2頁
數(shù)字頻率計是直接用十進制數(shù)字來顯示被測信號頻率的一種測量裝置_第3頁
數(shù)字頻率計是直接用十進制數(shù)字來顯示被測信號頻率的一種測量裝置_第4頁
數(shù)字頻率計是直接用十進制數(shù)字來顯示被測信號頻率的一種測量裝置_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于vhdl語言的數(shù)字頻率計的設(shè)計數(shù)字頻率計是直接用十進制數(shù)字來顯示被測信號頻率的一種測量裝置。它不僅可以 測量正弦波、方波、三角波、尖脈沖信號和其他具有周期特性的信號的頻率,而且還可以測 量它們的周期。經(jīng)過改裝,可以測量脈沖寬度,做成數(shù)字式脈寬測量儀;可以測量電容做成 數(shù)字式電容測量儀;在電路中增加傳感器,述可以做成數(shù)字脈搏儀、計價器等。因此數(shù)字頻 率計在測量物理量方面應(yīng)用廣泛。本設(shè)計用vhdl在cpld器件上實現(xiàn)數(shù)字頻率計測頻系 統(tǒng),能夠用十進制數(shù)碼顯示被測信號的頻率,能夠測量正眩波、方波和三角波等信號的頻率, 而且還能對其他多種物理量進行測量。具有體積小、可靠性高、功耗低的特點。數(shù)字頻率

2、計 是計算機、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測量儀器。采用vdhl編程設(shè) 計實現(xiàn)的數(shù)字頻率計,除被測信號的整形部分、鍵輸入部分和數(shù)碼顯示部分以外,其余全部 在一片fpga芯片上實現(xiàn),整個系統(tǒng)非常精簡,而且具有靈活的現(xiàn)場可更改性。在不更改 硬件電路的基礎(chǔ)上,對系統(tǒng)進行各種改進還可以進一步提高系統(tǒng)的性能。該數(shù)字頻率訃具有 高速、精確、可靠、抗干擾性強和現(xiàn)場可編程等優(yōu)點。目前,數(shù)字頻率計在擴張測量范圍,提高測量精度,穩(wěn)定度等方面己經(jīng)日趨完善,成熟。 應(yīng)用現(xiàn)代技術(shù)可以輕松的將數(shù)字頻率計的測暈上限擴展到微波頻段。隨著科學(xué)技術(shù)的發(fā)展用 戶對數(shù)字頻率計也提出了新的要求,對于低檔產(chǎn)品要求使用操作方

3、便,量程足夠?qū)?,可靠?高,價格低,對于高檔產(chǎn)品要求高分辨率,高精度,高穩(wěn)定度,高測量速率,除通常所用頻 率計功能外還要有數(shù)據(jù)處理功能,統(tǒng)計分析功能,時域分析功能等等,或者包含電壓測量等 其他功能,這些功能己經(jīng)實現(xiàn)或者部分實現(xiàn),但要真正完美實現(xiàn)這些目標還有許多工作要做。 數(shù)字頻率計測頻有兩種方法:一是直接測頻,即在一定閘門時間內(nèi)測量被測信號的脈沖個數(shù)。 二是間接測頻,如周期測頻。直接測頻適用于高頻信號的頻率測量,間接測頻適用于低頻信 號的頻率測量,在一定閘門吋i'可內(nèi)測量被測信號的脈沖個數(shù)制成的數(shù)字頻率計具有精度高, 測量范圍寬,便于實現(xiàn)測量過程自動化等一系列的突出特點.我們都知道,頻

4、率信號易于傳輸,抗干擾性強,可以獲得較好的測量精度。因此,頻率 檢測是電子測量領(lǐng)域最基本的測量之一。頻率計的基本原理是用一個頻率穩(wěn)定度高的頻率源 作為基準時蝕,對比測量其他信號的頻率。通常情況下計算每秒內(nèi)待測信號的脈沖個數(shù),即 閘門吋i'可為is。閘門吋i'可可以根據(jù)需要取值,大于或小于1s都可以。閘門吋間越長,得到 的頻率值就越準確,但閘門時間越長,則每測一次頻率的間隔就越長。閘門時間越短,測得 的頻率值刷新就越快,但測得的頻率精度就受影響。一般取is作為閘門時間。在“自頂向下”的設(shè)計屮,首先需要進行行為設(shè)計,確定該電子系統(tǒng)或vlsi芯片的功能、 性能及允許的芯片面積和成本等

5、。接著進行結(jié)構(gòu)設(shè)計,根據(jù)該電子系統(tǒng)或芯片的特點,將其 分解為接口清晰、相互關(guān)系明確、盡可能簡單的子系統(tǒng),得到一個總體結(jié)構(gòu)。這個結(jié)構(gòu)可能 包括算術(shù)運算單元、控制單元、數(shù)據(jù)通道、各種算法狀態(tài)機等。下一步是把結(jié)構(gòu)轉(zhuǎn)換成邏輯 圖,即進行邏輯設(shè)計。接著進行電路設(shè)計,邏輯圖將進一步轉(zhuǎn)化成電路圖。在很多情況下, 這時需進行硬件仿真,以最終確定邏輯設(shè)計的正確性。最后是進行版圖設(shè)計,即將電路圖轉(zhuǎn) 化成版圖。傳統(tǒng)的硬件設(shè)計采用自底向上(bottom_up)的設(shè)計方法。這種設(shè)計方法在系統(tǒng)的設(shè)計 后期進行仿真和調(diào)試,一旦考慮不周,系統(tǒng)設(shè)計存在較大缺陷,就有可能重新設(shè)計系統(tǒng),使 設(shè)計周期大大增加?!白缘紫蛏稀钡脑O(shè)計,一

6、般是在系統(tǒng)劃分和分解的基礎(chǔ)上先進行單元設(shè) 計,在單元的精心設(shè)計后逐步向上進行功能塊沒計,然后再進行子系統(tǒng)的設(shè)計,最后完成系 統(tǒng)的總體設(shè)計。數(shù)字頻率計的關(guān)鍵組成部分包括測頻控制信號發(fā)生器、計數(shù)器、鎖存器、譯碼驅(qū)動電路和顯 示電路,其原理框圖如圖1所示。圖1 數(shù)字頻率計原理框圖數(shù)字頻率計實際上是一個脈沖計數(shù)器,即在單位時間內(nèi)計脈沖個數(shù)就可以得到信號頻率,頻 率是計核心由計數(shù)器和脈沖信號發(fā)生器閘門電路、鎖存器、顯示器等組成。工作過程為。單 位時間內(nèi)脈沖控制閘門電路被測信號在1s內(nèi)通過閘門,經(jīng)計數(shù)器在單位時間內(nèi)脈沖結(jié)束, 同吋關(guān)閉閘門電路完成計數(shù)值鎖存,之后將計數(shù)器清零為下一次鎖存做準備鎖存數(shù)據(jù)直接送

7、 到譯碼顯示。可控制計數(shù)鎖存,譯碼顯示系統(tǒng)使計數(shù)按照一定工作程序有條理地工作。(如 計數(shù)t顯示t清零t準備t下次測量)如果在系統(tǒng)中不接鎖存器,顯示器上的數(shù)字就會隨計 數(shù)器狀態(tài)不停地變化,只有在計數(shù)器停止時數(shù)字才會穩(wěn)定所以在計數(shù)后必須接鎖存器 設(shè)計一個四位十進制的數(shù)字頻率計,要求具有以下功能:(1) 測量范圍:1hz1 okhzo(2) 測量誤差5 1%。(3) 響應(yīng)時間w15s。(4) 顯示時間不少于lso(5) 具有記憶顯示的功能,即在測量的過程中不刷新數(shù)據(jù),等數(shù)據(jù)過程結(jié)束后才顯示測量結(jié) 果,給11!待測信號的頻率值,并保存到下一次測量結(jié)束。3.2模塊的劃分根據(jù)系統(tǒng)設(shè)計要求,系統(tǒng)設(shè)計采用自頂

8、向下的設(shè)計方法,系統(tǒng)的組成框圖如圖3. 1所示,包 括時基產(chǎn)生與測頻時序控制電路模塊,以及待測信號脈沖計數(shù)電路模塊和鎖存與譯碼顯示控 制電路模塊。待測信號f_inzl0:6圖3.1數(shù)字頻率計的組成框圖時基產(chǎn)生與測頻時序控制電路模塊時基產(chǎn)生與測頻時序控制電路的主要產(chǎn)生計數(shù)允許信號en、清零信號clr和鎖存信號locko(2) 待測信號脈沖計數(shù)電路模塊待測信號脈沖計數(shù)電路是対待測脈沖信號的頻率進行測量,它可由4個十進制加法計數(shù)器組 成,其中en為計數(shù)選通控制信號,clr為計數(shù)器清零信號。在計數(shù)器清零信號clr清零 后,當計數(shù)選通控制信號en有效時,開始對待測信號進行計數(shù)。如果計數(shù)選通控制信號 en

9、的寬度為is,那么計數(shù)結(jié)果就為待測信號的頻率;如果計數(shù)選通信號en的寬度為100ms, 那么待測信號的頻率等于計數(shù)結(jié)果x10o(3) 鎖存與譯碼顯示控制電路模塊鎖存與譯碼顯示控制電路用于實現(xiàn)記憶顯示,在測量過程中不刷新新的數(shù)據(jù),直到測量過程 結(jié)束后,鎖存顯示測量結(jié)果,并且保存到下一次測量結(jié)束。鎖存與譯碼顯示電路的功能是對四位bcd碼進行鎖存,并轉(zhuǎn)換為對應(yīng)的4組七段碼,用于 驅(qū)動數(shù)碼管。3.3設(shè)計分析采用vhdl語言設(shè)計一個復(fù)雜的電路系統(tǒng),運用自頂向下的設(shè)計思想,將系統(tǒng)按功能逐層 分割的層次化設(shè)計方法進行設(shè)計。在頂層對內(nèi)部各功能塊的連接關(guān)系和對外的接口關(guān)系進行 了描述,而功能塊的邏輯功能和具體實

10、現(xiàn)形式則由下一層模塊來描述。各功能模塊采用 vhdl語言來描述。時基產(chǎn)生與測頻時序控制電路模塊的vhdl源程序程序 ctrl.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ctrl isport(clk: in std.logic;系統(tǒng)時鐘lock: out std.logic;鎖存信號en:outstd.logic;計數(shù)允許信號clr: out std.logic);-清零信號end;architecture art of ctrl issignal q: std_logi

11、c_vector(3 downto 0); 定義變量beginprocess(clk)beginif(clk eventand clk=t)then檢測時鐘上升沿if q二t111”thenq<=h0000n;計數(shù)大于15,清零elseqv=q+t;允許計數(shù)end if;end if;en<=not q(3);lock<=q(3) and not(q(2) and q(l);clr<=q(3) and q(2) and not(q(1);end process;end art;程序主要講述了由吋鐘信號產(chǎn)生計數(shù)允許信號、清零信號和鎖存信號,而且限定了響應(yīng) 時間為不超過15

12、so4.2待測信號脈沖計數(shù)電路模塊的vhdl源程序4.2.1十進制加法計數(shù)器的vhdl源程序程序 cblo.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cb10isport(clk,en,clr: in std_logic;count 10:buffer std_l0gic_vect0r(3 downto 0);-計數(shù)輸信號end cb10;architecture art of cb10 is結(jié)構(gòu)體beginprocess(clk,clr,en)beginif clr=&

13、#39; r thencount 10<=n0()0()m; 計數(shù)器清零elsif rising_edge(clk) then檢測時鐘上升沿if(en二t) then-檢測是否允許計數(shù)if count 10二” 1001” thencount10<=n0000m;計數(shù)值滿9清零elsecount 10<=count 10+t;允許計數(shù)end if;end if;end if;end process;end art;程序主要講述了十進制加法計數(shù)器的使用,在符合了一定的標準以后十進制的使用,在 計數(shù)器滿9后清零。4.2.2待測信號脈沖計數(shù)器的vhdl源程序程序 count.vhd

14、library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count isport(clk: in std.logic;待測時鐘信號en: in std_logic;計數(shù)選通控制信號clr: in std.logic;-計數(shù)器清零信號qa,qb,qc,qd: buffer std_logic_vector(3 downto 0); 結(jié)果輸出信號end;architecture art of count iscomponentcb10元件cb10引用說明語句port(clk,en,clr: in

15、 std_log1c;count 10:buffer std_logic_vector(3 downto 0); 計數(shù)輸出信號end component;signal clk2: std.logic;signal clk3: std.logic;signal clk4: std.logic;beginclk2<=not qa(3);clk3<=not qb(3);clk4<=not qc(3);ul:cb10 port map(clk,en,clr,qa);u2:cb10 port map(clk2,en,clr,qb);u3:cbi0 port map(clk3,en,cl

16、r,qc);u4:cb10 port map(clk4,en,clr,qd);元件引用例示元件引用例示-元件引用例示元件引用例示end art;4.3鎖存與譯碼顯示控制電路模塊的vhdl源程序4.3.1譯碼顯示電路的vhdl源程序程序 bcd7.vhdlibrary ieee;use ieee.std_logic_1164.all;entity bcd7 isport(bcd: in std_logic_vector(3 downto 0);-bcd 輸入信號led: out std_logic_vector(6 downto 0);-七段譯碼輸出信號end;architecture art

17、of bcd7 is-對照七段字形顯示譯碼器真beginled<=,01111ir, when bcd=',0000,' else值表”0000110“ when bcd二”0001“ elset 011011 “ when bcd=”0010" elset()()l 111” when bcd=h0011u else m110011 o'* when bcd=m0100” else ”1101101“ when bcd二”0101” else ”1111101” when bcd=h0110“ else "0000111" when

18、 bcd=m0111" else t111111 “ when bcd二t 000“ else ”1101111” when bcd=h 1001" else ”0000000”;end art;程序主要講述了七段譯碼器的顯示問題,對應(yīng)的給出了信號輸入過程屮七段譯碼器的各 種顯示。4.3.2鎖存與譯碼顯示控制模塊的vhdl源程序程序 lock.vhdlibrary ieee;use ieee.std logic 1164.all;entity lock isport(lock:in std_logic;qa,qb,qc,qd:in std_logic_vector(3 do

19、wnto 0);leda,ledb,ledc,ledd: out std_logic_vector(6 downto 0);頻率計數(shù)輸出end;architecture art of lock issignal qal,qbl,qcl,qdl: std_logic_vector(3 downto 0);component bcd7元件bcd7引用說明語句port(bcd: in std_logic_vector(3 downto 0);led: out std_logic_vector(6 downto 0);end component;beginprocess(lock) beginif(l

20、ock'event and lock三 1 ')then檢測時鐘上升沿qal<=qa;qbl<=qb;qcl<=qc;qdl<=qd;end if;end process;u0: bcd7 port map(qal,leda);ul: bcd7 port map(qbl,ledb);元件引用例示元件引用例示u2: bcd7 port map(qcl,ledc);u3: bcd7 port map(qdl,ledd);元件引用例示-元件引用例示end art;程序主要講述了調(diào)用七段譯碼器的顯示,將輸入的信號經(jīng)過譯碼之后在七段譯碼器上進 行顯示。4.4頂層電

21、路的vhdl源程序程序 pinlvji.vhdlibrary ieee;use ieee.std_logic_1164.all;entity pinlvji isport(f_in,clk:in std_logic;ent,lockt,clrt: buffer std_logic;z1 ,z2,z3,z4:out std_logic_vector(6 downto 0);end pinlvji;architecture art of pinlvji issignal ens,locks,clrs: std_logic;signal qas,qbs,qcs,qds: std_logic_vect

22、or(3 downto 0); component ctrl元件ctrl弓i用說明語句port(clk:in std.logic;en,lock,clr: out std_logic);end component;component count-元件count引用說明語句port(clk,en,clr: in std.logic;qa,qb,qc,qd: out std_logic_vector(3 downto 0);-元件lock引用說明語句in std_logic;in std_logic_vector(3 downto 0);end component;component lockpo

23、rt(lock:qa,qb,qc,qd:leda,ledb,ledc,ledd: out std_logic_vector(6 downto 0);end component;beginentv 二 ens;lockt<=locks;clrtv 二 clrs;u1:ctrl port map(clk,ens,locks,clrs);元件引用例示u2:count port map(f_in,ens,clrs,qas,qbs,qcs,qds); 元件引用例示 u3:lock port map(locks,qas,qbs,qcs,qds,z1,z2,z3,z4);-元件引用例示 end art

24、;數(shù)字頻率計波形仿真5. 1時基產(chǎn)生與測頻時序控制電路模塊的仿真圖5.1時基產(chǎn)生與測頻時序控制模塊的仿真圖圖5. 2時基產(chǎn)生與測頻時序控制電路模塊的仿真圖的詳細圖5.1顯示的是時基產(chǎn)牛與測頻時序控制電路模塊的仿真圖,很鮮明的給出 了時鐘信號與計數(shù)允許信號、清零信號和鎖存信號的關(guān)系,而圖5. 2更加詳細 的給出了計數(shù)允許信號、清零信號和鎖存信號與變量q之間所存在的相對應(yīng)的關(guān) 系。52待測信號脈沖計數(shù)電路模塊的仿真5.2.1十進制加法計數(shù)器的仿真圖5. 3顯示的是十進制加法計數(shù)器的仿真圖,它詳細的給岀了計數(shù)輸岀信號 與計數(shù)允許信號和清零信號z間的關(guān)系,能清楚的理解當clr為0時,輸出為0; 在e7

25、為1選通有效后,則開始計數(shù)。5. 2. 2待測信號脈沖計數(shù)器的仿真value: r,60.0ns100.0ns150.0ns200.0ns250.0ns300.0nso.ons400.0nsiiiiiiii100d1d8d9domrt7 xnin $ nin 1 nin 9 nnn ioi l 1 hini9ionenuclr tf-clk 參qa 參qb 參qcwqdnu.uno圖5. 4測信號脈沖計數(shù)器的仿真圖5. 4顯示的是測信號脈沖計數(shù)器的仿真圖,以圖文的形式更直接的表現(xiàn)了 信號脈沖的計數(shù)值,簡介明了。5.3鎖存與譯碼顯示控制電路模塊的仿真5.3.1譯碼顯示電路的仿真name:靜bcd

26、value:1-20.0ns40.1)ns eo.ons 80.0ns100.0nsiii1/d.ons 140.0ns160.0ns181.0ns2(d.0ns220.0nsiijlh2zmn:8 1jj a lloledb0m01i0omni i m)1011011 i 1001111 1100110 i1101101 i 1111101 i oodoiii limn k1101111 i oom圖5. 5譯碼顯示電路的仿真圖圖5. 5顯示的是譯碼顯示電路的仿真圖,它直接用圖形詮釋了程序中語句的 意思,讓人一目了然,更簡單的了解了模塊的作用。5. 3. 2鎖存與譯碼顯示控制模塊的仿真53.uiis圖5. 6鎖存與譯碼顯示控制電路的仿真圖圖5. 6顯示的是鎖存與譯碼顯示控制電路的仿真圖,給人第一感覺很繁瑣, 但是聯(lián)系程序再看圖就可以很輕松的清楚程序中之前還存在的疑惑也將圖從而 理解透徹。5. 4數(shù)字頻率計系統(tǒng)的仿真iuu.uidvalue- 50.0n$ kd.ons 150.ns 200|0ns

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論