1137 字
6 分钟
CAN总线物理层调试基础知识

1. 引言#

控制器区域网络(CAN,Controller Area Network)是一种广泛应用于汽车、工业网络以及其他领域的通信协议。随着支持CAN的微处理器成本降低以及开源协议栈的普及,CAN技术在新系统中的应用变得越来越普遍。然而,在实际应用中,系统上电后无法正常工作的情况时有发生。本文将介绍一种基于工程学的调试方法,帮助快速定位和解决CAN物理层的问题。

2. 调试基础知识#

CAN的物理层调试需要一些基本的实验室工具,包括:

  • 示波器:用于观察CAN总线上的信号波形。
  • 数字万用表(DMM):用于测量电阻、电压和电流。
  • 电源:用于为系统提供稳定的电源。

在调试过程中,如果遇到复杂问题,可能需要更高精度的工具。但本文主要介绍基本的调试方法和工具。

3. 检查连接#

在开始调试之前,首先需要确认系统的连接是否正确。使用DMM检查以下内容:

  • 电阻检查:确保所有连接的电阻值符合设计要求。例如,CAN总线的终端电阻应为120 Ω。
  • 电源检查:确认CAN收发器的电源供应正常。例如,3.3 V或5 V电源是否正确连接。
  • 信号检查:确保TXD(发送数据)和RXD(接收数据)引脚的连接正确,没有短路或开路的情况。

4. 检查总线终止#

CAN总线的特性阻抗为120 Ω,通常在总线的两端各加一个120 Ω的终端电阻。如果终端电阻未正确连接或未使用,会导致信号反射,影响信号的完整性。使用DMM测量CANH(CAN高位)和CANL(CAN低位)之间的电阻,正常情况下应在45 Ω到65 Ω之间。

5. 检查电源供应#

在系统上电之前,检查CAN收发器的电源是否正常。例如:

  • 确保VCC引脚的电压为3.3 V或5 V。
  • 检查电源的稳定性,避免因电源波动导致收发器工作异常。

6. CAN物理层基础知识#

CAN物理层主要包括发送器(Transmitter)和接收器(Receiver)两部分。发送器将单端的数字信号转换为CAN总线上的差分信号,接收器则将差分信号还原为单端的数字信号。

  • 发送器:当总线处于主导状态(Dominant)时,发送器驱动总线,产生一个大于1.2 V的差分电压(Vdiff(D))。
  • 接收器:当总线处于 recessive 状态(Recessive)时,接收器检测总线上的差分电压,该电压应小于12 mV。

7. 使用示波器调试#

示波器是调试CAN总线的最常用工具。通过示波器可以观察以下信号:

  • TXD和RXD信号:确认发送和接收信号的波形是否正确。
  • CANH和CANL信号:观察总线上的差分电压是否符合CAN标准。
示例:#

在调试过程中,如果发现TXD信号的上升时间非常慢(例如9.6 µs),可能的原因是微处理器的TXD引脚没有足够的驱动能力。此时,可以在TXD引脚上添加一个上拉电阻,以加快信号的上升时间。

8. 常见问题及解决方法#

问题1:CAN总线无法通信#
  • 原因:可能是总线未正确终止,或总线上的电阻未正确配置。
  • 解决方法:检查终端电阻是否正确连接,确保CANH和CANL之间的电阻在45 Ω到65 Ω之间。
问题2:电源供应不稳定#
  • 原因:电源滤波电容不足,导致电源波动影响CAN收发器的工作。
  • 解决方法:在电源输入端添加一个4.7 µF的电解电容,以滤除电源噪声。
问题3:ACK位异常#
  • 原因:可能是总线上的多个节点同时发送ACK位,导致信号冲突。
  • 解决方法:检查CAN总线的时序,确保所有节点的时钟同步。

9. 结论#

通过本文介绍的调试方法,可以快速定位和解决CAN物理层的常见问题。调试过程中,建议结合示波器和DMM等工具,逐步排查问题。同时,参考相关的CAN协议文档和 datasheet,可以帮助更好地理解CAN总线的工作原理和调试技巧。

CAN总线物理层调试基础知识
https://hw.rscclub.website/posts/tislyt529/
作者
杨月昌
发布于
2019-06-16
许可协议
CC BY-NC-SA 4.0