fpga开发教程 labview_LabVIEW项目样例 - NI VST FPGA软件编程使用步骤与实例教程

3. LabVIEW项目样例

NI VST仪器设计库的能力强大,但是并不能单枪匹马地完全满足软件设计仪器实现默认功能的要求,也不能提供大多数VSA和VSG仪器编程人员所熟悉的简单主机接口。

LabVIEW 2012提供了一个新功能,这种方便的机制不仅能够分配附加代码,从而提供默认、预编译的功能和一个方便的主机接口,而且还使用户能够轻松地掌握这些代码。此机制是LabVIEW项目样例,将LabVIEW项目、具体VI,以及相关文件复制到用户指定的硬盘位置。另外还提供文件重命名和更新VI标题的能力。

图 4.利用LabVIEW 2012项目样例,软件设计仪器的用户可以完全掌握代码的相关部分

欲了解创建NI VST项目样例的详细信息,请访问ni.com/vst/getting-started/zhs/。

NI PXIe-5644R的软件安装程序能够创建具有不同特征的多个项目样例。最类似于默认VSA和VSG功能的项目是Simple VSA/VSG项目样例。此项目样例提供了与其他VSA和VSG API相似的主机接口。Simple VSA/VSG项目样例的高层架构和数据流如图5所示。

图 5. Simple VSA/VSG项目样例在主机和FPGA上聚集仪器设计库,提供了一个VSA和VSG用户所熟悉的起点

从Simple VSA/VSG项目样例的FPGA VI开始,有四个主要回路,一些附加功能位于过程subVI内。为配置NI VST的所有可编程组件,以及FPGA上的一些仪器设计库,配置回路从主机处接收寄存器和设置,然后将其分布至各个FPGA子系统和外部电路。为了提高性能以及使主机上的多个过程均能够独立访问,有两个寄存器总线。一个用于采集,另一个用于生成,并且每一个都必须能够配置共享资源,例如计时。

图 6. 配置回路负责接收主机的数据以及对仪器进行编程

RF输入回路获取模数转换器(ADC)的数据;进行复矢量校准;并进行频移、相位校准、减损,以及可变、部分、防混叠抽选。另外,RF输入回路还实现了同步以及数字式功率水平触发,然后将数据写入FIFO,并最终写入DRAM。

图 7. RF输入回路以可配置I/Q速率生成已校准数据,并将其写入DRAM

RF输出循环类似于RF输入循环,但是操作顺序相反。来自DRAM的数据进行内插、定标、频移、相位校准、内插、校准,然后通过数模转换器(DAC)生成。另外还有触发和同步所用信号。

图 8. RF输出循环检索来自DRAM的数据然后生成数据

过程子VI包含有循环和状态机,实现了多数据记录采集和DRAM控制器对波形的排序。这些子VI包含了大量代码,满足了大带宽和低滞后性能要求,确保这些子VI能够在全速率ADC数据转换下溢出,以及产生全速率DAC数据而不发生下溢,同时仍然与主机之间进行波形数据传输。

读取循环实现的功能可以存在于多记录采集过程之内,然而为了方便起见而将其显示出来。该循环可以再数据离开DRAM时并在被发送到主机前进行数据处理。此路径在它自己的回路之内,从而那些并不符合120 MHz RF输入和输出回路的定时要求的IP仍然可以使用。为了适应这种IP,稍微降低此回路速率并不会影响读取性能,然而如果降得过多,则只会增加数据到达主机所需时间。这样即使采样内存被填满了,也不会丢失样点或破坏数据。

图 9.读取循环提供了在已采集数据返回主机之前对其进行处理的机会。在默认情况下,读取回路返回原始数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/306348.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.net5+nacos+ocelot 配置中心和服务发现实现

相关文章:手动造轮子——为Ocelot集成Nacos注册中心出处:https://www.cnblogs.com/buruainiaaaa/p/14121176.html作者:唐 最近一段时间 因公司业务需要,需要使用.net5做一套微服务的接口,使用nacos 做注册中心和配置中…

数据科学与python语言——Pandas统计分析基础(时间转换+聚合)

Pandas统计分析基础(时间转换聚合)实验要求一实验二要求全部代码实验要求一 #M表的时间戳类型转为datetime data_Mete[TIMESTAMP]pd.to_datetime(data_Mete[TIMESTAMP],format%Y%m%d%H%M%S)data_VI[Date]pd.to_datetime(data_VI[Date],format%Y/%m/%d) p…

用keil怎么擦除_分享STM32 FLASH 擦除(以及防止误擦除程序代码)、写入

编译环境:我用的是(Keil)MDK4.7.2stm32库版本:我用的是3.5.0一、本文不对FLASH的基础知识做详细的介绍,不懂得地方请查阅有关资料。对STM32 内部FLASH进行编程操作,需要遵循以下流程:FLASH解锁清除相关标志位擦除FLASH…

如何在 ASP.NET Core 中使用 Quartz.NET 执行任务调度

当我们在web开发中,常常会遇到这么一个需求,在后台执行某一项具体的任务,具体的说就是这些任务必须在后台定时执行。Quartz.NET 是一个开源的 JAVA 移植版,它有着悠久的历史并且提供了强大的 Cron 表达式,这篇我们就来…

数据科学与python——Pandas统计分析基础(数据堆叠+数据清洗)

Pandas统计分析基础数据堆叠数据清洗一.合并数据:获取完整的数据集。1.读取数据2.将两个csv文件按照mete.csv文件的日期对齐3.纵向合并数据data1与data24.使用drop_duplicates()函数去除重复值二.异常值处理:去除data3中GPP中的异常点1.根据3σ原则检测异…

python 为什么动态语言图片_聊聊动态语言那些事(Python)

动态编程语言是高级程序设计语言的一个类别,在计算机科学领域已被广泛应用。它是一类在运行时可以改变其结构的语言:例如新的函数、对象、甚至代码可以被引进,已有的函数可以被删除或是其他结构上的变化。动态语言目前非常具有活力&#xff0…

容器的那点事

当我们的后端服务器不够用的时候,我们可以通过容器技术,可以快速的把这些服务器全部虚拟出来, 当然这个虚拟跟虚拟机是不一样的,比虚拟机的方式快多了,早期阿里的淘宝平台如果整个坏掉了,重新搭建部署起来需…

lqb——修改数组

思路 **常规思路用哈希表的思想,设置bool数组标识是否被占用过,但是发生矛盾时将会造成查找需要遍历整个数组,比如,1,2,3……100000已连续占用,此时再插入1,将会一直遍历这100000个数,极端情况下,插入100000个1,将是n平方的复杂度。 如何快速查找到插入位置,这就引…

bp神经网络训练_数据分析模型6——神经网络基础(人工智能的底层模型)

未经许可请勿转载更多数据分析内容参看这里今天我们来学习人工智能的底层模型——神经网络(NEURAL NETWORKS),现在比较热门的一个模型是深度学习,深度学习的基础也是神经网络,要学好深度学习,神经网络不了解…

四种最令人讨厌的编程语言:Java、Javascript、C++和Perl

喜欢就关注我们吧!TIOBE 12 月榜单已于日前公布,在最新的排行榜中,C 语言仍高居榜首,其次分别是 Java、Python 和 C。在编程语言这一领域中,许多编程语言都会随着时间的推移而经历人气的激增,以及历史迭代之…

机器学习之数据预处理——特征编码(标签编码,独热编码)

机器学习之数据预处理——特征编码 数据预处理——特征编码离散数据的编码标签编码sklearn LabelEncoder(使用fit_transform函数)sklearn LabelEncoder(反向变换可以用函数 inverse_transform)独热编码sklearn OneHotEncoder机器学习里有一句名言:数据和特征决定了机器学习的上…

微软用的工具,统一财务三大表及高级分析通用模板

虽然罗叔并非财务专业,但大概了解一些财务常识。例如财务报表的三大报表以及一些常见分析等。本月《BI真经》视频课程即将就绪,后续罗叔将和大家开展更多的业务研究。我们知道,PowerBI 在绘制某些报告时候很难,初学者根本无法实现…

文件 单片机_如何查看你写的单片机程序有多大?

单片机我们都用过,我们知道单片机的FLASH有4K的,有8K的,单片机程序我们也写过,但是我们写好的程序有多大,你知道吗?程序写好并编译后生成hex文件,这个hex文件就是要下载到单片机里的文件&#x…

机器学习之数据预处理——数据清洗(缺失值、异常值和重复值的处理)

机器学习之数据预处理——数据清洗缺失值、异常值和重复值的处理 基础知识技术点总结数据列缺失的处理方法1、丢弃(缺失值处理)1、生成一份随机数据2、查看哪些值缺失3、获得含有NA的列4、获取全部为NA的列5、丢弃缺失值2、补全(缺失值处理)1、使用sklearn将缺失值替换为特…

小说中场景的功能_如何让你的小说中的场景转换自如?

很多人很头疼场景、时间转换要怎么办,可以用章节作为转换的过渡,那么章节内呢?我看到最普通的做法就是画分割线,殊不知这种做法在稍微有点阅读功底的读者眼中都是很……怎么说,很没品吗?嗯,或许…

夏虫不可语冰

此次事件让我再次体会到了什么是“夏虫不可语冰”。博客园有些人压根没看完你的文章,带着已有认知断章取义不暇思索上来就是喷。不过,以前也遇到过,现在也慢慢习惯了。对于托管堆内存泄漏的说法,不管认不认同,我还是希…

机器学习之数据预处理——归一化,标准化

机器学习之数据预处理——归一化,标准化 基础知识1.什么是特征预处理2.预处理方法 :3.预处理API:数据的标准化(normalization)和归一化数据的标准化数据归一化1 把数变为(0,1)之间的小数2 把有量纲表达式变为无量纲表达式常用归一化方法最大-最小标准化(MinMaxScaler)Z-s…

css less 不要作用到子对象_使用Less实现网站主题切换

v-easy-components change theme很多初学前端的开发同学一定有一种想法,就是如何更改网站的主题。前年(2018),我也陷入了思考,如何切换网站主题呢?当时不知道less,只想到一种办法,就…

展望2021,Java、Go、.NET,谁主沉浮?

伴随着年底.NET社区活动,近日跟几位微软MVP大佬聊天请益,收获颇丰。程序员都有个话题避不开,就是各编程语言的优劣,大佬们的见识既有意思也有深度,这里为大家整理一下,其中Java、Golang和.NET是讨论焦点。J…

机器学习之数据集划分——训练集测试集划分,划分函数,估计器的使用

训练集测试集划分,划分函数,估计器的使用参考文章训练集、验证集和测试集的划分及交叉验证的讲解划分训练集和测试集的函数学习sklearn数据集,数据集划分,估计器详细讲解参考文章 训练集、验证集和测试集的划分及交叉验证的讲解 …