【技术专辑】什么是LabVIEW FPGA?立即学习吧!

了解如何开始编程NI myRIO的板载Xilinx FPGA。首先介绍FPGA的基础知识,然后转向简单的接口,例如在设备上闪烁LED。最后,该系列将转向更高级的主题,例如实现FIFO和导入第三方代码(VHDL / Verilog)。

 

相关文章

 

在NI myRIO上使用LabVIEW FPGA(链接将随着系列的进展而添加):

 

第1部分:什么是LabVIEW FPGA

 

第2部分:Hello World(闪烁LED)

 

第3部分:读取模拟值

 

第4部分:FIFO 

 

第5部分:第3方代码

 

概观

 

这是文章系列的第1部分,名为“在NI myRIO上使用LabVIEW FPGA”。本系列将介绍一系列主题,首先介绍LabVIEW FPGA,它的优点以及它与NI myRIO嵌入式硬件设备的关系。让我了解这些主题的动机是,LabVIEW FPGA的专业人士和高级开发人员有很多信息,但入门级内容很少。因此,我想编写一个简单的介绍,涵盖硬件I / O,FIFO和第三方代码集成的核心概念,希望有助于启动人们对在NI LabVIEW环境中编程FPGA的兴趣。本文将重点介绍LabVIEW FPGA,介绍NI myRIO设备并解释如何在它们之间进行通信。

 

LabVIEW(FPGA)

 

首先,我认为有必要对LabVIEW进行简要介绍,为将来的材料奠定坚实的基础。简而言之,LabVIEW是由National Instruments开发的图形化编程环境,在过去的20多年中,它已经成为研究和工业工程(特别是控制,测量和测试应用)中公认的工具。不幸的是,像许多其他工业工具一样,它不是开源的或免费的; 但是,也有例外。例如,作为一名学生,您很可能从大学获得免费副本,因为LabVIEW与学术界密切相关。

 

LabVIEW非常强大,因为如果您使用其他编程语言,它可以在很短的时间内完成复杂的编程任务(这是正确的 - LabVIEW是一个完整的图灵完整的编程语言)。更重要的是,LabVIEW编程对于任何目标都是基本相同的,无论是您的PC,Arduino还是一种NI硬件(如我们将在本系列文章中使用的myRIO嵌入式设备)。相同的环境和编程原则甚至适用于现场可编程门阵列(FPGA) - 可重新配置的硬件,可以实现前所未有的速度和可靠性。如果您之前没有遇到过FPGA,想象它们就像一块空白的计算机逻辑块画布,它可以以不同的方式连接,以满足您在编程中指定的不同功能(参见图1)。此功能可以从简单的数学算法一直到模拟整个计算机的CPU。此外,写在FPGA上的代码可以在任何时候真正并行和重新编程,因此毫不奇怪,这项技术在业内已经变得非常流行,并且它的使用将继续增长。你可能会问这个问题是什么?这项技术意味着相对较长的编译时间(因为逻辑门阵列必须以电子方式布线,并且需要大量的计算能力)。此外,您必须使用VHDL和Verilog等专有语言对FPGA进行编程。在我们的例子中,我们将使用LabVIEW - 一种在所有目标中统一的编程语言。虽然本教程将尽力满足最广泛的受众需求,但预计会对LabVIEW有一些基本的了解。你可以通过阅读来加快速度NI推出的LabVIEW介绍视频。

 

【技术专辑】什么是LabVIEW FPGA?立即学习吧!

图1 FPGA的简化视图 - 可以以任何方式连接以构建定制逻辑电路的逻辑块(顶部)阵列(底部)

 

NI myRIO

 

2013年,NI公布了一款名为NI myRIO的以学生为中心的可负担的可编程硬件设备(图2)。想象一下Raspberry PI和Beaglebone Black在类固醇上的交叉。在过去的几年里,它被证明是一个令人惊叹的硬件,学生和教育工作者已经在全球范围内用于许多不同的项目和事业。最好的部分是myRIO包含一个Linux实时操作系统(对于那些好奇的人来说是Ångström发行版)和一个FPGA,因此我们可以用它完成许多不同的硬件接口和计算任务。出于本教程的目的,我将仅关注NI myRIO的FPGA方面,但重要的是要了解它比系列所涵盖的要多得多。

 

【技术专辑】什么是LabVIEW FPGA?立即学习吧!

图2  National Instruments myRIO嵌入式硬件设备,适合学生和业余爱好者

 

通过LabVIEW连接到myRIO

 

首先,我们需要确保我们的myRIO由直流电源供电并连接到我们的开发计算机(图3)。然后,要建立与myRIO嵌入式目标的连接,我们需要创建一个LabVIEW项目,如下面的图4所示。在这里,我假设您已经在机器上安装了LabVIEW,LabVIEW myRIO Toolkit和LabVIEW FPGA模块。因此,让我们打开LabVIEW,在启动画面上选择“创建项目”。选择一个空白项目并将新项目保存为机器上任何位置的“ myRIO FPGA Series 1.lvproj ”。接下来将myRIO添加为新的远程目标(LabVIEW应自动识别插入的设备)。最后一步如图5所示。

 

【技术专辑】什么是LabVIEW FPGA?立即学习吧!

图3  myRIO连接

 

【技术专辑】什么是LabVIEW FPGA?立即学习吧!

图4  创建一个新的LabVIEW项目

 

【技术专辑】什么是LabVIEW FPGA?立即学习吧!

图5  将myRIO作为新的嵌入式目标添加到我们的项目中 

 

编译FPGA代码

 

现在我们已经建立了与myRIO的连接,我们可以开始开发我们的第一个也是最基本的LabVIEW FPGA应用程序。首先,我们必须在新创建的目标下创建一个新的FPGA VI。复习 - 虚拟仪器或简单的VI基本上只是一段LabVIEW代码,您可以在不同的目标上运行,例如您的PC或嵌入式设备(在我们的例子中是后者)。然后在前面板上我们将创建两个数字控件(我们的操作数)和一个数字指示器(我们的结果)。现在我们可以在源代码所在的Block Diagram上开始编程。这里我们将简单地将两个整数相加并将结果输出连接到数字指示器,如下所示。所有这些都将在while循环中封闭,因此代码可以连续运行。请注意,停止条件为False 连接到它。这是因为FPGA循环永远不会停止,除非我们当然切断了myRIO的电源。这是LabVIEW FPGA开发中的常见做法。

 

然后我们可以点击Run Arrow,将VI保存为“ FPGA.VI ”并编译我们的代码。请注意,我们可以在我们的机器上或在服务器上本地编译它。在任何一种情况下,根据应用程序的复杂程度,可能需要几分钟到几个小时。这是因为FPGA编译是一个计算密集型过程,但是一旦编译它在许多应用程序中的性能优于常规计算方法,所以值得等待!云编译是一种更快速的编译FPGA代码的方法; 但是,为此,您需要创建一个FPGA云编译服务帐户,该帐户可以免费试用90天。

 

【技术专辑】什么是LabVIEW FPGA?立即学习吧!

图6 创建一个新的VI并在FPGA中编写一个简单的加法器

 

运行FPGA代码

 

最后,我们可以尝试运行我们的代码并检查它是否有效。如果您正确完成了所有步骤,您应该会看到一个可以添加两个数字的界面。虽然不是非常令人印象深刻,但您应该记住,这一切都在FPGA上运行(如果您要在常规操作系统(如Microsoft Windows)上运行,则更新大约为40MHz而不是1KHz)。很快我们将用更令人兴奋的东西取代沉闷的数学 - 与现实世界的互动。但是现在我想祝贺你 - 你刚刚编写并编译了你的第一个FPGA应用程序!

 

在下一篇文章中,我们将介绍如何调整这里获得的知识,在FPGA上制作闪烁的发光二极管(LED)。

  • 【技术专辑】什么是LabVIEW FPGA?立即学习吧!已关闭评论
    A+
发布日期:2019年03月04日  所属分类:参考设计