‘壹’ 有没有人用过Labview Fpga
官方网站的回答:
http://www.ni.com/fpga/zhs/
NI LabVIEW FPGA模块采用NI LabVIEW嵌入式技术,拓展了NI LabVIEW图形化开发系统,并将现场可编程门阵列(FPGA)作为NI可重配置I/O (RIO)硬件目标。NI LabVIEW因其能够明确地表示并行和数据流,从而成为FPGA编程的绝佳选择。借助NI LabVIEW FPGA模块,您可创建自定义的测量和控制硬件,而无需使用底层硬件描述语言或板卡设计。使用该自定义硬件,可以实现:独特的定时和触发例行程序、超高速控制、数字协议连接、数字信号处理(DSP)、RF和通信和其它许多对高速硬件可靠性和高度确定性提出要求的应用程序。
‘贰’ labview上位机里编程和FPGA里编程有什么区别
不太明白你的意思,但是labview编程是在做软件开发,而FPGA编程是在做硬件开发,labview用的是G语言,也就是图形化的语言,而FPGA用的是VHDL或者verilog语言,是硬件描述语言,两者完全不同,个人觉得没有可比性。
‘叁’ 在labview fpga中怎样将采集得到的单点数据进行模拟输出
1. 可以先用EXCEL(或其他兼容办公软件)把文件另存成csv(逗号分隔)文件。2. 用 编程-文件I/O-读取电子表格文件 把数据作为二维数组读进来。注意“读取电子表格文件”下面的“分隔符”接线端一定要连接一个半角逗号的常量。3. 二维数组再根据数据在电子表格里面的排列方式决定做成两个行向量还是列向量4. 把两个向量(一维数组)按顺序捆绑成一个簇,接到XY图就能显示出来了。 其实你也可以在excel(这里不是特指微软的excel)里面选中那些数据后插入图表,选XY图即可。
‘肆’ labview FPGA模块中控制DIO板卡输出IO量控制继电器吸合,怎么实现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所示。
图1
1.2 选择FPGA器件型号,如图2所示,DE10-Standard板载FPGA型号为5CSXFC6D6F31C6。
图2
1.3 点击next直到finish,未提及的页面均按默认设置即可。
2 在Qsys中配置SOC。
2.1 运行Qsys工具。
在Quartus软件中,通过菜单栏Tools->Qsys打开Qsys工具。刚打开的Qsys工具页面如图3所示。
图3
2.2 添加HPS并完成配置。
在左侧的IP目录中输入hps,选中Arria V/Cyclone V Hard Processor System,双击添加HPS,在弹出的HPS配置页面中进行HPS配置。HPS配置页面如图4所示。
图4
1) 在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 0
1SS
SDIO
HPS I/0 Set 0
4-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
图11
5) 至此,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。
图12
2.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
图14
4)配置Qsys的地址映射。Qsys中添加的元件及外设都需要分配对应的基地址。这里我们采用自动分配的方式,在Qsys菜单中选择System->Assign Base Address,完成基地址自动分配。
5)生成Qsys系统。Save保存Qsys文件,命名为soc_led.qsys。然后点击菜单Generate->Generate HDL,弹出如图15设置框,按图设置好后点击Generate,Qsys将生成与硬件系统相关的一系列文件。
图15
3 完成Quartus工程编译
3.1 在Quartus工程中添加Qsys产生的系统模块。
1)Quartus中点击菜单Assignments->Settings,弹出设置框,选中左侧Files一栏,添加Qsys文件soc_led.v和soc_led.qip,添加完成后如图16所示。
图16
2)新建顶层文件。本实验采用的顶层文件类型为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所示。
图17
3.2 工程分析综合后分配引脚
完成以上步骤后,需要分配引脚,包括HPS外设默认引脚分配以及FPGA部分引脚分配,在分配引脚之前,工程必须通过分析综合,否则引脚分配会出错。
图18
然后按2)所示Tcl Scripts工具执行上面编写的脚本,完成FPGA部分LED引脚的分配。
3.3 工程编译。
完成以上所有操作后,可以点击菜单Processing->Start Compilation对工程进行完全编译。编译成功后会生成FPGA编程所需的.sof文件。
4 完成FPGA编程。
这里只介绍采用JTAG方式完成FPGA编程方式,注意这种方式下,FPGA编程电路断电后就丢失。
点击菜单Tools->programmer,打开编程工具,选择连接至计算机的DE10开发板,如图19所示。Close硬件设置框。编程页面中Mode选择JTAG,点击Auto Detect按钮,在弹出的器件选择框中选择相应的器件型号,DE10-Standard板载FPGA型号应选择5CSXFC6D6。选中FPGA设备,点击Change FIle,选中编译生成的top.sof文件,如图20所示。然后勾选Program/Configure,如图21所示。最后点击Start按钮开始编程。
图19
图20
图21
实验细节注意:
在分配引脚之前必须先对工程进行分析综合(Analysis and Synthesis)
第二步:使用SOCEDS完成HPS软件开发
说明:
该步骤完成HPS软件部分的开发,SOC EDS提供了全套的软件开发工具。本实验只是通过HPS控制FPGA部分的IO口,系统架构简单,采用裸机开发方法。DS-5为SoC FPGA裸机开发提供了两套编译工具:ARM Compiler 和 Altera Baremetal GCC。本实验采用ARM Compiler。
实验步骤
1 运行软件开发工具DS-5。
打开Embedded_Command_Shell.bat,输入eclipse &命令回车,打开DS-5开发软件。如图1所示。 DS-5界面如图2所示。
图1
图2
2 新建C Project
点击菜单File->New->C Project,弹出工程配置框如图3所示,按图完成设置,注意编译工具链选择ARM Compiler 5
图3
3 工程编译选项设置
3.1 添加HWLIB路径
因为本实验用到了SOC EDS提供的HWLIB中的API访问硬件,所以要在项目编译选项中添加HWLIB路径。HWLIB所在路径为:<SOC EDS安装路径>ipalterahpsaltera_hpshwlibinclude 和 <SOC EDS安装路径>ipalterahpsaltera_hpshwlibincludesoc_cv_av
操作:在DS-5左侧的Project Explorer中选中LedWater工程,右键点击Properties。弹出的对话框按图4设置,完成HWLIB路径的添加。
图4
3.2为工程编写分散文件scatter。
scatter文件为连接器指定映像的内存映射。本实验中,映像文件的加载区和执行区都在HPS的片内RAM上,而HPS片内RAM的地址映射为0xFFFF0000-0xFFFFFFFF,所以编写分散文件内容如下,分散文件编写完成后添加到编译选项中。
OCRAM 0xFFFF0000 0x1000
{
APP_CODE +0
{
*(+RO, +RW, +ZI)
}
ARM_LIB_STACKHEAP 0xFFFF8000 EMPTY 0x8000
{}
}
操作:点击菜单File->New->Other,弹出对话框,按图5操作。打开新建的scat文件,输入上面的分散文件内容。在DS-5左侧的Project Explorer中选中LedWater工程,右键点击Properties。弹出的对话框按图6设置,完成scat文件路径的添加。
图5
图6
4 生成硬件设备描述头文件。
利用SOC EDS提供的swinfo2header工具,将Qsys硬件系统信息转换为软件开发所需的设备描述头文件。
操作:在嵌入式命令行shell中cd到soc_led.sopcinfo所在目录,然后输入如下命令:sopc-create-header-files soc_led.sopcinfo --single hps_0.h --mole hps_0如图7所示,同目录下将会生成名为hps_0.h的头文件,将其拷贝至软件工程目录下。
图7
5 编写main.c
为工程新建main.c文件,输入main.c代码,代码如下:
#include "hwlib.h"
#include "socalsocal.h"
#include "socalhps.h"
#include "hps_0.h"
void delay(int delay_time)
{
int k;
for(k=0; k<delay_time; k++) ;
}
int main()
{
int i = 0x1;
while(1)
{
alt_write_word( ALT_LWFPGASLVS_OFST+LED_PIO_BASE, i );
if( (i&0xf) == 0x8 ) i=0x1;
else
i = i<<1;
delay(100000000);
}
return 1;
}
6 工程编译连接
在DS-5左侧的Project Explorer中选中LedWater工程,右键点击Build Project,生成可执行文件ledWater.axf。
7 生成preloader
裸机工程中,preloader即u-boot-spl。在shell中输入bsp-editor启动工具,如图8所示。在打开的bsp-editor工具中,点击菜单File->New HPS BSP,选择handoff文件目录,如图9所示。设置中取消勾选WATCHDOG_ENABLE选项,如图10所示,因为我们没有在裸机应用程序中用到看门狗。设置完成后点击generate,产生我们设置的preloader源代码,生成的源代码路径显示在Information栏中。Shell中cd到preloadre源代码目录下,输入make -j8 (多线程编译提高编译效率),如图11所示,回车生成preloader二进制文件,需要等待几分钟。在<Quartuas工程目录>softwarespl_bspuboot-socfpgaspl目录下,可以看到已经生成了u-boot-spl二进制文件。将其拷贝至LedWater工程目录下。
图8
图9
图10
图11
8 编写调试脚本
为LedWater工程新建调试脚本,步骤如图12所示。打开新建的文件输入以下内容。
reset system
stop
wait 30s
set semihosting enabled false
loadfile "$sdir/u-boot-spl" 0x0
set semihosting enabled true
delete
tbreak spl_boot_device
run
wait
loadfile "$sdir/Debug/ledWater.axf"
Start
图12
完成以上所有操作后,工程目录应该如图13所示。
图13
9 工程调试。
1) 在进行工程调试前,首先要确保板卡连接至计算机,并先下载硬件sof文件至fpga。然后新建调试配置项,选中LedWater工程,右键选择Debug As->Debug Configurationz,弹出会话框,按图14和图15设置。设置完成后点击Debug开始调试。
图14
图15
2)进入调试页面后,如图16所示,点击红圈中Continue图标,开始运行main程序,DE10开发板上的4个LED灯依次循环点亮。
编写fpga部分的外设引脚分配脚本。根据硬件板卡的实际连接关系,编写引脚分配脚本,本实验用到DE10-Standard板卡上的4个LED,参考原理图,编写脚本如下:
set_location_assignment PIN_AA24 -to fpga_led_pio_export[0]
set_location_assignment PIN_AB23 -to fpga_led_pio_export[1]
set_location_assignment PIN_AC23 -to fpga_led_pio_export[2]
set_location_assignment PIN_AD24 -to fpga_led_pio_export[3]
set_location_assignment PIN_AF14 -to clk_clk
菜单点击Processing->Start->Start Analysis & Synthesis开始分析综合。
分析综合完成后,点击菜单Tools->Tcl Scripts,弹出脚本运行框,如图18所示。分别运行hps_sdram_p0_parameters.tcl和hps_sdram_p0_pin_assignments.tcl。
‘伍’ labview 跟 FPGA 的关系
labview 与 FPGA 的关系:
Labview是美国国家仪器公司(NI)开发的编程软件,主要应用在开发测量与仪器控制领域上应用程序的,不是专门用来开发FPGA的,当然现在的Labview也有FPGA开发模块,不过貌似只能开发他们本公司生产的FPGA产品,不好用,而且貌似没什么人用
quartus是专业的FPGA开发软件,Altera公司,支持VHDL,VerlogHDL等语言,也支持原理图输入的开发形式,由于是Altera的软件所以也会支持他自己的AHDL语言,你要是用的Altera公司的FPGA可以用Quartus开发,要是Xilinx公司的FPGA,可以用Ise来开发。
‘陆’ labview fpga如何生成应用程序
任何电脑,只要你想在上面运行LabVIEW生成的独立可执行程序(exe),你都需要在目标电脑上安装LabVIEW运行引擎。
LabVIEW运行引擎包含了:
1. 运行LabVIEW生成的可执行程序所需要的库和文件
2. 使用浏览器远程访问前面板所需的浏览器插件
3. 应用程序中生成LabVIEW报表所需要的一些组件
4. 一些3D图表的支持等
运行引擎本身就是支持多语言的,不需要安装特定语言版本的运行引擎。
另外需要确保目标电脑上安装的运行引擎版本与开发应用程序时使用的LabVIEW版本一致。
如果你想在一台电脑上运行多个版本的LabVIEW生成的可执行程序,那你的电脑必须安装与这些LabVIEW版本一一对应的多个版本的运行引擎。
‘柒’ 如何使用labview开发自己的fpga
Labview是美国国家仪器公司(NI)开发的编程软件,主要应用在开发测量与仪器控制领域上应用程序的,不是专门用来开发FPGA的,当然现在的Labview也有FPGA开发模块,不过貌似只能开发他们本公司生产的FPGA产品,不好用,而且貌似没什么人用
quartus是专业的FPGA开发软件,Altera公司,支持VHDL,VerlogHDL等语言,也支持原理图输入的开发形式,由于是Altera的软件所以也会支持他自己的AHDL语言,你要是用的Altera公司的FPGA可以用Quartus开发,要是Xilinx公司的FPGA,可以用Ise来开发,就是这样
‘捌’ 关于通过NI labview FPGA 编程,实现在上位机上显示LVDS数据
直接用数据流通信
‘玖’ labview能不能做fpga仿真
在LabVIEW8.0或后续版本中,通过项目浏览器很容易实现设备仿真并进行LabVIEW FPGA 程序的开发。实现的步骤根您是否仿真带FPGA目标的RT CompactRIO或者仅是一个远程的FPGA目标,比如IF-RIO,R系列板卡或FlexRIO设备有关。
CompactRIO或Single-Board RIO:
要添加仿真的远程实时目标,请选择项目名称,右击并选择新建>>目标和设备,请见图1。
:添加一个新的远程系统至项目
当添加目标和设备窗口出现时,请选择新建目标或设备,你所能仿真创建的设备清单会显示出来。选择需要的目标类型并点击OK。新建的目标就应在已命名的项目浏览窗口中显示出来。
:可用的仿真设备
To add the FPGA target within the newly added RT system, right-click the target and select 要向新建的RT系统中添加FPGA目标,右键目标并选择新建>>目标和设备:
:从CompactRIO RT目标添加新的FPGA目标
在添加目标和设备窗口,选择新建目标和设备并选择您要添加的FPGA目标
:添加新的FPGA目标至主机
如果您已经添加了cRIO FPGA 设备,您就可以右击FPGA目标并选择新建>>C系列模块来添加C系列模块。选择C系列模块并点击OK,如图5。
:添加一个仿真C系列模块至仿真CompactRIO 目标
在C系列模块窗口中选择需要的模块和插槽,并选择OK,如图6所示。这个模块将被添加进项目浏览器。
:新建C系列模块窗口
IF-RIO, FlexRIO 或R Series DAQ 设备:
为添加仿真的FPGA目标,右键我的电脑,选择新建>>目标和设备,如图7
图7:添加一个新的FPGA目标至项目
In the Add Targets and Devices window, select New target or device and a list of devices you can create without the physical target will display. Highlight the desired FPGA target and selectOK. The new target should populate beneath My Computer in the Project Explorer window. 在添加目标和设备窗口,选择新建目标和设备,一个您可以创建仿真设备的清单就会列出。选择需要的FPGA目标并点击OK.新的目标将在项目浏览器窗口的我的电脑下显示。
可用的仿真设备
注意:安装了驱动程序的设备才会成为可用的仿真设备
最后一步仿真一个FPGA目标是为了配置FPGA VI代码在本机上运行,而不是在硬件上运行。为了做到这一点,右击FPGA目标并选择Execute VI on»Development Computer with Simulated I/O。
设置FPGA VI以仿真在部署机器上执行
一旦为您的设备完成了所列的这些步骤,您就可以开始LabVIEW应用程序的仿真开发了。
相关链接: KnowledgeBase 3JLD2HB9: What are NI-DAQmx Simulated Devices and How Do I Use Them?
Procts and Services: NI PCI-5640R Software Defined Radio IF Transceiver
Procts and Services: NI PXI-5641R RIO IF Transceiver
Procts and Services: NI FlexRIO
附件:
- New_Target_Device.JPG - Add_Target_Device.JPG - Add_FPGA_Target.JPG - Add_cRIO_FPGA.JPG - Add_cRIO_Mod_Type.JPG - Add_cRIO_Mole.JPG
报告日期: 2006-04-07
最近更新: 2010-09-28
文档编号: 3W6EFRLX
Your Feedback! Poor | Excellent Yes No
Document Quality?
Answered Your Question?
1 2 3 4 5
Please Contact NI for all proct and support inquiries.
‘拾’ labview fpga 有什么用
自动控制领域应用比较广泛,FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
LabVIEW是编程语言,可以通过编程控制FPGA完成自动控制的需要。