资料目录
单片机应用
CAN-bus总线仲裁
发布日期:2011/11/22
只要总线空闲,任何单元都可以开始发送报文。
如果2 个或2 个以上的单元同时开始传送报文,那么就会有总线访问冲突。
通过使用识别符的位形式仲裁可以解决这个冲突。仲裁的机制确保信息和时间均不会损失。
当具有相同识别符的数据帧和远程帧同时初始化时数据帧优先于远程帧。
仲裁期间每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同则这个单元可以继续发送,如果发送的是一隐性电平,而监控视到一显性电平,那么该单元就失去了仲裁必须退出发送状态。
a) 总线上“显性”电平支配“隐性”电平;
逻辑“0” =“显性” 电平; 逻辑“1” =“隐性”电平。
b) 总线空闲时,任何节点可以开始发送报文;
c) 总线上每条报文都具有唯一的一个11位或29位标识符;
d) 报文标识符的值越小,报文具有越高的优先权;
e) 多个节点同时发送时,总线在“仲裁场”进行“逐位仲裁” ;
f) 传送高优先级报文的节点赢得仲裁,并继续传输报文;
g) 失去仲裁的节点在总线空闲时重新传送。
