基于FPGA的多功能頻率計的設(shè)計
1)MC8051核。CPU_Core即MC8051單片機(jī)核如圖3所示,由VQM原碼表述:CPU_Core.vqm,可以直接凋用。該元件可以與其他不同語言表述的元件一同綜合與編譯。本文引用地址:http://www.ex-cimer.com/article/189730.htm
2)嵌入式鎖相環(huán)PLL50。其輸入頻率設(shè)置為50 MHz,MC8051能接受的工作時鐘頻率上限取決于FPCA的速度級別。
3)程序ROM,LPM_ROM。采用ROM容量的大小也取決于FPGA所含的嵌入RAM的大小。設(shè)置的ROM容量是4k字節(jié)。此ROM可以加載HEX格式文件作為單片機(jī)的程序代碼。HEX程序代碼可以直接使用普通8051單片機(jī)程序編譯器生成。
4)數(shù)據(jù)RAM,LPM_RAM。本系統(tǒng)設(shè)置的LPM_RAM容量是256字節(jié)。高128字節(jié)須用間接尋址方式訪問。
2 等精度測頻原理及FPGA設(shè)計
等精度測量的一個最大特點是測量的實際門控時間不是一個固定值,而是一個與被測信號有關(guān)的值,剛好是被測信號的整數(shù)倍,即與被測信號同步。這樣就達(dá)到了在整個測試頻段的等精度測量。等精度測頻的核心思想就是通過閘門的信號與被測信號同步,將閘門時間τ控制為被測信號周期長度的整數(shù)倍。測量時,先打開預(yù)置閘門,當(dāng)檢測到被測信號脈沖沿到達(dá)時,標(biāo)準(zhǔn)信號時鐘開始計數(shù)。預(yù)置閘門關(guān)閉時,到達(dá)時才停止,完成被測信號整數(shù)個周期的測量。測量的實際閘門時間與預(yù)置閘門時間可能不完全相同,但最大差值不超過被測信號的一個周期。設(shè)實際閘門時間為τ,被測信號周期數(shù)為Nx,標(biāo)準(zhǔn)信號頻率為fs、計數(shù)值為Ns,則被測信號的頻率測量值為:
由于實際閘門時間τ為被測信號周期的整數(shù)倍,因此Nx是精確的,而標(biāo)準(zhǔn)信號時鐘的計數(shù)值Ns則存在誤差△Ns(|△Ns|≤1),即標(biāo)準(zhǔn)信號計數(shù)的真實值應(yīng)Ns+△Ns。
由此可知被測信號的頻率真實值為:
可以看出,相對誤差與被測信號本身的頻率特性無關(guān),即對整個測量頻率域而言,測量精度相等,因而稱之為“等精度測量”。標(biāo)準(zhǔn)信號的計數(shù)值Ns越大,則測量相對誤差越小,即提高門限時間τ和標(biāo)準(zhǔn)信號頻率fs可以提高測量精度。在精度不變的情況下,提高標(biāo)準(zhǔn)信號頻率可以縮短門限時間,提高測量速度。在計數(shù)允許時間內(nèi),同時對標(biāo)準(zhǔn)信號和被測信號進(jìn)行計數(shù),再通過數(shù)學(xué)公式推導(dǎo)得到被測信號的頻率。由于門控信號是被測信號的整數(shù)倍,就消除了對被測信號產(chǎn)生的±1誤差,但是會產(chǎn)生對標(biāo)準(zhǔn)信號±1的誤差。如圖4所示。
系統(tǒng)中,采用了標(biāo)準(zhǔn)信號源的精度很高,可以達(dá)到一個很高的測量精度,本系統(tǒng)采用晶體作為標(biāo)準(zhǔn)信號源,因此可以達(dá)到很高的精度。
3 FPAG設(shè)計模塊
本系統(tǒng)以Verilog HDL硬件描述語言為工具,在傳統(tǒng)的等精度測量原理基礎(chǔ)上進(jìn)行了改進(jìn)和優(yōu)化。增加了測量占空比的功能,同時由FPGA內(nèi)部產(chǎn)生清零信號,節(jié)省了資源。FPGA核心模塊如圖5所示。FPGA部分主要由門控信號產(chǎn)生模塊、計數(shù)器控制模塊、計數(shù)器模塊、鎖存器、中斷輸出、數(shù)據(jù)選擇輸出、頂層模塊組成。
門控信號:時鐘信號源產(chǎn)生頻率很高的時鐘信號,經(jīng)過分頻以后,得到頻率為1 Hz、1 kHz、1 MHz和50 MHz 4種時鐘信號,這些信號作為時基電路輸入信測量開始,TW為1s,計數(shù)器對被測信號fsin進(jìn)行計數(shù),如果計數(shù)超過規(guī)定值9999,產(chǎn)生溢出信號OVERFLOW,在其作用下,量程轉(zhuǎn)換電路輸出信號SW狀態(tài)發(fā)生變化,自動完成一次量程的換擋,同時將TW調(diào)整為0.1s,計數(shù)器重新計數(shù)。如果還有溢出信號,繼續(xù)量程換擋,調(diào)整TW,直到不再有溢出信號為止。其中74160接成了一個同步四進(jìn)制加法計數(shù)器,如圖6所示。它的時鐘輸入端CLK與計數(shù)器輸出端OVERFLOW(溢出)連接,在溢出信號作用下,量程轉(zhuǎn)換電路輸出端S1、S0依次輸出00、01、10和11 4個編碼,實現(xiàn)自動換擋。
評論