eda課程設(shè)計---數(shù)字頻率計_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  EDA課程設(shè)計報告</b></p><p>  題 目: 數(shù)字頻率計 </p><p>  姓 名: </p><p>  院 系: 電氣學院 </p><p>  專  業(yè): 電子信息工程 </p&

2、gt;<p>  指導教師: </p><p>  完成時間: 2012年 6 月5 日</p><p>  目 錄</p><p>  1 課程設(shè)計題目、內(nèi)容與要求 ……………………………………</p><p>  1.1 設(shè)計內(nèi)容……………………………………………………&l

3、t;/p><p>  1.2 具體要求……………………………………………………</p><p>  2 系統(tǒng)設(shè)計 …………………………………………………………</p><p>  2.1 設(shè)計思路……………………………………………………</p><p>  2.2 系統(tǒng)原理與設(shè)計說明</p><p>  3 系統(tǒng)實現(xiàn) ……

4、……………………………………………………</p><p>  4 系統(tǒng)仿真 …………………………………………………………</p><p>  5硬件驗證(操作)說明…………………………………………</p><p>  6總結(jié) ……………………………………………………………</p><p>  7 參考書目 ………………………………………

5、………………</p><p>  1 課程設(shè)計題目、內(nèi)容與要求</p><p>  1.1課程設(shè)計的題目:數(shù)字頻率計設(shè)計</p><p>  1.2課程設(shè)計內(nèi)容:</p><p> ?。?)設(shè)計一個能測量方波信號的頻率計;</p><p> ?。?)測量范圍是0-999999Hz;</p><p&g

6、t; ?。?)結(jié)果用十進制數(shù)顯示。</p><p><b>  2 系統(tǒng)設(shè)計</b></p><p><b>  2.1設(shè)計思路:</b></p><p>  2.1.1 數(shù)字頻率計是一種用十進制數(shù)字顯示被測信號頻率的數(shù)字測量儀器.它的基本功能是測量方波信號及其他各種單位時間內(nèi)變化的物理量。本數(shù)字頻率計采用自頂向下的設(shè)計思

7、想,通過閘門提供的1s閘門時間對被測信號進行計數(shù)及測出的被測信號的頻率,測出的頻率再通過譯碼器譯碼后輸出給顯示器顯示。根據(jù)系統(tǒng)設(shè)計的要求,數(shù)字頻率計的電路原理框圖如下:</p><p><b>  待測輸入信號</b></p><p><b>  4MHZ時鐘</b></p><p><b>  4MHZ時鐘&l

8、t;/b></p><p>  圖1 數(shù)字頻率計電路原理框圖</p><p>  2.2 系統(tǒng)原理與設(shè)計說明</p><p>  系統(tǒng)各個模塊的功能如下:</p><p>  2.2.1標準時鐘發(fā)生電路模塊</p><p>  借用實驗板上標準時鐘發(fā)生電路,為計數(shù)閘門控制電路提供一個標準8Hz信號。</

9、p><p>  2.2.2 計數(shù)器閘門控制電路模塊</p><p>  計數(shù)器閘門控制電路就是產(chǎn)生三個控制信號,即計數(shù)器復位信號、4位十進制計數(shù)器允許計數(shù)信號、鎖存信號。</p><p>  2.2.3鎖存電路模塊</p><p>  鎖存電路就是為了讓LED數(shù)碼管在信號來臨之前保持計數(shù)值不變。</p><p>  2.2

10、.4計數(shù)器復位電路模塊</p><p>  計數(shù)器復位電路是讓頻率計恢復到計數(shù)初始態(tài)。</p><p>  2.2.5 LED數(shù)碼管驅(qū)動電路模塊</p><p>  LED數(shù)碼管驅(qū)動電路就是為LED數(shù)碼管提供驅(qū)動電壓。</p><p><b>  3系統(tǒng)實現(xiàn)</b></p><p>  此部分先講

11、各個模塊再講模塊聯(lián)調(diào)的實現(xiàn)。</p><p>  3.1各部分模塊的源程序</p><p>  ⑴ 模塊 FEN 見圖 1.1 ,通過對 4MHz 時鐘進行分頻以獲得 0.5 Hz 時鐘,為核心模塊 CORNA 提供 1 s 的閘門時間。library ieee; use ieee.std_logic_1164.all; entity fen is port(clk:in std_l

12、ogic; 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&l

13、t;3999999 then cnt:=cnt+1; else cnt:=0; x:=not x; end if; end if; q<=x; end process; end fen_arc; ⑵ 模塊 SEL見圖1.2,該模塊產(chǎn)生數(shù)碼管的片選信號。</p><p>  library ieee; use ieee.std_logic_1164.all; use ieee.st

14、d_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 process(clk) variable cnt:std_logic_vector(2 downto 0)

15、; begin if clk'event and clk='1'then cnt:=cnt+1; end if; sel<=cnt; end process; end sel_arc; ⑶ 核心模塊 CORNA見圖1.3,該模塊是整個程序的核心,它能在 1 s 的閘門時間里完成對被測信號頻率計數(shù)的功能,并通過選擇輸出數(shù)據(jù)實現(xiàn)自動換檔的功能。</p><p>  l

16、ibrary ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.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;  

17、 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'event and sig='1'then if door='1'then

18、if c0<"1001"then c0:=c0+1; else c0:="0000"; if c1<"1001"then c1:=c1+1; else </p><p>  library ieee; use ieee.std_logic_1164.all; entity lock is port(l:in std_lo

19、gic; 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 lock_arc of lock is begin process(l) variable t4,t3,t2,t1,t0:std_logic_vector(3 downto

20、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,該模塊對應于數(shù)碼管片選信號,

21、將相應通道的數(shù)據(jù)輸出</p><p>  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 d

22、ownto 0)); end ch;   architecture ch_arc of ch is begin process(sel) begin case sel is when"000"=>q<=a0; when"001"=>q<=a1; when"010"=>q<=a2; when"011&q

23、uot;=>q<=a3; when"111"=>q<=dang; when others=>q<="1111"; end case; end process; end ch_arc; [6]模塊 DISP見圖1.6,該模塊為4線—七段譯碼器。 </p><p>  library ieee; use ieee.std_log

24、ic_1164.all;   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 "00

25、00"=>q<="0111111"; when "0001"=>q<="0000110"; when "0010"=>q<="1011011"; when "0011"=>q<="1001111"; when "0100&q

26、uot;=>q<="1100110"; when "0101"=>q<="1101101"; when "0110"=>q<="1111101"; when "0111"=>q<="0100111"; when "1000"

27、=>q<="1111111"; when "1001"=>q<="110</p><p>  3.17 整個系統(tǒng)的頂層設(shè)計模塊</p><p>  該部分講述用元件例化的方法來實現(xiàn)模塊聯(lián)調(diào)</p><p>  LIBRARY IEEE;</p><p>  USE I

28、EEE.STD_LOGIC_1164.ALL;</p><p>  ENTITY hql IS</p><p>  PORT(clr,sig,clk:IN STD_LOGIC;</p><p>  alm:OUT STD_LOGIC;</p><p>  q:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);</p>

29、;<p>  sel:INOUT STD_LOGIC_VECTOR(2 DOWNTO 0));</p><p><b>  END hql;</b></p><p>  ARCHITECTURE sd OF hql IS</p><p>  COMPONENT fen</p><p>  port(clk:

30、in std_logic;</p><p>  q:out std_logic);</p><p>  end COMPONENT;</p><p>  COMPONENT selx</p><p>  port(clk:in std_logic;</p><p>  sel:inout std_logic_vecto

31、r(2 downto 0));</p><p>  end COMPONENT;</p><p>  COMPONENT corna</p><p>  port(clr,sig,door:in std_logic;</p><p>  alm:out std_logic;</p><p>  q3,q2,q1,q0,

32、dang:out std_logic_vector(3 downto 0));</p><p>  end COMPONENT;</p><p>  COMPONENT lock</p><p>  port(l:in std_logic;</p><p>  a4,a3,a2,a1,a0:in std_logic_vector(3 down

33、to 0);</p><p>  q4,q3,q2,q1,q0:out std_logic_vector(3 downto 0)); </p><p>  end COMPONENT;</p><p>  COMPONENT ch</p><p>  port(sel:in std_logic_vector(2 downto 0); <

34、/p><p>  a3,a2,a1,a0,dang:in std_logic_vector(3 downto 0); </p><p>  q:out std_logic_vector(3 downto 0));</p><p>  end COMPONENT;</p><p>  COMPONENT disp</p><p&

35、gt;  port(d:in std_logic_vector(3 downto 0); </p><p>  q:out std_logic_vector(6 downto 0)); </p><p>  end COMPONENT;</p><p>  SIGNAL qq:STD_LOGIC;</p><p>  SIGNAL qq3,

36、qq2,qq1,qq0,qqdang:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  SIGNAL tt4,tt3,tt2,tt1,tt0:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  SIGNAL ww:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p><b> 

37、 BEGIN</b></p><p>  u1:fen PORT MAP(clk=>clk,q=>qq);</p><p>  u2:selx PORT MAP(clk=>clk,sel=>sel);</p><p>  u3:corna PORT MAP(clr=>clr,sig=>sig,door=>qq,a

38、lm=>alm,q3=>qq3,q2=>qq2,q1=>qq1,q0=>qq0,dang=>qqdang);</p><p>  u4:lock PORT MAP(l=>qq,a4=>qq3,a3=>qq3,a2=>qq2,a1=>qq1,a0=>qqdang,q4=>tt4,q3=>tt3,q2=>tt2,q1=>t

39、t1,q0=>tt0);</p><p>  u5:ch PORT MAP(sel=>sel,a3=>tt4,a2=>tt3,a1=>tt2,a0=>tt1,dang=>tt0,q=>ww);</p><p>  u6:disp PORT MAP(d=>ww,q=>q);</p><p><b>

40、  END sd;</b></p><p>  本部分講述的是用圖形的方法來實現(xiàn)模塊聯(lián)調(diào),在Mux plusII中現(xiàn)將編譯好的各模塊生成為圖形(File→creat Default Symbol),再打開新建一個圖形編輯器(File→New→Graphic Editor file)進行圖形拼湊編譯就可以了,最后的圖形如下圖:</p><p><b>  4 系統(tǒng)仿真&

41、lt;/b></p><p>  整個系統(tǒng) 的仿真波形如下:</p><p>  測試信號是頻率為5kHz脈沖時的仿真波形圖</p><p>  第一次仿真中的換檔情況</p><p>  測試信號是頻率為25kHz脈沖時的仿真波形圖</p><p>  測試信號是頻率為250kHz脈沖時的仿真波形</p&

42、gt;<p>  測試信號是周期為6ms脈沖時的仿真波形圖</p><p><b>  5硬件驗證說明</b></p><p>  將下載好程序的主芯片根據(jù)事先定義好的管腳連好線,clk端口用實驗箱的輸出為4MHz的標準時基信號,sig端口接入被測的信號,clr端口連接一個電平開關(guān),將電平開關(guān)-置高電平,輸出端接好LED顯示器就可以觀察被測信號的頻率了。

43、</p><p><b>  6 總結(jié)</b></p><p>  這次課程設(shè)計的主要任務(wù)是設(shè)計一個數(shù)字頻率計,雖然老師為我們提供了一些相關(guān)的信息,也給了我們一個實驗設(shè)計的輪廓,但在實際設(shè)計過程中還是遇到了不少的問題。畫流程圖、編寫程序、編譯以及仿真等等,當有不清楚的時候就查一些相關(guān)的資料并向別的同學請教,然后再編再改,直到成功為止。通過自己的努力和同學的幫助完成了這

44、次設(shè)計,但我覺得過程更重要。通過這次的課程設(shè)計,讓我明白了“三人行,必有我?guī)熝伞?,更讓我懂得了,在困難和未知面前,只要我們勇敢地去嘗試,總結(jié)經(jīng)驗,汲取教訓,努力做好每一點,那么我們就會有所收獲。</p><p><b>  7參考書目</b></p><p>  [1]《PLD與數(shù)字系統(tǒng)設(shè)計》李輝 西安電子科技大學出版社 2005</p><p&g

45、t;  [2]《集成電路設(shè)計VHDL教程》趙俊超 等著 北京:希望電子出版社2002 </p><p>  [3]《VHDL數(shù)字系統(tǒng)設(shè)計與高層次綜合》林敏 方穎立著北京:電子工業(yè)出版社 2002</p><p>  [4]《VHDL程序設(shè)計》曾繁泰 陳美金著北京: 清華大學出版社 2001</p><p>  [5]《VHDL 實用教程》潘松 王國棟著 成都:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論