先搞懂:CAN总线到底是个啥
新能源车上面几十个ECU(控制器)之间要互相通信,靠的就是CAN总线。说人话就是一条高速公路,所有控制器都挂在上面收发数据。车上通常有2-3条CAN网络:动力CAN(VCU、MCU、BMS)、车身CAN(空调、门窗灯)、底盘CAN(ABS、转向),部分车型还有诊断CAN。
CAN总线物理上就两根线:CAN-H和CAN-L,以差分信号传输。两根线正常对地大概2.5V左右,CAN-H通信时跳到3.5V,CAN-L跳到1.5V。最关键的数据——终端电阻,动力CAN两端各有一个120Ω电阻并联,所以量出来应该正好是60Ω。这个60Ω是排查CAN故障时最重要的一个数字,记死了。
⚠️ 安全提醒:测量CAN总线电压、电阻前,必须先下电、断12V小电瓶负极,等5分钟让高压电容放电。不要带电测CAN电阻,烧万用表事小,烧了网关模块就真哭了。
CAN总线故障码对照表
诊断仪读到这些故障码,八九不离十是CAN总线出问题了:
| 故障码 | 含义 | 常见原因 | 排查优先级 |
|---|---|---|---|
| U0073 | 控制模块通信总线A关闭(Bus Off) | 某节点CAN收发器故障、CAN-H/CAN-L短路到电源/地/互短 | ⭐⭐⭐⭐⭐ |
| U0100 | 与ECM/PCM A通信丢失 | VCU与MCU通信中断、CAN线断路、网关模块丢包 | ⭐⭐⭐⭐⭐ |
| U0101 | 与TCM通信丢失 | 变速箱控制器CAN节点掉线、线束断裂 | ⭐⭐⭐⭐ |
| U0121 | 与ABS控制模块通信丢失 | ABS模块CAN接口损坏、底盘CAN总线故障 | ⭐⭐⭐⭐ |
| U0140 | 与BCM通信丢失 | 车身控制模块掉线、车身CAN故障 | ⭐⭐⭐ |
| U0155 | 与IPC(仪表)通信丢失 | 仪表盘CAN节点死机、仪表自身故障 | ⭐⭐⭐ |
| U0293 | 与BMS通信丢失 | 电池管理系统CAN掉线、BMS模块损坏 | ⭐⭐⭐⭐⭐ |
| U0110 | 与驱动电机控制器通信丢失 | MCU CAN掉线、动力CAN网络瘫痪 | ⭐⭐⭐⭐⭐ |
CAN总线6大典型故障现象及排查
1. 终端电阻不是60Ω
动力CAN断电后在OBD口6#(CAN-H)和14#(CAN-L)之间量电阻。正常60Ω±5Ω。如果量出来120Ω,说明有一端的终端电阻开路了——常见于BMS内部终端电阻烧断。量出来0Ω或接近短路,那就是CAN-H和CAN-L互短了。
诊断仪一插,U0073+U0100+U0293三大故障码齐了,典型的动力CAN瘫痪。OBD口6#和14#量电阻——0.3Ω,短了!断开所有高压插接件一个个排查,最后发现是MCU端CAN-H线磨破皮搭在了电机壳体上,导致整条动力CAN对地短路。焊好线套上热缩管,电阻回到59.8Ω,一切正常。这毛病如果在4S店换线束总成起码6000起步,我收了300块。
2. CAN-H / CAN-L 对地短路或对电源短路
断电状态下,分别量CAN-H对地、CAN-L对地的电阻。正常应该都是几千欧以上(取决于收发器内部上拉/下拉)。如果某根线对地电阻接近0,说明破皮搭铁了。如果对12V正极电阻接近0,那可能是磨到常电线上去了。
3. 总线Bus Off状态
Bus Off是CAN控制器的一种自我保护机制——当某个节点检测到发送/接收错误累积超过255次,就自动离线。修车时遇到U0073大概率就是某个控制器Bus Off了。排查方法:依次拔掉各个CAN节点(VCU、MCU、BMS等),看总线能不能恢复通信。拔到哪个故障消失,就是哪个节点的问题。
4. CAN波形异常
用示波器看CAN波形是最直观的办法。正常差分波形:CAN-H在2.5V-3.5V之间摆动,CAN-L在1.5V-2.5V之间摆动,波形整齐、上升沿陡峭。
| 波形异常 | 可能原因 | 排查方法 |
|---|---|---|
| 波形幅值偏低(不到1V摆幅) | 终端电阻阻值过低、线间电容大、某节点驱动能力不足 | 查终端电阻、检查是否有额外并联电阻 |
| CAN-H波形出现削顶 | CAN-H对VCC弱短路、收发器损坏 | 逐个断开节点测试 |
| CAN-L波形抬升不到1.5V | CAN-L对地弱短路 | 分段断开线束排查 |
| 波形上升沿变缓(圆角) | 线束过长、终端电阻不匹配、线束进水腐蚀 | 检查线束接头氧化、测量线束长度 |
| 波形出现反射/振铃 | 终端电阻缺失或阻值不对、分支长度过长 | 测量终端电阻、检查拓扑结构 |
这车很邪门,开出去有时候好好的,有时候突然仪表黑屏然后功率限制到20kW。诊断仪读到一堆U打头的通信故障码但都是历史码,实时看数据又正常。我带着示波器跟车跑了3天才逮到——底盘CAN的接头在副驾脚垫下面,洗车的时候脚垫湿气渗进去导致插头轻微腐蚀,过颠簸路面的时候接触不良。重新处理插头、打防水胶,问题彻底解决。这就是典型的"看故障码没用、必须上示波器逮现场"的案例。
5. CAN节点逐个离线
如果你发现诊断仪只能读到部分控制器(比如能读到BMS但读不到MCU和VCU),说明CAN网络不是整个瘫痪,而是某个节点掉线。这种情况八成是该节点本身的CAN接口芯片烧了,或者该节点到总线的支路线断了。排查技巧:在OBD口分别尝试连接每个控制器,记下哪些能连上、哪些不行,缩小怀疑范围。
6. 网关模块故障
车上不同CAN网络之间靠网关转发数据。网关一挂,就好比路由器坏了——A网的数据到了B网但B网收不到跨网数据。典型的网关故障现象:部分功能正常但仪表报一堆故障灯,或者充电正常但挂档没反应。诊断时看哪些功能正常、哪些异常,可以反推出网关里哪条通道出问题了。
排查工具与操作顺序
- 诊断仪全车扫描——先把所有U开头故障码记下来,截图保存
- 万用表量终端电阻——OBD口6#和14#,必须60Ω
- 万用表量对地/对电源电组——判断有没有短路
- 逐个拔节点——拔一个扫一次,看通信是否恢复
- 示波器看波形——前四步解决不了才上
- 分段排查线束——找到大致的故障段后,剥开线束护套逐段检查
💡 老师傅经验:如果你手里只有诊断仪和万用表,就按前面4步走,80%的CAN故障都能搞定。示波器属于"锦上添花"——用来确认怀疑和抓间歇性故障。千万别一上来就示波器,浪费时间。
一句话总结
CAN总线故障看着吓人,其实说穿了就三件事:短路(对地/对电/互短)、断路(某根线断了)、终端电阻不对(不是60Ω就是有问题)。先把终端电阻量了,再根据故障码缩小范围,最后逐个拔节点定位,十有八九能找到。
——重庆新能源汽修师傅