基于Nios II處理器的SVPWM IP Core設計
(2)Avalon接口設計。
Avalon接口為SVPWM IP Core提供了一個標準的Avalon從端口,通過此接口按照Avalon從端口的傳輸協議對IP Core進行控制,相關的Avalon接口信息如表3所示。本文引用地址:http://www.104case.com/article/190673.htm
(3)乘法因子計算模塊。
這里的乘法因子是指式(6)和式(7)中的方括號內運算的結果。本模塊根據外部A/D轉換的結果、設定的TPWM及預期的參考電壓矢量的數值,計算出式(6),式(7)的方括號內的結果,用于乘法模塊中對ta和tb的計算。
(4)數據存儲模塊。
sinθ及sin(π/3-θ)在擴大255倍后,分別作為高8位和低8位存儲在容量為128×16 bit的ROM中,從而可以同時讀取分別用于式(6)中tb和式(7)中ta的計算。時序控制ROM的容量為32×3 bit,存儲表1中的開關時序,其高3位地址用于對6個扇區編碼,最低2位地址用于某區間內的時序控制,由于在同一區間中采用升降計數,根據表1中橋臂開關切換的對稱性可知,只要兩位地址即可存儲時序控制信號。
(5)數據選擇器。
當0≤θπ/6時,利用正弦值存儲模塊輸出數據的高8位計算tb,利用低8位計算ta;而當θ值為π/6≤θπ/3時,則應該利用低8位計算tb,利用高8位計算ta。通過數據選擇器實現高、低8位的交換。
(6)時序控制模塊及IGBT時序控制ROM。
時序控制模塊根據當前所處的扇區、ta、tb及當前PWM的計數值生成IGBT時序控制ROM的地址。IGBT時序控制ROM中存儲的是橋臂開關控制的時序,根據時序控制模塊輸出的地址,將存儲在ROM中的開關控制量讀出后送至死區發生器模塊。
(7)死區發生器模塊。
死區發生器模塊用于將橋臂上部IGBT管的3個時序控制信號,變為用戶設定死區時間的3組信號,對6個IGBT管進行控制,死區時間在0~6.3μs之間設置,步進值0.1μs。死區發生器仿真結果如圖5所示,輸入信號為pulse_in,輸出信號為pulse_a和pulse_b,死區時間設置為0.4μs。
3 設計驗證
各模塊設計完成后,用原理圖方式完成系統設計如圖4所示,在SOPC Builder中將之作為自定義組件添加到系統中生成IP Core。設計驗證在Altera公司的DE2開發板上進行,將該IP Core添加到SOPC工程中,編譯、下載到FPGA芯片中,運行測試程序后,利用SignalTapII Logic AnMyer捕捉到橋臂上方3個IGBT管的控制信號如圖6所示。圖中的sector是為方便測試而引出的扇區編號信號,由圖可知設計正確。
4 結束語
設計了一個結構簡單、性能良好的SVPWM IP核,并在Nios II平臺下將其封裝成一個模塊化的獨立元件,使之易于在其他的工程中復用,利用該IP核可以方便地構建基于Nios II嵌入式處理器的SVPWM控制系統,體現了SOPC嵌入式系統的靈活性和擴展性。
評論