CAN总线故障频发?5分钟掌握PCAN高效排障技巧

导读

在现代汽车电子系统以及工业自动化领域,控制器局域网(CAN)总线得到了广泛应用。CAN总线以其高可靠性、高速数据传输等特性,成为连接各个电子控制单元(ECU)的关键纽带。然而,在复杂的电磁环境以及长期运行过程中,CAN总线难免会出现各种错误。虹科PCAN作为一款强大的CAN总线分析工具,在总线错误检测方面发挥着重要作用。本文将详细介绍如何使用虹科PCAN进行总线错误检测。

PCAN

01 总线错误类型

在深入探讨虹科PCAN的错误检测功能之前,我们先来了解一下CAN总线常见的错误类型。在CAN和CAN FD总线中,错误帧主要用于通知网络通信中发生的错误。以下是几种常见的错误类型及其描述:

1. 位错误(Bit Error)
  • 定义:如果发送节点检测到总线上的电平与自己发送的电平不一致,则会触发位错误。
  • 触发条件:
    ⚠ 数据传输过程中,总线上的信号与发送节点预期的信号不符。

    ⚠ 仲裁过程中节点检测到优先级更高的节点存在,不触发位错误。

  • 原因:噪声干扰、硬件故障或电缆问题。

2. 填充错误(Stuff Error)

  • 定义:根据CAN协议规则,在5个连续相同位之后应插入一个相反位(填充位)。若接收节点未检测到这一规则,则会触发填充错误。
  • 触发条件:⚠位流中连续出现超过5个相同位(0或1)。

原因:数据帧编码或解码错误。

3. 校验错误(CRC Error)

  • 定义:接收节点对接收的数据进行循环冗余校验(CRC)计算,与发送端提供的CRC值对比。如果两者不一致,则会触发校验错误。
  • 触发条件:⚠ 接收端的CRC校验值与发送端不匹配。
  • 原因:通信过程中数据被干扰。

4. 帧格式错误(Form Error)

  • 定义:如果帧中某些固定字段未按CAN协议格式定义,则会触发帧格式错误。
  • 触发条件:⚠ 固定字段(如帧结束段)的格式错误,
    • 例如:帧结束段(End of Frame)未检测到正确的7个连续隐性位
    • ACK(Acknowledge Slot)中的格式错误。
  • 原因:节点硬件或软件错误。

5. 应答错误(ACK Error)

  • 定义:在CAN网络中,发送方在数据帧的ACK槽中未检测到其他节点的应答信号(ACK位)。
  • 触发条件:⚠ 没有任何节点发送ACK位。
  • 原因:(1)总线未连接或其他节点未运行;(2)接收节点配置错误。

6. CAN FD特有错误

在CAN FD总线中,除了上述错误类型,还包括以下特有的错误:
A. 位速率切换错误(BRS Error)

  • 定义:CAN FD使用两种速率传输数据:仲裁阶段的低速率和数据阶段的高速率。如果接收端未正确检测速率切换,则会触发此错误。
  • 触发条件:⚠ 接收节点未正确切换到数据阶段的速率。
  • 原因:节点速率配置不一致。

B. 协议校验错误(Protocol Violation Error)

  • 定义:CAN FD引入了严格的协议要求,如果节点检测到违反协议的情况(如帧头、数据长度、校验字段错误),则会触发协议校验错误。
  • 触发条件:⚠ 数据长度码(DLC)与实际数据长度不匹配。错误状态指示器(ESI位)使用不当。
  • 原因:协议实现或配置错误。

02 错误类型汇总

错误类型

03 PCAN亮灯说明

虹科PCAN硬件具备错误帧检测功能,对于USB接口类型的设备可以通过硬件上的LED灯来判断PCAN当前的状态,具体情况如下表:

PCAN亮灯说明

04 虹科PCAN上位机软件
错误帧分析

在菜单栏的Trace中勾选错误帧(Error Frames)、错误计数器(Error Counter Changes),即可在下方的状态栏(Status)和记录的trace文件中监测到总线上的错误。

虹科PCAN-View软件页面

右键某一具体的连接(Connection),选择Properties…进入属性页面,勾选错误帧(Error Frames),即可在下方的状态栏(Status)和接收窗口(Receive)中看到对应的错误帧和错误类型分析。

虹科PCAN-Explore6

05 案例分析

如图为虹科PCAN-Explorer 6中记录的trace文件,可以通过各参数的情况分析当前总线的状态和通信报文的情况:

PCAN-Explorer 6 trace文件

综上,当前情况CAN总线上只有一个CAN节点,当该节点寻求通信时,无其它节点响应,即反馈ACK错误。此时只需要将总线上其它节点上线,响应该CAN节点的通讯请求即可将错误恢复。

结语

虹科PCAN作为一款功能强大的CAN(FD)总线分析工具,为工程师提供了全面的总线错误检测功能。通过硬软件的协同工作,能够及时、准确地检测出CAN(FD)总线中出现的各种错误,并提供详细的错误信息,帮助工程师快速定位和解决问题。在汽车电子、工业自动化等领域,合理使用虹科PCAN进行总线错误检测,对于提高系统的可靠性和稳定性具有重要意义。希望本文介绍的内容能够帮助广大工程师更好地利用虹科PCAN设备进行CAN总线的开发和维护工作。

作者简介
陈皓

虹科智能互联技术主管,深耕CAN/LIN总线技术领域,提供专业的二次开发服务。

虹科智能互联交流群

扫码加入

虹科智能通讯交流群

发表回复