本次技術(shù)分享介紹VeriStand的執(zhí)行機(jī)制以及該機(jī)制下信號(hào)傳輸?shù)难舆t,當(dāng)仿真測(cè)試對(duì)信號(hào)延遲有一定要求時(shí),考慮VeriStand執(zhí)行機(jī)制的影響是必要的,現(xiàn)在請(qǐng)跟隨小編的步伐一起學(xué)習(xí)吧!
本文教程:
VeriStand執(zhí)行機(jī)制
一、硬件單點(diǎn)采樣

VeriStand添加通道時(shí)默認(rèn)使用的是硬件單點(diǎn)采樣模式,該模式下采集數(shù)據(jù)不會(huì)在緩存中停留等待,這是由于硬件單點(diǎn)采樣模式不帶緩沖機(jī)制,無(wú)需等待采集到特定個(gè)點(diǎn)數(shù)后再讀取。
在VeriStand中設(shè)置硬件單點(diǎn)定時(shí)采集時(shí),將使用機(jī)箱背板提供的時(shí)鐘來(lái)同步AI和AO 。如下圖,硬件定時(shí)同步更新 I/O模式下AI采集的值經(jīng)過了R、P、W步驟后,需要等待下一次時(shí)鐘的上升沿才能由AO輸出,即AI、AO操作需要與時(shí)鐘信號(hào)對(duì)齊。

二、VeriStand的工作機(jī)制和延遲
1、并行執(zhí)行模式

在并行執(zhí)行模式下,使用硬件定時(shí)同步更新 I/O,AI和AO需要與時(shí)鐘對(duì)齊,AO輸出的是上一次PCL主循環(huán)(Primary Control Loop)中AI讀取并經(jīng)模型處理的值,所以存在一個(gè)PCL執(zhí)行時(shí)間的延遲,對(duì)于10k模擬頻率的情況,延遲為100μs。
具體原理如上圖,模型的執(zhí)行結(jié)果直接傳輸?shù)较乱籔CL主循環(huán),AI、AO都對(duì)齊來(lái)自機(jī)箱背板的時(shí)鐘信號(hào)實(shí)現(xiàn)同時(shí)執(zhí)行,但AO輸出的是上一個(gè)PCL的執(zhí)行結(jié)果,過程中有一個(gè)PCL執(zhí)行周期的延遲。
2、低延遲執(zhí)行模式

低延遲執(zhí)行模式下,AI采集到值并經(jīng)過模型運(yùn)算后立刻傳到AO輸出,無(wú)需等待到下一次PCL再進(jìn)行AO輸出;AI在采樣時(shí)鐘的上升沿進(jìn)行采集,AO等待接受到模型執(zhí)行結(jié)果后輸出,AI到AO的延遲約等于模型執(zhí)行時(shí)間(數(shù)據(jù)的硬件傳輸時(shí)間不超過1us)。
此時(shí)AI仍然嚴(yán)格對(duì)齊時(shí)鐘,但是AO的更新時(shí)間由得到模型處理結(jié)果后對(duì)AO賦值的時(shí)間節(jié)點(diǎn)決定,因?yàn)槟P偷膱?zhí)行速度不是精確恒定,AO的輸出節(jié)拍會(huì)有抖動(dòng),是否產(chǎn)生不良影響由具體情況而定。
3、模型執(zhí)行順序Execution Order
當(dāng)需要執(zhí)行多個(gè)模型且模型之間有數(shù)據(jù)傳遞,模型的執(zhí)行順序設(shè)置會(huì)對(duì)延遲產(chǎn)生較大影響。

還記得之前教程出現(xiàn)過的Execution Order嗎,在這里可以設(shè)置模型的執(zhí)行順序,執(zhí)行前后順序按Group分組,默認(rèn)會(huì)把所有模型放到同一分組并行執(zhí)行。下面通過示意圖展示模型執(zhí)行的機(jī)制,結(jié)論基于驗(yàn)證實(shí)驗(yàn)推導(dǎo)而來(lái)。
3.1 模型的并行執(zhí)行

首先看默認(rèn)的模型并行執(zhí)行的情況,假設(shè)三個(gè)模型從上到下依次傳遞數(shù)據(jù)。

三個(gè)模型同組的執(zhí)行機(jī)制如上圖所示,類似于前文描述的 輸入、模型、輸出 并行執(zhí)行模式,只不過這里變成了模型1、模型2、模型3并行執(zhí)行,即三個(gè)模型依舊是同時(shí)執(zhí)行,但每次傳遞數(shù)據(jù)到下一個(gè)模型都必須等待下一次PCL主循環(huán)。
所以,若VeriStand設(shè)置為并行執(zhí)行,三個(gè)模型均在同一Group,則上圖中PCL n進(jìn)行了AI采集并立刻傳輸給模型1運(yùn)算,經(jīng)過傳遞,最終在PCL n+2中由模型3輸出最終計(jì)算結(jié)構(gòu),并在下一次的PCL n+3中由AO輸出,AI到AO有三個(gè)PCL周期的延遲。
同理,如果VeriStand設(shè)置為低延遲模式,三個(gè)模型依然是在同一Group,那么AI到AO的延遲=兩個(gè)PCL執(zhí)行周期+模型3的執(zhí)行耗時(shí)。
3.2 模型的分步執(zhí)行

當(dāng)模型被安排到前后按順序執(zhí)行的一個(gè)個(gè)Group時(shí),模型的執(zhí)行機(jī)制就類似于上文中描述的VeriStand低延遲執(zhí)行模式。

如上圖所示,三個(gè)模型不是并行執(zhí)行,其按照設(shè)置的Group順序前后進(jìn)行。
若VeriStand設(shè)置為并行執(zhí)行,模型執(zhí)行順序按照分組前后執(zhí)行:AI在PCL n開始時(shí)采集,經(jīng)過三個(gè)模型計(jì)算,運(yùn)算結(jié)果在PCL n+1開始時(shí)由AO輸出,AI到AO的延遲為一個(gè)PCL周期。
若VeriStand設(shè)置為低延遲模式,模型執(zhí)行順序按照分組前后執(zhí)行:AI在PCL n開始時(shí)采集,經(jīng)過三個(gè)模型計(jì)算,運(yùn)算結(jié)果在第三個(gè)模型執(zhí)行結(jié)束后立刻由AO輸出,無(wú)需等待到下一次PCL主循環(huán),AI到AO的延遲約等于三個(gè)模型的計(jì)算耗時(shí)。
4、實(shí)驗(yàn)驗(yàn)證

感興趣的小伙伴可以參考上圖的原理設(shè)計(jì)一個(gè)實(shí)驗(yàn)來(lái)驗(yàn)證本文所提到的兩種執(zhí)行模式的原理和延遲。其中,信號(hào)發(fā)生器產(chǎn)生三角波輸入到AI 0,VeriStand采集到AI 0的數(shù)據(jù)后映射到模型,模型不改變值并直接輸出到AO 0,AO 0輸出電壓到AI 1,將AI 0、 AI 1、AO 0顯示在波形顯示面板。

上圖統(tǒng)計(jì)了各設(shè)置下執(zhí)行時(shí)AI 0到AO 0的實(shí)驗(yàn)真實(shí)延遲,本次實(shí)驗(yàn)的VeriStand目標(biāo)頻率是1k,1ms等價(jià)于1個(gè)PCL周期,大家可以自己推導(dǎo)一下理論延遲做對(duì)比;兩設(shè)置排列組合下所有情況的延遲都符合理論預(yù)設(shè)的預(yù)期。
以上就是本次分享的所有內(nèi)容啦,歡迎大家留言討論,交流分享!
-
硬件
+關(guān)注
關(guān)注
11文章
3595瀏覽量
69011 -
仿真測(cè)試
+關(guān)注
關(guān)注
0文章
115瀏覽量
11792 -
VeriStand
+關(guān)注
關(guān)注
8文章
13瀏覽量
22956
原文標(biāo)題:VeriStand 執(zhí)行機(jī)制
文章出處:【微信號(hào):華穗科技,微信公眾號(hào):華穗科技】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
使用VeriStand搭建MIL測(cè)試環(huán)境
Simulink中的NI VeriStand Blocks在安裝完VeriStand后沒有自動(dòng)出現(xiàn),該怎么找到?
VeriStand 2014中Stimulus Profiles Editor的用法
NI VeriStand 2016 與matlab 2016 搭配的問題
matlab 2016a 與 NI VeriStand 2016 代碼生成問題
labview建立veristand模型
Veristand,創(chuàng)建導(dǎo)入labview模型
veristand訪問C模塊
利用NI VeriStand 2010特性創(chuàng)建分布式系統(tǒng)
labview與veristand無(wú)法建立連接
veristand入XML文件
最新NI VeriStand 2010適用于從高性能多機(jī)箱系
在NI VeriStand環(huán)境中進(jìn)行FPGA相關(guān)配置
如何使用VeriStand的User Channels、Alarms、Procedures功能?
VeriStand的執(zhí)行機(jī)制
評(píng)論