【图解CAN总线】-5-详述Bit Stuffing位填充在CANFD和Classic CAN中的差异

目录

1 Bit Stuffing位填充概念

2 CANFD和Classic CAN的Bit Stuffing位填充差异

3 举例:经典CAN中Bit Stuffing位填充

4 举例:CANFD中Bit Stuffing位填充

5 结尾


1 Bit Stuffing位填充概念

当使用NRZ(NRZ = Non-Return-to-Zero不归零)位表示时,提供周期性重新同步所需的总线状态变化的frame coding帧编码方法

注:每当发送逻辑在数据中遇到一定数量(stuff width填充宽度)的等值连续位时,它会自动将一个互补值(stuff bit填充位)填充到输出位流中。接收方对数据帧和远程帧进行de-stuff去填充,即执行相反的过程。

CANFD和经典CAN帧的SOF segmentarbitration field, control field, data fieldCRC sequence等,应采用Bit Stuffing的方法进行编码。每当发送方在要发送的Bit流中检测到五个连续Bit(包括stuff bit填充位)的相同值时,它应自动在实际发送的Bit流中插入一个相反Bit,见下图举例。

2 CANFD和Classic CAN的Bit Stuffing位填充差异

在CANFD帧的CRC field中,填充位应插入固定位置;它们被称为fixed stuff bit固定的填充位

  1. 在填充计数的第一个Bit之前应该有一个固定的填充位,即使前一个field的最后一个Bit不是具有相同值的五个连续Bit的序列。
  2. 如果前一个field的最后一个Bit是一个连续五个相同值的Bit序列,则只有固定的填充位,不得有两个连续的填充位。
  3. 在 CRC field的每个第四位之后应插入另一个固定填充位。这种固定填充位的值应是固定填充位前一个Bit的相反数。

接收方应从Bit流中丢弃固定填充位以进行CRC校验。如果固定填充位与其前一个位具有相同的值,它将检测到格式错误。

CANFD帧的CRC field中的固定填充等于应用Classic经典CAN帧的填充方法产生的最大填充Bit数

3 举例:经典CAN中Bit Stuffing位填充

CAN ID的编号是0x211;

DLC是3;

注意:

下方是示波器截图“长图”,对应图片,查看效果最佳(可以看到“bit stuffing位填充”)!!!

4 举例:CANFD中Bit Stuffing位填充

CAN ID的编号是0x211;

DLC是3;

CANFD帧的仲裁段和数据段使用相同的比特率(也就是“数据段不加速”)。

注意:

下方是示波器截图“长图”,对应图片,查看效果最佳(可以看到“bit stuffing位填充”)!!!

5 结尾

获取更多“汽车电子资讯”和“工具链使用”,

请关注“汽车电子助手”(CSDN微信公众号同名),做您的好助手。

  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汽车电子助手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值