上一篇我们介绍了CAN总线的冲突裁决机制,可以辨别简单的CAN总线器件ID小的会优先发送,下面我们根据实例来说一下CAN总线多个器件同时发送数据的优先级裁决方法。
我们一下图为例,假设有A,B,C,D四个器件在总线上,A,B,C三个器件发送的信号起始位都是显性,但是D发送的是隐性,所以总线应该为显性,也就是说D直接退出竞争,处于监听状态,CAN总线会对A,B,C做进一步裁决,当数据发送到第5位时,A,C表现为显性,但是B表现为隐性,所以B会进入监听状态,退出竞争,A,C在做进一步比较,当到第2位时,A表现为隐性,而C表现为显性,所以C获得最终的优先发送权,所以最红的发送顺序为,C,A,B,D。
我们从图上可以发现,越往右,ID越小,也就是C的ID小于A的ID小于B的ID小于D的ID,而且冲突裁决机制也不会因为解决冲突而产生延迟。