从零学习VH6501 —— Repetitions 干扰触发的次数配置
Posted 蚂蚁小兵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零学习VH6501 —— Repetitions 干扰触发的次数配置相关的知识,希望对你有一定的参考价值。
相关文章
系列用的CANoe演示工程我放在了Git上,不定时根据博客更新。
前言
-
测试软硬件环境:
VH6501 CAN Disturbance Interface
CANoe 11 SP2
Win10 X64 -
如下图这是整个VH6501能够用到的所有
类
本章节将继续讲解 Repetitions
文章目录
Class: CanDisturbanceTriggerRepetitions
这个类比较简单,它没有方法,只有四个参数,定义了当触发发生时,连续触发的次数
① 下面的这个脚本就是直接在总线上连续触发31帧格式错误报文
testcase TC_04()
CanDisturbanceFrameTrigger frameTrigger;
CanDisturbanceSequence sequence;
CanDisturbanceTriggerRepetitions repetitions;
dword deviceID;
long valditiyMask;
message 0x100 triggerMessage;
long validityMask;
long result;
//clear the sequence
sequence.Clear();
deviceID = 1;
//configure the message should be triggered
//ID must standard ID and a CAN message must on the bus
validityMask = @sysvar::CanDisturbance::Enums::ValidityMaskFlags::IDBase
| @sysvar::CanDisturbance::Enums::ValidityMaskFlags::IDE
| @sysvar::CanDisturbance::Enums::ValidityMaskFlags::FDF ;
//validityMask = 0;
frameTrigger.SetMessage(triggerMessage, deviceID, validityMask);
frameTrigger.TriggerFieldType =
@sysvar::CanDisturbance::Enums::FieldType::AckDelimiter;
frameTrigger.TriggerFieldOffset = 0;
//configure a sequence 320 FPGA ticks long and send a recessive bit at the Ack slot
//bit on the bus.
result = sequence.AppendToSequence(320, 'd');
//Define 33 repetitions and one cycle with a 1 ms hold off time
repetitions.Cycles = 1;
repetitions.HoldOffCycles = 1;//100ms
repetitions.HoldOffRepetitions = 0;
repetitions.Repetitions = 31;
if(result == 1)
result = canDisturbanceTriggerEnable(deviceID, frameTrigger, sequence,repetitions);
if(result == 1)
write("Trigger is enabled");
else
write("Enable trigger error Result =%d", result);
② 运行结果,可以看到连续触发了31错误报文。
即
repetitions.HoldOffRepetitions = 0;
repetitions.Repetitions = 31;//连续触发31帧格式错误报文
将上面脚本的代码换成如下的代码,对比观察下下面贴图的输出
repetitions.Cycles = 2;
repetitions.HoldOffCycles = 1000;//1000ms
repetitions.HoldOffRepetitions = 100;
repetitions.Repetitions = 5;
③ CanDisturbanceTriggerRepetitions 帮助文档的解释
总结
本章博客,讲解了VH6501的函数库中的Repetitions
类,可以设置触发 发生后的循环次数。
更全面的VH6501学习请参考帮助文档和官方示例
C:\\Users\\Public\\Documents\\Vector\\CANoe\\Sample Configurations 11.0.55\\CAN\\MoreExamples\\CANDisturbanceInterface
- 要有最朴素的生活,最遥远的梦想,即使明天天寒地冻,路遥马亡!
- 如果这篇博客对你有帮助,请 “点赞” “评论”“收藏”一键三连 哦!码字不易,大家的支持就是我坚持下去的动力。
以上是关于从零学习VH6501 —— Repetitions 干扰触发的次数配置的主要内容,如果未能解决你的问题,请参考以下文章
从零学习VH6501 —— Trigger Configuration类干扰触发条件的设置