(哈爾濱理工大學(xué) 自動(dòng)化學(xué)院,哈爾濱 150080)
在供配電網(wǎng)絡(luò)中,存在著含有大量的非線性、沖擊性負(fù)荷的電力電子設(shè)備,在實(shí)現(xiàn)功率控制和處理的同時(shí),都不可避免地產(chǎn)生諧波電流,引起電壓波形畸變,因此需要對(duì)電能質(zhì)量實(shí)時(shí)地檢測分析[1]。目前我國研制的大多數(shù)電能質(zhì)量監(jiān)測裝置都是以DSP為處理運(yùn)算核心,但是DSP是串行的,在進(jìn)行大點(diǎn)數(shù)FFT運(yùn)算時(shí),實(shí)時(shí)性不高。隨著FPGA技術(shù)的發(fā)展,其強(qiáng)大的并行處理能力逐漸凸顯出來,運(yùn)用SOPC技術(shù)將Nios II處理器與用戶自定義邏輯結(jié)合構(gòu)成一個(gè)基于FPGA的片上系統(tǒng),大大減少了設(shè)計(jì)成本與時(shí)間[2]。
本系統(tǒng)基于Altera公司的FPGA進(jìn)行設(shè)計(jì),由16位的多通道數(shù)模轉(zhuǎn)換器實(shí)現(xiàn)6路信號(hào)的同步采樣,數(shù)據(jù)采集與存儲(chǔ)、FFT諧波運(yùn)算、有效值運(yùn)算、頻率檢測統(tǒng)一由有限狀態(tài)機(jī)來進(jìn)行時(shí)序控制,實(shí)現(xiàn)了對(duì)電網(wǎng)電能的頻率、電壓電流有效值、功率和各次諧波等電能參數(shù)的實(shí)時(shí)遠(yuǎn)程監(jiān)測。
該監(jiān)測系統(tǒng)主要由信號(hào)調(diào)理模塊、AD轉(zhuǎn)換模塊、過零檢測模塊、有限狀態(tài)機(jī)模塊、頻率檢測模塊、Nios II模塊、FFT模塊、有效值模塊、MAC模塊、以太網(wǎng)模塊和上位機(jī)等模塊組成。三相電壓電流信號(hào)經(jīng)過互感器電路將大電壓、大電流轉(zhuǎn)換成弱電信號(hào),然后通過抗混疊濾波電路處理,濾除檢測范圍以外的高頻諧波,防止諧波分析時(shí)出現(xiàn)混疊現(xiàn)象,最后通過電平提升電路將信號(hào)電平提升到0~5 V,提供給數(shù)模轉(zhuǎn)換模塊進(jìn)行轉(zhuǎn)換和處理。同時(shí)經(jīng)濾波后的信號(hào)一路輸出給過零檢測電路,輸出與輸入信號(hào)相同頻率的方波信號(hào),經(jīng)過硬件鎖相倍頻模塊處理,實(shí)現(xiàn)數(shù)據(jù)的同步采樣。頻率檢測模塊對(duì)過零檢測模塊輸出的方波信號(hào)進(jìn)行檢測,采用頻率周期測量法,對(duì)電網(wǎng)頻率進(jìn)行測量。模數(shù)轉(zhuǎn)換結(jié)果緩存在輸入雙口RAM中,并行6通道FFT IP核模塊和有效值模塊讀取緩存數(shù)據(jù)并分別進(jìn)行每路256點(diǎn)的快速傅里葉變換和有效值運(yùn)算,并將處理數(shù)據(jù)緩存在輸出雙口RAM中。當(dāng)輸入和輸出雙口RAM中數(shù)據(jù)準(zhǔn)備完成后,以中斷的方式通知Nios II處理器讀取數(shù)據(jù),并通過以太網(wǎng)的方式傳輸?shù)缴衔粰C(jī)對(duì)數(shù)據(jù)進(jìn)一步處理。系統(tǒng)總體設(shè)計(jì)如圖1所示。
圖1 系統(tǒng)總體設(shè)計(jì)Fig.1 Diagram of system overall design
頻率測量的方法一般有周期測量法、頻率測量法、正交去調(diào)制法等[3-4],其中周期測量法以高頻的基準(zhǔn)頻率源fx作為基準(zhǔn),用基準(zhǔn)頻率源對(duì)Nw個(gè)周波長度的待測信號(hào)計(jì)數(shù),則根據(jù)計(jì)數(shù)值Nx,可得被測信號(hào)源頻率為fw=(fxNw)/Nx。由于電網(wǎng)頻率在50 Hz左右,頻率較低,并且本FPGA系統(tǒng)的工作時(shí)鐘為100 MHz,所以采用周期測量法可實(shí)現(xiàn)較高的測量精度。
本頻率檢測模塊包括3部分:測頻控制器、計(jì)數(shù)器和鎖存器。實(shí)現(xiàn)方式如圖2所示。圖中CLK為系統(tǒng)時(shí)鐘100 MHz作為基準(zhǔn)頻率源,fw為被測信號(hào)源頻率。輸出結(jié)果n送給Nios II做進(jìn)一步處理。對(duì)于測頻控制器,被測信號(hào)二分頻后產(chǎn)生控制信號(hào)cs和clr分別用于選通、停止并清零計(jì)數(shù)器,以及l(fā)ock用于控制鎖存器。計(jì)數(shù)模塊,當(dāng)cs高電平時(shí),counter開始對(duì)標(biāo)準(zhǔn)時(shí)鐘計(jì)數(shù),在clr高電平時(shí)停止并清零結(jié)果。鎖存器的目的是方便讀取計(jì)數(shù)器的結(jié)果,cs由高變低時(shí),lock置1,鎖存計(jì)數(shù)器的結(jié)果。因此完成測頻過程需要被測信號(hào)的2個(gè)周期,第1個(gè)周期計(jì)數(shù)標(biāo)準(zhǔn)時(shí)鐘,第2個(gè)周期鎖存結(jié)果然后清零計(jì)數(shù)器,得到測頻結(jié)果。
圖2 測頻電路Fig.2 Schematic of frequency measurement
將三相電壓、電流一共6路模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),選擇的是TI公司的ADS8364轉(zhuǎn)換芯片,每路轉(zhuǎn)換精度為16位,轉(zhuǎn)換速率為250 KSPS,具有一個(gè)高速并行輸出接口,可實(shí)現(xiàn)6通道的同步采樣[5]。6個(gè)通道被分成3個(gè)通道對(duì)A、B、C,每個(gè)通道對(duì)的采樣控制信號(hào)分別為HOLDA,HOLDB,HOLDC,由于要進(jìn)行6通道并行同步采樣,所以將3個(gè)控制信號(hào)連接在一起組成HOLDX,統(tǒng)一進(jìn)行采樣控制。通過FPGA片內(nèi)時(shí)鐘分頻,提供給ADS8364芯片5MHz的采樣時(shí)鐘,完成一次采樣轉(zhuǎn)換最多需要20個(gè)時(shí)鐘周期,約為4 μs,系統(tǒng)的采樣頻率為12.8 kHz,約為78.1 μs,完全滿足采樣要求。采樣過程為,當(dāng)采樣觸發(fā)信號(hào)上升沿到來時(shí),拉低HOLDX至少20 ns,啟動(dòng)采樣(6個(gè)通道同時(shí)進(jìn)行采樣),當(dāng)轉(zhuǎn)換完成后,轉(zhuǎn)換數(shù)據(jù)保存在6個(gè)寄存器中,讀取信號(hào)RD至少要拉低50 ns,完成一次讀取操作,并且在下一次讀取操作前要至少保持30 ns的高電平,讀取模式設(shè)置為循環(huán)周期讀取模式,所以通過6次拉低拉高RD信號(hào)來實(shí)現(xiàn)對(duì)6路轉(zhuǎn)換的讀取[6]。ADS8364的控制時(shí)序如圖3所示。
圖3 ADS8364的控制時(shí)序轉(zhuǎn)換圖Fig.3 Diagram of ADS8364 control timing
有限狀態(tài)機(jī)控制模塊實(shí)現(xiàn)對(duì)AD數(shù)據(jù)采集與轉(zhuǎn)換、數(shù)據(jù)緩存、FFT與有效值處理模塊的控制。有限狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移圖如圖4所示。觸發(fā)脈沖到來之前一直處于等待狀態(tài)S0,當(dāng)鎖相倍頻觸發(fā)信號(hào)到來時(shí)進(jìn)入S1狀態(tài),拉低HOLDX,啟動(dòng)AD轉(zhuǎn)換,然后進(jìn)入S2狀態(tài),在S2狀態(tài)等待EOC,當(dāng)EOC變?yōu)榈碗娖綍r(shí),表示轉(zhuǎn)換結(jié)束,無條件轉(zhuǎn)入S3狀態(tài),否則在S2狀態(tài)持續(xù)等待[7]。在S3狀態(tài)讀取AD轉(zhuǎn)換結(jié)果,并存入輸入雙口RAM中。S3在下一個(gè)時(shí)鐘到來時(shí)進(jìn)入S4狀態(tài),在S4狀態(tài)判斷輸入雙口RAM是否存滿,若存滿,則發(fā)出存滿指示信號(hào),進(jìn)入S5狀態(tài),否則持續(xù)S2、S3、S4狀態(tài)直至存滿RAM。S5狀態(tài)輸出啟動(dòng)信號(hào),用來啟動(dòng)FFT模塊和有效值處理模塊,然后進(jìn)入S6狀態(tài),在S6狀態(tài)等待FFT模塊和有效值處理模塊完成信號(hào)finish的到來,隨后進(jìn)入S7狀態(tài),輸出高電平給UNLOAD信號(hào),卸載FFT模塊變換得到的數(shù)據(jù),當(dāng)unload_over信號(hào)為高電平說明卸載完成進(jìn)入S8狀態(tài),準(zhǔn)備下一輪轉(zhuǎn)換,否則在S7狀態(tài)持續(xù)等待。在S8狀態(tài)對(duì)CNT開始計(jì)數(shù),若CNT等于6,對(duì)其清零并跳進(jìn)S4狀態(tài),若小于6則跳進(jìn)S5狀態(tài)。
圖4 有限狀態(tài)機(jī)的控制狀態(tài)轉(zhuǎn)移圖Fig.4 FSM control state transfer diagram
FFT模塊使用的是Altera公司的FFT IP核,目標(biāo)器件選擇Cylone IV系列[8],變換長度選擇256點(diǎn),輸入、輸出位寬精度和旋轉(zhuǎn)因子的位寬精度都選擇16位。選用此FFT IP模塊能夠縮短FPGA的設(shè)計(jì)周期和成本,提高系統(tǒng)的性能和可靠性。
被測三相電壓電流信號(hào)的有效值也是電能質(zhì)量的重要參數(shù),以電壓有效值的計(jì)算為例,離散化連續(xù)采樣信號(hào)u(t),在一個(gè)周期T內(nèi),采樣N點(diǎn)數(shù)據(jù)則電壓有效值計(jì)算公式為[9]
式中包括平方、求和累加、開方和除法運(yùn)算,在FPGA中除法是通過移位來實(shí)現(xiàn)的,導(dǎo)致處理結(jié)果誤差較大,精度不高,所以上式中的除法運(yùn)算在Nios II處理器中實(shí)現(xiàn)。當(dāng)輸入雙口RAM中數(shù)據(jù)存儲(chǔ)完畢后,256點(diǎn)數(shù)據(jù)同時(shí)送入FFT模塊和有效值模塊,在有限狀態(tài)機(jī)的控制下,依次將6路數(shù)據(jù)進(jìn)行處理。有效值模塊的結(jié)構(gòu)圖如圖5所示。
以太網(wǎng)模塊由數(shù)據(jù)鏈路層(MAC)和物理層(PHY)組成,其中MAC使用的是FPGA提供的三速以太網(wǎng)MAC IP核控制器,PHY物理層選擇的是Marvell 88E1111千兆以太網(wǎng)網(wǎng)絡(luò)芯片[10]。MAC IP核通過Avalon總線與 Nios II處理器相連接,當(dāng)Nios II處理器對(duì)采集的數(shù)據(jù)進(jìn)行預(yù)處理后,通過MAC層根據(jù)TCP/IP協(xié)議棧對(duì)數(shù)據(jù)進(jìn)行打包、組幀、校驗(yàn)等處理后,通過GMII接口傳輸給物理層PHY[11-13],將數(shù)據(jù)發(fā)送到上位機(jī)進(jìn)行處理,實(shí)現(xiàn)對(duì)電能參數(shù)的遠(yuǎn)程監(jiān)控。其中Nios II處理器在網(wǎng)絡(luò)傳輸中主要分為3個(gè)部分:應(yīng)用程序、TCP/IP協(xié)議和驅(qū)動(dòng)程序。應(yīng)用程序由用戶調(diào)用協(xié)議棧接口程序來實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)傳輸,而以太網(wǎng)驅(qū)動(dòng)程序?yàn)樯蠈訁f(xié)議與三速以太網(wǎng)IP核架起了橋梁。千兆以太網(wǎng)設(shè)計(jì)框圖如圖6所示。
圖6 千兆以太網(wǎng)設(shè)計(jì)框圖Fig.6 Diagram of gigabit-ethernet degign
軟件部分包括有限狀態(tài)機(jī)控制模塊程序、Nios II處理器運(yùn)行程序和上位機(jī)模塊3個(gè)部分。有限狀態(tài)機(jī)控制模塊使用Verilog HDL語言進(jìn)行編寫,主要包括AD采樣轉(zhuǎn)換控制模塊、輸入輸出RAM控制模塊、FFT控制模塊、有效值控制模塊等控制邏輯。數(shù)據(jù)采集與存儲(chǔ)、FFT與有效值運(yùn)算都在有限狀態(tài)機(jī)的控制下有序進(jìn)行。Nios II處理器運(yùn)行程序由C/C++語言編程實(shí)現(xiàn),主要包括初始化模塊、對(duì)中斷的響應(yīng)和對(duì)數(shù)據(jù)的以太網(wǎng)傳輸。當(dāng)頻率檢測模塊完成頻率檢測或是輸出緩存存滿時(shí),以中斷的方式通知Nios II處理器對(duì)數(shù)據(jù)進(jìn)行讀取,同時(shí)在Nios II處理器上嵌入應(yīng)用程序、TCP/IP協(xié)議和PHY芯片的驅(qū)動(dòng)程序,來實(shí)現(xiàn)數(shù)據(jù)與上位機(jī)的傳輸。本系統(tǒng)的上位機(jī)采用的是美國NI公司開發(fā)的面向計(jì)算機(jī)測控領(lǐng)域的虛擬儀器軟件開發(fā)平臺(tái)LabVIEW[14],利用豐富的版面功能和庫函數(shù)來實(shí)現(xiàn)電能質(zhì)量參數(shù)的計(jì)算與直觀顯示。
本文提出了一種基于FPGA的電能質(zhì)量遠(yuǎn)程監(jiān)測系統(tǒng),充分利用了FPGA強(qiáng)大的并行處理能力和高度集成的特點(diǎn)。運(yùn)用硬件鎖相環(huán)技術(shù)實(shí)現(xiàn)了對(duì)三相電壓電流的同步采樣,在有限狀態(tài)機(jī)的整體控制下對(duì)數(shù)據(jù)進(jìn)行諧波和有效值運(yùn)算,并利用千兆以太網(wǎng)芯片將數(shù)據(jù)傳輸?shù)缴衔粰C(jī)進(jìn)行處理與顯示。實(shí)現(xiàn)了對(duì)電網(wǎng)電能的頻率、電壓電流有效值、功率和各次諧波等電能參數(shù)的實(shí)時(shí)遠(yuǎn)程監(jiān)測。
[1]陳宏.基于FPGA的電能質(zhì)量監(jiān)測裝置的研究[D].哈爾濱:東北農(nóng)業(yè)大學(xué),2010.
[2]梁海霞.基于FPGA的電力系統(tǒng)諧波檢測裝置的研制[D].濟(jì)南:山東大學(xué),2008.
[3]劉明.電能質(zhì)量檢測算法研究與監(jiān)測裝置實(shí)現(xiàn)[D].秦皇島:燕山大學(xué),2014:8-11.
[4]楊秀增.基于Nios II的自適應(yīng)高精度頻率計(jì)設(shè)計(jì)[J].自動(dòng)化與儀表,2009,24(7):13-16.
[5]TI.ADS8364數(shù)據(jù)手冊(cè).[EB/OL].[2013].http://www.ti.com.cn/product/cn/ads8364.
[6]馬建榮.船舶電網(wǎng)電能質(zhì)量監(jiān)測系統(tǒng)研究[D].鎮(zhèn)江:江蘇科技大學(xué),2013.
[7]鄭爭兵.基于FPGA的高速采樣緩存系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2012,32(11):3259-3261.
[8]錢文明,劉新寧,張艷麗.基于Cyclone系列FPGA的1024點(diǎn)FFT算法的實(shí)現(xiàn)[J].電子工程師,2007,33(2):12-14.
[9]韋宏,付友濤,孔凡鵬.基于FPGA的千兆以太網(wǎng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(18):56-59.
[10]于慶廣,付之寶.電能質(zhì)量指標(biāo)及其算法的研究[J].電力電子技術(shù),2007,41(1):10-12.
[11]李航.基于FPGA和千兆以太網(wǎng)(GigE)的圖像處理系統(tǒng)設(shè)計(jì)[D].南京:南京理工大學(xué),2014.
[12]Mahmoodi M R,Sayedi S M,Mahmoodi B.Re-configurable hardware implementation of gigabit UDP/IP stack based onspartan-6 FPGA[C]//Yogyakarta:InternationalConferenceon Information Technology and Electrical Engineering,IEEE,2014.
[13]FCOSTA,S CHAPELAND.The new frontier of the DATA acquisition using 1 and 10 Gbit/s Ethernet Link[J].Physics Procedia,2012(31):1956-1964.
[14]楊樂平,李海濤,楊磊.LabVIEW程序設(shè)計(jì)與應(yīng)用[M].2版.北京:電子工業(yè)出版社,2005.