单片机应用

CAN-bus总线仲裁

发布日期:2011/11/22

1.1 什么事仲裁(Arbitration)?

只要总线空闲任何单元都可以开始发送报文

如果个或个以上的单元同时开始传送报文那么就会有总线访问冲突

通过使用识别符的位形式仲裁可以解决这个冲突仲裁的机制确保信息和时间均不会损失

当具有相同识别符的数据帧和远程帧同时初始化时数据帧优先于远程帧

仲裁期间每一个发送器都对发送位的电平与被监控的总线电平进行比较如果电平相同则这个单元可以继续发送如果发送的是一隐性电平而监控视到一显性电平那么该单元就失去了仲裁必须退出发送状态

 

1.2 CAN-bus总线仲裁的特点

a) 总线上“显性”电平支配“隐性”电平;

逻辑“0” =“显性” 电平; 逻辑“1” =“隐性”电平。

b) 总线空闲时,任何节点可以开始发送报文;

c) 总线上每条报文都具有唯一的一个11位或29位标识符;

d) 报文标识符的值越小,报文具有越高的优先权;

e) 多个节点同时发送时,总线在“仲裁场”进行“逐位仲裁” ;

f) 传送高优先级报文的节点赢得仲裁,并继续传输报文;

g) 失去仲裁的节点在总线空闲时重新传送。