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