HD_OBD 模拟器

image.png
image.png

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

image.png
image.png

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

image.png
image.png

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

image.png
image.png

设置数据流

image.png
image.png

设置版本信息

image.png
image.png

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

读取故障码

根据 ISO 15031-5 的 6.3 节,使用 7DF 01 03 查看
因为设置的大于三个因为还没有读完全,再次发送 7E0 30

image.png
image.png

读 VIN 码

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

image.png
image.png

读取车速

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

image.png
image.png

使用 AT 指令设置 VIN 码

使用前需要先激活协议

image.png
image.png

连接 usb 后不用 OBD 模拟器打开,使用串口工具选择波特率 256000
设置 VIN 码:AT+VIN:12345678901234567

image.png
image.png

使用 AT 指令设置故障码

AT+DTC02:P1012;P1013
前面是数量,后面是具体的故障码

image.png
image.png

提取固件测试

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

image.png](https://cdn.nlark.com/yuque/0/2022/png/268938/1663066591552-35337a59-7985-43e3-be27-de4c0efb7446.png#clientId=u9752cdf8-a925-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=224&id=u291f7fab&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1334&originalType=binary∶=1&rotation=0&showTitle=false&size=1499761&status=done&style=none&taskId=uc5a2f13f-f639-47a5-acda-d58b591b886&title=&width=317)![image.png
image.png](https://cdn.nlark.com/yuque/0/2022/png/268938/1663066591552-35337a59-7985-43e3-be27-de4c0efb7446.png#clientId=u9752cdf8-a925-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=224&id=u291f7fab&margin=%5Bobject%20Object%5D&name=image.png&originHeight=943&originWidth=1334&originalType=binary∶=1&rotation=0&showTitle=false&size=1499761&status=done&style=none&taskId=uc5a2f13f-f639-47a5-acda-d58b591b886&title=&width=317)![image.png

然后打开 JFlash,这样设置

image.png
image.png

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

image.png
image.png

成功提取固件

image.png
image.png

刷写固件测试

File -> Open data file 打开固件

image.png
image.png

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

image.png
image.png