歡迎您光臨本站 登入註冊首頁

FPGA發電機組頻率測量計的實現

admin @ 2014-03-26 , reply:0

概述

1引言   在現代社會中,電資源成為人們生活當中不可缺少的一部分,而發電機和電動機在電力系統中扮演著非常重要的角色。在很多場合,需要對電機組和電網的頻率進行測量。目前,頻……

1 引言
    在現代社會中,電資源成為人們生活當中不可缺少的一部分,而發電機和電動機在電力系統中扮演著非常重要的角色。在很多場合,需要對電機組和電網的頻率進行測量。目前,頻率測量的電路系統很多,這裡介紹一種數字電路測頻:基於FPGA的發電機組的頻率測量計。
    隨著電子技術的不斷發展和進步,以EDA為代表的數字電路設計發生很大變化。在設計方法上,已經從“電路設計—硬體搭試—焊接”的傳統設計方式到“功能設計 —軟體模擬—下載調試”的電子自動化設計模式。在這種狀況下,以硬體描述語言(Hardware Description Language)和邏輯綜合為基礎的自頂向下的電子設計方法得到迅速發展。Verilog HDL語言是目前應用最廣泛的硬體描述語言,它是在C語言的基礎上發展起來的,語法較為自由靈活、擁有廣泛的學習群體、資源比較豐富,且容易學簡單易懂。本文發電機組頻率測量計的設計是在Verilog hdl語言的基礎上展開的,源程序經過Altera 公司的QuartusⅡ5.0軟體完成了綜合、模擬(功能模擬和時序模擬),FPGA(Field Programmable Gate Array,現場可編程門陣列) 選用的是Cyclone系列的EP1C3T144C6器件。

2 頻率測量電路
2.1頻率測量的總體電路
    採用電壓互感器取來自於發電機組端電壓或電網電壓的測頻輸入信號,經削波、濾波處理后,變成幅度基本不變的穩定波形,經放大電路將信號放大整形,再用電壓比較電路將具有正負幅值的方波變成只有正幅值的方波信號。然後,通過光電耦合器使FPGA的數字系統與輸入信號隔離。FPGA數字系統利用標準的1HZ信號對隔離后的方波信號的脈衝個數進行計數,得到信號的頻率數,該頻率數經數碼管顯示。由於發電機組的頻率與發電機組端電壓有關係,可以從頻率的變化得到發電機組端電壓的變化。從系統總體框圖如圖1所示,從中可以看出,該FPGA數字系統與輸入通道隔離,因而大大提高了系統硬體的抗干擾能力。
 
圖1 系統總體框圖
2.2頻率測量的原理
    頻率測量的原理是計算每秒鐘待測信號的脈衝個數,也就是利用標準的1HZ (周期為1s) 脈寬信號對輸入的待測信號的脈衝進行計數,1秒計數結束后對採集到脈衝個數送到數碼管顯示。
    測頻控制器有3個輸入信號:Samplefreq為標準的脈衝信號,Reset是複位控制信號,Start是開始測量信號;3個輸出信號: Endmeasure是結束測量信號(計數複位和轉換複位),Gate是允許計數信號(即門控信號),Enableconvert是開始轉換信號。控制流程是先對頻率計複位,再開始測量,在Samplefreq信號的上升沿,Gate信號使能使計數器開始工作,到Samplefreq的下一個上升沿, Gate反轉成低電平使計數器停止計數,同時Enableconvert使轉換器開始轉換二進位數(轉換時間低於1s)。轉換結束后,十進位數經過7段顯示解碼器解碼,然後在數碼管中顯示所測信號的頻率。由於Enableconvert信號的使用使數碼管數據顯示穩定,不會出現閃爍。進行下次測量之前要對頻率計進行複位,使數碼管的數字顯示清零,為下次顯示做準備。
    本文設計的數字頻率計有六個模塊組成:測頻控制模塊(Control)、十分頻模塊(divfreq)、二進位計數器模塊(Counter)、鎖存器模塊(Latch)、二進位到十進位的轉換器模塊(Bit2Bcd)、7段顯示解碼器模塊(Led_encoder)。

3 頻率測量計的設計
    本次設計採用Verilog HDL語言,運用自頂向下的設計理念。將系統按功能按層次化分,首先定義頂層功能模塊,並在頂層功能模塊內部的連接關係和對外的介面關係進行了描述, 而功能塊的邏輯功能和具體實現形式則由下一層模塊來描述。整個設計分兩步:第一步利用Quartus Ⅱ5.0圖形塊輸入方式設計頂層模塊,頂層圖形塊如圖2所示;第二步在頂層模塊中為每個圖形塊生成硬體描述語言(Verilog HDL),然後在生成的Verilog HDL設計文件中,對低層功能模塊的功能進行描述設計。
 
圖2 頂層圖形塊
3.1 測頻控制模塊設計
這是三輸入三輸出模塊,測頻控制模塊波形模擬如圖3所示,如用Verilog HDL描述為:

module Control (clk,reset,start,enableconvert,gate,endmeasure);
input reset,start,clk;
output enableconvert,gate,endmeasure;
reg enableconvert,gate,endmeasure;
always @ (posedge clk or posedge reset)
begin
if (reset)
begin
endmeasure <= 1'b1 ;
enableconvert <=1'b0 ;
gate <= 1'b0 ;
end
else
begin
endmeasure <= 1'b0 ;         
if (start)
begin
gate <= ~gate ;
enableconvert <= gate ;
end
end
end
endmodule

 
圖3 測頻控制器波形模擬時序圖

3.2 二進位到十進位的轉換器模塊設計
    本設計,需要轉換時鐘Convertfreq信號對轉換模塊進行時序控制,由於要在1s內完成轉換,則轉換時鐘Convertfreq的頻率應該選用高頻頻信號,即轉換時鐘Convertfreq的頻率是標準時鐘Samplefreq信號10分頻得到的。
    為了對本設計進行波形模擬,取輸入的10位二進位數bin[9..0]為10’b0000011001(十進位為25)。圖4為二進位到十進位的轉換器的模擬時序圖:
 
圖4 二進位到十進位的轉換器的模擬時序圖

4  模擬和調試
  通過上述的描述,從各個模塊獨立的角度對其進行了模擬,結果表明設計符合要求。為了保證系統的整體可靠性,對整個系統做了模擬,模擬時序圖如圖5所示:
 
圖5 系統模擬時序圖
  其中,LEDD,LEDC,LEDB,LEDA是解碼的結果要在7段數碼管上顯示,0010010(顯示為2)、0100100(顯示為5)。將設計的頻率測量計下載到目標晶元EP1C3T144C6中,並在GW48實驗箱上進行的模擬模擬,當輸入頻率為1 Hz~1023 Hz的信號時,頻率測量計所測的頻率完全準確,當頻率高於1023Hz時,系統報警,同時頻率顯示為0。

5 結束語
    基於FPGA設計的發電機組頻率測量計,系統在整體上採用光電耦合器的隔離方式,提高系統的抗干擾能力和穩定性。該系統具有線路簡單可靠、通用性強、穩定度高等優點,可廣泛應用於頻率電壓變換器、轉速繼電器。該設計的FPGA數字系統部分使用Verilog HDL語言,給出核心程序,並可以通過Verilog HDL語言的綜合工具進行相應硬體電路的生成,具有傳統邏輯設計方法所無法比擬的優越性。經過模擬后,驗證設計是成功的, 達到預期結果。同時這種方法設計的數字電子系統可移植性強、可更改性好。如果需要的頻率測量範圍需要擴大,不需要硬體變化只需改變軟體就可以。


[admin via 研發互助社區 ] FPGA發電機組頻率測量計的實現已經有2154次圍觀

http://cocdig.com/docs/show-post-43152.html