新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用TMS320 DSP和FPGA實現(xiàn)電能質(zhì)量監(jiān)測

用TMS320 DSP和FPGA實現(xiàn)電能質(zhì)量監(jiān)測

作者: 時間:2008-10-07 來源:網(wǎng)絡(luò) 收藏

內(nèi)容摘要:提出用TMS320LF2407和實現(xiàn)電能監(jiān)測的一種方案,闡述各模塊的設(shè)計和實現(xiàn)方法,本方案中,用于采樣16路交流信號并進行64次諧波分析;DSP和于電力參數(shù)的計算。為了提高其通用性,還用設(shè)計了與外界通信的并口、串口模塊,并實現(xiàn)了同TMS320LF2407的并行和串行通信。

  隨著人們對電能質(zhì)量要求的日益提高,如何保證電能質(zhì)量就成為一個熱門話題。電能質(zhì)量監(jiān)測的一項主要內(nèi)容是諧波檢測,即對多路模擬信號進行采集并進行諧波分析。本系統(tǒng)對16路50Hz模塊信號進行采樣并進行64次諧波分析。如果僅僅依靠一個MCU(單片機或控制型DSP)來進行處理,往往達不到實時性要求,所以采用DSP和FPGA相結(jié)合的方法。利用DSP對電力參數(shù)進行計算,利用FPGA進行諧波分析。

  系統(tǒng)主要包括數(shù)據(jù)采集電路、ADC模塊、FPGA模塊、DSP模塊及上位機顯示模塊,其結(jié)構(gòu)如圖1所示。

用TMS320LF2407和FPGA實現(xiàn)電能質(zhì)量監(jiān)測

  1 數(shù)據(jù)采集電路和ADC模塊

  對經(jīng)過互感器調(diào)理成-3.3~+3.3V(ADC測量的最大量程)的信號進行采樣。根據(jù)香農(nóng)抽樣定理,對最高頻率fc的連續(xù)信號進行抽樣,須保留其全部內(nèi)容。抽樣頻率fs滿足條件為:fs≥2fc。如圖1系統(tǒng)框圖所示,本系統(tǒng)中,ADC采用的是MAX125,其單通道的轉(zhuǎn)換時間為3μs。若利用內(nèi)部的采樣保持器,可以同時采樣4路信號,轉(zhuǎn)換時間為12μs。為了同時采集已經(jīng)過調(diào)理的16路模擬信號,必須對其進行采樣/保持。在前向通道使用16路采樣/保持器(SMP04),再使用多路開關(guān)(MAX306)依次選擇這16路信號,輸入到MAX125的一個通道(CH1A),并由FPGA發(fā)出轉(zhuǎn)換信號CONVST。待轉(zhuǎn)換結(jié)束,MAX125發(fā)出INT中斷,通知FPGA讀取轉(zhuǎn)換結(jié)果??傊?,由FPGA中的ADC控制模塊完成對MAX125、MAX306及SMP04的控制以及對MAX125信號的中斷響應(yīng)。

  2 FPGA模塊

  FPGA模塊主要完成通信、數(shù)據(jù)采集、ADC模塊的數(shù)據(jù)讀取、保存及底層的信號預(yù)處理計算——諧波分析。FPGA工作流程如圖2所示。其子模塊有:ADC控制模塊、ADC采樣數(shù)據(jù)保存區(qū)、FFT工作RAM、FFT運算結(jié)果保存區(qū)、開方修改正表、開方運算單元、諧波系數(shù)存放區(qū)以及串行、并行通信控制模塊。

用TMS320LF2407和FPGA實現(xiàn)電能質(zhì)量監(jiān)測

 ?。?)ADC控制模塊

  圖3所示ADC控制模塊除了完成對MAX125、MAX306及SMP04的控制外,還要響應(yīng)MAX125的中斷(INT)來讀取轉(zhuǎn)換結(jié)果,并將其保存到ADC采樣數(shù)據(jù)保存區(qū)。如圖3所示,為了更準(zhǔn)確地產(chǎn)生控制時序,對系統(tǒng)的采樣周期及相位的鎖定都采取了相應(yīng)的處理。待采樣信號先經(jīng)過方波轉(zhuǎn)換電路,將其轉(zhuǎn)換成0~+3.3V的方波信號,再經(jīng)過FPGA中的數(shù)字鎖相環(huán)模塊,根據(jù)外部時鐘和計數(shù)器測量出其周期,作為下一個待采樣信號的采樣周期。這樣就減小了由于待采樣信號頻率的漂移而帶來的采樣周期的誤差。本系統(tǒng)采用的數(shù)字鎖相環(huán)在FPGA中實現(xiàn),其具體的性能為:鎖相環(huán)的捕捉帶Δfmax=12.5Hz,鎖相頻率為50Hz±12.5Hz=37.5~62.5Hz,隨后產(chǎn)生的采樣周期Ts能夠滿足實際應(yīng)用的要求。同時,根據(jù)多路開關(guān)信號和計數(shù)器,產(chǎn)生ADC采樣數(shù)據(jù)保存區(qū)地址,保存來自MAX125的14位數(shù)字量。

 ?。?)諧波分析模塊

  本系統(tǒng)中,采用快速傅里葉變換(FFT)進行諧波分析,主要因為FFT使N點DFT的乘法計算由N2次減少到(N/2)log2N次。由FFT工作流程圖可知,本系統(tǒng)在分析64次諧波時,整個運算分6級。在第一級蝶形運算中,蝶形運算單元根據(jù)算法控制模塊的控制信號,從ADC采樣數(shù)據(jù)保存區(qū)取出原始數(shù)據(jù),從旋轉(zhuǎn)因子ROM中取出旋轉(zhuǎn)因子,進行FFT的第一級蝶形運算,并將結(jié)果存入FFT工作RAM。在以后的各級蝶形運算中,蝶形運算單元從FFT工作RAM中取出間數(shù)據(jù),從旋轉(zhuǎn)因子ROM中取出旋轉(zhuǎn)因子,進行運算,直至第六級蝶形運算結(jié)束,并將結(jié)果存放到運算結(jié)果保存區(qū),以便進行各次諧波系數(shù)計算。

用TMS320LF2407和FPGA實現(xiàn)電能質(zhì)量監(jiān)測

  在進行FPGA設(shè)計中,為了節(jié)省器件的內(nèi)部資源,其計算內(nèi)核采用復(fù)用技術(shù)進行設(shè)計,其基本原理如圖4所示。

  在FFT運算中,一個蝶形運算單元和一組工作RAM被重復(fù)使用,其中最重要的是FFT工作控制邏輯的實現(xiàn)。它主要完成從ADC采樣數(shù)據(jù)保存區(qū)取出數(shù)據(jù)、向FFT工作RAM中寫入和讀取數(shù)據(jù)以及向FFT結(jié)果存放區(qū)存放結(jié)果等工作。

  根據(jù)FFT運算的結(jié)果z=dinr+jdini,計算各次諧波的系數(shù)用TMS320LF2407和FPGA實現(xiàn)電能質(zhì)量監(jiān)測(其中,dinr為結(jié)果的實路,dini為結(jié)果的虛部,用TMS320LF2407和FPGA實現(xiàn)電能質(zhì)量監(jiān)測。在進行開方運算時,若設(shè)計64M×13位長度的存儲器進行查表計算,對于現(xiàn)有的可編程邏輯器件來說是很難實現(xiàn)的。因此,本次設(shè)計中采用了修正查表算法:將待開方的數(shù)據(jù)z=(dinr2+dini2)左移m次(m為偶數(shù)),直到其最高兩位不全為0,此時z變?yōu)閦1;取z1的高8位來查表(此時表長為2 8=256個字)得到t1;使用牛頓一次迭代公式t=(t1+z1/t1)/2,對t1進行修正得到t;最后將t右移m/2次,得到開方結(jié)果。實驗證明,上述修正后的查表法誤差在允許的范圍內(nèi),對本系統(tǒng)來說是可行的。

  在軟件方面,為了提高芯片的性能及資源利用率,采用Quartus II 2.0t Synplify7.1。在Synplify中使用有效的代碼,采取流水線設(shè)計、優(yōu)化組合邏輯及減少邏輯延時等措施來提高整體性能,還進行了多個文件的分塊設(shè)計,然后將這些文件映射到頂層文件進行綜合,并運行VHDL或者Verilog HDL對單個文件編寫、信真和優(yōu)化。在用到組合邏輯時,Synplify會盡量避免鎖存器的出現(xiàn),節(jié)省邏輯單元。對于ACEX系列的芯片,它還支持寄存器配平技術(shù)、流水線操作、復(fù)制邏輯模塊及使用LPM函數(shù)等技術(shù)來提高其整體性能。Synplify和其它結(jié)合軟件一樣,編譯后生成的電子設(shè)計交換格式文件(EDIF)可以在MAX+PLUS II或Quartus II 2.0中進行編譯、分別引腳和其它優(yōu)化處理。因此,采用Quartus II 2.0和Synplify7.1相結(jié)合,對FPGA進行設(shè)計、優(yōu)化及綜合,不僅能提高系統(tǒng)性能,還能提高芯片資源的利用率。

用TMS320LF2407和FPGA實現(xiàn)電能質(zhì)量監(jiān)測

 ?。?)通信接口模塊

  為了靈活地與外界系統(tǒng)進行連接,F(xiàn)PGA提供了并行通信和串行通信兩種形式。并行通信可以直接和DSP連接組成電力監(jiān)測和控制系統(tǒng);串行通信不僅可以方便地和DSP連接,不可以和不具備諧波分析功能的系統(tǒng)組成更加完善的電力監(jiān)測系統(tǒng)。

  以于并行通信,如系統(tǒng)框圖所示,根據(jù)規(guī)劃好的LF2407擴展I/O空間,由LF2407的高位地址線的邏輯組合來產(chǎn)生FPGA選片信號,低位地址線向LF2407輸出要訪問數(shù)據(jù)的地址,在IS引腳的下降沿,F(xiàn)PGA中的數(shù)據(jù)傳輸?shù)絃F2407的數(shù)據(jù)總線。值得注意的是,在編寫FPGA的并行通信模塊時,除了編寫相應(yīng)的控制程序以外,還要利用LF2407的IS引腳來選通FPGA的三態(tài)總線進行數(shù)據(jù)輸出,這樣可以避免FPGA與LF2407的數(shù)據(jù)接口影響LF2407的工作。

  如果利用FPGA進行串行通信,則可以完善已有的電力監(jiān)測系統(tǒng)。為了使其能和現(xiàn)有的設(shè)備更好的進行連接,還設(shè)計了TMS320LF2407和FPGA之間的串行通信。本系統(tǒng)中,LF2407包含了可以直接利用RS232通信的串行通信接口(SCI)模塊,所以對FPGA編寫串行通信接口模塊時,要保證和LF2407相同的通信格式。本系統(tǒng)在實際設(shè)計中采用的通信格式為:1個起始位,8個數(shù)據(jù)位,1個奇/校驗位,1個停止位。TMS320LF2407的串口通訊電路如圖5所示。

  FPGA的UART模塊中,確定相同通信格式的同時,還要確定相同的波特率,并根據(jù)波特率產(chǎn)生發(fā)送、接收時鐘。對于數(shù)據(jù)的發(fā)送,F(xiàn)PGA監(jiān)測txrdy(發(fā)送就緒)信號。如果txrdy=“1”,就從待發(fā)送數(shù)據(jù)區(qū)中取出數(shù)據(jù)寫入UART的數(shù)據(jù)總線,隨后產(chǎn)生一位起始位。然后,利用發(fā)送時鐘觸發(fā)移位寄存器,將待發(fā)送數(shù)據(jù)送到內(nèi)部寄存器,將數(shù)據(jù)依次送到發(fā)送端(TX)。最后,根據(jù)發(fā)送數(shù)據(jù)的“1”的個數(shù),加上校驗位和停止位,就實現(xiàn)了數(shù)據(jù)的串行發(fā)送。

  FPGA的監(jiān)測單元監(jiān)測到RX的下降沿,則啟動接收單元。在采樣時鐘的上升沿對接收信號進行采樣,高電平為“1”,低電平為“0”。然后通過移位寄存器,將串行數(shù)據(jù)轉(zhuǎn)換成并行的8位數(shù)據(jù),完成數(shù)據(jù)的接收。

用TMS320LF2407和FPGA實現(xiàn)電能質(zhì)量監(jiān)測

  3 DSP模塊

  根據(jù)算法的分配,高層的信號處理量小,但控制結(jié)構(gòu)復(fù)雜,適合用處理速度較快的DSP來處理。本系統(tǒng)中,DSP主要是根據(jù)FPGA中模擬量的采樣結(jié)果和運算結(jié)果,計算電力參數(shù)以及發(fā)出相應(yīng)的控制信號。如有必要,還可以用液晶來顯示結(jié)果。

  對于LF2407和FPGA的并行通信,使用LF2407的擴展I/O來讀取FPGA中ADC采樣數(shù)據(jù)保存區(qū)和各次諧波系數(shù)放區(qū)中數(shù)據(jù)。LF2407可以直接使用IN和OUT指令對FPGA進行讀寫。

  對于串行通信,LF2407向FPGA發(fā)送數(shù)據(jù)。只要查詢SCICTL2的7號位,來判斷發(fā)送器是否為高。如果為空,LF2407就可以向FPGA發(fā)送數(shù)據(jù)(命令),控制FPGA的運行。同樣,LF2407采用中斷方式接收從FPGA發(fā)送來的數(shù)據(jù)。LF2407接收中斷的向量地址為INT1(0002H),外圍中斷向量為0006H。

  4 總結(jié)

  本系統(tǒng)已完成實驗室樣機制作與調(diào)試,證明設(shè)計正確,可以完成對電力質(zhì)量進行監(jiān)測的任務(wù)。在電力監(jiān)測系統(tǒng)中,通過FPGA和DSP相結(jié)合,可使測量更靈活、控制更方便。本系統(tǒng)有選擇地進行并行通信或串行通信,使設(shè)計更加靈活多變,有利于系統(tǒng)的擴展,方便與其它電力測控系統(tǒng)直接相邊,而且適于模塊化設(shè)計,提高算法效率,縮短開發(fā)周期。



關(guān)鍵詞: TI FPGA

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉