can总线之二——刷写调试实例

现象: 在河南某汽车厂,刷写博世控制器的时候,发现发送36 01 XX XX指令,正常来讲应该收到76 01.或者7F XX的负响应。 可是没有收到任何响应数据。ide

用canOE监控一下,发送总线上确实有36 01,可是就是对方控制器没有法数据到总线上。测试

以前在公司测试,仅仅控制器链接到电脑上,刷文件是能够的。 实际现场又专门把控制器拆掉,单独接到电脑上,也是能够的。这说明车的环境对控制器有影响。it

设备 链接到 网关,网关而后链接到控制器。 全部设备发出的数据都是由网关这个模块,来转发到控制器的。用厂家的431来刷文件能够,说明网关是正常。是能够刷写文件的。 不单单这个博世的控制器,全部的像ABS,EPS,tbox等等好多ECU都是接到网关上的。class

在发送到总线上前提是,必须其余ECU保持安静,他们不能发数据到总线上。ID越小,则ECU的优先级越高。当优先级高的ECU在发数据的时候,而此时你要是发数据,那么是不能够的。所以要让其余ECU保持安静。监控

经过,进扩展,设置DTC, 让全部ECU安静。这三个步骤能够控制其余ECU。
监控总线,发现进扩展以后,总线上有些ECU回复50 03.可是,有的ECU 没有回复。而每次用431进扩展,都会发现好多ECU都能发50 03到总线。所以猜想,我发的数据太快,致使有些ECU没有正常发出50 03。 所以,在进扩展,设置DTC, 让其余ECU安静等命令以后, 都延迟一些时间。我这里延迟了400毫秒。扩展

结果,能够了,在总线上终于看到了76 01的回复。数据

相关文章
相关标签/搜索