華文網

基於System Generator模型匯出法的Boost變換器控制

劉朝勇1,王綏超2,鄭先成2

(1.上海飛機設計研究院,上海201210;2.西北工業大學 自動化學院,陝西 西安710000)

利用System Generator軟體平臺,實現基於模組化建模方法的變換器建模,並簡化語言編寫控制系統的複雜過程。

研究了從MATLAB-Xilinx環境中匯出使用模組化建模方法搭建的控制演算法。通過MATLAB模擬、軟硬體聯合模擬和實驗進行驗證,證明了將控制演算法匯出使用的可行性。

System Generator;模組化建模;控制演算法匯出

中圖分類號:TP273

文獻標識碼: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語言來實現模型搭建,這對設計者語言上的要求很高。

基於模組化設計的模型搭建方法的出現,簡化了語言方式建模的複雜過程,使得系統從設計到實現的週期大大縮短,同時也保證了所實現功能的一致性。

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控制器。對主電路輸出電壓進行採樣處理,然後輸送到控制器。控制器輸出結果與三角波進行比較得到PWM脈寬調製波來控制主電路開關管的導通與關斷,如此進行信號的回饋閉環過程[2]。

在MATLAB-Xilinx模型中,需要將PI控制演算法離散化。離散PI有增量式和位置式兩種方式,如式(1)與式(2)所描述[3-4],增量式離散PI僅涉及到當前週期誤差量與上一週期誤差量,使用起來較為方便,是最常使用的離散PI演算法。但是增量式PI在實現受限於FPGA中的寄存器週期移位賦值,對於Xilinx模組的使用效果不理想。本文選擇位置式離散PI演算法,使用離散狀態下的累加模組來實現連續狀態下的積分功能。累加模組自身帶有限幅的功能,大大減少了Xilinx模組使用量[5]。控制器模型圖如圖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.

使用起來較為方便,是最常使用的離散PI演算法。但是增量式PI在實現受限於FPGA中的寄存器週期移位賦值,對於Xilinx模組的使用效果不理想。本文選擇位置式離散PI演算法,使用離散狀態下的累加模組來實現連續狀態下的積分功能。累加模組自身帶有限幅的功能,大大減少了Xilinx模組使用量[5]。控制器模型圖如圖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.