OBD
文章平均质量分 65
jianxuezixuan
这个作者很懒,什么都没留下…
展开
-
SAE J1939协议读取车辆故障码
基于SAE J1939协议的车辆,默认开启数据广播。当有故障码时,也会按照故障码的格式进行广播。此处基于外设主动:读取故障码个数->读取故障码->故障码解析 这个步骤来讲,如果被动接收故障码广播,如下解析也适用。根据故障码个数分如下几种情况:一、单个故障码时读取故障码个数:请求:18EA00F9 CE FE 00响应:18FECE00 01 00 09 02 05 05 05 05根据SAE J1939-73协议,解析响应如下:01:当前激活故障码个数为1;00:历史故障码个原创 2022-04-24 17:46:35 · 6322 阅读 · 4 评论 -
获取车辆VIN等OBD信息
获取车辆如下OBD信息:VIN:Vehicle Identification NumberCALID:Calibration IdentificationsCVN:Calibration verification number一、SAE J1939协议通过请求 CALIBRATION INFORMATION (DM19),获取CVN和CALID。发送请求:18EA00F9 00 D3 00应答:18EC0000 10 14 00 03 FF 00 D3 00数据,BYTE1=0x10,表明原创 2022-04-20 17:48:29 · 8386 阅读 · 12 评论 -
读取WWH-OBD(ISO27145协议)数据流
ISO27145协议使用两字节的数据标识符DID;下图显示了如何基于SAE J1979-DA规范定义2字节数据标识符和例程标识符。2字节数据标识符DID的“低字节”来源于SAE J1979-DA定义的1字节标识符(PID)。2字节数据标识符DID的“高字节”在ISO 14229-1中定义。常用的OBD数据流DID如下:...原创 2022-04-19 16:44:01 · 5091 阅读 · 4 评论 -
读取ISO15031协议数据流
一、ISO15031协议所有与排放相关的OBD ECU,如果至少支持ISO 15031中定义的一种服务,则应支持服务0x01和PID:0x00。服务0x01和PID:0x00被定义为所有与排放相关的OBD ECUs的通用“initialization/keep alive/ping”消息。 1、设备先按照11位CAN-ID(0x7DF)去请求,看车辆是否支持,如果支持的话,有哪些数据流可以获取。OBD外接测试设备初始化确定波特率设置好波特率后,请求如下:7DF 02 01 00 00 00 0原创 2022-04-13 16:11:22 · 2372 阅读 · 2 评论 -
读取SAE J1939协议数据流
使用SAE J1939协议的车辆,大多是广播消息。测试设备端设置好波特率及过滤ID,接收数据,并按照SAE J1939-71分析。 SAE J1939协议消息CAN-ID为29位,其组成如下图所示:根据需要接收的消息项,设置过滤ID或者全部接收。根据SAE J1939-21,数据段范围为0-1785字节,即消息广播分为单帧和多帧。下面举例说明。 1、单帧 如接收发动机转速消息,参考SAE J1939-71,其PGN为0xF004(61444),数据长度为8字节,单帧即可传输完。过滤ID可.原创 2022-04-11 16:28:21 · 2167 阅读 · 0 评论 -
OBD外接测试设备初始化判断协议类型(SAE J1939/ISO15765/ISO27145)
OBD外接测试设备初始化外接设备初始化流程如下:1、常用波特率为250 kBit/s和500 kBit/s。2、由于SAE J1939为主动的消息广播,只需要接收。可以使用发动机转速(PGN为0xF004)来判断。广播数据量大,通过CAN-ID过滤的方式来接收。SAE J1939只使用扩展帧格式,因此过滤ID可设置为0x00F00400,掩码设置为0x00FFFF00。判断是否接收到发动机转速广播。3、...原创 2022-04-11 11:06:44 · 2914 阅读 · 0 评论