51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1226|回复: 0
打印 上一主题 下一主题

[专业知识] 工程师必知:六大 CAN 错误帧原因

[复制链接]
  • TA的每日心情
    无聊
    2024-7-12 13:16
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2024-7-12 15:14:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    在 CAN(Controller Area Network,控制器局域网络)通信中,错误帧的出现可能会导致数据传输错误、系统故障甚至整个网络瘫痪。作为工程师,深入了解 CAN 错误帧的产生原因至关重要。今天,就为大家总结一下六大 CAN 错误帧的原因。
    原因一:位错误(Bit Error)
    当节点将自己发送的位电平与总线上检测到的位电平不一致时,就会产生位错误。这可能是由于发送节点的硬件故障、电磁干扰或者是网络中的信号反射等原因导致的。

    原因二:填充错误(Stuff Error)
    CAN 协议规定,在相同极性的 5 位数据后,发送节点会自动插入一个补位。如果接收节点在应该检测到填充位的地方没有检测到,或者在不应该检测到填充位的地方检测到了填充位,就会产生填充错误。

    原因三:CRC 错误(CRC Error)
    发送节点在发送数据帧或远程帧时,会计算出一个循环冗余校验(CRC)值并附加在帧尾。接收节点接收到帧后,也会进行 CRC 计算。如果接收节点计算出的 CRC 值与接收到的 CRC 值不一致,就会产生 CRC 错误。这通常是由于数据在传输过程中发生了位翻转或者受到干扰导致的。

    原因四:格式错误(Form Error)
    当一个帧的固定格式(如帧起始、仲裁场、控制场、数据场、CRC 场、ACK 场和帧结束等)中任何一个部分不符合 CAN 协议规范时,就会产生格式错误。

    原因五:ACK 错误(ACK Error)
    发送节点在发送数据帧或远程帧时,会在 ACK 时隙内等待接收节点发送 ACK 信号。如果发送节点没有检测到 ACK 信号,就会产生 ACK 错误。这可能是由于接收节点没有正确接收到帧、接收节点故障或者是网络中的信号干扰等原因导致的。

    原因六:超时错误(Timeout Error)
    当发送节点在规定的时间内没有收到接收节点的应答信号,或者接收节点在规定的时间内没有接收到数据帧,就会产生超时错误。这通常是由于网络负载过重、节点故障或者是通信线路故障等原因导致的。

    了解了这些 CAN 错误帧的产生原因,工程师们在设计、调试和维护 CAN 网络时就能更加有的放矢,快速定位和解决问题,确保 CAN 网络的稳定可靠运行。


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-9 23:43 , Processed in 0.057782 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表