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

下載本文檔

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

文檔簡介

目錄1.前言 32.設(shè)計(jì)要求 43.整體設(shè)計(jì) 44.設(shè)計(jì)原理 45.設(shè)計(jì)程序 45.1頂層文件 45.28位是進(jìn)制計(jì)數(shù)器 55.310進(jìn)制計(jì)數(shù)器 65.4測頻控制電路 75.532位鎖存器及其控制器 86.引腳鎖定 97.綜合結(jié)果 97.1RTL電路 97.2測頻控制電路 107.38位十進(jìn)制計(jì)數(shù)器 107.332位鎖存器 108.實(shí)驗(yàn)結(jié)果 117.實(shí)驗(yàn)總結(jié) 11參考文獻(xiàn) 13自適應(yīng)數(shù)字頻率計(jì)數(shù)器設(shè)計(jì)1.前言傳統(tǒng)的數(shù)字頻率計(jì)一般是由分離元件搭接而成,用到的器件較多,連線比較復(fù)雜,而且會(huì)產(chǎn)生比較大的延時(shí),造成測量誤差大、可靠性差。后來隨著單片機(jī)的大規(guī)模的應(yīng)用,出現(xiàn)了不少用單片機(jī)控制的頻率測量系統(tǒng)。相對(duì)于以前用分離元件搭接起來的頻率測量系統(tǒng),單片機(jī)控制的頻率測量系統(tǒng)在頻率測量范圍、頻率測量精度和頻率測量速度上都有了很大的提高。但由于單片機(jī)工作頻率的限制、單片機(jī)內(nèi)部計(jì)數(shù)器位數(shù)的限制等因素,由單片機(jī)控制的頻率測量系統(tǒng)無法在頻率測量范圍、頻率測量精度和頻率測量速度上取得重大突破。若再增加別的器件,以彌補(bǔ)單片機(jī)的不足,不僅會(huì)大大增加系統(tǒng)的復(fù)雜性,而且不利于系統(tǒng)的集成化。以EDA工具作為開發(fā)平臺(tái),運(yùn)用VHDL語言,將使整個(gè)系統(tǒng)大大簡化,從而提高整體的性能和可靠性。本課題采用的是等精度數(shù)字頻率計(jì),在一片F(xiàn)PGA開發(fā)板里實(shí)現(xiàn)了數(shù)字頻率計(jì)的絕大部分功能,它的集成度遠(yuǎn)遠(yuǎn)超過了以往的數(shù)字頻率計(jì)。又由于數(shù)字頻率計(jì)最初的實(shí)現(xiàn)形式是用硬件描述語言寫成的程序,具有通用性和可重用性。所以在外在的條件(如基準(zhǔn)頻率的提高,基準(zhǔn)頻率精度的提高)的允許下,只需對(duì)源程序作很小的改動(dòng),就可以使數(shù)字頻率計(jì)的精度提高幾個(gè)數(shù)量級(jí)。同時(shí)對(duì)于頻率精度要求不高的場合,可以修改源程序,使之可以用較小的器件實(shí)現(xiàn),從而降低系統(tǒng)的整體造價(jià)。2.設(shè)計(jì)要求設(shè)計(jì)一個(gè)頻率計(jì),頻率測量范圍為1-9999KHZ,量程分別為10、100、1M三檔,要求如下: a.當(dāng)讀數(shù)大于999時(shí),頻率計(jì)處于超量程狀態(tài),下一次測量時(shí),量程自動(dòng)增大1檔b.當(dāng)讀數(shù)小于099時(shí),頻率計(jì)處于欠量程狀態(tài),下一次測量時(shí),量程自動(dòng)減小1檔c.當(dāng)超過頻率范圍時(shí),顯示器自動(dòng)溢出3.整體設(shè)計(jì)當(dāng)被測頻率進(jìn)入時(shí)候,檔位1、2能自動(dòng)換擋實(shí)現(xiàn)功能,在檔位1中,有一個(gè)LED燈亮(表示Hz);檔位2中有2個(gè)LED燈亮(表示kHz);當(dāng)計(jì)數(shù)頻率超出9999kHz的時(shí)候,顯示“E”而且LED燈全部熄滅,表示溢出功能。在程序代碼中,必須要清晰表示出計(jì)數(shù)的運(yùn)行狀況。檔位1:當(dāng)被測頻率為0—9999Hz時(shí)候,直接顯示fx的值(單位為Hz);檔位2:當(dāng)被測頻率為10k—9999kHz時(shí)候,顯示10-9999(單位kHz);4.設(shè)計(jì)原理根據(jù)頻率的定義和頻率測量的基本原理,測定信號(hào)的頻率必須有一個(gè)脈寬為1秒的輸入信號(hào)脈沖計(jì)數(shù)允許的信號(hào);1秒計(jì)數(shù)結(jié)束后,計(jì)數(shù)值被鎖入鎖存器,計(jì)數(shù)器清0,為下一測頻計(jì)數(shù)周期作好準(zhǔn)備。測頻控制信號(hào)可以由一個(gè)獨(dú)立的發(fā)生器來產(chǎn)生。5.設(shè)計(jì)程序5.1頂層文件LIBRARYIEEE;--頻率計(jì)頂層文件LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYFREQTESTISPORT(CLK1HZ:INSTD_LOGIC;FSIN:INSTD_LOGIC;DOUT:OUTSTD_LOGIC_VECTOR(15DOWNTO0);LED:OUTSTD_LOGIC_VECTOR(1DOWNTO0));ENDFREQTEST;ARCHITECTUREstrucOFFREQTESTISCOMPONENTFTCTRLPORT(CLKK:INSTD_LOGIC;--1HzCNT_EN:OUTSTD_LOGIC;--計(jì)數(shù)器時(shí)鐘使能RST_CNT:OUTSTD_LOGIC;--計(jì)數(shù)器清零Load:OUTSTD_LOGIC);--輸出鎖存信號(hào)ENDCOMPONENT;COMPONENTCOUNTERPORT(FIN:INSTD_LOGIC;--時(shí)鐘信號(hào)CLR:INSTD_LOGIC;--清零信號(hào)ENABL:INSTD_LOGIC;--計(jì)數(shù)使能信號(hào)DOUT:OUTSTD_LOGIC_VECTOR(31DOWNTO0));--計(jì)數(shù)結(jié)果ENDCOMPONENT;COMPONENTREG32BPORT(LK:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(31DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(15DOWNTO0);LEDOUT:OUTSTD_LOGIC_VECTOR(1DOWNTO0));ENDCOMPONENT;SIGNALTSTEN1:STD_LOGIC;SIGNALCLR_CNT1:STD_LOGIC;SIGNALLoad1:STD_LOGIC;SIGNALDTO1:STD_LOGIC_VECTOR(31DOWNTO0);SIGNALCARRY_OUT1:STD_LOGIC_VECTOR(6DOWNTO0);BEGINU1:FTCTRLPORTMAP(CLKK=>CLK1HZ,CNT_EN=>TSTEN1,RST_CNT=>CLR_CNT1,Load=>Load1);U2:REG32BPORTMAP(LK=>Load1,DIN=>DTO1,DOUT=>DOUT,LEDOUT=>LED);U3:COUNTERPORTMAP(FIN=>FSIN,CLR=>CLR_CNT1,ENABL=>TSTEN1,DOUT=>DTO1);ENDstruc;5.28位是進(jìn)制計(jì)數(shù)器LIBRARYIEEE;--8位十進(jìn)制計(jì)數(shù)器USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCOUNTERISPORT(FIN:INSTD_LOGIC;--時(shí)鐘信號(hào)CLR:INSTD_LOGIC;--清零信號(hào)ENABL:INSTD_LOGIC;--計(jì)數(shù)使能信號(hào)DOUT:OUTSTD_LOGIC_VECTOR(31DOWNTO0));--計(jì)數(shù)結(jié)果ENDCOUNTER;ARCHITECTUREbehavOFCOUNTERISCOMPONENTCOUNTER10ISPORT(FIN:INSTD_LOGIC;--時(shí)鐘信號(hào)CLR:INSTD_LOGIC;--清零信號(hào)ENABL:INSTD_LOGIC;--計(jì)數(shù)使能信號(hào)DOUT:OUTSTD_LOGIC_VECTOR(3DOWNTO0);--計(jì)數(shù)結(jié)果COUT:OUTSTD_LOGIC);ENDCOMPONENT;SIGNALCLK1,CLK2,CLK3,CLK4,CLK5,CLK6,CLK7:STD_LOGIC;BEGINu1:COUNTER10PORTMAP(FIN=>FIN,CLR=>CLR,ENABL=>ENABL,DOUT=>DOUT(3DOWNTO0),COUT=>CLK1);u2:COUNTER10PORTMAP(FIN=>CLK1,CLR=>CLR,ENABL=>ENABL,DOUT=>DOUT(7DOWNTO4),COUT=>CLK2);u3:COUNTER10PORTMAP(FIN=>CLK2,CLR=>CLR,ENABL=>ENABL,DOUT=>DOUT(11DOWNTO8),COUT=>CLK3);u4:COUNTER10PORTMAP(FIN=>CLK3,CLR=>CLR,ENABL=>ENABL,DOUT=>DOUT(15DOWNTO12),COUT=>CLK4);u5:COUNTER10PORTMAP(FIN=>CLK4,CLR=>CLR,ENABL=>ENABL,DOUT=>DOUT(19DOWNTO16),COUT=>CLK5);u6:COUNTER10PORTMAP(FIN=>CLK5,CLR=>CLR,ENABL=>ENABL,DOUT=>DOUT(23DOWNTO20),COUT=>CLK6);u7:COUNTER10PORTMAP(FIN=>CLK6,CLR=>CLR,ENABL=>ENABL,DOUT=>DOUT(27DOWNTO24),COUT=>CLK7);u8:COUNTER10PORTMAP(FIN=>CLK7,CLR=>CLR,ENABL=>ENABL,DOUT=>DOUT(31DOWNTO28));ENDARCHITECTUREbehav;5.310進(jìn)制計(jì)數(shù)器LIBRARYIEEE;--10位計(jì)數(shù)器USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCOUNTER10ISPORT(FIN:INSTD_LOGIC;--時(shí)鐘信號(hào)CLR:INSTD_LOGIC;--清零信號(hào)ENABL:INSTD_LOGIC;--計(jì)數(shù)使能信號(hào)DOUT:OUTSTD_LOGIC_VECTOR(3DOWNTO0);--計(jì)數(shù)結(jié)果COUT:OUTSTD_LOGIC);ENDCOUNTER10;ARCHITECTUREbehavOFCOUNTER10ISSIGNALCQI:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(FIN,CLR,ENABL)BEGINIFCLR='1'THENCQI<=(OTHERS=>'0');--清零ELSIFFIN'EVENTANDFIN='1'THENIFENABL='1'THENIFCQI<9THENCQI<=CQI+1;ELSECQI<=(OTHERS=>'0');ENDIF;ENDIF;ENDIF;IFCQI="1001"THENCOUT<='1';ELSECOUT<='0';ENDIF;ENDPROCESS;DOUT<=CQI;ENDbehav;5.4測頻控制電路LIBRARYIEEE;--測頻控制電路USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYFTCTRLISPORT(CLKK:INSTD_LOGIC;--1HzCNT_EN:OUTSTD_LOGIC;--計(jì)數(shù)器時(shí)鐘使能RST_CNT:OUTSTD_LOGIC;--計(jì)數(shù)器清零Load:OUTSTD_LOGIC);--輸出鎖存信號(hào)ENDFTCTRL;ARCHITECTUREbehavOFFTCTRLISSIGNALDiv2CLK:STD_LOGIC;BEGINPROCESS(CLKK)BEGINIFCLKK'EVENTANDCLKK='1'THEN--1Hz時(shí)鐘2分頻Div2CLK<=NOTDiv2CLK;ENDIF;ENDPROCESS;PROCESS(CLKK,Div2CLK)BEGINIFCLKK='0'ANDDiv2CLK='0'THENRST_CNT<='1';--產(chǎn)生計(jì)數(shù)器清零信號(hào)ELSERST_CNT<='0';ENDIF;ENDPROCESS;Load<=NOTDiv2CLK;CNT_EN<=Div2CLK;ENDbehav;5.532位鎖存器及其控制器LIBRARYIEEE;--32位鎖存器及控制器USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYREG32BISPORT(LK:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(31DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(15DOWNTO0);LEDOUT:OUTSTD_LOGIC_VECTOR(1DOWNTO0));ENDREG32B;ARCHITECTUREbehavOFREG32BISSIGNALDD:STD_LOGIC_VECTOR(31DOWNTO0);BEGINPROCESS(LK,DIN)BEGINIFLK'EVENTANDLK='1'THENDD<=DIN;ENDIF;ifDD(31DOWNTO28)="0000"thenIFDD(27DOWNTO16)="000000000000"THENDOUT<=DD(15DOWNTO0);LEDOUT<="01";ELSIFDD(27DOWNTO16)/="000000000000"THENDOUT<=DD(27DOWNTO12);LEDOUT<="11";endif;elseDOUT(15DOWNTO0)<="0000000000001110";LEDOUT<="00";ENDIF;ENDPROCESS;ENDbehav;6.引腳鎖定7.綜合結(jié)果7.1RTL電路7.2測頻控制電路7.38位十進(jìn)制計(jì)數(shù)器7.332位鎖存器8.實(shí)驗(yàn)結(jié)果7.實(shí)驗(yàn)總結(jié)經(jīng)系統(tǒng)測試表明,本圖頻率計(jì)的各項(xiàng)功能正常,能實(shí)現(xiàn)對(duì)頻率的0~9999kHz頻率范圍的測量,并通過LED指示和數(shù)碼管顯示,操作簡單,是理想頻率計(jì)解決方案。經(jīng)過一個(gè)多星期的努力,本

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論