跳转至

使用HD OBD模拟器

使用HD_OBD模拟器

HD_OBD模拟器

1656903632168-1a34bc73-4ed7-4e04-9825-13296e39a794.png

OBD线,接出来两根线,红高蓝低

1663227965471-8cb4b80f-17f6-42a2-b214-47d43eb71c06.png

用一个 12v 的电源适配器给他供电,用 usb 线连电脑使用配套软件设置相关数据,首先是要配置好协议

1656903767725-38f1cf1d-1831-49dc-b0bf-05ef2c2041a0.png

设置故障码,具体的含义在 ISO_15031-6

1656903805310-b9b92a28-9742-45e7-97bf-270d7e2ebff3.png

设置数据流

1656903833570-38eadd52-c627-49a1-a238-f88145b2421b.png

设置版本信息

1656903880025-4eb8706c-dc73-4e50-8d77-cb9cc363e6be.png

再用 OBD 的接头连接好 pcan 的 can 高和低,用 pcanview 操作,读取数据,使用的是 15765 这个协议的,这里有个整理了一些操作指令的 pdf

OBD2_iso15765_protol_incomplete.pdf

读取故障码

根据 ISO 15031-5 的 6.3 节,使用 7DF 01 03 查看

因为设置的大于三个因为还没有读完全,再次发送 7E0 30

1663118782636-be97f757-477c-4ab2-b263-1875f95b04cf.png

读VIN码

根据 ISO 15031-5 的 6.9 节,使用 02 09 02 查看,然后再发 30 .... 查看剩下的

1663118639018-006b006a-a0cf-4db8-a250-d51c56d6a8e3.png

读取车速

在上面文档找的,具体在哪里定义的还不知道

1656924673682-cdb45c91-6167-4f72-a477-383244847825.png

使用AT指令设置VIN码

使用前需要先激活协议

1663117318514-e627c6cb-1100-4c7b-9aab-51ad515f1e1a.png

连接 usb 后不用 OBD 模拟器打开,使用串口工具选择波特率 256000

设置VIN码:AT+VIN:12345678901234567

1663117352555-933e29d3-d816-4b06-959b-433b5a3f5064.png

使用AT指令设置故障码

AT+DTC02:P1012;P1013

前面是数量,后面是具体的故障码

1663117381810-08141942-77a5-4e50-bcce-573affe8ad6c.png

提取固件测试

使用Jlink 或 Jlink OB 连接 OBD 模拟器

1663066591552-35337a59-7985-43e3-be27-de4c0efb7446.png1663068111752-e0996a88-6ee4-4e1c-95a0-0816375fef97.png

然后打开 JFlash,这样设置

1663068162146-db93cb73-f897-4356-bdd9-ed5d7ae135b7.png

点击 Options 的 Connect 即可连接设备,选择 Target -> Manual Programming -> Read back -> Entire chip

1663067445689-48799db5-f403-4f12-a186-33f0b64c8be3.png

成功提取固件

1663067448288-3d5cc952-6a7f-4a4d-a990-390beec728a4.png

刷写固件测试

File -> Open data file 打开固件

1663067780642-afa7fea7-d5cb-4e25-abf3-29f1ac4551fd.png

选择 Target Production Programming 就能烧写进去了

1663067757089-7a5c497e-127e-44a2-a034-66bc5208ee67.png

原文: https://www.yuque.com/hxfqg9/iot/da6tt3