畢業(yè)論文基于VHDL的頻率計設計_第1頁
畢業(yè)論文基于VHDL的頻率計設計_第2頁
畢業(yè)論文基于VHDL的頻率計設計_第3頁
畢業(yè)論文基于VHDL的頻率計設計_第4頁
畢業(yè)論文基于VHDL的頻率計設計_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、JIU JIANG UNIVERSITY 畢 業(yè) 論 文(設 計) 題 目 基于VHDL的頻率計設計 英文題目 The frequency meter based on VHDL design 院 系 電子工程學院 專 業(yè) 電子信息工程 姓 名 年 級 指導教師 2015年6月 摘 要 數字頻率計是直接用十進制數字來顯示被測信號頻率的一種測量裝置。它不僅可以測量正弦波、方波、三角波、尖脈沖信號,而且還可以測量它們的周期。經過改裝,可以測量脈沖寬度,做成數字式脈寬測量儀;在電路中增加傳感器,還可以做成數字脈搏儀、計價器等。因此數字頻率計在測量物理量方面應用廣泛。本設計用VHDL在CPLD器件上實

2、現(xiàn)數字頻率計測頻系統(tǒng),能夠用十進制數碼顯示被測信號的頻率,而且還能對其他多種物理量進行測量。具有體積小、可靠性高、功耗低的特點。采用VDHL編程設計實現(xiàn)的數字頻率計,除被測信號的整形部分、鍵輸入部分和數碼顯示部分以外,其余全部在一片F(xiàn)PGA芯片上實現(xiàn),整個系統(tǒng)非常精簡,而且具有靈活的現(xiàn)場可更改性。關鍵字:VHDL語言;頻率計;FPGAThe frequency meter based on VHDL designAbstractDigital frequency meter is directly with a decimal number to display the measured si

3、gnal frequency of a measuring device. It not only can measure the sine wave, square wave, triangle wave, pulse signal, but also can measure their cycle. Modified, and can measure pulse width, into a digital pulse width measuring instrument; Add the sensors in the circuit, but also can be made into d

4、igital pulse apparatus, meter, etc. So the digital frequency meter has been widely applied in measuring physical quantities. This design with VHDL on the CPLD device to realize digital frequency meter frequency measurement and control system, can use decimal digital display measured signal frequency

5、, but also to measure a variety of other physical quantities. With the characteristics of small volume, high reliability, low power consumption. VDHL programming design was adopted to realize digital frequency meter, in addition to the measured signal of the plastic part and digital display, key inp

6、ut parts, all on a FPGA chip, the whole system is very compact, and with flexible field is modified.Key Words:VHDL language; Frequency meter; FPGA目錄摘 要IThe frequency meter based on VHDL designIIAbstractII第一章 緒論111課題的研究背景112頻率計發(fā)展現(xiàn)狀1第2章 數字頻率計的要求32.1 主要技術指標32.2 課題的研究內容3第3章 數字頻率計的方案設計43.1 基本原理43.11 頻率計測

7、量頻率的設計原理43.1.2頻率計測量頻率的原理圖43.2 設計流程圖5第4章 數字頻率計各模塊功能介紹64.1頻率控制模塊的VHDL語言源程序64.1.1 頻率控制模塊的程序如下:64.1.2 頻率控制模塊CNT1274.2十進制加法計數器CNT10的VHDL語言源程序74.2.1 十進制計數器的程序74.2.2 十進制計數器的頂層設計94.3系統(tǒng)模塊的VHDL語言源程序94.3.1系統(tǒng)模塊的設計94.3.2 系統(tǒng)模塊的程序94.4 鎖存器LOCK的VHDL語言源程序134.4.1 鎖存器LOCK的程序134.4.2 鎖存器LOCK頂層設計圖144.5 譯碼模塊DECODER的VHDL語言源

8、程序154.5.1 譯碼模塊DECODER的程序154.6四選一選擇器MUX41的VHDL語言源程序164.6.1 MUX41程序164.7 四進制計數器CNT4的VHDL語言源程序174.7.1 四進制計數器CNT4的程序174.7.2 四進制計數器CNT4174.8 250分頻器的VHDL語言源程序184.8.1 250分頻器的程序184.8.2 250分頻器18第一章 緒論在科技高度發(fā)展的今天,集成電路和計算機應用得到了高速發(fā)展。尤其是計算機應用的發(fā)展。它在人們日常生活已逐漸嶄露頭角。大多數電子產品多是由計算機電路組成。而且將來的不久他們的身影將會更頻繁的出現(xiàn)在我們身邊。各種家用電器多會

9、實現(xiàn)微電腦技術。頻率信號易于傳輸,抗干擾性強,可以獲得較好的測量精度。因此,頻率檢測是電子測量領域最基本的測量之一。本數字頻率計的設計是根據頻率計的測頻原理,可以選擇合適的時基信號對輸入被測信號脈沖進行計數,實現(xiàn)測頻的目的。11課題的研究背景隨著電子電路技術的發(fā)展,頻率計從早期的采用分立元件設計發(fā)展到后來的采用單元電路和單片機進行設計。早期采用分立元件設計的頻率計成品體積大、穩(wěn)定性差、功耗高而且設計費時、設計周期長,不能很快的將最初的概念設想轉為系統(tǒng)實現(xiàn)。在數字電子技術和集成電路迅速發(fā)展的影響下,數字頻率計不但穩(wěn)定性得到了提高而且體積也減小了,得到了廣泛的應用。但數字頻率計仍然存在很多缺點如電

10、路復雜、設計周期較長、測量范圍有限、靈活性差等等。此外,現(xiàn)代電子產品更新?lián)Q代非常的快,在很短的時間內可能就需對電路做出相應的改進以滿足新的功能要求。這對傳統(tǒng)的通用集成電路來說則需要重新設計、重新布線,而可編程邏輯器件的出現(xiàn)克服了這個缺點??删幊踢壿嬈骷ㄟ^編程把通用集成電路集成在一塊尺寸很小的硅片上,電路的體積成倍縮小,走線短,減少了干擾,系統(tǒng)的可靠性也得到了提高,而且該類器件重構硬件的結構和工作方式可以通過軟件編程的方式實現(xiàn),使電子設計通過開發(fā)語言和開發(fā)工具就可實現(xiàn),體現(xiàn)了硬件電路軟設計的思想,硬件設計像軟件設計一樣靈活、方便快捷,產品的開發(fā)周期也得到了極大的縮短,改變了傳統(tǒng)的數字系統(tǒng)設計方

11、法、設計過程和設計觀念,也改變了頻率計的傳統(tǒng)設計方法和設計觀念。 大規(guī)??删幊踢壿嬈骷目焖侔l(fā)展,使得SOPC(system Oil programmable chip,片上可編程系統(tǒng))成為可能。界面友好、易學易用的SOPC集成開發(fā)工具和高效、靈活的片上系統(tǒng)構建方案,既獲得了強大的邏輯控制能力又具備了優(yōu)良的數據處理能力,實現(xiàn)了真正意義上的片上可編程系統(tǒng)。SOPC具有信號處理快、設計周期短、成本低、易集成等特點,被稱為“半導體產業(yè)的未來,這也將成為未來儀器儀表測量系統(tǒng)設計的發(fā)展方向。12頻率計發(fā)展現(xiàn)狀早在1952年美國就生產出了第一臺數碼管顯示的10MHz計數器。目前國內外在頻率測量方面的理論和

12、系統(tǒng)方法都比較成熟,而且電子計數器可以實現(xiàn)頻率、頻率比、周期、時間間隔、脈寬等多種參數的測量,早就突破了早期的只能用來測量頻率或進行計數的概念。目前,頻率計正向著多功能化、程控化、智能化和模塊化的方向發(fā)展,測量技術和工具越來越先進,測頻儀器的精度也越來越高,而且微波技術的發(fā)展需要測量越來越高的頻率。例如,泰克推出的最新頻率計分析儀不僅能夠精確測量出頻率、周期、時間、脈沖或相位、占空比、Vmax、Vmin、Vp-p等13種以上不同的參數,還提供數據統(tǒng)計、柱狀圖以及趨勢圖等被測信號進行全面分析的分析模式,而且還能進行時域的Allan方差測試;泰克的FCA3000和FCA3100系列提供了最高達20

13、GHz的寬頻率范圍,而且實現(xiàn)了每秒12位數字頻率分辨率和單次50 ps(FCA3100)或100 ps(FCA3000)的時間分辨率。程控計數器是電信號的臺式測量儀表和系統(tǒng)“器件,而智能計數器不僅是以上二者,配備不同的傳感器后可以成為其他的非電量測量儀表。如配備激光測距傳感器可以得到被測距離,配備轉速傳感器又可以得到平均轉速或瞬時轉速等。在這些情況下,它就變成了測距儀和轉速分析儀,一機多用增加了儀器的靈活度,提高了儀器的利用率、降低了成本、可以減少實驗室儀器的品種數型。目前,頻率測量的方法有比較測頻法、響應測頻法、直接測頻法、內插法、游標法、多周期同步法、全同步數字測頻法等等。比較測頻法和響應

14、測頻法測量范圍有限而且精度低。直接測頻法方法簡單,但精度不高;內插法和游標法精度有所提高,但由于采用的是模擬方法,電路設計復雜;精度較高的多周期同步測量法還可以和其他方法如內插法、游標法等結合使用,這樣可以在一定的程度上提高測量精度,但沒能消除基準頻率信號的1個字的計數誤差,而且仍然存在著時標不穩(wěn)引入的誤差和一定的觸發(fā)誤差。全同步數字測頻法徹底消除了被測信號和基準頻率信號的1個字的計數誤差,精度較高,而且電路實現(xiàn)也不復雜。通過對上述幾種主要測頻方法的簡單介紹可以了解到,每一種測頻方法各有自己的優(yōu)缺點和使用的場合,在不同的應用條件下具有一定的優(yōu)勢。本設計的頻率計決定采用在多周期同步測量法的基礎上

15、發(fā)展起來的全同步數字測頻法進行設計。第2章 數字頻率計的要求在電子技術中,頻率是最基本的參數之一,并且與許多電參量的測量方案、測量結果都有十分密切的關系,因此頻率的測量就顯得更加重要。2.1 主要技術指標1.頻率范圍為:1Hz50MHz。 2.結果用數碼管十進制顯示。 3.輸入信號電壓幅度為50mV5V。2.2 課題的研究內容(1)比較分析常用頻率計的原理和差別,選擇適合本設計的設計方法。(2)根據選定的設計方法,依自頂而下的設計方法對頻率計進行總體方案的設計和模塊的劃分。(3)用VHDL語言對各個模塊和頂層電路進行設計。(4)在QuartusII環(huán)境下對設計進行測試和仿真。(5)對頻率計的附

16、件電路進行設計,完成總體的頻率計設計,使其成為一個完整系統(tǒng)。(6)基于VHDL的頻率計的方案研究。第3章 數字頻率計的方案設計6位數字頻率計電路的設計, 應用MAX+PLUS軟件平臺, 來說明VHDL語言在EDA仿真中的應用。該設計實例的基本功能描述為:3.1 基本原理3.11 頻率計測量頻率的設計原理頻率計的基本原理是用一個頻率穩(wěn)定度高的頻率源作為基準時鐘,對比測量其他信號的頻率。測頻法就是在確定的閘門時間Tw內,記錄被測信號的變化周期數(或脈沖個數)Nx,則被是信號的頻率為fx=Nx/Tw 。通常情況下計算每秒內待測信號的脈沖個數,即閘門時間為1 s。閘門時間越長,得到的頻率值就越準確,但

17、閘門時間越長,則每測一次頻率的間隔就越長。閘門時間越短,測得的頻率值刷新就越快,但測得的頻率精度就受影響。一般取1 s作為閘門時間。原理圖: 原理圖3.1.2頻率計測量頻率的原理圖本設計采用FPGA來實現(xiàn)全同步數字頻率計。其系統(tǒng)原理框圖如圖3.1所示。由圖知,設計的絕大部分由FPGA完成。 3.2 設計流程圖使用MAX+PLUS進行可編程邏輯器件開發(fā)主要包括4個階段:設計輸入、編譯處理、驗證(包括功能仿真、時序仿真、和定時分析)和器件編程,流程如圖2. 1所示:設計要求設計輸入編譯處理驗證器件編程器件測試系統(tǒng)產品設計修改圖2.1 設計流程圖第4章 數字頻率計各模塊功能介紹在原理圖中共有5個模塊

18、:頻率控制模塊、十進制計數器模塊、鎖存模塊、譯碼模塊、系統(tǒng)模塊,我們將利用VHDL語言分別對這5個模塊進行源程序設計。4.1頻率控制模塊的VHDL語言源程序頻率控制信號的輸入信號是1HZ,將時鐘信號clk 兩分頻后分別取反賦給鎖存使能lock和計數使能端ena,這樣計數完成后就能實現(xiàn)數據的鎖存。當計數使能和時鐘信號同時出現(xiàn)低電平的時候,計數復位信號clr有效,將計數器清零,從新開始計數。4.1.1 頻率控制模塊的程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ctl is-

19、計數允許、鎖存數據和清零三個控制信號 port( clk : in std_logic; ena : out std_logic; clr : out std_logic; lock : out std_logic );end ctl;architecture behav of ctl is signal div2clk : std_logic; begin process(clk) begin if clkevent and clk=1 then div2clk=not div2clk; end if; end process; process(clk,div2clk) begin if c

20、lk=0 and div2clk=0 then clr=1; else clr=0; end if; end process; lock=not div2clk; ena0); elsif clkevent and clk=1 then if CS=1 then if cqi0); end if; end if;end if;if cqi=9 then cout=1;else cout=0;end if;QQf_in, clr=clr1,ena=ena1, cq=cq1,cout=cout1); u2 : cnt10 port map(clk=cout1,clr=clr1,ena=ena1,

21、cq=cq2,cout=cout2); u3 : cnt10 port map(clk=cout2,clr=clr1,ena=ena1, cq=cq3,cout=cout3); u4 : cnt10 port map(clk=cout3,clr=clr1,ena=ena1, cq=cq4,cout=cout4); u5 : cnt10 port map(clk=cout4,clr=clr1,ena=ena1, cq=cq5,cout=cout5); u6 : cnt10 port map(clk=cout5,clr=clr1,ena=ena1, cq=cq6,cout=carry_out);

22、u7 : ctl port map(clk=clk, clr=clr1,ena=ena1,lock=lock1); u8 : reg4 port map(clk=lock1,cq=cq1, led=led1); u9 : reg4 port map(clk=lock1,cq=cq2, led=led2); u10 : reg4 port map(clk=lock1,cq=cq3, led=led3); u11 : reg4 port map(clk=lock1,cq=cq4, led=led4); u12 : reg4 port map(clk=lock1,cq=cq5, led=led5);

23、 u13 : reg4 port map(clk=lock1,cq=cq6, led=led6); u19:decode port map(qin = led1,qout=dula_temp1); u14:decode port map(qin = led2,qout=dula_temp2); u15:decode port map(qin = led3,qout=dula_temp3); u16:decode port map(qin = led4,qout=dula_temp4); u17:decode port map(qin = led5,qout=dula_temp5); u18:d

24、ecode port map(qin = led6,qout=dula_temp6); test_clk_out=clk_div1; wei=wei_temp; process(mclk)-分頻:從50MHZ分出1HZ基準信號 處理后可以產生用于測頻所需的計數允許、鎖存數據和清零三個控制信號。variable cnt1 : integer range 0 to 2500;variable cnt2 : integer range 0 to 10000;beginif mclkevent and mclk=1 thenif cnt1=2500 thencnt1:=0;clk_div1 = not

25、 clk_div1;-掃描信號if cnt2=10000 thencnt2:=0;clk wei_temp = 111110;dula wei_temp = 111101;dula wei_temp = 111011;dula wei_temp = 110111;dula wei_temp = 101111;dula wei_temp = 011111;dulaNULL;end case;end process;end;-f_in 為測試信號,mclk為輸入時鐘,carry_out為溢出信號,test_clk_out為內部分頻輸出的10000HZ信號,為方便自測該程序,wei為六個數碼管的位選

26、,dula為數碼管的段選,如圖4.4圖4.4 系統(tǒng)模塊CODE4.4 鎖存器LOCK的VHDL語言源程序鎖存模塊實現(xiàn)對計數器結果的鎖存,并將其送入譯碼模塊。clk是鎖存允許信號,當clk有效時,鎖存模塊便將輸入信號cq的值送給輸出信號led。見圖4.54.4.1 鎖存器LOCK的程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity reg4 is-鎖存器port( clk : in std_logic; cq : in std_logic_vector(3 downto 0);

27、led : out std_logic_vector(3 downto 0) );end reg4;architecture one of reg4 isbegin process(clk,cq) begin if clkevent and clk=1 then led=cq; end if; end process;end;圖4.5 鎖存器LOCK4.4.2 鎖存器LOCK頂層設計圖圖4.6 鎖存器LOCK頂層設計圖4.5 譯碼模塊DECODER的VHDL語言源程序譯碼模塊實現(xiàn)對計數結果的譯碼,讓其直觀地顯示于數碼管上。這便是典型的8段譯碼器。qin是輸入信號,qout是輸出信號,連接于數碼

28、管。見圖4.74.5.1 譯碼模塊DECODER的程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all; entity decode is-BCD譯碼port(qin : in std_logic_vector(3 downto 0); qout : out std_logic_vector(7 downto 0);end decode;architecture behave of decode isbegin with qin sel

29、ectqout=11000000when 0000,11111001when 0001,10100100when 0010,10110000when 0011,10011001when 0100,10010010when 0101,10000010when 0110,11111000when 0111,10000000when 1000,10010000when 1001,NULLwhen others;圖4.7 譯碼模塊DECODERend behave;4.6四選一選擇器MUX41的VHDL語言源程序當被測頻率超出量程時,設計分頻模塊對被測頻率進行分頻衰減,單位上升,從而擴大測量頻率的范圍

30、。見圖4.8 4.6.1 MUX41程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY MUX41 IS PORT(A,B,C,D:IN STD_LOGIC_VECTOR(3 DOWNTO 0); SEL:IN STD_LOGIC_VECTOR(1 DOWNTO 0); DATA:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END MUX41;ARCHITECTURE ONE OF MUX41 ISBEGINPROCESS(SEL)BEGINIF(SEL=00)THEN DATA=A;EL

溫馨提示

  • 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

提交評論