在我的应用程序中,我们的内部客户有关于诊断的要求。经过一番讨论,我们定义了多达 20 个诊断案例,如果需要,我们将要发送到目标车辆。但到目前为止,我们从未致力于诊断。
我知道有一些标准,如 OBD 或 UDS,但我找不到任何关于如何在 CAN 中管理诊断的论文。
我对 Autosar 中的诊断系统的理解是,如果发生错误情况,ECU 会将其存储到具有特定 ID 的特定地址。然后,如果诊断会话开始请求来自 CAN,ECU 将允许以某种方式读取诊断内存。
这些会话请求是否仅来自诊断工具?如果我的 ECU 坏了,我该如何通知 BUS?如果总线能够启动诊断会话,这是否会定期发生?有没有什么方法可以在不触及 UDS 的情况下以更简单的方式处理这个问题?