1.labview FPGA模块中控制DIO板卡输出IO量控制继电器吸合,怎么实现
第一步:使用Quartus和Qsys工具完成硬件系统的配置。
该步骤实现SOC最小系统的硬件配置,包括硬核处理器配置、HPS和FPGA之间通信接口总线的选择、HPS外设裁剪、HPS时钟配置和SDRAM配置。该实验中主要用到HPS硬核,以及PIO外设IP核。
Qsys工具为用户提供硬件系统的可视化设计,能够自动生成handoff文件,该文件配合bsp-editor工具可以生成preloader。Preloader是HPS的第二阶段引导源,主要作用为:初始化SDRAM接口,配置HPS IO口,加载下一引导源并跳转到它。
实验步骤1 新建Quartus工程。1.1 设置工程存放路径,工程名以及顶层文件名,如图1所示。
图 11.2 选择FPGA器件型号,如图2所示,DE10-Standard板载FPGA型号为5CSXFC6D6F31C6。图 21.3 点击next直到finish,未提及的页面均按默认设置即可。
2 在Qsys中配置SOC。2.1 运行Qsys工具。
在Quartus软件中,通过菜单栏Tools->Qsys打开Qsys工具。刚打开的Qsys工具页面如图3所示。
图 32.2 添加HPS并完成配置。在左侧的IP目录中输入hps,选中Arria V/Cyclone V Hard Processor System,双击添加HPS,在弹出的HPS配置页面中进行HPS配置。
HPS配置页面如图4所示。图 41) 在FPGA Interfaces页面中,General一栏均不勾选,AXI Bridges一栏设为64-bit、64-bit、32-bit,FPGA-to-HPS SDRAM Interface一栏中移除原有接口,Resets一栏中均不勾选。
2)在Peripheral Pins页面中,设置HPS外设引脚复用及模式选择。设置如表1所示。
设置完成后页面如图5所示。(本实验其实未用到这些外设) 表1 外设引脚复用及模式选择 外设名称 引脚复用选择 模式选择 EMAC1 HPS I/O Set 0 RGMII QSPI HPS I/0 Set 01SS SDIO HPS I/0 Set 04-bit Data USB1 HPS I/0 Set 0 SDR UART0 HPS I/0 Set 0 No Flow Control (注:表中未提及的外设即Unused,无需设置) 图 5 Peripheral Pins 页面设置在HPS Clocks页面中,确认下Input Clocks->External Clock Sources 中的时钟频率为25MHz,其它无需设置,默认即可。
在SDRAM页面中,参考图6-11更改该页面下所有子页面中的参数。(本实验未用到SDRAM,所以不设置也可) 图 6 图 7 图 8 图 9 图 10 图 115) 至此,HPS设置完毕,点击finish离开HPS设置页面。
2.3 添加并设置其它Qsys元件 本实验通过HPS控制FPGA部分的IO口,以此来控制连接在FPGA IO引脚LED灯的亮灭。所以整个SOC只需包含HPS和PIO,即Qsys中还需要添加PIO外设。
添加PIO外设。在IP目录中输入PIO,选中PIO双击添加外设,设置页面如图12所示,本实验通过PIO控制4个LED,故宽度为4。
图 122.4 配置Qsys系统元件修改元件名称。本实验把pio_0重命名为led_pio。
导出外设的顶层I/O接口。在Export一栏下相应位置双击,导出led_pio的顶层I/O接口,命名为fpga_led_pio,导出hps_0的h2f_reset接口,命名为hps_0_h2f_reset,如图13所示。
图 13连接Qsys外设接口。外设的接口信号之间没有连接,需要根据系统要求手动进行连接。
各个外设之间的信号连接c如表2所示。连接好后如图14所示。
表2 元件信号连接关系 需要连接的 被连接的 元件 信号名 元件 信号名 led_pio clk clk_0 clk reset clk_0 clk_reset s1 hps_0 h2f_lw_axi_master hps_0 h2f_lw_axi_clock clk_0 clk h2f_lw_axi_master led_pio s1 图 144)配置Qsys的地址映射。Qsys中添加的元件及外设都需要分配对应的基地址。
这里我们采用自动分配的方式,在Qsys菜单中选择System->Assign Base Address,完成基地址自动分配。5)生成Qsys系统。
Save保存Qsys文件,命名为soc_led.qsys。然后点击菜单Generate->Generate HDL,弹出如图15设置框,按图设置好后点击Generate,Qsys将生成与硬件系统相关的一系列文件。
图 153 完成Quartus工程编译3.1 在Quartus工程中添加Qsys产生的系统模块。1)Quartus中点击菜单Assignments->Settings,弹出设置框,选中左侧Files一栏,添加Qsys文件soc_led.v和soc_led.qip,添加完成后如图16所示。
图 162)新建顶层文件。本实验采用的顶层文件类型为bdf(Block Diagram/Schematic File)。
点击菜单File->New,选择Design Files中的Block Diagram/Schematic File后点击OK,点击菜单File->Save As将该文件保存到工程目录下,命名为top.bdf。在该原理图空白处右键Insert->Symbol,选择Qsys生成的soc_led.bsf,将该模块插入到顶层原理图文件中。
选中插入的元件,右键点击Generate Pins for Symbol Ports,为元件添加输入输出端口,如图17所示。图 173.2 工程分析综合后分配引脚 完成以上步骤后,需要分配引脚,包括HPS外设默认引脚分配以及FPGA部分引脚分配,在分配引脚之前,工程必须通过分析综合,否则引脚分配会出错。
图 18 然后按2)所示Tcl Scripts工具执行上面编写的脚本,完成FPGA部分LED引脚的分配。3.3 工程编译。
完成以上所有操作后,可以点击菜单Processing->Start Compilation对工程进行完全编译。编译成功后会生成FPGA编程所需的.sof文件。
4 完成FPGA编程。这里只介绍采用JTAG方式完成FPGA编程方式,注意这种方式下,FPGA编程电路断电后就。
转载请注明出处51数据库 » ubootresetconfigur