文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.07.015
中文引用格式: 劉朝勇,王綏超,鄭先成. 基于System Generator模型導出法的Boost變換器控制[J].電子技術應用,2017,43(7):59-62.
英文引用格式: Liu Chaoyong,Wang Suichao,Zheng Xiancheng. Implementation of Boost converter control based on the export method of System Generator model[J].Application of Electronic Technique,2017,43(7):59-62.
0 引言
以往的FPGA設計者主要通過Verilog/VHDL語言來實現模型搭建,這對設計者語言上的要求很高?;谀K化設計的模型搭建方法的出現,簡化了語言方式建模的復雜過程,使得系統從設計到實現的周期大大縮短,同時也保證了所實現功能的一致性。
Xilinx公司的System Generator軟件自帶的算法模塊為FPGA的設計使用引入了新的方法。結合FPGA自身豐富的觸發器資源、大量的I/O引腳資源、高速的CMOS工藝和功耗低等特點,System Generator軟件可以將控制系統導出,應用于FPGA集成開發軟件之中,簡化設計的過程。
完整的系統通過System Generator軟件仿真后直接生成硬件語言集成核,下載至FPGA平臺中進行測試,使得Verilog/VHDL語言基礎薄弱的工程師也可以通過設計、仿真和實驗很好地進行FPGA開發工作。
1 基于模塊化建模
1.1 Xilinx軟件介紹
Xilinx新一代集成開發環境Vivado突出基于知識產權(Intellectual Property,IP)核的設計方法,更加體現系統級設計思想,進一步增強了設計者對FPGA底層布局和布線的干預能力[1]。
開發者可以通過MATLAB/Simulink環境調用Xilinx模塊來完成模型搭建,并且通過調用核生成器為所構建的控制模塊生成經過優化的網表和知識產權核文件,導出生成相應的工程文件[1]。由MATLAB/Simulink生成的工程文件可以使用Vivado軟件進行進一步編輯,最終生成FPGA可以執行的數據流文件。System Generator的這種特性可以使設計的注意力只集中在關鍵部分。
1.2 模型搭建
圖1顯示的是基于System Generator模型導出的變換器控制框圖,包括模型搭建、模型仿真、控制器導出和實驗驗證幾大部分。
本文以簡單的Boost升壓電路為例,實現基于System Generator的控制器導出。設定Boost變換器輸入電壓為12 V,輸出電壓為24 V,開關頻率為40 kHz。
使用Xilinx模塊搭建的仿真模型分為主電路和控制電路兩個部分。主電路由電源、電感、電容、負載和開關器件等組成,控制電路為采用Xilinx模塊搭建的離散PI控制器。對主電路輸出電壓進行采樣處理,然后輸送到控制器??刂破鬏敵鼋Y果與三角波進行比較得到PWM脈寬調制波來控制主電路開關管的導通與關斷,如此進行信號的反饋閉環過程[2]。
在MATLAB-Xilinx模型中,需要將PI控制算法離散化。離散PI有增量式和位置式兩種方式,如式(1)與式(2)所描述[3-4],增量式離散PI僅涉及到當前周期誤差量與上一周期誤差量,使用起來較為方便,是最常使用的離散PI算法。但是增量式PI在實現受限于FPGA中的寄存器周期移位賦值,對于Xilinx模塊的使用效果不理想。本文選擇位置式離散PI算法,使用離散狀態下的累加模塊來實現連續狀態下的積分功能。累加模塊自身帶有限幅的功能,大大減少了Xilinx模塊使用量[5]??刂破髂P蛨D如圖2所示。
增量式離散PI算法:
位置式離散PI算法:
式中Kp與Ki分別表示比例增益與積分增益,u表示控制量,e表示控制量與給定量的偏差,k表示不同的周期。
2 仿真模型驗證與控制器導出
2.1 仿真結果對比分析
與Simulink模塊搭建的控制器不同,Xilinx模塊下的控制器是使用PI離散方程搭建的,其運算于離散時間模式下,因此離散控制器的功能性驗證尤為重要[6]。同時,基于System Generator模型導出的變換器控制器設計,最終的目的是將模塊搭建的控制器轉換成IP核來使用,于是,利用Xilinx模塊搭建的控制器的功能能否在FPGA中正常運算是十分重要的部分[7]。
針對上面提出的問題,分別進行了MATLAB-Simulink環境、MATLAB-Xilinx環境和硬件在環聯合環境下的仿真工作,并對仿真結果進行分析:仿真結果幅值方面,3種仿真模式下的輸出結果Udc的幅值是一致的,說明不同方式搭建的控制器仿真模型可以實現同樣的功能;算法執行環境方面,同樣的仿真結果表明Xilinx模塊搭建的控制器算法可以正常運行于FPGA中;仿真結果穩定情況方面,Simulink模型輸出比Xilinx模型輸出更加穩定,沒有抖動。經過分析得出,Xilinx模型存在抖動的原因,是由于System Generator控制管理的Xilinx模塊基于離散模式下的算法模塊,而POWER GUI控制管理下的Simulink模塊工作在連續狀態。連續模型與離散模型互相結合工作,導致了輸出結果存在抖動情況。聯合仿真實現的是控制器IP核于FPGA之中執行運算,同樣存在著波動。
2.2 聯合仿真分析
聯合仿真的原理與本文基于System Generator模型導出的變換器控制設計中心思想一致,重點在于導出環節。在聯合仿真過程中,將Xilinx模塊搭建的控制器導出成Verilog語言下的集成核,該核在FPGA中完成控制器算法的運算過程[7-9]。
聯合仿真是Xilinx模塊搭建的控制器的最直接的驗證過程,因其在ZedBoard開發板的FPGA環境下實現控制算法仿真,所以聯合仿真的結果是控制器算法最真實的體現,是算法功能性驗證的最好方法。仿真模型如圖3所示。圖4顯示的是聯合仿真集成核,其實現控制算法運算于FPGA過程中的數據反饋。
2.3 模型導出
Xilinx模塊搭建而成的控制器,通過System Generator導出成Vivado可以使用的IP核。該IP核僅包括Xilinx模塊構成的控制器部分,其由GatewayIN/GatewayOUT來定義端口參數。這些端口參數設定了輸入/輸出數據的類型、位數等信息,同時包含了離散仿真步長信息。GatewayIN/GatewayOUT起到了連接外部數據和Xilinx模塊的關鍵作用。導出環境下System Generator的信息如圖5所示。從圖中軟件設置信息可以看出,將Boost變換器的控制系統導出成IP核的形式,并針對所擁有的FPGA芯片系列選定了相對應的開發板,同時將Verilog語言作為開發設計的硬件描述語言。其他選項設定為默認設置即可。此處設置了合適的導出對象與導出環境,是整個設計關鍵的一步。
2.4 Vivado軟件處理
經過System Generator導出的Boost控制器,作為一個獨立的IP核,可以由Vivado軟件進行使用操作。本文中使用Vivado軟件,搭建Boost變換器數據處理模型,包括主模塊(XADC模數轉換模塊、數據分離處理模塊)和控制模塊(IP核),如圖6所示。其中模數轉換使用ZedBoard板卡自帶的模數轉換器,借助XADC將輸入開發板的模擬量轉化為數字量。數據分離模塊存在是因為由XADC出來的數據是混亂的(開發板輸入n通道的數據,XADC輸出1…n.1…n格式的數據),其目的在于將XADC轉換出來的數據進行有效分離,以便于后級的運算操作。數據處理模塊主要是將數字量進行處理,使其與實際中模擬量的大小相對應,以進行后續的PI控制。
3 實驗驗證
實驗借助了ZedBoard開發板平臺上的高精度AD轉換器,同時在面包板上搭建的Boost變換器,結合采樣調理板形成一個閉環控制系統進行實驗。
首先是對Boost主電路上的輸出信號進行采樣,該信號經過調理板進行處理。調理板出來的信號輸送到ZedBoard開發板,在開發板上進行模數轉換和進一步數據處理,處理結果經由System Generator導出控制器IP核之后與三角波進行比較,得到PWM波輸出。PWM波經過驅動電路然后控制Mosfet的導通與關斷。
結合實驗結果圖7,得到表1。從表1中可以看出,Boost變換器在輸入11.5 V~15 V的變化過程中,輸出電壓可以穩定在24.2 V左右。在變載試驗下,輸出電壓略微下降0.3 V。
4 結束語
結合MATLAB/Simulink環境,使用Xilinx公司提供的System Generator模塊庫來搭建仿真模型,然后生成Verilog硬件描述語言實現的IP核的控制系統設計方法,使得FPGA設計開發者可以利用Simulink的仿真功能和MATLAB的強大數據分析能力來進行FPGA系統級仿真和行為級分析。相比于以往直接使用Verilog/VHDL語言來進行控制系統的編寫,大大簡化了不同環節之間的相互連接驗證工作,同時提高了功能實現的驗證效率,縮短了設計周期。這種設計上的靈活性,在滿足要求的同時,也便于對細節的修改,使得設計好的模型可以被重復使用,是FPGA設計的新方向。
參考文獻
[1] 何賓.Xilinx FPGA權威設計指南:Vivado 2014集成開發環境[M].北京:電子工業出版社,2015.
[2] 龐圣釗,皇甫宜耿,郭亮,等.一種采用高頻電流前饋補償的Boost變換器系統穩定方法[J].中國電機工程學報,2016,36(20):5616-5623.
[3] ABBAS G,FAROOQ U,ASAD M U.Design and FPGA implementation of 1-degree-of-freedom discrete PID controller for power switching converter[C].Industrial Electronics and Applications.IEEE,2012:1070-1074.
[4] KOCUR M,KOZAK S,DVORSCAK B.Design and implementation of FPGA-digital based PID controller[C].Control Conference.IEEE,2014:233-236.
[5] 錢偉康,倪元鴻,謝凱年,等.基于Xilinx System Generator的PID算法快速硬件實現[J].電子技術應用,2011:37(11):48-51.
[6] 李寧.基于Xilinx FPGA的機電系統智能控制器設計及應用[D].濟南:山東大學,2010.
[7] KIDOKORO H,NAKAHARA M.FPGA-based hardware-in-the-loop simulator of high switching frequency power converters[C].International Telecommunications Energy Conference.IEEE,2015:1-6.
[8] SOPHIA A S,BABU A R.Development of FPGA controller based high step-up DC-DC Converter using coupled inductor[C].2016 Second International Conference on Science Technology Engineering and Management.IEEE,2016:377-382.
[9] DUFOUR C,CENSE S,B?魪LANGER J.FPGA-based switched reluctance motor drive and DC-DC converter models for high-bandwidth HIL real-time simulator[C].European Conference on Power Electronics and Applications.IEEE,2013:1-8.
作者信息:
劉朝勇1,王綏超2,鄭先成2
(1.上海飛機設計研究院,上海201210;2.西北工業大學 自動化學院,陜西 西安710000)