在当前设置中,我有一个LIN Master和LIN Slave。时间表表是无条件的,并且永远不会重新协商:
主框架
从属帧
从属帧
我正在使用物理总线和模拟主站(物理从站)。我的目标是将检查机制实时应用于某些LIN框架。
例如,我知道来自Master的请求(可能是单帧或多帧)将触发特定的Slave响应。我想捕捉这种响应,例如在CAPL脚本中,对内容进行检查并对其进行选择性检查,以使主服务器接收的帧不会说出从站首先传输的内容。当没有发送主请求时,主服务器和从属服务器都将继续发送空帧以满足计划表的要求。
我可以使用非透明的CAPL轻松地“捕获”帧,但是我不确定如何重新传输它。
根据output()
关键字文档:
重新配置LIN帧的响应数据。在这种情况下,RTR选择器必须设置为0。LIN硬件使用新配置的数据响应指定帧的下一个请求。
我不想在传输中增加一条消息的延迟。鉴于以下限制,我不知道如何执行此操作,或者甚至无法通过CANoe中的CAPL API做到这一点:
拒绝的伪代码:
on linFrame 0x01 // <-- slave frame
{
if( payload I'm looking for )
{
// edit payload content
}
output(this)
}
答案 0 :(得分:1)
特别是
原始的从属答复一定不能到达主服务器。
您必须断开Master和Slave的物理连接,并将CANoe置于两者之间
您将需要一个具有(至少)两个LIN通道的网络接口-一个连接到主机,一个连接到从机-并需要将这两个通道设置为网关。即充当奴隶的主人,并充当奴隶的奴隶。
然后,在您的网关实现中,您可以对主服务器和从服务器之间交换的消息进行任何操作。
可行但没那么有趣。