- 相關推薦
用TMS320LF2407和FPGA實現電能質量監測
摘要:提出用TMS320LF2407和FPGA實現電能監測的一種方案,闡述各模塊的設計和實現方法,本方案中,FPGA用于采樣16路交流信號并進行64次諧波分析;DSP和于電力參數的計算。為了提高其通用性,還用FPGA設計了與外界通信的并口、串口模塊,并實現了同TMS320LF2407的并行和串行通信。隨著人們對電能質量要求的日益提高,如何保證電能質量就成為一個熱門話題。電能質量監測的一項主要內容是諧波檢測,即對多路模擬信號進行采集并進行諧波分析。本系統對16路50Hz模塊信號進行采樣并進行64次諧波分析。如果僅僅依靠一個MCU(單片機或控制型DSP)來進行處理,往往達不到實時性要求,所以采用DSP和FPGA相結合的方法。利用DSP對電力參數進行計算,利用FPGA進行諧波分析。
系統主要包括數據采集電路、ADC模塊、FPGA模塊、DSP模塊及上位機顯示模塊,其結構如圖1所示。
圖1 系統框圖
1 數據采集電路和ADC模塊
對經過互感器調理成-3.3~ 3.3V(ADC測量的最大量程)的信號進行采樣。根據香農抽樣定理,對最高頻率fc的連續信號進行抽樣,須保留其全部內容。抽樣頻率fs滿足條件為:fs≥2fc。如圖1系統框圖所示,本系統中,ADC采用的是MAX125,其單通道的轉換時間為3μs。若利用內部的采樣保持器,可以同時采樣4路信號,轉換時間為12μs。為了同時采集已經過調理的16路模擬信號,必須對其進行采樣/保持。在前向通道使用16路采樣/保持器(SMP04),再使用多路開關(MAX306)依次選擇這16路信號,輸入到MAX125的一個通道(CH1A),并由FPGA發出轉換信號CONVST。待轉換結束,MAX125發出INT中斷,通知FPGA讀取轉換結果?傊蒄PGA中的ADC控制模塊完成對MAX125、MAX306及SMP04的控制以及對MAX125信號的中斷響應。
2 FPGA模塊
FPGA模塊主要完成通信、數據采集、ADC模塊的數據讀取、保存及底層的信號預處理計算——諧波分析。FPGA工作流程如圖2所示。其子模塊有:ADC控制模塊、ADC采樣數據保存區、FFT工作RAM、FFT運算結果保存區、開方修改正表、開方運算單元、諧波系數存放區以及串行、并行通信控制模塊。
圖2 FPGA工作流程圖
(1)ADC控制模塊
圖3所示ADC控制模塊除了完成對MAX125、MAX306及SMP04的控制外,還要響應MAX125的中斷(INT)來讀取轉換結果,并將其保存到ADC采樣數據保存區。如圖3所示,為了更準確地產生控制時序,對系統的采樣周期及相位的鎖定都采取了相應的處理。待采樣信號先經過方波轉換電路,將其轉換成0~ 3.3V的方波信號,再經過FPGA中的數字鎖相環模塊,根據外部時鐘和計數器測量出其周期,作為下一個待采樣信號的采樣周期。這樣就減小了由于待采樣信號頻率的漂移而帶來的采樣周期的誤差。本系統采用的數字鎖相環在FPGA中實現,其具體的性能為:鎖相環的捕捉帶Δfmax=12.5Hz,鎖相頻率為50Hz±12.5Hz=37.5~62.5Hz,隨后產生的采樣周期Ts能夠滿足實際應用的要求。同時,根據多路開關信號和計數器,產生ADC采樣數據保存區地址,保存來自MAX125的14位數字量。
(2)諧波分析模塊
本系統中,采用快速傅里葉變換(FFT)進行諧波分析,主要因為FFT使N點DFT的乘法計算由N2次減少到(N/2)log2N次。由FFT工作流程圖可知,本系統在分析64次諧波時,整個運算分6級。在第一級蝶形運算中,蝶形運算單元根據算法控制模塊的控制信號,從ADC采樣數據保存區取出原始數據,從旋轉因子ROM中取出旋轉因子,進行FFT的第一級蝶形運算,并將結果存入FFT工作RAM。在以后的各級蝶形運算中,蝶形運算單元從FFT工作RAM中取出間數據,從旋轉因子ROM中取出旋轉因子,進行運算,直至第六級蝶形運算結束,并將結果存放到運算結果保存區,以便進行各次諧波系數計算。
在進行FPGA設計中,為了節省器件的內部資源,其計算內核采用復用技術進行設計,其基本原理如圖4所示。
在FFT運算中,一個蝶形運算單元和一組工作RAM被重復使用,其中最重要的是FFT工作控制邏輯的實現。它主要完成從ADC采樣數據保存區取出數據、向FFT工作RAM中寫入和讀取數據以及向FFT結果存放區存放結果等工作。
根據FFT運算的結果z=dinr jdini,計算各次諧波的系數(其中,dinr為結果的實路,dini為結果的虛部,。在進行開方運算時,若設計64M×13位長度的存儲器進行查表計算,對于現有的可編程邏輯器件來說是很難實現的。因此,本次設計中采用了修正查表算法:將待開方的數據z=(dinr2 dini2)左移m次(m為偶數),直到其最高兩位不全為0,此時z變為z1;取z1的高8位來查表(此時表長為2 8=256個字)得到t1;使用牛頓一次迭代公式t=(t1 z1/t1)/2,對t1進行修正得到t;最后將t右移m/2次,得到開方結果。實驗證明,上述修正后的查表法誤差在允許的范圍內,對本系統來說是可行的。
在軟件方面,為了提高芯片的性能及資源利用率,采用Quartus II 2.0t Synplify7.1。在Synplify中使用有效的代碼,采取流水線設計、優化組合邏
【用TMS320LF2407和FPGA實現電能質量監測】相關文章:
企業知識管理的實現技術和工具的電商論文05-02
都市頻道制作網的設計與實現05-29
探討工程質量通病發生的原因和預防措施03-22
基于minigui的網真機界面的實現08-05
立法質量與質量立法──歐美臺立法質量立法研究(四)06-03
城市旅游網站的設計與實現論文(精選6篇)05-07
動物細胞培養工藝過程監測與控制05-31
構筑企業數據中心 實現理性分析決策06-04