CAN总线通讯 - ISO15765

        ISO 15765协议是一种CAN总线上的诊断协议。具体介绍可以参考:https://en.wikipedia.org/wiki/ISO_15765-2

  1.通过解码器与ECU通信,通过命令解析进入系统,请求具体的PID

       请求支持PID 01~20

00 00 07 DF 02 01 00 00 00 00 00 00

       

    在请求 01~20 段到底支持哪些 PID 时, 回应消息中分了 4 个字节来描述支持, 每个字节正好描述 8 个 PID 的支持情况,如:在 #4 描述的是第一个 8 个 PID,如果 BF ( Hex)就是 10111111( Bin ) 1 表示支持, 0 表示不支持, MSB 对应的 01,LSB 对应着 08,可知 01,03~08 是支持的,而 02 不支持。在请求 21~40,41~60 等其他段同理。

 

2.读取故障码

    

    用自己开发的软件结合DPA5设备发送读码(03)的命令,用CAN分析仪侦测到了数据如图所示:

      每个故障代码需要2个字节来描述。故障代码的文本描述可按如下方式解码,故障代码中的第一个字符由第一个字节中的前两位确定,比如说22 02 ,22(00 10 00 10) ->P2202

自己手动通过CAN分析仪发送:收到的帧数不对,原因可能是在DPA5设备中,可能固定写死了多帧读取的命令。

必须加上一帧:多帧命令(30),并且注意发送的时间间隔大小,自己做开发的过程中可能会用到。

3.获取车辆的VIN码

第一个49 02 01 中01表示收到的第一个消息,由17个字节(32 47 31 57 42 35 38 4E 33 36 39 31 39 33 35 33 30)组成。

由HEX转ASCII解释得到VIN码:2G1WB58N369193530.

更多的mode+pid的模式命令组合参考:https://en.wikipedia.org/wiki/OBD-II_PIDs很详细的介绍了相关的指令集合以及相关的报文解析。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ya土豆儿~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值