【问题标题】:Time Domain Data for DTC storage in Autosar DiagnosticAutosar 诊断中 DTC 存储的时域数据
【发布时间】:2017-05-30 06:39:33
【问题描述】:
Autosar Diagnostic 采用 UDS (ISO 14229) 标准实施。
据此,一旦记录了 DTC,快照数据就会按照 UDS 进行存储。快照数据通过 Autosar Dem 模块中的定格数据概念实现。
但我想保存一些关于 DTC 的更多信息,而不是快照数据。我想存储要在 3 秒之前和 1 秒后以 400 毫秒的采样确认 DTC 的数据。所以每次 DTC 被锁定时,我需要存储 10 个数据样本。
我想在 Autosar 诊断中实现这个时域数据。我可以这样做吗?,如果可以,怎么做?
谢谢。
【问题讨论】:
标签:
embedded
system.diagnostics
autosar
【解决方案1】:
我们有一个客户,他希望拥有几乎相同的 15 个 FreezeFrame,12 个在失败前,一个在失败时,两个在失败之后,具有相似的周期。我们使用了一个循环更新的环形缓冲区。我们使用来自 Dem 的标注(DemCallbackEventStatusChanged() 或 DemCallbackDTCStatusChanged())来停止环形缓冲区并再计算两个。记录它们后,我们将它们存储在一个额外的 NvM 块中。您可能有几个这样的 NvM 块,并将该数字链接到 DemEvent(FF 数据?)。例如。 NvM 块可以是 NVM_DATASET,因此您可以使用索引。读取 DTC 时查找分配并读取 NvM 数据集索引。
否则,您可能会找到一种使用 StorageConditions 的方法,在第一次报告时禁用它们并在冻结帧完成后启用它们?
我不知道是否有直接支持这一点的 Dem 功能。
【解决方案2】:
我真的不明白你的问题出在哪里。
正如您所提到的,快照数据与 DTC 一起存储。您可以定义引用 DID 的快照数据的内容。因此,您需要定义一个新的(内部)DID(以 Dcm 为单位),您可以在其中提供您的时域数据,并将 Dem 中的此 DID 添加到快照数据(冻结帧)中。