> 文章列表 > Vector - CAPL - 检查LIN事件状态(续2)

Vector - CAPL - 检查LIN事件状态(续2)

Vector - CAPL - 检查LIN事件状态(续2)

目录

ChkStart_LINSyncBreakTimingViolation

常见错误

代码示例

ChkStart_LINWakeupReqLengthViolation 

常见错误

代码示例

ChkStart_LINWakeupRetryViolation 

代码示例


ChkStart_LINSyncBreakTimingViolation

功能: 检查LIN标头中同步中断字段(主相位)的定时。

说明:如果测量到的断开低相位的长度[以位时间为单位]超出指定范围,则会生成一个事件。

MinBreakLen:位时间

0 不设置中断最短长度
>0 中断允许的最小长度

MaxBreakLen:位时间

0 不设置中断最大长度
>0 中断允许的最大长度

CaplCallback:要对生成的事件调用的CAPL回调函数的名称。在模拟节点中,必须设置此参数。在测试模块中,此参数是可选的。

返回值:

        0:无法创建检查,且不得引用

        >0:检查已成功创建,可以使用返回的(handle-)值进行引用。

常见错误

        为同步中断长度指定的范围无效

        CAPL回调不存在

代码示例

dword checkId;
// 切换到ns精度
ChkConfig_SetPrecision(9); 
// 创建并开始检查LIN断开低相位中断
checkId = ChkStart_LINSyncBreakTimingViolation(13, 20, "LINSyncBreakCallback"); 
// 切换到默认精度
ChkConfig_SetPrecision(3); // 回调函数
void LINSyncBreakCallback (dword aCheckId)
{ChkQuery_EventStatusToWrite(aCheckId);
}

ChkStart_LINWakeupReqLengthViolation 

功能:检查LIN唤醒请求的长度。

说明:如果唤醒请求的测量长度超出指定范围,则会生成一个事件。
           根据LIN规范,唤醒请求是最小250µs和最大5ms范围内的主要信号。

MinLength:

0 不设置最小检查长度
>0 最小允许长度

MaxLength:

0 不设置最大检查长度
>0 最大允许长度

CaplCallback:要对生成的事件调用的CAPL回调函数的名称。在模拟节点中,必须设置此参数。在测试模块中,此参数是可选的。

返回值:

        0:无法创建检查,且不得引用

        >0:检查已成功创建,可以使用返回的(handle-)值进行引用。

常见错误

        为唤醒请求长度指定的范围无效

        CAPL回调不存在

代码示例

dword checkId;
// /切换到µs精度
ChkConfig_SetPrecision(6); 
// 创建并开始检查LIN唤醒请求
checkId = ChkStart_LINWakeupReqLengthViolation(250, 1000, "LINWakeupLenCallback");
// 切换到默认精度
ChkConfig_SetPrecision(3); // 回调函数
void LINWakeupLenCallback (dword aCheckId)
{ChkQuery_EventStatusToWrite(aCheckId);
}

ChkStart_LINWakeupRetryViolation 

功能:检查LIN唤醒请求的数量以及它们之间的时间。

说明:检查LIN唤醒信号的数量以及它们之间的时间。

        唤醒信号数量超过指定的最大值

        两个连续唤醒信号之间的超时超出指定范围

TimeoutAfterWakeup:默认值:150毫秒。

0 不设置连续重新传输超时的时间
>0 两次连续重新传输之间的超时

TimeoutAfterThreeWakeups:默认值:1.5s

0 不设置检查每三次重新传输后的超时
>0 每三次重传后超时

Tolerance:允许的超时值容差,取值范围:[0..100];单位:百分比[%];默认值:14%。

MaxRetryNum:

0 不设置检查最大重新传输次数
>0 允许的最大重新传输次数

返回值:

        0:无法创建检查,且不得引用

        >0:检查已成功创建,可以使用返回的(handle-)值进行引用。

代码示例

dword checkId;
//将精度设置为毫秒
ChkConfig_SetPrecision(3);
//创建并开始检查LIN唤醒信号
//要验证的参数:两个唤醒信号之间的超时–150毫秒,
//每三个唤醒信号后超时–1.5秒,允许容差2%,最大值
//预期重新传输的唤醒信号数-4
checkId = ChkStart_LINWakeupRetryViolation (150, 1500, 2, 4, " LINWakeupRetryCallback"); // 回调函数
void LINWakeupRetryCallback (dword aCheckId)
{ChkQuery_EventStatusToWrite(aCheckId);
}