基于Xilinx FPGA的電力諧波檢測的設(shè)計
基于FFT算法的電力系統(tǒng)諧波檢測裝置,大多采用DSP芯片設(shè)計。DSP芯片是采用哈佛結(jié)構(gòu)設(shè)計的一種CPU,運算能力很強,速度很快;但是其順序 執(zhí)行的模式限制了其進行FFT運算的速度。而現(xiàn)場可編程邏輯門陣列(Field Programmable Gate Array, FPGA)在近年來獲得了突飛猛進的發(fā)展,目前已成為實現(xiàn)數(shù)字系統(tǒng)的主流平臺之一。與DSP相比,FPGA最大的優(yōu)勢就是可以進行并行計算。在進行FFT 這類并行運算為主的算法時,采用FPGA的優(yōu)勢不言而喻。用FPGA實現(xiàn)FFT算法進行諧波檢測成為了一大熱點。
本文引用地址:http://m.butianyuan.cn/article/175987.htm以往FPGA的設(shè)計主要依靠硬件描述語言來完成。Xilinx公司推出了專門針對實現(xiàn)DSP的設(shè)計軟件—System Generator。在使用FPGA為原型平臺運行算法時,它不僅能夠?qū)τ布恼鎸嵡闆r進行仿真,還能夠自動生成硬件實現(xiàn)所需要的硬件描述語言代碼。與語 言設(shè)計相比,使用System Generator有三大優(yōu)勢:第一,圖形化操作,簡單易用;第二,實現(xiàn)的算法能確保與仿真結(jié)果相符;第三,無需為仿真和實現(xiàn)建立不同的模型。因此,利用 System Generator可以大幅度減少用FPGA設(shè)計DSP的工作量,縮短開發(fā)周期[1,2]。
1 基于FPGA的諧波檢測模型的設(shè)計[3-5]
系統(tǒng)總體結(jié)構(gòu)如圖1所示。
(1)采樣電路部分:包括互感器及濾波電路、鎖相倍頻電路和A/D轉(zhuǎn)換電路。
待測電壓、電流信號經(jīng)互感器調(diào)理電路轉(zhuǎn)化成便于采樣的低壓信號,經(jīng)濾波器濾除檢測范圍外的高次諧波、高頻干擾信號和噪聲;然后進入A/D轉(zhuǎn)換電路,電壓、電流的模擬信號轉(zhuǎn)換成可以用于計算的數(shù)字信號。鎖相倍頻電路用于跟蹤待測信號的頻率變化,以實現(xiàn)對信號的整周期采樣。
(2)如圖1所示,虛線框內(nèi)部分由FPGA實現(xiàn)。最主要部分就是控制單元和FFT模塊??刂茊卧饕蔂顟B(tài)機的形式實現(xiàn),當接收到鎖相倍頻電路送來 的倍頻信號時,驅(qū)動A/D轉(zhuǎn)換器進行采樣。A/D轉(zhuǎn)換器完成一次采樣,先將數(shù)據(jù)送入到FIFO模塊暫存,當數(shù)據(jù)達到進行FFT計算所需點數(shù)后,狀態(tài)機控制 FIFO模塊將數(shù)據(jù)送入FFT模塊進行計算。為保證數(shù)據(jù)由A/D轉(zhuǎn)換電路進入FPGA時的同步,A/D轉(zhuǎn)換電路中的時鐘由FPGA對開發(fā)板上的時鐘分頻后 提供。
FPGA部分采用模塊化的設(shè)計方法。在Simulink環(huán)境下搭建仿真模型,如圖2所示。模型的核心部分是FFT計算模塊(FFT v4_1),圍繞它設(shè)計了數(shù)據(jù)輸入子系統(tǒng)data_in、數(shù)據(jù)輸出子系統(tǒng)(data_out)和控制單元模塊(st_ctr)。用simulink中的信 號模塊模擬出電壓u(t)、電流信號i(t),考慮到后續(xù)數(shù)據(jù)輸出控制的設(shè)計,預(yù)留了中斷信號輸入INT(signal 3),為便于仿真,其間隔時間與采樣時間同步。數(shù)據(jù)輸入子系統(tǒng)主要用于對采樣數(shù)據(jù)的轉(zhuǎn)換和暫存, 數(shù)據(jù)輸入子系統(tǒng)的主要包括scale模塊、convert模塊和FIFO模塊。數(shù)據(jù)輸出子系統(tǒng)用于對FFT計算所得的結(jié)果進行處理,計算出電壓、電流基波 及各次諧波的幅值和相位。
然后,搭建三相的電壓、電流諧波檢測模型(圖3),其中包括了控制模塊(ST_MA、da_out_ctr)和三個子系統(tǒng)A、B、C,每個子系統(tǒng)內(nèi) 均有一個單相諧波檢測模型??刂颇KST_MA實現(xiàn)對整個模型運行時序的控制以及對硬件采樣電路的控制;da_out_ctr用于控制數(shù)據(jù)的輸出。
2 系統(tǒng)硬件電路設(shè)計
如圖4所示,系統(tǒng)硬件由兩大部分組成,分別是虛線框內(nèi)的采樣電路部分和開發(fā)板部分[6-7]。本文采用的Spartan-3A DSP 入門級開發(fā)板是Xilinx公司出品的基于Spartan-3A DSP FPGA設(shè)計的一個開發(fā)平臺。采樣電路實現(xiàn)對三相電壓、電流的整周期同步采樣,其設(shè)計尺寸與Spartan-3A DSP開發(fā)板相同,通過EXP接口實現(xiàn)與開發(fā)板的通信。它包括:電壓、電流互感器、調(diào)理電路、低通濾波電路、鎖相倍頻電路、AD轉(zhuǎn)換器及電平轉(zhuǎn)換電路。
3 硬件聯(lián)合仿真與結(jié)果分析
3.1 硬件聯(lián)合仿真
由于實驗條件所限,本文采用的是單相220V的市電為檢測對象。接入額定電壓220V,標稱功率800W的電加熱器為負載。首先用FLUKE434型電能 質(zhì)量分析儀檢測出該負載上的電壓、電流的各次諧波參數(shù),如表1所列,其電壓總諧波畸變率THDV=4.9%,電流總諧波畸變率THDI=4.8%。
經(jīng)采樣后得到的數(shù)字信號量在0~5V之間,依照給定參數(shù)分別乘系數(shù)J、K,利用Simulink中模塊生成一組表征電壓、電流的數(shù)字信號作為系統(tǒng)的輸入信號。如圖5所示。
將FFT模塊中的采樣點數(shù)分別設(shè)置成為128、256、512、1024,并設(shè)置相應(yīng)的采樣頻率,然后運行硬件聯(lián)合仿真模型;將計算結(jié)果再乘系數(shù)1/J、1/K,得到表2~表5所示結(jié)果。
3.2 仿真結(jié)果分析
由各表中可以看出,計算出的幅值以及根據(jù)幅值計算所得總諧波畸變率的誤差都比較小。隨著采樣點數(shù)的增加,計算所得基波和較低次數(shù)的諧波幅值的誤差和總諧波 畸變率的誤差并沒有明顯減小,而次數(shù)較高的諧波誤差減小較明顯。究其原因,N點FFT計算可以分解出0~N/2-1次諧波,N=128時就可以分解出63 次以內(nèi)的諧波了。而對于次數(shù)較高的諧波,采樣點數(shù)的增加對其幅值誤差的改善還是比較明顯的。硬件實現(xiàn)時,在計算精度滿足要求的情況下,考慮到實時性的要 求,可選用256點FFT進行計算。
此外,計算所得相位出現(xiàn)了很大的偏差;原本設(shè)想通過改變待測信號參數(shù),分析仿真結(jié)果來推導(dǎo)出相位偏差的規(guī)律,但是隨著數(shù)值的改變,相位偏差規(guī)律并不 明顯,并未達到預(yù)期目的。然而,在改變信號參數(shù)的分析過程中發(fā)現(xiàn),相位的改變對諧波幅值和總諧波畸變率的計算并沒有太大影響,計算精度基本滿足要求。因 此,實際硬件實現(xiàn)時,舍棄掉相位計算,只計算出各次諧波的幅值及總諧波畸變率。
4 結(jié)束語
本文提出了一種采用基于Xilinx FPGA 實現(xiàn)FFT算法的電壓、電流諧波檢測的模塊化的設(shè)計方法。使用System Generator設(shè)計了諧波檢測的模型及前端采樣電路,并以Spartan-3A DSP開發(fā)板為平臺進行了硬件聯(lián)合仿真驗證。
評論