OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 11644|回复: 16

乘用车OBD的CAN数据ID如何解析?

[复制链接]

2

主题

19

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2020-2-17
在线时间
8 小时
发表于 2020-3-21 14:52:51 | 显示全部楼层 |阅读模式
1金钱
本人是搞商用车电气控制工作的,最近想搞搞乘用车,我用CAN分析仪读取到乘用车的OBD口CAN数据后发现完全不一样,乘用车的都是标准帧。。百度了半天也不得其解,因此在此提问下。
先贴一段报文:
序号  传输方向  接收时间标识                    帧ID   帧格式  帧类型  数据长度   数据
0        接收   18:43:13.329.0          0x000002ea  数据帧  标准帧  0x08       00 06 00 06 77 b6 77 c8
1        接收   18:43:13.329.0          0x00000311  数据帧  标准帧  0x08       00 07 00 00 00 00 03 f5
2        接收   18:43:13.333.0          0x00000431  数据帧  标准帧  0x08       11 3c 08 d9 04 b0 00 00
3        接收   18:43:13.335.0          0x00000230  数据帧  标准帧  0x08       00 00 00 00 00 00 00 00
4        接收   18:43:13.335.0          0x000000fb  数据帧  标准帧  0x08       13 13 63 15 15 13 3a 77
5        接收   18:43:13.335.0          0x00000101  数据帧  标准帧  0x08       0b 3f 63 08 00 00 da 1e
6        接收   18:43:13.335.0          0x00000278  数据帧  标准帧  0x08       0b c1 4c 00 02 18 50 00
7        接收   18:43:13.343.0          0x00000392  数据帧  标准帧  0x08       00 00 50 00 00 ff 0f 40
8        接收   18:43:13.345.0          0x00000230  数据帧  标准帧  0x08       00 00 00 00 00 00 00 00
9        接收   18:43:13.345.0          0x000000fb  数据帧  标准帧  0x08       13 13 63 15 15 13 3c 75
10        接收   18:43:13.345.0          0x00000101  数据帧  标准帧  0x08       0b 3f 63 08 00 00 da 1e
11        接收   18:43:13.345.0          0x00000278  数据帧  标准帧  0x08       0b c1 4c 00 02 18 50 00
12        接收   18:43:13.350.0          0x000002ea  数据帧  标准帧  0x08       00 06 00 06 77 b6 77 c8
13        接收   18:43:13.350.0          0x00000311  数据帧  标准帧  0x08       00 07 00 00 00 00 04 f4
14        接收   18:43:13.355.0          0x00000230  数据帧  标准帧  0x08       00 00 00 00 00 00 00 00
15        接收   18:43:13.355.0          0x00000431  数据帧  标准帧  0x08       11 3c 08 d9 04 b0 00 00

然后说下已了解的东西,目前知道数据前三个字节分别是PCI+MODE+PID,其中MODE和PID的资料网上一搜一大把,倒是明白一点。。

然后提出问题:
1.谁分享份ISO15031-5标准啊?这个标准都有哪些信息啊?
2.报文中的ID哪里有列表及具体介绍?是ISO15031-5里吗?
3.这个车上OBD里都能获取到哪些数据?如何获取?
4.这个车上OBD里都能控制哪些东西?如何控制?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2020-3-21 17:19:42 | 显示全部楼层
回复

使用道具 举报

7

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
220
金钱
220
注册时间
2015-2-26
在线时间
35 小时
发表于 2020-3-22 21:04:04 | 显示全部楼层
这是总线数据 没意义
汽车OBD

OBD 学习群 907183926
回复

使用道具 举报

2

主题

19

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2020-2-17
在线时间
8 小时
 楼主| 发表于 2020-3-23 09:32:28 | 显示全部楼层
在线大概看了份ISO15031-5标准,发现都是讲PID的,相关的心得理解等网上一搜一堆,关键问题是不知道ID的协议啊,商用车的协议从J1939里直接就有,比如0xCF00400等常用ID,一目了然。这个乘用车怎么弄得??网上找不到相关乘用车的资料,郁闷
回复

使用道具 举报

51

主题

2165

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10627
金钱
10627
注册时间
2017-4-14
在线时间
2778 小时
发表于 2020-3-23 12:42:07 | 显示全部楼层
本帖最后由 nashui_sx 于 2020-3-23 14:16 编辑
骑着毛驴数星星 发表于 2020-3-23 09:32
在线大概看了份ISO15031-5标准,发现都是讲PID的,相关的心得理解等网上一搜一堆,关键问题是不知道ID的协 ...

obd转发的诊断协议数据都是通用的,直接接收固定地址id 用pid解析就好了   非诊断协议的没有厂家的dbc文件想破解很难吧
ISO15031-1.pdf (461.35 KB, 下载次数: 78)
回复

使用道具 举报

2

主题

19

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2020-2-17
在线时间
8 小时
 楼主| 发表于 2020-3-23 14:05:26 | 显示全部楼层
nashui_sx 发表于 2020-3-23 12:42
obd转发的诊断协议数据都是通用的,直接接收固定地址id 用pid解析就好了   非诊断协议的没有厂家的dbc文 ...

非常感谢资料分享,我先学习下
回复

使用道具 举报

2

主题

19

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2020-2-17
在线时间
8 小时
 楼主| 发表于 2020-3-23 14:08:00 | 显示全部楼层
刚才直接试验分析报文,找出发动机转速来了,而且是纯接收数据获取的。这里发出来分享给大家:
ID:0x00000278,公式为 发动机转速=(BIT1*256+BIT2)/4。
如有错误,欢迎指正
回复

使用道具 举报

51

主题

2165

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10627
金钱
10627
注册时间
2017-4-14
在线时间
2778 小时
发表于 2020-3-23 14:13:33 | 显示全部楼层
本帖最后由 nashui_sx 于 2020-3-23 14:15 编辑
骑着毛驴数星星 发表于 2020-3-23 14:08
刚才直接试验分析报文,找出发动机转速来了,而且是纯接收数据获取的。这里发出来分享给大家:
ID:0x0000 ...

简单的 obd诊断协议都有 没必要自己破解   车速 发动机转速 等等都有 直接用就好了    比如01 0c 就是发动机转速      复杂的没dbc文件破解太难了,因为数据量太大,数据全部都在变,想固定住看都不太可行
回复

使用道具 举报

2

主题

19

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2020-2-17
在线时间
8 小时
 楼主| 发表于 2020-3-23 17:02:55 | 显示全部楼层
本帖最后由 骑着毛驴数星星 于 2020-3-23 17:04 编辑
nashui_sx 发表于 2020-3-23 14:13
简单的 obd诊断协议都有 没必要自己破解   车速 发动机转速 等等都有 直接用就好了    比如01 0c 就是发 ...

你说的这个发动机转速的获取方式是查询的吧?我上面分析的那个是只接受数据就行的,不干预正常通讯。
说起来我们公司一直都没有DBC,没舍得买,一直都是手动分析的,不过我们都有比如变速箱、发动机、仪表盘等等零部件的协议,有需要的时候查一下就行,虽然不直观效率低。。
这种乘用车的应该也不用破解,只是我找不到相关的通用协议文件,没办法只能一边破解一边等待专业人士指点。。
另外,你说的那个01 0c是具体报文数据,那么这个ID是多少呢?什么文件规定的呢?请指教

回复

使用道具 举报

51

主题

2165

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10627
金钱
10627
注册时间
2017-4-14
在线时间
2778 小时
发表于 2020-3-23 17:25:48 | 显示全部楼层
本帖最后由 nashui_sx 于 2020-3-23 17:28 编辑
骑着毛驴数星星 发表于 2020-3-23 17:02
你说的这个发动机转速的获取方式是查询的吧?我上面分析的那个是只接受数据就行的,不干预正常通讯。
说 ...

请求是0x7DF   回复是0x7E8  obd全部通用    上面的-5里面有 不过数据种类不多
can 发    0x7DF      8     02 01 pid  []    [] [] [] []
车辆就会返回 0x7E8  +数据用上面-5文件解析就好了
回复

使用道具 举报

2

主题

19

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2020-2-17
在线时间
8 小时
 楼主| 发表于 2020-3-23 17:56:53 | 显示全部楼层
nashui_sx 发表于 2020-3-23 17:25
请求是0x7DF   回复是0x7E8  obd全部通用    上面的-5里面有 不过数据种类不多
can 发    0x7DF      8  ...

非常感谢。
那么这个7DF和7E8是什么文件里规定的?我搜索-5没搜到,是所有的诊断协议都是用这两个ID吗?只是PID改变下?
另外那些不用查询就有的报文,也就是我开贴发出来的那些报文是哪个协议里规定的呢?
回复

使用道具 举报

51

主题

2165

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10627
金钱
10627
注册时间
2017-4-14
在线时间
2778 小时
发表于 2020-3-23 18:35:19 | 显示全部楼层
骑着毛驴数星星 发表于 2020-3-23 17:56
非常感谢。
那么这个7DF和7E8是什么文件里规定的?我搜索-5没搜到,是所有的诊断协议都是用这两个ID吗? ...

超强诊断ISO 15765-3     OBD普通诊断ISO 15765-4  里面都有介绍7DF和7E8

没请求就发的属于超强诊断ISO 15765-3  OBD普通诊断必须是请求应答形式
回复

使用道具 举报

2

主题

19

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2020-2-17
在线时间
8 小时
 楼主| 发表于 2020-3-23 21:11:05 | 显示全部楼层
nashui_sx 发表于 2020-3-23 18:35
超强诊断ISO 15765-3     OBD普通诊断ISO 15765-4  里面都有介绍7DF和7E8

没请求就发的属于超强诊断IS ...

感谢科普,学习了,我先搜搜这两个标准学习下
回复

使用道具 举报

2

主题

19

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2020-2-17
在线时间
8 小时
 楼主| 发表于 2020-3-24 10:24:44 | 显示全部楼层
quanyu520 发表于 2020-3-22 21:04
这是总线数据 没意义

这里面有发动机转速和车速等等信息的,很有用的啊,接个HUD之类的玩玩还是不错的
回复

使用道具 举报

38

主题

195

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1161
金钱
1161
注册时间
2015-11-9
在线时间
245 小时
发表于 2020-7-2 16:48:05 | 显示全部楼层
骑着毛驴数星星 发表于 2020-3-24 10:24
这里面有发动机转速和车速等等信息的,很有用的啊,接个HUD之类的玩玩还是不错的

请问,获取转速信息需要发送指令吗?转速信息的ID是什么?得到数据后又是怎么计算具体转速的值的呢?
回复

使用道具 举报

0

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2020-8-2
在线时间
20 小时
发表于 2021-8-1 11:34:48 | 显示全部楼层
nashui_sx 发表于 2020-3-23 12:42
obd转发的诊断协议数据都是通用的,直接接收固定地址id 用pid解析就好了   非诊断协议的没有厂家的dbc文 ...

谢谢分享
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2019-10-20
在线时间
2 小时
发表于 2021-10-6 20:36:07 | 显示全部楼层
你需要收集ID矩阵一般车厂有的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-5-29 07:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表