<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于Nios II處理器的SVPWM IP Core設計

          基于Nios II處理器的SVPWM IP Core設計

          作者: 時間:2012-03-09 來源:網(wǎng)絡 收藏

          摘要 為降低FPGA實現(xiàn)3電平算法的復雜性,減小模塊所占用的資源,文中利用正弦函數(shù)和余弦函數(shù)的關(guān)系,采用小容量ROM提出了一種新的控制算法。利用Verilog HDL實現(xiàn)了算法的硬件設計,并封裝成核以方便設計復用,在Altera公司的DE2開發(fā)板上進行了設計驗證,體現(xiàn)了SOPC嵌入式系統(tǒng)的靈活性和擴展性。
          關(guān)鍵詞 有源逆變;SVPWM; ;SOPC

          電壓空間矢量脈沖寬度調(diào)制(SVPWM)具有諧波小、直流電壓利用率高等特點,因而廣泛應用于具有高效、節(jié)能特性的有源逆變中。由于SVPWM物理概念清晰、控制算法簡單、數(shù)字化實現(xiàn)方便。因此通常用微控制器(MCU)或數(shù)字信號處理器(DSP)實現(xiàn),使用MCU實現(xiàn)具有較大的靈活性,但速度受到一定限制;使用DSP實現(xiàn)雖可以提高開關(guān)頻率,但兩者都有開發(fā)時間相對較長、CPU占用率高的缺點。文中提出了一種基于FPGA的SVPWM硬件實現(xiàn)方案,文中方案與其他硬件設計方案相比電路結(jié)構(gòu)簡單、占用FPGA資源少、便于和MCU/DSP接口。由于采用基于FPGA的硬件電路設計,因此大大降低了對MCU/DSP速度的要求,同時減小了編程工作量。

          1 SVPWM基本原理
          1.1 參考電壓矢量的合成
          三相逆變橋電路如圖1所示,其中6個開關(guān)管受3組互補脈沖控制,總共有8種可能的開關(guān)組合,對應于8種基本空間電壓矢量

          本文引用地址:http://www.ex-cimer.com/article/190673.htm

          b.jpg


          a.jpg
          V7=V8=0 (2)
          其中6種是非零基本空間電壓矢量,另外2種是零空間電壓矢量。當逆變器單獨輸出6種基本電壓空間矢量時,電動機定子磁鏈矢量矢端的運動軌跡就是一個正六邊形,如圖2中實線所示。采用8個基本電壓矢量實現(xiàn)目標電壓矢量的合成,即在一個開關(guān)周期內(nèi)通過對基本電壓矢量進行組合,使其平均值與給定電壓矢量相等。具體而言,某區(qū)域中的電壓矢量可由組成這個區(qū)域的2個相鄰的非零矢量及零矢量的不同作用時間來合成。矢量的作用時間可以一次施加,也可以在一個采樣周期內(nèi)分多次施加,通過控制各個電壓矢量的作用時間,使電壓空間矢量接近按圓軌跡旋轉(zhuǎn),如圖2中虛線所示,從而使磁通逼近基準磁鏈圓,產(chǎn)生恒定的電磁轉(zhuǎn)矩。

          c.jpg


          上一頁 1 2 3 4 下一頁

          關(guān)鍵詞: SVPWM Nios Core IP

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();