ELM327 监控所有 - CAN 报文长度不是 8 字节



标准 CAN (ISO 15765-4( OBD 要求所有消息都有 8 个数据字节 - (ELM327 文档(

使用蓝牙 ELM327 从我的车上读取,我收到的消息长度并非全部为 8 个字节。

这是配置:

AT Z    # Reset
AT D    # Default
AT SP 6 # Set Protocol
AT CFC1 # Flowcontrol
AT D1   # Show DLC
AT AL   # Allow long messages
AT H1   # Show headers
AT CAF0 # Disable Formatting
AT L0   # Disable linefeeds
AT S0   # Remove whitespace

输出 :

Command: AT MA
17A8FFFFFFAA00F031A3
17E8FFFFFF00FF4000FF
186719503203200020
0C6880637FFF800E8E82
2BC8948641FD03891D73
18A6FFF000064000
1F68DE20003700FFFFFF
1F88F504826FFE000A0D
391600008000C000
12E8C77FFF7FE0FFFF00
24270200FFEFFE000C
29C800000000FFFF0000
35245C000000
130800286FFE009FFECD
17A8FFFFFFAA00F031A3
17E8F
BUFFER FULL

在这里,大多数消息都是正确的(3 字节 ID + 1 字节 DLC + 8 字节数据(,但有些消息更短,有时我会收到更长的消息。这些正常吗?如果没有,有什么想法可能来自哪里?

确实,所有与 OBD 相关的(即标准化(消息都有 8 个字节的数据。 但是,您发布的跟踪不包含任何OBD消息。

OBD 报文的 CAN ID 介于 0x7DF 和 0x7EF 之间

输出中的消息似乎是其他(特定于制造商的(CAN消息。制造商可以自由定义这些消息的格式,因此允许少于 8 的 DLC。

这个侦听OBDII可以协议的样本:

idv: 0 exID: 80012CC ID: 580 DLC: 08 DATA: 00  00  00  00  00  00  00  00 
idv: 0 exID: 80012CC ID: 316 DLC: 08 DATA: 01  1E  AC  09  1E  1C  00  5E 
idv: 0 exID: 80012CC ID: 0A1 DLC: 08 DATA: 78  7F  00  00  1D  00  00  00 
idv: 0 exID: 80012CC ID: 580 DLC: 08 DATA: 00  00  00  00  00  00  00  00 
idv: 0 exID: 80012CC ID: 545 DLC: 08 DATA: 80  00  00  8A  00  00  00  00 
idv: 0 exID: 80012CC ID: 316 DLC: 08 DATA: 01  1E  AC  09  1E  1C  00  5E 
idv: 0 exID: 80012CC ID: 580 DLC: 08 DATA: 00  00  00  00  00  00  00  00 
idv: 0 exID: 80012CC ID: 545 DLC: 08 DATA: 80  47  00  8B  00  00  00  00 
idv: 0 exID: 80012CC ID: 580 DLC: 08 DATA: 00  00  00  00  00  00  00  00 
idv: 0 exID: 80012CC ID: 7DF DLC: 08 DATA: 02  01  0C  00  00  00  00  00 
idv: 0 exID: 80012CC ID: 7E8 DLC: 08 DATA: 04  41  0C  09  9C  00  00  00 
idv: 0 exID: 80012CC ID: 580 DLC: 08 DATA: 00  00  00  00  00  00  00  00 
idv: 0 exID: 80012CC ID: 545 DLC: 08 DATA: 80  00  00  8A  00  00  00  00 
idv: 0 exID: 80012CC ID: 316 DLC: 08 DATA: 01  1E  98  09  1E  1C  00  5E 
idv: 0 exID: 80012CC ID: 580 DLC: 08 DATA: 00  00  00  00  00  00  00  00 
idv: 0 exID: 80012CC ID: 545 DLC: 08 DATA: 80  00  00  8B  00  00  00  00 
idv: 0 exID: 80012CC ID: 545 DLC: 08 DATA: 80  00  00  8B  00  00  00  00 
idv: 0 exID: 80012CC ID: 580 DLC: 08 DATA: 00  00  00  00  00  00  00  00  

每个传感器模块和...使用可以有线相互传输数据

但这里是用于读取 RPM 的 ELM327 发送和接收数据包

idv: 0 exID: 80012CC ID: 7DF DLC: 08 DATA: 02  01  0C  00  00  00  00  00 
idv: 0 exID: 80012CC ID: 7E8 DLC: 08 DATA: 04  41  0C  09  9C  00  00  00 

如您所见,数据包的DLC始终为8个字节,例如CAN协议的FIRS数据位是该数据包中的数据字节数

数据: 02 01 0C 00 00 00 00 00 数据字节数 =02 数据 = 01 0C(转速读数命令(

最新更新