接收节点(CAN-BUS)如何知道位填充不是数据的实际位部分?
请查看以下示例。两者都是有效的流,但它们有不同的内容:
VALID - 位填充流(我的粗体填充零)
11111 0 10101
VALID - 不填充流
11111010101
答案 0 :(得分:4)
你误解了填充概念。 因为数据流中有附加位。 发送方和接收方通过规则知道,在5个零或5个之后,下一个位将是一个交替的填充位而没有数据。
在5个相等位后填充
11111 <强> 0 强> 010101
没有填充:
11111010101
因此,总线上交替位的消息将更短,因为不需要额外的填充位。 填充是必需的,因为CAN是一个异步总线,它需要每5位下降或上升沿,以便在不同的CAN控制器之间进行时钟重新同步。 例如,如果填充将在3位之后开始,则可以在具有更高容差的不同控制器上使用振荡器。但这会增加填充开销,反之亦然。 所以5位是一种权衡。