久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

基于FPGA的數(shù)字頻率計設(shè)計報告

時間:2019-05-14 04:27:02下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《基于FPGA的數(shù)字頻率計設(shè)計報告》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《基于FPGA的數(shù)字頻率計設(shè)計報告》。

第一篇:基于FPGA的數(shù)字頻率計設(shè)計報告

電子技術(shù)綜合試驗實驗報告

班級:測控一班

學(xué)號:2907101002

姓名:李大帥 指導(dǎo)老師:李穎

基于FPGA的數(shù)字頻率計設(shè)計報告

一、系統(tǒng)整體設(shè)計

設(shè)計要求:

1、被測輸入信號:方波

2、測試頻率范圍為:10Hz~100MHz

3、量程分為三檔:第一檔:閘門時間為1S時,最大讀數(shù)為999.999KHz

第二檔:閘門時間為0.1S時,最大讀數(shù)為9999.99KHz

第三檔:閘門時間為0.01S時,最大讀數(shù)為99999.9KHz。

4、顯示工作方式:a、用六位BCD七段數(shù)碼管顯示讀數(shù)。

b、采用記憶顯示方法

c、實現(xiàn)對高位無意義零的消隱。

系統(tǒng)設(shè)計原理:

所謂“頻率”,就是周期性信號在單位時間(1秒)內(nèi)變化的次數(shù)。若在一定的時間間隔T內(nèi)計數(shù),計得某周期性信號的重復(fù)變化次數(shù)為N,則該信號的頻率可表達(dá)為:f = N / T.基于這一原理我們可以使用單位時間內(nèi)對被測信號進(jìn)行計數(shù)的方法求得對該信號的頻率測量,具體實現(xiàn)過程簡述如下: 首先,將被測信號①(方波)加到閘門的輸入端。由一個高穩(wěn)定的石英振蕩器和一系列數(shù)字分頻器組成了時基信號發(fā)生器,它輸出時間基準(zhǔn)(或頻率基準(zhǔn))信號③去控制門控電路形成門控信號④,門控信號的作用時間T是非常準(zhǔn)確的(由石英振蕩器決定)。門控信號控制閘門的開與閉,只有在閘門開通的時間內(nèi),方波脈沖②才能通過閘門成為被計數(shù)的脈沖⑤由計數(shù)器計數(shù)。

閘門開通的時間稱為閘門時間,其長度等于門控信號作用時間T。比如,時間基準(zhǔn)信號的重復(fù)周期為1S,加到閘門的門控信號作用時間T亦準(zhǔn)確地等于1S,即閘門的開通時間——“閘門時間”為1S。在這一段時間內(nèi),若計數(shù)器計得N=100000個數(shù),根據(jù)公式f = N / T,那么被測頻率就是100000Hz。如果計數(shù)式頻率計的顯示器單位為“KHz”,則顯示100.000KHz,即小數(shù)點定位在第三位。不難設(shè)想,若將閘門時間設(shè)為T=0.1S,則計數(shù)值為10000,這時,顯示器的小數(shù)點只要根據(jù)閘門時間T的改變也隨之自動往右移動一位(自動定位),那么,顯示的結(jié)果為100.00Khz。在計數(shù)式數(shù)字頻率計中,通過選擇不同的閘門時間,可以改變頻率計的測量范圍和測量精度。

系統(tǒng)單元模塊劃分: 1)分頻器,將產(chǎn)生用于計數(shù)控制的時鐘分別為1HZ,10HZ,100HZ脈沖和1KHZ的用于七段顯示數(shù)碼管掃描顯示的掃描信號。

2)閘門選擇器,用于選擇不同的閘門時間以及產(chǎn)生后續(xù)的小數(shù)點的顯示位置。3)門控電路,產(chǎn)生用于計數(shù)的使能控制信號,清零信號以及鎖存器鎖存信號。4)計數(shù)器,用于對輸入的待測信號進(jìn)行脈沖計數(shù),計數(shù)輸出。

5)鎖存器,用于對計數(shù)器輸出數(shù)據(jù)的鎖存,便于后續(xù)譯碼顯示電路的對數(shù)據(jù)進(jìn)行記憶顯示,同時避免計數(shù)器清零信號對數(shù)據(jù)產(chǎn)生影響。

6)譯碼顯示,用于產(chǎn)生使七段顯示數(shù)碼管的掃描數(shù)字顯示,小數(shù)點顯示的輸出信號,同時對高位的無意義零進(jìn)行消隱。

二、單元電路設(shè)計

1、分頻器:

該電路將產(chǎn)生四個不同頻率的信號輸出,因為電路板上給出了一個48MHZ的晶振,所以我們只需要對48MHZ的信號進(jìn)行適當(dāng)分頻即可得到我們所需的四個不同頻率的信號輸出,我們設(shè)計一個輸入為48MHZ,有四個輸出端分別為1HZ,10HZ和100HZ,1KHZ的分頻器,原程序如下:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity fenpinqi is Port(clk : in STD_LOGIC;clkout1 : out STD_LOGIC;clkout10 : out STD_LOGIC;clkout100 : out STD_LOGIC;clkout1K : out STD_LOGIC);end fenpinqi;

architecture Behavioral of fenpinqi is signal cnt1:integer range 1 to 24000000;signal cnt10:integer range 1 to 2400000;signal cnt100:integer range 1 to 240000;signal cnt1K:integer range 1 to 24000;signal c1:std_logic;signal c2:std_logic;signal c3:std_logic;signal c4:std_logic;begin process(clk)is begin if clk'event and clk='1' then if cnt1<24000000 then

--對cnt1進(jìn)行計數(shù),當(dāng)cnt1未計滿后對其進(jìn)行加1 cnt1<=cnt1+1;elsif cnt1=24000000 then

--cnt1計滿后對其進(jìn)行賦一,并且令c1進(jìn)行翻轉(zhuǎn),然后將c1的值賦給clkout1

c1<=not c1;--由于48MHZ的的信號,前一半的時候c1為0,則后一半是為1,就完成了對信號進(jìn)行分頻,產(chǎn)生了1HZ的信號 cnt1<=1;end if;end if;end process;process(clk)is begin if clk'event and clk='1' then--方法同上

if cnt10<2400000 then cnt10<=cnt10+1;elsif cnt10=2400000 then c2<=not c2;

cnt10<=1;

end if;end if;end process;

process(clk)is begin

if clk'event and clk='1' then

--方法同上

if cnt100<240000 then

cnt100<=cnt100+1;

elsif cnt100=240000 then

c3<=not c3;

cnt100<=1;

end if;end if;end process;

process(clk)is begin

if clk'event and clk='1' then

--方法同上

if cnt1K<24000000 then

cnt1K<=cnt1K+1;

elsif cnt1=24000 then

c4<=not c4;

cnt1K<=1;

end if;end if;end process;clkout1<=c1;clkout10<=c2;clkout100<=c3;clkout1K<=c4;end Behavioral;源文件編寫成功后編譯并生成圖形文件符號如圖:仿真文件編寫如下:

LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;

ENTITY tbb_vhd IS END tbb_vhd;ARCHITECTURE behavior OF tbb_vhd IS COMPONENT fenpinqi 4

BEGIN

END;uut: fenpinqi PORT MAP(clk => clk,clkout1 => clkout1, clkout10 => clkout10, clkout100 => clkout100, clkout1K => clkout1K);PORT(clk : IN std_logic;

clkout1 : OUT std_logic;clkout10 : OUT std_logic;clkout100 : OUT std_logic;clkout1K : OUT std_logic);END COMPONENT;SIGNAL clk : std_logic := '0';SIGNAL clkout1 : std_logic;SIGNAL clkout10 : std_logic;SIGNAL clkout100 : std_logic;SIGNAL clkout1K : std_logic;tb : PROCESS BEGIN

clk<='0';wait for 10 ps;clk<='1';wait for 10 ps;END PROCESS;對該模塊進(jìn)行仿真結(jié)果如下:

有上圖可知分頻器工作正常,產(chǎn)生的個信號也沒有毛刺,結(jié)果十分理想。

2、閘門選擇器:

在這個模塊中我們有四個輸出端和六個輸入端,其中四個輸出端中有一個是頻率輸出端,是通過三個閘門選擇開關(guān)輸入和三個輸入頻率決定的,另外三個輸出端則是用來后面的小數(shù)點控制的,而六個輸入端中的三個是上面分頻器的三個輸出1HZ,10HZ和100HZ,另外三個是電路板上的撥動開關(guān),用來選擇閘門,控制輸出。其原程序和分析如下:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity SELE is Port(SE1 : in STD_LOGIC;

SE10 : in STD_LOGIC;SE100 : in STD_LOGIC;F1HZ : IN STD_LOGIC;F10HZ : IN STD_LOGIC;F100HZ :IN STD_LOGIC;FREF : out STD_LOGIC;DP1 : out STD_LOGIC;DP2 : out STD_LOGIC;DP3 : out STD_LOGIC);end SELE;architecture Behavioral of SELE is begin PROCESS(SE1,SE10,SE100)IS BEGIN IF SE1='1' AND SE10='0' AND SE100='0' THEN

FREF<=F1HZ;--當(dāng)閘門控制在第一檔的時候,令輸出端輸出1HZ輸入端的輸入,小數(shù)點控制dp1有效,dp2,dp3無效

DP1<='0';

DP2<='1';DP3<='1';END IF;IF SE1='0' AND SE10='1' AND SE100='0' THEN

FREF<=F10HZ;

--第二檔,輸出為10HZ,dp2有效

DP1<='1';

DP2<='0';DP3<='1';END IF;IF SE1='0' AND SE10='0' AND SE100='1' THEN

FREF<=F100HZ;

--第三檔,輸出為100HZ,dp3有效

DP1<='1';

DP2<='1';DP3<='0';END IF;END PROCESS;end Behavioral;源代碼編寫完成后保存并生成圖形文件符號如圖:

仿真文件編寫如下:

LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;

ENTITY TTB_vhd IS END TTB_vhd;ARCHITECTURE behavior OF TTB_vhd IS COMPONENT SELE

PORT(SE1 : IN std_logic;

SE10 : IN std_logic;

SE100 : IN std_logic;

F1HZ : IN std_logic;

F10HZ : IN std_logic;

F100HZ : IN std_logic;

FREF : OUT std_logic;

DP1 : OUT std_logic;

DP2 : OUT std_logic;DP3 : OUT std_logic);END COMPONENT;SIGNAL SE1 : std_logic := '1';SIGNAL SE10 : std_logic := '0';SIGNAL SE100 : std_logic := '0';SIGNAL F1HZ : std_logic := '0';SIGNAL F10HZ : std_logic := '0';SIGNAL F100HZ : std_logic := '0';SIGNAL FREF : std_logic;SIGNAL DP1 : std_logic;SIGNAL DP2 : std_logic;SIGNAL DP3 : std_logic;BEGIN uut: SELE PORT MAP(SE1 => SE1,SE10 => SE10,SE100 => SE100,F(xiàn)1HZ => F1HZ,F(xiàn)10HZ => F10HZ,F(xiàn)100HZ => F100HZ,F(xiàn)REF => FREF,DP1 => DP1,DP2 => DP2, DP3 => DP3);

tb : PROCESS BEGIN

F1HZ<='0';FREF<='0';

wait for 100 ns;

F1HZ<='1';FREF<='1';WAIT FOR 100 NS;END PROCESS;END;仿真結(jié)果如圖:

有仿真結(jié)果可知閘門選擇器工作正常,能夠準(zhǔn)確輸出我們所需的信號。

3、門控信號:

在此模塊中有一個輸入端和兩個輸出端,輸入端為上面的閘門選擇器輸出的頻率,兩個輸出端分別為計數(shù)器是能控制信號(鎖存器控制信號),和計數(shù)器清零信號。具體源程序即分析如下:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity CONTROLS is Port(FREF : in STD_LOGIC;GAT : out STD_LOGIC;CLR : out STD_LOGIC);end CONTROLS;

architecture Behavioral of CONTROLS is SIGNAL G1: STD_LOGIC:='0';begin

PROCESS(FREF)IS

BEGIN IF FREF'EVENT AND FREF='1' THEN G1<=NOT G1;--該過程對時鐘信號又一次進(jìn)行分頻,產(chǎn)生出半個周期時間為1的控制信號,作為計數(shù)使能,保證了時間的準(zhǔn)確性

END IF;END PROCESS;PROCESS(FREF,G1)IS

BEGIN IF FREF='0' AND G1='0' THEN CLR<='1';--該過程產(chǎn)生清零信號,即當(dāng)使能信號為無效0同時時鐘為0時,即在技術(shù)始終無效半個時鐘時間后,對計數(shù)器清零

--清零信號高電平有效 ELSE CLR<='0';END IF;END PROCESS;GAT<=G1;--將G1賦給gat輸出端,它是計數(shù)器的使能信號同時也是鎖存器的鎖存信號

end Behavioral;源文件編寫完成后保存編譯并生成圖形文件符號如圖:

仿真文件代碼如下:

LIBRARY ieee;8

USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;

ENTITY TBCON_vhd IS END TBCON_vhd;ARCHITECTURE behavior OF TBCON_vhd IS

BEGIN

END;tb : PROCESS BEGIN

FREF<='0';WAIT FOR 100 NS;FREF<='1';WAIT FOR 100 NS;uut: CONTROLS PORT MAP(FREF => FREF, GAT => GAT, CLR => CLR);COMPONENT CONTROLS PORT(FREF : IN std_logic;

GAT : OUT std_logic;CLR : OUT std_logic);END COMPONENT;SIGNAL FREF : std_logic := '0';SIGNAL GAT : std_logic;SIGNAL CLR : std_logic;END PROCESS;對上面的文件進(jìn)行仿真,結(jié)果如下:

由上圖的仿真結(jié)果可知,控制電路工作正常,輸出信號穩(wěn)定,很理想。同時我們也可以看出來該模塊對分頻器的時鐘輸出的穩(wěn)定性依賴十分嚴(yán)重,一旦分頻器輸出時鐘有毛刺,該控制信號將會完全的無效,這也是為什么我知道上面的分頻器設(shè)計不是最優(yōu)的方案,卻還是采用了上述方法的原因。

4、計數(shù)器:

該模塊實現(xiàn)的功能是對輸入信號脈沖的計數(shù),并正確的輸出結(jié)果和溢出。使用上面的門控信號產(chǎn)生的gat信號控制計數(shù)器的使能端,以實現(xiàn)計數(shù)器的定時計數(shù)。該模塊是使用六個十進(jìn)制計數(shù)器同步并聯(lián)而成的,首先我們設(shè)計用于并聯(lián)的十進(jìn)制計數(shù)器,原程序如下:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;9

entity CNT10 is Port(CLK : in STD_LOGIC;CLR : in STD_LOGIC;

ENA : in STD_LOGIC;CQ : out STD_LOGIC_VECTOR(3 downto 0);CO : out STD_LOGIC);end CNT10;

architecture Behavioral of CNT10 is SIGNAL CQI: STD_LOGIC_VECTOR(3 DOWNTO 0):=“0000”;

--定義中間信號CQI,用于數(shù)據(jù)輸出的循環(huán)計數(shù)

begin

PROCESS(CLK,CLR)IS

end Behavioral;

BEGIN IF CLR='1' THEN CQI<=“0000”;

--當(dāng)CLR清零信號有效時使輸出為0000,無效時進(jìn)行下述操作--對時鐘進(jìn)行計數(shù) ELSIF CLK'EVENT AND CLK='1' THEN

IF ENA='1' THEN

--判斷使能信號,有效則進(jìn)行計數(shù),否則不作處理

--數(shù)據(jù)0~9循環(huán),計滿后重新回到0 IF CQI=“1001” THEN CQI<=“0000”;ELSE CQI<=CQI+'1';END IF;END IF;END IF;END PROCESS;CO <= '1' when ena = '1' and cqi = 9 else '0';CQ<=CQI;

--進(jìn)位信號,最高位的僅為信號作為計數(shù)的溢出信號

--當(dāng)且僅當(dāng)使能有效且計數(shù)為9時產(chǎn)生進(jìn)位信號,進(jìn)位信號1有效,同步并聯(lián)時連高位的使能端

文件編寫完成后保存編譯生成圖形文件符號,如上圖:

創(chuàng)建圖形文件cnt6并按照下圖進(jìn)行連接,保存后編譯生成圖形文件符號如圖:

仿真文件代碼如下:

LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;

ENTITY TBCNT10_vhd IS END TBCNT10_vhd;ARCHITECTURE behavior OF TBCNT10_vhd IS

COMPONENT CNT10 PORT(CLK : IN std_logic;

CLR : IN std_logic;ENA : IN std_logic;CQ : OUT std_logic_vector(3 downto 0);CO : OUT std_logic);END COMPONENT;SIGNAL CLK : std_logic := '0';SIGNAL CLR : std_logic := '0';SIGNAL ENA : std_logic := '1';SIGNAL CQ : std_logic_vector(3 downto 0);SIGNAL CO : std_logic;BEGIN

END;tb : PROCESS BEGIN

CLK<='0';wait for 100 ns;CLK<='1';WAIT FOR 100 NS;uut: CNT10 PORT MAP(CLK => CLK, CLR => CLR, ENA => ENA, CQ => CQ, CO => CO);END PROCESS;仿真結(jié)果如圖:

如仿真結(jié)果我們可以看出,該模塊運行正常,計數(shù)穩(wěn)定,結(jié)果十分理想。

5、鎖存器:

由于前面的計數(shù)器的輸出為六組四位二進(jìn)制數(shù)和一個溢出信號,所以我們使用的鎖存器也使用六個四位鎖存器和一個一位鎖存器。鎖存器使用下降沿鎖存,即當(dāng)計數(shù)器的使能信號變?yōu)闊o效的一瞬間我們令鎖存器將數(shù)據(jù)鎖存。四位鎖存器的原代碼如下:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity LATCH4 is Port(CLK : in STD_LOGIC;DIN : in STD_LOGIC_VECTOR(3 downto 0);QOU : out STD_LOGIC_VECTOR(3 downto 0));end LATCH4;architecture Behavioral of LATCH4 is begin

PROCESS(CLK,DIN)IS

BEGIN

IF CLK'EVENT AND CLK='0' THEN--當(dāng)時鐘信號下降沿時,實現(xiàn)鎖存

QOU<=DIN;

END IF;END PROCESS;end Behavioral;上述文件編寫完成后保存編譯生成圖形文件符號如圖: 再編寫一位鎖存器,源程序代碼如下:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity LATCH1 is Port(CLK : in STD_LOGIC;DIN : in STD_LOGIC_VECTOR;QOU : out STD_LOGIC_VECTOR);end LATCH1;architecture Behavioral of LATCH1 is begin

PROCESS(CLK,DIN)IS

BEGIN

IF CLK'EVENT AND CLK='0' THEN--當(dāng)時鐘信號下降沿時,實現(xiàn)鎖存

QOU<=DIN;

END IF;END PROCESS;end Behavioral;

文件編寫完成后保存編譯生成圖形文件符號,如圖:

鎖存完成后有六組四位二進(jìn)制數(shù)和一個一位二進(jìn)制數(shù),所以我們隊總線進(jìn)行了合并,即將六組四位數(shù)合并成一個二十四位數(shù),合并程序如下:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity ADVOCATES is Port(S0 : in STD_LOGIC_VECTOR(3 downto 0);S1 : in STD_LOGIC_VECTOR(3 downto 0);S2 : in STD_LOGIC_VECTOR(3 downto 0);S3 : in STD_LOGIC_VECTOR(3 downto 0);S4 : in STD_LOGIC_VECTOR(3 downto 0);S5 : in STD_LOGIC_VECTOR(3 downto 0);S6 : out STD_LOGIC_VECTOR(23 downto 0));

end ADVOCATES;

architecture Behavioral of ADVOCATES is

begin S6(23 DOWNTO 20)<=S0;S6(19 DOWNTO 16)<=S1;S6(15 DOWNTO 12)<=S2;S6(11 DOWNTO 8)<=S3;S6(7 DOWNTO 4)<=S4;S6(3 DOWNTO 0)<=S5;end Behavioral;--將總線的對應(yīng)位進(jìn)行連接

文件編寫完成后保存編譯生成圖形文件符號,如圖:

創(chuàng)建該模塊的頂層圖形文件LAT.sch將上述個文件按照如圖所示連接,保存編譯生成圖形文件符號如圖:

該模塊的輸入輸出簡單,無需仿真。

6、譯碼顯示:

該模塊實現(xiàn)的是對鎖存器鎖存的數(shù)據(jù)進(jìn)行處理并顯示輸出,以及小數(shù)點的不同閘門的輸出顯示,以及電路板上七段顯示譯碼管的掃描信號輸出。其中對鎖存數(shù)據(jù)的處理包括溢出有效時的數(shù)據(jù)消除,和對高位無意義零的自動消隱。首先我們編寫小數(shù)點控制的源文件代碼:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity POINTCON is Port(SE1 : in STD_LOGIC;SE10 : in STD_LOGIC;SE100 : in STD_LOGIC;SEL : in STD_LOGIC_VECTOR(2 downto 0);DP : out STD_LOGIC);end POINTCON;

architecture Behavioral of POINTCON is begin

PROCESS(SE1,SE10,SE100,SEL)IS

BEGIN

IF SE1='1' AND SE10='0' AND SE100='0' AND SEL=“011” THEN DP<='0';

--當(dāng)為第一檔時,令第四位的數(shù)碼管的小數(shù)點點亮,其他的不亮

ELSIF SE1='0' AND SE10='1' AND SE100='0' AND SEL=“010” THEN DP<='0';

--第二檔時,第三位的數(shù)碼管小數(shù)點點亮

ELSIF SE1='0' AND SE10='0' AND SE100='1' AND SEL=“001” THEN DP<='0';

--第三檔時,第二位的小數(shù)點點亮--不符合上述三檔時,小數(shù)點全部消隱 ELSE DP<='1';END IF;END PROCESS;end Behavioral;編寫完成后保存編譯生成圖形文件符號如圖:

再編寫用于數(shù)碼管掃描顯示的的位選信號生成文件,其代碼如下:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity CTRLS is Port(CLK : in STD_LOGIC;SEL : out STD_LOGIC_VECTOR(2 downto 0));end CTRLS;

architecture Behavioral of CTRLS is SIGNAL CNT: STD_LOGIC_VECTOR(2 DOWNTO 0):=“000”;begin PROCESS(CLK)IS 14

BEGIN IF CLK'EVENT AND CLK='1' THEN

--接入1KHZ的時鐘信號,使CNT進(jìn)行循環(huán)計數(shù),從000到101

IF CNT=”101” THEN CNT<=”000”;--計滿則清零,不滿則加一

ELSE CNT<=CNT+’1’;END IF;END IF;END PROCESS;SEL<=CNT;--將CNT信號賦給SEL輸出

end Behavioral;文件編寫完成后保存編譯生成圖形文件符號如圖:

再編寫使高位無意義零自動消隱功能的的文件,源程序代碼如下:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity DSELE is Port(DP1: IN STD_LOGIC;DP2: IN STD_LOGIC;DIN : in STD_LOGIC_VECTOR(23 downto 0);QOU : out STD_LOGIC_VECTOR(23 downto 0));end DSELE;architecture Behavioral of DSELE is begin PROCESS(DP1,DP2,DIN)IS

BEGIN

IF DP1='0' AND DP2='1' THEN

IF DIN(23 DOWNTO 20)=“0000” THEN

QOU(23 DOWNTO 20)<=“1111”;

QOU(19 DOWNTO 0)<=DIN(19 DOWNTO 0);

END IF;

IF DIN(23 DOWNTO 20)=“0000” AND DIN(19 DOWNTO 16)=“0000” THEN

QOU(23 DOWNTO 20)<=“1111”;

QOU(19 DOWNTO 16)<=“1111”;

QOU(15 DOWNTO 0)<=DIN(15 DOWNTO 0);

END IF;

END IF;

IF DP1='1' AND DP2='0' THEN

IF DIN(23 DOWNTO 20)=“0000” THEN

QOU(23 DOWNTO 20)<=“1111”;

QOU(19 DOWNTO 0)<=DIN(19 DOWNTO 0);

END IF;

IF DIN(23 DOWNTO 20)=“0000” AND DIN(19 DOWNTO 16)=“0000” THEN

QOU(23 DOWNTO 20)<=“1111”;QOU(19 DOWNTO 16)<=“1111”;

THEN

QOU(23 DOWNTO 20)<=“1111”;QOU(19 DOWNTO 16)<=“1111”;QOU(15 DOWNTO 12)<=“1111”;QOU(11 DOWNTO 8)<=“1111”;QOU(7 DOWNTO 0)<=DIN(7 DOWNTO 0);

QOU(15 DOWNTO 0)<=DIN(15 DOWNTO 0);END IF;IF DIN(23 DOWNTO 20)=“0000” AND DIN(19 DOWNTO 16)=“0000” AND DIN(15 DOWNTO 12)=“0000” THEN

QOU(23 DOWNTO 20)<=“1111”;QOU(19 DOWNTO 16)<=“1111”;QOU(15 DOWNTO 12)<=“1111”;QOU(11 DOWNTO 0)<=DIN(11 DOWNTO 0);END IF;END IF;IF DP1='1' AND DP2='1' THEN

IF DIN(23 DOWNTO 20)=“0000” THEN QOU(23 DOWNTO 20)<=“1111”;QOU(19 DOWNTO 0)<=DIN(19 DOWNTO 0);END IF;IF DIN(23 DOWNTO 20)=“0000” AND DIN(19 DOWNTO 16)=“0000” THEN

QOU(23 DOWNTO 20)<=“1111”;QOU(19 DOWNTO 16)<=“1111”;QOU(15 DOWNTO 0)<=DIN(15 DOWNTO 0);END IF;IF DIN(23 DOWNTO 20)=“0000” AND DIN(19 DOWNTO 16)=“0000” AND DIN(15 DOWNTO 12)=“0000” THEN

QOU(23 DOWNTO 20)<=“1111”;QOU(19 DOWNTO 16)<=“1111”;QOU(15 DOWNTO 12)<=“1111”;QOU(11 DOWNTO 0)<=DIN(11 DOWNTO 0);END IF;IF DIN(23 DOWNTO 20)=“0000” AND DIN(19 DOWNTO 16)=“0000” AND DIN(15 DOWNTO 12)=“0000” AND DIN(11 DOWNTO 8)=“0000” END IF;END IF;END PROCESS;end Behavioral;該段代碼的編寫的主要原理是首先判斷小數(shù)點的位置,然后對小數(shù)點前的高位數(shù)從高到低依次進(jìn)行判斷,如果高位為零則將數(shù)據(jù)取反,在后續(xù)譯碼中將不再顯示,從而實現(xiàn)高位無意義零的自動消隱。代碼編寫完成后保存編譯生成圖形文件符號如上圖: 然后我們編寫數(shù)據(jù)顯示輸出文件,代碼如下:

library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity DISPLAY1 is 16

Port(SEL : in STD_LOGIC_VECTOR(2 downto 0);

OVERIN : IN STD_LOGIC;

DATAIN : in STD_LOGIC_VECTOR(23 downto 0);SEG : OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END DISPLAY1;

architecture Behavioral of DISPLAY1 is SIGNAL DATA: STD_LOGIC_VECTOR(3 DOWNTO 0):=“0000”;BEGIN PROCESS(SEL,OVERIN)IS

BEGIN

CASE SEL IS

--對位選信號進(jìn)行判斷,對應(yīng)每一位分別提取數(shù)據(jù)中的不同位置的數(shù)據(jù)賦給中間信號DATA

WHEN “000”=>DATA<=DATAIN(3 DOWNTO 0);

WHEN “001”=>DATA<=DATAIN(7 DOWNTO 4);

WHEN “010”=>DATA<=DATAIN(11 DOWNTO 8);

WHEN “011”=>DATA<=DATAIN(15 DOWNTO 12);

WHEN “100”=>DATA<=DATAIN(19 DOWNTO 16);

WHEN “101”=>DATA<=DATAIN(23 DOWNTO 20);

WHEN OTHERS=>DATA<=“0000”;

END CASE;

CASE DATA IS

--對中間信號DATA進(jìn)行譯碼,SEG為數(shù)碼管的數(shù)據(jù)顯示輸出,從而使不同位置上有不同的數(shù)字顯示

WHEN “0000”=>SEG<=“1000000”;

WHEN “0001”=>SEG<=“1111001”;

WHEN “0010”=>SEG<=“0100100”;

WHEN “0011”=>SEG<=“0110000”;

WHEN “0100”=>SEG<=“0011001”;

WHEN “0101”=>SEG<=“0010010”;

WHEN “0110”=>SEG<=“0000010”;

WHEN “0111”=>SEG<=“1111000”;

WHEN “1000”=>SEG<=“0000000”;

WHEN “1001”=>SEG<=“0010000”;

WHEN OTHERS=>SEG<=“1111111”;

END CASE;

if OVERIN='1' THEN

--判斷溢出,若溢出則令輸出全部不顯示

SEG<=“1111111”;END IF;END PROCESS;end Behavioral;代碼編寫完成后保存編譯生成圖形文件符號如圖:

建立該模塊的頂層圖形文件DISPLAY.sch,按照下圖連接各元件,保存編譯生成圖形文件符號如下圖:17

該模塊的輸入數(shù)據(jù)量太大難以仿真,故這里只對其中的掃描信號生成文件進(jìn)行仿真,仿真文件代碼如下:

LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.all;USE ieee.numeric_std.ALL;

ENTITY TBCTRLS_vhd IS END TBCTRLS_vhd;ARCHITECTURE behavior OF TBCTRLS_vhd IS

BEGIN

END;uut: CTRLS PORT MAP(CLK => CLK, SEL => SEL);COMPONENT CTRLS PORT(CLK : IN std_logic;

SEL : OUT std_logic_vector(2 downto 0));END COMPONENT;SIGNAL CLK : std_logic := '0';SIGNAL SEL : std_logic_vector(2 downto 0);tb : PROCESS BEGIN

CLK<='0';WAIT FOR 100 NS;CLK<='1';WAIT FOR 100 NS;END PROCESS;結(jié)果如下:

有仿真結(jié)果我們可以看出程序運行正常,邏輯上沒有任何問題。至此所有的單元電路全部完成。

三、設(shè)計實現(xiàn)

1、頂層文件:

創(chuàng)建圖形文件FRYALL.sch,按照下圖連接各模塊生成的圖形文件符號,完成后保存編譯。

2、管腳分配:

由系統(tǒng)的頂層文件可以看到該系統(tǒng)的輸入端共有5個,輸出端有11個,管腳分配文件FRYALL.ucf如下:

NET “CLKIN” LOC = T8;NET “DCLK” LOC = C16;NET “DP” LOC = C11;NET “NECT” LOC = D7;NET “SE1” LOC = L6;NET “SE10” LOC = N5;NET “SE100” LOC = L7;NET “SEG<0>” LOC = B14;NET “SEG<1>” LOC = A13;NET “SEG<2>” LOC = C13;NET “SEG<3>” LOC = C12;NET “SEG<4>” LOC = A12;NET “SEG<5>” LOC = B12;NET “SEG<6>” LOC = A11;NET “SEL<0>” LOC = F8;NET “SEL<1>” LOC = D8;NET “SEL<2>” LOC = E7;19

3、下載過程:

光標(biāo)移至【Generate Programing File】后單擊鼠標(biāo)右鍵,然后單擊【Properties】在打開的對話框的左側(cè)欄選中【Configuration Options】將右側(cè)的Unused IOB Pins這一項改為Pull Up,單擊OK。在界面的左下角雙擊【 Generate Programing File】,軟件將自動對整個系統(tǒng)進(jìn)行編譯并生成可執(zhí)行文件FRYALL.bit。將彈出的對話框關(guān)掉,雙擊【 Generate Prom, ACE,or JTAG File】在彈出的對話框中點擊Finish,在隨后出現(xiàn)的對話框中選擇FRYALL.bit,然后點擊打開,在隨后的對話框中點擊Bypass。右鍵單擊左邊圖標(biāo)選擇Program,在隨后的對話框中單擊OK,文件將自動下載到開發(fā)板上,成功后,接入函數(shù)發(fā)生器進(jìn)行測試。

四、測試結(jié)果及結(jié)論

經(jīng)過了前三步,最后我們將所完成的工程下載到了板子上,連接好函數(shù)發(fā)生器,并設(shè)定好了函數(shù)發(fā)生器的輸出信號電平(5Vpp),就可以進(jìn)行使用了。

最后結(jié)果顯示程序工作正常,讀數(shù)清晰穩(wěn)定,完全符合開始時的要求。

誤差分析:

我將函數(shù)發(fā)生器的頻率調(diào)節(jié)到999,999HZ時,頻率計不顯示,即產(chǎn)生了計數(shù)溢出,然后我進(jìn)行了進(jìn)一步的調(diào)節(jié),將函數(shù)發(fā)生器的頻率調(diào)節(jié)到999,997時讀書顯示為999.999,單位為KHZ。由此可知相對誤差為±0.0002%,誤差很小。所以本次實驗圓滿成功。

通過對數(shù)字頻率計的設(shè)計實現(xiàn),我深入的學(xué)習(xí)了ise軟件的使用,VHDL語言的編寫規(guī)范,語法結(jié)構(gòu)等。在本次試驗中我回顧了在《數(shù)字電路》課程中學(xué)過的關(guān)于數(shù)字電路的設(shè)計的部分,了解了VHDL和Verilog語言的區(qū)別與聯(lián)系,以及它們的優(yōu)缺點,以及它們主要針對的設(shè)計對象。我覺得我通過本次試驗學(xué)會了很多。

第二篇:基于FPGA的簡易數(shù)字頻率計

EDA 簡易數(shù)字頻計 設(shè)計性實驗 2008112020327 ** 電子信息科學(xué)與技術(shù)

物電

電工電子中心2009年5月繪制

2008.6.10 湖北師范學(xué)院電工電子實驗教學(xué)省級示范中心電子版實驗報告

簡易數(shù)字頻率計設(shè)計

一.任務(wù)解析

通過對選擇題的分析,認(rèn)為該簡易數(shù)字頻率計應(yīng)該能達(dá)到以下要求: 1. 準(zhǔn)確測出所給的方波信號的頻率(1HZ以上的信號)。2. 在顯示環(huán)節(jié)上,應(yīng)能實現(xiàn)高位清零功能。3. 另外還有一個總的清零按鍵。

二.方案論證

本實驗中所做的頻率計的原理圖如上圖所示。即在一個1HZ時鐘信號的控制下,在每個時鐘的上升沿將計數(shù)器的數(shù)據(jù)送到緩沖器中保存起來,再送數(shù)碼管中顯示出來。

第2頁,共11頁 湖北師范學(xué)院電工電子實驗教學(xué)省級示范中心電子版實驗報告

在本實驗中,用到過幾中不同的方案,主要是在1HZ時鐘信號的選擇和計數(shù)器清零環(huán)節(jié)上:

1. 在實驗設(shè)計過程中,考濾到兩種1HZ時鐘信號其波形如下圖所

對于上術(shù)的兩種波形,可以調(diào)整各項參數(shù)來產(chǎn)生兩種1HZ時鐘信號。最后通過實驗的驗證發(fā)現(xiàn)第二種波形對于控制緩沖器獲得數(shù)據(jù)和控制計數(shù)器清零更易實現(xiàn)。并且,用第二種波形做為時鐘信號,可以在很短的高電平時間內(nèi)對計數(shù)器清零,在低電平時間內(nèi)讓計數(shù)器計數(shù),從面提高測量的精度。而用第一種波形則不易實現(xiàn)這個過程。

2.在計數(shù)器的清零過程中,也有兩個方案,分別是能通過緩沖器反回一個清零信號,另一個是在時鐘的控制下進(jìn)行清零。最終通過實驗發(fā)現(xiàn),用時鐘進(jìn)行清零更易實現(xiàn)。因為如果用緩沖器反回一個清零信號,有一個清零信號歸位問題,即當(dāng)緩沖器反回一個低電平清零信號時,計數(shù)器實現(xiàn)清零,但不好控制讓緩器沖的清零信號又回到高電平,否則計數(shù)器就一直處于清零狀態(tài)面不能正常計數(shù)了。

三.實驗步驟

通過上分析后,實驗分為以下幾步:

1.1HZ時鐘信號的產(chǎn)生(產(chǎn)生該信號的模塊如下):

module ones(clk,clkout);input clk;output clkout;parameter parameter N=24000000;n=24;

第3頁,共11頁 湖北師范學(xué)院電工電子實驗教學(xué)省級示范中心電子版實驗報告

reg [n:0]cnt;reg clkout;

always @(posedge clk)begin if(cnt==N)else end endmodule begin cnt=0;

clkout=1;clkout=0;end

end begin cnt=cnt+1;最終產(chǎn)生的信號的波形:

2. 計數(shù)模塊。其主要公能是在每個被測信號的上升沿自動加一,并且有一個清零信號的輸入端,在1HZ時鐘信號的高電平時間里進(jìn)行清零。模塊如下:

module count_99999999(sign,clr,b0,b1,b2,b3,b4,b5,b6,b7);input sign,clr;output [3:0]b0,b1,b2,b3,b4,b5,b6,b7;reg [3:0]b0,b1,b2,b3,b4,b5,b6,b7;always @(posedge sign or posedge clr)

if(clr)begin b0=0;b1=0;b2=0;b3=0;b4=0;b5=0;b6=0;b7=0;end else begin if(b0<9)b0=b0+1;else begin b0=0;if(b1<9)

第4頁,共11頁 湖北師范學(xué)院電工電子實驗教學(xué)省級示范中心電子版實驗報告

b1=b1+1;else begin b1=0;if(b2<9)b2=b2+1;else begin

b2=0;

if(b3<9)

b3=b3+1;

else begin

b3=0;

if(b4<9)

b4=b4+1;

else begin

b4=0;

if(b5<9)

b5=b5+1;

else begin

b5=0;

if(b6<9)

b6=b6+1;

else begin

b6=0;

if(b7<9)

b7=b7+1;

else b7=0;

第5頁,共11頁

湖北師范學(xué)院電工電子實驗教學(xué)省級示范中心電子版實驗報告

end

end

end

end

end

end end

end endmodule 如果要訪真該模塊,要設(shè)定較長的訪真時間,故在此不進(jìn)行軟件訪真,只在實驗箱上進(jìn)行實驗。

3. 數(shù)據(jù)緩沖模塊。在每個秒級門控信號的上升沿接收計數(shù)器的數(shù)據(jù),并送到驅(qū)動八個數(shù)碼管的顯示模塊里。

module fre_count(clk,clr,b0,b1,b2,b3,b4,b5,b6,b7,a0,a1,a2,a3,a4,a5,a6,a7);input clk,clr;input [3:0]b0,b1,b2,b3,b4,b5,b6,b7;output [3:0]a0,a1,a2,a3,a4,a5,a6,a7;reg clro;reg [3:0]a0,a1,a2,a3,a4,a5,a6,a7;always @(posedge clk or negedge clr)//clk應(yīng)該為1HZ的信號// begin if(!clr)

begin

a0<=0;a1<=0;a2<=0;a3<=0;a4<=0;a5<=0;a6<=0;a7<=0;end else

第6頁,共11頁 湖北師范學(xué)院電工電子實驗教學(xué)省級示范中心電子版實驗報告

end begin a0<=b0;a1<=b1;a2<=b2;a3<=b3;a4<=b4;a5<=b5;a6<=b6;a7<=b7;end endmodule 在此模塊中用了到了<=阻塞賦值的方式。

4.編寫控制高位清零的模塊,利用在掃描模塊中控制SEL的值來實現(xiàn)高位清零。即先從高位開始判斷,當(dāng)只有個位有數(shù)據(jù)時,SEL只能等于0,當(dāng)只有個位和十位有數(shù)據(jù)時,SEL要小于1,依此類推,實現(xiàn)高位清零功能。module scan(clk,a1,a2,a3,a4,a5,a6,a7,sel);input clk;input [3:0]a1,a2,a3,a4,a5,a6,a7;output [2:0]sel;reg [2:0]sel;always @(posedge clk)if({a1,a2,a3,a4,a5,a6,a7}==0000000)sel=0;else if({a2,a3,a4,a5,a6,a7}==000000)if(sel<1)sel=sel+1;else sel=0;else if({a3,a4,a5,a6,a7}==00000)if(sel<2)sel=sel+1;else sel=0;else if({a4,a5,a6,a7}==0000)if(sel<3)sel=sel+1;

第7頁,共11頁 湖北師范學(xué)院電工電子實驗教學(xué)省級示范中心電子版實驗報告

else sel=0;else if({a5,a6,a7}==000)if(sel<4)sel=sel+1;else sel=0;else if({a6,a7}==00)if(sel<5)sel=sel+1;else sel=0;else if({a7}==0)if(sel<6)sel=sel+1;else sel=0;else sel=sel+1;endmodule 5.上述三個模塊為本次實驗的主要模塊。除此,還用到了,譯碼,數(shù)據(jù)選擇器模塊。相應(yīng)的模塊代碼省略。

6.所有模塊都寫完后,就是寫頂層文件。

module top(clk,clr,sig_in,a,b,c,d,e,f,g,dp,sel);input clk,clr,sig_in;output [2:0]sel;output a,b,c,d,e,f,g,dp;

wire clk1,clk2,clk3;wire [2:0]sel_sign;wire [3:0] QA,QB,QC,QD,QE,QF,QG,QH;wire [3:0] b0_o,b1_o,b2_o,b3_o,b4_o,b5_o,b6_o,b7_o;wire [3:0] org_data;

第8頁,共11頁 湖北師范學(xué)院電工電子實驗教學(xué)省級示范中心電子版實驗報告

assign sel=sel_sign;assign clk3=clk;

fre_count frequence(.clk(clk2),.clr(clr),.b0(b0_o),.b1(b1_o),.b2(b2_o),.b3(b3_o),.b4(b4_o),.b5(b5_o),.b6(b6_o),.b7(b7_o),.a0(QA),.a1(QB),count_99999999 mycounter(.sign(sig_in),.clr(clk2),.b0(b0_o),.b1(b1_o),.a2(QC),.a3(QD),.a4(QE),.a5(QF),.a6(QG),.a7(QH));.b2(b2_o),.b3(b3_o),.b4(b4_o),.b5(b5_o),.b6(b6_o),.b7(b7_o));

clk_div clksource(.clk(clk3),.clko1(clk1));

ones ones_con(.clk(clk3),.clkout(clk2));scan myscan(.clk(clk1),.a1(QB),.a2(QC),.a3(QD),.a4(QE),.a5(QF),.a6(QG),.a7(QF),.sel(sel_sign));mux81 mymux81(.sel(sel_sign),.a(QA),.b(QB),.c(QC),.d(QD),.e(QE),.f(QF),.g(QG),.h(QH),.out(org_data));

第9頁,共11頁 湖北師范學(xué)院電工電子實驗教學(xué)省級示范中心電子版實驗報告

decode3_8 decode(.org(org_data),.a(a),.b(b),.c(c),.d(d),.e(e),.f(f),.g(g),.dp(dp));

endmodule

7. 寫完了全部代碼后,就是器件選擇,分配引腳,下載程序,最后在實驗箱上進(jìn)行實驗。

在實驗的驗證過程中,用到了DDS函數(shù)信號發(fā)生器,從其TTL輸出端輸出各種不同頻率的方波信號,接入接簡易頻率計的被測信號輸入端,在八個數(shù)碼管上顯示出相應(yīng)的測量結(jié)果。

四.結(jié)果分析

在上述實驗過程中,我們選取了若干組不同的TTL輸出進(jìn)行測量,發(fā)現(xiàn)當(dāng)被測信號的頻率不小于1HZ時,簡易頻率計可以精確的測出被測信號的頻率。但是,當(dāng)被測信號小于1HZ時,顯示的測量結(jié)果在0和1之間跳動,不穩(wěn)定。分析簡易頻率計的結(jié)構(gòu)可知,在如下圖所示波形關(guān)系中,當(dāng)被測信號的頻率小于1HZ時,在秒級門控信號的一個周期內(nèi),計數(shù)器要么能計數(shù)一次,要么計數(shù)零次,因而不能準(zhǔn)確的測出被測信號的頻率。

五.經(jīng)驗總結(jié)

1.本實驗中的頻率計由于其在結(jié)構(gòu)上存在缺限,因而在測量小于1HZ的信號時,會有較大的誤碼差,在測量頻率大于1HZ信號時,也可能存1HZ誤差,其原因在于如果在一個秒級門控信號的周期內(nèi),被測信號的上升沿的個數(shù)正好

第10頁,共11頁 湖北師范學(xué)院電工電子實驗教學(xué)省級示范中心電子版實驗報告

和其周數(shù)相同,則測量結(jié)果是準(zhǔn)確的,如果上升沿的個數(shù)比周期數(shù)多一,則測量結(jié)果比實際值大一。

2.提高測量精度的另一個關(guān)鍵地方在所產(chǎn)生的秒級門控信號的精度。只有所產(chǎn)生的秒級門控信號的低電平時間長度為嚴(yán)格的一秒時,測量結(jié)果才會更精確。由于實驗箱上所使用的晶振不是嚴(yán)格等于24MHZ,因而可用示波器測出晶振的準(zhǔn)確頻率后,再在parameter

N=24000000;語句中改變N的值。也可以在實驗中逐漸調(diào)整N的值,直到測量結(jié)果最精確為止。最終我們的實驗中,N的值取的是24000351。

3.對于高位清零功能的加入,正是儀器設(shè)計人性化的一個體現(xiàn)。如果沒有這個功能,再未顯示數(shù)據(jù)的數(shù)碼管也一直處于工作狀態(tài),一則是對資源的亂費,二則是會減少器件的使用壽命。

第11頁,共11頁

第三篇:數(shù)字頻率計設(shè)計

數(shù)字頻率計設(shè)計 1.設(shè)計任務(wù)

設(shè)計一簡易數(shù)字頻率計,其基本要求是:

1)測量頻率范圍1Hz~10Hz,量程分為4檔,即×1,×10,×100,×1000。2)頻率測量準(zhǔn)確度?fx??2?10?3.fx3)被測信號可以是下弦波、三角波和方波。4)顯示方式為4位十進(jìn)制數(shù)顯示。5)使用EWB進(jìn)行仿真。2.設(shè)計原理及方案

頻率的定義是單位時間(1s)內(nèi)周期信號的變化次數(shù)。若在一定時間間隔T內(nèi)測得周期信號的重復(fù)變化次數(shù)為N,則其頻率為

f=N/T 據(jù)此,設(shè)計方案框圖如圖1所示。

圖1 數(shù)字頻率計組成框圖

其基本原理是,被測信號ux首先經(jīng)整形電路變成計數(shù)器所要求的脈沖信號,頻率與被測信號的頻率fx相同。時鐘電路產(chǎn)生時間基準(zhǔn)信號,分頻后控制計數(shù)與保持狀態(tài)。當(dāng)其高電平時,計數(shù)器計數(shù);低電平時,計數(shù)器處于保持狀態(tài),數(shù)據(jù)送入鎖存器進(jìn)行鎖存顯示。然后對計數(shù)器清零,準(zhǔn)備下一次計數(shù)。其波形邏輯關(guān)系圖如圖2所示。3.基本電路設(shè)計 1)整形電路

整形電路是將待測信號整形變成計數(shù)器所要求的脈沖信號。電路形式采用由555定時器所構(gòu)成的施密特觸發(fā)器,電路如圖XXX所示。若待測信號為三角波,輸入整形電路,設(shè)置分析為瞬態(tài)分析,啟動電路,其輸入、輸出波形如圖XXX所示。可見輸出為方波,二者頻率相同。

2)時鐘產(chǎn)生電路

時鐘信號是控制計數(shù)器計數(shù)的標(biāo)準(zhǔn)時間信號,其精度很大程度上決定了頻率計的頻率測量精度。當(dāng)要求頻率測量精度較高時,應(yīng)使用晶體振蕩器通過分頻獲得。在此頻率計中,時鐘信號采用555定時器構(gòu)成的多諧振蕩器電路,產(chǎn)生頻率為1Kz的信號,然后再進(jìn)行分頻。多諧振蕩器電路如圖XXX所示。由555定時器構(gòu)成多諧振蕩器的周期計算公式為

XXXXXXXXXX 取XXXXXXXXXXXXXX,則得到振蕩頻率為1Kz的負(fù)脈沖,其振蕩波形如圖XXX所示。3)分頻器電路

采用計數(shù)器構(gòu)成分頻電路,對1Kz的時鐘脈沖進(jìn)行分頻,取得不同量程所需要的時間基準(zhǔn)信號,實現(xiàn)量程控制。1Kz的時鐘脈沖,對其進(jìn)行3次10分頻,每個10分頻器的輸出信號頻率分別為100Hz,10Hz,1Hz三種時間基準(zhǔn)信號。對應(yīng)于以1Kz,100Hz,10Hz,1Hz的信號作為時間基準(zhǔn)信號時,相應(yīng)的量程為×1000,×100,×10,×1。

構(gòu)成10分頻帶電路是采用十進(jìn)制計數(shù)器74LS160實現(xiàn)的。具體電路及其輸入、輸出波形如圖XXX所示。

(1)T觸發(fā)器

T觸發(fā)器電路是用來將分頻帶器輸出阻抗的窄脈沖整形為方波,因為計數(shù)器需要用方波來控制其計數(shù)/保持狀態(tài)的切換。整形后方波的頻率為頻器輸出信號頻率的一半,則對應(yīng)于1Kz,100Kz,10Kz,1Hz的信號,T觸發(fā)器輸出信號的高電平持續(xù)時間分別為0.001s,0.01s,0.1s,1s。T觸發(fā)器采用JK觸發(fā)器7473為實現(xiàn),其電路連接圖及其輸入、輸出波形如圖XXX所示。

(2)單穩(wěn)觸發(fā)器

單穩(wěn)觸發(fā)器用于產(chǎn)生一窄脈沖,以觸發(fā)鎖存器,使計數(shù)器在計數(shù)完畢后更新鎖存器數(shù)值。單穩(wěn)觸發(fā)器電路采用555定時器實現(xiàn),為了保證系統(tǒng)正常工作,單穩(wěn)電路產(chǎn)生的脈沖寬度不能大于該量程分頻帶器輸出信號的周期。例如,計數(shù)器的最大量程是×1000,對應(yīng)分頻帶器輸出的時間基準(zhǔn)信號頻率為1000Hz,周期是1ms。取單穩(wěn)電路輸出脈沖寬度TW=0.1ms。根據(jù)TW=1.1RC,取C=0.01Uf,則R=9.8KΩ,取標(biāo)稱什為10KΩ。單穩(wěn)觸發(fā)器輸入信號是T觸發(fā)器輸出信號經(jīng)Rd、Cd組成的微分器將方波變成尖脈沖后加到555定時器的觸發(fā)器。電路圖及輸入、輸出波形如圖XXX所示。

(3)延遲反相器

延時反相器的功能是為了得到一個對計數(shù)器清零的信號。由于計數(shù)器清零是低電平有效,而且計數(shù)器清零必須在單穩(wěn)觸發(fā)信號之后,故延遲反相器是在上述單穩(wěn)電路之后,再加一級單穩(wěn)觸發(fā)電路,且在其輸出端加反相器輸出。其輸入、輸出波形如圖XXX所示。(4)計數(shù)器

計數(shù)器在T觸發(fā)器輸出信號的控制下,對經(jīng)過整形的待測信號進(jìn)行脈沖計數(shù),所得結(jié)果乘以量程即為待測信號頻率。

根據(jù)精度要求,采用4個十進(jìn)制計數(shù)器級聯(lián),構(gòu)成N=1000計數(shù)器。十進(jìn)制計數(shù)器仍采用74LS160實現(xiàn)。其電路圖如圖XXX所示。其中計數(shù)器的清零信號由延遲反相器提供,控制信號由T觸發(fā)器提供,計數(shù)器輸出結(jié)果送入鎖存器。

(5)鎖存器和顯示

計數(shù)器的結(jié)果進(jìn)入鎖存器鎖存,4個七段數(shù)碼管顯示測試信號的頻率。鎖存器使用了兩片8D集成觸發(fā)器實現(xiàn),其控制信號來自于延遲反相器,具體電路如圖XXX所示。

(6)數(shù)字頻率計的總體電路

圖XXX是數(shù)字頻率計的總體電路圖。

4.測試

搭建好以上電路以后,進(jìn)行調(diào)試,首先分模塊進(jìn)行調(diào)試,待每一個模塊調(diào)試正確后,不規(guī)則進(jìn)行聯(lián)調(diào)。因為整個電路的分析是瞬態(tài)分析,故總體電路的分析需要較長時間。以上僅僅是學(xué)生所做綜合電路分析與設(shè)計的例子,由于EWB5.12教學(xué)版本庫元件的限制,有些電路與系統(tǒng)無法進(jìn)行全部電路的仿真(例如收發(fā)信通信系統(tǒng)等),但有些局部電路也可以進(jìn)行仿真,從而節(jié)省對這部分電路設(shè)計化費的時間。

第四篇:簡易數(shù)字頻率計設(shè)計報告

EDA技術(shù)基礎(chǔ) 簡易數(shù)字頻率計 必做實驗

電子信息科學(xué)與技術(shù)

物電學(xué)院

2011-06-24 湖北師范學(xué)院電工電子實驗教學(xué)省級示范中心電子版實驗報告

簡易數(shù)字頻率計

一.實驗要求

用Verilog硬件描述語言設(shè)計一個時序邏輯電路,能夠?qū)斎氲腡TL信號進(jìn)行1s時長計數(shù),將計數(shù)結(jié)果在數(shù)碼管上顯示,讓該電路循環(huán)運行,則數(shù)碼管顯示的就是輸入信號的頻率。

用標(biāo)準(zhǔn)DDS信號發(fā)生器輸入TTL信號,測試信號的頻率與DDS輸出設(shè)定的頻率比較,分析誤差以及誤差產(chǎn)生的原因。

顯示效果好,無閃爍,高位零不顯示。

二.方案原理圖

總體框圖:

三、主要部分原理說明及實驗步驟

根據(jù)原理圖,先把計數(shù)器模塊、顯示模塊、掃描模塊分別做出。對于計數(shù)器模塊因為要實現(xiàn)00000000~99999999的計數(shù)器,所以要用32bit,即要用

32第2頁,共8頁 湖北師范學(xué)院電工電子實驗教學(xué)省級示范中心電子版實驗報告

個D觸發(fā)器。從而要用8個數(shù)碼管進(jìn)行循環(huán)掃描顯示。對于1HZ的精密脈沖在低電平時,一方面和被測脈沖通過或門,當(dāng)被測脈沖為高電平時門電路開啟,另一方面通過一個非門把計數(shù)器的清零端置1,計數(shù)器正常工作開始計數(shù)。高電平時對計數(shù)器清零的同時,把測得的數(shù)據(jù)送入BUFFER中進(jìn)行顯示鎖存。數(shù)碼管的掃描時鐘由外部提供。在此基礎(chǔ)上把前面的0清除。

1、我在該設(shè)計中使用了一個或門作為門控電路,當(dāng)輸入時鐘clka為低電平時,被測信號clk通過,當(dāng)輸入時鐘clka為高電平時,被測信號被阻止。從clka端輸入的是一個24M的脈沖,經(jīng)過1HZ模塊處理后生成一秒赫茲信號(如下圖)

由這個信號來控制99999999計數(shù)器的清零和buffer中數(shù)據(jù)的更新以及被測信號的通過與阻止

其verilog語言代碼如下 module clk_1hz(clk,clked);input clk;output clked;reg clked;reg[31:0]jishu;always @(posedge clk)begin if(jishu==24000000)begin jishu=0;clked=1;end else begin jishu=jishu+1;clked=0;end end endmodule

2、門控電路部分

其verilog語言代碼如下

第3頁,共8頁 湖北師范學(xué)院電工電子實驗教學(xué)省級示范中心電子版實驗報告

module mynot(clk_1hz,nclk_1hz);input clk_1hz;output nclk_1hz;assign nclk_1hz=!clk_1hz;endmodule

99999999計數(shù)器計數(shù)在到達(dá)1S的瞬間,1HZ時鐘出現(xiàn)上升沿,控制緩存器將此時的計數(shù)值鎖存起來,然后送出顯示。很短一段時間后,1HZ時鐘恢復(fù)低電平,在這很短的時間內(nèi)1HZ時鐘經(jīng)非門也完成了計數(shù)器的清零,之后計數(shù)器又恢復(fù)計數(shù)狀態(tài),進(jìn)入下一秒的計數(shù)。

其verilog語言代碼如下 module mynot(clk_1hz,nclk_1hz);input clk_1hz;output nclk_1hz;assign nclk_1hz=!clk_1hz;endmodule

3、計數(shù)模塊

第4頁,共8頁 湖北師范學(xué)院電工電子實驗教學(xué)省級示范中心電子版實驗報告

99999999計數(shù)器是本次實驗的關(guān)鍵所在,它的主要功能是:在1hz精密時鐘和門控電路的控制下,在1s的時間內(nèi),對輸入信號進(jìn)行計數(shù),1s后,由于門控電路的存在,計數(shù)器停止計數(shù) 其verilog語言代碼如下 module cnt99999999(clr,clk,q);input clr,clk;output [31:0]q;reg [31:0]q;always @(posedge clk or negedge clr)begin if(!clr)q[31:0]=0;else if(q[31:0]==31'H99999999)q[31:0]=q[31:0]+32'H66666667;else if(q[27:0]==27'H9999999)q[31:0]=q[31:0]+28'H6666667;else if(q[23:0]==24'H999999)

q[31:0]=q[31:0]+24'H666667;else if(q[19:0]==20'H99999)

q[31:0]=q[31:0]+20'H66667;else if(q[15:0]==16'H9999)

q[31:0]=q[31:0]+16'H6667;else if(q[11:0]==12'H999)

q[31:0]=q[31:0]+12'H667;else if(q[ 7:0]== 8'H99)

q[31:0]=q[31:0]+8'H67;else if(q[ 3:0]== 4'H9)

q[31:0]=q[31:0]+4'H7;else q[31:0]=q[31:0]+1;end endmodule

4、顯示數(shù)據(jù)緩沖buffer的設(shè)計

數(shù)據(jù)緩沖buffer的功能是當(dāng)用計數(shù)器對輸入信號計數(shù),這些數(shù)據(jù)都暫時存在這個里面,每當(dāng)時鐘的上升沿到來的時候,它就向后面的模塊輸送數(shù)據(jù),這樣就可以得到相對穩(wěn)定的顯示。

第5頁,共8頁 湖北師范學(xué)院電工電子實驗教學(xué)省級示范中心電子版實驗報告

其verilog語言代碼如下

module buff(in,clk,n1,n2,n3,n4,n5,n6,n7,n8);input clk;input [31:0]in;output [3:0]n1,n2,n3,n4,n5,n6,n7,n8;reg [3:0]n1,n2,n3,n4,n5,n6,n7,n8;

always @(posedge clk)begin begin n1=in[3:0];n2=in[7:4];n3=in[11:8];n4=in[15:12];n5=in[19:16];n6=in[23:20];n7=in[27:24];n8=in[31:28];end end endmodule

5、顯示部分

由于要用到8個數(shù)碼管對實驗結(jié)果進(jìn)行顯示,我們可以設(shè)計一個譯碼模塊:

其verilog語言代碼如下 module yima(in,a,b,c,d,e,f,g,dp);input

[3:0]in;output a,b,c,d,e,f,g,dp;reg

a,b,c,d,e,f,g,dp;always @(in)begin case(in)

第6頁,共8頁 湖北師范學(xué)院電工電子實驗教學(xué)省級示范中心電子版實驗報告

4'b0000:{dp,g,f,e,d,c,b,a}=8'b00111111;4'b0001:{dp,g,f,e,d,c,b,a}=8'b00000110;4'b0010:{dp,g,f,e,d,c,b,a}=8'b01011011;4'b0011:{dp,g,f,e,d,c,b,a}=8'b01001111;4'b0100:{dp,g,f,e,d,c,b,a}=8'b01100110;4'b0101:{dp,g,f,e,d,c,b,a}=8'b01101101;4'b0110:{dp,g,f,e,d,c,b,a}=8'b01111101;4'b0111:{dp,g,f,e,d,c,b,a}=8'b00000111;4'b1000:{dp,g,f,e,d,c,b,a}=8'b01111111;4'b1001:{dp,g,f,e,d,c,b,a}=8'b01101111;default:{dp,g,f,e,d,c,b,a}=8'b01000000;endcase end endmodule 部分引腳功能的排列如下圖所示

數(shù)碼管的引腳排列 以上5部分就是頂層原理圖的主要部分

四、實驗總結(jié)

1、要用1HZ的精確時鐘不能直接接一個外接的信號源,這樣的誤差太大,只能將一個標(biāo)準(zhǔn)的24M的時鐘進(jìn)行24分頻,才能的到相對穩(wěn)定的時鐘信號。

2、數(shù)據(jù)緩沖部分不能少,如果沒有這部分,將得不到想要的結(jié)果,數(shù)碼管上會出現(xiàn)一排亂跳的數(shù)字。

3、在整個實驗設(shè)計過程中,我發(fā)現(xiàn)只要弄清楚所需要的幾個模塊,然后將模塊分開來進(jìn)行生成,設(shè)計也并不是想象中的那么難。

第7頁,共8頁 湖北師范學(xué)院電工電子實驗教學(xué)省級示范中心電子版實驗報告

4、在此程序設(shè)計中,對各個模塊的功能有針對性的設(shè)計思路有了一定的提高,對于一個程序的需要哪些功能模塊,需要什么樣的輸入輸出,都比以前有了一定的提高。

5、學(xué)EDA已經(jīng)有一學(xué)期了,現(xiàn)在對那些原理框圖并不陌生了,現(xiàn)在也可以寫一些簡單的代碼。我發(fā)現(xiàn)只要我們認(rèn)真的去學(xué)習(xí),虛心的的去請教他人,我們誰都可以把這門課學(xué)好。雖然在學(xué)習(xí)這門課以及做實驗的過程中,我們往往會遇到種種困難,但是當(dāng)實驗結(jié)果與現(xiàn)象出來的那一剎那,我們就會感受那成功的快樂。

第8頁,共8頁

第五篇:FPGA搶答器設(shè)計報告

Vb開辦上海電力學(xué)院

課程設(shè)計報告

信息工程系

搶答器設(shè)計報告

一、設(shè)計目的:

本課程的授課對象是電子科學(xué)與技術(shù)專業(yè)本科生,是電子類專業(yè)的一門重要的實踐課程,是理論與實踐相結(jié)合的重要環(huán)節(jié)。

本課程有助于培養(yǎng)學(xué)生的數(shù)字電路設(shè)計方法、掌握模塊劃分、工程設(shè)計思想與電路調(diào)試能力,為以后從事各種電路設(shè)計、制作與調(diào)試工作打下堅實的基礎(chǔ)

二、實驗器材和工具軟件:

PC機(jī)一臺、QuartusII軟件、DE2板。

三、設(shè)計內(nèi)容:

(1)搶答器可容納四組12位選手,每組設(shè)置三個搶答按鈕供選手使

用。

(2)電路具有第一搶答信號的鑒別和鎖存功能。在主持人將系統(tǒng)復(fù)位并發(fā)出搶答指令后,蜂鳴器提示搶答開始,時顯示器顯示初始時間并開始倒計時,若參賽選手按搶答按鈕,則該組指示燈亮并用組別顯示器顯示選手的組別,同時蜂鳴器發(fā)出“嘀嘟”的雙音頻聲。此時,電路具備自鎖功能,使其它搶答按鈕不起作用。

(3)如果無人搶答,計時器倒計時到零,蜂鳴器有搶答失敗提示,主持人可以按復(fù)位鍵,開始新一輪的搶答。

(4)設(shè)置犯規(guī)功能。選手在主持人按開始鍵之前搶答,則認(rèn)為犯規(guī),犯規(guī)指示燈亮和顯示出犯規(guī)組號,且蜂鳴器報警,主持人可以終止搶答執(zhí)行相應(yīng)懲罰。

(5)搶答器設(shè)置搶答時間選擇功能。為適應(yīng)多種搶答需要,系統(tǒng)設(shè)有10秒、15秒、20秒和3O秒四種搶答時間選擇功能。

四、設(shè)計具體步驟:

首先把系統(tǒng)劃分為組別判斷電路模塊groupslct,犯規(guī)判別與搶答信號判別電路模塊fgqd,分頻電路模塊fpq1,倒計時控制電路模塊djs,顯示時間譯碼電路模塊num_7seg模塊,組別顯示模塊showgroup模塊這六個模塊,各模塊設(shè)計完成后,用電路原理圖方法將各模塊連接構(gòu)成系統(tǒng)。

各模塊功能及代碼:

1、組別判別模塊

(1)功能:可容納四組12位選手,每組設(shè)置三個搶答按鈕供選手使用。若參賽選手按搶答按鈕,則輸出選手的組別。此時,電路具

signal rst : std_logic;begin

h<=“0000” when(a=“000” and b=“000” and c=“000” and d=“000”)else

“0001” when(a/=“000” and b=“000” and c=“000” and d=“000”)else

“0010” when(a=“000” and b/=“000” and c=“000” and d=“000”)else

“0100” when(a=“000” and b=“000” and c/=“000” and d=“000”)else

“1000” when(a=“000” and b=“000” and c=“000” and d/=“000”)else

“0000”;process

begin

wait on clock until rising_edge(clock);

if clr='1' then

rst<='1';

g<=“0000”;

end if;

if h/=“0000” then

if rst='1' then

g<=h;

rst<='0';

end if;

end if;

end process;

end behave_groupslct;

2、犯規(guī)判別與搶答信號判別模塊

(1)功能:若參賽選手在主持人按開始鍵之后按搶答按鈕,則使該組指示燈亮并輸出選手的組別,同時蜂鳴器發(fā)出響聲。

選手在主持人按開始鍵之前搶答,則認(rèn)為犯規(guī),犯規(guī)指示燈亮并輸出犯規(guī)組號,且蜂鳴器報警。

(2)原理:c[3..0]接組別判別模塊的g[3..0],即此時c為按鍵組別的信息。go接主持人的“開始”按鍵。由于無論是在正常情況還是犯規(guī)情況下按下按鍵,都必須顯示按鍵的組別且蜂鳴器響,所以將c的值給hex以輸出按鍵組別,且在有按鍵按下(c/=“0000”)時輸出fm為‘1’,否則為‘0’。若在開始之前有按鍵按下時,即go='0'且c/=“0000”,輸出ledfg為‘1’,否則為‘0’。若在開始之后有按鍵按下,將c的值給led,使該組指示燈亮,開始之前l(fā)ed輸出“0000”。

(3)程序代碼:

library ieee;

use ieee.std_logic_1164.all;

entity fgqd is port(c:in std_logic_vector(3 downto 0);

go:in std_logic;

hex:out std_logic_vector(3 downto 0);

led:out std_logic_vector(3 downto 0);

ledfg,fm:out std_logic);

end fgqd;

architecture behave_fgqd of fgqd is begin);end djs;

architecture behave_djs of djs is begin

process(clock,aclr,s)

begin

if(aclr='1')then

if(s=“00”)then

q<=“01010”;

elsif(s=“01”)then

q<=“01111”;

elsif(s=“10”)then

q<=“10100”;

else

q<=“11110”;

end if;

else

if rising_edge(clock)then

if en='1' then

q<=q-1;

if(q=“00000” and grpsl=“0000”)then

time0<='1';

else

time0<='0';

end if;

end if;

end if;

end if;

end process;end behave_djs;

4、分頻器模塊

(1)功能:實現(xiàn)50MHz—1Hz的分頻,為倒計時模塊提供時鐘。

(2)程序代碼

library ieee;

use ieee.std_logic_1164.all;

entity fpq1 is port(clkin :in std_logic;

clkout:out std_logic);end fpq1;

architecture behave_fpq1 of fpq1 is constant N: Integer:=24999999;signal Counter:Integer RANGE 0 TO N;signal Clk: Std_Logic;begin

process(clkin)

begin

if rising_edge(clkin)then--每計到N個(0~n-1)上升沿,輸出信號翻轉(zhuǎn)一次

if Counter=N then

Counter<=0;

Clk<=NOT Clk;

else

Counter<= Counter+1;

end if;

end if;

end process;clkout<= Clk;end behave_fpq1;

5、時間顯示譯碼器

(1)功能:將時間信息在7段數(shù)碼管上顯示。

(2)程序代碼

library ieee;

use ieee.std_logic_1164.all;

entity num_7seg is port(c:in std_logic_vector(4 downto 0);

hex:out std_logic_vector(13 downto 0));

end num_7seg;

architecture behave_num_7seg of num_7seg is begin

with c(4 downto 0)select

hex<= “10000001000000” when “00000” ,--“0”

“10000001111001” when “00001” ,--“1”

“10000000100100” when “00010” ,--“2”

“10000000110000” when “00011” ,--“3”

“10000000011001” when “00100” ,--“4”

“10000000010010” when “00101” ,--“5”

“10000000000010” when “00110” ,--“6”

“10000001111000” when “00111” ,--“7”

“10000000000000” when “01000” ,--“8”

“10000000010000” when “01001” ,--“9”

“11110011000000” when “01010” ,--“10”

“11110011111001” when “01011” ,--“11”

“11110010100100” when “01100” ,--“12”

“11110010110000” when “01101” ,--“13”

“11110010011001” when “01110” ,--“14”

“11110010010010” when “01111” ,--“15”

“11110010000010” when “10000” ,--“16”

“11110011111000” when “10001” ,--“17”

“11110010000000” when “10010” ,--“18”

“11110010010000” when “10011” ,--“19”

“01001001000000” when “10100” ,--“20”

“01001001111001” when “10101” ,--“21”

“01001000100100” when “10110” ,--“22”

“01001000110000” when “10111” ,--“23”

“01001000011001” when “11000” ,--“24”

“01001000010010” when “11001” ,--“25”

“01001000000010” when “11010” ,--“26”

“01001001111000” when “11011” ,--“27”

來。然后就是將選出的組別鎖存。將按下按鍵的組別賦給一內(nèi)部信號“h”(沒有按鍵按下時h=“0000”),當(dāng)復(fù)位鍵按下時(clr=‘1’)輸出g=“0000”并且將另一內(nèi)部信號rst置1。當(dāng)復(fù)位后(rst=‘1’)有按鍵按下時將h的值給輸出信號g,并且將標(biāo)志信號rst清零。這樣就實現(xiàn)最快按鍵組別鎖存功能。

六、心得體會

通過此次設(shè)計,我掌握了數(shù)字電路的設(shè)計方法,尤其是模塊劃分、工程設(shè)計思想與電路調(diào)試能力,都有了一定的提高。為以后從事各種電路設(shè)計、制作與調(diào)試工作打下堅實的基礎(chǔ)。

下載基于FPGA的數(shù)字頻率計設(shè)計報告word格式文檔
下載基于FPGA的數(shù)字頻率計設(shè)計報告.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    數(shù)字頻率計

    //********************************************************************* //* 標(biāo)題: 簡易數(shù)字頻率計 //* 文件: topdesign.v //* 作者: SJ&QJY //* 日期: 2009.06.10......

    verilog簡易數(shù)字頻率計報告

    一、實驗原理 根據(jù)原理圖,將計數(shù)器模塊、顯示模塊、掃描模塊、譯碼器模塊等分別做出。其原理是在1S內(nèi)用待測信號給計數(shù)器計數(shù),并在一秒結(jié)束時給計數(shù)器清零,計出來用緩存器緩存,......

    數(shù)字頻率計實驗報告

    數(shù)字電路與系統(tǒng)課程設(shè)計 大連理工大學(xué)城市學(xué)院 數(shù)字電路與系統(tǒng)課程設(shè)計 設(shè)計題目:數(shù)字頻率計 學(xué) 院:電子與自動化學(xué)院 專 業(yè): 自動化 學(xué) 生: 揣智涵 同 組 人: 王曉寧 周英茹......

    課程設(shè)計----數(shù)字頻率計(精選合集)

    電子課程設(shè)計報告 設(shè)計課題: 數(shù)字頻率計 作 者: 李成贊≦ 專 業(yè): 08信息工程 班 級: (2)班 學(xué) 號: 3081231201 日 期 2009年6月5日——2009年6月17日 指導(dǎo)教師: 廖......

    簡單單片機(jī)數(shù)字頻率計設(shè)計(優(yōu)秀范文五篇)

    課程設(shè)計報告 簡易頻率計的設(shè)計 電子科學(xué)XX學(xué)院 姓名:專業(yè):通信工程學(xué)號:2013 2015年12月 摘要 1 本系統(tǒng)基于單片機(jī)來實現(xiàn)核心的頻率計數(shù)功能,并能夠?qū)崿F(xiàn)測量中的量程自動切換......

    單片機(jī)課程設(shè)計報告——智能數(shù)字頻率計

    單片機(jī)原理課程設(shè)計報告 題目:智能數(shù)字頻率計設(shè)計 專業(yè): 信息工程 班級:信息111 學(xué)號:*** 姓名:*** 指導(dǎo)教師:*** 北京工商大學(xué)計算機(jī)與信息工程學(xué)院 1、設(shè)計目的 (1)了解和掌握一個......

    基于51單片機(jī)的數(shù)字頻率計的設(shè)計概要

    武漢理工大學(xué)《單片機(jī)原理與應(yīng)用》課程設(shè)計說明書 1 前言 頻率測量是電子學(xué)測量中最為基本的測量之一。由于頻率信號抗干擾性強(qiáng),易于傳輸,因此可以獲得較高的測量精度。隨著數(shù)......

    plc和fpga實習(xí)報告

    【Ⅰ】FPGA 一、 實習(xí)目的: 1、 了解FPGA基本內(nèi)容。 2、 熟悉Quatus II編程環(huán)境。 3、 熟悉Verilog編程語言。 二、 實驗設(shè)備: 硬件:計算機(jī)一臺。軟件:相關(guān)的Quatus II編程環(huán)......

主站蜘蛛池模板: 玩成熟老熟女视频| 亚洲色18禁成人网站www| 国产成人啪精品视频免费视频| 亚洲精品中文字幕| 日韩精品久久无码中文字幕| 国产伦子系列沙发午睡| 久久久噜噜噜www成人网| 女人被狂爆到高潮免费视频| 国产看黄网站又黄又爽又色| 日韩欧美中文字幕公布| 国产aⅴ夜夜欢一区二区三区| 久久人人爽人人人人片| 成人麻豆亚洲综合无码精品| 亚洲aⅴ无码专区在线观看q| 日本熟妇乱人伦a片免费高清| 亚洲国产成人精品无码区在线秒播| 精品网站一区二区三区网站| 国产毛片毛多水多的特级毛片| 国产亚洲香蕉线播放αv38| 小泽玛莉亚一区二区视频在线| 亚洲精品中国国产嫩草影院美女| 日韩精品无码中文字幕电影| 国产偷国产偷精品高清尤物| 色偷偷人人澡人人爽人人模| 国产精品午夜不卡片在线| 亚洲国产欧美在线综合其他| 久久无码精品一区二区三区| 亚洲综合色aaa成人无码| 久久精品国产亚洲欧美成人| 日本人妻精品免费视频| …日韩人妻无码精品一专区| 国产色婷婷五月精品综合在线| 国产精品jizz视频| 国产精品亚洲玖玖玖在线观看| 亚洲色资源在线播放| 国产精品久久人妻互换| 久久人人爽人人爽人人片ⅴ| 内射国产内射夫妻免费频道| 国产破外女出血视频| 720lu国产刺激无码| 抽搐一进一出试看60秒体验区|