- 相關(guān)推薦
用TMS320LF2407和FPGA實(shí)現(xiàn)電能質(zhì)量監(jiān)測
摘要:提出用TMS320LF2407和FPGA實(shí)現(xiàn)電能監(jiān)測的一種方案,闡述各模塊的設(shè)計(jì)和實(shí)現(xiàn)方法,本方案中,F(xiàn)PGA用于采樣16路交流信號并進(jìn)行64次諧波分析;DSP和于電力參數(shù)的計(jì)算。為了提高其通用性,還用FPGA設(shè)計(jì)了與外界通信的并口、串口模塊,并實(shí)現(xiàn)了同TMS320LF2407的并行和串行通信。關(guān)鍵詞:電能質(zhì)量DSPFPGAFFTUART
隨著人們對電能質(zhì)量要求的日益提高,如何保證電能質(zhì)量就成為一個(gè)熱門話題。電能質(zhì)量監(jiān)測的一項(xiàng)主要內(nèi)容是諧波檢測,即對多路模擬信號進(jìn)行采集并進(jìn)行諧波分析。本系統(tǒng)對16路50Hz模塊信號進(jìn)行采樣并進(jìn)行64次諧波分析。如果僅僅依靠一個(gè)MCU(單片機(jī)或控制型DSP)來進(jìn)行處理,往往達(dá)不到實(shí)時(shí)性要求,所以采用DSP和FPGA相結(jié)合的方法。利用DSP對電力參數(shù)進(jìn)行計(jì)算,利用FPGA進(jìn)行諧波分析。
系統(tǒng)主要包括數(shù)據(jù)采集電路、ADC模塊、FPGA模塊、DSP模塊及上位機(jī)顯示模塊,其結(jié)構(gòu)如圖1所示。
圖1系統(tǒng)框圖
1數(shù)據(jù)采集電路和ADC模塊
對經(jīng)過互感器調(diào)理成-3.3~+3.3V(ADC測量的最大量程)的信號進(jìn)行采樣。根據(jù)香農(nóng)抽樣定理,對最高頻率fc的連續(xù)信號進(jìn)行抽樣,須保留其全部內(nèi)容。抽樣頻率fs滿足條件為:fs≥2fc。如圖1系統(tǒng)框圖所示,本系統(tǒng)中,ADC采用的是MAX125,其單通道的轉(zhuǎn)換時(shí)間為3μs。若利用內(nèi)部的采樣保持器,可以同時(shí)采樣4路信號,轉(zhuǎn)換時(shí)間為12μs。為了同時(shí)采集已經(jīng)過調(diào)理的16路模擬信號,必須對其進(jìn)行采樣/保持。在前向通道使用16路采樣/保持器(SMP04),再使用多路開關(guān)(MAX306)依次選擇這16路信號,輸入到MAX125的一個(gè)通道(CH1A),并由FPGA發(fā)出轉(zhuǎn)換信號CONVST。待轉(zhuǎn)換結(jié)束,MAX125發(fā)出INT中斷,通知FPGA讀取轉(zhuǎn)換結(jié)果?傊,由FPGA中的ADC控制模塊完成對MAX125、MAX306及SMP04的控制以及對MAX125信號的中斷響應(yīng)。
2FPGA模塊
FPGA模塊主要完成通信、數(shù)據(jù)采集、ADC模塊的數(shù)據(jù)讀取、保存及底層的信號預(yù)處理計(jì)算——諧波分析。FPGA工作流程如圖2所示。其子模塊有:ADC控制模塊、ADC采樣數(shù)據(jù)保存區(qū)、FFT工作RAM、FFT運(yùn)算結(jié)果保存區(qū)、開方修改正表、開方運(yùn)算單元、諧波系數(shù)存放區(qū)以及串行、并行通信控制模塊。
圖2FPGA工作流程圖
(1)ADC控制模塊
圖3所示ADC控制模塊除了完成對MAX125、MAX306及SMP04的控制外,還要響應(yīng)MAX125的中斷(INT)來讀取轉(zhuǎn)換結(jié)果,并將其保存到ADC采樣數(shù)據(jù)保存區(qū)。如圖3所示,為了更準(zhǔn)確地產(chǎn)生控制時(shí)序,對系統(tǒng)的采樣周期及相位的鎖定都采取了相應(yīng)的處理。待采樣信號先經(jīng)過方波轉(zhuǎn)換電路,將其轉(zhuǎn)換成0~+3.3V的方波信號,再經(jīng)過FPGA中的數(shù)字鎖相環(huán)模塊,根據(jù)外部時(shí)鐘和計(jì)數(shù)器測量出其周期,作為下一個(gè)待采樣信號的采樣周期。這樣就減小了由于待采樣信號頻率的漂移而帶來的采樣周期的誤差。本系統(tǒng)采用的數(shù)字鎖相環(huán)在FPGA中實(shí)現(xiàn),其具體的性能為:鎖相環(huán)的捕捉帶Δfmax=12.5Hz,鎖相頻率為50Hz±12.5Hz=37.5~62.5Hz,隨后產(chǎn)生的采樣周期Ts能夠滿足實(shí)際應(yīng)用的要求。同時(shí),根據(jù)多路開關(guān)信號和計(jì)數(shù)器,產(chǎn)生ADC采樣數(shù)據(jù)保存區(qū)地址,保存來自MAX125的14位數(shù)字量。
。2)諧波分析模塊
本系統(tǒng)中,采用快速傅里葉變換(FFT)進(jìn)行諧波分析,主要因?yàn)镕FT使N點(diǎn)DFT的乘法計(jì)算由N2次減少到(N/2)log2N次。由FFT工作流程圖可知,本系統(tǒng)在分析64次諧波時(shí),整個(gè)運(yùn)算分6級。在第一級蝶形運(yùn)算中,蝶形運(yùn)算單元根據(jù)算法控制模塊的控制信號,從ADC采樣數(shù)據(jù)保存區(qū)取出原始數(shù)據(jù),從旋轉(zhuǎn)因子ROM中取出旋轉(zhuǎn)因子,進(jìn)行FFT的第一級蝶形運(yùn)算,并將結(jié)果存入FFT工作RAM。在以后的各級蝶形運(yùn)算中,蝶形運(yùn)算單元從FFT工作RAM中取出間數(shù)據(jù),從旋轉(zhuǎn)因子ROM中取出旋轉(zhuǎn)因子,進(jìn)行運(yùn)算,直至第六級蝶形運(yùn)算結(jié)束,并將結(jié)果存放到運(yùn)算結(jié)果保存區(qū),以便進(jìn)行各次諧波系數(shù)計(jì)算。
在進(jìn)行FPGA設(shè)計(jì)中,為了節(jié)省器件的內(nèi)部資源,其計(jì)算內(nèi)核采用復(fù)用技術(shù)進(jìn)行設(shè)計(jì),其基本原理如圖4所示。
在FFT運(yùn)算中,一個(gè)蝶形運(yùn)算單元和一組工作RAM被重復(fù)使用,其中最重要的是FFT工作控制邏輯的實(shí)現(xiàn)。它主要完成從ADC采樣數(shù)據(jù)保存區(qū)取出數(shù)據(jù)、向FFT工作RAM中寫入和讀取數(shù)據(jù)以及向FFT結(jié)果存放區(qū)存放結(jié)果等工作。
根據(jù)FFT運(yùn)算的結(jié)果z=dinr+jdini,計(jì)算各次諧波的系數(shù)(其中,dinr為結(jié)果的實(shí)路,dini為結(jié)果的虛部,
。在進(jìn)行開方運(yùn)算時(shí),若設(shè)計(jì)64M×13位長度的存儲器進(jìn)行查表計(jì)算,對于現(xiàn)有的可編程邏輯器件來說是很難實(shí)現(xiàn)的。因此,本次設(shè)計(jì)中采用了修正查表算法:將待開方的數(shù)據(jù)z=(dinr2+dini2)左移m次(m為偶數(shù)),直到其最高兩位不全為0,此時(shí)z變?yōu)閦1;取z1的高8位來查表(此時(shí)表長為28=256個(gè)字)得到t1;使用牛頓一次迭代公式t=(t1+z1/t1)/2,對t1進(jìn)行修正得到t;最后將t右移m/2次,得到開方結(jié)果。實(shí)驗(yàn)證明,上述修正后的查表法誤差在允許的范圍內(nèi),對本系統(tǒng)來說是可行的。
在軟件方面,為了提高芯片的性能及資源利用率,采用QuartusII2.0tSynplify7.1。在Synplify中使用有效的代碼,采取流水線設(shè)計(jì)、優(yōu)化組合邏輯及減少邏輯延時(shí)等措施來提高整體性能,還進(jìn)行了多個(gè)文件的分塊設(shè)計(jì),然后將這些文件映射到頂層文件進(jìn)行綜合,并運(yùn)行VHDL或者VerilogHDL對單個(gè)文件編寫、信真和優(yōu)化。在用到組合邏輯時(shí),Synplify會盡量避免鎖存器的出現(xiàn),節(jié)省邏輯單元。對于ACEX系列的芯片,它還支持寄存器配平技術(shù)、流水線操作、復(fù)制邏輯模塊及使用LPM函數(shù)等技術(shù)來提高其整體性能。Synplify和其它結(jié)合軟件一樣,編譯后生成的電子設(shè)計(jì)交換格式文件(EDIF)可以在MAX+PLUSII或QuartusII2.0中進(jìn)行編譯、分別引腳和其它優(yōu)化處理。因此,采用QuartusII2.0和Synplify7.1相結(jié)合,對FPGA進(jìn)行設(shè)計(jì)、優(yōu)化及綜合,不僅能提高系統(tǒng)性能,還能提高芯片資源的利用率。
(3)通信接口模塊
為了靈活地與外界系統(tǒng)進(jìn)行連接,F(xiàn)PGA提供了并行通信和串行通信兩種形式。并行通信可以直接和DSP連接組成電力監(jiān)測和控制系統(tǒng);串行通信不僅可以方便地和DSP連接,不可以和不具備諧波分析功能的系統(tǒng)組成更加完善的電力監(jiān)測系統(tǒng)。
以于并行通信,如系統(tǒng)框圖所示,根據(jù)規(guī)劃好的LF2407擴(kuò)展I/O空間,由LF2407的高位地址線的邏輯組合來產(chǎn)生FPGA選片信號,低位地址線向LF2407輸出要訪問數(shù)據(jù)的地址,在IS引腳的下降沿,F(xiàn)PGA中的數(shù)據(jù)傳輸?shù)絃F2407的數(shù)據(jù)總線。值得注意的是,在編寫FPGA的并行通信模塊時(shí),除了編寫相應(yīng)的控制程序以外,還要利用LF2407的IS引腳來選通FPGA的三態(tài)總線進(jìn)行數(shù)據(jù)輸出,這樣可以避免FPGA與LF2407的數(shù)據(jù)接口影響LF2407的工作。
如果利用FPGA進(jìn)行串行通信,則可以完善已有的電力監(jiān)測系統(tǒng)。為了使其能和現(xiàn)有的設(shè)備更好的進(jìn)行連接,還設(shè)計(jì)了TMS320LF2407和FPGA之間的串行通信。本系統(tǒng)中,LF2407包含了可以直接利用RS232通信的串行通信接口(SCI)模塊,所以對FPGA編寫串行通信接口模塊時(shí),要保證和LF2407相同的通信格式。本系統(tǒng)在實(shí)際設(shè)計(jì)中采用的通信格式為:1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)奇/校驗(yàn)位,1個(gè)停止位。TMS320LF2407的串口通訊電路如圖5所示。
FPGA的UART模塊中,確定相同通信格式的同時(shí),還要確定相同的波特率,并根據(jù)波特率產(chǎn)生發(fā)送、接收時(shí)鐘。對于數(shù)據(jù)的發(fā)送,F(xiàn)PGA監(jiān)測txrdy(發(fā)送就緒)信號。如果txrdy=“1”,就從待發(fā)送數(shù)據(jù)區(qū)中取出數(shù)據(jù)寫入U(xiǎn)ART的數(shù)據(jù)總線,隨后產(chǎn)生一位起始位。然后,利用發(fā)送時(shí)鐘觸發(fā)移位寄存器,將待發(fā)送數(shù)據(jù)送到內(nèi)部寄存器,將數(shù)據(jù)依次送到發(fā)送端(TX)。最后,根據(jù)發(fā)送數(shù)據(jù)的“1”的個(gè)數(shù),加上校驗(yàn)位和停止位,就實(shí)現(xiàn)了數(shù)據(jù)的串行發(fā)送。
FPGA的監(jiān)測單元監(jiān)測到RX的下降沿,則啟動(dòng)接收單元。在采樣時(shí)鐘的上升沿對接收信號進(jìn)行采樣,高電平為“1”,低電平為“0”。然后通過移位寄存器,將串行數(shù)據(jù)轉(zhuǎn)換成并行的8位數(shù)據(jù),完成數(shù)據(jù)的接收。
圖5串口通信電路圖
3DSP模塊
根據(jù)算法的分配,高層的信號處理量小,但控制結(jié)構(gòu)復(fù)雜,適合用處理速度較快的DSP來處理。本系統(tǒng)中,DSP主要是根據(jù)FPGA中模擬量的采樣結(jié)果和運(yùn)算結(jié)果,計(jì)算電力參數(shù)以及發(fā)出相應(yīng)的控制信號。如有必要,還可以用液晶來顯示結(jié)果。
對于LF2407和FPGA的并行通信,使用LF2407的擴(kuò)展I/O來讀取FPGA中ADC采樣數(shù)據(jù)保存區(qū)和各次諧波系數(shù)放區(qū)中數(shù)據(jù)。LF2407可以直接使用IN和OUT指令對FPGA進(jìn)行讀寫。
對于串行通信,LF2407向FPGA發(fā)送數(shù)據(jù)。只要查詢SCICTL2的7號位,來判斷發(fā)送器是否為高。如果為空,LF2407就可以向FPGA發(fā)送數(shù)據(jù)(命令),控制FPGA的運(yùn)行。同樣,LF2407采用中斷方式接收從FPGA發(fā)送來的數(shù)據(jù)。LF2407接收中斷的向量地址為INT1(0002H),外圍中斷向量為0006H。
4總結(jié)
本系統(tǒng)已完成實(shí)驗(yàn)室樣機(jī)制作與調(diào)試,證明設(shè)計(jì)正確,可以完成對電力質(zhì)量進(jìn)行監(jiān)測的任務(wù)。在電力監(jiān)測系統(tǒng)中,通過FPGA和DSP相結(jié)合,可使測量更靈活、控制更方便。本系統(tǒng)有選擇地進(jìn)行并行通信或串行通信,使設(shè)計(jì)更加靈活多變,有利于系統(tǒng)的擴(kuò)展,方便與其它電力測控系統(tǒng)直接相邊,而且適于模塊化設(shè)計(jì),提高算法效率,縮短開發(fā)周期。
【用TMS320LF2407和FPGA實(shí)現(xiàn)電能質(zhì)量監(jiān)測】相關(guān)文章:
用PowerPC860實(shí)現(xiàn)FPGA配置08-06
用FPGA實(shí)現(xiàn)數(shù)據(jù)遠(yuǎn)距離的高精度傳輸08-06
用單片機(jī)實(shí)現(xiàn)SRAM工藝FPGA的加密應(yīng)用08-06
自適應(yīng)算術(shù)編碼的FPGA實(shí)現(xiàn)08-06
用FPGA實(shí)現(xiàn)DSP與液晶顯示器的快速接口08-06
3-DES算法的FPGA高速實(shí)現(xiàn)08-06
DDR SDRAM控制器的FPGA實(shí)現(xiàn)04-12