羅磊 賴萬昌 劉良 成都理工大學(xué)核技術(shù)與自動(dòng)化工程學(xué)院 610059
基于FPGA的等精度頻率計(jì)設(shè)計(jì)
羅磊 賴萬昌 劉良 成都理工大學(xué)核技術(shù)與自動(dòng)化工程學(xué)院 610059
等精度測(cè)頻方法是一種在直接測(cè)頻方法基礎(chǔ)上發(fā)展起來的測(cè)頻方法,該方法測(cè)量精度高、頻段寬,在頻率測(cè)量中具有廣泛的應(yīng)用前景。FPGA由于其并行的執(zhí)行結(jié)構(gòu)及可編程型等優(yōu)勢(shì)使得其應(yīng)用得到了飛速的發(fā)展。SPCE061A為凌陽科技新推出的unSP內(nèi)核的高集成度,高性能十六位單片機(jī)。內(nèi)置2路電流輸出型的10bitDAC轉(zhuǎn)換通道。
等精度測(cè)量原理:
等精度測(cè)頻原理框圖見圖1。圖中預(yù)置門控信號(hào)是一個(gè)寬度為Tpr的脈沖。它的初始值由初始化后的輸入測(cè)量時(shí)間確定。L P M-C o u n t e r 32(a)和L P MCounter32(b)是兩個(gè)可控計(jì)數(shù)器。標(biāo)準(zhǔn)頻率信號(hào)fs從LPM-Counter32(a)的時(shí)鐘輸入端CLK輸入;經(jīng)整形后的被測(cè)信號(hào)從CNT2的時(shí)鐘輸入端CLK輸入,設(shè)其實(shí)際頻率為fxe,測(cè)量頻率為fx。預(yù)置門控信號(hào)為高電平時(shí),經(jīng)整形后的被測(cè)信號(hào)的上升沿通過D觸發(fā)器的Q端同時(shí)啟動(dòng)計(jì)數(shù)器LPM-Counter32(a)和LPM-Counter32 (b),分別對(duì)標(biāo)準(zhǔn)頻率信號(hào)和整形后的被測(cè)信號(hào)同時(shí)計(jì)數(shù)。預(yù)置門控信號(hào)為低電平時(shí),經(jīng)整形后的被測(cè)信號(hào)上升沿使這兩個(gè)計(jì)數(shù)器同時(shí)關(guān)閉。設(shè)在一次預(yù)置門時(shí)間Tpr中對(duì)被測(cè)信號(hào)的計(jì)數(shù)值為Nx,對(duì)標(biāo)準(zhǔn)頻率信號(hào)的計(jì)數(shù)值為Ns,則下式成立:, 計(jì)數(shù)結(jié)束后讀取LPM-Counter32(a)和LPMCounter32(b)的計(jì)數(shù)值,根據(jù)上式即可計(jì)算出被測(cè)信號(hào)的頻率。在一次測(cè)量中,由于計(jì)數(shù)的起停時(shí)間都是由被測(cè)信號(hào)的上升沿觸發(fā)的,因此,在Tpr時(shí)間內(nèi)對(duì)fx的計(jì)數(shù)Nx沒有誤差,對(duì)fs的計(jì)數(shù)Ns最多相差一個(gè)脈沖Δ s。根據(jù)誤差傳遞公式對(duì)上式微分,得相對(duì)測(cè)量誤差:
從誤差分析式中可以看出,其測(cè)量精度與被測(cè)頻率無關(guān)。增大Tpr或fs可以減小測(cè)量誤差,提高測(cè)量精度。
測(cè)周,正負(fù)脈寬原理:
測(cè)周與測(cè)正負(fù)脈寬都采用多次測(cè)量取平均值的放法。測(cè)量的測(cè)次數(shù)由始化后輸入的測(cè)量次數(shù)n決定。被測(cè)信號(hào)的上升延使系統(tǒng)的計(jì)數(shù)開始。在測(cè)量次數(shù)達(dá)到后,讀計(jì)數(shù)器二的值為Nx,被測(cè)量的時(shí)間t=,Fs為系統(tǒng)時(shí)鐘頻率。
測(cè)幅度原理:
由DAC1控制的比較器2不斷的加大電壓,當(dāng)測(cè)量模塊的計(jì)數(shù)為0時(shí)可得到輸入脈沖的幅度。由與AD603屬于壓控放大器,在DAC2的輸出確定后,其放大倍數(shù)便已確定。由此我們可計(jì)算出輸入信號(hào)的準(zhǔn)確幅度。
系統(tǒng)硬件總體組成框圖,見圖2。
輸入信號(hào)通過AD603壓控放大后,分兩路進(jìn)入快速比較器(tl3016),比較器1主要是進(jìn)行信號(hào)的頻率,周期,正負(fù)脈寬的測(cè)量。比較器2主要是進(jìn)行幅度測(cè)量。LCD主要對(duì)測(cè)量的結(jié)果進(jìn)行顯示。按鍵key可以進(jìn)行顯示的控制。串行接口可以實(shí)現(xiàn)整個(gè)系統(tǒng)與PC機(jī)的通信。
本系統(tǒng)的軟件設(shè)計(jì)中主要是FPGA與單片機(jī)SPCE061A的軟件設(shè)計(jì)。FPGA主要完成頻率,周期,占空比等的測(cè)量。使用QuartusⅡ7.0集成環(huán)境進(jìn)行程序編寫。SPCE061A主要是負(fù)責(zé)進(jìn)行按鍵的掃描與測(cè)量數(shù)據(jù)的顯示。以下是FPGA內(nèi)的主要模塊。
串行輸入輸出模塊:
串行輸入輸出主要有移位寄存器構(gòu)成,如圖3,串行輸入的命令主要通過時(shí)鐘cd_clk進(jìn)行輸入。在20為命令輸入完畢后只要啟動(dòng)start信號(hào),命令便自動(dòng)被加載到控制部分。數(shù)據(jù)的串行輸出主要靠shift32實(shí)現(xiàn)(圖4所示),cd_clk 為讀取時(shí)鐘,在上升延data_out輸出數(shù)據(jù)。
控制模塊與命令解析模塊:
系統(tǒng)的控制部分由實(shí)體MCU實(shí)現(xiàn),如圖5,輸入命令通過上面的移位寄存器后,有cmd_decode如圖6進(jìn)行解析。之后由MCU輸出實(shí)際的控制信號(hào)。閘門控制部分如圖7接到控制信號(hào)后分別控制兩個(gè)計(jì)數(shù)器的使能端進(jìn)行控制。
SPCE061A與FPGA主要的通信格式(圖8)。
測(cè)量?jī)x器:1Gs/s
測(cè)試數(shù)據(jù),見表5-1。
本系統(tǒng)中FPGA部分采用100M的晶振,理論測(cè)量頻率可以達(dá)到100M。但由于ad603增益帶寬最大為90M,限制了測(cè)量的帶寬。由測(cè)量數(shù)據(jù)可以得出1~20M的測(cè)量誤差最大在0.082%即0.041Hz。在頻率接近100k時(shí)由于前級(jí)處理使信號(hào)失真,被測(cè)信號(hào)的占空比已經(jīng)偏移。由于ad603增益帶寬限制與噪聲的干擾,幅度測(cè)量在500Hz時(shí)出現(xiàn)了10mv的偏移。想進(jìn)一步提高占空比,幅度的測(cè)量范圍,精度??梢赃M(jìn)行屏蔽降低干擾,選用更高速的比較器。
本文采用FPGA 芯片EP1C3T144C8與SPCE061A對(duì)等精度頻率計(jì)進(jìn)行了系統(tǒng)的設(shè)計(jì)。設(shè)計(jì)中使用了V HDL 語言,經(jīng)過實(shí)驗(yàn)驗(yàn)證設(shè)計(jì)中等精度測(cè)頻是成功的,達(dá)到預(yù)期的結(jié)果。和傳統(tǒng)的頻率計(jì)相比,利用FPDA 設(shè)計(jì)的頻率計(jì)簡(jiǎn)化了電路板設(shè)計(jì),提高了系統(tǒng)設(shè)計(jì)的實(shí)用性和可靠性,實(shí)現(xiàn)數(shù)字系統(tǒng)的軟件化,這是數(shù)字邏輯設(shè)計(jì)的趨勢(shì)。
表5-1主要測(cè)試數(shù)據(jù)輸入正弦波(1Vpp,占空比50%)
[1] 楊恒.FPGACPLD最新實(shí)用技術(shù)指南.清華大學(xué)出版社
[2] 潘松,王國(guó)凍編著.VHDL實(shí)用教程.電子科技大學(xué)出版社.
[3] 馬彧,王丹利,王麗英.CPLDFPGA可編程邏輯器件實(shí)用教程.機(jī)械工業(yè)出版
[4] 褚振勇,齊亮,田紅心.FPGA設(shè)計(jì)及應(yīng)用(第二版),西安電子科技大學(xué)出版社
[5] 周潤(rùn)景,圖雅,張麗敏.基于QuartusⅡ的FPGA/CPLD數(shù)字系統(tǒng)設(shè)計(jì)實(shí)例.電子工業(yè)出版社
[6] 李曉白,秦紅磊.凌陽16位單片機(jī)C語言開發(fā).北京航空航天大學(xué)出版社
[7] (美國(guó))布朗等著.字邏輯與VHDL設(shè)計(jì)/VHDL與集成電路設(shè)計(jì)叢書.清華大學(xué)出版社
[8] www.21ic.com
Design of equal precision frequency meter with FPGA
Luo lei lai wanchang liu liang
College of Applied Nuclear Technology and Automation engineering, Chengdu University of Technology, chengdu 610059
頻率的測(cè)量方法有:直接測(cè)量法,間接測(cè)量法,例如周期測(cè)頻法、V-F轉(zhuǎn)換法等?;趥鹘y(tǒng)測(cè)頻原理的頻率計(jì)的測(cè)量精度將隨被測(cè)信號(hào)頻率的變化而降低。本設(shè)計(jì)中采用等精度測(cè)頻方法與FPGA模塊相結(jié)合,使得測(cè)量頻率的范圍與精度大大提高。同時(shí)FPGA中采用多次測(cè)量取平均值的方法完成周期,占空比的測(cè)量,系統(tǒng)采用雙比較器與雙DAC完成了被測(cè)信號(hào)的幅度的測(cè)量。SPCE061A單片機(jī)實(shí)現(xiàn)按鍵與測(cè)量結(jié)果在LCD上進(jìn)行顯示。
FPGA(EP1C3T144C8);SPCE061A;等精度測(cè)頻;DAC
The frequency measurement is usually implemented in direct and indirect ways.Such as measuring period, converting voltage to frequency and so on.The frequency meter based on the traditional method is always inaccurate when measuring steep signal.The design enhanced the scale and Accuracy of frequency by integrating equal accuracy measurement and FPGA..In the same time, the design measures duty cycle and period of signal by choosing average data.This system achieves measurement of Amplitude of signal by using two comparators and two DAC.SPCE061A realizes the function of checking keys and displaying data on LCD.
FPGA(EP1C3T144C8);SPCE061A;equal precision frequency;DAC
10.3969/j.issn.1001-8972.2010.09.066
羅磊(1983-),男,四川廣元,成都理工大學(xué)核技術(shù)應(yīng)用研究生。