基于FPGA的發(fā)電機(jī)組頻率測(cè)量計(jì)的實(shí)現(xiàn)
關(guān)鍵詞:FPGA;發(fā)電機(jī)組;頻率測(cè)量計(jì);VerilogHDL
1 引言
在現(xiàn)代社會(huì)中,電資源成為人們生活當(dāng)中不可缺少的一部分,而發(fā)電機(jī)和電動(dòng)機(jī)在電力系統(tǒng)中扮演著非常重要的角色。在很多場(chǎng)合,需要對(duì)電機(jī)組和電網(wǎng)的頻率進(jìn)行測(cè)量。目前,頻率測(cè)量的電路系統(tǒng)很多,這里介紹一種數(shù)字電路測(cè)頻:基于FPGA的發(fā)電機(jī)組的頻率測(cè)量計(jì)。
隨著電子技術(shù)的不斷發(fā)展和進(jìn)步,以EDA為代表的數(shù)字電路設(shè)計(jì)發(fā)生很大變化。在設(shè)計(jì)方法上,已經(jīng)從“電路設(shè)計(jì)―硬件搭試―焊接”的傳統(tǒng)設(shè)計(jì)方式到“功能設(shè)計(jì)―軟件模擬―下載調(diào)試”的電子自動(dòng)化設(shè)計(jì)模式。在這種狀況下,以硬件描述語(yǔ)言(Hardware Description Language)和邏輯綜合為基礎(chǔ)的自頂向下的電子設(shè)計(jì)方法得到迅速發(fā)展。Verilog HDL語(yǔ)言是目前應(yīng)用最廣泛的硬件描述語(yǔ)言,它是在C語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,語(yǔ)法較為自由靈活、擁有廣泛的學(xué)習(xí)群體、資源比較豐富,且容易學(xué)簡(jiǎn)單易懂。本文發(fā)電機(jī)組頻率測(cè)量計(jì)的設(shè)計(jì)是在Verilog hdl語(yǔ)言的基礎(chǔ)上展開(kāi)的,源程序經(jīng)過(guò)Altera 公司的QuartusⅡ5.0軟件完成了綜合、仿真(功能仿真和時(shí)序仿真),F(xiàn)PGA(Field Programmable Gate Array,現(xiàn)場(chǎng)可編程門(mén)陣列) 選用的是Cyclone系列的EP1C3T144C6器件。
2 頻率測(cè)量電路
2.1頻率測(cè)量的總體電路
采用電壓互感器取來(lái)自于發(fā)電機(jī)組端電壓或電網(wǎng)電壓的測(cè)頻輸入信號(hào),經(jīng)削波、濾波處理后,變成幅度基本不變的穩(wěn)定波形,經(jīng)放大電路將信號(hào)放大整形,再用電壓比較電路將具有正負(fù)幅值的方波變成只有正幅值的方波信號(hào)。然后,通過(guò)光電耦合器使FPGA的數(shù)字系統(tǒng)與輸入信號(hào)隔離。FPGA數(shù)字系統(tǒng)利用標(biāo)準(zhǔn)的1HZ信號(hào)對(duì)隔離后的方波信號(hào)的脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù),得到信號(hào)的頻率數(shù),該頻率數(shù)經(jīng)數(shù)碼管顯示。由于發(fā)電機(jī)組的頻率與發(fā)電機(jī)組端電壓有關(guān)系,可以從頻率的變化得到發(fā)電機(jī)組端電壓的變化。從系統(tǒng)總體框圖如圖1所示,從中可以看出,該FPGA數(shù)字系統(tǒng)與輸入通道隔離,因而大大提高了系統(tǒng)硬件的抗干擾能力。
圖1 系統(tǒng)總體框圖
2.2頻率測(cè)量的原理
頻率測(cè)量的原理是計(jì)算每秒鐘待測(cè)信號(hào)的脈沖個(gè)數(shù),也就是利用標(biāo)準(zhǔn)的1HZ (周期為1s) 脈寬信號(hào)對(duì)輸入的待測(cè)信號(hào)的脈沖進(jìn)行計(jì)數(shù),1秒計(jì)數(shù)結(jié)束后對(duì)采集到脈沖個(gè)數(shù)送到數(shù)碼管顯示。
測(cè)頻控制器有3個(gè)輸入信號(hào):Samplefreq為標(biāo)準(zhǔn)的脈沖信號(hào),Reset是復(fù)位控制信號(hào),Start是開(kāi)始測(cè)量信號(hào);3個(gè)輸出信號(hào):Endmeasure是結(jié)束測(cè)量信號(hào)(計(jì)數(shù)復(fù)位和轉(zhuǎn)換復(fù)位),Gate是允許計(jì)數(shù)信號(hào)(即門(mén)控信號(hào)),Enableconvert是開(kāi)始轉(zhuǎn)換信號(hào)??刂屏鞒淌窍葘?duì)頻率計(jì)復(fù)位,再開(kāi)始測(cè)量,在Samplefreq信號(hào)的上升沿,Gate信號(hào)使能使計(jì)數(shù)器開(kāi)始工作,到Samplefreq的下一個(gè)上升沿,Gate反轉(zhuǎn)成低電平使計(jì)數(shù)器停止計(jì)數(shù),同時(shí)Enableconvert使轉(zhuǎn)換器開(kāi)始轉(zhuǎn)換二進(jìn)制數(shù)(轉(zhuǎn)換時(shí)間低于1s)。轉(zhuǎn)換結(jié)束后,十進(jìn)制數(shù)經(jīng)過(guò)7段顯示譯碼器譯碼,然后在數(shù)碼管中顯示所測(cè)信號(hào)的頻率。由于Enableconvert信號(hào)的使用使數(shù)碼管數(shù)據(jù)顯示穩(wěn)定,不會(huì)出現(xiàn)閃爍。進(jìn)行下次測(cè)量之前要對(duì)頻率計(jì)進(jìn)行復(fù)位,使數(shù)碼管的數(shù)字顯示清零,為下次顯示做準(zhǔn)備。
本文設(shè)計(jì)的數(shù)字頻率計(jì)有六個(gè)模塊組成:測(cè)頻控制模塊(Control)、十分頻模塊(divfreq)、二進(jìn)制計(jì)數(shù)器模塊(Counter)、鎖存器模塊(Latch)、二進(jìn)制到十進(jìn)制的轉(zhuǎn)換器模塊(Bit2Bcd)、7段顯示譯碼器模塊(Led_encoder)。
3 頻率測(cè)量計(jì)的設(shè)計(jì)
本次設(shè)計(jì)采用Verilog HDL語(yǔ)言,運(yùn)用自頂向下的設(shè)計(jì)理念。將系統(tǒng)按功能按層次化分,首先定義頂層功能模塊,并在頂層功能模塊內(nèi)部的連接關(guān)系和對(duì)外的接口關(guān)系進(jìn)行了描述, 而功能塊的邏輯功能和具體實(shí)現(xiàn)形式則由下一層模塊來(lái)描述。整個(gè)設(shè)計(jì)分兩步:第一步利用Quartus Ⅱ5.0圖形塊輸入方式設(shè)計(jì)頂層模塊,頂層圖形塊如圖2所示;第二步在頂層模塊中為每個(gè)圖形塊生成硬件描述語(yǔ)言(Verilog HDL),然后在生成的Verilog HDL設(shè)計(jì)文件中,對(duì)低層功能模塊的功能進(jìn)行描述設(shè)計(jì)。
圖2 頂層圖形塊
3.1 測(cè)頻控制模塊設(shè)計(jì)
這是三輸入三輸出模塊,測(cè)頻控制模塊波形仿真如圖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 測(cè)頻控制器波形仿真時(shí)序圖
3.2 二進(jìn)制到十進(jìn)制的轉(zhuǎn)換器模塊設(shè)計(jì)
本設(shè)計(jì),需要轉(zhuǎn)換時(shí)鐘Convertfreq信號(hào)對(duì)轉(zhuǎn)換模塊進(jìn)行時(shí)序控制,由于要在1s內(nèi)完成轉(zhuǎn)換,則轉(zhuǎn)換時(shí)鐘Convertfreq的頻率應(yīng)該選用高頻頻信號(hào),即轉(zhuǎn)換時(shí)鐘Convertfreq的頻率是標(biāo)準(zhǔn)時(shí)鐘Samplefreq信號(hào)10分頻得到的。
為了對(duì)本設(shè)計(jì)進(jìn)行波形仿真,取輸入的10位二進(jìn)制數(shù)bin[9..0]為10’b0000011001(十進(jìn)制為25)。圖4為二進(jìn)制到十進(jìn)制的轉(zhuǎn)換器的仿真時(shí)序圖:
圖4 二進(jìn)制到十進(jìn)制的轉(zhuǎn)換器的仿真時(shí)序圖
4 仿真和調(diào)試
通過(guò)上述的描述,從各個(gè)模塊獨(dú)立的角度對(duì)其進(jìn)行了仿真,結(jié)果表明設(shè)計(jì)符合要求。為了保證系統(tǒng)的整體可靠性,對(duì)整個(gè)系統(tǒng)做了仿真,仿真時(shí)序圖如圖5所示:
圖5 系統(tǒng)仿真時(shí)序圖
其中,LEDD,LEDC,LEDB,LEDA是譯碼的結(jié)果要在7段數(shù)碼管上顯示,0010010(顯示為2)、0100100(顯示為5)。
將設(shè)計(jì)的頻率測(cè)量計(jì)下載到目標(biāo)芯片EP1C3T144C6中,并在GW48實(shí)驗(yàn)箱上進(jìn)行的模擬仿真,當(dāng)輸入頻率為1 Hz~1023 Hz的信號(hào)時(shí),頻率測(cè)量計(jì)所測(cè)的頻率完全準(zhǔn)確,當(dāng)頻率高于1023Hz時(shí),系統(tǒng)報(bào)警,同時(shí)頻率顯示為0。
5 結(jié)束語(yǔ)
基于FPGA設(shè)計(jì)的發(fā)電機(jī)組頻率測(cè)量計(jì),系統(tǒng)在整體上采用光電耦合器的隔離方式,提高系統(tǒng)的抗干擾能力和穩(wěn)定性。該系統(tǒng)具有線(xiàn)路簡(jiǎn)單可靠、通用性強(qiáng)、穩(wěn)定度高等優(yōu)點(diǎn),可廣泛應(yīng)用于頻率電壓變換器、轉(zhuǎn)速繼電器。
該設(shè)計(jì)的FPGA數(shù)字系統(tǒng)部分使用Verilog HDL語(yǔ)言,給出核心程序,并可以通過(guò)Verilog HDL語(yǔ)言的綜合工具進(jìn)行相應(yīng)硬件電路的生成,具有傳統(tǒng)邏輯設(shè)計(jì)方法所無(wú)法比擬的優(yōu)越性。經(jīng)過(guò)仿真后,驗(yàn)證設(shè)計(jì)是成功的, 達(dá)到預(yù)期結(jié)果。同時(shí)這種方法設(shè)計(jì)的數(shù)字電子系統(tǒng)可移植性強(qiáng)、可更改性好。如果需要的頻率測(cè)量范圍需要擴(kuò)大,不需要硬件變化只需改變軟件就可以。
參考文獻(xiàn)
[1] 張明. Verilog HDL 實(shí)用教程[M]. 成都: 電子科技大學(xué)出版社,1999.
[2] 陳新華、姜曉輝、張建立等. 基于FPGA的數(shù)字信號(hào)顯示系統(tǒng)軟硬件設(shè)計(jì)[J]. 微計(jì)算機(jī)信息,2004,12:110~111.
[3] 任愛(ài)鋒、初秀琴、常存等. 基于FPGA的嵌入式系統(tǒng)設(shè)計(jì)[M]. 西安: 西安電子科技大學(xué)出版社,2004.
[4] 趙希才. 隔離放大器及其應(yīng)用[J]. 電子技術(shù)應(yīng)用,2000,3:70~72.
評(píng)論