量程自動轉(zhuǎn)換數(shù)字頻率計的設(shè)計_第1頁
量程自動轉(zhuǎn)換數(shù)字頻率計的設(shè)計_第2頁
量程自動轉(zhuǎn)換數(shù)字頻率計的設(shè)計_第3頁
量程自動轉(zhuǎn)換數(shù)字頻率計的設(shè)計_第4頁
量程自動轉(zhuǎn)換數(shù)字頻率計的設(shè)計_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、西北師范大學(xué)知行學(xué)院EDA課程設(shè)計說明書 系 別 專業(yè)班級 學(xué)生姓名 學(xué) 號 指導(dǎo)教師 量程自動轉(zhuǎn)換數(shù)字頻率計的設(shè)計一、設(shè)計目標(biāo):A 設(shè)計一個3位十進(jìn)制數(shù)字式頻率計,其測量范圍為1MHz,量程分10kHz,100kHz和1MHz三檔(最大讀數(shù)分別為9.99kHz,99.9kHz,999kHz)。被測信號應(yīng)是一符合CMOS電路要求的脈沖或正弦波。B 要求量程可根據(jù)被測量的頻率大小自動轉(zhuǎn)換,即當(dāng)計數(shù)器溢出時,產(chǎn)生一個換擋信號,讓整個計數(shù)時間減少為原來的1/10,從而實(shí)現(xiàn)換擋功能。C 要求實(shí)現(xiàn)溢出報警功能,即當(dāng)頻率高于999kHz時,產(chǎn)生一個報警信號,點(diǎn)亮LED燈,從而實(shí)現(xiàn)溢出報警功能。D 小數(shù)點(diǎn)位

2、置隨量程變化自動移位。E 采用記憶顯示方式,即計數(shù)過程中不顯示數(shù)據(jù),待計數(shù)過程結(jié)束后,顯示計數(shù)結(jié)果,并將此顯示結(jié)果保持到下一次計數(shù)結(jié)束。顯示時間應(yīng)不小于1秒。二、設(shè)計思路及實(shí)現(xiàn)方案:1. 頻率計的工作原理:常用的測量頻率的方法有兩種,一種是測周期法,一種是測頻率法。測周期法需要有基準(zhǔn)系統(tǒng)時鐘頻率Fs,在待測信號一個周期Tx內(nèi),記錄基準(zhǔn)系統(tǒng)時鐘頻率的周期數(shù)Ns,則被測頻率可表示為:Fx=Fs/Ns 測頻率法就是在一定時間間隔Tw(該時間定義為閘門時間)內(nèi),測得這個周期性信號的重復(fù)變換次數(shù)為Nx,則其頻率可表示為:Fx=Nx/Tw 本設(shè)計采用的是直接測頻率的方法。2. 頻率計的原理框圖:頻率計的系

3、統(tǒng)設(shè)計可分為3位十進(jìn)制計數(shù)模塊,閘門控制模塊,譯碼顯示模塊,可自動換擋模塊和分頻模塊。其原理框圖如下:分頻模塊可自動換擋模塊閘門控制模塊3位十進(jìn)制計數(shù)模塊譯碼顯示模塊其中,可自動換擋模塊為閘門控制模塊提供3個擋,也就是三個測量范圍的基準(zhǔn)時鐘信號,通過計數(shù)器的最高位的溢出情況來判定工作在第幾擋。 閘門控制模塊根據(jù)基準(zhǔn)時鐘信號產(chǎn)生基準(zhǔn)時鐘信號周期2倍的周期使能信號,隨后為鎖存器產(chǎn)生一周期性地鎖存信號,再然后為計數(shù)模塊產(chǎn)生一周期性的清零信號。 3位十進(jìn)制計數(shù)模塊在使能信號和清零信號的控制下對被測信號的波形變化進(jìn)行計數(shù),若產(chǎn)生溢出則為自動換擋模塊輸出一換擋信號。 譯碼顯示模塊顯示被測信號的頻率。三、設(shè)

4、計步驟1. 分頻模塊: 輸入信號為4MHZ的高頻脈沖,經(jīng)過分頻器后得到1KHZ的脈沖。分頻器的代碼如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fenping2 isport(clk : in std_logic;clk_out : out std_logic);end fenping2;architecture behavior of fenping2 is begin process(clk) variable count: integer range 0 to 1999

5、; variable x: std_logic; begin if clkevent and clk=1 then if count1999then count:=count+1; else count:=0; x:=not x; end if; end if; clk_out0) ; elsif CLKevent and CLK=1 then if EN = 1 then if CQ1 0); end if; end if; end if; if CQ1 = 9 then COUNT = 1; else COUNT = 0; end if; CQ = CQ1; end process;end

6、 behav;以上源程序編譯成功后,生成計數(shù)器模塊如下:3位十進(jìn)制計數(shù)模塊為:3.閘門控制模塊: 以基準(zhǔn)信號的周期為一秒為例,頻率測量的基本原理是計算一秒內(nèi)待測信號的脈沖個數(shù),這就要求能產(chǎn)生一個周期為2秒,占空比為50%的周期信號TSTEN。用這個信號作為計數(shù)器的EN輸入端,使其計數(shù)時間正好為1秒。當(dāng)TSTEN為高電平時,計數(shù)開始,低電平時,計數(shù)停止。在計數(shù)器停止期間,首先要產(chǎn)生一個鎖存信號LOAD,用其上升沿控制鎖存器REG12將之前的計數(shù)結(jié)果存入鎖存器中,并由顯示模塊將其顯示出來。設(shè)置鎖存器是為了讓顯示穩(wěn)定,不會因?yàn)橹芷谛缘那辶阈盘柺沟脭?shù)值不斷閃爍。鎖存之后需有一清零信號CLR_CNT將計

7、數(shù)器清零,為下一秒的計數(shù)操作做準(zhǔn)備。 閘門控制模塊的VHDL源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity testctl is port (clk : in std_logic; clr_cnt : out std_logic; tsten : out std_logic; load : out std_logic ); end testctl;architecture behav of testctl issignal a:std_logic;begin proces

8、s(clk) begin if clkevent and clk=1 then a=nota; end if; end process; process(clk,a) if a=0 and clk=0 then clr_cnt=1; else clr_cnt=0; end if; end process; load=not a; tsten y =input0;o y =input1; o y =input2; o y=0;o=1;end case;end process;end behav;生成的模塊為:仿真波形為:當(dāng)輸入為0000時:當(dāng)輸入為0001時:當(dāng)輸入為0010時:當(dāng)輸入為0011

9、時:可以看到,設(shè)計完全符合要求,o端可以作為量程溢出標(biāo)志。綜上,量程自動轉(zhuǎn)換模塊為:4. 譯碼顯示模塊:譯碼顯示模塊的設(shè)計分為顯示鎖存器的設(shè)計,七段數(shù)碼顯示譯碼器的設(shè)計和小數(shù)點(diǎn)顯示模塊的設(shè)計3部分。顯示鎖存器是在計數(shù)結(jié)束后,利用load信號的上升沿把最新計數(shù)結(jié)果保存起來。其源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity reg12 isport(load : in std_logic;din0,din1,din2: in std_logic_vector(3 downto

10、 0);dout0,dout1,dout2: out std_logic_vector(3 downto 0);end reg12;architecture behav of reg12 isbegin process(load) begin if loadevent and load=1then dout0=din0; dout1=din1; dout2tmptmptmptmptmptmptmptmptmptmptmptmptmptmptmptmpdangdangdangdang=111; end case;end process;end one;經(jīng)編譯后生成的模塊為:四、結(jié)論 綜合仿真時,

11、為了直觀的讀出所測頻率值,沒有加七段數(shù)碼顯示譯碼器。為了便于仿真,clk_in端輸入為1us(是1ms的0.001倍),sig輸入端也同樣變?yōu)榇郎y信號的0.001倍,這樣得到的仿真結(jié)果仍為待測信號的頻率值。當(dāng)clk_in端輸入1us,sig端輸入200ns時(即頻率為5KHz):仿真結(jié)果為:從仿真圖中可以看到,dian端輸出為4,對應(yīng)0擋,鎖存器輸出為5,即5KHz,符合要求。 當(dāng)clk_in端輸入1us,sig端輸入40ns時(即頻率為25KHz):仿真結(jié)果為:從仿真圖中可以看到,開始是dian端為4,對應(yīng)0擋,輸出為0KHz,量程太小要求換擋;第二個時基后,dian端為2,對應(yīng)1擋,輸出為

12、25KHz,此后就穩(wěn)定的顯示此數(shù)值,符合要求。 當(dāng)clk_in端輸入1us,sig端輸入4ns時(即頻率為250KHz):仿真結(jié)果為:從仿真圖中可以看到,經(jīng)過兩次換擋后,第三個時基后,dian端為1,對應(yīng)2擋,輸出為249KHz,此后就穩(wěn)定的顯示此數(shù)值,符合要求。當(dāng)clk_in端輸入10us,sig端輸入4ns時(即頻率為2500KHz):仿真結(jié)果為:從仿真圖可以看到,經(jīng)過三次換擋后,量程都沒符合要求,即產(chǎn)生了溢出,此時yichu端產(chǎn)生高脈沖,可作為溢出報警信號。 綜上可以看出,頻率計的設(shè)計完全符合要求。五、心得體會:通過EDA課程設(shè)計,我不僅加深了對EDA理論的理解,更將理論很好地應(yīng)用到實(shí)際當(dāng)中

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論