主要内容

生成Simscap金宝appe两级转换器模型的Simulink实时接口子系统

此示例显示如何为Simscape™两级转换器工厂模型生成Simulink®金宝app实时界面子系统。然后,您可以在SpeedGoat FPGA IO模块上部署接口模型。此示例使用SpeedGoat IO334-325K模块。

实时模拟

模拟FPGA上的工厂模型提供:

  • 实时模拟:硬件循环在目标硬件上提供了Simscape Plant模型的实时模拟。

  • 硬件加速:加速模拟硬件上复杂物理系统的仿真,而可重新配置的FPGA提供快速原型设计。

要使用工作流程:

  1. 使用Simscape HDL Workflow Advisor开发Simscape Model并将其转换为实现模型。

  2. 通过使用HDL工作流顾问生成HDL代码并将代码部署到Speedgoat I/O模块。

设置和配置

在Speedgoat IO模块上部署你的算法之前:

1.安装最新版本的Xilinx®Vivado®HDL语言支持和支持的第三金宝app方工具和硬件

然后,使用。将工具路径设置为安装的Xilinx Vivado可执行文件hdl setuptoolpath.函数。

hdl setuptoolpath('toolname''Xilinx Vivado''工具路径'“C: \ Xilinx \ Vivado \ 2019.2 \ bin \ vivado.bat '

2.对于实时仿真,设置开发环境和目标计算机设置。看到开始与Simulink实时金宝app(金宝appSimulink实时)

3.安装Speedgoat库和Speedgoat HDL编码器集成包。看到安装Speedgoat HDL编码器集成包

双层转换器理想模型

要打开此模型,请输入:

Open_System('sschdlextwolevelconverterideaxample'

将此模型本地保存为TwoLevelConverter_HDL.slx运行此工作流。

Open_System('twolevelconverter_hdl') set_param ('twolevelconverter_hdl'“SimulationCommand”'更新'

Open_System(“TwoLevelConverter_HDL / Simscape_system”

Simscape子系统接收六个开关控制脉冲作为输入。Simscape子系统充当使用基于载波的PWM方法的发电机:

  1. 采样一个参考波。

  2. 将样品与三角形载波进行比较。

  3. 如果一个样本高于载波信号,产生一个开关脉冲;如果一个样本低于载波信号,产生一个开关脉冲。

模拟模型。

sim卡('twolevelconverter_hdl')Open_System('twolevelconverter_hdl / load scope'

生成HDL实现模型

要生成实现模型,请使用Simscape HDL Workflow Advisor。运行sschdladvisor.为您的模型功能:

sschdladvisor ('twolevelconverter_hdl'
运行Simscape HDL工作流Advisor for 生成实现模型的任务。此模型具有与原模型相同的名称前缀gmStateSpaceHDL

要打开实现模型,请输入:

load_system ('gmstatespacehdl_twolevelconverter_hdl')Open_System('gmstatespacehdl_twolevelconverter_hdl / simscape_system') set_param ('gmstatespacehdl_twolevelconverter_hdl'“SimulationCommand”'更新'

该实现模型用执行状态空间计算的HDL算法取代Simscape子系统。当您在这个子系统中导航时,您会看到几个延迟、加法器和矩阵乘法块,它们建模状态空间方程。这个子系统中的From和Goto块提供了与原始模型相同的输入高密度脂蛋白子系统

Open_System('gmstatespacehdl_twolevelconverter_hdl / simscape_system / hdl子系统/ hdl算法'

HDL工作流程顾问

HDL工作流顾问指导您通过HDL代码生成和FPGA设计过程。使用顾问:

  • 检查模型的HDL代码生成兼容性和修复不兼容的设置。

  • 生成HDL代码,测试台和脚本以构建和运行代码和测试台。

  • 执行综合和时间分析。

  • 在SoC,FPGA和SpeedGoat I / O模块上部署生成的代码。

要打开模型内部的一个子系统的HDL Workflow Advisor,使用hdladvisor函数。

load_system (“sschdlexTwoLevelConverterIgbtExample”) hdladvisor (“sschdlexTwoLevelConverterIgbtExample / Simscape_system”

左窗格包含代表一组相关任务的文件夹。扩展文件夹并选择任务显示有关右窗格中该任务的信息。右窗格包含简单的控件,用于将任务运行到控制代码和测试台生成的高级参数和选项设置。要了解有关每个任务的更多信息,请右键单击该任务,然后选择这是什么?.看到HDL工作流程顾问入门

将两个级别的理想转换器模型部署到SpeedGoat IO334-325K模块

1.打开实现模型的HDL工作流程顾问。

HDLAdvisor('gmstatespacehdl_twolevelconverter_hdl / simscape_system / hdl子系统'

2.在设置目标设备和合成工具任务,指定目标工作流程作为金宝appSimulink实时FPGA I/O目标平台作为Speedgoat io334 - 325 k

3.运行设置目标参考设计任务,选择值x4对于参数作为PCIe车道,并选择运行这个任务

4.在设置目标接口任务,映射输入和输出数据类型端口到作为PCIe接口并选择运行这个任务

5.右键单击生成RTL代码和IP核任务和选择跑到选定的任务.由于模型使用向量数据类型,因此生成RTL代码和IP核失败,因为scalarizeports.属性必须设置为dutlevel.单击链接以更改此设置并重新运行任务。

6.运行工作流程生成Simulin金宝appk实时界面的任务。在创建项目任务,您可以打开Vivado项目并查看实施的设计。之后生成Simulin金宝appk实时界面任务通过,单击链接以打开Simulink实时接口模型。金宝app

输出HDL工作流到脚本

对于快速原型设计,您可以将HDL Workflow Advisor设置导出到脚本。脚本是您可以从命令行运行的MATLAB®文件。然后,您可以修改和运行脚本,或将设置导入HDL Workflow Advisor用户界面。

要导出一个HDL工作流脚本,在Advisor中运行任务后,选择文件>导出到脚本.对于本例,当您导出到脚本时,该文件将显示您保存的设置。

编辑('hdlworkflow_slrt.m'

要导入HDL工作流脚本,请在HDL Workflow Advisor中,选择从脚本导入>文件.选择脚本文件并单击开放.HDL工作流顾问用导入的脚本设置更新任务。

有关通过部署FPGA比特流来运行实时应用程序的示例,请参阅Simscape模型在Speedgoat FPGA I/O模块上的半实物实现

另请参阅

功能

相关话题