当前位置: 首页 > news >正文

【LabVIEW FPGA入门】创建第一个LabVIEW FPGA程序

本教程仅以compactRIO(FPGA-RT)举例

1.系统配置

1.1软件安装

FPGA-RT

        1. LabVIEW Development System (Full or Professional)

        2. LabVIEW Real-Time Module 

        3. LabVIEW FPGA Module

        4. NI-RIO drivers

1.2硬件配置

        1.使用线缆连接CompactRIO至主机,并给CompactRIO供电。(如果已经被cRIO已经被配置为静态IP,则同样的需要设置一下电脑的IP)

        2.打开NI MAX软件,展开远程系统,RIO设备都在远程系统下面发现与配置。

        3.展开cRIO的资源,检查设备和接口下面是否存在RIO Device,以及检查需要使用的软件都已经安装。如未安装则需要添加/删除NI RIO设备上的软件。

        4.查看或cRIO网络状态。   cRIO的ip皆可在系统设置里查到(当前ip状态为上位机自动ip、cRIO自动ip,即为本地网络状态)。

    

         如果需要修改网络设置,则需要在下面的网络设置里面将以太网适配器eth0的ip地址设置为静态IP,这样环境网络变化时也可以轻易搜索到cRIO机箱。

2.创建LabVIEW FPGA 项目 

        1.创建一个空项目。

 

        2.添加cRIO终端。

  

        搜索现有终端或设备,选择设备对应的类型 并选中搜索出来的设备,点击确定。

        RIO编程模式选择 LabVIEW FPGA接口。

         使用快捷键Ctrl+S保存项目改动。

        3.连接cRIO终端。如果连接成功则说明cRIO与主机通信正常,且RT终端旁边会出现一个绿色的点,此步骤非必须,直接部署程序的时候LabVIEW会自动连接RT终端。

        如果连接失败,则说明项目RT终端IP不匹配,则需要在NI MAX中查看RT设备的IP并检查当前主机的网口设置,同时在项目里修改IP(具体步骤为右击RT终端,属性,IP地址里修改)。

3.LabVIEW FPGA项目资源介绍

组件说明

LabVIEW项目LabVIEW项目允许用户在开发计算机上开发应用时,管理VI和终端。LabVIEW项目文件包含对项目中文件的引用、配置信息、部署信息、生成信息等。

我的电脑我的电脑(通常称为开发计算机)是开发LabVIEW项目的计算机。开发计算机是指运行支持的Windows平台的计算机,该计算机已安装LabVIEW和LabVIEW FPGA模块。

RIO机箱RIO机箱放置并直接连接FPGA终端的I/O块至可互换的I/O模块,以实现高性能定时、触发和同步。

控制器控制器直接连接RIO机箱,直接或通过网络与开发计算机通信。控制器包含一个嵌入式处理器,它运行实时操作系统(RTOS)或Windows。

FPGA终端FPGA终端是一个可编程芯片,由逻辑块、I/O块和可编程互连资源组成,这些资源用于实现通过LabVIEW FPGA模块设计的数字电路。

FPGA VIFPGA VI是加载至FPGA终端并运行的VI。LabVIEW编译工具将FPGA VI转换为电路机制,以重新配置FPGA终端块和互连资源。

主控VI主控VI在控制器上运行,通过编程与FPGA VI通信。通过主控VI可记录数据、控制数据传输定时及创建一个带FPGA终端的系统,并将其用作组件。

用户界面VI用户界面VI在开发计算机上运行,并与主控VI通信。用户界面VI允许用户通过编程,与主控VI的输入控件和显示控件交互。在没有控制器的情况下,用户界面VI用作主控VI,并直接与FPGA VI通信。

I/OI/O是指FPGA系统的模拟和数字输入/输出。例如,热电偶、RTD、桥传感器、计数器和发生器等。关于支持的I/O的详细信息见指定硬件文档。

时钟时钟通过指定FPGA系统的定时需求,控制FPGA VI的执行频率。如未包含额外的用于控制定时的代码,操作的执行频率由VI数据流确定。多数FPGA终端的默认时钟速率为40 MHz。

程序生成规范FPGA终端的程序生成规范指定用户编译FPGA VI时,LabVIEW创建哪个选项:
  • 仿真导出—配置和导出用于第三方仿真的项目文件。
  • 编译—配置和转换待下载至FPGA终端的项目文件为位文件。
  • 源代码发布—配置待发布的项目文件为独立应用程序。
编译、下载和运行FPGA VI前,必须创建程序生成规范。如未创建程序生成规范,LabVIEW将自动创建和指定默认的程序生成规范。

相关文章:

【LabVIEW FPGA入门】创建第一个LabVIEW FPGA程序

本教程仅以compactRIO(FPGA-RT)举例 1.系统配置 1.1软件安装 FPGA-RT 1. LabVIEW Development System (Full or Professional) 2. LabVIEW Real-Time Module 3. LabVIEW FPGA Module 4. NI-RIO drivers 1.2硬件配置 1.使用线缆连接CompactRIO至主机…...

【STM32】STM32学习笔记-USART串口数据包(28)

00. 目录 文章目录 00. 目录01. 串口简介02. HEX数据包03. 文本数据包04. HEX数据包接收05. 文本数据包接收06. 预留07. 附录 01. 串口简介 串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单便捷,因此大部分电子设备都支持…...

Java网络爬虫--HttpClient

目录标题 技术介绍有什么优点?怎么在项目中引入? 请求URLEntityUtils 类GET请求带参数的GET请求POST请求 总结 技术介绍 HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、功能丰富的、支持 HTTP 协议的客户端编程工具包。相…...

若依项目的table列表中对每一个字段增加排序按钮(单体版和前后端分离版)

一、目标:每一个字段都添加上下箭头用来排序 只需要更改前端代码,不需要更改后端代码,后面会讲解原理 二、单体版实现方式: 1.在options中添加sortable:true 2.在需要排序的字段中添加sortable:true 三、前后端分离版 1.el-table上添加@sort-change=“handleSortChange”…...

Linux自动化部署脚本

1:最近项目部署比较频繁终于熬不住了 就有下面的这东西 #!/bin/sh #报错停止运行 set -e # 获取tomcat的PID TOMCAT_PID$(ps -ef | grep tomcat | grep -v grep | awk {print $2}) # tomcat的启动文件位置 START_TOMCAT/mnt/tomcat/bin/startup.sh # 项目文件部署位置 PROJECT…...

lvgl修改图片大小上限

在lvgl中读取图片文件时,被读取的图片具有上限,也就是2048像素。这会造成两个非预期的结果: 超过2048像素的部分会被裁去。表示图片的结构体lv_img_t中的w和h变量值是图片像素被2048求余。例如,当一个图片高为2048像素时&#xf…...

阻止持久性攻击改善网络安全

MITRE ATT&CK框架是一个全球可访问的精选知识数据库,其中包含基于真实世界观察的已知网络攻击技术和策略。持久性是攻击者用来访问系统的众多网络攻击技术之一;在获得初始访问权限后,他们继续在很长一段时间内保持立足点,以窃取数据、修改…...

MFC与Qt多个控件响应统一响应消息处理

就目前使用C开发框架来说,今天来讲述下MFC框架下与Qt框架下,如何让多个控件响应统一消息处理方法。 功能:假设有5个按钮,需要响应同一个处理函数,该如何实现呢? Qt方式 开发环境:win10 VS201…...

Camunda rest api鉴权

对于rest api 不能没有限制的任何人随意调用,需要提供账号信息。 一:工作流引擎增加过滤器 /*** 对/engine-rest/*进行鉴权,防止非法攻击* 客户端调用需要配置用户凭证否则报错401* camunda.bpm.client.basic-auth.username* camunda.bpm.cl…...

【PostgreSQL】在DBeaver中实现序列、函数、视图、触发器设计

【PostgreSQL】在DBeaver中实现序列、函数、触发器、视图设计 基本配置一、序列1.1、序列使用1.1.1、设置字段为主键,数据类型默认整型1.1.2、自定义序列,数据类型自定义 1.2、序列延申1.2.1、理论1.2.2、测试1.2.3、小结 二、函数2.1、SQL直接创建2.1.1…...

PyQt5-小总结

之前学习PyQt5,然后那段时间想做一个桌面小程序,后来由于学习内容较多就做了一小部分,但是可以进行页面跳转。大家如果是初学者对Python感兴趣而且刚学数据库时可以看看代码,可能会有点启发。 效果: 登录进来是这&…...

vue父组件给子组件传值,子组件不渲染的原因及解决方法

父组件传递给子组件的数据,如果是一个复杂对象(例如一个数组或对象),那么子组件只会监听对象的引用而不是对象的内容。这意味着当对象的内容发生变化时,子组件不会更新。 解决: 1、在子组件使用 watch 监听…...

【数据库】MySQL锁

一、锁的基本概念 1、锁的定义 锁是协调多个进程或线程并发访问数据库资源的一种机制。 MySQL中的锁是在服务器层或者存储引擎层实现的,保证了数据访问的一致性与有效性。但加锁是消耗资源的,锁的各种操作,包括获得锁、检测锁是否已解除、…...

mongodb学习篇

目录 前言基本概念数据库-database集合-collection文档-document 部署mongodblinux安装mongodbdocker安装mongodb MongoDB Shell (mongosh)命令行工具mongodb可视化-mongodb-compass、mongo-expressmongodb配置文件mongodb库、集合、文档库基本操作集合基本操作文档的增删改查C…...

kubernetes存储类迁移-备份恢复

背景介绍 kubernetes集群最开始使用了nfs作为存储,随着后续使用过程中数据量逐渐增加,nfs存储性能逐步出现不足,现增加了基于csi的分布式块存储后,需要对原有基于nfs存储类下的pv迁移到新的存储类下。 测试环境 k8s集群版本&am…...

python智能手机芯片

在未来,python智能手机芯片的发展方向可能包括以下几个方面: 强化处理能力:随着智能手机功能的不断扩展和用户需求的增加,处理器的性能需求也在不断提升。未来的python智能手机芯片可能会加强处理器的核心数量和频率,以…...

混淆技术概论

混淆技术概论 引言 在逆向工程领域,混淆技术是一种非常重要的技术手段,通过打破人们的思维惯性,使得逆向分析变得更加困难。本文将会介绍混淆技术的概念、分类及其应用,以及如何使用IPA Guard进行iOS IPA重签名。 混淆技术概述…...

pytest安装失败,报错Could not find a version that satisfies the requirement pytest

问题 安装pytest失败,尝试使用的命令有 pip install pytest pip3 install pytest pip install -U pytest pip install pytest -i https://pypi.tuna.tsinghua.edu.cn/simple但是都会报同样的错: 解决方案 发现可能是挂了梯子的原因,关掉…...

使用 Maven 的 dependencyManagement 管理项目依赖项

使用 Maven 的 dependencyManagement 管理项目依赖项 介绍 在开发 Java 项目时&#xff0c;管理和协调依赖项的版本号是一项重要而繁琐的任务。 而 Maven 提供了 <dependencyManagement> 元素&#xff0c;用于定义项目中所有依赖项的版本。它允许您指定项目中每个依赖…...

三英战吕布web3游戏项目启动全流程

项目是一个学习相关的很好的例子并且开源&#xff0c;原本的项目是连接goerli网络&#xff0c;但我把它修改为可连接ganache网络的项目了&#xff0c;更方便启动。 智能合约部分 进入文件 hardhat.config.js &#xff0c;增加一个钱包私钥 2.执行npm install 3.测试合约 npx ha…...

TS中的类

目录 ES6的类 类的概念 类的构成 类的创建 声明 构造函数 定义内容 创建实例 TS中的类 类声明 构造函数 属性和方法 实例化类 继承 访问修饰符 public private protected 成员访问修饰符的使用原则 访问器 只读成员与静态成员 readonly static 修饰符总…...

玩转硬件之玩改朗逸中控设备

这是一个有关一件被拆卸的朗逸中控设备的故事。这个设备已经闲置多年&#xff0c;但是它的命运发生了转变。它被改装成了一台收音机和MP3播放器。 这个设备曾经是一辆朗逸的中控屏幕&#xff0c;就是因为它没有倒车影像&#xff0c;它就被拆了下来&#xff0c;被扔在了一个角落…...

根据MySql的表名,自动生成实体类,模仿ORM框架

ORM框架可以根据数据库的表自动生成实体类&#xff0c;以及相应CRUD操作 本文是一个自动生成实体类的工具&#xff0c;用于生成Mysql表对应的实体类。 新建Winform窗体应用程序AutoGenerateForm&#xff0c;框架(.net framework 4.5)&#xff0c; 添加对System.Configuration的…...

Mac上安装tensorflow介绍留存

此预版本为 macOS 11.0 提供了硬件加速的 TensorFlow 和 TensorFlow 插件。M1 Mac 和基于 Intel 的 Mac 通过 Apple 的 ML 计算框架支持本机硬件加速。 TensorFlow r2.4rc0TensorFlow Addons 0.11.2 TensorFlow 插件 0.11.2 REQUIREMENTS 要求 macOS 11.0Python 3.8 (requir…...

【赠书第16期】码上行动:用ChatGPT学会Python编程

文章目录 前言 1 ChatGPT简介 2 Python编程简介 3 使用ChatGPT学习Python编程 4 如何使用ChatGPT学习Python编程 5 推荐图书 6 粉丝福利 前言 随着人工智能技术的不断发展&#xff0c;聊天机器人已经成为我们日常生活和工作中不可或缺的一部分。其中&#xff0c;ChatGP…...

LeetCode 每日一题 2024/1/1-2024/1/7

记录了初步解题思路 以及本地实现代码&#xff1b;并不一定为最优 也希望大家能一起探讨 一起进步 目录 1/1 1599. 经营摩天轮的最大利润1/2 466. 统计重复个数1/3 2487. 从链表中移除节点1/4 2397. 被列覆盖的最多行数1/5 1944. 队列中可以看到的人数1/6 2807. 在链表中插入最…...

7+单细胞+空转+实验验证,如何根据内容开展相关经验给你启发

导语 今天给同学们分享一篇生信文章“CD8 tissue-resident memory T cells induce oral lichen planus erosion via cytokine network”&#xff0c;这篇文章发表在Elife期刊上&#xff0c;影响因子为7.7。 结果解读&#xff1a; 单细胞RNA测序揭示了具有不同临床亚型的OLP的细…...

Verifiable Credentials可验证证书 2023 终极指南

1. 引言 Dock公司为去中心化数字身份领域的先驱者&#xff0c;其自2017年以来&#xff0c;已知专注于构建前沿的可验证证书&#xff08;Verifiable Credentials&#xff09;技术。本文将阐述何为电子证书、电子证书工作原理、以及其对组合和个人的重要性。 伪造实物证书和数字…...

R语言【sp】——SpatialPoints():创建类SpatialPoints或SpatialPointsDataFrame的对象

Package sp version 1.5-0 Description 从坐标或数据帧的坐标创建类 SpatialPoints-class 或 SpatialPointsDataFrame-class 的对象。 Usage SpatialPoints(coords, proj4stringCRS(as.character(NA)), bbox NULL)SpatialPointsDataFrame(coords, data, coords.nrs numeric…...

【Verilog】期末复习——简要说明仿真时阻塞赋值和非阻塞赋值的区别。always语句和initial语句的关键区别是什么?能否相互嵌套?

系列文章 数值&#xff08;整数&#xff0c;实数&#xff0c;字符串&#xff09;与数据类型&#xff08;wire、reg、mem、parameter&#xff09; 运算符 数据流建模 行为级建模 结构化建模 组合电路的设计和时序电路的设计 有限状态机的定义和分类 期末复习——数字逻辑电路分…...

设计师网站都有哪些/百度竞价开户哪家好

弱网环境 在进行手机应用测试时&#xff0c;经常需要模拟网络不稳定的状态下对测试执行的影响。调研了几款工具&#xff0c;可以通过手动设置数据丢包率&#xff0c;以及网络时延等参数&#xff0c;模拟弱网环境。如Charles、clumsy、netlimite、atc等。 1、几款工具的比较 …...

途牛电子商务网站建设/电商运营自学全套教程

系列文章 -- ES6笔记系列 解构赋值&#xff0c;即对某种结构进行解析&#xff0c;然后将解析出来的值赋值给相关的变量&#xff0c;常见的有数组、对象、字符串的解构赋值等 一、数组的解构赋值 function ids() {return [1, 2, 3]; }var [id1, id2, id3] ids();console.log(id…...

模版网站建设步骤详解/建网站的详细步骤

2019独角兽企业重金招聘Python工程师标准>>> 事件 – open/message/close/errorWebSocket#onopen, onmessage, onclose, onerror连接打开时&#xff0c;回调onopen方法&#xff0c;接收到后台消息时会触发到onmessage事件&#xff0c;后台关闭时调用onclose&#xf…...

郑州做网站需要多少钱/西安网站关键词推广

[编程资料]C语言库函数大全及应用实例十一函数名: setbkcolor 功 能: 用调色板设置当前背景颜色 用 法: void far setbkcolor(int color); 程序例: <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />&#xff03;i nclude &#x…...

视差滚动效果网站/一个具体网站的seo优化方案

第一种&#xff0c;for循环&#xff0c;此情况是list1属于list2 list1 [1, 2, 3] list2 [1, 2, 3, 4, 5] for i in list2:if i not in list1:print(i) 第二种&#xff0c;得出列表中相同的元素&#xff0c;和不同元素&#xff08;两个列表都存在&#xff09; list1 [1, 2,…...

国外做黄漫的网站/西安网站建设制作

1 1小时60分钟60*60秒360*1000毫秒360000毫秒&#xff0c;一秒等于1000毫秒转载于:https://www.cnblogs.com/sharpest/p/6045502.html...