CAN总线仲裁机制


1、什么是CAN总线仲裁?

CAN总线上的每个节点都能监测到总线上发送的数据,当总线空闲时每个节点都能够进行报文发送,多个节点同时发送报文时,最终由哪个节点来进行发送是仲裁机制的来源。

2、仲裁机制

CAN总线采用的是非破坏性仲裁机制,具体来说就是:当节点B发送(Tx)的隐性电平1,回读/接收(Rx)的却是显性电平0,故节点B就知道仲裁失败了,从而转为接收状态。

3、仲裁过程

仲裁发生在报文的仲裁段Identifier。ID值越小,优先级越高
在这里插入图片描述
如下图,在CAN网段上的节点123进行报文发送时,在仲裁段进行总线仲裁:

  • 第一个位都是0,没有抉择出优先级高的报文,三个节点都继续发送;
  • 第二个位节点3是1,其他两个节点是0,节点3退出发送,转为接收,节点1、2继续发送;
  • 第三个位节点2是1,节点1是0,节点2退出发送,转为接收,节点1继续发送。

在这里插入图片描述
最终,经过总线仲裁节点1获得总线占用,进行报文发送。而节点2、3仲裁失败进入“只听”模式,在检测到总线空闲的第一时间再次尝试发送,继续进行总线仲裁。

风险在于网络负载率很高、消息报文很多时,低优先级的消息可能会延迟很久才发送成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值