摘 要 頻率測量在控制系統(tǒng)或儀表開發(fā)項目中需廣泛使用,本文結(jié)合實際項目,提出基于FPGA設計的頻率測量計的方法,該設計方法集成度高、速度快。
【關(guān)鍵詞】頻率測量 FPGA 仿真
頻率測量在控制系統(tǒng)或儀表開發(fā)項目中需廣泛使用。通常的測量頻率方法是外接示波器或采用單片機等外界電路加以實現(xiàn),但這些測量方法有精度低、電路的整體差、欠穩(wěn)定等缺點。現(xiàn)在,在實際工作中,采用大規(guī)模集成電路中現(xiàn)場可編程邏輯器件FPGA(Field Programmable Gate Array)設計數(shù)字控制系統(tǒng)成為主流,本文結(jié)合實際項目,介紹基于FPGA設計的頻率測量計的方法。
1 頻率測量計原理
針對待測信號頻率的測量,通常有兩種方式。一是直接測頻法,即在一定的時間間隔T1-T0(信號測量閘門時間)T內(nèi),待測信號的周期個數(shù)為N,則待測信號頻率為:F=N/T。同時,直接測頻法所測量的數(shù)據(jù)結(jié)果相對誤差最大為1/N。
二是間接測周法,使用兩個計數(shù)器,分別對標準頻率信號Fs和待測頻率信號Fx同時計數(shù),原理如圖1。為了提高測量精度,使待測信號與閘門控制信號同步,即設計同步電路,首先給出預置閘門控制信號上升沿,此時兩個計數(shù)器并不開始計數(shù),而是等到待測信號的上升沿到來時,兩個計數(shù)器真正開始計數(shù)。同理,在閘門信號結(jié)束,下降沿到來時,兩個計數(shù)器并不立即停止,而是等待測信號的上升沿到來時才停止計數(shù),完成一次測量過程。采用此方法,其精度差值不超過被測頻率的一個周期。
誤差分析:設標準信號的頻率為Fs,待測信號的頻率為Fx,在測量時間段Ts內(nèi)被測頻率信號的計數(shù)值為Nx,標準頻率信號的計數(shù)值為Ns,則有關(guān)系Ns/Nx=Fs/Fx。設被測信號的頻率準確值為Fx0,在一次測量過程中,由于被測信號Fx計數(shù)的啟停時間是由該信號的上升沿控制的,因此在測量時間段Tws內(nèi)對Fx的計數(shù)Nx無誤差,在此時間段內(nèi)對Fs的計數(shù)Ns最多相差一個脈沖,即|△Ns|≤1,則有:Nx/Fx=Ns/Fs;Nx/Fx0=(Ns+△Ns)/Fs;
由上式得出:Fx=Fs*Nx/Ns;Fx0=Fx*Nx/(Ns+△Ns)
根據(jù)相對誤差公式:△Fx0/Fx0=|Fx0-Fx|/Fx0;
被測信號的相對誤差△Fx0/Fx0≤1/Ns;
綜合以上,可以得出:
(1)被測信號頻率的相對誤差與被測信號的頻率無關(guān)
(2)增大測量時間段Tws或提高Fs,可以增大Ns,從而減小相對誤差。
(3)測量精度與實際閥值時間及標準信號頻率有關(guān)。
(4)由于標準頻率信號源的石英晶體振蕩為40M且穩(wěn)定性高,所以標準信號的相對誤差小。
實際測量過程中,標準信號為33M,閥值設定為1.5秒。
2 系統(tǒng)設計與實現(xiàn)
FPGA(Field-Programmable Gate Array)是在PAL、GAL、CPLD等可編程器件的基礎上進一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。
頻率測量設計總體原則:自下而上分層設計,將待測頻率信號作同步處理,以提高測量精度。
模塊關(guān)系:
(1)count.v底層計數(shù)模塊。輸入:clk(時鐘信號),rst(復位信號),enable(使能信號),cntout(計數(shù)器輸出信號)
(2)tcount.v為count.v的仿真模塊
(3)tongbuclk.v底層時鐘同步模塊。clk(時鐘信號),rst(復位信號),en(使能信號輸入),enable(使能輸出信號)其功能相當于一個D觸發(fā)器。將使能信號上升沿與待測信號同步,提高測量精度。
3 Modelsim軟件仿真
Modelsim是一款單內(nèi)核支持VHDL和Verilog混合仿真的仿真器;具有源代碼模版和助手,項目管理等特點。
為了模擬待測頻率的實時變化測量結(jié)果的影響,采用循環(huán)語句隨機變化待測時鐘頻率,仿真結(jié)果正確。仿真程序片段及仿真結(jié)果如圖2。
4 硬件仿真
上面介紹的Modelsim是常用軟件仿真,設計程序在實際的芯片中運行結(jié)果如何,是否存在“競爭冒險”等時序問題,還需要應用硬件仿真。在Quartus開發(fā)環(huán)境中,用singnalTapII,在file下面新建一個signaltapII logic analyzer file默認的是stp文件,打開后在左上方setup里面指下載方式,一般是usb下載。Scan Chain欄是顯示硬件環(huán)境,該欄必須有硬件顯示才能下載。然后,sof manager中選擇工程中的下載文件,其他的clock指的采樣時鐘。在中間偏右的框中雙擊添加想要查看的信號,它可以實時查看硬件里面的運行情況,本系統(tǒng)在硬件仿真運行正常。
5 結(jié)束語
本文結(jié)合實際項目中所用的頻率測量模塊,提出了基于FPGA實現(xiàn)頻率測量的方法及軟件和硬件的仿真驗證。該方法具有廣泛的應用,可以應用于實時性要求高的場所。
參考文獻
[1]唐亞平.基于FPGA與DSP的等精度數(shù)字頻率計設計[J].微計算機信息,2007,1-2:249-250.
[2]楊瀟,翟玉文等.基于CPLD和VHDL的等精度頻率裝置[J].吉林化工學院學報,2004(09).
作者簡介
劉梅英(1972-),女,湖南省澧縣人。碩士研究生,碩士學位。現(xiàn)為中國計量科學研究院化學所工程師。研究方向為檢測技術(shù)及自動化裝置。
作者單位
中國計量科學研究院 北京市 1000041endprint