CAN帧填充会不会影响帧ID仲裁?

如果您看到这篇文章,说明你也是个会思考的人

1:CAN填充位会不会影响ID段的仲裁?

要了解清楚这个问题,我们先要了解两个问题

1:填充规则和作用范围

2:仲裁的规则和作用范围

答1:填充作用于SOF-CRC段。

规则:如果总线上相邻5bit,是相同极性的电平(都是隐性电平),则在第6bit插入1位,相反极性的电平(显性电平)。需要注意这里的插入,是指增加了1bit,数据原有的bit不会被覆盖,一定要注意。

答2:仲裁作用范围 :11bitID段+RTR(以CAN标准帧为例子)。

规则,从MSB位开始按位仲裁,显性电平优先级>隐性电平优先级。

如 帧1  ID = 显 显 显 .....

   帧2    ID = 显 显 隐......

如果帧1帧2同时发送,则 仲裁到 第三位时,帧2胜出,获得发送权。

将以上例子扩展一下,与帧填充结合起来看

帧1 ID = 显显显显显(此处必须插入1bit隐)隐隐隐隐隐(此处必须插入1bit显)显

帧2 ID = 显显显显隐隐隐隐显显显

可以看到帧1实际发送到总线上的是,13bit。帧2是卡着填充规则,只发送了11bit。大家按上面的实际数据,看一下,帧填充会不会影响仲裁结果。

结果显而易见,根本不会影响仲裁结果

2:再看第二种情况,我们先提出一个问题?填充的位参不参与仲裁

看例子

帧1 ID = 显显显显显(此处必须插入1bit隐)显隐隐隐隐显

帧1 ID = 显显显显显(此处必须插入1bit隐)隐隐隐隐显显

可以看出,实际上填充位也参与仲裁,上面填充位参与仲裁了之后,进入下一位仲裁,此时帧1胜出。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值