CAN通信错误帧之填充错误(三)

        填充错误是CAN通信中的一种错误类型,它发生在数据帧或远程帧的位流中。通过前面的文章 《CAN通信之错误帧(一),相信大家对填充错误已经有了一定的概念,下面我们就对填充错误进行实例解析,相信通过以下内容,填充错误对大家便不再是模糊概念了。若有讲解错误的地方也欢迎大家指出,共同进步。

目录

1、填充错误之实例

1.1、数据帧结构及填充概念

1.2、填充错误的发生

1.3、错误检测与响应

1.4、发生错误后的处理

2、导致错误的原因

2.1、硬件故障

2.2、外部干扰

2.3、网络负载过重

2.4、协议错误

2.5、软件配置错误

2.6、物理层设计问题

3、总结


1、填充错误之实例

        假设有一个CAN网络,包含两个节点:节点A和节点B。节点A正在向节点B发送一个数据帧。

1.1、数据帧结构及填充概念

        数据帧由帧起始、仲裁场、控制场、数据场、CRC场、ACK场和帧结束组成。为了满足CAN协议的位填充规则,数据场中的位序列在发送时必须至少有一个显性位(逻辑“0”)来分隔连续的5个隐性位(逻辑“1”)。这是为了避免在接收端误解帧的结束

1.2、填充错误的发生

        节点A开始发送数据帧,数据场包含一系列位。在数据场中,节点A发送了一串连续的6个隐性位,这就违反位填充规则。

1.3、错误检测与响应

        节点B在接收数据帧时,检测到连续的6个隐性位,就会意识到这违反了填充规则。当节点B识别出是一个填充错误时,会立即停止接收当前帧。节点B随后会发送一个错误标志(6个连续显性位)来通知网络中的其他节点出现了错误。错误标志发送之后,节点B发送一个错误界定符(8个连续的隐性位)来标志错误帧的结束。

1.4、发生错误后的处理

        节点A和节点B中的错误计数器会增加,以记录发生的错误。如果错误计数器超过了预定的阈值,节点可能会进入错误被动状态或关闭总线。

2、导致错误的原因

2.1、硬件故障

        发送节点的硬件可能在传输过程中出现故障,导致位填充规则被违反。

2.2、外部干扰

        虽然外部干扰通常会导致位错误,但在某些情况下,它也可能导致位填充规则被违反。

2.3、网络负载过重

        当网络上的通信量过大,超出了网络的处理能力时,可能会导致数据传输错误,包括填充错误。

2.4、协议错误

        如果网络上的设备没有正确地遵守CAN协议,例如错误地实现了位填充算法,也可能导致填充错误。

2.5、软件配置错误

        不当的软件配置,如错误的过滤器设置、错误的帧格式或位定时设置,都可能导致填充错误。

2.6、物理层设计问题

        如果CAN网络的物理布局设计不当,例如总线太长或网络分支太多,也可能引起通信问题。

3、总结

        填充错误是CAN协议中较为常见的错误类型,因为大多数CAN控制器都会自动处理位填充。然而,当这种错误发生时,CAN网络的错误检测机制能快速识别并处理,确保网络的稳定性和数据完整性。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

EmbSW_Guru_Wx

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

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

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

打赏作者

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

抵扣说明:

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

余额充值