王彥東,邵 英,王黎明,肖雄波
(海軍工程大學電氣與信息工程學院,湖北 武漢 430033)
基于FPGA的智能高精度頻率測量設計
王彥東,邵 英,王黎明,肖雄波
(海軍工程大學電氣與信息工程學院,湖北 武漢 430033)
為提高頻率測試的精度和智能化程度,減少測試時間,提出一種基于FPGA的依據待測信號頻率智能選擇測試方案的頻率測量方法。利用控制時鐘和待測信號通過門電路延時產生的脈沖觸發閘門信號,對待測信號頻率精確測量進行理論分析、電路仿真以及FPGA硬件實現。仿真和測試結果表明:該方法能夠依據待測信號自適應選擇測試方案,提高測試精度,降低時間,很大程度上減少人工參與。
儀器儀表技術;雙同步測頻法;FPGA;頻率
頻率是電能質量的重要指標,很多場合下需要將模擬電壓電流信號轉換成先行變化的頻率信號輸出,以提高抗干擾能力[1]。因而頻率的精確、快速測量具有諸多的現實意義。
現在主要的測量方法有測頻法和測周法,但通常測得的10-5的毫秒級精度已經遠遠不能滿足電能質量對于納秒級數據的需求。本文從實際應用的角度出發,對傳統的頻率測量方法進行分析,并將傳統的簡單計數測頻法和雙同步測頻法加以結合,探索出一種新型的融合二者優點的自適應選擇頻率測試方法,既保證測量結果的精度滿足現代電力系統中對數據的要求,又提供了極為方便的便攜性。
1.1 簡單的頻率測量方法
(1)測頻法。在一定的時間間隔td-ta(即閘門信號時間)T內,輸入的周期信號脈沖計數為N,則信號的頻率為
測頻法所測量的數據結果相對誤差最大為:1/N×(100/100),(N為閘門信號時間內待測頻率的個數)。
(2)測周法。這種方法是通過計量被測信號一個周期內頻率為F0的標準信號的脈沖數N來間接測量頻率:
測周法所測得的數據結果相對誤差為:1/N×(100/100)(N為待測信號閘門時間內標準時鐘的個數)。
1.2 雙同步測頻法
當待測頻率低于40MHz時,就需尋找另一種測試方法以滿足測試精度要求。
理論上,可以利用標準信號和待測信號同時到達上升沿的時刻觸發門信號的翻轉,并在此期間進行兩信號的測量,所得結果在理想條件下可以達到零誤差,其原理如圖1所示。但實際中,門延時是不可避免的,兩信號之間完全同時到達上升沿幾乎不可能實現,門之間通常有幾十到幾百皮秒的延時差異[2],此時就可以充分利用兩信號經過“與”運算之后的類似于脈沖的信號來近似代替兩信號同時到達的上升沿,隨之可以展開進行一系列精密測量的設計[3]。由此引出本設計中的核心測量方法-雙同步測頻法。
1.3 方案對比選擇
當待測信號的頻率足夠大時,測頻法計數所測結果±1的數據誤差足以滿足測量要求,并且所需要的測量時間也很短,一般不超過1s即可得出比較精確的測試結果。
雙同步測頻法摒棄了傳統測量方式對閘門信號的過分依賴,以可能花費稍長時間為代價換取低頻率信號的高精度。當頻率比較低時,±1個計數誤差所帶來的影響使結果已不具有可參考性。雙同步測頻法中的閘門僅用于頻率測量的開啟和關閉,相當于信號采集區間,同時閘門信號的開啟和關閉也由標準信號和待測信號同時決定。該方法最大程度上降低了由于閘門信號不合時宜的開關所帶來的計數誤差。然而,所消耗的時間卻有可能相對過長。
頻率測試對電能質量的檢測具有很大的作用,通過Verilog HDL(硬件設計語言)的綜合改進[4],使得頻率測量可以根據待測頻率的大小自適應選擇測頻法或是雙同步測頻法來完成高精度測量。本設計中將臨界點設置在計數值的25位達到1,此時的誤差可降至10-7以下。
本文著重考慮待測頻率精度要求,充分利用FPGA設計的靈活性實現了由待測頻率的大小自適應選擇測試方案的目標,充分滿足頻率測試對精度和時間多方面的要求。
2.1 PCI9054硬件平臺介紹
本文利用PCI9054板卡[5](見圖2)進行設計,板卡所帶40MHz的系統頻率為本次實驗提供了極大的方便,該板卡晶體振蕩器的頻率穩定度,決定了頻率計測量誤差的最小化。
同時板卡與PC機良好的交互功能為頻率及其他量的測試帶來了更多方便,更加便于數據的存儲及其直觀顯示,同時經過驅動的作用,經由PC機對板卡的操作為進一步的設計要求提供了潛在的應用基礎,具有良好的可移植性,對下一步更高的精度測試提供了可能。
經外設采集到的信號經過信號調理電路后可以轉換為待測頻率信號,經由三總線達到與FPGA的交互,通過硬件設計語言達到對待測信號的處理、測量,由PCI9054完成與PC機的交互功能[6]。
2.2 軟件設計方案
當被測頻率大于107Hz時,采用測頻法所得精度達到了10-7級別,并且測量速度也極快,已經基本能滿足各種測試的需求,同時達到了快速和高精度的要求。
當頻率低于107Hz又對測量精度有很高要求時,采用本實驗提出的雙同步測頻法,同樣能夠測得很精確的頻率。所以,本設計綜合了二者的優勢,對提高頻率測量準確度和減少測量用時有很大作用。原理如圖3所示。
利用測頻法對待測信號進行粗測量,如果待測信號頻率高于107Hz,則利用測頻法直接測量并計數,若待測信號頻率較低,則利用雙同步法進行測量計數。
此處的閘門時間由系統時鐘進行分頻提供,系統提供的高精度時鐘經過40M分頻得到的秒閘門信號通過FPGA測得的計數值即為初步測量的信號計數值。通過初步判斷計數值,選擇相應方案進行進一步測量,結果經由數碼管顯示。閘門信號的開啟完全由標準時鐘信號CLK和待測信號CLK0控制,每
當標準時鐘信號和待測信號同時到達上升沿時,閘門信號翻轉,在閘門信號高電平期間,對標準時鐘信號和待測信號分別計數為m和n,并于閘門信號低電平期間鎖存計數值并送顯,則得到了所測信號的頻率值為
f0為標準時鐘信號頻率,由此得到了待測信號頻率的精確值。該測量方法避免了由于閘門信號開啟和待測信號上升沿不能完全同步所帶來的±1個計數誤差。
當兩個信號周期恰好完全成整數倍關系,并且初相位沒有重合時,則使用該方法很難產生閘門信號,此時可以使程序跳回測頻法進行測量,由測頻法原理可知,采用此法可以避免±1個計數誤差,所以測得頻率即為待測信號真實頻率。
3.1 Quartus II仿真實現
利用Verilog語言進行設計,采用自頂向下的設計模式,從開始設計就考慮性能的優化。整個測頻程序分為幾個模塊,主要有系統時鐘分頻模塊、計數模塊、判斷選擇模塊、雙同步測量模塊、計數、顯示模塊。
同時本實驗采用Verilog結合原理圖綜合設計的方法進行設計,利用語言的便捷性和原理圖的直觀性,將設計的各個模塊靈活有效地進行結合達到實驗目的。
分頻模塊對系統時鐘進行分頻主要為閘門信號,此處進行的是40 M分頻,得到1s的閘門信號,用于測頻法以及在閘門時間內對待測信號的初步計數。計數模塊主要完成多個計數,分別對測頻法里的待測信號和雙同步里的標準、待測信號計數,之后對計數值進行鎖存。當計數值達到測頻法或雙同步法的要求時分別選擇相應的模塊測量、顯示。
程序的關鍵部分在于閘門信號的獲取,當標準頻率和待測頻率信號輸入時,分別經過一個非門的延時得到反相信號,然后原信號與延時反相信號經過與門之后分別得到瞬時短脈沖信號,利用該信號代替兩信號的上升沿,重合時即視為兩信號的上升沿完全重合。該模塊原理如圖4所示。
經過仿真后得到如圖5所示結果。同時,由于FPGA門延時時間極短,不利于電路完全通過搭建硬
件與非門來實現,為便于現象的觀察,考慮將上圖中的信號同步檢測過程通過與板卡相結合[7]變得更為簡便。
由圖5可知,設計利用兩個信號的上升沿同時到來時得到瞬時脈沖的方案,則得到脈沖之后,經過Verilog語言生成的模塊可以實現使gate0模塊輸出的信號在脈沖信號上升沿到來時實現翻轉的功能,該信號即為最終的“閘門信號”。利用該信號進行雙同步測頻法分別對兩信號進行計數即可得到待測信號高精度頻率值。
軟件仿真結果如圖6所示,state為1時,系統自動選擇雙同步法進行測量,clk和clk0產生代替上升沿的瞬時脈沖信號,觸發計數閘門信號clk_gate的產生,閘門信號高電平期間,cnt和q分別為clk0和clk的計數值,由結果可知n=5,m=277。
本次仿真綜合考慮仿真時間的要求,選取了較低頻率的標準時鐘信號,由式(3)可計算得到待測頻率值為f=722021.661Hz,與輸入的待測頻率f′=722 021Hz的誤差在10-7級別,滿足實驗精度要求。
3.2 硬件電路實現
基于對性能和靈活性的綜合考慮,本設計的硬件仿真電路主要由芯片EP1C12Q240C8的FPGA實驗板來完成[8]。標準頻率信號由實驗板的晶振產生,經測試為標準40MHz信號,該頻率極大地滿足了工業各測量的標準,同時高精度的條件也為提高精度做了極為充分的準備。本設計原理如圖7所示。
待測信號經過波形處理由模擬信號轉換成數字信號交由1s閘門信號進行計數,若大于107,則直接采用測頻法進行計數并送顯,若計數值在107之下,則轉入雙同步測頻法進行測量計數[9]。該測量過程完全不需要人為參與,由編譯好的程序進行自適應選擇,實現了自適應的智能化和高精度,對于數據檢測的智能測試有很大幫助和參考價值。
將設計并驗證過的程序燒錄至FPGA實驗板上進行實驗,程序進入本實驗的最后驗證階段,結果無報錯。
由表1中經過測試的結果,頻率測試的精度均達到了10-7級別,極大滿足了各方面的需求,為電能質量的測試奠定了良好基礎。但仍存在誤差,綜合分析,誤差主要來自門延時的不確定性。該設計主要利用非門延時同原信號經過與門之后產生的瞬時脈沖來代替信號上升沿觸發閘門信號的產生,因而門延時的時間對實驗結果的精度有較大影響[10]。
經過測試的實驗結果見表1。
此誤差計算為
T——閘門信號持續時間[11]。
由式(4)及結果可知,系統誤差主要取決于門延時時間,同時適當延長閘門時間也可有效減小誤差。
晶振是電子設備中始終計數的基準,時鐘的表示都是通過晶振計算,然而使用環境對晶振的影響頗大,不可避免的對測量結果有一定的影響。測量結果與文獻[12]相比加大了測量范圍,根據頻率自適應選擇測量范圍,盡量縮短測量時間。
FPGA的門延時相對于TTL器件的門延時有了很大改進,本設計主要利用該項優勢對頻率測量進行改進,有效提高了頻率測量精度。
本設計充分利用FPGA的靈活性和皮秒級的門延時,設定了判斷選擇模塊,根據待測信號靈活選擇測試方案,充分滿足了工業設計中對頻率精度更進一步的要求,對頻率測量精度的進一步提高提供了極大的方便。經過改善和綜合設計的測頻方法誤差不超過10-7,范圍為10Hz~80MHz,有效提高了電子設計中頻率測量的精度,為其他基于頻率的電子測量提供了進一步提高精度的的可能。
[1]Ryszard S,Jozef K.Interpolating time counter with 100 ps resolution on a single FPGA device[J].IEEE Trans.on Instrumentation and Measurement,2000,49(4):879-882.
[2]Jozef K,Ryszard S,Ryszard P.Single-chip interpolating timecounter with 200 ps resolution and 43 ps range[J]. IEEE Trans.on Instrumentation and Measurement,1997,46(4):85l-856.
[3]謝浪清.高速等精度頻率測量的研究 [J].中國科技信息,2006(15):304-305.
[4]夏宇聞.Verilog數字系統設計教程[M].北京:北京航空航天大學出版社,2008.
[5]韓雪峰,黃焱,楊濤.基于PCI總線的高速數據采集接口的設計與實現[J].微計算機信息,2005(8):71-73.
[6]Walter Oneey.Programming the microsoft windows driver model[M].Microsoft Press,2003.
[7]陳光禹.現代測試技術[M].成都:電子科技大學出版社,2002.
[8]王慧.基于FPGA高速高精度頻率測量系統的實現[J].傳感器世界,2006(1):27-29.
[9]侯聰靈,趙文龍.基于EDA技術的數字頻率計的設計[J].現代電子技術,2009,32(11):304-305.
[10]王海,周渭,劉暢生,等.一種新的短時間間隔測量方法[J].西安電子科技大學學報,2008(2):267-271.
[11]方易圓,鄧琛.等精度頻率計的FPGA設計[J].測控技術,2012,31(10):1-4.
[12]李衛兵,李道通,胡波,等.基于FPGA的多功能頻率計的設計[J].電子設計工程,2012,20(20):164-167.
Design of intelligent precision frequency measurement based on FPGA
WANG Yan-dong,SHAO Ying,WANG Li-ming,XIAO Xiong-bo
(Institute of Electrical and Information Engineering,Navy University of Engineering,Wuhan 430033,China)
For improving the accuracy and intellectualization of the frequency and minimizing test time,a method to measure the frequency based on the signal to be measured which can choose the testing program intelligently was proposed.By controlling the signal generated by the clock and the test signal through the gate delay combining FPGA and gates 74LS series,the frequency of the signal to be measured can conduct theoretical analysis,circuit simulation and FPGA hardware implementation.Simulation and test results show that this method can solve the problem of measurement accuracy and adaptively select testing program based on the measured signal for improving precision,reducing the time requirements,reducing the labor involved in largely.
instrumentation technology;dual synchronous;FPGA;frequency
TM935;TN911.7;TK018;TP274
:A
:1674-5124(2014)04-0119-05
10.11857/j.issn.1674-5124.2014.04.030
2013-07-29;
:2013-09-24
王彥東(1990-),男,河南西華縣人,碩士研究生,專業方向為電能質量檢測。