EDA課程設(shè)計(jì)數(shù)字頻率計(jì)_第1頁
EDA課程設(shè)計(jì)數(shù)字頻率計(jì)_第2頁
EDA課程設(shè)計(jì)數(shù)字頻率計(jì)_第3頁
EDA課程設(shè)計(jì)數(shù)字頻率計(jì)_第4頁
EDA課程設(shè)計(jì)數(shù)字頻率計(jì)_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、eda課程設(shè)計(jì)報(bào)告題 目: 數(shù)字頻率計(jì) 姓 名: 院 系: 電氣學(xué)院 專業(yè): 電子信息工程 指導(dǎo)教師: 完成時(shí)間: 2012年 6 月5 日目 錄1 課程設(shè)計(jì)題目、內(nèi)容與要求 1.1 設(shè)計(jì)內(nèi)容1.2 具體要求2 系統(tǒng)設(shè)計(jì) 2.1 設(shè)計(jì)思路2.2 系統(tǒng)原理與設(shè)計(jì)說明3 系統(tǒng)實(shí)現(xiàn) 4 系統(tǒng)仿真 5硬件驗(yàn)證(操作)說明6總結(jié) 7 參考書目 1 課程設(shè)計(jì)題目、內(nèi)容與要求1.1課程設(shè)計(jì)的題目:數(shù)字頻率計(jì)設(shè)計(jì)1.2課程設(shè)計(jì)內(nèi)容:(1)設(shè)計(jì)一個(gè)能測量方波信號的頻率計(jì);(2)測量范圍是0-999999hz;(3)結(jié)果用十進(jìn)制數(shù)顯示。2 系統(tǒng)設(shè)計(jì)2.1設(shè)計(jì)思路:2.1.1 數(shù)字頻率計(jì)是一種用十進(jìn)制數(shù)字顯示被測信

2、號頻率的數(shù)字測量儀器.它的基本功能是測量方波信號及其他各種單位時(shí)間內(nèi)變化的物理量。本數(shù)字頻率計(jì)采用自頂向下的設(shè)計(jì)思想,通過閘門提供的1s閘門時(shí)間對被測信號進(jìn)行計(jì)數(shù)及測出的被測信號的頻率,測出的頻率再通過譯碼器譯碼后輸出給顯示器顯示。根據(jù)系統(tǒng)設(shè)計(jì)的要求,數(shù)字頻率計(jì)的電路原理框圖如下:4位十進(jìn)制計(jì)數(shù)器鎖存電路譯碼電路計(jì)數(shù)器閘門控制電路片選電路數(shù)據(jù)選擇電路led數(shù)碼顯示待測輸入信號4mhz時(shí)鐘4mhz時(shí)鐘圖1 數(shù)字頻率計(jì)電路原理框圖2.2 系統(tǒng)原理與設(shè)計(jì)說明系統(tǒng)各個(gè)模塊的功能如下:221標(biāo)準(zhǔn)時(shí)鐘發(fā)生電路模塊借用實(shí)驗(yàn)板上標(biāo)準(zhǔn)時(shí)鐘發(fā)生電路,為計(jì)數(shù)閘門控制電路提供一個(gè)標(biāo)準(zhǔn)8hz信號。222 計(jì)數(shù)器閘門控制

3、電路模塊計(jì)數(shù)器閘門控制電路就是產(chǎn)生三個(gè)控制信號,即計(jì)數(shù)器復(fù)位信號、4位十進(jìn)制計(jì)數(shù)器允許計(jì)數(shù)信號、鎖存信號。2.2.3鎖存電路模塊鎖存電路就是為了讓led數(shù)碼管在信號來臨之前保持計(jì)數(shù)值不變。2.2.4計(jì)數(shù)器復(fù)位電路模塊計(jì)數(shù)器復(fù)位電路是讓頻率計(jì)恢復(fù)到計(jì)數(shù)初始態(tài)。2.2.5 led數(shù)碼管驅(qū)動(dòng)電路模塊led數(shù)碼管驅(qū)動(dòng)電路就是為led數(shù)碼管提供驅(qū)動(dòng)電壓。 3系統(tǒng)實(shí)現(xiàn)此部分先講各個(gè)模塊再講模塊聯(lián)調(diào)的實(shí)現(xiàn)。3.1各部分模塊的源程序 模塊 fen 見圖 1.1 ,通過對 4mhz 時(shí)鐘進(jìn)行分頻以獲得 0.5 hz 時(shí)鐘,為核心模塊 corna 提供 1 的閘門時(shí)間。library ieee; use ieee

4、.std_logic_1164.all; entity fen is port(clk:in std_logic; q:out std_logic); end fen;   architecture fen_arc of fen is begin process(clk) variable cnt: integer range 0 to 3999999; variable x:std_logic; begin if clk'event and clk='1'then if cnt<3999999 then cnt:=cnt+1; else cnt:=0;

5、 x:=not x; end if; end if; q<=x; end process; end fen_arc; 模塊 sel見圖1.2,該模塊產(chǎn)生數(shù)碼管的片選信號。library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity selx is port(clk:in std_logic; sel:inout std_logic_vector(2 downto 0); end selx;   architecture sel_arc of sexl is begin pro

6、cess(clk) variable cnt:std_logic_vector(2 downto 0); begin if clk'event and clk='1'then cnt:=cnt+1; end if; sel<=cnt; end process; end sel_arc; 核心模塊 corna見圖1.3,該模塊是整個(gè)程序的核心,它能在 1 的閘門時(shí)間里完成對被測信號頻率計(jì)數(shù)的功能,并通過選擇輸出數(shù)據(jù)實(shí)現(xiàn)自動(dòng)換檔的功能。library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsig

7、ned.all; entity corna is port(clr,sig,door:in std_logic; alm:out std_logic; q3,q2,q1,q0,dang:out std_logic_vector(3 downto 0); end corna;   architecture corn_arc of corna is begin process(door,sig) variable c0,c1,c2,c3,c4,c5,c6:std_logic_vector(3 downto 0); variable x:std_logic; begin if sig

8、9;event and sig='1'then if door='1'then if c0<"1001"then c0:=c0+1; else c0:="0000" if c1<"1001"then c1:=c1+1; else c1:="0000" if c2<"1001"then c2:=c2+1; else c2:="0000" if c3<"1001"then c3:=c3+1; else c

9、3:="0000" if c4<"1001"then c4:=c4+1; else c4:="0000" if c5<"1001"then c5:=c5+1; else c5:="0000" if c6<"1001"then c6:=c6+1; else c6:="0000" alm<='1' end if; end if; end if; end if; end if; end if; end if; else i

10、f clr='0'then alm<='0' end if; c6:="0000" c5:="0000" c4:="0000" c3:="0000" c2:="0000" c1:="0000" c0:="0000" end if; if c6/="0000"then q3<=c6; q2<=c5; q1<=c4; q0<=c3; dang<="0100&quo

11、t; elsif c5/="0000"then q3<=c5; q2<=c4; q1<=c3; q0<=c2; dang<="0011" elsif c4/="0000"then q3<=c4; q2<=c3; q1<=c2; q0<=c1; dang<="0010" elsif c3/="0000"then q3<=c3; q2<=c2; q1<=c1; q0<=c0; dang<="0001&

12、quot; end if; end if; end process; end corn_arc; 模塊 lock見圖1.4,該模塊實(shí)現(xiàn)鎖存器的功能,在信號l的下降沿到來時(shí)將信號a4、a3、a2、a1鎖存。library ieee; use ieee.std_logic_1164.all; entity lock is port(l:in std_logic; a4,a3,a2,a1,a0:in std_logic_vector(3 downto 0); q4,q3,q2,q1,q0:out std_logic_vector(3 downto 0); end lock; architecture

13、 lock_arc of lock is begin process(l) variable t4,t3,t2,t1,t0:std_logic_vector(3 downto 0); begin if l'event and l='0'then t4:=a4; t3:=a3; t2:=a2; t1:=a1; t0:=a0; end if; q4<=t4; q3<=t3; q2<=t2; q1<=t1; q0<=t0; end process; end lock_arc; 模塊 ch見圖1.5,該模塊對應(yīng)于數(shù)碼管片選信號,將相應(yīng)通道的數(shù)據(jù)輸出

14、,其中檔位也通過顯示。 library ieee; use ieee.std_logic_1164.all;   entity ch is port(sel:in std_logic_vector(2 downto 0); a3,a2,a1,a0,dang:in std_logic_vector(3 downto 0); q:out std_logic_vector(3 downto 0); end ch;   architecture ch_arc of ch is begin process(sel) begin case sel is when"000&qu

15、ot;=>q<=a0; when"001"=>q<=a1; when"010"=>q<=a2; when"011"=>q<=a3; when"111"=>q<=dang; when others=>q<="1111" end case; end process; end ch_arc; 6模塊 disp見圖1.6,該模塊為4線七段譯碼器。 library ieee; use ieee.std_logic_1164.all;

16、  entity disp is port(d:in std_logic_vector(3 downto 0); q:out std_logic_vector(6 downto 0); end disp;   architecture disp_arc of disp is begin process(d) begin case d is when "0000"=>q<="0111111" when "0001"=>q<="0000110" when "0010

17、"=>q<="1011011" when "0011"=>q<="1001111" when "0100"=>q<="1100110" when "0101"=>q<="1101101" when "0110"=>q<="1111101" when "0111"=>q<="0100111" whe

18、n "1000"=>q<="1111111" when "1001"=>q<="1101111" when others=>q<="0000000" end case; end process; end disp_arc;3.17 整個(gè)系統(tǒng)的頂層設(shè)計(jì)模塊該部分講述用元件例化的方法來實(shí)現(xiàn)模塊聯(lián)調(diào)library ieee;use ieee.std_logic_1164.all;entity hql is port(clr,sig,clk:in std_logic;

19、 alm:out std_logic;q:out std_logic_vector(6 downto 0);sel:inout std_logic_vector(2 downto 0);end hql;architecture sd of hql iscomponent fenport(clk:in std_logic;q:out std_logic);end component;component selxport(clk:in std_logic;sel:inout std_logic_vector(2 downto 0);end component;component cornaport

20、(clr,sig,door:in std_logic;alm:out std_logic;q3,q2,q1,q0,dang:out std_logic_vector(3 downto 0);end component;component lockport(l:in std_logic;a4,a3,a2,a1,a0:in std_logic_vector(3 downto 0); q4,q3,q2,q1,q0:out std_logic_vector(3 downto 0); end component;component chport(sel:in std_logic_vector(2 dow

21、nto 0); a3,a2,a1,a0,dang:in std_logic_vector(3 downto 0); q:out std_logic_vector(3 downto 0);end component;component dispport(d:in std_logic_vector(3 downto 0); q:out std_logic_vector(6 downto 0); end component;signal qq:std_logic;signal qq3,qq2,qq1,qq0,qqdang:std_logic_vector(3 downto 0);signal tt4

22、,tt3,tt2,tt1,tt0:std_logic_vector(3 downto 0);signal ww:std_logic_vector(3 downto 0);beginu1:fen port map(clk=>clk,q=>qq);u2:selx port map(clk=>clk,sel=>sel);u3:corna port map(clr=>clr,sig=>sig,door=>qq,alm=>alm,q3=>qq3,q2=>qq2,q1=>qq1,q0=>qq0,dang=>qqdang);u4:

23、lock port map(l=>qq,a4=>qq3,a3=>qq3,a2=>qq2,a1=>qq1,a0=>qqdang,q4=>tt4,q3=>tt3,q2=>tt2,q1=>tt1,q0=>tt0); u5:ch port map(sel=>sel,a3=>tt4,a2=>tt3,a1=>tt2,a0=>tt1,dang=>tt0,q=>ww);u6:disp port map(d=>ww,q=>q);end sd;本部分講述的是用圖形的方法來實(shí)現(xiàn)模塊聯(lián)調(diào),在mux plusii中現(xiàn)將編譯好的各模塊生成為圖形(filecreat d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論