CAN总线故障排查:从静态电压和终端电阻入手

发布时间:2026/9/12 0:26:02
CAN总线故障排查:从静态电压和终端电阻入手 前阵子处理一台设备的CAN总线通信故障现象是“偶发离线、时好时坏、重启又正常”现场换了两个ECU、三根线束都没解决。后来我安静下来拿万用表测了一下CAN_H和CAN_L的静态电压和终端电阻五分钟就锁定了问题总线尾部节点的CAN_L对地轻微漏电。这件事让我印象特别深——很多售后工程师排查CAN总线一上来就抓波形、读协议偏偏把最基本的物理层检查跳过去了。这篇内容就是想把CAN总线故障排查的顺序和思路讲清楚第一步到底该干什么每一步怎么测、测出什么数据说明什么问题以及我从大量售后现场里总结出来的坑和习惯。不管你是做车载电子售后、工业设备调试还是玩达妙电机这类用CAN总线的关节控制这套排查逻辑都通用。1. 先别急着抓波形把CAN总线排查的第一步做对1.1 为什么90%的故障排查从这里开始我在售后现场见过太多“一上来就架示波器”的工程师。示波器接上之后屏幕上确实能看到波形但很多人忽略了一个前提示波器看到的是总线“正在通信”时的样子而真正的故障往往藏在通信还没开始、报文断续或者总线静默的瞬间。换句话说波形是结果不是原因。总线电压不对、终端电阻不匹配、节点收发器坏了这些问题早在波形跳动之前就已经埋下了。如果你的第一步是抓波形那么你大概率会对着屏幕上的一堆波形和毛刺发呆越看越乱。正确的第一步是给总线做一个“体检”。体检项目很简单静态电压、终端电阻。这两项能排除掉物理层至少一半的故障而且只需要一块万用表不需要示波器不需要协议分析仪。这也正是标题里说的“90%的难题都卡在这一步”——不是故障本身多难查而是很多人跳过了基础检查直接冲进高阶排障结果绕了远路。1.2 CAN总线通信的基本盘电压差是怎么来的要理解CAN总线的故障排查先得知道CAN到底怎么传数据。CAN总线是差分信号传输核心就是CAN_H和CAN_L这两根线之间的电压差。再说直白一点CAN总线上的0和1不是靠“哪根线有没有电”来表示的而是靠两根线之间的电压差来区分的。总线空闲的时候也就是隐性状态CAN_H和CAN_L都维持在2.5V左右两根线的压差接近0V这时候接收端读到的是逻辑“1”。当某个节点要发送数据时它会主动把CAN_H拉到3.5V左右、把CAN_L拉到1.5V左右两线之间就出现了约2V的压差接收端读到的是逻辑“0”也就是显性状态。这个“电压差是怎么改变”的机制本质上就是节点内部的CAN收发器根据要发送的比特流交替驱动两个引脚反向动作。正常情况下你拿示波器看差分波形可以看到它在0V和2V之间来回跳变。记住这一点后面的所有排查技巧都建立在这个基础上只要压差出不来、维持不住、或者电平值不对总线就不可能正常工作。2. 第一步实操用万用表测静态电压和终端电阻2.1 静态电压测量三组数据锁定异常静态电压测量是所有排查里成本最低、信息量最大的一个动作。操作非常简单把万用表打到直流电压档分别在总线的任意两个测量点上测三组数据——CAN_H对地电压、CAN_L对地电压、CAN_H与CAN_L之间的压差。这里要特别提醒测量前一定要确认总线处于空闲状态。很多设备上电后会自动发报文如果总线一直在通信你测到的就不是“静态电压”而是被报文平均过的动态电压会误导判断。理想情况是把设备断电后再上电在它还没开始正常通信、或者处于待机状态下测量。我把这些年现场测量得到的正常数据和异常判断整理成了下面这张表测量项正常范围异常可能CAN_H对地电压2.5V ~ 3.5V偏低可能是CAN_H对地短路或漏电CAN_L对地电压1.5V ~ 2.5V偏高可能是CAN_L对电源短路CAN_H与CAN_L压差静态接近0V明显偏离0V说明总线被异常拉偏终端电阻断电测量约60Ω120Ω说明少一个终端0Ω说明短路无穷大说明断路有一次我排查一套AGV小车的CAN总线测CAN_L对地电压发现它在2.5V以下完全压不下来总线一会通一会断。顺藤摸瓜最后发现是一个传感器插头进水CAN_L线通过水膜和地线搭在了一起。这种问题如果不先测静态电压光抓波形很难定位因为总线上其他节点还在拼命发正常报文波形看起来好像没问题。2.2 终端电阻的60Ω法则别被内藏电阻骗了终端电阻的问题是我见过售后人员栽跟头最多的地方。教科书说得很简单CAN总线两端各有一个120Ω电阻并联之后从外部量就是60Ω。但实际设备里终端电阻往往不是独立的外接电阻而是藏在ECU、控制器或者电机驱动器内部的。这意味着你无法直接单量“一个电阻”来确认它有没有问题只能把万用表调到电阻档断电后在整条总线上测量。如果总线只有两个节点且都有内藏终端电阻量到的大约是60Ω。如果量到120Ω说明总线两端只保留了一个终端电阻或者另一个节点的终端电阻没有接入。如果量出来接近0Ω说明CAN_H和CAN_L之间有短路如果无穷大说明总线存在断路点。这里有个亲测经验有些控制器上没有明确标注“终端电阻开关”但内部通过跳线或拨码来启用120Ω终端。比如达妙电机在做多关节串联时很多工程师以为每个关节都开了终端电阻就等于“标配”结果一条总线上接了四五个120Ω并联量出来只有20多欧姆导致信号反射异常、报文频繁出错。所以不管是什么设备量出阻值低于50Ω或者高于70Ω都要先停下手里的活把终端电阻网络理清楚再说。3. 第二步实操用示波器看波形识别物理层故障3.1 示波器抓CAN波形的正确接法静态电压和终端电阻都确认没问题之后总线大概率已经能“通电通信”了这时候才轮到示波器上场。示波器测CAN总线有一套固定接法通道1探头接CAN_H通道2探头接CAN_L两支探头的地线夹在同一个公共地上然后把时基调到每格20微秒到50微秒左右触发电平设在1.5V左右用下降沿触发。很多人抓CAN波形抓不好问题多半出在触发设置上。CAN总线常态是隐性电平2.5V报文的开始是一个显性起始位电压会从2.5V往下掉所以用下降沿触发、触发电平设在1.5V到2V之间最容易捕捉到稳定的帧波形。如果是两台示波器并联测还要注意探头地线必须接同一个地否则会引入共模噪声。波形正常抓出来之后你可以同时看到两条曲线CAN_H曲线在2.5V到3.5V之间跳变CAN_L曲线在1.5V到2.5V之间跳变。两者方向相反、幅度接近对称从差分角度看就是0V和2V之间的方波。这里顺便说一句很多示波器有数学运算功能可以设置“CH1-CH2”得到差分波形比单独盯两条线要直观得多。3.2 常见波形形态直接对应故障点波形不是随便看看就完事不同故障会在波形上留下很明显的“指纹”。我整理了几种最常见的形态波形现象大概率原因显性压差不足2VCAN_H拉不高或CAN_L拉不低某个节点收发器驱动能力下降上升沿或下降沿出现明显过冲、振铃、台阶终端电阻丢失或阻抗不匹配波形整体上下漂移毛刺多节点之间共地不良地电位差过大波形变成一条直线压差一直维持在某一个值CAN_H/CAN_L短接、对地短路或对电源短路报文间歇性缺失波形密度明显不均匀总线负载重、波特率失配或节点掉线印象很深的一个案例一台设备的CAN波形在下降沿后面拖了一个“小台阶”看起来像两个显性位连续出现但报文的帧结构又没问题。查了很久才确定是总线末端缺少终端电阻导致信号在末端反射反射波叠加到了原始波形上。这就是典型的“示波器指向物理层而不指向协议”的案例。如果你的波形出现了类似现象先别急着怀疑软件配置把末端终端电阻补上通常就好了。4. 第三步实操用协议分析仪锁定故障节点4.1 波特率匹配与报文观察物理层没问题之后如果总线还是通信异常那就进入数据链路层了。这个时候需要用到USB-CAN分析仪或者手持式CAN总线诊断仪把工具并接在总线上配合PC软件查看总线上的实际报文。第一步是确认波特率。CAN总线通信双方必须工作在同一个波特率下常见的125kbps、250kbps、500kbps、1Mbps都有可能。波特率不匹配的时候分析仪会显示大量错误帧甚至一根报文都解不出来。你可以在软件里挨个切换波特率试一下能稳定解析出数据帧的那一档通常就是当前总线的工作波特率。波特率确定后看两个东西一是总线上有没有你要找的那几帧报文二是错误帧计数是不是持续增长。如果总线上压根没有目标节点的报文说明该节点没有正常参与通信如果错误帧非常多说明有人在破坏总线而且破坏者往往不是发错报文的那个节点而是物理层有问题的那个倒霉设备。4.2 ACK机制用断开法揪出问题节点为什么说物理层有问题的节点会“破坏整个总线”这就要说到CAN总线的ACK应答机制了。CAN协议规定发送节点发出报文后必须在应答槽等待接收方拉低电平作为回应只要总线上有任何一个节点正常接收就会产生ACK应答。如果应答槽没有被拉低发送节点就会认为报文发送失败不停重发甚至报错。这里就出现了一个有价值的排查技巧总线通信异常时逐个断开挂在线上的节点每断开一个观察一次协议分析仪上的错误帧数量。如果某个节点断开后错误帧瞬间归零剩下的通信也恢复正常那基本可以断定断开掉的那个节点就是罪魁祸首。我遇到过一次很典型的案例一条总线上挂了五个节点其中一个节点内部CAN收发器损坏上电后它一直在往总线发送电平很弱的破坏波形导致其他四个节点全部间歇性报错。断开那一个之后整个系统瞬间安静。这种“一个坏节点拖垮全网”的现象在CAN总线售后里非常常见而断开筛选法永远是最高效的定位手段。5. 实战复盘三个典型CAN总线故障案例5.1 CAN_H对地短路一次全网离线有一回客户反馈整条生产线的设备全部离线报“总线关闭”。我到现场后没有直接上协议分析仪而是先用万用表测了CAN_H对地电压发现只有1.2V而正常应该在2.5V以上。再量CAN_H对地电阻阻值偏低且不稳定。基本判断是CAN_H对地存在短路点。接下来的工作就变成“巡线”沿着总线走向重点检查所有线束过孔、弯折处、插头连接处最后在一段经过设备金属护套的线束里找到了破损点线芯和护套金属边缘搭在一起。处理好绝缘重新测量静态电压恢复正常系统上电后所有节点在线。这类问题如果一开始直接抓波形大概率只能看到波形很挣扎不一定能快速定位到具体物理位置。5.2 终端电阻丢失偶发丢帧的元凶另一个很有代表性的问题是“偶发丢帧”。系统大部分时间正常但每过几分钟就会出现一次报文超时而且没有任何规律。静态电压正常波特率也匹配波形看起来大体正常就是上升沿边缘带一点振铃。最后用万用表一量终端电阻发现只有120Ω说明总线原本应该有两个终端电阻实际上只剩了一个。原因是一台老设备更换控制器的时候新控制器的型号与旧型号不同板载终端电阻被取消了而现场工程师没有额外补装120Ω终端电阻。在总线的远端补了一个120Ω电阻后振铃消失偶发丢帧也再没出现过。这个故事说明排查CAN总线问题电阻测量永远不要省略。5.3 达妙电机关节控制的CAN排障很多做机器人和自动化设备的朋友用达妙电机做关节控制CAN总线是主流的通信方式。电机不转、抖动或者时断时续的时候我的排查思路也完全一致先测静态电压和终端电阻再用示波器看波形最后用CAN分析仪看报文ID和PDO数据。特别要提两点。第一关节串联时终端电阻一定要布置在整条关节链路的最两端不能每个关节都开终端。第二达妙电机这类驱动器通常默认波特率可能是1Mbps但你的主控如果配置成500kbps就会表现为电机完全无响应或者偶尔动一下。先用CAN分析仪接上去把波特率调到1Mbps尝试解析如果能看到报文问题就出在主控配置而不在电机本身。另外关节链条中每个电机的CAN ID必须唯一ID冲突也会出现“动A关节B关节跟着抖”的怪现象。6. 售后排查的节奏、工具与三个习惯6.1 工具清单与排查优先级很多人问售后排查CAN总线到底要准备什么工具。我的答案是先买一块靠谱的万用表再买一台示波器最后再考虑CAN分析仪。三样东西的优先级恰好对应排查步骤万用表解决静态电压和电阻问题示波器解决波形质量的问题CAN分析仪解决报文和节点层面的问题。当然如果是经常处理CAN故障的老手可以直接上手持式CAN总线诊断仪这类仪器通常集成了万用表功能、示波器功能和协议分析功能在现场能省不少来回换工具的时间。但不管用什么工具排查顺序我建议始终如一先测电压和电阻再看波形最后才读协议。这个节奏看着慢实际反而是最快的路径。6.2 值得长期养成的三个排查习惯第一个习惯动手之前先记录基准数据。每次到现场先把正常设备的总线电压、电阻、波形截图保留一份。有了健康基线再去测故障设备对比一下就很容易发现到底是哪一项偏离了正常范围。很多疑难故障查不出来就是因为手里没有“正常值”可以参考。第二个习惯永远先怀疑物理层再怀疑协议层。CAN总线90%以上的售后问题都出在电压不对、电阻不对、接地点不对、屏蔽层没处理好。软件配置和协议问题是小概率事件先查物理层不是浪费时间而是在绕开最大的坑。第三个习惯学会做隔离。一条总线上节点越多排查越要讲究“分割包围”。从中间断开总线把故障缩小到其中一段再分段定位。如果总线支持按网段分组优先缩小范围能让你把精力集中在真正的故障区域而不是整条总线漫无目的地扫荡。我在实际售后里最大的体会是CAN总线故障从来不怕“问题怪”就怕“思路乱”。只要按着电压、电阻、波形、协议这个顺序一步步走再难的故障也能被拆成一个个可以验证的小问题。最后再分享一个小技巧平时可以自制一个带LED的CAN总线指示头两个探针分别接CAN_H和CAN_L通信正常时LED会有明显的闪烁亮度变化静态测电压时又能当普通表笔用。这个十几块钱的小工具在快速判断“总线到底有没有通信”时特别好使值得常备一套。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询