用分区求解器生成非线性Simscape模型的HDL代码
这个例子展示了如何通过使用分区求解器为非线性Simscape™模型生成HDL代码。然后,您可以将生成的HDL代码部署到Speedgoat®FPGA I/O模块上。
简介
在本例中,您将了解如何使用Simscape HDL工作流Advisor将Simscape™三相永磁同步电机(PMSM)模型转换为HDL实现模型。永磁同步电机是采用分区求解器的模型中的一个非线性块。分区求解器将Simscape网络的整个方程组转换为几个较小的开关线性方程集,这些线性方程集通过非线性函数连接起来。通过使用这个求解器,您可以运行Simscape HDL Workflow Advisor,而不必删除模型中的非线性块或用相应的Simulink块替换它们。金宝app有关更多信息,请参见理解分区求解器是如何工作的(Simscape).然后,您可以生成HDL代码,并将代码部署到Speedgoat®FPGA I/O模块。
永磁同步电机模型
PMSM模型是Simscape™中的一个物理系统。该模型采用场向控制(FOC)来控制三相永磁同步电机(PMSM)的转速。该模型包含一个PMSM和一个三相逆变器,您可以在典型的混合动力汽车中使用。逆变器与电池相连。
要打开模型,在MATLAB®命令提示符中,输入:
ModelName =“sschdlexPMSMExample”;open_system ModelName set_param (ModelName,“SimulationCommand”,“更新”);
要了解模型是如何工作的,请模拟模型。
sim (ModelName) open_system ([ModelName/范围的])
为HDL兼容性配置Simscape模型hdlsetup
功能:
hdlsetup (“sschdlexPMSMExample”)
设置和配置
要支持金宝app非线性模型的部署,请选择解算器类型作为分区
和一个样品时间Ts
.您可以选择分区方法在下拉列表中。选择在使用分区求解器时优先考虑速度还是健壮性。有关更多信息,请参见解算器配置(Simscape).要显示PMSM模型的功能,默认的解算器配置设置:
解算器类型:
分区
样品时间:
Ts
划分方法:
健壮的模拟
在模型窗口中,您可以查看模型统计信息。选择调试选项卡并单击Simscape >统计查看器.这将打开Simscape Statistics窗口sschdlexPMSMExample
模型。或者,您也可以单击模型数据
时生成的链接^检查模型兼容性任务在Simscape HDL工作流Advisor中通过。您可以看到,求解器将系统划分为三个分区。第一个划分用正向欧拉法求解。另外两个分区用后向欧拉法求解。扩大分区数量节点。单击每个分区以获取详细描述。
生成HDL实现模型
Simscape HDL工作流Advisor将Simscape工厂模型转换为与HDL兼容的实现模型,您可以从中生成HDL代码。PMSM块是一个非线性块,您可以为它生成与hdl兼容的实现模型。生成HDL实现模型:
1.打开Simscape HDL工作流顾问:
sschdladvisor (“sschdlexPMSMExample”)
2.中生成HDL实现模型实现模型的一代任务下拉列表中,右键单击生成实现模型任务,然后选择运行到所选任务从列表中。
任务通过后,您会看到一个到HDL实现模型的链接gmStateSpaceHDL_sschdlexPMSMExample
.
另请参阅Simscape HDL工作流顾问任务.
当您运行提取方程任务,该任务显示Simscape网络的模式、状态和集群的数量。
当您运行离散化方程任务时,状态空间表示将显示在右窗格中。
生成HDL代码
为HDL实现模型保存参数。
hdlsaveparams (“gmStateSpaceHDL_sschdlexPMSMExample”)
启用资源利用率报告的生成。
hdlset_param (“gmStateSpaceHDL_sschdlexPMSMExample”,“ResourceReport”,“上”)
为实现模型生成HDL代码。
makehdl (“gmStateSpaceHDL_sschdlexPMSMExample / HDL子系统”);
当您生成代码时,HDL Coder会创建一个代码生成报告。中的资源利用率报告高层资源报告指示目标FPGA设备上可能消耗的加法器、乘法器和寄存器的数量。
对于PMSM型号,默认设置为求解器迭代的次数设置为5
,过采样因子设置为291
,延迟策略设置为最小值
提供最佳采样频率。
在FPGA I/O模块中部署永磁同步电机
在HDL实现模型中,HDL子系统包含您在FPGA上运行的块。您可以在这个子系统上运行HDL工作流顾问,将HDL算法部署到Speedgoat目标计算机的FPGA板上。示例请参见Simscape模型在快速山羊FPGA I/O模块上的硬件在环实现.