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

下載本文檔

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

文檔簡介

1、等精度頻率計/相位計設(shè)計小組成員:江陪:0803741152操彬彬:08037411551 實驗?zāi)康模夯趥鹘y(tǒng)測頻原理的頻率計的測量精度將隨被測信號頻率的下降而降低,即測量精度隨被測信號頻率的變化而變化,在實用中有很大的局限性,故本次實驗就是為了設(shè)計一個等精度頻率計,它不僅具有較高的測量精度,且在整個頻率區(qū)能保持恒定的測量精度。2 設(shè)計項目指標(biāo):1. 頻率測試功能:測頻范圍0.1HZ100MHZ.測頻精度:測頻全域相對誤差恒為百分之一。2. 脈寬測試功能:測試范圍0.1us1s,測試精度0.01us。3. 占空比測試功能:測試(顯示)精度1%99%。4. 相位測試功能:測試范圍0360,測試精

2、度0.2。3 實驗原理:1. 主系統(tǒng)設(shè)計:1) 函數(shù)發(fā)生器輸出TTL波形,通過tclk進入fpga;2) 測頻測相部分由fpga內(nèi)部完成;3) 單片機電路模塊:用stm32單片機的按鍵控制GPIOE口,控制FPGA測頻/測相的切換,GPIOF口讀取FPGA的數(shù)據(jù)。4) 鍵盤模塊:用stm32鍵盤的0、1、2、3、4控制fpga的clr,cl,spul的輸入,從而起到切換測頻/測相的作用。5) 顯示模塊:用stm32上的液晶顯示從fpga讀取的數(shù)據(jù)值。2. 主系統(tǒng)測頻測相原理:1) 測頻:首先,進行初始化:單片機發(fā)出一個清零信號clr,使兩個計數(shù)器和D觸發(fā)器置0, 同時D觸發(fā)器通過信號ena,禁

3、止兩個計數(shù)器計數(shù)。其次,從tclk端接入ttl波形,函數(shù)單片機發(fā)出允許測頻指令,即cl置高,spul置高。讀取數(shù)據(jù)用了一個64-16多路選擇器,設(shè)置了一個sel端,并用單片機的GPIOE口的3、4端來作控制。2) 測相:控制單片機按鍵,從而改變GPIOE口的0、1、2口的電平值,對fpga進行控制。使spul置0,切換cl,從而測量tclk的高低電平脈寬。4 VHDL程序?qū)崿F(xiàn):library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity etester isgeneric (n:integer:=

4、500);port(bclk:in std_logic;-tclk:in std_logic;clr:in std_logic;cl:in std_logic;spul: in std_logic;start: out std_logic;eend: out std_logic;sel:in std_logic_vector(1 downto 0);data: out std_logic_vector(15 downto 0);end etester;architecture one of etester is -signal count0:integer range (n-1) downto

5、 0 ; signal count1:integer range (n-1) downto 0 ;signal bzq:std_logic_vector(31 downto 0);signal tsq:std_logic_vector(31 downto 0);signal ena,tclk: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);beginprocess(bclk)beginif bclkeven

6、t and bclk=1 thenif(count1=n) then count1=0;else count1=count1+1;end if;if (count1(integer(n/2) )then tclk=1;else tclk=0;end if;end if;end process;start=ena;data= bzq(15 downto 0)when sel=00elsebzq(31 downto 16)when sel=01elsetsq(15 downto 0)when sel=10elsetsq(31 downto 16)when sel=11else00000100100

7、10000;bzh:process(bclk,clr)beginif clr=1then bzq0);elsif bclkevent and bclk=1thenif bena=1then bzq=bzq+1;end if;end if;end process;tf:process(tclk,clr,ena)beginif clr=1then tsq0);elsif tclkevent and tclk=1thenif ena=1 then tsq=tsq+1;end if;end if;end process;process(tclk,clr)beginif clr=1then ena=0;

8、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;ss=q2&q3;dd1:process(clk1,clr)beginif clr=1then q1=0;elsif clk1event and clk1=1then q1=1;end if;end process;dd2:process(clk2,clr)beginif clr=1then q2=0;elsif clk2even

9、t and clk2=1then q2=1;end if;end process;dd3:process(clk3,clr)begin if clr=1then q3=0;elsif clk3event and clk3=1then q3=1;end if;end process;pul=1when ss=10else0;eend=1when ss=11else0;bena=ena when spul=1elsepul when spul=0elsepul;end one;5、 單片機的接口部分: 根據(jù)上面原理框圖的連接方式,fpga與單片機的接口如下:1、 單片機的GPIOF口的1-16位接

10、fpga的16位數(shù)據(jù)輸出端,負(fù)責(zé)讀取測頻數(shù)據(jù)。2、 單片機可以通過信號start,了解計數(shù)是否結(jié)束,以確定何時可以讀取數(shù)據(jù)。3、 在測脈寬階段(spul=0),EEND的功能與START基本相同,當(dāng)其由低電平變到高電平時指示脈寬結(jié)束。4、 GPIOE的3、4端口與sel1.0相接,用于控制多路通道的數(shù)據(jù)選擇。當(dāng)sel為“00”,“01”時,由低16位到高16位讀出標(biāo)準(zhǔn)頻率計數(shù)值;當(dāng)sel為“10”,“11”時,由低16位到高16位讀出待測頻率計數(shù)值。5、 GPIOE的0位接清零信號clr,高定平有效。每一個測頻周期開始時,都應(yīng)該首先清0。6、 GPIOE的1、2位分別接控制信號cl與spul。

11、當(dāng)spul為1時,cl作為預(yù)置門控信號,用于測頻計數(shù)的時間控制;當(dāng)spul為0時,cl作為測脈寬控制信號。這時,cl若為1,測tclk的高電平脈寬,當(dāng)cl為0時,測tclk的低電平脈寬。然后分別從data數(shù)據(jù)端口讀出bzh對標(biāo)準(zhǔn)頻率的計數(shù)。6、 時序仿真:1. 測頻時spul=1,clr=0,cl=1,令bclk=50MHZ, tclk是bclk 100分頻的時鐘,仿真結(jié)果如下:由仿真波形可以看出:當(dāng)sel=“00”時,data=1010;當(dāng)sel=“01”時,data=0;當(dāng)sel=“10”時,data=10;當(dāng)sel=“11”時,data=0;由此可以知道,bclk與tclk的計數(shù)比值為:

12、1010/10=101;這與實際設(shè)定的100分頻,即100倍基本吻合,正好多了一個+-1誤差。所以仿真結(jié)果正確。2、 測相時令spul=0,clr=01)當(dāng)cl=1時,測tclk的高電平脈寬,仿真波形如下:由波形可知:當(dāng)sel=00時,data=51,當(dāng)sel=01時,data=0;即高電平計數(shù)值為51次2) 當(dāng)cl=0時,測tclk低電平脈寬,仿真波形如下:由波形可知:當(dāng)sel=00時,data=51,當(dāng)sel=01時,data=0;即高電平計數(shù)值為51次總結(jié):由1),2)仿真結(jié)果可知,tclk占空比為51/(51+51)=50%,與仿真所設(shè)定的波形相吻合。仿真結(jié)果正確。7、 實際測量:bc

13、lk由fpga系統(tǒng)時鐘50MHZ提供,tclk又信號源提供TTL電平。以測頻為例,實測如下:sel=00,測得bclk計數(shù)的低16位,即bzh=n1;Sel=01,測得bclk計數(shù)的高16位,即bzh=n2;sel=10,測得tclk計數(shù)的低16位,即tsq=n3;sel=00,測得bclk計數(shù)的低16位,即tsq=n4;測得計數(shù)的比值為x=(N1+N2*65536)/(N3+N4*65536),所測頻率為f=Fbclk/X;tclk(hz)1001k10k100K1MN14143122255618306278462751N275555N317787817810N400000x500183.0049990.714994.25499.9549.99F(hz)99.9961.00019k10.011k100.01k1.0002M測量誤差0.004%0.019%0.11%0.01%0.02%由實測表格中誤差可知:從100HZ到1MHZ的測量誤差均小于1%,滿足題目要求。8、 實驗總結(jié):通過本次實驗,我們領(lǐng)會了等精度測量的原理及應(yīng)用,并且通過實測驗證了它的準(zhǔn)確性。現(xiàn)在,做每一個題目都充滿了樂趣與挑戰(zhàn),

溫馨提示

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

最新文檔

評論

0/150

提交評論