3. CAN总线硬件:收发器、控制器与终端电阻

CAN总线硬件层是故障定位的物理基础。收发器、控制器与终端电阻三者协同工作,任何一环异常都会导致通信失败。本节从器件选型、功能对比到故障特征,逐一拆解。

3.1 CAN收发器:TJA1050 与 SN65HVD230

收发器负责将CAN控制器的逻辑电平转换为差分信号(CAN_H / CAN_L),并提供总线驱动与保护。主流收发器对比如下:

参数 TJA1050(NXP) SN65HVD230(TI)
工作电压 4.75V ~ 5.25V 3.0V ~ 3.6V
速率 最高 1 Mbps 最高 1 Mbps
待机模式 支持(STB引脚) 支持(S引脚)
总线引脚保护 ±8 kV ESD(HBM) ±16 kV ESD(HBM)
共模范围 -2V ~ +7V -7V ~ +12V
典型应用 5V系统(传统汽车ECU) 3.3V系统(工业/嵌入式)
故障排查提示: 若总线隐性电平(CAN_H ≈ 2.5V,CAN_L ≈ 2.5V)或显性电平(CAN_H ≈ 3.5V,CAN_L ≈ 1.5V)偏离超过 ±0.3V,优先检查收发器供电与参考地。

3.2 CAN控制器:SJA1000 与 MCP2515

控制器实现CAN协议的数据链路层:帧封装、仲裁、错误检测与重发。独立控制器常用于MCU无内置CAN外设的场景。

  • SJA1000(NXP): 支持BasicCAN与PeliCAN模式,5V供电,需外部晶振(16MHz典型值),通过地址/数据总线与MCU通信。
  • MCP2515(Microchip): 支持CAN 2.0B,3.3V/5V兼容,SPI接口(最高10 MHz),内置屏蔽与过滤器,适合低引脚数MCU。
特性 SJA1000 MCP2515
接口类型 并行(8位) SPI(串行)
供电电压 5V 2.7V ~ 5.5V
接收缓冲器 64字节FIFO 2个接收缓冲器 + 3个发送缓冲器
错误中断 总线错误、仲裁丢失、错误被动 错误状态、总线活动、帧错误
典型故障 地址冲突、晶振停振 SPI时序错误、MISO电平异常
常见故障点: MCP2515的SPI通信速率过高(超过10 MHz)会导致数据错位;SJA1000的ALE引脚悬空会造成地址锁存错误。测量控制器输出TX引脚与收发器输入TX引脚之间的波形,可快速定位数据链路断点。

3.3 终端电阻:120Ω 的物理意义

CAN总线两端各需一个120Ω终端电阻,用于匹配传输线阻抗、抑制信号反射。电阻缺失或阻值偏差是导致总线波形畸变、位定时错误的首要硬件原因。

  • 标准值: 每个终端电阻 120Ω ±1%,总线等效负载约 60Ω。
  • 测量方法: 断电状态下,在总线任意节点测量CAN_H与CAN_L之间的直流电阻。正常值约 60Ω(两端电阻并联)。
  • 异常判断:
    • ≈ 120Ω:仅一端有终端电阻,另一端缺失。
    • ≈ 40Ω:存在三个或更多终端电阻并联。
    • ≈ 0Ω:CAN_H与CAN_L短路。
    • ∞:总线开路或终端电阻全部缺失。
实训要点: 使用万用表电阻档测量总线终端电阻时,必须断开所有节点电源,否则测量结果会被节点内部偏置电阻干扰。
CAN总线硬件架构与信号路径 MCU + CAN控制器 SJA1000 / MCP2515 TX / RX 逻辑电平 CAN收发器 TJA1050 / SN65HVD230 差分信号转换 终端电阻 120Ω 左端 CAN总线 CAN_H / CAN_L 差分双绞线 TX/RX 差分信号 终端电阻 120Ω 右端 示波器测量点 CAN_H vs CAN_L 差分波形分析 隐性电平:CAN_H=2.5V,CAN_L=2.5V;显性电平:CAN_H=3.5V,CAN_L=1.5V;终端电阻缺失导致反射过冲

3.4 硬件故障快速定位流程

  1. 供电检查: 测量收发器VCC引脚电压(TJA1050需5V,SN65HVD230需3.3V),偏差超过±5%即异常。
  2. 终端电阻测量: 断电测CAN_H与CAN_L间电阻,正常约60Ω。若为120Ω,检查远端终端电阻是否脱落。
  3. 隐性电平验证: 上电后示波器测CAN_H与CAN_L对地电压,均应为2.5V左右。若偏差>0.3V,检查收发器偏置或总线对电源/地短路。
  4. 显性电平验证: 发送数据帧时,CAN_H应升至3.5V,CAN_L降至1.5V,差分电压约2V。若差分<1.2V,总线驱动能力不足。
  5. 控制器输出检查: 示波器测控制器TX引脚,应有清晰方波(逻辑0为0V,逻辑1为VCC)。若无波形,检查晶振与SPI/并行通信。
实训案例: 某CAN网络偶发通信中断,测量总线电阻为120Ω,确认远端节点终端电阻缺失。补装120Ω电阻后,通信恢复正常,波形过冲消失。