【问题标题】:Verification of timestamps of messages sent over the CAN Bus验证通过 CAN 总线发送的消息的时间戳
【发布时间】:2019-01-09 16:36:30
【问题描述】:
为了在 CAN 总线中提供消息新鲜度,可以将时间戳添加到消息中。然后接收者可以检查时间戳(可能会被截断)并将其与自己的本地计时器进行比较,以确定他是否要继续发送消息。
我的问题是:接收方(在实践中)使用哪种规则来检查时间戳的新鲜度?似乎只看差异的绝对值并不理想,因为通过 CAN 总线发送消息的持续时间不是恒定的(冲突处理/总线仲裁)。
【问题讨论】:
标签:
timestamp
verification
can-bus
bus
【解决方案1】:
判断消息的“新鲜度”纯粹是应用层特定的逻辑,因此该判断不是标准协议。
这在很大程度上取决于应用程序所涉及的用例。例如,ADAS 可能需要来自雷达对象数据包的 20 毫秒新鲜度。
TimeSync协议是保证时间敏感节点高精度通信的支持机制之一。
在TimeSync中,slave节点的本地时钟被调整为master的时钟。通过 SYNC + FUP 消息,还考虑了从触发器发送消息到总线上 ACK 检测的持续时间。
通过确保节点之间的公共时钟,实际上消息就像它们来时一样新鲜。
注意:1MBaud CAN 通信中消息的 CAN 响应时间最长为 300 微秒,根据应用的软件架构,从接收收发器到应用程序的时间不应超过 5-10 微秒。