《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > CPLD在有源電力濾波器中的應(yīng)用
CPLD在有源電力濾波器中的應(yīng)用
來源:電子技術(shù)應(yīng)用2011年第6期
藺海艷1, 劉 海1, 王銀照2
1 山東大學(xué)威海分校,山東 威海 264209; 2 山東濱州供電公司,山東 濱州 256610
摘要: 針對(duì)諧波污染問題,設(shè)計(jì)并實(shí)現(xiàn)了一種由上、下位機(jī)組成的并聯(lián)型有源電力濾波器。以TMS320C5416 DSP為核心的下位機(jī)控制模塊為背景,重點(diǎn)介紹了CPLD對(duì)其外圍器件的邏輯接口設(shè)計(jì),主要包括外圍器件的片選和讀寫控制、DSP的中斷管理和時(shí)鐘信號(hào)的分頻處理等。開發(fā)軟件使用QuartusⅡ,通過硬件描述語言VHDL對(duì)其功能進(jìn)行描述,并在波形編輯器中完成邏輯時(shí)序的仿真。
關(guān)鍵詞: DSP VHDL 時(shí)序仿真 TMS320C5416
中圖分類號(hào): TM76
文獻(xiàn)標(biāo)識(shí)碼: B
文章編號(hào): 0258-7998(2011)06-087-04
The application of CPLD in active power filter
Lin Haiyan1, Liu Hai1,Wang Yinzhao2
1. Shandong University at Weihai, Weihai 264209, China; 2. Power Supply Company at Binzhou, Binzhou 256610, China
Abstract: In order to restrain harmonic pollution, we design a kind of shunt active power filter which consists of host computer and lower computer. TMS320C5416 DSP composing the control module of lower computer as the background, we describe the use of CPLD in design of logic interface between DSP and peripheral devices in detail. The design of CPLD includes peripheral devices chip selecting and R/W controlling, DSP interrupt management and frequency division of clock. Hardware description language, VHDL, is used to describe its function in QuartusⅡ used as the development of software. Finally we complete the logic simulation in the waveform editor.
Key words : DSP; CPLD; VHDL; time sequence simulation


    隨著電力電子技術(shù)的飛速發(fā)展,電力電子裝置的應(yīng)用日益廣泛,引起的諧波污染問題也越來越受到人們的關(guān)注。為了提高電能質(zhì)量,抑制諧波污染,一條基本思路就是裝設(shè)諧波補(bǔ)償裝置[1]。由于傳統(tǒng)的LC濾波器易受電網(wǎng)阻抗和運(yùn)行狀態(tài)影響,容易與系統(tǒng)產(chǎn)生并聯(lián)諧振而且只能補(bǔ)償固定頻率諧波,所以有源電力濾波器已經(jīng)成為諧波補(bǔ)償?shù)囊环N新的發(fā)展趨勢(shì)。有源電力濾波器能夠?qū)Σ煌l率的諧波和變化的無功功率進(jìn)行補(bǔ)償,同時(shí)為了滿足諧波檢測(cè)的實(shí)時(shí)性、準(zhǔn)確性要求,多采用以高速數(shù)字信號(hào)處理見長的DSP作為系統(tǒng)CPU。但是DSP只有兩個(gè)I/O口,與多個(gè)外圍器件的接口擴(kuò)展受到限制,所以本文采用CPLD設(shè)計(jì)了DSP系統(tǒng)的組合邏輯電路,實(shí)現(xiàn)與外圍器件的接口擴(kuò)展和時(shí)序配合,并在QuartusⅡ波形編輯器中完成了系統(tǒng)的時(shí)序分析。
1 系統(tǒng)總體設(shè)計(jì)
 本系統(tǒng)是并聯(lián)有源電力濾波器,主要治理電流諧波,采用上、下位機(jī)的設(shè)計(jì)形式。下位機(jī)控制電路以TMS320C5416 DSP為核心,實(shí)現(xiàn)現(xiàn)場(chǎng)數(shù)據(jù)采集,諧波的實(shí)時(shí)檢測(cè)與補(bǔ)償、無功功率補(bǔ)償和簡單的數(shù)據(jù)顯示功能;上位機(jī)采用工控機(jī)并利用Visual C++和SQL Server集成開發(fā)軟件,實(shí)現(xiàn)電網(wǎng)數(shù)據(jù)的存儲(chǔ)和進(jìn)一步分析處理。系統(tǒng)總體框圖如圖1所示。

 

 


    下位機(jī)硬件電路主要包括A/D轉(zhuǎn)換模塊、DSP數(shù)據(jù)處理模塊、CPLD邏輯控制模塊、存儲(chǔ)器擴(kuò)展模塊、人機(jī)交互模塊和異步通信模塊。DSP選用TMS320C5416,它是一款16位定點(diǎn)DSP,功耗僅為0.32 mV/MIPS,速度高達(dá)160 MIPS[2]。A/D轉(zhuǎn)換器采用TLV1571芯片,是一種10位并行A/D轉(zhuǎn)換器,是TI公司專為DSP配套設(shè)計(jì)的,具有速度高、功耗低、接口簡單等特點(diǎn)[3]。異步串行通信芯片選用TL16V750,它將從DSP接收的并行數(shù)據(jù)轉(zhuǎn)化成串行數(shù)據(jù)傳給上位機(jī),實(shí)現(xiàn)上、下位機(jī)的通信。
 下位機(jī)基本工作原理如下:當(dāng)A/D轉(zhuǎn)換器完成模數(shù)轉(zhuǎn)換時(shí),給DSP一個(gè)中斷信號(hào),DSP讀取轉(zhuǎn)換后的數(shù)據(jù)并存儲(chǔ),然后在內(nèi)部運(yùn)用瞬時(shí)無功功率理論計(jì)算出補(bǔ)償電流的指令信號(hào),再利用該信號(hào)和實(shí)際的補(bǔ)償電流設(shè)計(jì)滯環(huán)比較器,產(chǎn)生PWM信號(hào)控制主電路中IGBT的通斷,從而生成合適的補(bǔ)償電流回饋給電網(wǎng)。如果鍵盤有鍵按下,DSP接收鍵盤的中斷請(qǐng)求轉(zhuǎn)到中斷服務(wù)子程序?qū)︽I盤進(jìn)行掃描,并將相關(guān)結(jié)果在LCD上顯示出來。  
2 CPLD邏輯電路設(shè)計(jì)
 CPLD,即復(fù)雜可編程邏輯器件,具有應(yīng)用靈活、運(yùn)行速度快、集成度高、功能強(qiáng)大、支持在線編程、設(shè)計(jì)周期短、開發(fā)成本低、能夠減小系統(tǒng)體積等優(yōu)點(diǎn)[4]。作為下位機(jī)的組合邏輯控制中心,本系統(tǒng)采用Altera公司的EPM3128 CPLD芯片,主要完成存儲(chǔ)器的擴(kuò)展控制、外圍器件的讀寫控制(如AD、UART、鍵盤等)、DSP的中斷管理(包括AD采樣終端、鍵盤中斷、UART通信中斷)、人機(jī)接口控制和串行通信控制。開發(fā)平臺(tái)使用QuartusⅡ5.0,可支持原理圖、VHDL、Verilog HDL以及AHDL等多種輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程[5]。硬件描述語言采用VHDL,其功能強(qiáng)大,可移植性好,并且具有向ASIC移植的能力。
2.1 存儲(chǔ)器的擴(kuò)展控制
 TMS320C5416共有16 KB的內(nèi)部ROM,64 KB的片內(nèi)DARAM和64 KB的片內(nèi)SARAM[6],但有23條地址線,支持8 MB的存儲(chǔ)空間尋址,同時(shí)考慮到存儲(chǔ)的數(shù)據(jù)量較大,也為了方便以后系統(tǒng)升級(jí),仍需擴(kuò)展外部存儲(chǔ)器。外部程序存儲(chǔ)器選擇體積小、功耗低、電可擦寫的Flash存儲(chǔ)器Am29LV400B,該芯片讀取周期短,工作電壓可分為滿負(fù)荷2.7 V~3.6 V和可調(diào)節(jié)3.0 V~3.6 V兩種,可直接與3.3 V的DSP相連,簡化了接口電路。外部數(shù)據(jù)存儲(chǔ)器選用CY7C1041B-15,它的讀取時(shí)間只需15 ns,插入等待周期少。Am29LV400B和CY7C1041B-15存儲(chǔ)空間都是512 KB,與DSP接口如圖2所示。

 在連線時(shí),將DSP的15位低地址線A0~A14直接與SRAM和Flash的A0~A14相連,DSP的A16與外存儲(chǔ)器的A15相連,A17與外存儲(chǔ)器的A16相連,A18與外存儲(chǔ)器的A17相連,這樣省去DSP的A15地址線,就將SRAM和Flash分別分成32 KB長的塊。以Flash為例,若A15=1,F(xiàn)lash的0000H~7FFFH對(duì)應(yīng)于DSP的8000H~FFFFH,F(xiàn)lash的8000H~FFFFH對(duì)應(yīng)于DSP的18000H~1FFFFH,F(xiàn)lash的10000H~1FFFFH對(duì)應(yīng)于DSP的28000H~2FFFFH,以此類推。分頁用I/O口控制,這樣存儲(chǔ)器片選的CPLD實(shí)現(xiàn)只需如下兩個(gè)語句:
 flash_ce<=&prime;0&prime; when(dsp_ds=&prime;0&prime;)and dsp_addH1(15)=&prime;1&prime;else&prime;1&prime;;  
 sram_ce<= &prime;0&prime; when(dsp_ds=&prime;0&prime;)and dsp_addH1(15)=&prime;0&prime; else&prime;1&prime;;
 SRAM定位到0X0000~0X7FFF,Flash定位到0X8000~0XFFFF,以便進(jìn)行自舉加載。

         and dsp_addH1(15)=&prime;0&prime; and dsp_addH1(14)=&prime;1&prime;else&prime;1&prime;;

    由于TLV1571接口電平與DSP不匹配,故使用三態(tài)門雙向總線收發(fā)器74LV164245做電平轉(zhuǎn)換器。本模塊使用兩片74ALV164245,A/D控制信號(hào)與鍵盤控制信號(hào)共用一片,該電平轉(zhuǎn)換器直接將DIR接高電平,OE接低電平,信號(hào)傳輸由A到B。A/D傳輸?shù)臄?shù)據(jù)單用一片,便于控制A/D數(shù)據(jù)的傳輸方向??刂菩盘?hào)DIR和OE由CPLD譯碼產(chǎn)生,如下:
 dsp_data_dir<=not dsp_rw;
 dsp_data_oe<=&prime;0&prime;when(dsp_iostrb=&prime;0&prime; and(dsp_is=&prime;0&prime;)
 and dsp_addL="1111" anddsp_addH1(15)=&prime;0&prime;and
 dsp_addH1(14) =&prime;1&prime;) else &prime;1&prime;;
2.3 人機(jī)接口控制
    人機(jī)接口主要包括一個(gè)4&times;4矩陣式鍵盤和液晶顯示兩部分,與CPLD接口如圖4所示。鍵盤的主要功能是完成顯示頁面選擇和查詢參數(shù)設(shè)置。鍵盤控制使用CH452芯片,該芯片內(nèi)置去抖動(dòng)電路,提供按鍵釋放標(biāo)志位,可供查詢按鍵按下與釋放。CH452通過高速的4線接口與CPLD相連。在鍵盤掃描期間,當(dāng)有鍵按下時(shí),DOUT引腳產(chǎn)生低電平有效中斷信號(hào),該信號(hào)經(jīng)CPLD譯碼后觸發(fā)DSP的外部中斷INT2,DSP通過串行接口讀取按鍵代碼,然后轉(zhuǎn)到中斷服務(wù)子程序執(zhí)行相關(guān)操作。另外為了保證鍵盤掃描的正確性,一般要選擇較低頻的時(shí)鐘。若DSP外接20 MHz的晶振,內(nèi)部時(shí)鐘電路輸出最低頻率為5 MHz,而CH452最高頻率為2 MHz,因此CPLD需將DSP輸出時(shí)鐘分頻后加到CH452芯片的DCLK引腳。分頻實(shí)現(xiàn)如下:
 if rising_edge(clkin) then if counter=N then counter<=0;clk<=not clk;
 else counter<=counter+1; end if; end if; end process;clkout<=clk;

 液晶顯示器因具有顯示信息豐富、功耗低、體積小、重量輕等優(yōu)點(diǎn)而得到廣泛應(yīng)用。本系統(tǒng)選用LCM12864ZK中文液晶顯示模塊,內(nèi)含ST7920驅(qū)動(dòng)控制器,提供串行/并行兩用接口。本系統(tǒng)采用并行接口,即PSB引腳輸入高電平。D0~D7直接接DSP數(shù)據(jù)總線,是復(fù)位信號(hào),R/W為讀寫信號(hào),1為讀信號(hào),0時(shí)寫入,E是讀寫數(shù)據(jù)啟始腳,RS選擇寄存器,0為選擇指令寄存器,1為數(shù)據(jù)寄存器。對(duì)液晶進(jìn)行操作時(shí),經(jīng)CPLD譯碼,首先選通指令寄存器寫入相應(yīng)代碼,再選通數(shù)據(jù)寄存器進(jìn)行數(shù)據(jù)讀寫操作。部分譯碼程序如下:
 lcd_psb <= &prime;1&prime;; --1 并行總線 0 串行總線
 lcd_rs <= dsp_addL(0);--選擇寄存器
 lcd_rw <= dsp_rw;
 lcd_e <= &prime;1&prime; when ( dsp_iostrb=&prime;0&prime; and (dsp_addL = "0001" or dsp_addL = "0000") and dsp_addH1(15) =&prime;1&prime; and dsp_addH1(14) = &prime;1&prime;) else &prime;0&prime;;    

3 CPLD時(shí)序仿真
 為了驗(yàn)證設(shè)計(jì)模塊邏輯功能的正確性,需要對(duì)設(shè)計(jì)進(jìn)行仿真。CPLD仿真驗(yàn)證可以有多種方式,本文選擇用QuartusⅡ自帶的波形編輯器進(jìn)行邏輯時(shí)序仿真。本設(shè)計(jì)中各外圍器件的片選、讀寫、鍵盤掃描時(shí)鐘的分頻等關(guān)鍵信號(hào)仿真波形如圖6所示。

 從圖中可以看出,各片選信號(hào)、讀寫信號(hào)滿足設(shè)計(jì)要求,例如,在IS=0,地址為0x4000~0x4007時(shí)選通UART,時(shí)鐘信號(hào)CLKIN經(jīng)八分頻輸出CLKOUT等,都滿足設(shè)計(jì)要求,所以本系統(tǒng)設(shè)計(jì)的邏輯電路是可以實(shí)現(xiàn)的。
 為了抑制諧波污染,提高電能質(zhì)量,設(shè)計(jì)了一種基于DSP的并聯(lián)型有源電力濾波器。該濾波器由上位機(jī)和下位機(jī)組成,上位機(jī)使用工控機(jī),下位機(jī)以DSP系統(tǒng)為核心,并采用CPLD對(duì)外圍電路進(jìn)行接口擴(kuò)展。本文重點(diǎn)分析了CPLD與外圍器件的接口問題,并以QuartusⅡ開發(fā)平臺(tái)為基礎(chǔ),用VHDL硬件編程語言描述了組合邏輯電路的實(shí)現(xiàn)。在波形編輯器中得出有效的時(shí)序分析結(jié)果,結(jié)果表明該設(shè)計(jì)是可行的。
參考文獻(xiàn)
[1] 王兆安,楊軍,劉進(jìn)軍,等.諧波抑制和無功功率補(bǔ)償[M].北京:機(jī)械工業(yè)出版社,2006.
[2] 喬瑞萍,崔濤,張芳娟. TMS320C54X DSP原理及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2005.
[3] TI. TLV1571 data sheet [DB].2000.
[4] 羅朝霞,高書莉.CPLD/FPGA設(shè)計(jì)及應(yīng)用[M].北京:人民郵電出版社,2007.
[5] 趙艷華,曹炳霞,張睿.基于QuartusⅡ的FPGA/CPLD設(shè)計(jì)與應(yīng)用[M].北京:電子工業(yè)出版社,2009.
[6] Texas Instruments Incorporated.TMS320C54X系列DSP的CPU與外設(shè)[M].梁曉雯,裴小平,李玉虎,譯.北京:清華大學(xué)出版社, 2006. 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。