0

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

谢谢杰克

4

1 回答 1

0

当我听到分析和日志记录时,我已经很头疼了,因为这些功能被放入 ECU 中,但应该从外部通过适当的压力测试进行测试,例如,网络 A 上的 PDU 在任何毫秒后都会在网络 B 上看到。对于此类日志记录,您通常需要具有一定 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_TAs,则在这里处理多个连接很棘手
  • 不确定 SecOC,网关是否仅路由经过身份验证的消息?
  • 一些路由消息可以动态禁用/启用(路由路径组)

从网络到网络的路由消息通常具有所谓的路由关系(路由路径)。最后,应该有一个表格,但这也取决于您的实现,例如 Vector、ETAS、Elektrobit,...

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

于 2020-08-20T19:06:51.827 回答