《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 基于FPGA的三相PWM發(fā)生器

基于FPGA的三相PWM發(fā)生器

2009-05-20
作者:許 強(qiáng) 賈正春

  摘? 要: 介紹了基于FPGA設(shè)計(jì)的三相PWM發(fā)生器。該發(fā)生器具有靈活和可編程等優(yōu)點(diǎn),可應(yīng)用于交流電機(jī)驅(qū)動(dòng)用的三相電壓源逆變器。實(shí)驗(yàn)結(jié)果驗(yàn)證了本設(shè)計(jì)的有效性。

  關(guān)鍵詞: 脈寬調(diào)制 ?現(xiàn)場(chǎng)可編程門(mén)陣列

?

  隨著現(xiàn)代工業(yè)的要求和微電子技術(shù)的進(jìn)步,交流傳動(dòng)已經(jīng)迅速地從模擬控制轉(zhuǎn)向數(shù)字控制,其中PWM技術(shù)與方法是其核心內(nèi)容。但數(shù)字化PWM電路一直是設(shè)計(jì)中的難點(diǎn),除了集成三相PWM發(fā)生器的80C196MC、TMS320F240等微處理器外,均采用中小規(guī)模集成電路設(shè)計(jì)三相PWM,這是非常復(fù)雜的,往往使電路復(fù)雜、可靠性差。本文介紹了一種用單片大規(guī)模FPGA實(shí)現(xiàn)的三相PWM發(fā)生器,它具有三相脈沖中心對(duì)稱、PWM周期和死區(qū)時(shí)間可編程等特點(diǎn),且性能優(yōu)異、靈活性和可靠性高。

1 基本原理

  本設(shè)計(jì)的目的是產(chǎn)生三相逆變器的PWM信號(hào)波形。圖1是用FPGA實(shí)現(xiàn)的PWM部分設(shè)計(jì)框圖,它主要由脈寬寄存器、緩沖寄存器、周期寄存器、死區(qū)寄存器、死區(qū)發(fā)生器、數(shù)值比較器、控制邏輯等幾部分構(gòu)成。脈寬寄存器,決定三相PWM信號(hào)的脈寬;緩沖寄存器,實(shí)現(xiàn)對(duì)脈寬數(shù)據(jù)的雙緩沖;周期寄存器,決定PWM的斬波周期;死區(qū)寄存器,決定上下橋臂的死區(qū)時(shí)間。脈寬寄存器在每個(gè)開(kāi)關(guān)周期中由微處理器更新一次,其輸出數(shù)據(jù)經(jīng)緩沖以后與基準(zhǔn)計(jì)數(shù)器進(jìn)行數(shù)值比較,得到三相PWM信號(hào)PA、PB、PC。再經(jīng)過(guò)死區(qū)電路處理,最后產(chǎn)生6個(gè)中心對(duì)稱的PWM驅(qū)動(dòng)信號(hào),驅(qū)動(dòng)三相逆變器的6個(gè)功率器件。PWM算法可采用SPWM(正弦PWM)或者SVPWM(空間矢量PWM)。

?

  FPGA中的基準(zhǔn)計(jì)數(shù)器,用來(lái)產(chǎn)生類似模擬電路中的三角波基準(zhǔn),是一個(gè)最小計(jì)數(shù)值為0、最大計(jì)數(shù)值為周期寄存器中保存的數(shù)值、計(jì)數(shù)方向交替變化的可逆計(jì)數(shù)器?;鶞?zhǔn)計(jì)數(shù)器單元在最大計(jì)數(shù)值時(shí)產(chǎn)生一個(gè)同步信號(hào)SYN,當(dāng)它有效時(shí)將三個(gè)脈寬寄存器的數(shù)據(jù)存入各自的緩沖寄存器,實(shí)現(xiàn)雙緩沖,使三個(gè)脈寬寄存器在SYN無(wú)效時(shí)可依次由微處理器更新而不影響最終的三相同步關(guān)系。同時(shí)基準(zhǔn)計(jì)數(shù)器單元產(chǎn)生一個(gè)方向信號(hào)DIR,可作為微處理器的外部中斷源(邊緣觸發(fā)方式),在PWM開(kāi)關(guān)周期的起始點(diǎn)產(chǎn)生中斷。

  微處理器軟件設(shè)計(jì)較簡(jiǎn)單,在初始化階段設(shè)置好周期寄存器、死區(qū)寄存器,以后只需在PWM中斷服務(wù)程序中將計(jì)算好的三相脈寬數(shù)據(jù)分別送到各自的脈寬寄存器,然后退出中斷服務(wù)程序,等待控制器在SYN脈沖控制下將三個(gè)脈寬寄存器的數(shù)據(jù)鎖存到各自的緩沖寄存器中。在下一個(gè)PWM周期中輸出相應(yīng)的脈沖,同時(shí)中斷被觸發(fā),便開(kāi)始了下一個(gè)PWM中斷服務(wù)程序。程序要求PWM中斷服務(wù)程序運(yùn)行時(shí)間小于PWM周期,由此決定了PWM最高運(yùn)行頻率。圖2為PWM波形圖。

?

2 內(nèi)部設(shè)計(jì)

  以A相為例,基準(zhǔn)計(jì)數(shù)器由加減計(jì)數(shù)器構(gòu)成。加計(jì)數(shù)和減計(jì)數(shù)交替執(zhí)行,計(jì)數(shù)周期由周期寄存器決定,DIR指示計(jì)數(shù)方向,同步信號(hào)SYN用來(lái)加載A相緩沖器。PA是緩沖器與基準(zhǔn)計(jì)數(shù)器的數(shù)值比較結(jié)果,死區(qū)發(fā)生器由死區(qū)計(jì)數(shù)器和一些組合邏輯組成,使同相的上下橋臂驅(qū)動(dòng)信號(hào)錯(cuò)開(kāi)一個(gè)死區(qū)時(shí)間,防止功率器件短路。死區(qū)時(shí)間由死區(qū)寄存器決定,最后輸出A相上下橋臂驅(qū)動(dòng)信號(hào)AH和AL。

  死區(qū)計(jì)數(shù)器采用飽和計(jì)數(shù)器,飽和計(jì)數(shù)器的特性類似于電容的充放電過(guò)程,規(guī)則為:

  (1)當(dāng)輸入為0時(shí),如果計(jì)數(shù)值等于0,則計(jì)數(shù)值保持不變,否則作減1計(jì)數(shù);

  (2)當(dāng)輸入為1時(shí),如果計(jì)數(shù)值等于max,則計(jì)數(shù)值保持不變,否則作加1計(jì)數(shù);

  (3)當(dāng)輸入為1且死區(qū)計(jì)數(shù)器數(shù)值為max時(shí),

  AL=0,AH=1,上橋臂導(dǎo)通;

  (4)當(dāng)輸入為0且死區(qū)計(jì)數(shù)器數(shù)值為0時(shí),AL=1,AH=0,下橋臂導(dǎo)通;

  (5)當(dāng)死區(qū)計(jì)數(shù)器數(shù)值在0~max之間時(shí),AL=0,

  AH=0,上下橋臂都截止,形成死區(qū)。

????其中,max等于死區(qū)寄存器的數(shù)值。

??? 周期寄存器和脈寬寄存器為14位,死區(qū)寄存器為8位,在20MHz時(shí)鐘下,開(kāi)關(guān)頻率為610Hz~10MHz, 死區(qū)時(shí)間為0~12.8μs,脈沖分辨率為50ns。

??? FPGA采用VHDL硬件描述語(yǔ)言進(jìn)行設(shè)計(jì),下面給出死區(qū)發(fā)生器的VHDL設(shè)計(jì):

entity dead is

??? port(clk,px:in std_logic;

??? xh,xl:out std_logic;

??? dead_time:in std_logic_vector(7 downto 0);

??? q:inout std_logic_vector(7 downto 0));

end dead;

architecture dead of dead is

  begin

  process(clk)

  begin

  if (clk'EVENT and clk=′1′) then

?????? if ((px=′1′) and (q/=dead_time)) then

??? ?????? q<=q+1;

???   elsif ((px=′0′) and (q/=″00000000″)) then

?????  ?? q<=q-1;

?????? end if;

??? if ((px=′1′) and (q=dead_time)) then

????? ??? xh<=′1′;

??? else

????? ??? xh<=′0′;?

??? end if;?

??? if ((px=′0′) and (q=″00000000″)) then

????? ??? xl<=′1′;

??? else

????? ??? xl<=′0′;

????????? end if;

?????? end if;

???????end process;

end dead;

3 試驗(yàn)與結(jié)論

  FPGA采用ACTEL公司反熔絲工藝的42MX16, 應(yīng)用在所研制的交流主軸驅(qū)動(dòng)器中,圖3是其6個(gè)基極驅(qū)動(dòng)信號(hào)波形。在實(shí)際應(yīng)用中,除PWM外,在同一片F(xiàn)PGA中還設(shè)計(jì)了光電編碼器計(jì)數(shù)單元、輸入脈沖計(jì)數(shù)器、I/O接口、保護(hù)電路、譯碼器等全部外圍數(shù)字邏輯電路,它與DSP、A/D芯片和接口電路構(gòu)成非常簡(jiǎn)潔的交流電機(jī)驅(qū)動(dòng)器的控制部分。采用FGPA構(gòu)成三相PWM發(fā)生器的方案,具有低成本、高靈活性、高集成度、高可靠性等優(yōu)點(diǎn)。

?

?

參考文獻(xiàn)

1 Blasko V.Analysis of a Hybrid PWM Based on Modified Space-Vector and Triangle-Comparison Methods.

? IEEE Trans. on Ind.? Appl. 1997; 33(3):756~764

2 Chung D W.Unified Voltage Modulation Technique for?Real Time Three-Phase Power Conversion.IEEE Trans.

on Ind. Appl.1998;34(2):374~380

3 Actel FPGA Databook. Actel Corporation,1999

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。