总线的访问控制

1.仲裁机制#

如果总线空闲(隐性逻辑状态,即总线差分电压为0V,逻辑值为1),有报文准备发送,那么每一个结点都可以开始发送报文。
报文以显性位(报文帧开始位)开始,接着是标识符。
如果多个节点同时开始发送报文,那么使用“线与”仲裁机制(仲裁使用逻辑“与”)来解决总线冲突。
确定优先级最高的报文,而不需要损失时间或数据(非破坏性仲裁

仲裁机制用一个节点发送的显性位覆盖其他节点发送的隐性位。
每个节点都是报文最高位开始,将报文一位一位的发送到总线上。
在仲裁过程中,每个发送报文的节点将发送的电平与总线上出现的电平进行进行比较,如果节点发送隐性位,但总线上有显性位,则该节点丢失仲裁。
只有具有最低标识符的节点,即有最高优先级的节点,不会丢失仲裁,也就不需要重复发送报文。(不损坏的控制策略)。
丢失仲裁的节点会自动接收总线上其他节点发送的报文,一旦总线空闲,该节点尝试重新发送报文。

posted @ 2015-11-21 04:53  CAN总线  阅读(530)  评论(0编辑  收藏  举报