主要内容

验证了用fpga在环实现PID控制器的HDL实现

这个示例向您展示了如何使用HDL验证器™设置fpga在环(FIL)应用程序。该应用程序使用Simulink®和FPGA金宝app开发板验证比例-积分-微分(PID)控制器的HDL实现。在本例中,Simulink生成电机金宝app的期望位置,并仿真由该PID控制器控制的电机。

需求和先决条件

除了列出的MathWorks产品外,其他要求包括:下载188bet金宝搏

  • FPGA设计软件(Xilinx®ISE®设计套件,或Xilinx®Vivado®设计套件,或Intel®Quartus®II设计软件,或Microsemi®Libero®SoC设计软件)

  • 支持的FPGA开发板之金宝app一。有关支持金宝app的硬件,请参见金宝app支持的FPGA设备用于FPGA验证

  • 使用以太网连接:主机上安装的千兆以太网适配器、千兆以太网交叉网线

  • 使用JTAG连接:Intel FPGA板的USB Blaster I或II电缆和驱动器。用于Xilinx FPGA板的Digilent®JTAG电缆和驱动器。

  • PCI Express®连接:安装在上位机PCI Express槽位的FPGA板。

先决条件:

MATLAB®和FPGA设计软件可以本地安装在您的计算机上或在网络可访问的设备上。如果使用来自网络的软件,则需要在计算机中安装第二个网络适配器,以便为FPGA开发板提供专用网络。请参阅计算机的硬件和网络指南,了解如何安装网络适配器。

步骤1:搭建FPGA开发板

如果您正在使用PCI Express连接进行模拟,请跳过此步骤和步骤2。如果您还没有建立PCI Express连接,请使用支持包安装软件来指导您完成PCI Express安装。金宝app

使用以下步骤设置FPGA开发板。

  1. 确保电源开关没有损坏

  2. 连接交流电源线到电源插头上。将电源适配器线缆插入FPGA开发板。

  3. 使用交叉网线将FPGA开发板上的以太网连接器直接连接到计算机上的以太网适配器。

  4. 使用JTAG下载线将FPGA开发板与计算机连接。

  5. 确保FPGA开发板上的所有跳线都处于出厂默认位置,Microsemi PolarFire除外,需要特殊设置。看到安装Microsemi Polarfire评估试剂盒(Microsemi FPG金宝appA板的HDL验证器支持包)

步骤2:建立主机计算机板连接

如果使用JTAG连接进行模拟,请跳过此步骤。要使用以太网连接,您的计算机上必须有一个千兆以太网网络适配器才能运行此示例。

在Windows®上,执行以下步骤:

  1. 打开控制面板

  2. 类型查看网络连接在搜索栏中。选择查看网络连接在搜索结果中。

  3. 右键单击到FPGA开发板的连接图标并选择属性从弹出菜单。

  4. 此连接使用以下项目中,选择互联网协议版本4 (TCP/IPv4)并点击属性

  5. 选择请使用以下IP地址:.集IP地址192.168.0.1。如果您网络上的另一台计算机正在使用此地址,请将其更改为该子网上的任何可用IP地址,例如192.168.0.100。这是你的主机地址。设置子网掩码255.255.255.0。你的TCP/IP属性现在看起来应该与下图相同:

在Linux®:

使用ifconfig命令来设置您的本地地址。例如:

% ifconfig eth1 192.168.0.1

在本例中,eth1是Linux计算机上的第二个以太网适配器。检查您的系统,以确定连接到FPGA开发板的以太网适配器。上面的命令设置本地IP地址为192.168.0.1。如果您网络上的另一台计算机正在使用此地址,请将其更改为该子网上的任何可用IP地址,例如192.168.0.100。

步骤3:准备资源样例

1.搭建FPGA设计软件

在使用FPGA in- loop之前,请设置用于访问FPGA设计软件的系统环境。你可以使用这个函数hdlsetuptoolpath将ISE、Vivado、Quartus或Libero SoC添加到当前MATLAB会话的系统路径中。下面给出了每个工具的示例命令行。如果实际的可执行文件不同,则用它替换。

对于使用ISE设计软件的Xilinx FPGA板,请运行:

hdlsetuptoolpath (“ToolName”“Xilinx ISE”“路径”“C: \ Xilinx ISE \ 13.1 \ ISE_DS \ \ bin \ nt64 \ ise.exe”);

Xilinx FPGA板使用Vivado设计软件,运行:

hdlsetuptoolpath (“ToolName”“Xilinx Vivado”“路径”“C: \ Xilinx \ Vivado \ 2016.4 \ bin \ vivado.bat ');

对于Intel板,运行:

hdlsetuptoolpath (“ToolName”“阿尔特拉第四的二世”“路径”“C: \ \ 16.0 \负责第四的\ bin \ quartus.exe ');

对于Microsemi板,运行:

hdlsetuptoolpath (“ToolName”Microsemi自由人SoC的“路径”“C: \ Microsemi \ Libero_SoC_v11.8 \设计\ bin \ libero.exe”);

2.打开fil_pid模型。

该模型包含一个用基本Simulink模块实现的定点PID控制器。金宝app该模型还包含了由该PID控制器控制的直流电动机模型以及作为输入刺激的期望直流电动机位置。

现在运行这个模型,观察电机在范围内的期望和实际位置。

步骤4:启动fpga在环(FIL)向导

通过以下操作启动fpga在循环中向导:

打开应用程序画廊和选择费尔向导代码验证、验证和测试部分。

或者,您可以在MATLAB命令提示符处输入filWizard命令。

filWizard

步骤5:在FIL向导中指定硬件选项

设置FPGA开发板的FIL选项。

1.指定向导将生成FIL Simulink块还是FILSimulation MATLAB金宝app系统对象。对于本例,请选择金宝app费尔仿真与金宝app仿真软件。

2.为董事会的名字,选择连接到主机的FPGA开发板。如果您的董事会不在列表中,请选择以下选项之一:

  • “获取更多的板…”下载FPGA板支持包(此选项启动支持包安装程序)。金宝app

  • “创建自定义板…”为特定的FPGA板创建FPGA板定义文件(此选项启动新FPGA板管理器)。

3.选择模拟连接。可用的连接方式有以太网和JTAG。不是所有的单板都支持两种连接方金宝app式。

4.仅以太网连接:如果您将计算机的IP地址从192.168.0更改为不同的子网。如果默认的单板IP地址192.168.0.2被其他设备使用,请扩容高级选项和改变董事会的IP地址根据以下准则:

  • 子网地址一般为单板IP地址的前三个字节,必须与主机IP地址保持一致。

  • 单板IP地址的最后一个字节不能和主机IP地址的最后一个字节相同。

  • 单板的IP地址不能与其他计算机的IP地址冲突。

例如,如果主机IP地址为192.168.8.2,则可以使用192.168.8.3。不改变董事会MAC地址

5.可选:如果你想改变DUT时钟频率从默认(25MHz),你可以扩展高级选项和改变FPGA系统时钟频率(MHz)

6.点击下一个继续。

步骤6:在FIL向导中指定HDL文件

指定要在FPGA中实现的HDL设计。

1.单击“添加”,浏览到在“准备资源示例”中创建的目录。

2.选择pid_hdlsrc目录下的这些HDL文件:

  • Controller.vhd

  • D_component.vhd

  • I_component.vhd

这些是要在FPGA板上验证的HDL设计文件。

3.在源文件表,勾选文件行上的复选框Controller.vhd以指定该HDL文件包含顶级HDL模块。

FIL向导自动填充顶层模块名称字段与所选的HDL文件的名称;在这种情况下,控制器.在本例中,顶级模块名称与文件名匹配,因此您不需要更改它。如果顶级模块名称和文件名不匹配,您将在此对话框中手动更正顶级模块名称。

点击下一个继续。

步骤7:在FIL向导中查看I/O端口

FIL向导解析Controller中的顶级HDL模块Controller。vhd获取所有I/O端口并在DUT中显示I / O端口表格解析器试图通过查看端口名称自动确定可能的端口类型,并在端口类型下显示这些信号。

1.检查港口倾斜。如果解析器为任何给定端口分配了不正确的端口类型,您可以手动更改信号。对于同步设计,指定一个时钟、复位或时钟使能信号。在本例中,FIL向导会自动正确地填充表。

2.点击下一个继续。

步骤8:在“FIL向导”中设置输出数据类型

1.对于HDL输出control_signal改变数据类型定点标志签署部分长度28.这将使生成的FIL块将FPGA待测设计(DUT)的输出信号设置为正确的数据类型。

2.点击下一个继续。

步骤9:在FIL向导中查看构建选项

1.指定输出文件的文件夹。对于本例,使用默认选项,它是一个名为Controller_fil在当前目录下。

总结显示FPGA项目文件和FPGA编程文件的位置。您可能需要这两个文件进行高级操作。

2.点击构建启动构建过程。

在构建过程中,会发生以下操作:

  • 在新的模型中生成一个名为Controller的FIL块,如下图所示。不要关闭这个模型。

  • 生成新模型后,FIL向导打开一个命令窗口,FPGA设计软件在其中执行合成、适配、放置和路由、时序分析和FPGA编程文件生成。

  • 当FPGA设计软件流程完成时,命令行窗口中会显示一条消息,让您知道可以关闭该窗口。关闭窗口,执行下一步操作。

步骤10:建立模型

在fil_pid模型中,替换控制器子系统使用新模型中生成的FIL块。修改后的fil_pid模型如下图所示:

步骤11:编程FPGA

1.开关FPGA开发板电源

2.双击fil_pid模型中的FIL块以打开块掩码。

3.在打开的块掩码中,单击负载

如果您的单板通过JTAG线缆与主机连接正常,则会弹出“FPGA编程文件加载成功”提示窗口。点击好吧取消此对话框。

4.只有以太网连接:您可以通过ping测试测试FPGA板是否与您的主机正常连接。启动命令行窗口并输入以下命令:

C: \ mytest >期间。萍192.168.0.2

如果在安装网卡时修改了单板的IP地址,请将“192.168.0.2”替换为单板的IP地址。如果千兆以太网连接已经正确设置,您应该看到来自FPGA开发板的ping应答。

步骤12:回顾filblock参数

1.在FIL块掩码中,单击信号的属性选项卡。

2.验证数据类型HDL信号control_signal32岁的fixdt (1 28).如果不是,那就改变它。

3.点击好吧关闭块掩码。

步骤13执行命令FIL

1.开始fil_pid模型的仿真。

2.仿真完成后,在scope中查看电机的期望位置和实际位置的波形。注意,FIL模拟的结果应该与您在其中模拟的Simulink参考模型的结果相匹配金宝app准备资源的例子