利用模块化建模方法实现基于System Generator的控制器导出并多软硬件仿真验证

利用模块化建模方法实现基于System Generator的控制器导出并多软硬件仿真验证,第1张

摘 要: 利用System Generator软件平台,实现基于模块化建模方法的变换器建模,并简化语言编写控制系统的复杂过程。研究了从MATLAB-Xilinx环境中导出使用模块化建模方法搭建的控制算法。通过MATLAB仿真、软硬件联合仿真和实验进行验证,证明了将控制算法导出使用的可行性。

0 引言

以往的FPGA设计者主要通过Verilog/VHDL语言来实现模型搭建,这对设计者语言上的要求很高。基于模块化设计的模型搭建方法的出现,简化了语言方式建模的复杂过程,使得系统从设计到实现的周期大大缩短,同时也保证了所实现功能的一致性。

完整的系统通过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模型导出的变换器控制框图,包括模型搭建、模型仿真、控制器导出和实验验证几大部分。

利用模块化建模方法实现基于System Generator的控制器导出并多软硬件仿真验证,利用模块化建模方法实现基于System Generator的控制器导出并多软硬件仿真验证,第2张

本文以简单的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所示。

利用模块化建模方法实现基于System Generator的控制器导出并多软硬件仿真验证,利用模块化建模方法实现基于System Generator的控制器导出并多软硬件仿真验证,第3张

增量式离散PI算法:

位置式离散PI算法:

式中Kp与Ki分别表示比例增益与积分增益,u表示控制量,e表示控制量与给定量的偏差,k表示不同的周期。

2 仿真模型验证与控制器导出

2.1 仿真结果对比分析

与Simulink模块搭建的控制器不同,Xilinx模块下的控制器是使用PI离散方程搭建的,其运算于离散时间模式下,因此离散控制器的功能性验证尤为重要[6]。同时,基于System Generator模型导出的变换器控制器设计,最终的目的是将模块搭建的控制器转换成IP核来使用,于是,利用Xilinx模块搭建的控制器的功能能否在FPGA中正常运算是十分重要的部分[7]。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2603587.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-09
下一篇 2022-08-09

发表评论

登录后才能评论

评论列表(0条)

保存