0

我开始走这条路,因为我正在审查 uCLinux 中的CAN驱动程序。总的来说,我是 CAN 新手,所以我对此进行了一些研究,但偶然发现了一个我还没有找到答案的问题。

如果 CAN 是串行接口,而CANopen没有“总线主控器”,那么 CAN 协议如何处理总线上不可避免的数据冲突?如果没有人控制您何时可以发送,那么只要有足够的设备和时间,就必须发送碰撞。

这是一个非常基本的问题,所以我可能找到了答案,只是不明白......如果有人能提供一个很好的答案/例子。

4

1 回答 1

2

它是通过CSMA/CD 完成的。CAN 的信号是线与逻辑。因此,较小的消息 id 可以具有更高的优先级,基于与线与逻辑的竞争。

于 2012-09-05T06:49:36.230 回答