有功電能計量IP核的設計
有功電能是電力市場收費的基本依據(jù),也是電能表計量的首要數(shù)據(jù)。目前,電能計量的實現(xiàn)基本都是利用單片機控制現(xiàn)成的電能計量芯片及其外圍電路[1]。這樣實現(xiàn)的電能計量方法處理能力有限,可擴展的存儲空間不大、應用范圍小、可移植性差,由于受采樣速率的限制,難以達到很高的精度,無法滿足客戶更高的要求[2]。
基于FPGA實現(xiàn)有功電能計量的IP核是一種全新的設計思路和實現(xiàn)方案。FPGA作為一種可以由用戶自行配制的高容量密度的專用集成電路,具有全硬件的用戶可定制性及重配置性。而IP核是一段具有特定電路功能的硬件描述語言程序,該程序與集成電路工藝無關,可以移植到不同的半導體工藝中生產(chǎn)集成電路芯片。因此基于FPGA的有功電能計量IP核實現(xiàn)的電能計量芯片,設計靈活可靠、功能強大、降低了設計開發(fā)的成本,從而更能滿足市場的需求。
本文提出一種有功電能計量IP核的FPGA設計方案,并著重討論了CIC抽取濾波器、去直流高通濾波器、FIR低通濾波器和數(shù)字頻率變換器等模塊的原理與設計,用VHDL實現(xiàn)了各個功能模塊。使用Simulink建模對該系統(tǒng)進行驗證,并在Altera公司的FPGA芯片CycloneII EP2C35F484C8上完成了硬件驗證,最終結果應用到某電能計量芯片設計中。
1 有功電能計量IP核總體方案的設計
1.1 有功電能計量的原理
電能計量主要是把電壓和電流信號按照時間相乘,得到功率隨時間變化的信息[3]。假設電壓信號為:
可見,瞬時功率包括直流分量和交流分量兩部分。交流分量的頻率為2ω,直流分量就是有功功率,是電能計量的首要數(shù)據(jù)。由式(3)可知,無論電壓電流的相位是否相同,只要將直流分量分離出來就能得到電能的有功功率。
1.2 IP核的結構設計
根據(jù)有功電能計量的原理,設計有功電能計量的系統(tǒng)框圖如圖1所示。該設計包括兩個CIC抽取濾波器、兩個IIR高通濾波器、一個乘法器、一個FIR低通濾波器和一個DFC數(shù)字頻率變換器。
電壓信號和電流信號經(jīng)過數(shù)據(jù)采集模塊轉變?yōu)椴蓸铀俾蕿?2 kHz的16位精度的數(shù)字信號。為了提高后續(xù)電路信號處理的速度,采用CIC抽取濾波器對信號進行降采樣。降采樣之后的電壓和電流信號經(jīng)過IIR高通濾波器濾除由系統(tǒng)偏移產(chǎn)生的直流分量,從而消除由于電壓和電流失調(diào)造成的系統(tǒng)誤差。將電壓和電流相乘即可得到瞬時功率信號,因此通過一個乘法器將電壓和電流信號相乘。有功功率即瞬時功率中的直流分量,可以通過FIR高通濾波器對瞬時功率進行低通濾波。由于瞬時功率中含有諧波分量,而低通濾波器又非理想濾波器,因此低通濾波器輸出的有功功率會含有瞬時功率的信息。采用DFC數(shù)字頻率變換器,不但可以產(chǎn)生與有功功率成正比的輸出脈沖,還可以起到平均作用,從而抑制瞬時功率信息。對DFC產(chǎn)生的與頻率成正比的脈沖計數(shù),即可得到有功電能[4]。
2 IP核各模塊的實現(xiàn)
2.1 CIC抽取濾波器
CIC抽取濾波器主要由積分器、抽取器和梳狀濾波器三部分組成[5],其基本結構如圖2所示。積分器工作在較高的采樣頻率,由n個反饋系數(shù)為1的單極點IIR濾波器組成,其差分方程為:
抽取器將最后一級積分器的輸出數(shù)據(jù)速率降為原來的1/R,R為抽取的系數(shù),一般取整數(shù),也是CIC抽取濾波器的抽取倍數(shù)。梳狀器部分由N個梳狀濾波器組成,工作頻率為積分器的1/R,每一微分延遲M個采樣點。梳狀濾波器相應的差分方程為:
由CIC抽取濾波器的傳輸函數(shù)可以看到,該濾波器實現(xiàn)比較簡單,不需要乘法器即可實現(xiàn)。
濾波器運算的有限字長決定寄存器的長度,每一級都有截斷和舍入誤差,每一級要保留的位數(shù)是從頭到尾單調(diào)遞減的。CIC所需要的寄存器長度除了與參數(shù)N和R有關外,也和輸入的位數(shù)有關。為了保證運行時不會產(chǎn)生溢出,需要的內(nèi)部自寬應該滿足:
在本設計中,輸入的數(shù)據(jù)為16位,即其中l(wèi)=16,N=3,R=5,因此濾波器的長度至少為25位。根據(jù)以上分析,可以得到3階采樣率為5的抽取濾波器,其結構圖如圖3所示。
由以上分析和結構圖可知,CIC濾波器需要兩種不同的采樣頻率,即圖中不同的使能信號的生成??梢圆捎脙煞N方法解決:一種是對時鐘進行分頻,通過設置分頻比得到不同的時鐘信號;另一種就是采用時鐘使能信號,由時鐘產(chǎn)生不同分頻比的使能信號,每一級的梳狀器和積分器都采用相同的時鐘,通過不同的使能信號來控制采樣頻率。本設計采用第二種方法,因為采用分頻時鐘會使布線復雜化,并且降低最高頻率[6]。
2.2 去直流高通濾波器
電網(wǎng)中的信號是頻率為50 Hz的工頻信號,因此要求濾波器截止頻率很低,過渡帶窄。經(jīng)過FDATool(Filter DesignAnalysis Tool)設計的濾波器為級聯(lián)型4階IIR橢圓高通濾波器,截止頻率為30 Hz,采樣頻率為6 400 Hz,其阻帶衰減為60 dB,通帶紋波為1 dB。濾波器的系統(tǒng)函數(shù)表示為:
將設計的濾波器的系數(shù)進行量化,轉化為16位的定點數(shù)。該濾波器采用十六進制表示的16位定點系數(shù),如表1所示。
利用級聯(lián)型IIR濾波器,可以使乘法次數(shù)和延遲單元降到最低,同時能夠有效降低直接型定點實現(xiàn)對系數(shù)量化效應的敏感性。該濾波器在采樣頻率為6.4 kHz輸入下具有良好的幅頻特性。該濾波器的相頻特性曲線如圖4所示。
2.3 FIR低通濾波器
FIR數(shù)字濾波器可以滿足濾波器對幅度和相位的嚴格要求,具有良好的性能,容易用硬件實現(xiàn),系統(tǒng)穩(wěn)定,同時利用其對稱的結構特點,可進行算法優(yōu)化。因此FIR濾波器在信號處理中被廣泛應用。本論文使用EDA工具及IP核設計基于FPGA的FIR數(shù)字濾波器,采用去偽延遲控制器,截除了因濾波器延遲產(chǎn)生的偽信號[7]。
利用FDATool設計濾波器,考慮到實現(xiàn)的難度和精度,采用等值紋波(equiripple)法設計濾波器,生成直接I型38階對稱系數(shù)的FIR數(shù)字濾波器。通帶截止頻率30 Hz,波紋1 dB;阻帶截止頻率95 Hz,波紋10 dB。圖5是FIR濾波器的頻率特性曲線。
將設計的濾波器系數(shù)保存在fir.txt;然后在Altera公司提供的集成開發(fā)環(huán)境Quartus中,建立新工程,調(diào)用 IP核參數(shù)的配置;導入濾波器系數(shù)fir.txt文件,設置好輸入輸出位數(shù);然后選擇數(shù)據(jù)存儲方式、系數(shù)量化位數(shù)和存儲方式。為了功率計算的速度和準確性,在此采用full parallel結構來實現(xiàn)[8]。
2.4 DFC數(shù)字頻率變換器
DFC數(shù)字頻率轉換器用來產(chǎn)生來自總的有功功率的脈沖,通過對脈沖計數(shù)可計算有功電能,同時可用于電能表的校表。
設計中DFC數(shù)字頻率中頻率轉換是利用四位二進制比例乘法器實現(xiàn)的。該乘法器的主要功能是輸出的脈沖數(shù)等于輸入時鐘脈沖數(shù)乘以一個系數(shù)。該系數(shù)的范圍為1/16~15/16,由四位二進制輸入端A0~A3的外部的置數(shù)確定。如當量數(shù)為13(A3、A2、A1、A0=1101)時,每輸入16個時鐘脈沖,在輸出端可得到13個脈沖。該比例乘法器可完成各種數(shù)字運算、A/D和D/A轉換及分頻功能等。四位二進制比例乘法器的電路特性可以表示為:
式中:M為在一定時間內(nèi)“CLOCK”脈沖數(shù);F為在該時間段內(nèi)乘法器的輸出脈沖個數(shù);N為乘法器的數(shù)據(jù)輸入端的數(shù)據(jù)值。
在本電路中,把4個乘法器級聯(lián)在一起就構成了一個16位的D/F轉換電路。設16位輸入數(shù)據(jù)為:
其中:N4為高4位數(shù)據(jù),N3為次高位數(shù)據(jù),N2為中間4位數(shù)據(jù),N1為低4位數(shù)據(jù)。根據(jù)級聯(lián)方式有:
這樣,如果M是一個固定頻率的脈沖,對于一個任意的16位二進制數(shù)據(jù)都可以得到一個線性對應的頻率脈沖,從而完成了D/F的轉換。
將模塊的時鐘頻率設為16 Hz,則每秒鐘輸出的脈沖數(shù)即為有功功率N。數(shù)據(jù)的采樣速率為6.4 kHz, 一小時所采數(shù)據(jù)為3 600×6 400個周期,一個脈沖代表0.001°。所以只要對輸出的脈沖數(shù)進行累加,然后采用累加溢出的方式,計數(shù)達到1°便對累加器清零,同時輸出一個脈沖,代表1°, 對該脈沖進行計數(shù)累加就能夠得到電能值。
3 Simulink平臺下的建模與仿真
有功電能計量芯片在Simulink環(huán)境下的結構模型如圖6所示。為了計算方便,電壓信號和電流信號為:100 cos(100πt)+30,同時加入高斯白噪聲作為輸入信號,IIR和FIR濾波器用FDATool設計,設置仿真時間為1 s,累加顯示結果4 995,誤差0.1%。
4 有功計量模塊仿真分析
本設計采用自頂向下的設計方法,在頂層進行系統(tǒng)功能模塊的劃分和結構設計。各功能模塊的行為規(guī)則采用VHDL語言描述,并逐個進行仿真和糾錯,然后進行系統(tǒng)級的功能驗證。最后,將生成的門級邏輯電路的網(wǎng)表下載到所選的FPGA芯片上,從而完成整個系統(tǒng)的設計。
在Quartus II平臺下建立波形文件并仿真得到時序圖如圖7所示,由圖可見電壓電流輸入數(shù)據(jù)x1、x2,仍按100sin(2×pi×50×t)+30的輸入。經(jīng)過濾波處理后的數(shù)據(jù)m和n輸送到乘法器相乘,mul_result是乘法器輸出, y1為DFC模塊中的累加值,y是產(chǎn)生脈沖信號。
本文在研究電能計量算法的基礎上,利用VHDL硬件描述語言實現(xiàn)了該有功電能計量芯片的模型,并利用QuartusII軟件對系統(tǒng)進行了仿真,最后選用Altera Cyclone II FPGA新型芯片EP2C35F484C8完成了硬件測試。使用964個LE,占總數(shù)的2%,58 502個存儲單元,占總數(shù)的12%,設計具有很好的擴展性,且精度高,可以利用此算法構成0.2S級三相電能計量芯片。
評論