LabVIEWCompactRIO 开发指南36 确定“Clock Ticks”或模拟时间
LabVIEWCompactRIO 开发指南36
确定“Clock Ticks”或模拟时间
桌面执行节点可以控制模拟时间,因此开发人员可以使用模拟I/O在开发计算机上执行期间更改关键点的激励。要成功使用此功能,需要测量FPGA VI完成所需的时间,或者需要以直观地知道完成所需时间的方式设计VI(例如,使用循环定时器来保证定时)。以下是测量完成FPGA VI所需时间的一些提示。
单周期定时循环
如果使用的是SCTL,则该循环中包含的代码始终需要参考时钟的一个时钟周期来执行,因此可以将时钟周期设置为1个时钟周期。如果有多个SCTL,请选择最快的时钟作为参考时钟。
带循环计时器的循环
在这种情况下,可以指定循环计时器的值(以刻度为单位)。如果循环计时器以毫秒或微秒为单位配置,请执行转换。例如,如果将循环定时器设置为10μs,请执行以下计算:
■Ticks=时钟(Hz)x时间(s)
■Ticks =40,000,000Hzx0.00001秒
■Ticks =400
因此,可以将桌面执行节点中的时钟周期输入配置为400个时钟周期。
没有循环计时器的循环
如果使用不包含任何模拟I/O(可能包含数字I/O)的While环路,则测量刻度数的最简单方法是使用采样探针。为此,请在While循环迭代终端上创建一个指标。右键单击连线并选择SamplingProbe»FPGA.。在仿真模式下运行VI一两秒钟,停止并查看采样探针窗口。在下面的示例中,可以看到While循环需要40MHz时钟的两个时钟周期来执行,根据采样探测窗口(每个时钟周期等于25ns)。对于这种情况,可以将时钟刻度输入设置为两个刻度。
注意:由于这是一个While循环,因此在仿真中测量的时钟周期数不一定等于在硬件中执行相同代码时产生的时钟周期数。但是,SCTL中的任何代码都可以保证循环准确。

图5.36.使用采样探测器测量每次迭代的时钟周期数
当循环以Delta-Sigma Module时钟的速率执行时
可能有一个以Δ-Σ模拟输入模块定义的速率执行的FPGA VI,例如图5.37所示示例中使用的VI。在仿真模式中,LabVIEW忽略来自这些属性节点的定时输入。因此,这些情况要求执行两个步骤:
1.通过添加相当于扫描速率的循环定时器来控制VI的仿真时序
2.将桌面执行节点中的时钟周期输入设置为与循环计时器输入的值相同的值
在此特定示例中,从转速表读取数据,模拟输入模块配置为以2.048kS/s或488μs的速率运行。第一步,需要将循环定时器添加到While循环中,并将其配置为488μs的循环速率。

图5.37.通过添加条件环路定时器来指定模拟时间。
可以将循环定时器置于条件禁用结构中,以便仅在VI执行模拟模式时才调用它。使用以下值配置条件禁用结构:
■FPGA_EXECUTION_MODE==DEV_COMPUTER_SIM_IO
循环计时器应放置在此条件大小写中,默认大小写应为空。

图5.38.配置条件禁用结构
最后一步是在桌面配置节点中设置时钟周期输入。在此示例中,488μs等于19,531个时钟周期,因此将时钟时钟周期输入设置为19,531个时钟周期。
第3步:构建测试平台
成功配置桌面执行节点后,即可开始构建测试平台。在下面显示的示例中,记录的转速计数据从TDMS文件中读取,并写入称为Tach的模拟输入I/Onode。FPGA VI在仿真模式下执行,结果rpm显示在图表上。要验证转速表IP,可以查看从文件中读取的转速表数据和绘制到图表的转速表数据。

图5.39.创建测试VI并验证FPGA代码。
相关文章:
LabVIEWCompactRIO 开发指南36 确定“Clock Ticks”或模拟时间
LabVIEWCompactRIO 开发指南36 确定“Clock Ticks”或模拟时间 桌面执行节点可以控制模拟时间,因此开发人员可以使用模拟I/O在开发计算机上执行期间更改关键点的激励。要成功使用此功能,需要测量FPGA VI完成所需的时间,或者需要以直观地知道…...
ESP32 :项目的创建及项目架构解析
一、项目的创建 方式一:基于IDF示例创建 在ESP-IDF中有example示例库,以其中的一个示例为模板创建项目。 1、打开示例库 查看 - 命令面板(也可以按住CtrlShiftP 或 F1) 输入 show examples projects 2…...
TI EDI 项目数据库方案开源介绍
TI EDI 工作流简介 TI EDI到SQL Server示例流具有预配置的端口,用于从TI的EDI集成规范转换以下交易集: 850 采购订单,企业 -> TI855 采购订单确认,TI -> 企业860 采购订单变更,企业 -> TI865 采购订单变更确认,TI -> 企业856 发货通知,TI …...
报表控件FastReport使用指南——使用NuGet包创建PDF文档
FastReport 是功能齐全的报表控件,可以帮助开发者可以快速并高效地为.NET,VCL,COM,ActiveX应用程序添加报表支持,由于其独特的编程原则,现在已经成为了Delphi平台最优秀的报表控件,支持将编程开…...
策略模式-类型统计
文章目录 前言一、策略模式是什么?二、策略模式应用场景三、策略模式优点四、策略模式缺点五、场景案例:类型统计1.项目结构2.UML图解3.代码实现3.1 指标枚举3.2 请求体3.3 响应体3.4.分析统计指标策略3.5.接口3.6.扩展接口3.7.接口实现3.8.控制层 六、P…...
android 12.0app应用安装白名单
1.概述 在12.0定制化开发中,客户需求要实现应用安装白名单功能,在白名单之中的应用可以安装,其他的app不准安装,实现一个 控制app安装的功能,这需要从app安装流程入手就可以实现功能 PMS就是负责管理app安装的,功能就添加在这里就可以了, 2.app应用安装白名单核心代码 …...
android 12.0Launcher3禁止拖动图标到Hotseat
1.概述 在12.0系统Launcher3进行定制化开发中,对于hotseat的开发中,由功能需求要求禁止拖动图标到Hotseat的功能,而拖拽也是在workspace.java中处理的 接下来就从workspace.java 开始找解决的办法 2.Launcher3禁止拖动图标到Hotseat相关代码分析 packages/apps/Launcher3…...
Java阶段三Day03
Java阶段三Day03 文章目录 Java阶段三Day03JavaScript语言JavaScript概述什么是JavaScript语言特点一门编程语言包括哪些内容 语言基础变量JavaScript常用数据类型运算符各种语句如何在HTML页面中引入JavaScript代码方法和页面相关的方法 BOM和DOM什么是BOMwindow对象location对…...
【STM32G431RBTx】备战蓝桥杯嵌入式→决赛试题→第七届
文章目录 前言一、题目二、模块初始化三、代码实现interrupt.h:interrupt.h:main.h:main.h: 四、完成效果五、总结 前言 无 一、题目 二、模块初始化 1.LCD这里不用配置,直接使用提供的资源包就行 2.ADC:开启ADCsingle-ended 3.LED:开启PC8-15,PD2输出模式就行了…...
Java日期时间调整的几种方式
一、Calendar类 我们现在已经能够格式化并创建一个日期对象了,但是我们如何才能设置和获取日期数据的特定部分呢,比如说小时,日,或者分钟? 我们又如何在日期的这些部分加上或者减去值呢? 答案是使用Calendar 类。 Calendar类的…...
如何在Windows 11更新后解决C盘已满的问题?
Windows 11比Windows 10需要占用C盘更多的空间,在升级到Windows 11后,如果升级后出现问题,安装程序可以帮你退回到Windows 10。无论怎样,在升级到Windows 11后,系统会自动制作以前的数据的副本,这会占用大量…...
DJ6-1/2/3 文件系统
目录 6.1 文件系统概述 6.1.1 文件、记录和数据项 6.1.2 文件类型 6.1.3 文件系统模型 6.1.4 对文件的操作 6.2 文件的逻辑结构 6.2.1 文件逻辑结构的类型 6.2.2 顺序文件(Sequential File) 6.2.4 索引文件(Index File&…...
华为OD机试真题 Java 实现【打印文件】【2023Q1 100分】
一、题目描述 有 5 台打印机打印文件,每台打印机有自己的待打印队列。 因为打印的文件内容有轻重缓急之分,所以队列中的文件有1~10不同的优先级,其中数字越大优先级越高。 打印机会从自己的待打印队列中选择优先级最高的文件来打印。 如果存在两个优先级一样的文件,则选…...
基于LSB实现文本、图片、压缩包的隐藏
关于LSB的相关介绍: LSB全称为 Least Significant Bit(最低有效位),是一种基于图片最低有效位修改储存信息的隐写方法,在CTF杂项中经常会遇到,LSB属于空域算法中的一种,是将信息嵌入到图像点中…...
(万字长文)Linux——IO之重定向+缓冲区 +重定向 +缓冲区原理实现 +带重定向的简易版shell+标准输出标准错误
索引 文件描述符分配规则重定向 缓冲区1.什么是缓冲区2.缓冲区在哪里 重定向源码模拟实现缓冲区原理带重定向的简易版Xshell标准输入和标准错误 文件描述符分配规则 文件描述符的分配规则 从头遍历数组fd_array[],找到一个最小的,没有被使用的下标,分配…...
面试:js 延迟加载方式
相关知识点: js 延迟加载,也就是等页面加载完成之后再加载 JavaScript 文件。 js 延迟加载有助于提高页面加载速度 一般有以下几种方式: defer 属性 async 属性 动态创建 DOM 方式 使用 setTimeout 延迟方法 让 JS 最后加载 js 的加载…...
将Oracle数据文件导入SQL Server的方法
审计过程中,采集的业务数据有Oracle备份数据,备份文件的后缀名为.dmp。如何将*.dmp文件导入审计人员熟悉的SQL Server中呢?以下是现场审计数据导入方法介绍。 一、将*.dmp文件导入oracle数据库 *.dmp文件为Oracle数据库备份文件,因…...
《汇编语言》- 读书笔记 - 实验5 编写、调试具有多个段的程序
《汇编语言》- 读书笔记 - 实验5 编写、调试具有多个段的程序 题目1题目2题目3题目4题目5题目6总结 题目1 将下面的程序编译、连接,用 Debug 加载、跟踪,然后回答问题 assume cs:code, ds:data, ss:stack data segmentdw 0123h,0456h,0789h,0abch,0def…...
剑指offer -- 二维数组中的查找
二维数组中的查找_牛客题霸_牛客网 (nowcoder.com) 暴力查找法: 是一种简单直接的解决方法,可以用于在二维数组中查找目标值。该方法的思路是遍历数组的每个元素,逐个与目标值进行比较。 具体步骤如下: 从数组的第一行第一列开始,…...
3. 自然语言处理NLP:具体用途(近义词类比词;情感分类;机器翻译)
一、求近义词和类比词 1. 近义词 方法一:在嵌入模型后,可以根据两个词向量的余弦相似度表示词与词之间在语义上的相似度。 方法二:KNN(K近邻) 2. 类比词 使用预训练词向量求词与词之间的类比关系。eg:man&a…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...
小木的算法日记-多叉树的递归/层序遍历
🌲 从二叉树到森林:一文彻底搞懂多叉树遍历的艺术 🚀 引言 你好,未来的算法大神! 在数据结构的世界里,“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的,它…...
数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
ubuntu中安装conda的后遗症
缘由: 在编译rk3588的sdk时,遇到编译buildroot失败,提示如下: 提示缺失expect,但是实测相关工具是在的,如下显示: 然后查找借助各个ai工具,重新安装相关的工具,依然无解。 解决&am…...
Linux入门(十五)安装java安装tomcat安装dotnet安装mysql
安装java yum install java-17-openjdk-devel查找安装地址 update-alternatives --config java设置环境变量 vi /etc/profile #在文档后面追加 JAVA_HOME"通过查找安装地址命令显示的路径" #注意一定要加$PATH不然路径就只剩下新加的路径了,系统很多命…...
