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

下載本文檔

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

文檔簡介

1、等精度頻率計設計EDA技術實用教程 等精度頻率計設計 在此完成的設計項目可達到的指標為: (1) 頻率測試功能:測頻范圍0.1Hz100MHz。測頻精度:測頻全域相對誤差恒為百萬分之一。(2) 脈寬測試功能:測試范圍0.1s1s,測試精度0.01s。(3) 占空比測試功能:測試精度199。 (4) 相位測試功能(附加功能)。 1.1 主系統組成圖12-1 頻率計主系統電路組成1.2 測頻原理圖12-2 等精度頻率計主控結構 設在一次預置門時間Tpr中對被測信號計數值為Nx,對標準頻率信號的計數值為Ns,則下式成立:12-1不難得到測得的頻率為:12-2圖12-3 頻率計測控時序1.2 測頻原理

2、 占空比 = 12-3 等精度頻率計設計 1.3 FPGA/CPLD開發(fā)的VHDL設計【例12-1】LIBRARY IEEE; -等精度頻率計FPGA設計部分USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY etester IS PORT (BCLK : IN STD_LOGIC; -標準頻率時鐘信號clock2,50MHZ TCLK : IN STD_LOGIC; -待測頻率時鐘信號 CLR : IN STD_LOGIC; -清零和初始化信號CL : IN STD_LOGIC; -當SPUL為高電平時,CL為

3、預置門控信號,用于測頻計數-時間控制當SPUL為低電平時,CL為測脈寬控制信號,-CL高電平時測高電平脈寬而當CL為低電平時,測低電平脈寬。 SPUL : IN STD_LOGIC; -測頻或測脈寬控制 START : OUT STD_LOGIC;-起始計數標志信號 EEND : OUT STD_LOGIC; -由低電平變到高電平時指示脈寬計數結束, SEL : IN STD_LOGIC_VECTOR(2 DOWNTO 0); -數據讀出選同控制 DATA : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); -8位數據讀出END etester;ARCHITECTURE b

4、ehav OF etester ISSIGNAL BZQ : STD_LOGIC_VECTOR(31 DOWNTO 0); -標準計數器SIGNAL TSQ : STD_LOGIC_VECTOR(31 DOWNTO 0); -測頻計數器SIGNAL ENA : STD_LOGIC; -計數使能SIGNAL MA, CLK1, CLK2, CLK3 : STD_LOGIC;SIGNAL Q1, Q2, Q3, BENA, PUL : STD_LOGIC;SIGNAL SS : STD_LOGIC_VECTOR(1 DOWNTO 0);接下頁BEGINSTART = ENA ;DATA = BZQ

5、(7 DOWNTO 0) WHEN SEL=000 ELSE - 標準頻率計數低8位輸出 BZQ(15 DOWNTO 8) WHEN SEL=001 ELSE BZQ(23 DOWNTO 16) WHEN SEL=010 ELSE BZQ(31 DOWNTO 24) WHEN SEL=011 ELSE - 標準頻率計數最高8位輸出 TSQ(7 DOWNTO 0) WHEN SEL=100 ELSE -待測頻率計數值最低8位輸出 TSQ(15 DOWNTO 8) WHEN SEL=101 ELSE TSQ(23 DOWNTO 16) WHEN SEL=110 ELSE TSQ(31 DOWNTO

6、 24) WHEN SEL=111 ELSE -待測頻率計數值最高8位輸出 TSQ(31 DOWNTO 24) ;BZH : PROCESS(BCLK, CLR) -標準頻率測試計數器,標準計數器 BEGIN IF CLR = 1 THEN BZQ 0 ) ; ELSIF BCLKEVENT AND BCLK = 1 THEN IF BENA = 1 THEN BZQ = BZQ + 1; END IF; END IF; END PROCESS;TF : PROCESS(TCLK, CLR, ENA) -待測頻率計數器,測頻計數器 BEGIN IF CLR = 1 THEN TSQ 0 );

7、ELSIF TCLKEVENT AND TCLK = 1 THEN IF ENA = 1 THEN TSQ = TSQ + 1; END IF; END IF;接下頁END PROCESS;PROCESS(TCLK,CLR) BEGIN IF CLR = 1 THEN ENA = 0 ; ELSIF TCLKEVENT AND TCLK=1 THEN ENA = CL ; END IF;END PROCESS; MA=(TCLK AND CL) OR NOT(TCLK OR CL) ; -測脈寬邏輯 CLK1=NOT MA ; CLK2=MA AND Q1 ; CLK3=NOT CLK2; S

8、S=Q2 & Q3 ; DD1: PROCESS(CLK1,CLR) BEGIN IF CLR = 1 THEN Q1 = 0 ; ELSIF CLK1EVENT AND CLK1 = 1 THEN Q1 = 1 ; END IF; END PROCESS;DD2: PROCESS(CLK2,CLR) BEGIN IF CLR = 1 THEN Q2 = 0 ; ELSIF CLK2EVENT AND CLK2 = 1 THEN Q2 = 1 ; END IF; END PROCESS;DD3: PROCESS(CLK3,CLR) BEGIN IF CLR = 1 THEN Q3 = 0 ;

9、ELSIF CLK3EVENT AND CLK3 = 1 THEN Q3 = 1 ; END IF; END PROCESS;接下頁PUL=1 WHEN SS=10 ELSE -當SS=“10”時,PUL高電平,允許標準計數器計數, 0 ; -禁止計數EEND=1 WHEN SS=11 ELSE -EEND為低電平時,表示正在計數,由低電平變到高電平 0 ; -時,表示計數結束,可以從標準計數器中讀數據了BENA=ENA WHEN SPUL=1 ELSE-標準計數器時鐘使能控制信號,當SPUL為1時,測頻率 PUL WHEN SPUL=0 ELSE-當SPUL為0時,測脈寬和占空比 PUL ;END behav;圖12-4 例12-1的RTL圖 圖12-5 等精度頻率計測頻時序圖 1.3 FPGA/CPLD開發(fā)的VHDL設計圖12-6 等精度頻率計測脈寬時序圖 1.3 FPGA/CPLD開發(fā)的VHDL設計 等精度頻率計設計 1.4 測試

溫馨提示

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

評論

0/150

提交評論