[發(fā)明專利]一種基于FPGA的頻率測量方法無效
| 申請?zhí)枺?/td> | 201310439616.4 | 申請日: | 2013-09-25 |
| 公開(公告)號: | CN103499739A | 公開(公告)日: | 2014-01-08 |
| 發(fā)明(設(shè)計)人: | 符云越 | 申請(專利權(quán))人: | 浪潮電子信息產(chǎn)業(yè)股份有限公司 |
| 主分類號: | G01R23/10 | 分類號: | G01R23/10 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 250014 山東*** | 國省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 fpga 頻率 測量方法 | ||
1.一種基于FPGA的頻率測量方法,?其特征在于包括:采用一個標(biāo)準(zhǔn)的基準(zhǔn)時鐘,在單位時間(1s)里對被測信號的脈沖數(shù)進(jìn)行計數(shù),即為信號的頻率,由于閘門的起始和結(jié)束時刻對于信號來說是隨機的,將會有一個脈沖周期的量化誤差,進(jìn)一步分析測量準(zhǔn)確度:設(shè)待測信號脈沖周期為Tx,頻率為Fx,當(dāng)測量時間為T=1s時,測量準(zhǔn)確度為&=Tx/T=1/Fx;已知直接測頻法的測量準(zhǔn)確度與信號的頻率有關(guān):當(dāng)待測信號頻率越高,測量準(zhǔn)確度也越高,反之測量準(zhǔn)確度也越低;直接測頻法只適合測量頻率較高的信號,不能滿足在整個測量頻段內(nèi)的測量精度保持不變頻率的要求,為克服低頻段測量的不準(zhǔn)確問題,采用門控信號和被測信號對計數(shù)器的使能信號進(jìn)行雙重控制,提高了準(zhǔn)確度,當(dāng)門控信號為1時,使能信號并不為1,只有被測信號的上升沿到來時,使能端才開始發(fā)送有效信號,兩個計數(shù)器同時開始計數(shù),當(dāng)門控信號變?yōu)?時,使能信號并不是立即改變,而是當(dāng)被測信號的下一個上升沿到來時才變?yōu)?,計數(shù)器停止計數(shù),因此測量的誤差最多為一個標(biāo)準(zhǔn)時鐘周期,當(dāng)采用100MHz的信號作為標(biāo)準(zhǔn)信號時,誤差最大為0.01μs;具體步驟如下:
1)利用串行總線數(shù)據(jù)傳輸方法,計算每秒鐘內(nèi)待測信號脈沖個數(shù),要求計數(shù)使能信號TSTEN能產(chǎn)生一個1秒脈寬的周期信號,并對頻率計的每一計數(shù)器cnt10的ENA使能端進(jìn)行同步控制,當(dāng)TSTEN為高電平時,允許計數(shù);低電平時,停止計數(shù),并保持其所計的數(shù),在停止計數(shù)期間,首先需要一個鎖存信號LOAD的上跳沿將計數(shù)器在前1秒鐘的計數(shù)值鎖存進(jìn)32位鎖存器REG32B中,并由外部的譯碼器譯出并穩(wěn)定顯示,鎖存信號之后,必須由清零信號CLR_CNT對計數(shù)器進(jìn)行清零,為下一秒鐘的計數(shù)操作做準(zhǔn)備;
2)當(dāng)系統(tǒng)正常工作時,脈沖發(fā)生器提供的1?Hz的輸入信號,經(jīng)過測頻控制信號發(fā)生器進(jìn)行信號的變換,產(chǎn)生計數(shù)信號,被測信號通過信號整形電路產(chǎn)生同頻率的矩形波,送入計數(shù)模塊,計數(shù)模塊對輸入的矩形波進(jìn)行計數(shù),將計數(shù)結(jié)果送入鎖存器中,保證系統(tǒng)穩(wěn)定顯示數(shù)據(jù),顯示譯碼驅(qū)動電路將二進(jìn)制表示的計數(shù)結(jié)果轉(zhuǎn)換成相應(yīng)的能夠在液晶屏顯示的十進(jìn)制結(jié)果;
3)頻率計采用等精度頻率測量法,測量精度保持恒定,不隨所測信號的變化而變化,在快速測量的要求下,要保證較高精度的測頻,必須采用較高的標(biāo)準(zhǔn)頻率信號,單片機受本身時鐘頻率和若干指令運算的限制,測頻速度較慢,無法滿足高速、高精度的測頻要求;而采用高集成度、高速的現(xiàn)場可編程門陣列FPGA為實現(xiàn)高速、高精度的測頻提供了保證;
4)等精度測量方法的閘門時間不是固定的值,而是被測信號周期的整數(shù)倍,即與被測信號同步,因此,避除了對被測信號計數(shù)所產(chǎn)生±1個字誤差,并且達(dá)到了在整個測試頻段的等精度測量,在測量過程中,有兩個計數(shù)器分別對標(biāo)準(zhǔn)信號和被測信號同時計數(shù),首先給出閘門開啟信號,即預(yù)置閘門上升沿信號,此時計數(shù)器并不開始計數(shù),而是等到被測信號的上升沿信號到來時,計數(shù)器才真正開始計數(shù),然后預(yù)置閘門關(guān)閉信號,即下降沿信號到時,計數(shù)器并不立即停止計數(shù),而是等到被測信號的上升沿信號到來時才結(jié)束計數(shù),完成一次測量過程,能夠看出,實際閘門時間t與預(yù)置閘門時間t1并不嚴(yán)格相等,但差值不超過被測信號的一個周期;
5)等精度測頻方法中,CNT1和CNT2是兩個可控計數(shù)器,標(biāo)準(zhǔn)頻率信號從CNT1的時鐘輸入端CLK輸入;經(jīng)整形后的被測信號從CNT2的時鐘輸入端CLK輸入,當(dāng)預(yù)置門控信號為高電平時,經(jīng)整形后的被測信號的上升沿信號通過D觸發(fā)器的Q端同時啟動CNT1和CNT2,CNT1、CNT2同時對標(biāo)準(zhǔn)頻率信號和經(jīng)整形后的被測信號進(jìn)行計數(shù),分別為NS與NX,當(dāng)預(yù)置門信號為低電平的時候,后而來的被測信號的上升沿信號將使兩個計數(shù)器同時關(guān)閉,所測得的頻率為(FS/NS)*NX,則等精度測量方法測量精度與預(yù)置門寬度的標(biāo)準(zhǔn)頻率有關(guān),與被測信號的頻率無關(guān),在預(yù)置門時間和常規(guī)測頻閘門時間相同而被測信號頻率不同的情況下,等精度測量法的測量精度不變;
6)誤差分析:設(shè)在一次實際閘門時間t中計數(shù)器對被測信號的計數(shù)值為Nx,對標(biāo)準(zhǔn)信號的計數(shù)值為Ns,標(biāo)準(zhǔn)信號的頻率為fs,則被測信號的頻率如式(2-1):
?????????????????????????fx=(Nx/Ns)·fs???????????????????????????????(2-1)
由式1-1可知,若忽略標(biāo)頻fs的誤差,則等精度測頻可能產(chǎn)生的相對誤差如式(2-2):?
δ=(|fxe-fx|/fxe)×100%???????????????????????????(2-2)
其中fxe為被測信號頻率的準(zhǔn)確值;
在測量中,由于fx計數(shù)的起停時間都是由該信號的上升沿觸發(fā)的,在閘門時間t內(nèi)對fx的計數(shù)Nx無誤差(t=NxTx);對fs的計數(shù)Ns最多相差一個數(shù)的誤差,即|ΔNs|≤1,其測量頻率如式(2-3):
fxe=[Nx/(Ns+ΔNs)]·fs??????????????????????????(2-3)
將式(2-1)和(2-3)代入式(2-2),并整理如式(2-4):
δ=|ΔNs|/Ns≤1/Ns=1/(t·fs)????????????????????????(2-4)
由上式看出,測量頻率的相對誤差與被測信號頻率的大小無關(guān),僅與閘門時間和標(biāo)準(zhǔn)信號頻率有關(guān),即實現(xiàn)了整個測試頻段的等精度測量,閘門時間越長,標(biāo)準(zhǔn)頻率越高,測頻的相對誤差就越小,標(biāo)準(zhǔn)頻率可由穩(wěn)定度好精度高的高頻率晶體振蕩器產(chǎn)生,在保證測量精度不變的前提下,提高標(biāo)準(zhǔn)信號頻率,可使閘門時間縮短,即提高測試速度;
7)系統(tǒng)總體設(shè)計如下:
當(dāng)系統(tǒng)正常工作時,由系統(tǒng)時鐘提供的100MHz的輸入信號,經(jīng)過信號源模塊,先通過100分頻產(chǎn)生1MHZ的時鐘信號,再將1MHZ的時鐘信號分頻產(chǎn)生多種頻率輸出,其中1HZ的輸出頻率被作為控制模塊的時鐘輸入,7812HZ的輸出頻率被作為顯示模塊的時鐘輸入,由控制模塊產(chǎn)生的計數(shù)使能信號testen和清零信號clr對計數(shù)模塊進(jìn)行控制,而由其產(chǎn)生的鎖存信號load對鎖存模塊進(jìn)行控制,一旦計數(shù)使能信號為高電平,并且時鐘上升沿到來,計數(shù)器便開始正常計數(shù),清零信號到來則計數(shù)清零,而當(dāng)鎖存信號為高電平時,數(shù)據(jù)便被鎖存器鎖存,然后將鎖存的數(shù)據(jù)輸出到顯示模塊顯示出來,數(shù)據(jù)鎖存保證系統(tǒng)可以穩(wěn)定顯示數(shù)據(jù),顯示器部分用1602液晶顯示,數(shù)字頻率計是由5個部分組成組成,分別是:分頻器、門控電路、計數(shù)器、鎖存器和顯示器;
其中:根據(jù)數(shù)字頻率計的系統(tǒng)原理,gate_control控制信號發(fā)生器,gate_control的計數(shù)使能信號gate_control能產(chǎn)生一個1?s寬的周期信號,并對頻率計的每一計數(shù)器couter的ENA使能端進(jìn)行同步控制:當(dāng)gate_control高電平時允許計數(shù)、低電平時停止計數(shù);
flip_latch為鎖存器,在信號load的上升沿時,立即對模塊的輸入口的數(shù)據(jù)鎖存到flip_latch的內(nèi)部,并由flip_latch的輸出端輸出,然后,1062液晶屏輸出,在這里使用了鎖存器,好處是穩(wěn)定顯示數(shù)據(jù),不會由于周期性的清零信號而不斷閃爍;?????
counter為十進(jìn)制計數(shù)器,有一時鐘使能輸入端ENA,用于鎖定計數(shù)值,當(dāng)高電平時允許計數(shù),低電平時禁止計數(shù),將八個十進(jìn)制計數(shù)器counter級聯(lián)起來實現(xiàn)8?位十進(jìn)制計數(shù)功能[2,7]?;
LCD_Driver為七段譯碼顯示驅(qū)動電路,將頻率計數(shù)的結(jié)果譯成能在數(shù)碼管上顯示的相對應(yīng)的阿拉伯?dāng)?shù)字,便于讀取測量的結(jié)果;
為了實現(xiàn)系統(tǒng)功能,測頻控制信號發(fā)生器gate_control、計數(shù)器counter、鎖存器flip_latch存在一個工作時序的問題,設(shè)計時需要綜合考慮;
8位數(shù)字頻率計的頂層框圖main.bdf,設(shè)計實現(xiàn)包括信號源模塊F1MHZ、CNT、頻率計模塊FREQ和顯示模塊LCD_Drive三大模塊,下面分別介紹三個模塊的結(jié)構(gòu)和實現(xiàn)方法;?
信號源模塊
信號源是為了產(chǎn)生1MHz?的門控信號和待測的定頻信號,而對輸入系統(tǒng)時鐘clk(50MHz)進(jìn)行分頻的模塊,設(shè)計源代碼gate_control.v?對輸入系統(tǒng)時鐘clk(50MHz)進(jìn)行分頻產(chǎn)生1MHz?信號;
分頻器
CLK為PIN1MHZ輸入的1MHZ信號,freq1為輸出給控制信號發(fā)生器的1HZ信號;
測頻控制信號產(chǎn)生器
控制模塊的作用是產(chǎn)生測頻所需要的各種控制信號,控制信號的標(biāo)準(zhǔn)輸入時鐘為1HZ,每兩個時鐘周期進(jìn)行一次頻率測量,該模塊產(chǎn)生的個控制信號用于在每次測量開始時,對計數(shù)器進(jìn)行復(fù)位,以清除上次測量的結(jié)果,該復(fù)位信號高電平有效,持續(xù)半個時鐘周期的時間,fdiv為計數(shù)允許信號,在fdiv信號的上升沿時刻計數(shù)模塊開始對輸入信號的頻率進(jìn)行測量,測量時間恰為一個時鐘周期,正好為單位時間1s,在此時間里被測信號的脈沖數(shù)進(jìn)行計數(shù),即為信號的頻率,然后將值鎖存,并送到數(shù)碼管顯示出來,設(shè)置鎖存器的好處是使顯示的數(shù)據(jù)穩(wěn)定,不會由于周期性的清零信號而不斷閃爍,在每一次測量開始時,都必須重新對計數(shù)器清0;
鎖存器
鎖存器模塊也是必不可少的,測量模塊測量完成后,在load信號的上升沿時刻將測量值鎖存到寄存器中,然后輸出到顯示模塊,鎖存器是起數(shù)據(jù)保持的作用,它將會把數(shù)據(jù)保存到下次觸發(fā)或復(fù)位,鎖存器模塊是主從觸發(fā)器組成的,用于存儲數(shù)據(jù)來進(jìn)行交換,使數(shù)據(jù)穩(wěn)定下來保持一段時間不變化,直到新的數(shù)據(jù)將其替換;
程序是用來實現(xiàn)鎖存器模塊的功能,在鎖存信號load的上升沿到來時,鎖存器將測量值鎖存到寄存器,然后輸出到顯示模塊,鎖存輸出并不是立即進(jìn)行的,而是經(jīng)歷了一個短暫的延時,這是由于硬件引起的;
十進(jìn)制計數(shù)器
計數(shù)器模塊是由8個帶有異步清零端,進(jìn)位信號輸出的模為10的計數(shù)模塊級連而成,通過counter進(jìn)行元件例化實現(xiàn),此十進(jìn)制計數(shù)器的特殊之處是,有一時鐘使能輸入端ENA,用于鎖定計數(shù)器,當(dāng)高電平計數(shù)允許,低電平時計數(shù)禁止,計數(shù)器模塊用于對輸入信號的脈沖進(jìn)行計數(shù),該模塊必須有計數(shù)允許、異步清零等端口,以便于控制模塊對其進(jìn)行控制;
程序模塊實現(xiàn)的功能是帶使能端的10進(jìn)制計數(shù),程序要求只有當(dāng)使能端信號為高電平時計數(shù)器才能正常工作,每個時鐘的上升沿到來時計數(shù)器加1,因為這里要實現(xiàn)的是10進(jìn)制計數(shù),所以當(dāng)計數(shù)到10時計數(shù)器清零,同時產(chǎn)生進(jìn)位信號,這里的進(jìn)位信號僅為一個脈沖信號,一旦計數(shù)從10變?yōu)?,脈沖信號立即變?yōu)榈碗娖剑瑫r該計數(shù)器也應(yīng)帶有清零信號,一旦清零信號為高電平,計數(shù)器立即清零。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浪潮電子信息產(chǎn)業(yè)股份有限公司,未經(jīng)浪潮電子信息產(chǎn)業(yè)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310439616.4/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





