專利名稱:一種基于fpga的電力諧波分析儀的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于電力電子技術(shù)領(lǐng)域,特別涉及一種基于FPGA的電力諧波分析儀。
背景技術(shù):
電力系統(tǒng)的諧波分析在電能質(zhì)量分析,電力系統(tǒng)控制中具有重要意義,諧波的快速準(zhǔn)確的檢測是諧波抑制和無功補償?shù)幕A(chǔ)。目前,國內(nèi)外對于電力系統(tǒng)諧波檢測的方法很多,國際國內(nèi)針對電力系統(tǒng)諧波檢測和諧波分析的方法主要有以下幾種(1)模擬濾波器法早期的諧波檢測方法都是基于頻域理論,即采用模擬濾波原理。模擬濾波器有兩種,一是通過濾波器濾除基波電流分量,得到諧波電流分量;二是帶通濾波器得出基波分量,再與被檢測電流相減后得到諧波電流分量,其原理和電路結(jié)構(gòu)簡單,造價低,能濾除一些固有頻率的諧波。但這種檢測方法有其自身的缺點誤差大,實時性差,電網(wǎng)頻率變化時尤其明顯,對電路元件參數(shù)十分敏感,參數(shù)變化時檢測效果明顯變差,難以獲得理想的幅頻和相頻特性。(2)基于瞬時無功功率理論的諧波檢測法根據(jù)該理論,可以得到瞬時有功功率ρ和瞬時無功功率q,ρ和q中都含有直流分量和交流分量。由此可得被檢測電流的基波分量,將基波分量與總電流相減即得相應(yīng)的諧波電流。因為該方法忽略了零序分量,且對于不對稱系統(tǒng),瞬時無功的平均分量不等于三相的平均無功。所以該方法只適用于三相電壓正弦對稱情況下的三相電路諧波和基波無功電流的檢測。(3)基于神經(jīng)網(wǎng)絡(luò)的諧波檢測法隨著電網(wǎng)諧波檢測要求的速度、精度和實時性不斷提高,諧波檢測理論的不斷深入,人工神經(jīng)網(wǎng)絡(luò)等新型的方法正在被運用到諧波檢測中。人工神經(jīng)網(wǎng)絡(luò)包括自適應(yīng)線性人工神經(jīng)網(wǎng)絡(luò),基于多層前饋的神經(jīng)網(wǎng)絡(luò)和基于多層反饋的神經(jīng)網(wǎng)絡(luò)。用人工神經(jīng)網(wǎng)絡(luò)實現(xiàn)諧波與無功電流檢測不僅對周期性變化的電流具有很好的跟蹤性能而且對各種非周期變化的電流也能進(jìn)行快速跟蹤,對高頻隨機干擾有良好的識別能力。但是神經(jīng)網(wǎng)絡(luò)工程實際還有很多問題,例如,沒有規(guī)范的人工神經(jīng)網(wǎng)絡(luò)構(gòu)造方法,需要大量的訓(xùn)練樣本,如何確定需要的樣本數(shù)沒有規(guī)范方法,人工神經(jīng)網(wǎng)絡(luò)的精度對樣本有很大的依賴性等。(4)基于小波分析的諧波檢測法小波分析是一種新興起的信號處理方法,是信號時域分析的重要工具,它克服了傅立葉分析在頻域完全局部化而在時域完全無局部化的缺點,在頻域和時域同時具有良好的局部性,對信號的奇異點(如突變點、不連續(xù)點)也非常敏感,因而能算出某一特定時間的頻率分布,并將各種不同頻率組成的頻譜信號分解成不同頻率的信號塊,尤其適合非平穩(wěn)突變信號的分析與處理。通過對含有諧波的電流信號進(jìn)行正交小波分解,得到電流信號在各個頻段的分解結(jié)果,可較準(zhǔn)確地求出基波電流,進(jìn)而求得諧波,從而實時地跟蹤電力系統(tǒng)諧波的變化。雖然小波變換得到結(jié)果的解析度是好的,但處理時間和內(nèi)存使用的要求很
尚ο(5)傅里葉變換法傅里葉變換法是在電力系統(tǒng)諧波分析中應(yīng)用非常廣泛的一種方法。傅里葉變換方法具有完備、正交等許多優(yōu)點,是一種經(jīng)典的信號分析方法。傅里葉變換的實質(zhì)是將分析信號分解為多個頻率的正弦分量之和的形式。在實際分析時,需要用到計算機進(jìn)行諧波分析。這就需要信號在時域和頻域上是離散的,并且都是有限長。此時的傅里葉變換,稱之為離散傅里葉變換(DFT)。為了提高運算速度,一般在進(jìn)行諧波分析時主要是應(yīng)用快速傅里葉變換算法(FFT)。實際分析的過程中,由于柵欄效應(yīng)和泄漏現(xiàn)象的影響,F(xiàn)FT會產(chǎn)生很大的誤差。這主要是因為將信號截斷為有限長以及非同步采樣。針對這兩個問題,可以采取不同的措施來減小分析誤差。通過加窗函數(shù)的方法來緩解泄漏現(xiàn)象,但是要選擇合適的窗函數(shù)才會達(dá)到目的。通過插值算法來應(yīng)對柵欄效應(yīng),這樣可以分析出被漏掉的頻率成份。加窗插值FFT中的窗函數(shù)已經(jīng)發(fā)展到矩形窗(泄漏現(xiàn)象比較明顯),Hamming窗、Harming窗、 Blackman窗等。文獻(xiàn)[25]中,為了限制泄漏的影響,經(jīng)典的Harming窗取代了矩形窗。雖然窗函數(shù)在一定程度上能夠減少泄漏的影響,并且DFT的準(zhǔn)確性已經(jīng)有所改善,但是由于寬大的主瓣,窗函數(shù)也會模糊DFT的結(jié)果。然后運用插值算法,有效地較少柵欄效應(yīng)。本發(fā)明依據(jù)傅里葉變換法來實現(xiàn)諧波的檢測。目前,在國內(nèi)外的研究中,主要通過在三種硬件平臺上來實現(xiàn)諧波的檢測(1)以虛擬儀器為核心這種方式是以通用的PC機為主要的開發(fā)平臺,配合虛擬儀器軟件,數(shù)據(jù)采集卡以及傳感器電路實現(xiàn)。例如,美國國家儀器公司的虛擬儀器軟件LabVIEW具有強大的模塊節(jié)點和計算能力,網(wǎng)絡(luò)功能。廈門大學(xué)的陳栩等人提出了一種采用基于LabVIEW的電能質(zhì)量監(jiān)控系統(tǒng)的設(shè)計方法,它使用FFT算法作為諧波檢測算法。這種實現(xiàn)方法靈活,擺脫了硬件上的束縛和干擾,充分利用了虛擬軟件的功能,提高了測量的精度和系統(tǒng)開發(fā)的效率。但是這種諧波分析儀不能隨身攜帶,并且需要一臺專用的PC機開發(fā)平臺,實現(xiàn)成本較高。(2)以通用處理器為核心這種方式采用通用的處理器(ARM,DSP等)作為控制核心和算法實現(xiàn)單元,并輔以外圍的AD轉(zhuǎn)換電路,信號調(diào)理電路等外圍電路?,F(xiàn)在有很多的電能監(jiān)控設(shè)備或者諧波分析儀都采用具有很強控制功能的DSP或者DSP和ARM雙CPU作為核心。這種方式既能很好滿足檢測算法中復(fù)雜運算的需求,也能夠滿足系統(tǒng)控制的需要,并且具有很好的網(wǎng)絡(luò)功能,能夠和本地的應(yīng)用端網(wǎng)絡(luò)連在一起。上海交通大學(xué)的王麗穎等人使用DSP和ARM雙CPU結(jié)構(gòu)實現(xiàn)了電能質(zhì)量監(jiān)控系統(tǒng)。采用雙CPU的工作模式,這種方式雖然可以很好的實現(xiàn)各種功能,DSP和ARM都存在開發(fā)周期長,系統(tǒng)可擴展性不高的缺點,并且這種雙CPU結(jié)構(gòu)電路的硬件電路復(fù)雜,價格昂貴,設(shè)備開發(fā)和調(diào)試十分困難,后期的升級和維護也十分不易。(3)以 FPGA 為核心這種方式采用FPGA來實現(xiàn)諧波檢測算法,并且加上外圍采集電路等實現(xiàn)。武漢理工大學(xué)的潘磊等人研究了一種基于FPGA的電力諧波檢測系統(tǒng)。使用FPGA實現(xiàn)了 FFT處理單元。FFT處理單元采用了 FPGA內(nèi)嵌的硬件乘法器和加法器做并行運算,實現(xiàn)了硬件的并行處理。但這種檢測系統(tǒng)由于采用硬件實現(xiàn)邏輯,系統(tǒng)可重構(gòu)性較弱,耦合性較高,對于需要添加新的功能模塊或?qū)δ骋荒K進(jìn)行修改時,系統(tǒng)的修改較大,同時需要對系統(tǒng)進(jìn)行重建;另外,該系統(tǒng)的可讀性較差,各模塊間的數(shù)據(jù)流向以及數(shù)據(jù)通訊方式很難直觀的被程序開發(fā)人員讀取,為后續(xù)的維護造成了很大的困難。山東大學(xué)的梁海霞等人研究了一種基于FPGA的諧波檢測裝置,提出利用SOPC技術(shù)解決方案,在FPGA中內(nèi)嵌Mos II軟核作為控制器,并實現(xiàn)了硬件的FFT算法。但該裝置沒有具體的系統(tǒng)實現(xiàn),只是進(jìn)行了功能的仿真,并且該裝置的FFT的處理精度為1 位, 由于采用同步采樣,在實際系統(tǒng)設(shè)計實現(xiàn)中,容易造成采樣不準(zhǔn)確的情況。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有技術(shù)存在的問題,提供一種基于SOPC技術(shù),應(yīng)用FPGA平臺的電力諧波分析儀,采用電流電壓互感器作為前端傳感器,使用高速的16位AD芯片設(shè)計采樣電路采集電流電壓信號,運用Verilog HDL硬件描述語言設(shè)計了采樣電路AD7606的驅(qū)動程序, 將采集到的電壓電流信號進(jìn)行緩存,然后進(jìn)行前期的諧波算法預(yù)處理。結(jié)合SOPC Builder, 在FPGA上嵌入Nios II軟核作為系統(tǒng)控制單元,設(shè)計了一個顯示IP核,將這個IP核掛載在NiosII軟核處理器上,控制檢測數(shù)據(jù)在液晶屏上的顯示輸出。完成系統(tǒng)構(gòu)建,并編寫C 程序進(jìn)行控制算法和顯示控制,最后在友晶公司的DE2-70開發(fā)板上進(jìn)行驗證。本發(fā)明的一種基于FPGA的電力諧波分析儀,包括有硬件部分和軟件部分。本發(fā)明的一種基于FPGA的電力諧波分析儀的硬件部分包括有傳感器電路和AD采樣電路。傳感器電路主要負(fù)責(zé)將電力系統(tǒng)中電流電壓信號轉(zhuǎn)換為-5V +5V之間的電壓信號,并完成信號的調(diào)理。AD采樣電路主要負(fù)責(zé)將模擬的諧波信號轉(zhuǎn)換為16位的數(shù)字信號, 提供給FPGA做進(jìn)一步的處理。本發(fā)明的一種基于FPGA的電力諧波分析儀,主要包括以下幾個模塊數(shù)據(jù)采集模塊、數(shù)據(jù)緩存模塊、數(shù)據(jù)類型轉(zhuǎn)換模塊、加窗模塊、FFT運算模塊、運算結(jié)果存儲和中斷產(chǎn)生模塊、Nios II軟核處理器模塊、LTM顯示模塊。本發(fā)明的數(shù)據(jù)采集模塊主要負(fù)責(zé)驅(qū)動AD7606進(jìn)行8路信號,1024點的同步采樣, 然后將數(shù)據(jù)讀取到FPGA片內(nèi),提供給下一級的數(shù)據(jù)緩存模塊。模塊通過對輸入時鐘計數(shù), 控制AD7606進(jìn)行采樣速率為10. 24K的等間隔采樣。本發(fā)明的數(shù)據(jù)緩存模塊主要完成采樣數(shù)據(jù)的存儲,控制,以及輸出。從ADC數(shù)據(jù)采樣模塊輸出的采樣數(shù)據(jù)是按照1到8路數(shù)據(jù)一次輸出,系統(tǒng)需要將這8路數(shù)據(jù)分別存儲在片內(nèi)RAM中,當(dāng)有輸出觸發(fā)信號時,按設(shè)定順序依次輸出1路采樣數(shù)據(jù)。本發(fā)明的數(shù)據(jù)類型轉(zhuǎn)化模塊主要負(fù)責(zé)將數(shù)據(jù)類型為有符號整型的采樣數(shù)據(jù)轉(zhuǎn)換為浮點類型數(shù)據(jù),然后將轉(zhuǎn)換為的浮點數(shù)據(jù)提供給加窗模塊。本發(fā)明的加窗模塊主要負(fù)責(zé)將給每一路的采樣數(shù)據(jù)加上IOM寬度的Blackman 窗。當(dāng)有效信號到達(dá)時,該模塊首先產(chǎn)生Blackman窗數(shù)據(jù),然后將Blackman窗數(shù)據(jù)與采樣數(shù)據(jù)相乘,并將計算結(jié)果提供給下一級的FFT運算模塊。
本發(fā)明的FFT運算模塊主要實現(xiàn)10M點的浮點FFT運算。該模塊主要負(fù)責(zé)將加 窗后的數(shù)據(jù)進(jìn)行FFT運算,它決定了本發(fā)明整個系統(tǒng)的實時性。本發(fā)明的運算結(jié)果存儲和中斷產(chǎn)生模塊主要負(fù)責(zé)緩存FFT運算結(jié)果,并通知Nios II軟核處理器系統(tǒng)讀取運算結(jié)果。這個模塊產(chǎn)生緩存的控制信號,數(shù)據(jù)存儲地址,以及時序 控制等,存儲完成后產(chǎn)生1個時鐘的高電平,作為中斷信號,與Mos II軟核處理器系統(tǒng)交互。本發(fā)明的Nios II軟核處理器模塊主要完成總體的核心控制,各個模塊的協(xié)調(diào)作 用,負(fù)責(zé)讀取FFT運算結(jié)果,然后在軟件中對采樣數(shù)據(jù)進(jìn)行插值運算,計算出諧波的相關(guān)參 量,調(diào)用LTM顯示IP核,將諧波參量顯示在LTM液晶屏上。當(dāng)收到FFT運算模塊完成計算, 并完成運算結(jié)果的緩存后,產(chǎn)生一個中斷信號,通知Nios II軟核處理器系統(tǒng)讀取運算結(jié) 果。當(dāng)完成1路諧波計算后,該模塊發(fā)出命令,讀取下一路數(shù)據(jù)。直到完成所有電壓電流采 樣數(shù)據(jù)后,再發(fā)出命令開始下一輪的采樣。針對現(xiàn)有技術(shù)存在的問題,本發(fā)明的一種基于FPGA的電力諧波分析儀,前端的諧 波采集和處理使用硬件實現(xiàn),充分發(fā)揮了硬件加速的優(yōu)勢;利用FPGA中的Mos II軟核處 理器對處理后的數(shù)據(jù)做進(jìn)一步運算和控制,該過程在FPGA片內(nèi)總線上完成,解決了數(shù)據(jù)傳 輸?shù)钠款i,充分發(fā)揮了硬件設(shè)計的高速性和Nios II軟核處理器控制的靈活性。在lOOMHz 時鐘下,前端的處理模塊可以在77US內(nèi)完成一次10M點浮點FFT運算,Nios II軟核處理 器能在78ms完成1路諧波信號的插值和諧波參數(shù)計算,在實際應(yīng)用中,系統(tǒng)能夠滿足實時 檢測的需求。本系統(tǒng)的AD采用兩片AD模塊級聯(lián)的方式,具有16位采集精度,具有較高的 精度。對系統(tǒng)進(jìn)行的相關(guān)分析和測試表明,系統(tǒng)運行穩(wěn)定,檢測精度較高,處理速度快。
圖1本發(fā)明的系統(tǒng)總體構(gòu)成示意圖;圖2本發(fā)明的系統(tǒng)總體流程圖;圖3本發(fā)明實施例使用的Nios II軟核處理器模塊結(jié)構(gòu)框圖;圖4本發(fā)明實施例使用的電壓采集電路圖;圖5本發(fā)明實施例使用的電流采集電路圖;圖6本發(fā)明實施例使用的單片AD7606-4電路原理圖;圖7本發(fā)明實施例使用的REF5025的電路原理圖;圖8本發(fā)明實施例使用的數(shù)據(jù)采集模塊圖;圖9本發(fā)明實施例使用的數(shù)據(jù)采集模塊設(shè)計流程圖;圖10是本發(fā)明實施例使用的AD采樣驅(qū)動單元狀態(tài)機流程圖;圖11本發(fā)明實施例使用的數(shù)據(jù)采集模塊的時序仿真圖;圖12本發(fā)明實施例使用的數(shù)據(jù)緩存模塊圖;圖13本發(fā)明實施例的寫數(shù)據(jù)時序仿真圖;圖14本發(fā)明實施例使用的數(shù)據(jù)類型轉(zhuǎn)換模塊圖;圖15本發(fā)明實施例使用的數(shù)據(jù)類型轉(zhuǎn)換模塊時序仿真圖;圖16本發(fā)明實施例使用的加窗模塊結(jié)構(gòu)圖;圖17本發(fā)明實施例使用的控制單元狀態(tài)機流程圖18本發(fā)明實施例使用的復(fù)數(shù)邏輯單元ALUl結(jié)構(gòu)圖;圖19本發(fā)明實施例使用的復(fù)數(shù)邏輯單元ALU2結(jié)構(gòu)圖;圖20本發(fā)明實施例使用的運算結(jié)果存儲模塊圖;圖21本發(fā)明實施例使用的運算結(jié)果存儲模塊的時序圖;圖22本發(fā)明實施例使用的SOPC Builder的配置界面圖;圖23本發(fā)明實施例的總體控制單元的流程圖;圖M對本發(fā)明實施例FFT運算單元進(jìn)行測試的單頻正弦信號頻譜圖;圖25對本發(fā)明實施例FFT運算單元進(jìn)行測試的單頻正弦信號仿真誤差圖;圖沈?qū)Ρ景l(fā)明實施例FFT運算單元進(jìn)行測試的雙頻正弦信號頻譜圖;圖27對本發(fā)明實施例FFT運算單元進(jìn)行測試的雙頻正弦信號電路仿真誤差圖;圖觀對本發(fā)明實施例FFT運算單元進(jìn)行測試的三角信號頻譜圖;圖四對本發(fā)明實施例FFT運算單元進(jìn)行測試的三角信號電路仿真誤差圖;圖30對本發(fā)明實施例系統(tǒng)實時行進(jìn)行測試的一路諧波計算所需時間圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明內(nèi)容作進(jìn)一步描述。本發(fā)明實施例是在Altera公司的FPGA開發(fā)板DE2-70上實現(xiàn)的。開發(fā)板預(yù)留了兩個擴展接口。在本系統(tǒng)中,這兩個擴展接口分別用于顯示模塊LTM和AD7606的采集電路連接。DE2-70開發(fā)板上的FPGA芯片是Altera公司Cyclone II系列EP2C70F896C6N。本系統(tǒng)總體構(gòu)成示意圖如圖1所示。系統(tǒng)的總體流程圖如圖2所示。本系統(tǒng)中的Mos II軟核處理器模塊結(jié)構(gòu)框圖如圖3所示。本發(fā)明的基于FPGA的電力諧波分析儀中的傳感器電路,主要包括電壓和電流信號采集部分。在電壓信號采集部分中,電壓的輸入范圍為士 IOOOVdf 士 1000V范圍內(nèi)的交流電壓轉(zhuǎn)換為士5V范圍內(nèi)的交流電壓信號。在電流信號采集部分,電流的輸入范圍為士20A,將士20A范圍內(nèi)的交流電流轉(zhuǎn)換為士5V范圍內(nèi)的交流電壓信號。本發(fā)明采用電壓互感器PT,電流互感器CT作為電壓采集部分和電流采集部分的傳感器。本發(fā)明選用“兵字”高精度的電壓互感器和電流互感器TV1013和TA1420。這兩種傳感器的精度都一樣,工作頻率范圍20Hz 20kHz,使用運算放大器的情況下,互感器信號輸出非線性度不大于0. 1%,相位誤差小于5’,滿足系統(tǒng)的精度和測量范圍的要求。(1)電壓信號采集電路電壓信號采集電路的輸入為士 1000V范圍內(nèi)的交流電壓,具體的設(shè)計電路如圖4 所示。電壓互感器TV1013的電流型電壓互感器,最大輸入電壓為1000V,互感器線圈匝數(shù)比為1 1,額定電流2mA。運算放大器采用了 TI的0PA2227該放大器具有高精度、低噪聲、 低功耗、低偏置的優(yōu)點,能夠滿足要求。由電壓互感器的原理可以知道,副邊的電壓輸出為U。ut = UinZR1^R2,因為電壓互感器的額定電流為2·,!^的阻值設(shè)定為500K,I 2的阻值設(shè)定為2. 5K,能夠滿足采樣電路輸入士 1000V交流電時,輸出士5V的交流電壓信號。電壓信號采集電路的輸出將送到AD7606 的模擬輸入端。(2)電流信號采集電路
電流信號采集電路的輸入為士20A范圍內(nèi)的交流電流,具體的電路如圖5所示。電流互感器互感器TA1420-04線圈匝數(shù)比為4000 1,原邊額定輸入電流20A,次級的額定輸出電流為5mA。信號調(diào)理電路中,放大器依然采用0PA2227。通過電流互感器的參數(shù)可以知道,副邊電壓輸出為U。ut = Iin/4000*R,電流互感器的額定輸出電流為5mA,R的阻值設(shè)定為1K,能夠滿足采樣電路輸入士20A時,輸出士5V 的交流電壓信號。同樣地,將電流信號采集電路的輸出送到AD7606的模擬輸入端。本發(fā)明的AD采樣芯片選用了 ADI公司的AD7606-4,具體的電路原理如圖6所示。 AD7606-4具有16位數(shù)據(jù)精度,4路同步采樣輸入,同時所有通道均能以高達(dá)200kSPS的吞吐速率采樣,能夠滿足系統(tǒng)對精度和采樣速度的要求。AD7606-4片內(nèi)資源非常豐富,可以最大限度簡化采樣系統(tǒng)外圍電路的設(shè)計。它采用5V單電源供電,可以處理士 IOV或士5V范圍內(nèi)的雙極性輸入信號輸入,片內(nèi)箝位保護電路可以耐受最高達(dá)士 16. 5V的電壓,模擬輸入阻抗均為1ΜΩ。同時,片內(nèi)還集成了二階抗混疊濾波器,抗混疊濾波器的3dB截止頻率為22KHz。因此,在AD采樣電路之前省略抗混疊濾波器的設(shè)計。因為AD7606只有4路采樣通道,為了滿足3相電采樣的需求,系統(tǒng)使用兩片 AD7606-4并聯(lián),使系統(tǒng)可以實現(xiàn)多達(dá)8路信號的同步采樣。在本發(fā)明中,選用士5V輸入范圍,片外參考電壓方式。與FPGA的通信時,使用并行通信方式。發(fā)明中使用片外的基準(zhǔn)電壓REF5025作為AD7606的參考電壓,REF5025具有低噪聲、極低漂移、高精度的優(yōu)點,能夠使系統(tǒng)精度更加穩(wěn)定。圖7是REF5025的電路原理圖,輸入5V電壓,輸出2. 5V的標(biāo)準(zhǔn)參考電壓。 實施例的邏輯電路模塊數(shù)據(jù)采集模塊主要完成對芯片AD7606的驅(qū)動,并將采樣數(shù)據(jù)讀取到FPGA片內(nèi),提供給下一級的數(shù)據(jù)緩存模塊。當(dāng)數(shù)據(jù)采集模塊收到Mos II軟核處理器系統(tǒng)的啟動采樣信號時,數(shù)據(jù)采集模塊開始啟動新的一輪采樣。在一輪采樣中,數(shù)據(jù)采樣模塊將等間隔采樣 IOM次,采樣速率為10. 24KHz0模塊的時鐘端iCLK輸入為50MHz,計數(shù)器對時鐘輸入計數(shù), 從0計到4883時,即完成一次采樣,并啟動下一次采樣。通過硬件自身計數(shù)實現(xiàn)的10. 24KHz 等間隔采樣要比在處理器系統(tǒng)中使用計數(shù)器啟動每次采用精確。數(shù)據(jù)采集模塊的頂層設(shè)計文件如圖8所示。數(shù)據(jù)采集模塊需要對兩片AD7606-4進(jìn)行驅(qū)動。AC0NVSTA和AC0NVSTB用于啟動第一片AD7606采樣,用于控制電壓采樣的4個通道;BC0NVSTA和BC0NVSTB用于啟動第二片 AD7606采樣,用于控制電流采樣的4個通道。在本系統(tǒng)中,iSwitch用于控制電流電壓的相位偏移,也就是控制AC0NVST和BC0NVST之間的時間差。由于傳感器精度的原因,經(jīng)過傳感器之后的電流電壓信號存在系統(tǒng)性相位誤差,在本模塊中,可以精確控制同一次采樣中電流電壓通道的時間差,校正相位差。當(dāng)iSwitch的輸入為邏輯'0'時,電流電壓通道同時采樣,當(dāng)iSwitch的輸入為邏輯'1',可以設(shè)計電流電壓的采樣通道采樣的時間差,這個參數(shù)由傳感器精度決定。每一輪采樣的流程如圖9所示。在硬件電路的設(shè)計中已經(jīng)知道AD7606的數(shù)據(jù)輸出是三態(tài)的,兩片AD7606公用一條數(shù)據(jù)總線。當(dāng)AD7606完成數(shù)據(jù)轉(zhuǎn)化后,CS_N和RD_N信號配合使用就可以將轉(zhuǎn)換后的數(shù)據(jù)讀取。當(dāng)ACS_N為低電平,RD_N下降沿時,第一片AD7606返回一路轉(zhuǎn)換數(shù)據(jù),4個RD_N下降沿將返回第一片AD7606全部4個通道的采樣數(shù)據(jù);同樣的,當(dāng)BCS_N為低,RD_N下降沿時,第二片AD7606返回轉(zhuǎn)換一路數(shù)據(jù),4個RD_N下降沿將返回第二片AD7606全部4個通道的采樣數(shù)據(jù)。oCLK,ofeite,oDATA是模塊向數(shù)據(jù)緩存模塊輸出的信號和數(shù)據(jù)。在一次數(shù)據(jù)讀取中,在開始輸出數(shù)據(jù)時。ofeite變?yōu)楦唠娖剑?dāng)輸出完8路數(shù)據(jù)后,oWrite變?yōu)榈碗娖?。在oCLK的上升沿,oDATA開始輸出鎖存數(shù)據(jù)。圖10是AD采樣驅(qū)動單元狀態(tài)機流程圖。圖11是數(shù)據(jù)采樣模塊的時序圖。數(shù)據(jù)的緩存模塊主要完成采樣數(shù)據(jù)的存儲,控制,以及輸出,所以該模塊由主要分為3個部分,分別是數(shù)據(jù)的存儲部分、數(shù)據(jù)輸出控制部分、數(shù)據(jù)輸出讀取部分。在數(shù)據(jù)緩存模塊中,有8個長度為IOM的雙口 RAM,用于存儲采樣電路8個通道中的數(shù)據(jù)。數(shù)據(jù)緩存模塊頂層設(shè)計文件如圖12所示。在系統(tǒng)中,數(shù)據(jù)采集模塊的oWrite,oCLK, oDATA,分別與 write_en,data—clk,data—in 相連。數(shù)據(jù)的存儲部分是完成8路數(shù)據(jù)的存儲。數(shù)據(jù)采樣模塊輸出的采樣數(shù)據(jù)按照1到 8路通道依次輸出,系統(tǒng)需要將這8路數(shù)據(jù)分別存儲在對應(yīng)的片內(nèi)RAM中。系統(tǒng)需要為每一片雙口 RAM產(chǎn)生寫使能信號,寫地址。寫地址是由一個10M進(jìn)制計數(shù)器產(chǎn)生,計數(shù)器在每個written信號的下降沿加1。因為written信號表示一幀信號有效,也就是說數(shù)據(jù)采集模塊在輸出8路采樣數(shù)據(jù)時,written信號為邏輯'1',在未輸出數(shù)據(jù)時為邏輯'0'。 因此可以直接將這個計數(shù)器作為每片RAM的寫地址。寫使能信號由一個狀態(tài)機和一個8進(jìn)制計數(shù)器共同產(chǎn)生。在采樣數(shù)據(jù)有效輸出時,也就是written為邏輯'1'時,8進(jìn)制計數(shù)器在每個data_Clk信號的上升沿加'1'。狀態(tài)機根據(jù)8進(jìn)制計數(shù)器的大小,分別為每一片RAM產(chǎn)生寫使能信號。當(dāng)寫完10M幀數(shù)據(jù)后,模塊產(chǎn)生一個done_valid的有效脈沖,表示完成了一輪數(shù)據(jù)的存儲。圖13是寫數(shù)據(jù)的時序圖。數(shù)據(jù)的讀取部分是按照指定順序讀取采樣數(shù)據(jù)。outlay用于控制數(shù)據(jù)輸出方式,當(dāng)OUtjay*' 00'時,只輸出A相的電壓電流,即用于檢測單相諧波;當(dāng)outlay 為1 01',用于檢測三相三線制電路的諧波,當(dāng)outlay*' 10'時,用于檢測三相四線制電路的諧波。當(dāng)datajutjrigger有脈沖輸入時,模塊將開始輸出1個通道的采樣數(shù)據(jù)。 在對單相電路進(jìn)行諧波檢測時,在第一個脈沖輸入data_0ut_trigger,A相的IOM個電壓采樣數(shù)據(jù)將開始從data_0ut輸出,同時data_out_Valid有效;在第二個脈沖輸入data_ out_trigger, A相的10 個電流采樣數(shù)據(jù)將開始從data_out輸出,同時data_out_valid 有效。在對3相3線制電路和3相4線制電路進(jìn)行檢測時,數(shù)據(jù)的輸出方式類推。在數(shù)據(jù)輸出部分主要由兩個狀態(tài)機和一個10M進(jìn)制的計數(shù)器實現(xiàn)。1個狀態(tài)機產(chǎn)生讀使能信號, 1個狀態(tài)機讀取RAM的輸出,并賦值給data_0ut。10 進(jìn)制的計數(shù)器主要用于產(chǎn)生RAM的讀取地址。數(shù)據(jù)類型轉(zhuǎn)化模塊主要將有符號的16位整數(shù)轉(zhuǎn)換成滿足IEEE-7M標(biāo)準(zhǔn)的浮點數(shù)。為了保證計算精度,系統(tǒng)在計算過程的數(shù)據(jù)類型采用單精度的浮點。所有AD7606轉(zhuǎn)后的數(shù)據(jù)都是16位的有符號整數(shù),在采樣數(shù)據(jù)進(jìn)行加窗之前,需要將采樣數(shù)據(jù)轉(zhuǎn)換成浮點數(shù)據(jù)。圖14是數(shù)據(jù)轉(zhuǎn)換模塊的框圖,該模塊是調(diào)用軟件開發(fā)工具Qimrtus II提供的模塊實現(xiàn),使用流水線結(jié)構(gòu),轉(zhuǎn)換過程有6個時鐘的延時。圖15是數(shù)據(jù)類型轉(zhuǎn)換模塊時序仿真。加窗模塊主要實現(xiàn)在采樣數(shù)據(jù)進(jìn)行FFT運算之前,對采樣數(shù)據(jù)加上Blackman窗。 加窗模塊的結(jié)構(gòu)圖如圖16所示。加窗模塊主要包括Blackman窗數(shù)據(jù)產(chǎn)生單元,流水線乘法單元。Blackman窗數(shù)據(jù)產(chǎn)生單元將產(chǎn)生長度為IOM的Blackman窗數(shù)據(jù)。因為Blackman 窗是對稱的,所以Blackman窗的數(shù)據(jù)可以復(fù)用。系統(tǒng)采用復(fù)用方式,只將前513個點的數(shù)據(jù)存儲在片內(nèi)ROM中。片內(nèi)ROM的地址是有一個是由一個計數(shù)器產(chǎn)生。在data_in_valid 有效時,在每個時鐘上升沿,計數(shù)器從0計到512,然后512到1,即完成了運算。流水線乘法單元模塊主要實現(xiàn)對應(yīng)的Blackman窗數(shù)據(jù)與采樣數(shù)據(jù)的乘法運算。 這個單元主要調(diào)用了 Quartus II提供的浮點數(shù)乘法模塊實現(xiàn),具有6級流水結(jié)構(gòu),運算結(jié)果對輸入數(shù)據(jù)有6個時鐘的延時。在本模塊中,確保采樣數(shù)據(jù)和Blackman窗數(shù)據(jù)的同步是關(guān)鍵。FFT運算模塊采用基-4方式,本發(fā)明的FFT模塊采用浮點運算,需要占用較多的邏輯資源。由于FPGA片內(nèi)資源的限制,F(xiàn)FT運算模塊不能采用流水結(jié)構(gòu),蝶形運算單元、復(fù)數(shù)乘法器,以及旋轉(zhuǎn)因子都采用復(fù)用形式。FFT運算模塊的設(shè)計主要包括總體控制單元,蝶形運算單元和地址產(chǎn)生單元??傮w控制單元主要完成總體的時序控制。包括對五級蝶形運算單元,地址產(chǎn)生單元,輸出模塊的是時序控制??傮w控制單元包括一個狀態(tài)機,一個7進(jìn)制計數(shù)器。狀態(tài)機共有4個狀態(tài),配合7進(jìn)制計數(shù)器,控制FFT運算模塊的進(jìn)程。這4個狀態(tài)分別為ctrljdle, stage, stage_idle, stage6。狀態(tài)機的設(shè)計如圖17所示。ctrl_idle是空閑狀態(tài),stage狀態(tài)控制蝶形運算的進(jìn)行,stage_idle等待蝶形運算的完成,stage6狀態(tài)用于控制最后FFT運算結(jié)果的輸出。為了提高系統(tǒng)速度,電路的設(shè)計都是采用流水結(jié)構(gòu),蝶形運算中的乘法器,加法器都是采用流水線結(jié)構(gòu),計算結(jié)果相對計算輸入有時間延時。在本設(shè)計中,蝶形單元加旋轉(zhuǎn)因子一共延時35個時鐘。本系統(tǒng)中Stage_ idle延時50個時鐘,重現(xiàn)進(jìn)入下一個狀態(tài)。當(dāng)IOM個采樣數(shù)據(jù)在FFT中的存儲后完成之后,控制單元狀態(tài)機從空閑的ctrl_ idle狀態(tài)進(jìn)入到控制狀態(tài)stage,同時7進(jìn)制計數(shù)器變?yōu)?1',等待IOM個時鐘長度后, 狀態(tài)機進(jìn)入stagejdle狀態(tài),等待第一級蝶形運算的完成。在stage狀態(tài)中,同時產(chǎn)生1個 1024脈沖寬度的使能控制信號。這個使能信號配合7進(jìn)制計數(shù)器用于產(chǎn)生讀寫時能信號, 并提供給地址產(chǎn)生模塊用于產(chǎn)生讀寫地址,以及控制蝶形單元。在將跳出stagejdle狀態(tài)時,判斷7進(jìn)制計數(shù)器的值,如果7進(jìn)制計數(shù)器不等于5,則重新進(jìn)入stage狀態(tài),開始進(jìn)入下一級蝶形圖運算,且計數(shù)器的值加1。如果計數(shù)器等于5,說明已經(jīng)全部完成了 5級蝶形運算,狀態(tài)機進(jìn)入stage6狀態(tài),開始輸出FFT運算結(jié)果。狀態(tài)機再次進(jìn)行stage狀態(tài)時,運行過程和第一級類似,不在此贅述。狀態(tài)機進(jìn)入Stage6狀態(tài)時,將產(chǎn)生一個IOM個脈沖寬度doutjalid信號,用于控制地址產(chǎn)生單元產(chǎn)生FFT輸出地址,以及讀取使能信號。蝶形運算單元,為了減少系統(tǒng)硬件資源的開銷,本系統(tǒng)的蝶形單元采用流水結(jié)構(gòu)。 蝶形產(chǎn)生單元主要包括3個狀態(tài)機,4個復(fù)數(shù)邏輯運算單元。通過狀態(tài)機控制蝶形單元中的延時。蝶形運算單元的復(fù)數(shù)邏輯運算部分,蝶形運算可以寫成如下形式X (K) = A+BffP+Cff2P+Dff3PX (K+N/4) = A-jBffP-Cff2P+jDff3PX (K+2N/4) = A-jBffP+Cff2P-jDff3PX (K+3N/4) = A+j Bffp-Cff2p-j Dff3p將計算式分割為如下
χ' (η) = (χ (η)+χ (n+N/2)) + (χ (η+Ν/4)+χ (n+3N/4))χ' (Κ+Ν/2) = (χ (η)+χ (η+Ν/2)) -(χ (η+Ν/4)+χ (η+3Ν/4))χ' (Κ+Ν/4) = (χ (η) -χ (η+Ν/2)) -j* (χ (η+Ν/4) -χ (η+3Ν/4))χ' (Κ+3Ν/4) = (χ (η) -χ (η+Ν/2)) +j* (χ (η+Ν/4) -χ (η+3Ν/4))令a (0) =χ (η) +χ (η+Ν/2) ,a (2) = χ (η) -χ (η+Ν/2),a (1) = χ (η+Ν/4) + (η+3Ν/4), a (3) = χ(η+Ν/4)-(η+3Ν/4)上面的等式可以變?yōu)棣? (η) = b(0) = a(0)+a(l)χ' (n+N/2) = b (2) = a(0)-a(l)x' (n+N/4) = b(l) = a(2)_ja(3)x' (n+3N/4) = b(3) = a(2)+ja(3)通過分析可以看出,蝶形單元最終可以分解為只有a+b,a-b, a+jb, a-jb四種計算。本文設(shè)計了兩種復(fù)數(shù)邏輯運算單元用于實現(xiàn)上述4種運算。這兩種復(fù)數(shù)邏輯運算單元為ALUl禾口 ALU2, ALUl完成a+b禾口 a-jb運算,ALU2完成a-b禾口 a+jb運算。ALUl的結(jié)構(gòu)設(shè)計如圖18所示。OP用于控制ALUl的運算方式,當(dāng)op = 0時,c = a+b,或當(dāng)op = 1時,c = a_jb。 ALUl中的浮點加法器具有8級流水結(jié)構(gòu),從數(shù)據(jù)輸入到計算結(jié)果的輸出有8個時鐘的延時。ALU2的結(jié)構(gòu)設(shè)計如圖19所示,op用于控制ALUl的運算方式,當(dāng)op = 1時,c = a+jb,或當(dāng)op = 0時c = a-b。和ALUl —樣,ALU2中的浮點加法器也是具有8級流水結(jié)構(gòu),從數(shù)據(jù)輸入到計算結(jié)果的輸出有8個時鐘的延時。在蝶形單元內(nèi)部,采用流水線結(jié)構(gòu)。a(0),a(l),W2),a(3)在第一級流水中實現(xiàn), 使用第1個狀態(tài)機控制,b (0),b (1),b (2),b (3)在第二級流水中實現(xiàn),使用第2個狀態(tài)機控制,第3個狀態(tài)機主要讀取第二級狀態(tài)機的運算結(jié)果。表1是狀態(tài)機1的工作流程。狀態(tài)機中一共有4個工作狀態(tài),每個狀態(tài)都需要讀取輸入蝶形單元的四個數(shù)。在第3個狀態(tài)時,分別使用一個ALUl和ALU2,讀取χ (η)和 χ (η+Ν/2)計算a (0)和a (2)。同樣的,在第四個狀態(tài)中,計算出a (1)和a (3)。這個狀態(tài)機主要控制將蝶形單元的4個輸入數(shù)據(jù)送到ALUl和ALU2輸入端口上。
權(quán)利要求
1.一種基于FPGA的電力諧波分析儀,其特征在于包括傳感器電路和AD采樣電路,還包括設(shè)在FPGA中的數(shù)據(jù)采集模塊、數(shù)據(jù)緩存模塊、數(shù)據(jù)類型轉(zhuǎn)換模塊、加窗模塊、FFT運算模塊、運算結(jié)果存儲和中斷產(chǎn)生模塊、Nios II軟核處理器模塊、LTM顯示模塊,傳感器電路將電力系統(tǒng)中電流電壓信號轉(zhuǎn)換為_5V、5V之間的電壓信號,并完成信號的調(diào)理;AD采樣電路將模擬的諧波信號轉(zhuǎn)換為16位的數(shù)字信號,提供給FPGA做進(jìn)一步的處理;數(shù)據(jù)采集模塊驅(qū)動AD采樣電路進(jìn)行采樣,并將數(shù)據(jù)讀取到FPGA內(nèi),提供給數(shù)據(jù)緩存模塊;數(shù)據(jù)緩存模塊完成采樣數(shù)據(jù)的存儲、控制及輸出;數(shù)據(jù)類型轉(zhuǎn)換模塊將數(shù)據(jù)類型為有符號整型的采樣數(shù)據(jù)轉(zhuǎn)換為浮點類型數(shù)據(jù),然后將轉(zhuǎn)換后的浮點類型數(shù)據(jù)提供給加窗模塊;加窗模塊將給每一路的采樣數(shù)據(jù)加上1024寬度的Blackman窗,當(dāng)有效信號到達(dá)時,該模塊首先產(chǎn)生 Blackman窗數(shù)據(jù),然后將Blackman窗數(shù)據(jù)與采樣數(shù)據(jù)相乘,并將計算結(jié)果提供給下一級的 FFT運算模塊;FFT運算模塊將加窗后的數(shù)據(jù)進(jìn)行IOM點的浮點FFT運算;運算結(jié)果存儲和中斷產(chǎn)生模塊緩存FFT運算結(jié)果,并通知Nios II軟核處理器模塊讀取運算結(jié)果,該模塊產(chǎn)生緩存的控制信號、數(shù)據(jù)存儲地址,以及時序控制,完成存儲后產(chǎn)生1個時鐘的高電平,作為中斷信號,與Nios II軟核處理器模塊交互;Nios II軟核處理器模塊實現(xiàn)總體的核心控制及各個模塊的協(xié)調(diào),讀取FFT運算結(jié)果,對采樣數(shù)據(jù)進(jìn)行插值運算,計算出諧波的相關(guān)參量,調(diào)用LTM顯示IP核,將諧波參量顯示在LTM液晶屏上。
2.如權(quán)利要求1所述的基于FPGA的電力諧波分析儀,其特征在于所述傳感器電路包括電壓信號采集電路和電流信號采集電路,電壓信號的采集電路的傳感器選用TV1013,運算放大器選用TI的0PA2227,電壓信號采集電路的輸出端連接采樣電路的模擬輸入端;電流信號采集電路的傳感器選用電流互感器TA1420,放大器選用0PA2227,電流信號采集電路的輸出端連接采樣電路的模擬輸入端。
3.如權(quán)利要求1所述的基于FPGA的電力諧波分析儀,其特征在于所述AD采樣電路采用兩片AD7606-4并聯(lián),片外參考電壓方式,使用片外的基準(zhǔn)電壓REF5025作為AD7606的參考電壓,采樣電路AD7606與FPGA使用并行通信方式。
4.如權(quán)利要求1所述的基于FPGA的電力諧波分析儀,其特征在于所述數(shù)據(jù)采集模塊驅(qū)動AD采樣電路進(jìn)行采樣是該數(shù)據(jù)采集模塊驅(qū)動AD7606進(jìn)行8路信號,1024點的同步采樣,然后將數(shù)據(jù)讀取到FPGA內(nèi),提供給下一級的數(shù)據(jù)緩存模塊,模塊通過對輸入時鐘計數(shù), 控制AD7606進(jìn)行采樣速率為10. 24K的等間隔采樣。
5.如權(quán)利要求1所述的基于FPGA的電力諧波分析儀,其特征在于所述數(shù)據(jù)緩存模塊完成采樣數(shù)據(jù)的存儲、控制及輸出,是從ADC數(shù)據(jù)采樣模塊輸出的采樣數(shù)據(jù)按照1到8路數(shù)據(jù)一次輸出,系統(tǒng)需要將這8路數(shù)據(jù)分別存儲在片內(nèi)RAM中,當(dāng)有輸出觸發(fā)信號時,按設(shè)定順序依次輸出1路采樣數(shù)據(jù)。
全文摘要
一種基于FPGA的電力諧波分析儀,屬于電力電子技術(shù)領(lǐng)域,該電力諧波分析儀包括傳感器電路和AD采樣電路以及設(shè)在FPGA中的數(shù)據(jù)采集模塊、數(shù)據(jù)緩存模塊、數(shù)據(jù)類型轉(zhuǎn)換模塊、加窗模塊、FFT運算模塊、運算結(jié)果存儲和中斷產(chǎn)生模塊、NiosⅡ軟核處理器模塊、LTM顯示模塊。本發(fā)明前端的諧波采集和處理使用硬件實現(xiàn),充分發(fā)揮了硬件加速的優(yōu)勢;利用FPGA中的NiosⅡ軟核處理器對處理后的數(shù)據(jù)做進(jìn)一步運算和控制,該過程在FPGA片內(nèi)總線上完成,解決了數(shù)據(jù)的傳輸,充分發(fā)揮了硬件設(shè)計的高速性和NiosⅡ軟核處理器控制的靈活性。
文檔編號G01R19/25GK102288819SQ201110236979
公開日2011年12月21日 申請日期2011年8月18日 優(yōu)先權(quán)日2011年8月18日
發(fā)明者李晶皎, 薛長江, 陸振林 申請人:東北大學(xué)