如果我们使用Autosar PDUR,如何检查或记录消息

问题描述

我们使用Autosar来实现汽车网关,并且可以将PDUR模块配置为将消息从一个接口路由到其他协议接口。 我的问题是,如果我们要进行消息检查,分析或记录,我们怎么知道PDUR路由了什么消息?我应该将所有消息传输配置到SW-C应用程序层进行分析,还是在深度消息检查功能之上执行其他任何方法

谢谢 杰克

解决方法

当我听到分析和记录日志时,由于已经将某些功能放到ECU中,所以我已经很头疼,而应该从外部进行适当的压力测试,例如进行测试。毫秒后,网络B上就会看到网络A上的PDU。对于此类记录,您通常需要具有一定P / E周期的EEPROM或FLASH,这只会增加ECU的价格,而无济于事。而且还会影响您的ECU性能。

关于基于PduR消息的路由,您应该非常小心,因为:

  • 取决于CanRxProcessing,PduR路由的处理是在中断级别进行的,因此您的“深度消息检查”会增加ISR运行时间/锁定时间!
  • Can和CanIf中的某些功能(以及其他总线特定的网络组件)可能已经丢弃了接收到的消息,因此甚至可能不会通知PduR(例如,静态DLC检查,BasicCAN HRH中的消息已被SW过滤阻止)
  • 某些消息可能不会直接由PduR路由,例如基于信号的路由实际上是在Com中而不是在PduR中处理的,也许协议是由协议特定的模块而不是PduR路由的。
  • CanTp可以具有多种寻址格式,其中N_TA在第一个数据字节中。如果您认为certina N_TA没有被路由,那么在这里处理多个连接很棘手
  • 不确定SecOC,网关仅路由经过身份验证的消息吗?
  • 某些路由消息可以即时禁用/启用(路由路径组)

从网络到网络的路由消息通常具有所谓的路由关系(路由路径)。最后,应该以某种方式有一个表格,但这还取决于您的实现,例如向量,ETAS,Elektrobit,...

所以,我的观点是,进行深入的消息检查,在ECU中您根本看不到您会得到什么。我宁愿使用外部的某些工具进行适当的压力测试。