文獻(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語言來實(shí)現(xiàn)模型搭建,,這對(duì)設(shè)計(jì)者語言上的要求很高,?;谀K化設(shè)計(jì)的模型搭建方法的出現(xiàn),簡(jiǎn)化了語言方式建模的復(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軟件仿真后直接生成硬件語言集成核,,下載至FPGA平臺(tái)中進(jìn)行測(cè)試,使得Verilog/VHDL語言基礎(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模塊來完成模型搭建,,并且通過調(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)制波來控制主電路開關(guān)管的導(dǎo)通與關(guān)斷,,如此進(jìn)行信號(hào)的反饋閉環(huán)過程[2],。
在MATLAB-Xilinx模型中,需要將PI控制算法離散化,。離散PI有增量式和位置式兩種方式,,如式(1)與式(2)所描述[3-4],增量式離散PI僅涉及到當(dāng)前周期誤差量與上一周期誤差量,,使用起來較為方便,,是最常使用的離散PI算法。但是增量式PI在實(shí)現(xiàn)受限于FPGA中的寄存器周期移位賦值,,對(duì)于Xilinx模塊的使用效果不理想,。本文選擇位置式離散PI算法,使用離散狀態(tài)下的累加模塊來實(shí)現(xiàn)連續(xù)狀態(tài)下的積分功能,。累加模塊自身帶有限幅的功能,,大大減少了Xilinx模塊使用量[5]??刂破髂P蛨D如圖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核來使用,,于是,,利用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語言下的集成核,,該核在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來定義端口參數(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語言作為開發(fā)設(shè)計(jì)的硬件描述語言,。其他選項(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出來的數(shù)據(jù)是混亂的(開發(fā)板輸入n通道的數(shù)據(jù),XADC輸出1…n.1…n格式的數(shù)據(jù)),,其目的在于將XADC轉(zhuǎn)換出來的數(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)理板出來的信號(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é)束語
結(jié)合MATLAB/Simulink環(huán)境,使用Xilinx公司提供的System Generator模塊庫(kù)來搭建仿真模型,,然后生成Verilog硬件描述語言實(shí)現(xiàn)的IP核的控制系統(tǒng)設(shè)計(jì)方法,,使得FPGA設(shè)計(jì)開發(fā)者可以利用Simulink的仿真功能和MATLAB的強(qiáng)大數(shù)據(jù)分析能力來進(jìn)行FPGA系統(tǒng)級(jí)仿真和行為級(jí)分析,。相比于以往直接使用Verilog/VHDL語言來進(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)