0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

VeriStand的执行机制

华穗科技 来源: 华穗科技 2024-09-11 14:43 次阅读

本次技术分享介绍VeriStand的执行机制以及该机制下信号传输的延迟,当仿真测试对信号延迟有一定要求时,考虑VeriStand执行机制的影响是必要的,现在请跟随小编的步伐一起学习吧!

本文教程

VeriStand执行机制

一、硬件单点采样

wKgaombhPBaAVRJjAAKZp7TTU5Y174.jpg

VeriStand添加通道时默认使用的是硬件单点采样模式,该模式下采集数据不会在缓存中停留等待,这是由于硬件单点采样模式不带缓冲机制,无需等待采集到特定个点数后再读取。

在VeriStand中设置硬件单点定时采集时,将使用机箱背板提供的时钟来同步AI和AO 。如下图,硬件定时同步更新 I/O模式下AI采集的值经过了R、P、W步骤后,需要等待下一次时钟的上升沿才能由AO输出,即AI、AO操作需要与时钟信号对齐。

wKgaombhPBaAJI_rAAh1K7k4E2Y190.jpg

二、VeriStand的工作机制和延迟

1、并行执行模式

wKgZombhPBaAIA7OAACrP5W31Ao312.jpg

在并行执行模式下,使用硬件定时同步更新 I/O,AI和AO需要与时钟对齐,AO输出的是上一次PCL主循环(Primary Control Loop)中AI读取并经模型处理的值,所以存在一个PCL执行时间的延迟,对于10k模拟频率的情况,延迟为100μs。

具体原理如上图,模型的执行结果直接传输到下一PCL主循环,AI、AO都对齐来自机箱背板的时钟信号实现同时执行,但AO输出的是上一个PCL的执行结果,过程中有一个PCL执行周期的延迟。

2、低延迟执行模式

wKgaombhPBaASB2PAAAN7x1k0F0298.jpg

低延迟执行模式下,AI采集到值并经过模型运算后立刻传到AO输出,无需等待到下一次PCL再进行AO输出;AI在采样时钟的上升沿进行采集,AO等待接受到模型执行结果后输出,AI到AO的延迟约等于模型执行时间(数据的硬件传输时间不超过1us)。

此时AI仍然严格对齐时钟,但是AO的更新时间由得到模型处理结果后对AO赋值的时间节点决定,因为模型的执行速度不是精确恒定,AO的输出节拍会有抖动,是否产生不良影响由具体情况而定。

3、模型执行顺序Execution Order

当需要执行多个模型且模型之间有数据传递,模型的执行顺序设置会对延迟产生较大影响。

wKgZombhPBaAThOiAAGmpvXBpG4615.jpg

还记得之前教程出现过的Execution Order吗,在这里可以设置模型的执行顺序,执行前后顺序按Group分组,默认会把所有模型放到同一分组并行执行。下面通过示意图展示模型执行的机制,结论基于验证实验推导而来。

3.1 模型的并行执行

wKgZombhPBaAPBSUAACohhTdT_c332.jpg

首先看默认的模型并行执行的情况,假设三个模型从上到下依次传递数据。

wKgaombhPBaAHSwxAAD4Q_YBmZQ416.jpg

三个模型同组的执行机制如上图所示,类似于前文描述的 输入、模型、输出 并行执行模式,只不过这里变成了模型1、模型2、模型3并行执行,即三个模型依旧是同时执行,但每次传递数据到下一个模型都必须等待下一次PCL主循环。

所以,若VeriStand设置为并行执行,三个模型均在同一Group,则上图中PCL n进行了AI采集并立刻传输给模型1运算,经过传递,最终在PCL n+2中由模型3输出最终计算结构,并在下一次的PCL n+3中由AO输出,AI到AO有三个PCL周期的延迟。

同理,如果VeriStand设置为低延迟模式,三个模型依然是在同一Group,那么AI到AO的延迟=两个PCL执行周期+模型3的执行耗时。

3.2 模型的分步执行

wKgZombhPBeADSKrAACi_7xhjTg134.jpg

当模型被安排到前后按顺序执行的一个个Group时,模型的执行机制就类似于上文中描述的VeriStand低延迟执行模式。

wKgZombhPBaARbm5AABwx9mHYTI624.jpg

如上图所示,三个模型不是并行执行,其按照设置的Group顺序前后进行。

若VeriStand设置为并行执行,模型执行顺序按照分组前后执行:AI在PCL n开始时采集,经过三个模型计算,运算结果在PCL n+1开始时由AO输出,AI到AO的延迟为一个PCL周期。

若VeriStand设置为低延迟模式,模型执行顺序按照分组前后执行:AI在PCL n开始时采集,经过三个模型计算,运算结果在第三个模型执行结束后立刻由AO输出,无需等待到下一次PCL主循环,AI到AO的延迟约等于三个模型的计算耗时。

4、实验验证

wKgaombhPBeALxjhAACBwUZm8bk351.jpg

感兴趣的小伙伴可以参考上图的原理设计一个实验来验证本文所提到的两种执行模式的原理和延迟。其中,信号发生器产生三角波输入到AI 0,VeriStand采集到AI 0的数据后映射到模型,模型不改变值并直接输出到AO 0,AO 0输出电压到AI 1,将AI 0、 AI 1、AO 0显示在波形显示面板。

wKgaombhPBeAKVrhAABDAx4hf-o551.jpg

上图统计了各设置下执行时AI 0到AO 0的实验真实延迟,本次实验的VeriStand目标频率是1k,1ms等价于1个PCL周期,大家可以自己推导一下理论延迟做对比;两设置排列组合下所有情况的延迟都符合理论预设的预期。

以上就是本次分享的所有内容啦,欢迎大家留言讨论,交流分享!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 硬件
    +关注

    关注

    11

    文章

    3208

    浏览量

    66053
  • 仿真测试
    +关注

    关注

    0

    文章

    73

    浏览量

    11286
  • VeriStand
    +关注

    关注

    6

    文章

    12

    浏览量

    22505

原文标题:VeriStand 执行机制

文章出处:【微信号:华穗科技,微信公众号:华穗科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用VeriStand搭建MIL测试环境

    MIL(Model In The Loop)模型在环仿真测试用于在实际系统搭建完成之前进行模型测试,使用VeriStand搭建MIL测试环境,可以在不需要硬件资源的情况下测试控制模型。
    的头像 发表于 01-05 10:42 3969次阅读
    使用<b class='flag-5'>VeriStand</b>搭建MIL测试环境

    Simulink中的NI VeriStand Blocks在安装完VeriStand后没有自动出现,该怎么找到?

    `我装了一个VeriStand2014,接着装了一个MATLAB2014a,但是Simulink中应该出现的NI VeriStand Blocks就是出不来,请问各位高手应该怎么处理?`
    发表于 11-27 14:54

    VeriStand 2014中Stimulus Profiles Editor的用法

    感觉VeriStand 2014 中的Stimulus Profiles Editor与 NI VeriStand 2010使用手册中介绍的完全不一样,如果哪位高手有使用该编辑器的经历,请不吝赐教!
    发表于 12-01 10:36

    NI VeriStand 2016 与matlab 2016 搭配的问题

    近来装了matlab 2016a 与 NI VeriStand 2016.匹配后在 matlab的模块库中 就有 两个 子模块 分别是 NI IN 和 NI OUT。然后我按照VeriStand
    发表于 12-13 22:09

    matlab 2016a 与 NI VeriStand 2016 代码生成问题

    近来装了matlab 2016a 与 NI VeriStand 2016.匹配后在 matlab的模块库中 就有 两个 子模块 分别是 NI IN 和 NI OUT。然后我按照VeriStand
    发表于 12-13 22:14

    labview建立veristand模型

    are specified as parameters.指定为必需输入的终端是模型导入,建议和可选输入指定为参数。这是NI描述的labview在建立veristand模型时指定模型输入、输出和参数的注意事项
    发表于 07-14 11:02

    Veristand,创建导入labview模型

    本文简单制作了一个labview,并保存为.lvmodel文件。在veristand中导入模型,并做功能测试。图片不清楚,查看文档 1) 在labview中建立简单vi,程序如图所示。 2) 配置
    发表于 08-27 19:43

    veristand访问C模块

    大家好,我,在做veristand访问crio中C模块,目前用的是9205+9401,现在veristand已经导入XML文件,如图一,第一:我现在不明白的是下一步怎么做,是映射吗?还是?第二:我把
    发表于 10-30 09:42

    利用NI VeriStand 2010特性创建分布式系统

    使用模块化方法。  图1. 可以用多个PXI系统仿真飞机组件  系统级集成特性  使用NI VeriStand 2010,一个或多个操作者(主机)计算机可以在最少用户配置的情况下,与一个或多个实时执行目标进行
    发表于 04-08 09:42

    NI Veristand

    谁有NI Veristand 2017安装包,求救
    发表于 03-21 15:25

    labview与veristand无法建立连接

    labview版本为2018,veristand版本为2019请问在labview中打开vi时有以下错误这是因为版本不对所以显示的错误,还是别的什么原因?请教各位,谢谢另外veristand这个 软件到底怎么用,大神们,可以教一下吗?
    发表于 09-21 17:25

    veristand入XML文件

    大佬们,veristand导入XML文件,出现以下问题,“找不到用于分析EtherCAT配置文件的DLL,确保主机PC上安装了LabVIEW 32位EtherCAT支持”如何解决?
    发表于 02-23 10:11

    最新NI VeriStand 2010适用于从高性能多机箱系

    最新NI VeriStand 2010适用于从高性能多机箱系统到小体积坚固性应用NI VeriStand 2010软件提供更多自定义和易用性,增加了可复用性,并缩短开发时间
    发表于 10-22 15:54 651次阅读

    在NI VeriStand环境中进行FPGA相关配置

    本文主要介绍了用户如何在NI VeriStand环境中进行基于FPGA的相关配置。并以使用7851R输出PWM波为例,叙述了在VeriStand 2011运行环境中所需要的所有工作。 NI
    发表于 11-18 06:36 4793次阅读
    在NI <b class='flag-5'>VeriStand</b>环境中进行FPGA相关配置

    如何使用VeriStand的User Channels、Alarms、Procedures功能?

    上一次分享我们学习了VeriStand的Stimulus Profile功能,小编快马加鞭为大家奉上VeriStand中User Channels(用户通道)、Alarms(警报)、Procedures(处理)功能的使用教程。
    的头像 发表于 04-28 14:03 1885次阅读
    如何使用<b class='flag-5'>VeriStand</b>的User Channels、Alarms、Procedures功能?