周半梅 发表于 2025-4-23 07:21

CAN总线上突然掉线该怎么排查?

有时候明明连接正常,但某个节点就是不回消息,是硬件问题还是ID设置错了?

Clyde011 发表于 2025-4-23 07:27

是不是中断没开,数据都收不到?

Uriah 发表于 2025-4-23 07:28

我后来写了个定时重启bus off的逻辑。

Pulitzer 发表于 2025-4-23 07:29

CAN滤波器设置错也有可能。

Bblythe 发表于 2025-4-23 07:29

用逻辑分析仪看一眼数据流就清楚了。

Wordsworth 发表于 2025-4-23 07:30

会不会是某个节点发错ID,把总线堵了?

万图 发表于 2025-4-23 07:31

有时候是电源噪声干扰,不好查。

童雨竹 发表于 2025-4-23 07:32

我发现错帧太多也会进bus off。

帛灿灿 发表于 2025-4-23 07:33

掉线时候抓一下bus状态,看看ACK有没有。

周半梅 发表于 2025-4-23 07:34

CANH和CANL有没有短接?

公羊子丹 发表于 2025-4-23 07:34

是不是终端电阻松了?我遇到过一模一样。

probedog 发表于 2025-4-23 12:28

检查总线两端是否正确接入 120Ω 终端电阻。

classroom 发表于 2025-4-23 12:28

线缆是否破损或接触不良,尤其是连接器和接口处。

elephant00 发表于 2025-4-23 12:34

若两个节点使用相同 ID,会导致总线仲裁失败。

laocuo1142 发表于 2025-4-23 15:00

供电电压是否稳定。

flycamelaaa 发表于 2025-4-23 15:20

试试断开问题节点,观察其他节点是否恢复正常。若其他节点正常,则问题可能集中在该节点硬件。

powerantone 发表于 2025-4-23 16:00

检查错误中断是否被正确触发。

stormwind123 发表于 2025-4-23 16:03

在错误中断中实现自动复位机制,避免节点长时间处于错误状态。

jcky001 发表于 2025-4-23 18:00

接收滤波器配置是否正确?

两只袜子 发表于 2025-4-23 19:00

检查发送函数是否设置了超时机制,避免因总线繁忙导致死锁。
页: [1]
查看完整版本: CAN总线上突然掉线该怎么排查?