《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > SVPWM信號(hào)發(fā)生器的VHDL實(shí)現(xiàn)
SVPWM信號(hào)發(fā)生器的VHDL實(shí)現(xiàn)
摘要: 近年來(lái),DSP在SVPWM(空間矢量脈寬調(diào)制)控制領(lǐng)域得到了廣泛應(yīng)用,。但是使用DSP單核心的控制方法仍然存在一些缺陷:基于軟件的:DSP在實(shí)現(xiàn)SVPWM觸發(fā)信號(hào)時(shí)需要較長(zhǎng)的時(shí)鐘周期,;微處理器中不確定的中斷響應(yīng)會(huì)導(dǎo)致PWM脈沖的相位抖動(dòng),。針對(duì)以上問(wèn)題,,本文提出了一種利用FPGA實(shí)現(xiàn)的SVPWM信號(hào)發(fā)生器,。
關(guān)鍵詞: 信號(hào)發(fā)生器 SVPWM VHDL
Abstract:
Key words :

  近年來(lái),,DSP在SVPWM(空間矢量脈寬調(diào)制)控制領(lǐng)域得到了廣泛應(yīng)用,。

  但是使用DSP單核心的控制方法仍然存在一些缺陷:基于軟件的:DSP在實(shí)現(xiàn)SVPWM觸發(fā)信號(hào)時(shí)需要較長(zhǎng)的時(shí)鐘周期,;微處理器中不確定的中斷響應(yīng)會(huì)導(dǎo)致PWM脈沖的相位抖動(dòng)。針對(duì)以上問(wèn)題,,本文提出了一種利用FPGA實(shí)現(xiàn)的SVPWM信號(hào)發(fā)生器,,系統(tǒng)結(jié)構(gòu)如圖1所示。作為DSP的外圍接口電路,,該信號(hào)發(fā)生器能夠屏蔽DSP內(nèi)部錯(cuò)誤中斷對(duì)輸入時(shí)間信號(hào)的影響,,保證輸出完整的SVPWM觸發(fā)信號(hào)波形,其三相并行處理結(jié)構(gòu)還能夠有效提升系統(tǒng)的動(dòng)態(tài)響應(yīng)速度,。

系統(tǒng)結(jié)構(gòu)

  SVPWM簡(jiǎn)介

  SVPWM的主要思想在于利用逆變器空間電壓矢量的切換合成參考電壓矢量,。具體方法如下:在橋式電路中,同一橋臂上兩個(gè)開(kāi)關(guān)的工作狀態(tài)在任意時(shí)刻都是互補(bǔ)的,,所以可以用二值邏輯函數(shù)表示6個(gè) 開(kāi)關(guān)的工作狀態(tài):

公式

  由式1可見(jiàn),,3組開(kāi)關(guān)的工作狀態(tài)共有23=8種,不同的開(kāi)關(guān)工作狀態(tài)對(duì)應(yīng)著不同的三相輸出電壓,。這8種工作狀態(tài)分別對(duì)應(yīng)著8條基本空間電壓矢量,,任意區(qū)域內(nèi)的空間電壓參考矢量都可以由2條非零矢量以及2條零矢量合成。在進(jìn)行電壓矢量合成時(shí),,規(guī)定每一次開(kāi)關(guān)動(dòng)作只能有一相橋臂的工作狀態(tài)發(fā)生轉(zhuǎn)換,,目的是為了降低電路中的諧波含量,確定基本電壓矢量的切換順序。

  SVPWM信號(hào)發(fā)生器的設(shè)計(jì)

  基本原理

  圖1中DSP采集逆變器交流側(cè)輸出電壓值,,并通過(guò)計(jì)算得到橋式電路開(kāi)關(guān)的狀態(tài)保持時(shí)間,。SVPWM信號(hào)發(fā)生器將DSP的輸入時(shí)間信號(hào)轉(zhuǎn)換為開(kāi)關(guān)觸發(fā)信號(hào),在結(jié)構(gòu)上可以分為數(shù)據(jù)鎖存器和有限狀態(tài)機(jī)兩個(gè)模塊,,其頂層文件原理圖如圖2所示,。

頂層文件原理圖

  在狀態(tài)機(jī)的一個(gè)工作周期內(nèi),輸入時(shí)間信號(hào)的突變會(huì)使?fàn)顟B(tài)機(jī)的工作狀態(tài)發(fā)生不規(guī)則跳變,,對(duì)輸出信號(hào)造成巨大影響,,無(wú)法得到所需要的SVPWM 觸發(fā)信號(hào),。因此,,圖2中LATCH鎖存器模塊的作用就是鎖存輸入時(shí)間數(shù)據(jù)TIME1_A、TIME0_A,、TIME1_B,、TIME0_B、TIME1_C ,、TIME0_C,,直至狀態(tài)機(jī)的當(dāng)前工作周期結(jié)束(即"ORDER"命令有效),從而避免外界對(duì)狀態(tài)機(jī)工作狀態(tài)的影響,,保證狀態(tài)機(jī)按照輸入時(shí)間數(shù)據(jù)要求完成工作狀態(tài)的轉(zhuǎn)換,。

  利用有限狀態(tài)機(jī)的方法設(shè)計(jì)FPGA,只須控制三相橋臂開(kāi)關(guān)狀態(tài)的保持時(shí)間,,就可以實(shí)現(xiàn)SVPWM 觸發(fā)信號(hào),。圖2中FSMS主要由1個(gè)基準(zhǔn)計(jì)數(shù)器和3個(gè)比較器構(gòu)成,輸入時(shí)間數(shù)據(jù)預(yù)存在3個(gè)比較器內(nèi),,通過(guò)比較基準(zhǔn)計(jì)數(shù)器當(dāng)前值和比較器中的預(yù)存數(shù)據(jù)控制FSMS工作狀態(tài)的轉(zhuǎn)換,, 同時(shí)根據(jù)不同的比較結(jié)果生成不同的三相橋臂開(kāi)關(guān)驅(qū)動(dòng)信號(hào)。如果基準(zhǔn)計(jì)數(shù)器當(dāng)前值等于預(yù)存輸入時(shí)間,,說(shuō)明狀態(tài)機(jī)當(dāng)前工作狀態(tài)已經(jīng)完成,,要轉(zhuǎn)入下一個(gè)工作狀態(tài),相應(yīng)的觸發(fā)信號(hào)也要改變,;如果基準(zhǔn)計(jì)數(shù)器當(dāng)前值不等于預(yù)存輸入時(shí)間,,說(shuō)明狀態(tài)機(jī)當(dāng)前工作狀態(tài)尚未完成,需要繼續(xù)保持當(dāng)前工作狀態(tài),,相應(yīng)的觸發(fā)信號(hào)也保持不變,。狀態(tài)機(jī)按照輸入時(shí)間信號(hào)的要求轉(zhuǎn)換自身工作狀態(tài),使觸發(fā)信號(hào)產(chǎn)生相應(yīng)變化,,從而實(shí)現(xiàn)時(shí)間信號(hào)向SVPWM 觸發(fā)信號(hào)的轉(zhuǎn)變,。另外,由于FSMS內(nèi)部比較器參照同一基準(zhǔn)計(jì)數(shù)器,因此三相觸發(fā)信號(hào)之間不存在時(shí)間延遲,,得到的是并行的三相觸發(fā)信號(hào),。

  設(shè)計(jì)方法

  本設(shè)計(jì)采用自頂向下、層次化,、模塊化的設(shè)計(jì)思想,。

  LATCH鎖存器模塊由6個(gè)并行的6位數(shù)據(jù)鎖存器構(gòu)成,所有鎖存器均使用圖2中的"ORDER"作為數(shù)據(jù)鎖存信號(hào),,具體規(guī)定如下:

  1)"ORDER" 信號(hào)作為鎖存器工作進(jìn)程的唯一敏感信號(hào)參量,,只有其信號(hào)值發(fā)生變化時(shí)才會(huì)啟動(dòng)鎖存器的工作進(jìn)程,否則鎖存器不做出任何響應(yīng),;

  2)當(dāng)"ORDER"信號(hào)發(fā)生變化,,且當(dāng)前值為1時(shí),鎖存器中的存儲(chǔ)數(shù)據(jù)得以釋放,,被輸入FSMS,,新的時(shí)間數(shù)據(jù)同時(shí)輸入鎖存器;

  3)當(dāng)"ORDER"信號(hào)發(fā)生變化,,且當(dāng)前值為0時(shí),,鎖存器鎖存已輸入時(shí)間數(shù)據(jù),保持FSMS的時(shí)間輸入數(shù)據(jù)不變,, 同時(shí)拒絕新數(shù)據(jù)輸入,;

  4)鎖存器的數(shù)據(jù)鎖存時(shí)間等于FSMS中基準(zhǔn)計(jì)數(shù)器的一個(gè)工作周期。當(dāng)基準(zhǔn)計(jì)數(shù)器完成一個(gè)工作周期時(shí),,"ORDER"信號(hào)將被置'1',,其余時(shí)間,"ORDER"信號(hào)被置'0',。

  為了得到三相并行輸出的SVPWM觸發(fā)信號(hào).FSMS模塊內(nèi)部設(shè)計(jì)了3個(gè)狀態(tài)機(jī)分別控制A,、B、C相輸出,。根據(jù)式1,,假設(shè)上橋臂每個(gè)開(kāi)關(guān)在一個(gè)周期內(nèi)工作狀態(tài)的轉(zhuǎn)換順序都是"1-0-1",因此可以將每個(gè)狀態(tài)機(jī)都設(shè)計(jì)為3種狀態(tài).分別代表每一相開(kāi)關(guān)在一個(gè)周期內(nèi)的3個(gè)工作狀態(tài),,工作狀態(tài)的保持時(shí)間由輸入時(shí)間決定,。當(dāng)輸入時(shí)間信號(hào)發(fā)生變化時(shí),F(xiàn)SMS 工作進(jìn)程啟動(dòng),。具體流程如圖3所示,。

具體流程

  以A相橋臂為例(另外兩相橋臂的控制方法與A相橋臂類(lèi)似),狀態(tài)機(jī)進(jìn)程啟動(dòng)后,,基準(zhǔn)計(jì)數(shù)器開(kāi)始計(jì)時(shí),,比較器實(shí)時(shí)比較計(jì)數(shù)器當(dāng)前值和比較器內(nèi)部預(yù)存的時(shí)間,。計(jì)數(shù)器的一個(gè)工作周期可以分為三個(gè)階段:

 

  1)計(jì)數(shù)器當(dāng)前值小于輸入時(shí)間TIME1_A時(shí).狀態(tài)機(jī)處于"00"態(tài).A相上橋臂輸出為'1';

  2)計(jì)數(shù)器當(dāng)前值大于等于輸入時(shí)間TIME1_A而小于TIME1_A與TIME0_A的和時(shí),,狀態(tài)機(jī)處于"01"態(tài),,A相上橋臂輸出為'0';

  3)計(jì)數(shù)器當(dāng)前值大于等于TIME1_A與TIME0_A的和時(shí),,狀態(tài)機(jī)處于"10"態(tài),,A相上橋臂輸出為'1'。

  如果狀態(tài)機(jī)處于非法狀態(tài)"11",,則圖2中管腳A和NOTA輸出為高阻態(tài),。

  仿真結(jié)果

  利用MAX+PLUS II軟件對(duì)本設(shè)計(jì)的邏輯功能進(jìn)行仿真驗(yàn)證,仿真時(shí)間為0~120us,,時(shí)鐘頻率為1MHz,。

  采用EPM3256ATC144-7FPGA芯片進(jìn)行邏輯編程后,共占用166個(gè)邏輯單元,,芯片利用率為64%,,具有較大的擴(kuò)展空間,。仿真結(jié)果如圖4所示,。

  圖4中輸出信號(hào)A和NOTA,B和和NOTB,,C和NOTC分別代表橋式電路3組互補(bǔ)開(kāi)關(guān)的驅(qū)動(dòng)命令,,輸入信號(hào)time1_A、time1_B,、time1_C和time0_A,,time0_B、time0_C分別代表各開(kāi)關(guān)高低電平狀態(tài)的保持時(shí)間,。通過(guò)仿真波形可以看到,,F(xiàn)PGA實(shí)現(xiàn)了空間矢量的轉(zhuǎn)換,開(kāi)關(guān)的狀態(tài)保持時(shí)間取決于輸入信號(hào)time0_A,、time0_B,、time0_C和time1_A、time1_B,、time1_C,,完全實(shí)現(xiàn)了時(shí)間信號(hào)到觸發(fā)信號(hào)的轉(zhuǎn)換。而且,,A相橋臂有效地抵抗了外界干擾,,沒(méi)有受到輸入時(shí)間信號(hào)突變的影響,表明SVPWM信號(hào)發(fā)生器具有良好的抗干擾能力,。

仿真結(jié)果

  結(jié)語(yǔ)

  本文用VHDL硬件描述語(yǔ)言設(shè)計(jì)了一種由鎖存器陣列和有限狀態(tài)機(jī)構(gòu)成的SVPWM信號(hào)發(fā)生器,,該信號(hào)發(fā)生器不僅成功實(shí)現(xiàn)了輸入時(shí)間信號(hào)到SVPWM觸發(fā)信號(hào)的轉(zhuǎn)換,而且具有良好的抗干擾能力。此外,,其并行處理結(jié)構(gòu)可以保證三相橋臂開(kāi)關(guān)同時(shí)動(dòng)作,,有效地提升了控制系統(tǒng)的整體性能。由于SVPWM信號(hào)發(fā)生器是用VHDL硬件描述語(yǔ)言實(shí)現(xiàn)的IP核.因而可簡(jiǎn)便地應(yīng)用于逆變器控制系統(tǒng)中,。

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