文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2017.07.015
中文引用格式: 劉朝勇,王綏超,鄭先成. 基于System Generator模型導(dǎo)出法的Boost變換器控制[J].電子技術(shù)應(yīng)用,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設(shè)計(jì)者主要通過Verilog/VHDL語(yǔ)言來(lái)實(shí)現(xiàn)模型搭建,這對(duì)設(shè)計(jì)者語(yǔ)言上的要求很高。基于模塊化設(shè)計(jì)的模型搭建方法的出現(xiàn),簡(jiǎn)化了語(yǔ)言方式建模的復(fù)雜過程,使得系統(tǒng)從設(shè)計(jì)到實(shí)現(xiàn)的周期大大縮短,同時(shí)也保證了所實(shí)現(xiàn)功能的一致性。
Xilinx公司的System Generator軟件自帶的算法模塊為FPGA的設(shè)計(jì)使用引入了新的方法。結(jié)合FPGA自身豐富的觸發(fā)器資源、大量的I/O引腳資源、高速的CMOS工藝和功耗低等特點(diǎn),System Generator軟件可以將控制系統(tǒng)導(dǎo)出,應(yīng)用于FPGA集成開發(fā)軟件之中,簡(jiǎn)化設(shè)計(jì)的過程。
完整的系統(tǒng)通過System Generator軟件仿真后直接生成硬件語(yǔ)言集成核,下載至FPGA平臺(tái)中進(jìn)行測(cè)試,使得Verilog/VHDL語(yǔ)言基礎(chǔ)薄弱的工程師也可以通過設(shè)計(jì)、仿真和實(shí)驗(yàn)很好地進(jìn)行FPGA開發(fā)工作。
1 基于模塊化建模
1.1 Xilinx軟件介紹
Xilinx新一代集成開發(fā)環(huán)境Vivado突出基于知識(shí)產(chǎn)權(quán)(Intellectual Property,IP)核的設(shè)計(jì)方法,更加體現(xiàn)系統(tǒng)級(jí)設(shè)計(jì)思想,進(jìn)一步增強(qiáng)了設(shè)計(jì)者對(duì)FPGA底層布局和布線的干預(yù)能力[1]。
開發(fā)者可以通過MATLAB/Simulink環(huán)境調(diào)用Xilinx模塊來(lái)完成模型搭建,并且通過調(diào)用核生成器為所構(gòu)建的控制模塊生成經(jīng)過優(yōu)化的網(wǎng)表和知識(shí)產(chǎn)權(quán)核文件,導(dǎo)出生成相應(yīng)的工程文件[1]。由MATLAB/Simulink生成的工程文件可以使用Vivado軟件進(jìn)行進(jìn)一步編輯,最終生成FPGA可以執(zhí)行的數(shù)據(jù)流文件。System Generator的這種特性可以使設(shè)計(jì)的注意力只集中在關(guān)鍵部分。
1.2 模型搭建
圖1顯示的是基于System Generator模型導(dǎo)出的變換器控制框圖,包括模型搭建、模型仿真、控制器導(dǎo)出和實(shí)驗(yàn)驗(yàn)證幾大部分。
本文以簡(jiǎn)單的Boost升壓電路為例,實(shí)現(xiàn)基于System Generator的控制器導(dǎo)出。設(shè)定Boost變換器輸入電壓為12 V,輸出電壓為24 V,開關(guān)頻率為40 kHz。
使用Xilinx模塊搭建的仿真模型分為主電路和控制電路兩個(gè)部分。主電路由電源、電感、電容、負(fù)載和開關(guān)器件等組成,控制電路為采用Xilinx模塊搭建的離散PI控制器。對(duì)主電路輸出電壓進(jìn)行采樣處理,然后輸送到控制器。控制器輸出結(jié)果與三角波進(jìn)行比較得到PWM脈寬調(diào)制波來(lái)控制主電路開關(guān)管的導(dǎo)通與關(guān)斷,如此進(jìn)行信號(hào)的反饋閉環(huán)過程[2]。
在MATLAB-Xilinx模型中,需要將PI控制算法離散化。離散PI有增量式和位置式兩種方式,如式(1)與式(2)所描述[3-4],增量式離散PI僅涉及到當(dāng)前周期誤差量與上一周期誤差量,使用起來(lái)較為方便,是最常使用的離散PI算法。但是增量式PI在實(shí)現(xiàn)受限于FPGA中的寄存器周期移位賦值,對(duì)于Xilinx模塊的使用效果不理想。本文選擇位置式離散PI算法,使用離散狀態(tài)下的累加模塊來(lái)實(shí)現(xiàn)連續(xù)狀態(tài)下的積分功能。累加模塊自身帶有限幅的功能,大大減少了Xilinx模塊使用量[5]。控制器模型圖如圖2所示。
增量式離散PI算法:
位置式離散PI算法:
式中Kp與Ki分別表示比例增益與積分增益,u表示控制量,e表示控制量與給定量的偏差,k表示不同的周期。
2 仿真模型驗(yàn)證與控制器導(dǎo)出
2.1 仿真結(jié)果對(duì)比分析
與Simulink模塊搭建的控制器不同,Xilinx模塊下的控制器是使用PI離散方程搭建的,其運(yùn)算于離散時(shí)間模式下,因此離散控制器的功能性驗(yàn)證尤為重要[6]。同時(shí),基于System Generator模型導(dǎo)出的變換器控制器設(shè)計(jì),最終的目的是將模塊搭建的控制器轉(zhuǎn)換成IP核來(lái)使用,于是,利用Xilinx模塊搭建的控制器的功能能否在FPGA中正常運(yùn)算是十分重要的部分[7]。
針對(duì)上面提出的問題,分別進(jìn)行了MATLAB-Simulink環(huán)境、MATLAB-Xilinx環(huán)境和硬件在環(huán)聯(lián)合環(huán)境下的仿真工作,并對(duì)仿真結(jié)果進(jìn)行分析:仿真結(jié)果幅值方面,3種仿真模式下的輸出結(jié)果Udc的幅值是一致的,說明不同方式搭建的控制器仿真模型可以實(shí)現(xiàn)同樣的功能;算法執(zhí)行環(huán)境方面,同樣的仿真結(jié)果表明Xilinx模塊搭建的控制器算法可以正常運(yùn)行于FPGA中;仿真結(jié)果穩(wěn)定情況方面,Simulink模型輸出比Xilinx模型輸出更加穩(wěn)定,沒有抖動(dòng)。經(jīng)過分析得出,Xilinx模型存在抖動(dòng)的原因,是由于System Generator控制管理的Xilinx模塊基于離散模式下的算法模塊,而POWER GUI控制管理下的Simulink模塊工作在連續(xù)狀態(tài)。連續(xù)模型與離散模型互相結(jié)合工作,導(dǎo)致了輸出結(jié)果存在抖動(dòng)情況。聯(lián)合仿真實(shí)現(xiàn)的是控制器IP核于FPGA之中執(zhí)行運(yùn)算,同樣存在著波動(dòng)。
2.2 聯(lián)合仿真分析
聯(lián)合仿真的原理與本文基于System Generator模型導(dǎo)出的變換器控制設(shè)計(jì)中心思想一致,重點(diǎn)在于導(dǎo)出環(huán)節(jié)。在聯(lián)合仿真過程中,將Xilinx模塊搭建的控制器導(dǎo)出成Verilog語(yǔ)言下的集成核,該核在FPGA中完成控制器算法的運(yùn)算過程[7-9]。
聯(lián)合仿真是Xilinx模塊搭建的控制器的最直接的驗(yàn)證過程,因其在ZedBoard開發(fā)板的FPGA環(huán)境下實(shí)現(xiàn)控制算法仿真,所以聯(lián)合仿真的結(jié)果是控制器算法最真實(shí)的體現(xiàn),是算法功能性驗(yàn)證的最好方法。仿真模型如圖3所示。圖4顯示的是聯(lián)合仿真集成核,其實(shí)現(xiàn)控制算法運(yùn)算于FPGA過程中的數(shù)據(jù)反饋。
2.3 模型導(dǎo)出
Xilinx模塊搭建而成的控制器,通過System Generator導(dǎo)出成Vivado可以使用的IP核。該IP核僅包括Xilinx模塊構(gòu)成的控制器部分,其由GatewayIN/GatewayOUT來(lái)定義端口參數(shù)。這些端口參數(shù)設(shè)定了輸入/輸出數(shù)據(jù)的類型、位數(shù)等信息,同時(shí)包含了離散仿真步長(zhǎng)信息。GatewayIN/GatewayOUT起到了連接外部數(shù)據(jù)和Xilinx模塊的關(guān)鍵作用。導(dǎo)出環(huán)境下System Generator的信息如圖5所示。從圖中軟件設(shè)置信息可以看出,將Boost變換器的控制系統(tǒng)導(dǎo)出成IP核的形式,并針對(duì)所擁有的FPGA芯片系列選定了相對(duì)應(yīng)的開發(fā)板,同時(shí)將Verilog語(yǔ)言作為開發(fā)設(shè)計(jì)的硬件描述語(yǔ)言。其他選項(xiàng)設(shè)定為默認(rèn)設(shè)置即可。此處設(shè)置了合適的導(dǎo)出對(duì)象與導(dǎo)出環(huán)境,是整個(gè)設(shè)計(jì)關(guān)鍵的一步。
2.4 Vivado軟件處理
經(jīng)過System Generator導(dǎo)出的Boost控制器,作為一個(gè)獨(dú)立的IP核,可以由Vivado軟件進(jìn)行使用操作。本文中使用Vivado軟件,搭建Boost變換器數(shù)據(jù)處理模型,包括主模塊(XADC模數(shù)轉(zhuǎn)換模塊、數(shù)據(jù)分離處理模塊)和控制模塊(IP核),如圖6所示。其中模數(shù)轉(zhuǎn)換使用ZedBoard板卡自帶的模數(shù)轉(zhuǎn)換器,借助XADC將輸入開發(fā)板的模擬量轉(zhuǎn)化為數(shù)字量。數(shù)據(jù)分離模塊存在是因?yàn)橛蒟ADC出來(lái)的數(shù)據(jù)是混亂的(開發(fā)板輸入n通道的數(shù)據(jù),XADC輸出1…n.1…n格式的數(shù)據(jù)),其目的在于將XADC轉(zhuǎn)換出來(lái)的數(shù)據(jù)進(jìn)行有效分離,以便于后級(jí)的運(yùn)算操作。數(shù)據(jù)處理模塊主要是將數(shù)字量進(jìn)行處理,使其與實(shí)際中模擬量的大小相對(duì)應(yīng),以進(jìn)行后續(xù)的PI控制。
3 實(shí)驗(yàn)驗(yàn)證
實(shí)驗(yàn)借助了ZedBoard開發(fā)板平臺(tái)上的高精度AD轉(zhuǎn)換器,同時(shí)在面包板上搭建的Boost變換器,結(jié)合采樣調(diào)理板形成一個(gè)閉環(huán)控制系統(tǒng)進(jìn)行實(shí)驗(yàn)。
首先是對(duì)Boost主電路上的輸出信號(hào)進(jìn)行采樣,該信號(hào)經(jīng)過調(diào)理板進(jìn)行處理。調(diào)理板出來(lái)的信號(hào)輸送到ZedBoard開發(fā)板,在開發(fā)板上進(jìn)行模數(shù)轉(zhuǎn)換和進(jìn)一步數(shù)據(jù)處理,處理結(jié)果經(jīng)由System Generator導(dǎo)出控制器IP核之后與三角波進(jìn)行比較,得到PWM波輸出。PWM波經(jīng)過驅(qū)動(dòng)電路然后控制Mosfet的導(dǎo)通與關(guān)斷。
結(jié)合實(shí)驗(yàn)結(jié)果圖7,得到表1。從表1中可以看出,Boost變換器在輸入11.5 V~15 V的變化過程中,輸出電壓可以穩(wěn)定在24.2 V左右。在變載試驗(yàn)下,輸出電壓略微下降0.3 V。
4 結(jié)束語(yǔ)
結(jié)合MATLAB/Simulink環(huán)境,使用Xilinx公司提供的System Generator模塊庫(kù)來(lái)搭建仿真模型,然后生成Verilog硬件描述語(yǔ)言實(shí)現(xiàn)的IP核的控制系統(tǒng)設(shè)計(jì)方法,使得FPGA設(shè)計(jì)開發(fā)者可以利用Simulink的仿真功能和MATLAB的強(qiáng)大數(shù)據(jù)分析能力來(lái)進(jìn)行FPGA系統(tǒng)級(jí)仿真和行為級(jí)分析。相比于以往直接使用Verilog/VHDL語(yǔ)言來(lái)進(jìn)行控制系統(tǒng)的編寫,大大簡(jiǎn)化了不同環(huán)節(jié)之間的相互連接驗(yàn)證工作,同時(shí)提高了功能實(shí)現(xiàn)的驗(yàn)證效率,縮短了設(shè)計(jì)周期。這種設(shè)計(jì)上的靈活性,在滿足要求的同時(shí),也便于對(duì)細(xì)節(jié)的修改,使得設(shè)計(jì)好的模型可以被重復(fù)使用,是FPGA設(shè)計(jì)的新方向。
參考文獻(xiàn)
[1] 何賓.Xilinx FPGA權(quán)威設(shè)計(jì)指南:Vivado 2014集成開發(fā)環(huán)境[M].北京:電子工業(yè)出版社,2015.
[2] 龐圣釗,皇甫宜耿,郭亮,等.一種采用高頻電流前饋補(bǔ)償?shù)腂oost變換器系統(tǒng)穩(wěn)定方法[J].中國(guó)電機(jī)工程學(xué)報(bào),2016,36(20):5616-5623.
[3] ABBAS G,F(xiàn)AROOQ 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算法快速硬件實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2011:37(11):48-51.
[6] 李寧.基于Xilinx FPGA的機(jī)電系統(tǒng)智能控制器設(shè)計(jì)及應(yīng)用[D].濟(jì)南:山東大學(xué),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.上海飛機(jī)設(shè)計(jì)研究院,上海201210;2.西北工業(yè)大學(xué) 自動(dòng)化學(xué)院,陜西 西安710000)