等精度頻率計的設計_第1頁
等精度頻率計的設計_第2頁
等精度頻率計的設計_第3頁
等精度頻率計的設計_第4頁
等精度頻率計的設計_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

等精度頻率計的設計學生:常冬偉指導老師:胡亞崎摘要利用等精度測量原理,通過EDA運行VHDL編程設計一個頻率計,精度范圍在0.1Hz~100Hz,給出現(xiàn)實代碼和仿真波形。設計具有較高的實用性和可靠性?;趥鹘y(tǒng)測評原理的頻率計的測量精度將隨被測信號頻率下降而降低,及測量精度將隨被測信號頻率的變化而變化,在實用中有較大的局限性,而等精度頻率計不但具有較高的測量精度,且在整個頻率區(qū)域能保持恒定的測量精度。設計要求1.頻率測試功能:測頻范圍0.1Hz~100MHz。測頻精度:測頻全域相對誤差恒為百萬分之一。2

.脈寬測試功能:測試范圍0.1μs~1s,測試精度0.01μs。3.占空比測試功能:測試精度1%~99%。測頻原理常見的直接測頻方法主要有測頻法和測周期法兩種。測頻法就是在確定的閘門時間Tw內(nèi),紀錄被測信號的變化周期數(shù)(或脈沖個數(shù))Nx,則被測信號的頻率為:fx=

Nx/Tw

。測周期法需要有標準信號的頻率fs,在待測信號的一個周期Tx內(nèi),紀錄標準測頻率的周期數(shù)Ns,則被測信號的頻率為fx=fs/Ns。這兩種方法的記數(shù)值會產(chǎn)生±1個字誤差,并且測試精度與計數(shù)器中紀錄的數(shù)值Nx或Ns有關(guān)。為了保證測試精度,一般對于低頻信號采用測周期法;對于高頻信號采用測頻法,因此測試很不方便,所以有人提出等精度測頻方法。

等精度測量方法是在直接測頻方法的基礎(chǔ)上發(fā)展起來的。它的閘門時間不是固定值,而是被測信號的整數(shù)倍,即于被測信號同步,因此,排除了對被測信號計數(shù)所產(chǎn)生±1個字誤差,并達到了在整個測試頻段的等精度測量。測試原理圖圖等精度頻率計主控結(jié)構(gòu)圖原理圖2圖等精度頻率計主控結(jié)構(gòu)圖2主系統(tǒng)組成圖頻率計主系統(tǒng)電路組成VHDL程序設計LIBRARYIEEE;--等精度頻率計USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYjdpljISPORT(BCLK:INSTD_LOGIC;--CLOCK1標準頻率時鐘信號TCLK:INSTD_LOGIC;--待測頻率時鐘信號CLR:INSTD_LOGIC;--清零和初始化信號CL:INSTD_LOGIC;--預置門控制SPUL:INSTD_LOGIC;--測頻或測脈寬控制START:OUTSTD_LOGIC;--起始計數(shù)標志信號EEND:OUTSTD_LOGIC;--由低電平變到高電平時指示脈寬計數(shù)結(jié)束SEL:INSTD_LOGIC_VECTOR(2DOWNTO0);--數(shù)據(jù)讀出選擇控制DATA:OUTSTD_LOGIC_VECTOR(7DOWNTO0));--8位數(shù)據(jù)讀出ENDjdplj;ARCHITECTUREbehavOFjdpljISSIGNALBZQ:STD_LOGIC_VECTOR(31DOWNTO0);--標準計數(shù)器SIGNALTSQ:STD_LOGIC_VECTOR(31DOWNTO0);--測頻計數(shù)器SIGNALENA:STD_LOGIC;--計數(shù)使能SIGNALMA,CLK1,CLK2,CLK3:STD_LOGIC;SIGNALQ1,Q2,Q3,BENA,PUL:STD_LOGIC;SIGNALSS:STD_LOGIC_VECTOR(1DOWNTO0);BEGINSTART<=ENA;DATA<=BZQ(7DOWNTO0)WHENSEL=“000”ELSE--標準頻率計數(shù)低8位輸出VHDL程序

BZQ(15DOWNTO8)WHENSEL="001"ELSEBZQ(23DOWNTO16)WHENSEL="010"ELSEBZQ(31DOWNTO24)WHENSEL=“011”ELSE--標準頻率計數(shù)高8位輸出TSQ(7DOWNTO0)WHENSEL=“100”ELSE--待測頻率計數(shù)值低8位輸出TSQ(15DOWNTO8)WHENSEL="101"ELSETSQ(23DOWNTO16)WHENSEL="110"ELSETSQ(31DOWNTO24)WHENSEL=“111”ELSE--待測頻率計數(shù)值高8位輸出TSQ(31DOWNTO24);BZH:PROCESS(BCLK,CLR)--標準頻率測試計數(shù)器,標準計數(shù)器BEGINIFCLR='1'THENBZQ<=(OTHERS=>'0');ELSIFBCLK'EVENTANDBCLK='1'THENIFBENA='1'THENBZQ<=BZQ+1;ENDIF;ENDIF;ENDPROCESS;TF:PROCESS(TCLK,CLR,ENA)--待測頻率計數(shù)器,測頻計數(shù)器BEGINIFCLR='1'THENTSQ<=(OTHERS=>'0');ELSIFTCLK'EVENTANDTCLK='1'THENIFENA='1'THENTSQ<=TSQ+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(TCLK,CLR)BEGINIFCLR='1'THENENA<='0‘;VHDL程序ELSIFTCLK'EVENTANDTCLK='1'THENENA<=CL;ENDIF;ENDPROCESS;MA<=(TCLKANDCL)ORNOT(TCLKORCL);--測脈寬邏輯CLK1<=NOTMA;CLK2<=MAANDQ1;CLK3<=NOTCLK2;SS<=Q2&Q3;DD1:PROCESS(CLK1,CLR)BEGINIFCLR='1'THENQ1<='0';ELSIFCLK1'EVENTANDCLK1='1'THENQ1<='1';ENDIF;ENDPROCESS;DD2:PROCESS(CLK2,CLR)BEGINIFCLR='1'THENQ2<='0';ELSIFCLK2'EVENTANDCLK2='1'THENQ2<='1';ENDIF;ENDPROCESS;DD3:PROCESS(CLK3,CLR)BEGINIFCLR='1'THENQ3<='0';ELSIFCLK3'EVENTANDCLK3='1'THENQ3<='1';ENDIF;ENDPROCESS;PUL<=‘1’WHENSS=“10”ELSE--EEND為低電平時,表示正在記數(shù),由低電平變?yōu)楦唠娖健?’;--時,表示記數(shù)結(jié)束,可以從標準計數(shù)器中讀數(shù)據(jù)了EEND<='1'WHENSS="11"ELSE'0';BENA<=ENAWHENSPUL=‘1’ELSE--標準計數(shù)器時鐘使能控制信號,當SPUL為1時,測頻率PULWHENSPUL=‘0’ELSE--當SPUL為0時,測脈寬和占空間比PUL;ENDbehav;引腳鎖定根據(jù)GW48/GK/EK/PK2系統(tǒng)萬能插口與結(jié)構(gòu)圖信號與芯片引腳對造和模式5得到引腳表如表所示:芯片引腳名實驗控制選擇

引腳名

引腳號

BCLK標準頻率時鐘clock9(50MHz)1TCLKclock0(2,4,8Hz)2CLR鍵7PIO611CL鍵8PIO716SPUL鍵4PIO38START發(fā)光管7PIO1424EEND發(fā)光管8PIO1525DATA7~4數(shù)碼管2PIO23~2038~3535DATA3~0數(shù)碼管1PIO19~1630~27SEL2~0鍵3~1PIO2~07~5引腳注釋

1.BCLK:標準頻率輸入信號,50MHz(CLB).2.TCLK:待測頻率輸入信號,0.1Hz-50MHz.3.CLR:全局清0和初始化輸入,高電平有效,由單片機向FPGA發(fā)出。4.CL:預置門控制輸入,時間可選在0.1s到10s間,高電平有效,由單片機向FPGA發(fā)出。5.SPUL:高電平測頻率,低電平測脈沖,由單片機想FPGA發(fā)出。6.此信號由單片機讀取,在測頻時,高電平時表示進去計數(shù)周期,低電平時表示計數(shù)結(jié)束,單片機可以讀取FPGA中的計數(shù)。7.EEND:在測脈沖期間(SPUL=’0’),由低電平變?yōu)楦唠娖?,表示脈寬計數(shù)結(jié)束,EEND信號由單片機讀出。8.DATA:計數(shù)數(shù)據(jù)輸出8位,由單片機根據(jù)SEL選擇信號分別讀取。9.SEL:計數(shù)數(shù)據(jù)讀出控制3位,由單片機輸出控制。當SEL分別等于:“000”、“001”、“010”、“011”,可由DATA分別讀出:BZQ[7..0]、[15..8]、[23..16]、[31..24]共32位。當SEL分別等于:“100”、“101”、“110”、“111”,可由DATA分別讀出:TSQ[7..0]、[15..8]、[23..16]、[31..24]共32位。硬件驗證模式5鍵4SPUL亮鍵7清零亮然后滅鍵8快速按兩次先亮后滅然后利用鍵1、2、3分別讀取標準低到高數(shù)據(jù),待測低到高數(shù)據(jù)。程序仿真仿真結(jié)果分析從上圖可以看出,SPUL=’1’時,系統(tǒng)進行等精度測頻。這時,CL一個正脈沖后,系統(tǒng)被初始化。然后CL被置為高電平,但這時兩計數(shù)器并未開始計數(shù)(START=’0’),直到此后信號被測信號TCLK出現(xiàn)一個上升沿,START=’1’時兩個計數(shù)器同時啟動分別對被測信號和標準信號開始計數(shù),其中BZQ和TSQ分別為標準頻率計數(shù)器和被測頻率計數(shù)器的計數(shù)值。由圖可見,在CL變?yōu)榈碗娖胶?,計?shù)仍未停止,直到TCLK出現(xiàn)一個上升沿為止,這時START=’0’,可作為單片機了解計數(shù)結(jié)束的標志信號

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論