我有一辆大众高尔夫 4,它相当旧,并且在其 CAN 总线上使用 KWP 2000 (ISO 9141)。我使用由 ELM 327 供电的加密狗,连接到汽车的 OBD-2 端口。
我正在尝试分别向每个 ECU 发送消息。我尝试更改消息的标题:
AT SH 48 XX F1
(我希望XX
是ECU ID;48
是“使用物理寻址”的标志)。我发出的任何命令(例如尝试 3E
表示“测试人员在场”)都会返回 NO DATA
(我禁用了自动超时并将超时设置为最大值)。
有没有办法直接向ECU发送消息?我对 OBD-2 提供的数据集不感兴趣,也不想重新刷新 ECU。目前我只是尝试找出总线上有哪些 ECU。
谢谢!
如果“ISO 9141”不是拼写错误,那么您的汽车真正使用的是
KWP1281 over K-line
,而不是KWP2000 over CAN
。
如果你有VCDS的话,测试起来很简单,当你连接成功后,你会在左上角看到协议,如下:
如果确实使用 CAN,则可以使用 ELM327,如包含 TP2.0 信息的其他答案中所述。
但如果它使用 K 线(就像我期望旧的高尔夫 4 那样),不幸的是 ELM327 无法胜任这项任务,因为 VAG 车辆使用专有协议。最好的选择是使用微控制器(例如 Arduino)来模拟测试仪。