《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 電源技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于Xilinx FPGA的電力諧波檢測(cè)的設(shè)計(jì)
基于Xilinx FPGA的電力諧波檢測(cè)的設(shè)計(jì)
摘要: 基于FFT算法的電力系統(tǒng)諧波檢測(cè)裝置,大多采用DSP芯片設(shè)計(jì)。DSP芯片是采用哈佛結(jié)構(gòu)設(shè)計(jì)的一種CPU,運(yùn)算能力很強(qiáng),速度很快;但是其順序執(zhí)行的模式限制了其進(jìn)行FFT運(yùn)算的速度。而現(xiàn)場(chǎng)可編程邏輯門陣列(FieldPr
關(guān)鍵詞: 電源管理 DSP 編程 FPGA
Abstract:
Key words :

基于FFT算法的電力系統(tǒng)諧波檢測(cè)裝置,大多采用DSP芯片設(shè)計(jì)。DSP芯片是采用哈佛結(jié)構(gòu)設(shè)計(jì)的一種CPU,運(yùn)算能力很強(qiáng),速度很快;但是其順序 執(zhí)行的模式限制了其進(jìn)行FFT運(yùn)算的速度。而現(xiàn)場(chǎng)可編程邏輯門陣列(Field Programmable Gate Array, FPGA)在近年來(lái)獲得了突飛猛進(jìn)的發(fā)展,目前已成為實(shí)現(xiàn)數(shù)字系統(tǒng)的主流平臺(tái)之一。與DSP相比,F(xiàn)PGA最大的優(yōu)勢(shì)就是可以進(jìn)行并行計(jì)算。在進(jìn)行FFT 這類并行運(yùn)算為主的算法時(shí),采用FPGA的優(yōu)勢(shì)不言而喻。用FPGA實(shí)現(xiàn)FFT算法進(jìn)行諧波檢測(cè)成為了一大熱點(diǎn)。

以往FPGA的設(shè)計(jì)主要依靠硬件描述語(yǔ)言來(lái)完成。Xilinx公司推出了專門針對(duì)實(shí)現(xiàn)DSP的設(shè)計(jì)軟件—System Generator。在使用FPGA為原型平臺(tái)運(yùn)行算法時(shí),它不僅能夠?qū)τ布恼鎸?shí)情況進(jìn)行仿真,還能夠自動(dòng)生成硬件實(shí)現(xiàn)所需要的硬件描述語(yǔ)言代碼。與語(yǔ) 言設(shè)計(jì)相比,使用System Generator有三大優(yōu)勢(shì):第一,圖形化操作,簡(jiǎn)單易用;第二,實(shí)現(xiàn)的算法能確保與仿真結(jié)果相符;第三,無(wú)需為仿真和實(shí)現(xiàn)建立不同的模型。因此,利用 System Generator可以大幅度減少用FPGA設(shè)計(jì)DSP的工作量,縮短開(kāi)發(fā)周期[1,2]。

1 基于FPGA的諧波檢測(cè)模型的設(shè)計(jì)[3-5]
系統(tǒng)總體結(jié)構(gòu)如圖1所示。
(1)采樣電路部分:包括互感器及濾波電路、鎖相倍頻電路和A/D轉(zhuǎn)換電路。
待測(cè)電壓、電流信號(hào)經(jīng)互感器調(diào)理電路轉(zhuǎn)化成便于采樣的低壓信號(hào),經(jīng)濾波器濾除檢測(cè)范圍外的高次諧波、高頻干擾信號(hào)和噪聲;然后進(jìn)入A/D轉(zhuǎn)換電路,電壓、電流的模擬信號(hào)轉(zhuǎn)換成可以用于計(jì)算的數(shù)字信號(hào)。鎖相倍頻電路用于跟蹤待測(cè)信號(hào)的頻率變化,以實(shí)現(xiàn)對(duì)信號(hào)的整周期采樣。

(2)如圖1所示,虛線框內(nèi)部分由FPGA實(shí)現(xiàn)。最主要部分就是控制單元和FFT模塊??刂茊卧饕蔂顟B(tài)機(jī)的形式實(shí)現(xiàn),當(dāng)接收到鎖相倍頻電路送來(lái) 的倍頻信號(hào)時(shí),驅(qū)動(dòng)A/D轉(zhuǎn)換器進(jìn)行采樣。A/D轉(zhuǎn)換器完成一次采樣,先將數(shù)據(jù)送入到FIFO模塊暫存,當(dāng)數(shù)據(jù)達(dá)到進(jìn)行FFT計(jì)算所需點(diǎn)數(shù)后,狀態(tài)機(jī)控制 FIFO模塊將數(shù)據(jù)送入FFT模塊進(jìn)行計(jì)算。為保證數(shù)據(jù)由A/D轉(zhuǎn)換電路進(jìn)入FPGA時(shí)的同步,A/D轉(zhuǎn)換電路中的時(shí)鐘由FPGA對(duì)開(kāi)發(fā)板上的時(shí)鐘分頻后 提供。

FPGA部分采用模塊化的設(shè)計(jì)方法。在Simulink環(huán)境下搭建仿真模型,如圖2所示。模型的核心部分是FFT計(jì)算模塊(FFT v4_1),圍繞它設(shè)計(jì)了數(shù)據(jù)輸入子系統(tǒng)data_in、數(shù)據(jù)輸出子系統(tǒng)(data_out)和控制單元模塊(st_ctr)。用simulink中的信 號(hào)模塊模擬出電壓u(t)、電流信號(hào)i(t),考慮到后續(xù)數(shù)據(jù)輸出控制的設(shè)計(jì),預(yù)留了中斷信號(hào)輸入INT(signal 3),為便于仿真,其間隔時(shí)間與采樣時(shí)間同步。數(shù)據(jù)輸入子系統(tǒng)主要用于對(duì)采樣數(shù)據(jù)的轉(zhuǎn)換和暫存, 數(shù)據(jù)輸入子系統(tǒng)的主要包括scale模塊、convert模塊和FIFO模塊。數(shù)據(jù)輸出子系統(tǒng)用于對(duì)FFT計(jì)算所得的結(jié)果進(jìn)行處理,計(jì)算出電壓、電流基波 及各次諧波的幅值和相位。

 

 

然后,搭建三相的電壓、電流諧波檢測(cè)模型(圖3),其中包括了控制模塊(ST_MA、da_out_ctr)和三個(gè)子系統(tǒng)A、B、C,每個(gè)子系統(tǒng)內(nèi) 均有一個(gè)單相諧波檢測(cè)模型??刂颇KST_MA實(shí)現(xiàn)對(duì)整個(gè)模型運(yùn)行時(shí)序的控制以及對(duì)硬件采樣電路的控制;da_out_ctr用于控制數(shù)據(jù)的輸出。

2 系統(tǒng)硬件電路設(shè)計(jì)
如圖4所示,系統(tǒng)硬件由兩大部分組成,分別是虛線框內(nèi)的采樣電路部分和開(kāi)發(fā)板部分[6-7]。本文采用的Spartan-3A DSP 入門級(jí)開(kāi)發(fā)板是Xilinx公司出品的基于Spartan-3A DSP FPGA設(shè)計(jì)的一個(gè)開(kāi)發(fā)平臺(tái)。采樣電路實(shí)現(xiàn)對(duì)三相電壓、電流的整周期同步采樣,其設(shè)計(jì)尺寸與Spartan-3A DSP開(kāi)發(fā)板相同,通過(guò)EXP接口實(shí)現(xiàn)與開(kāi)發(fā)板的通信。它包括:電壓、電流互感器、調(diào)理電路、低通濾波電路、鎖相倍頻電路、AD轉(zhuǎn)換器及電平轉(zhuǎn)換電路。

3 硬件聯(lián)合仿真與結(jié)果分析
3.1 硬件聯(lián)合仿真
由于實(shí)驗(yàn)條件所限,本文采用的是單相220V的市電為檢測(cè)對(duì)象。接入額定電壓220V,標(biāo)稱功率800W的電加熱器為負(fù)載。首先用FLUKE434型電能 質(zhì)量分析儀檢測(cè)出該負(fù)載上的電壓、電流的各次諧波參數(shù),如表1所列,其電壓總諧波畸變率THDV=4.9%,電流總諧波畸變率THDI=4.8%。

經(jīng)采樣后得到的數(shù)字信號(hào)量在0~5V之間,依照給定參數(shù)分別乘系數(shù)J、K,利用Simulink中模塊生成一組表征電壓、電流的數(shù)字信號(hào)作為系統(tǒng)的輸入信號(hào)。如圖5所示。

 

將FFT模塊中的采樣點(diǎn)數(shù)分別設(shè)置成為128、256、512、1024,并設(shè)置相應(yīng)的采樣頻率,然后運(yùn)行硬件聯(lián)合仿真模型;將計(jì)算結(jié)果再乘系數(shù)1/J、1/K,得到表2~表5所示結(jié)果。

 

3.2 仿真結(jié)果分析
由各表中可以看出,計(jì)算出的幅值以及根據(jù)幅值計(jì)算所得總諧波畸變率的誤差都比較小。隨著采樣點(diǎn)數(shù)的增加,計(jì)算所得基波和較低次數(shù)的諧波幅值的誤差和總諧波 畸變率的誤差并沒(méi)有明顯減小,而次數(shù)較高的諧波誤差減小較明顯。究其原因,N點(diǎn)FFT計(jì)算可以分解出0~N/2-1次諧波,N=128時(shí)就可以分解出63 次以內(nèi)的諧波了。而對(duì)于次數(shù)較高的諧波,采樣點(diǎn)數(shù)的增加對(duì)其幅值誤差的改善還是比較明顯的。硬件實(shí)現(xiàn)時(shí),在計(jì)算精度滿足要求的情況下,考慮到實(shí)時(shí)性的要 求,可選用256點(diǎn)FFT進(jìn)行計(jì)算。

此外,計(jì)算所得相位出現(xiàn)了很大的偏差;原本設(shè)想通過(guò)改變待測(cè)信號(hào)參數(shù),分析仿真結(jié)果來(lái)推導(dǎo)出相位偏差的規(guī)律,但是隨著數(shù)值的改變,相位偏差規(guī)律并不 明顯,并未達(dá)到預(yù)期目的。然而,在改變信號(hào)參數(shù)的分析過(guò)程中發(fā)現(xiàn),相位的改變對(duì)諧波幅值和總諧波畸變率的計(jì)算并沒(méi)有太大影響,計(jì)算精度基本滿足要求。因 此,實(shí)際硬件實(shí)現(xiàn)時(shí),舍棄掉相位計(jì)算,只計(jì)算出各次諧波的幅值及總諧波畸變率。

4 結(jié)束語(yǔ)
本文提出了一種采用基于Xilinx FPGA 實(shí)現(xiàn)FFT算法的電壓、電流諧波檢測(cè)的模塊化的設(shè)計(jì)方法。使用System Generator設(shè)計(jì)了諧波檢測(cè)的模型及前端采樣電路,并以Spartan-3A DSP開(kāi)發(fā)板為平臺(tái)進(jìn)行了硬件聯(lián)合仿真驗(yàn)證。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。