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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

2、生產領域不可缺少的測量儀器。采用VDHL編程設計實現(xiàn)的數(shù)字頻率計,除被測信號的整形部分、鍵輸入部分和數(shù)碼顯示部分以外,其余全部在一片F(xiàn)PGA芯片上實現(xiàn),整個系統(tǒng)非常精簡,而且具有靈活的現(xiàn)場可更改性。在不更改硬件電路的基礎上,對系統(tǒng)進行各種改進還可以進一步提高系統(tǒng)的性能。該數(shù)字頻率計具有高速、精確、可靠、抗干擾性強和現(xiàn)場可編程等優(yōu)點。二設計思路以及實現(xiàn)方法1.測頻原理本頻率計設計測量頻率的基本原理是,首先讓被測信號與標準信號一起通過一個閘門,然后用計數(shù)器計數(shù)信號脈沖的個數(shù),把標準時間內的計數(shù)的結果,用鎖存器鎖存起來,最后用顯示譯碼器,把鎖存的結果用LED數(shù)碼顯示管顯示出來。頻率計測量頻率需要設計

3、整形電路使被測周期性信號整形成脈沖,然后設計計數(shù)器對整形后的脈沖在單位時間內重復變化的次數(shù)進行計數(shù),計數(shù)器計出的數(shù)字經鎖存器鎖存后送往譯碼驅動顯示電路用數(shù)碼管將數(shù)字顯示出來,需要設計控制電路產生允許計數(shù)的門閘信號、計數(shù)器的清零信號和鎖存器的鎖存信號使電路正常工作。2.實現(xiàn)方法根據(jù)數(shù)字頻率計的基本原理,本文設計方案的基本思想是分為五個模塊來實現(xiàn)其功能,即整個數(shù)字頻率計系統(tǒng)分為分頻模塊、控制模塊、計數(shù)模塊、譯碼模塊和量程自動切換模塊等幾個單元,并且分別用VHDL對其進行編程,實現(xiàn)了閘門控制信號、計數(shù)電路、鎖存電路、顯示電路等。三系統(tǒng)框圖與模塊說明1.系統(tǒng)原理框圖計數(shù)器鎖存器譯碼驅動電路數(shù)碼管顯示測

4、頻控制信號發(fā)生器待測信號2.模塊說明標準時鐘發(fā)生電路模塊借用實驗板上標準時鐘發(fā)生電路,為計數(shù)閘門控制電路提供一個標準8Hz信號。計數(shù)器閘門控制電路模塊計數(shù)器閘門控制電路就是產生三個控制信號,即計數(shù)器復位信號、4位十進制計數(shù)器允許計數(shù)信號、鎖存信號。鎖存電路模塊鎖存電路就是為了讓LED數(shù)碼管在信號來臨之前保持計數(shù)值不變。4位十進制計數(shù)器鎖存電路譯碼電路計數(shù)器閘門控制電路片選電路數(shù)據(jù)選擇電路LED數(shù)碼顯示。計數(shù)器復位電路模塊計數(shù)器復位電路是讓頻率計恢復到計數(shù)初始態(tài)。LED數(shù)碼管驅動電路模塊LED數(shù)碼管驅動電路就是為LED數(shù)碼管提供驅動電壓。4位十進制計數(shù)器數(shù)據(jù)選擇器譯碼電路計數(shù)器閘門控制電路鎖存電

5、路片選電路LED數(shù)碼顯示待測輸入信號4MH時鐘4MH時鐘四各部分模塊具體設計1. 模塊FEN,通過對 4MHz 時鐘進行分頻以獲得 0.5 Hz 時鐘,為核心模塊,CORNA 提供 1 的閘門時間。 library ieee; use ieee.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; v

6、ariable x:std_logic; begin if clkevent and clk=1then if cnt3999999 then cnt:=cnt+1; else cnt:=0; x:=not x; end if; end if; q=x; end process; end fen_arc; 仿真圖: 2. 模塊SELX,該模塊產生數(shù)碼管的片選信號。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity selx is port(clk:in std_logic; se

7、l:inout std_logic_vector(2 downto 0); end selx; architecture sel_arc of selx is begin process(clk) variable cnt:std_logic_vector(2 downto 0); begin if (clkevent and clk=1) then cnt:=cnt+1; end if; sel=cnt; end process; end sel_arc;仿真圖:3. 核心模塊CORNA,該模塊是整個程序的核心,它能在1 的閘門時間里完成對被測信號頻率計數(shù)的功能,并通過選擇輸出數(shù)據(jù)實現(xiàn)自動換

8、檔的功能。library 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; architecture corn_arc of corna is begin process(door,sig) variable c0,c1,c2,c3,c4,c5,c6:st

9、d_logic_vector(3 downto 0); variable x:std_logic; begin if (sigevent and sig=1)then if door=1then if c01001then c0:=c0+1; else c0:=0000; if c11001then c1:=c1+1; else c1:=0000; if c21001then c2:=c2+1; else c2:=0000; if c31001then c3:=c3+1; else c3:=0000; if c41001then c4:=c4+1; else c4:=0000; if c510

10、01then c5:=c5+1; else c5:=0000; if c61001then c6:=c6+1; else c6:=0000; alm=1; end if; end if; end if; end if; end if; end if; end if; else if clr=0then alm=0; end if; c6:=0000; c5:=0000; c4:=0000; c3:=0000; c2:=0000; c1:=0000; c0:=0000; end if; if c6/=0000then q3=c6; q2=c5; q1=c4; q0=c3; dang=0100;

11、elsif c5/=0000then q3=c5; q2=c4; q1=c3; q0=c2; dang=0011; elsif c4/=0000then q3=c4; q2=c3; q1=c2; q0=c1; dang=0010; elsif c3/=0000then q3=c3; q2=c2; q1=c1; q0=c0; dang=0001; end if; end if; end process;end corn_arc;仿真圖:4. 模塊 LOCK,該模塊實現(xiàn)鎖存器的功能在信號L的下降沿到來時將信號A4、A3、A2、A1鎖存。 library ieee; use ieee.std_log

12、ic_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 lock_arc of lock is begin process(l) variable t4,t3,t2,t1,t0:std_logic_vector(3 downto 0); begin if levent and l=0then t4:=a4; t3:=

13、a3; t2:=a2; t1:=a1; t0:=a0; end if; q4=t4; q3=t3; q2=t2; q1=t1; q0qqqqqqqqqqqqqqqqq=0000000; end case; end process; end disp_arc; 五系統(tǒng)仿真結果原理圖:仿真結果:六心得體會:EDA課設的時間挺緊張的,很多問題自己都難以解決,這個課題雖然不難,但是在做的過程中還是存在很多問題,不過在與同學的討論中和在網上、在圖書館查找相關的資料,這些問題已經一點一點被解決了,通過這次課設我感覺自己對VHDL語言的理解又進了一步!對硬件描述語言和純元件語言,如c語言之間的差別又有了更深一層次的理解,不過自我感覺想要對VHDL語言要很熟練的掌握的話,還需要多多的練習才行的。另外VHDL的系統(tǒng)描述能力雖強,不過編寫程序的人也要對底層的電路有一定的了解才能更加得心應手的使用VHDL語言編寫出高效率,準確的代碼。采用常規(guī)電路設計數(shù)字頻率計,所用的器件較多,連線比較復雜,而且存在延時較大、測量誤差較大、可靠性低的缺點。采用復雜可編程邏輯器件,以EDA工具為開發(fā)手段、運用VHDL語言編程進行數(shù)字頻率計的設計,將在系統(tǒng)大大簡化的同時,提高儀器整體的性能和可靠性。課設帶來的知識只是一小部分,想要更深地掌握這門課程,還需要自

溫馨提示

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

最新文檔

評論

0/150

提交評論