CAN通信排查先从物理层开始
CAN 不通时,软件日志往往最先暴露,但根因经常在物理层。
我会先确认三件事:CAN_H 与 CAN_L 之间是否有合理终端电阻,总线是否在被正确供电,控制器和板卡是否处于同一网络。
理想双终端网络在断电状态下约为 60 欧姆。只接一个终端通常约为 120 欧姆。测得几十欧姆或数百欧姆都要先解释清楚,不要因为“另一套工程能跑”就忽略。
第二步看电平与波形。CAN_H、CAN_L 对地电压、差分电平和终端位置是否正常。示波器最适合发现隐性短路、共模偏移和明显干扰。
第三步看报文。工具能收到报文,不代表控制器能收到。终端电阻、波特率、采样点、CAN/CAN FD 模式和控制器上电状态都会影响最终接收。
有一次现象是测试工具能看到收发跳变,但目标控制器完全没有响应,最后确认终端电阻没有形成正确匹配。板卡互换并不能说明问题在软件,因为同一个物理网络仍然不完整。
排查顺序建议固定为:供电、终端、线序、电平、波特率、报文、控制器状态、应用层信号。
每改一项就重新观察。不要在未确认上一项结果时同时换线、改配置、重编译。
对多通道机柜,还要核对板卡 CH 编号、DB9 针脚和工程里的通道映射是否一致。物理通道与软件通道混号,会出现“通道都是好的,但控制的是另一台设备”。
在站点中打开 →