当前位置: 首页 > 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…...

当Logo消失,品牌资产还剩多少?

这个问题问得直接——品牌费尽心思把Logo放大、放正、放在C位&#xff0c;可如果有一天消费者真的“看不见”它&#xff0c;品牌还剩下什么&#xff1f;答案取决于品牌建设的本质&#xff1a;是在做识别符号&#xff0c;还是在做价值沉淀。1. 认知资产&#xff1a;剩不下什么Lo…...

FFXIV国际服中文补丁解决方案:零基础上手实战指南

FFXIV国际服中文补丁解决方案&#xff1a;零基础上手实战指南 【免费下载链接】FFXIVChnTextPatch 项目地址: https://gitcode.com/gh_mirrors/ff/FFXIVChnTextPatch 你是否曾在《最终幻想XIV》国际服中因语言障碍错失关键剧情&#xff1f;是否因英文界面降低了游戏沉浸…...

机械臂+点云相机实战:手眼标定全流程避坑指南(附PCL库代码)

机械臂与点云相机手眼标定实战&#xff1a;从原理到代码的完整避坑指南 在工业自动化与机器人应用领域&#xff0c;机械臂与3D视觉系统的协同作业已成为提升生产灵活性和智能化的关键技术。其中&#xff0c;手眼标定作为连接机械臂运动学与视觉感知的桥梁&#xff0c;其精度直接…...

STM32F1XX 的 CAN 的 波特率配置

参考文档&#xff1a; CAN总线波特率的设定——以STM32F103为例 - 知乎 42. CAN—通讯实验 — [野火]STM32库开发实战指南——基于野火霸道开发板 文档 基本知识 &#xff08;SMP 采样率&#xff09; STM32F1系列开发板设置的系统时钟大小 SYSCLK&#xff08;系统时钟&…...

从‘生日悖论’到‘碰撞攻击’:一个故事讲明白哈希函数为什么会被攻破

从生日派对到数字指纹&#xff1a;哈希函数的安全冒险之旅 想象一下&#xff0c;你正在参加一个23人的小型生日派对。服务员突然打赌说&#xff1a;"这里至少有两个人同一天生日。"你环顾四周觉得概率渺茫——毕竟一年有365天呢。但惊人的是&#xff0c;这个赌注的胜…...

基于YOLOv10深度学习的管道泄漏检测系统(YOLOv10+YOLO数据集+UI界面+Python项目+模型)

一、项目介绍 项目摘要 随着工业管道运输系统的日益复杂化&#xff0c;管道泄漏事故不仅会造成巨大的经济损失&#xff0c;还可能引发严重的环境污染和安全事故。为了实现对管道泄漏的快速、准确识别&#xff0c;本研究提出了一种基于YOLOv10深度学习模型的智能管道泄漏检测系…...

ESP32-C3开发环境搭建(VSCode+ESP-IDF)与串口占用疑难排查实战

1. ESP32-C3开发环境搭建全攻略 第一次接触ESP32-C3开发板时&#xff0c;我和大多数开发者一样&#xff0c;被环境搭建这个"入门杀"折腾得够呛。特别是使用合宙经典款开发板时&#xff0c;USB转串口芯片带来的各种"惊喜"让人措手不及。这里分享一套经过实战…...

【windows】VirtualBox网络配置及实战-Host Only 仅主机模式

1.概述 仅 主 机 网 络 &#xff1a; 用 来 创 建 一 个 包 含 主 日 一 组 虚拟机的 网 络 &#xff0c; 而 不 需 要 主 机 的 物 理 网 络 接 口 &#xff0e;相反 &#xff0c;在虚拟机上创建了一个类似于环回接口的虚拟网络接口。提 供 虚 似 机 和 主 机 之 间 的 连 接 …...

告别SD卡!手把手教你用Vitis 2020.2把ZYNQ程序烧进QSPI Flash,实现上电自启动

从开发到量产&#xff1a;ZYNQ QSPI Flash程序固化全流程实战指南 在嵌入式系统开发中&#xff0c;从原型验证到产品量产往往需要跨越一道关键的技术门槛——程序固化。对于使用Xilinx ZYNQ系列芯片的开发者而言&#xff0c;如何将调试阶段依赖SD卡运行的程序&#xff0c;可靠地…...

m3u8流媒体视频下载工具的技术实现与应用指南

m3u8流媒体视频下载工具的技术实现与应用指南 m3u8流媒体视频下载工具是一款基于现代Web技术栈开发的桌面应用程序&#xff0c;专门用于处理各类在线视频资源的下载需求。该工具采用TypeScript语言开发&#xff0c;结合Electron框架构建跨平台桌面应用&#xff0c;为用户提供专…...