使用 ELM 327 加密狗和 ISO 9141 直接对 ECU 进行寻址

问题描述 投票:0回答:2

我有一辆大众高尔夫 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。

谢谢!

embedded obd-ii elm327
2个回答
1
投票

VW 适用于传输协议 TP 2.0,因此您需要使用 0x200 标头进行初始化。

https://jazdw.net/tp20

请参阅上面的链接了解更多信息。


0
投票

如果“ISO 9141”不是拼写错误,那么您的汽车真正使用的是

KWP1281 over K-line
,而不是
KWP2000 over CAN

如果你有VCDS的话,测试起来很简单,当你连接成功后,你会在左上角看到协议,如下:

  • “KWP1281”= ISO9141(K线)
  • “KWP2000”(或其他大于2000的数字)= ISO14230(K线)
  • “CAN”= KWP2000(CAN 总线)

如果确实使用 CAN,则可以使用 ELM327,如包含 TP2.0 信息的其他答案中所述。

但如果它使用 K 线(就像我期望旧的高尔夫 4 那样),不幸的是 ELM327 无法胜任这项任务,因为 VAG 车辆使用专有协议。最好的选择是使用微控制器(例如 Arduino)来模拟测试仪。

© www.soinside.com 2019 - 2024. All rights reserved.