1 引 言
頻率測量不僅在工程應(yīng)用中有非常重要的意義,,而且在高精度定時系統(tǒng)中也處于核心地位,±1個計數(shù)誤差通常是限制頻率測量精度進(jìn) 一步提高的重要原因,。由于測頻技術(shù)的重要性,,使測頻方法也有了很大的發(fā)展,常用數(shù)字頻率測量方法有M法,T法,,和M/T(等精度測量法)法,。M法,T法,, 和M/T法都存在±1個計數(shù)誤差問題:M法存在被測閘門內(nèi)±1個被測信號的脈沖個數(shù)誤差,,T法或M/T法也存在±1個字的計時誤差,這個問題成為限制測量 精度提高的一個重要的原因,。全同步頻率測量法[1],,從根本上消除了限制測量精度提高的±1個計數(shù)誤差問題,從而使頻率測量的精度和性能大為改善,。
基于對FPGA器件和EDA技術(shù)以及全同步測頻方法的研究[2,3],,介紹一種利用FPGA實現(xiàn)DC~100 MHz全同步數(shù)字頻率計的實現(xiàn)方法,,并給出VHDL實現(xiàn)代碼和仿真波形。整個系統(tǒng)在研制的FPGA/CPID實驗開發(fā)系統(tǒng)上調(diào)試通過,。本設(shè)計采用了高集成度的現(xiàn)場可編程門陣列(Field Program-mable Gata Array,,F(xiàn)PGA)Flex EPF10k20TCl44-4芯片[4],通過軟件編程對目標(biāo)器件的結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),,能隨時對設(shè)計進(jìn)行調(diào)整,,使得本設(shè)計具有集成度高、結(jié)構(gòu)靈活,、開發(fā)周期短,、可靠性高的優(yōu)點。
在文獻(xiàn)[2,,5]中所描述的等精度頻率測量方法中,,其測頻原理如圖1所示。
其 誤差與閘門時間和標(biāo)準(zhǔn)時鐘頻率有關(guān),,閘門時間越長,,標(biāo)準(zhǔn)時鐘頻率越高,誤差越小,。因此,,用等精度測頻法時所取的標(biāo)準(zhǔn)時鐘頻率比較高(10 MHz以上),因此±1計數(shù)誤差相對很小,。標(biāo)準(zhǔn)時鐘頻率不可能無限制提高,,并且隨著頻率提高,產(chǎn)品成本成倍增加,,對于生產(chǎn)應(yīng)用沒有意義,。因此本設(shè)計用改進(jìn) 的等精度頻率測量方法--全同步測量來實現(xiàn)數(shù)字頻率計的設(shè)計。在全同步的情況下,閘門信號不僅與被測信號同步,,還與標(biāo)準(zhǔn)時鐘同步,。其原理圖如圖2所示。
2 全同步測頻原理簡述
由文獻(xiàn)[1,,6]可知:設(shè)開啟閘門時脈沖同步時間差為△t1,,關(guān)閉閘門時脈沖同步時間差為△t2,脈沖同步檢測最大誤差為△t,,則有:△t1≤△t,,△t2≤△t。頻率測量的相
對誤差如式(2)所示:
由式(1)可知,,誤差只與脈沖檢測電路準(zhǔn)確度有關(guān),,顯然,控制△t來提高頻率測量精度是有效的,,而且實現(xiàn)走來比提高標(biāo)準(zhǔn)時鐘頻率更容易,。
在以上分析的基礎(chǔ)上,本設(shè)計采用FPGA來實現(xiàn)全同步數(shù)字頻率計,。其系統(tǒng)原理框圖如圖3所示,。由圖3可知,設(shè)計的絕大部分由FPGA完成,,只有脈沖同步檢測電路由74LS系列與非門來實現(xiàn),,以及顯示部分由數(shù)碼管構(gòu)成。
3 全同步數(shù)字頻率計模塊設(shè)計
由系統(tǒng)原理框圖3,,則其FPGA內(nèi)部模塊電路設(shè)計原理如圖4所示,。
設(shè) 計原理圖主要由以下幾部分組成:脈沖同步檢測電路、2個計數(shù)器,、2個鎖存器,、控制器、乘法器,、除法器,、澤碼電路等組成。工作原理如下:被測頻率與標(biāo)準(zhǔn)時鐘 分別送給脈沖同步檢測電路與2個計數(shù)器,,當(dāng)脈沖同步檢測電路檢測到被測頻率與標(biāo)準(zhǔn)時鐘相位同步時,,脈沖同步檢測電路發(fā)出同步信號,2個計數(shù)器開始計數(shù),,當(dāng) 脈沖同步檢測電路再次檢測到間步信號時,,義發(fā)出同步信號,計數(shù)器停止計數(shù),。同時計數(shù)器的計數(shù)值鎖存到鎖存器,,時序乘法器從鎖存器中取得被測頻率的計數(shù)值與 標(biāo)準(zhǔn)時鐘頻率進(jìn)行乘法運算,,然后再將乘法器運算所得的值與標(biāo)準(zhǔn)時鐘的計數(shù)值送給除法器,乘法器的結(jié)果為被除數(shù),,標(biāo)準(zhǔn)時鐘的計數(shù)值為除數(shù),,運算所得結(jié)果就是 被測信號的頻率,然后冉經(jīng)過二卜進(jìn)制轉(zhuǎn)換變成BCD碼,,送給數(shù)碼管顯示,。本設(shè)計采用10 MHz的標(biāo)準(zhǔn)時鐘,由于乘法器輸入是27位二進(jìn)制,,相當(dāng)于9位10進(jìn)制數(shù),,而10 MHz的標(biāo)準(zhǔn)時鐘為107Hz,因此用被測頻率的計數(shù)值乘以108可得到一位小數(shù)點,。
3.1 脈沖同步檢測電路
脈沖同步檢測電路 沒計原理圖如圖5所示,。U1~U8為74LS系列與非門,同步檢測電路利用門電路的延時來構(gòu)成,。當(dāng)被測信號及標(biāo)準(zhǔn)時鐘都處在低電平時,,U1,U2輸出為高 電平,,U3,U4的輸出為高電平,,U5,,U6輸出為低電平,則U8輸出為低電平,。當(dāng)被測信號(Fx)及標(biāo)準(zhǔn)時鐘的上升沿同時到來時,,由于門電路具有延時特 性,因此U1,,U2并不馬上變?yōu)榈碗娖?,而是要?jīng)過一個延時才變?yōu)榈碗娖健S谑荱3,,U4的輸入端都是高電平,,則U3,U4
輸出為低電平,,U5,,U6的輸出為高電平,則U8輸出為高電平,。但是當(dāng)且儀當(dāng)Fx與CLK的上升沿在在延時時間內(nèi)同時到達(dá)時U8才會輸出高電平,。74LS系列與非門的延時最小為4 ns,最大為15 ns,,因此最大誤差為11ns,。根據(jù)公式(2)得:
當(dāng)T0為1 s時,其精度可達(dá)到10-7,如再減小相位誤差,,則可提高頻率計的精確度,。
3.2 FPGA芯片內(nèi)部模塊電路設(shè)計和仿真結(jié)果
FPGA芯片內(nèi)部模塊電路設(shè)計和仿真結(jié)果如圖6到圖9所示。
3.2.1 計數(shù)器
此 計數(shù)播為27位二進(jìn)制,,具有計數(shù)使能端(ena),、異步清零端(clr)、時鐘輸入端(clk),、進(jìn)位輸出端(ov)等,。當(dāng)異步清零端(clr)為高電平 時,不管計數(shù)使能端是否有效,,時鐘上升沿是否到來,,計數(shù)器都立即清零,即q=0,。只有異步清零端(clr)為低電平,,并且汁數(shù)使能端為高電平,有上升沿到 來時,,計數(shù)器才開始計數(shù),,當(dāng)計數(shù)器計滿時,進(jìn)位輸出為高電平,。計數(shù)器VHDL程序仿真圖如圖6所示,。
3.2.2 乘法器
由 于本設(shè)計所用的乘法器位數(shù)較寬,而組合邏輯乘法器位數(shù)越多耗用的硬件資源成倍增長,,并且本設(shè)計不需要有很高的運算速度,,考慮到硬件資源與運算速度,因此采 用時序電路來實現(xiàn)乘法器,,其原理是通過逐項移位相乘相加來實現(xiàn),。他是一種犧牲運算時間換取硬件資源的方案。乘法器的VHDL程序仿真圖如圖7所示,。
3.2.3 除法器
除法器則可通過移位相減相除來實現(xiàn),,其工作原理與剩法器是一樣的,其VHDL程序仿真圖如圖8所示,。
3.2.4 控制器
控 制器工作時序如下:當(dāng)同步信號(clk)上升沿到來時,,計數(shù)使能信號(cp)立即變成高電平,鎖存信號(creg)及清零信號(clr)變成低電平,,同步 信號(clk)的上升沿再次到來時,,除清零信號(clr)外,其余信號均取反,,當(dāng)同步信號(clk)的下降沿到來時,,清零信號(clr)變成高電平,。當(dāng)同 步信號又到來時,重復(fù)上述過程,,其仿真結(jié)果如圖9所示,。
3.2.5 頂層設(shè)計
由 模塊電路設(shè)計原理圖4,經(jīng)過VHDL編程,,得到各模塊的VHDL設(shè)計實體,,然后對各模塊的設(shè)計實體在Max+PlusⅡ中進(jìn)行仿真,驗證各模塊的正確性,。 最后再設(shè)計一個頂層文件把各模塊按圖4連接起來,,便構(gòu)成了一個全同步數(shù)字頻率計的FPGA內(nèi)部硬件電路。下面給出頂層文件的仿真結(jié)果,,由仿真圖10可看 出:124×108/93=13 333 333,,由于使用的是10 MHz的晶振,因此還有一位小數(shù)點最終顯示的結(jié)果應(yīng)該是1 333 333.3Hz,。由仿真圖11知,,小數(shù)位在數(shù)碼管的第二位上有效,其余位均無效,。仿真結(jié)果與期望結(jié)果一致,。至此,本設(shè)計得到成功驗證,。
4 結(jié) 語
本 文利用Altear公司的FPGA芯片F(xiàn)lexEPF10k20TC144-4 [5],,使用VHDL語言設(shè)計了全同步數(shù)字頻率計,在Max+PlusⅡ中進(jìn)行了各模塊的仿真,,達(dá)到了預(yù)期結(jié)果。全同步數(shù)字頻率計是目前精度最高的頻率計 之一,。在高速時鐘隨處可見的現(xiàn)代電子系統(tǒng),,有著非常廣泛的研究價值。從某種程度上說他是以犧牲時間來換取精確度的,,但一般情況下測頻系統(tǒng)對時間的要求并不 高,,并且由于電子系統(tǒng)對系統(tǒng)時鐘的準(zhǔn)確度越來越高,因此全同步數(shù)字頻率計有著廣泛的應(yīng)用空間,。