第2章:LabVIEW FPGA未来发展方向《LabVIEW ZYNQ FPGA宝典》
2.1:NI的LabVIEW FPGA未来战略部署
在展望NI公司的LabVIEW FPGA技术未来发展趋势之前,让我们先来回顾一下LabVIEW与FPGA的技术发展历程,如图2-1所示。可以看出,NI公司的LabVIEW FPGA软件一方面是跟随Xilinx最新的FPGA硬件可持续发展,另外一方面则是发展自己的IP核,同时开发出IPNet,类似开源软件社区,构建一个完善的生态圈,NI以及客户都可以将实际的工程应用案例、IP核、算法放在IPNet上面共享共助。

图2-1:LabVIEW FPGA发展历程
NI正在加倍努力地开发LabVIEW FPGA及其相关的硬件产品,虽然LabVIEW FPGA已经帮助客户解决了很多FPGA技术难题,但是为了能够继续将FPGA技术提供给新的领域专家和工程师们使用,NI针对LabVIEW FPGA技术本身始终坚持以下几点:
- 对于一些由于编程和系统复杂程度原因而放弃考虑使用FPGA技术的工程师和科学家而言,为他们提供了一个可行方法。
- 跨越存在于顺序算法设计与并行FPGA实现之间的鸿沟。
- 通过抽象减轻实际数字设计的负担,使设计者能够关注更高层次、更为复杂的目标。
- 直观地表示仅仅适用于FPGA编程的并行、流水线、数据流设计方法。
在未来20年中,对更高层次抽象以及更好开发工具的需求是显而易见的,特别是FPGA实现在不断蚕食曾经被应用程序专用集成电路(ASIC)所主导的市场。LabVIEW FPGA和各种NI FPGA硬件平台将会继续在嵌入式系统和测试与测量中,和NI的产品一起继续成长-NI官网。
以上这段话是NI官方给出的答案,这里我们的结论是:NI的LabVIEW FPGA工具包会朝着两个方向发展,一是软件IP核算法的不断增加和更新,包括最新的5G算法、雷达仿真模型、电机模型、新型控制算法、CNN神经网络、自适应算法、多通道数字滤波器、人工智能、机器视觉算法等等;二是NI会持续推出基于Xilinx最新的FPGA芯片的RIO硬件平台,以适应越来越复杂的应用,将FPGA性能、参数、指标发挥到极致,将应用场合拓展到需要更高更强性能的领域,这类FPGA硬件会非常高端,甚至禁运。
2.2:神电测控My_FPGA未来发展方向(高中低端,走量,专注细分行业)
我们专注于通用型LabVIEW FPGA软件工具包的开发,FPGA硬件则交给客户自己定义。因此,我们未来的发展方向始终坚持的是My FPGA软件工具包IP核的开发,面向的客户群体则是需要能做项目或者产品走量,并且需要完善的软件和外设接口驱动IP的。通过图形化的LabVIEW方便客户自己集成,也就是更专注于细分行业,比如传统的工业自动化、运动控制、嵌入式开发、数据采集、信号处理、总线通信、物联网、边缘计算、人工智能、机器学习等需要FPGA注入新活力的领域。通常这类FPGA芯片性价比非常高,能够走量,可以实现传统MCU和MPU无法达到的性能。结合我们提供的My FPGA软件工具包里面的函数VI可以快速实现产品开发与原型验证。
我们在软件开发方面会投入更多的精力,主要细分为以下几类。
- LabVIEW FPGA Communication工具包,顾名思义就是FPGA通信接口软件,包括UART串口、CAN总线、USB2.0、USB3.0、千兆以太网UDP/TCP、万兆SFP+光纤TCP、SPI、IIC、VGA、HDMI、RTC、EEPROM、Flash,目前已经完成。本书会着重告诉大家如果使用LabVIEW自己一个人同时开发ZYNQ芯片里面的PS(ARM)和PL(FPGA)两部分的开发以及二者之间的通信和交互。
- LabVIEW FPGA Motion工具包,就是FPGA运动控制领域IP核,包括PID闭环控制算法、增量式编码器采集、SSI编码器采集、PWM脉冲生成、T型加减速、直线插补,多轴联合运动,目前已经完成。新增了带死区互补输出的PWM VI。
- LabVIEW FPGA DAQ工具包,就是FPGA数据采集软件,包括8位、12位、16位、24位AD/DA芯片接口驱动、SD卡存储、脉冲宽度测量等,已经开发完成。新增了32位ADC芯片采集驱动VI。
- LabVIEW FPGA Vision工具包,就是FPGA图像视觉软件,目前已经开发完成了图像采集、视频传输,后续会重点开发图像处理算法IP核,目前已经完成全部开发。
- LabVIEW FPGA Signal工具包,即FPGA信号处理软件,包括信号生成、信号滤波、FFT与逆FFT变换、极坐标转换、三角函数、陷波器、信号测量等,开发完成。新增了FPGA端的滤波器系数自动加载VI。
我们所开发的通用型My FPGA工具包都是围绕着FPGA芯片展开的,可以最大程度节省硬件开发成本。My FPGA软件工具包对于Xilinx FPGA芯片的硬件支持,我们分为以下3个阶段。
初级阶段:支持Spartan3E、Spartan6、Virtex5,目前已经开发完成。如图2-2所示。
中间阶段:支持ZYNQ和ARTIX7,已于2019年7月份全部完成。
高级阶段:支持Virtex7和KINTEX7,已经完成全部封装测试, 2019年10月完成。
提升阶段:支持LabVIEW直接对7系列FPGA芯片里面的PCIe DMA IP核进行开发。提供一整套完整的LabVIEW FPGA PCIe/PXIe软硬件解决方案,包括下位机PCIe DMA程序开发、中间层固件代码开发、上位机LabVIEW/C#/C++程序开发。2020年9月完成。
升华阶段:支持Xilinx ZYNQ芯片开发,也就是本书的重点内容。学完之后,用户能够自己独立自主的使用图形化的LabVIEW软件对ZYNQ芯片里面的PS(ARM)和PL(FPGA)程序开发,真正将芯片领域最难的SOC架构FPGA轻松拿下。
注意:以上所有芯片不限制封装、引脚数量和速度等级。这样用户就可以根据实际需求选择不同封装和资源的FPGA芯片,多达上百种。






图2-2:已经开发完成的My_FPGA支持的芯片列表
为了让客户更好的选择不同的FPGA芯片进行实际项目或者产品开发,我们将同一个系列里面不同的FPGA采取以下命名规则:芯片家族_具体型号_速度等级封装,例如本书我们重点用到的原子ZYNQ7020领航者开发板上的FPGA主芯片就是ZYNQ_XC7Z020_2CLG400,如图2-3所示。这样用户直接可以在LabVIEW里面选择对应的芯片,然后创建一个FPGA项目即可。一般FPGA芯片速度等级是2、3、4,我们取最常见的2和3,如果有用户需要用到4或者2L,也可以联系我们加进去。这本书重点讲解Xilinx的ZYNQ芯片程序开发,所以这里我们把所有ZYNQ家族的FPGA目标终端设备全部新建出来,右击“我的电脑”,然后选择新建“终端和设备”即可,对应的项目浏览器,如图2-4所示。

图2-3:已经开发完成的My FPGA支持的芯片-命名规则(ZYNQ)



图2-4:新建出来的My FPGA(ZYNQ)目标终端设备-项目浏览器
目前LabVIEW My FPGA ZYNQ Pro20工具包已经开发完成的ZYNQ配套案例程序多达100多个。为了方便讲解和演示,我们将ZYNQ范例程序分成PS(ARM)端例程和PL(FPGA)端例程两部分,其中,PL(FPGA)端的范例程序如图2-5所示,PS(ARM)端的范例程序如图2-6所示,但是二者内部是可以相互通信的,PS与PL的交互通信原理以及每个案例程序的编写过程、实现的功能可以参考后续第6~8章的实验详解部分。

图2-5:My FPGA工具包配套的ZYNQ里面的PL(FPGA)端案例实验程
(后续会持续补充)



图2-6:My FPGA工具包配套的ZYNQ里面的PS(ARM)端案例实验程
(后续会持续补充)
相关文章:
第2章:LabVIEW FPGA未来发展方向《LabVIEW ZYNQ FPGA宝典》
2.1:NI的LabVIEW FPGA未来战略部署 在展望NI公司的LabVIEW FPGA技术未来发展趋势之前,让我们先来回顾一下LabVIEW与FPGA的技术发展历程,如图2-1所示。可以看出,NI公司的LabVIEW FPGA软件一方面是跟随Xilinx最新的FPGA硬件可持续发…...
苹果电脑维护工具:CleanMyMac X让你的Mac焕发新生!
在我们的数字生活中,苹果电脑(Mac)已成为不可或缺的一部分,无论是为工作披星戴月,还是为娱乐畅游云端。但是,就像任何长时间运行的机器一样,Mac也可能会因为积累的文件和不必要的数据而开始变慢…...
MySQL2 DML数据操纵语言和SQL约束
DML和SQL约束 SQL-DML1.添加数据2.修改数据3.删除 TRUNCATE和DELETE的区别:SQL-约束Primary Key创建主键约束单列主键联合主键**验证主键约束**删除主键约束设置主键自增AUTO_INCREMENTdelete和truncate删除后,主键的自增 SQL-唯一约束UNIQUE创建唯一约束…...
Ubuntu 20.04 中安装 Nginx (通过传包编译的方式)、开启关闭防火墙、开放端口号
文章目录 前言一、安装包下载二、上传服务器并解压缩三、依赖配置安装四、生成编译脚本五、编译六、查看是否编译完成七、开始安装八、查看是否安装成功九、设置为开机自启动 前言 参考大佬文章并在基础上做了点修改,发篇文章记录下 防止下次遇到。 参考文章&#…...
解决no main manifest attribute错误
文章目录 0. 背景1. java程序如何运行2. jar是什么3. java -jar test-1.0-SNAPSHOT.jar:4. 添加执行入口 0. 背景 在开发Spring boot项目的时候,有时候会需要使用java -jar test-1.0-SNAPSHOT.jar指令来运行开发的java应用,但是很不幸&#…...
002 | 常见的金融量化指标计算
金融量化指标 在金融量化分析中,常用的指标可以帮助我们判断市场走势、评估风险和收益,以及构建交易策略。以下是一些常见的金融量化指标及其计算方法的详细教程,包括公式与Python代码实现。 1. 移动平均线(Moving Average, MA&…...
Web Vitals:提升用户体验的关键指标
Web Vitals 是 Google 提出的一套核心网页性能指标,旨在帮助开发者理解和优化网站的用户体验。这些指标分为核心 Web Vitals 和附加 Web Vitals,涵盖了加载性能、交互性和视觉稳定性三个方面。以下是详细的介绍和如何使用 Web Vitals 来优化你的网站。 …...
c#中的约束、TimeSpan、defult、operator
c#中的约束 在C#中,约束(Constraints)用于限制泛型类型参数的类型,以确保泛型类型或方法在编译时能够满足特定的要求。约束允许开发者指定泛型类型参数必须满足的条件,比如实现特定的接口或继承自特定的类。以下是一些…...
挖矿木马攻破了服务器
最近被国外的挖矿木马攻破了服务器 根据非法登录,用 #last指令查看登录ip 首先删掉登录主机 #kill -9 pts/0 第二步 #top 看看什么占用cpu高 第三步杀死狂刷CPU的服务 过一分钟后,服务又开始狂刷cpu。 第四步根据pid查到服务地址 #systemctl status…...
从容应对技术面试:策略、技巧与成功案例
欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 工💗重💗hao💗:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来:详细讲解AIGC的概念、核心技术、应用领域等内容。 ⭐…...
Spring Boot 整合 RestTemplate:详解与实战
Spring Boot 整合 RestTemplate:详解与实战指南 一、引言二、依赖添加Maven 示例:Gradle 示例: 三、创建 RestTemplate 实例四、使用 RestTemplate 发起请求五、处理响应六、高级用法1. 自定义 RestTemplate 实例2. 文件上传、下载以及常见的…...
【利用模板模式和责任链模式实现数据校验】
利用模板模式和责任链模式实现数据校验 一、业务背景二、模板模式和责任链模式代码实现1、数据校验抽象处理器ValidateHandler2、数据校验责任链工具类ValidateChainUtil3、网元调整数据校验抽象类AbstractNodeCheckHandler4、依次定义3个责任链handler,通过Order注…...
学习笔记第十九天
1.标准I/O的基本概念 标准输入(stdin):默认是指键盘输入。 标准输出(stdout):默认是指显示器输出。 标准错误(stderr):用于输出错误信息,也是指向显示器&…...
设计模式 - 单例模式
💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 文章目录 引言一、单例模…...
fastapi之WebSockets
文章目录 WebSockets基本概念FastAPI 中的 WebSocket 支持WebSocket 应用示例示例 1: 简单的 WebSocket 连接解释 示例 2: 广播消息的 WebSocket 实现解释 客户端代码示例 完整示例项目结构服务器端代码 (main.py)解释 简单的前端客户端 (static/index.html)解释 测试 相关代码…...
Kotlin 和 Java区别
Kotlin 和 Java 是两种主要用于 Android 开发的编程语言,它们之间有一些关键的区别: 1. 语法简洁性: Kotlin:具有更简洁的语法,减少了冗余代码。例如,Kotlin 支持类型推断,避免了大量的样板…...
windows 达梦到ORACLE dblink
达梦通过DBLINK访问Oracle数据库有两种: 方式一:通过Oracle oci接口; 方式二:一种是通过ODBC数据源的方式。 本案例选择使用Oralce OCI的方式去访问Oracle数据库。 配置Oracle OCI客户端 下载地址:https://www.oracle.com/database/techno…...
大数据应用组件
1、数据存储1.1、hive->hdfs、mapredus1.2、ClickHouse1.3、Elasticsearch1.4、PostgreSQL1.5、HBase 2、数据抽取2.1、Kettle2.2、DataX2.3、Canal2.4、Flink CDC2.5、Sqoop2.6、Filebeat&Logstash(日志) 3、任务编排3.1、Apache DolphinScheduler 4、数据处理4.1、spa…...
Docker Remote API未授权访问漏洞
9.Docker Remote API未授权访问漏洞 步骤一:使用以下Fofa语句对Docker产品进行搜索. port"2375" 步骤二:直接使用浏览器访问以下路径 /version#查看版本信息 /info#查看容器信息 漏洞修复 1.端口访问控制 对2375端口做网络访问控制,如设置iptables…...
算法训练.
一.扩散 题解: 计算点之间的距离,然后对图进行处理即可,这个数据规模较小,因此我使用了floyd,还有最小生成树和二份答案加并查集的写法; 代码: #include <iostream> #include <cstring> #in…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...
Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合
作者:来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布,Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明,Elastic 作为 …...
Yolo11改进策略:Block改进|FCM,特征互补映射模块|AAAI 2025|即插即用
1 论文信息 FBRT-YOLO(Faster and Better for Real-Time Aerial Image Detection)是由北京理工大学团队提出的专用于航拍图像实时目标检测的创新框架,发表于AAAI 2025。论文针对航拍场景中小目标检测的核心难题展开研究,重点解决…...
前端打包工具简单介绍
前端打包工具简单介绍 一、Webpack 架构与插件机制 1. Webpack 架构核心组成 Entry(入口) 指定应用的起点文件,比如 src/index.js。 Module(模块) Webpack 把项目当作模块图,模块可以是 JS、CSS、图片等…...
