网站 标签导航,seo实战密码第四版电子书,wordpress有什么好看的主题,python语言程序设计基础NI VeriStand中的硬件I / O延迟时间 - NI 适用于 软件
VeriStand
问题详述
在我的VeriStand项目中#xff0c;我要从DAQ或FPGA硬件中获取数据#xff0c;在模型中处理输出#xff0c;然后输出数据。在硬件输入和输出之间#xff0c;我应该期望什么样的延迟#xff1f;如…NI VeriStand中的硬件I / O延迟时间 - NI 适用于 软件
VeriStand
问题详述
在我的VeriStand项目中我要从DAQ或FPGA硬件中获取数据在模型中处理输出然后输出数据。在硬件输入和输出之间我应该期望什么样的延迟如何减少延迟
解决方案
硬件输入和输出延迟取决于系统定义文件中指定的执行模式。在系统资源管理器的“控制器”页面上可以选择“并行执行”模式或“低延迟执行”模式。在这些执行模式下以下行为适用于DAQ和FPGA硬件输入/输出
并行执行DAQ和FPGA-默认 第一个循环-采集硬件输入并将其传递给模型。第二个循环-模型处理获取的数据并生成输出数据。此数据已发送到输出缓冲区但尚未生成。第三循环-生成硬件输出。
因此从输入到输出存在两个滴答延迟。
低延迟执行DAQ和FPGA-默认 第一个循环-采集硬件输入并将其传递给模型。该模型处理获取的数据并生成输出数据。此数据已发送到输出缓冲区但尚未生成。第二个循环-生成硬件输出。
因此从输入到输出只有一个滴答延迟。 对于DAQ硬件输入和输出任务使用相同的硬件采样时钟因此必须等待下一个滴答更新输出信号。另一方面FPGA任务使用反馈节点将数据按硬件时序写入输出。可以删除这些反馈节点因此将在同一循环迭代中生成输出信号。但是这样做将导致FPGA IO输出没有硬件定时。这将导致代码中更多的抖动因此请记住此方法会牺牲一些确定性。在这种情况下以下行为适用
并行执行FPGA-无硬件定时 第一个循环-采集硬件输入并将其传递给模型。第二循环-模型处理获取的数据并生成输出数据。该数据被发送到输出缓冲区并由硬件生成。
因此存在一个滴答延迟加上从输入到输出的大约高优先级HP循环持续时间。
低延迟执行FPGA-无硬件定时 第一个循环-采集硬件输入并将其传递给模型。该模型处理获取的数据并生成输出数据。该数据被发送到输出缓冲区并由硬件生成。
因此从输入到输出大约有HP Loop持续时间的延迟。在这种情况下HP循环持续时间将比并行执行设置更长因为HP循环持续时间包括模型执行时间。
相关信息
选择低延迟执行设置需要权衡。此设置可以最大程度地减少延迟和CPU使用率但也可以大大降低系统的执行速度。选择并行执行以提高执行速度。