CAN-位填充

位填充定义(Bit Stuffing

当CAN节点发送 逻辑电平(显性dominant或隐性recessive)为持续相同的5位时,它必须添加一位反向电平。 CAN接收 节点会自动删除这个新增的额外电平位。

位填充作用

1---位填充是为了防止突发错误而设定的功能。当某一个节点发生主动错误时,将把总线拉低6个bit宽度的显性电平“0”,及时向总线上其他单元汇报错误。

2---位填充是为了缩短从同步周期。重同步机制基于对隐性至显性跳变沿的评估。位填充机制保证了传输过程中有足够的跳变沿。ISO 11898-1规定,发送方在传输连续5个相同位后必须传输一个相反的位;即使连续5个相同位后本就是一个相反位,也需要添加填充位。

位填充区域

位填充从以SOF的传输为开始,以CRC序列的最后一位的传输为结束,因此在传输包含8个数据字节的标准格式的数据帧时,在极限情况下,应有24个填充位。所以,理论上标准格式数据帧最多包含132位。

采用标准数据帧发送 1 个字节数据时,发送方、总线、接收方逻辑电平波形图(显性0,隐性1)
CAN-ID = 0x78 = 0b 000 0111 1000 (11bit)
RTR = 0     (数据帧)
IDE = 0    (标准帧)
DLC = 1  (数据长度 1 个字节)
Data1 = 0xE1 = 0b 1110 0001
CRC = 0x709A = 0b 111 0000 1001 1010
从图中可以看出由于位填充的原因,总线上多出了8个紫色的填充位。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值