首页 > 解决方案 > 验证通过 CAN 总线发送的消息的时间戳

问题描述

为了在 CAN 总线中提供消息新鲜度,可以将时间戳添加到消息中。然后,接收者可以检查时间戳(可能会被截断)并将其与自己的本地计时器进行比较,以确定他是否要继续发送消息。

我的问题是:接收方(在实践中)使用哪种规则来检查时间戳的新鲜度?似乎只看差异的绝对值并不理想,因为通过 CAN 总线发送消息的持续时间不是恒定的(冲突处理/总线仲裁)。

标签: timestampverificationcan-busbus

解决方案


判定消息的“新鲜度”纯粹是应用层特定的逻辑,因此判定不是标准协议。这在很大程度上取决于应用程序所涉及的用例。例如,ADAS 可能需要来自雷达的对象数据包数据具有 20 毫秒的新鲜度。

TimeSync协议是保证时间敏感节点高精度通信的支撑机制之一。

在 TimeSync 中,从节点的本地时钟调整为主节点的时钟。通过 SYNC + FUP 消息,还考虑了从触发器发送消息到总线上 ACK 检测的持续时间。

通过确保节点之间的公共时钟,实际上消息就像它们来时一样新鲜。

注意:1MBaud CAN 通信中消息的 CAN 响应时间最长为 300 us,并且根据应用的 SW 架构,从接收收发器到应用程序的时间不应超过 5-10us。


推荐阅读