logo资料库

ISO15031协议9种模式详解.pdf

第1页 / 共33页
第2页 / 共33页
第3页 / 共33页
第4页 / 共33页
第5页 / 共33页
第6页 / 共33页
第7页 / 共33页
第8页 / 共33页
资料共33页,剩余部分请下载后查看
15031-5中描述的关于OBD输出信息的9种模式 1, 请求动力系当前数据 2, 请求冻结帧数据 3, 请求排放相关的动力系诊断故障码 4, 清除/复位排放相关的诊断信息 5, 请求氧传感器监测测试结果 6, 请求非连续监测系统OBD测试结果 7, 请求连续监测系统OBD测试结果 8, 请求车载系统,测试或者部件 9, 读取车辆和标定识别号 在CAN通讯中的使用 1. 请求动力系的当前数据 1) 第一步: 在请求具体PID之前,应该发一些探测该ECU支持哪些PID的指令: 描述 十六进制数值 SID 01 用来查询在$00~$20之间支持PID的PID 00 用来查询在$21~$40之间支持PID的PID 20 用来查询在$41~$60之间支持PID的PID 40 用来查询在$61~$80之间支持PID的PID 60 用来查询在$81~$A0之间支持PID的PID 80 用来查询在$A1~$C0之间支持PID的PID A0 回应:如果发送的消息为-$02 01 00 FF FF FF FF FF 描述 十六进制数值 #2:SID 01 #3:PID 00 #4:PID$01~08 Supported BF表示支持01,03~08 #5:PID$09~10Supported BF表示支持09,0B~10 #6:PID$11~08Supported A8表示支持11,13,15 #7:PID$09~20Supported 91表示支持19,1C,20 在请求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) 第二步 在第一步之后就可以请求支持的PID了。 在一个请求消息帧中,最大可以请求6个PID,通常情况下,请求的数据可能来自不同的ECU,如果用物理寻址分别请求不方便,不如功能寻址,直接从不同的ECU中拉取数据。 在返回消息中,可以根据在PID后面的数据是占ByteA,还是ByteA+B来断句,翻译出返回的数据,也可以一个请求消息中只有一个PID,但这样需要6条CAN消息去请求,6条接收。
2. 请求冻结帧数据 在请求冻结帧数据时,依然需要知道请求的冻结帧中支持的PID,然后再去在该冻结帧中请求数据,请求支持的数据的格式: 参数名 Hex数值 请求冻结帧服务SID 02 PID#1(如00,10,20等) XX 帧序号Frame# XX PID#2 XX 帧序号Frame# XX PID#3 XX 帧序号Frame# XX 可以只请求PID#1,不需要把8个字节都填满,每帧CAN消息因此最大只能请求3个CAN。 请求支持数据的消息帧的响应格式: 参数名 Hex数值 请求数据的响应SID 42 第一个支持的PID部分 00 帧序号 XX DataA:supported PIDs XX DataB:supported PIDs XX DataC:supported PIDs XX DataD:supported PIDs XX …… …… 第N个支持的PID部分 80 DataA:supported PIDs XX DataB:supported PIDs XX DataC:supported PIDs XX DataD:supported PIDs XX 具体支持哪些PID的算法和$01(SID)一样。 在知道冻结帧支持哪些PID后就可以请求数据了。 但是首先还是应该去请求引发冻结帧的DTC。此步骤在请求冻结帧数据之前必须进行,否则有可能请求不到数据,请求DTC的PID是$02。 描述 Hex数值 请求动力系冻结帧服务SID 02 请求故障码DTC 02 帧序号Frame# XX 回应消息: 描述 Hex数值 请求动力系冻结帧服务正响应SID 42 请求故障码服务PID 02 帧序号Frame# XX DTC高字节 DTC低字节 XX XX 在请求故障码后,可以请求冻结帧数据。
描述 Hex数值 请求冻结帧数据服务SID 02 PID:Engine Speed 0C 帧序号Frame# 00 PID:Engine Coolant Temp 05 帧序号Frame# 00 …… …… 回应消息: 描述 Hex数值 请求冻结帧数据积极响应 42 PID:Engine Speed 0C 帧序号 00 高字节Engine Speed(2080Rpm) 低字节Engine Speed(2080Rpm) 20 80 PID:Engine Coolant Temp 04 帧序号 00 Engine Coolant Temp:0℃ 28 …… …… 如果在ECU中没有储存冻结帧,那么在请求故障码的那部会返回0000这样的故障码。 3. 请求动力系相关的故障码(即PXXXX) 请求动力系故障码的SID为$03 回应消息: 描述 Hex数值 与排放相关的故障码返回正响应SID 43 在ECU中储存的DTC数量 03 DTC高字节P0143 DTC低字节P0143 01 43 DTC高字节P0196 DTC低字节P0196 01 96 DTC高字节P02CD DTC低字节P02CD 02 CD 4. 清除/重置和排放相关的故障信息 服务SID为$04 正响应是$44 5. 请求氧传感器监测测试结果 6. 请求非连续监测系统OBD测试结果 这项服务的目的是获得某些部件/系统的车载诊断结果,比如催化器诊断和蒸发系统监测测试结果。 厂家负责对不同的系统和部件分配一个测试ID (TID)和部件ID (CID)。最后一次测试结果会被保存到得到了新的结果可以替代,中间既使多次熄火也不会丢失这些信息。测试结果通过TID来请求,每条测试结果代表一个TID/CID组合。测试结果是一个无符号的正数。每条测试结果只有一个限值,既可能是上限,也可能是下限。如果上下限值都要被输出的话,它们必须分作两条输出。这项服务也可以用于
输出模式5中氧传感器的测试结果。 模式6中输出的信息也是某个部件或系统的监测结果。每条信息对应一个测试标示(Test ID),信息中也包含测试值、最大值和最小值。模式6同模式5有以下不同: 模式6中的TID由厂家定义,只需要遵循15031–5中定义的格式输出即可。不同的厂家可能使用不同的TID定义,因此必须了解相应的定义才能解读。 模式6中一个TID可能有多个测试结果,每个测试结果对应不同的指标,通过CID来区分。 模式6中的测试结果只能是正数,多是一个无单位的指标。 模式6中每条结果(TID/CID)只能指明一个边界值,比如如果想输出某个测试结果以及其正常值的最大和最小两个边界,那么必须通过两条信息分别输出。 首先要请求支持哪些OBDMID。 参数名 Hex数值 请求OBD监测服务的SID 06 OBD-MID XX OBD-MID XX OBD-MID XX …… …… 以上的MID为$00,$20等等。 参数名 Hex数值 请求OBD监测服务的正响应SID 46 1st支持的OBDMID DataA支持的MIDs DataB支持的MIDs DataC支持的MIDs DataD支持的MIDs XX XX XX XX …… …… Nst支持的OBDMID Data A支持的MIDs Data B支持的MIDs Data C支持的MIDs Data D支持的MIDs XX XX XX XX …… …… 查询过支持的MID后,可以进行该项服务。 参数名 Hex数值 请求OBD监测服务SID 06 所需要监测的MID XX 响应: 参数名 Hex数值 请求OBD监测服务的正响应SID 46 OBDMID S/M 定义的TID DASID Test Value高字节 XX XX XX XX
Test Value低字节 Min Test Limmit高字节 Min Test Limmit低字节 Max Test Limmit高字节 Max Test Limmit低字节 XX XX XX XX XX …… …… OBDMID S/M 定义的TID DASID Test Value高字节 Test Value低字节 Min Test Limmit高字节 Min Test Limmit低字节 Max Test Limmit高字节 Max Test Limmit低字节 XX XX XX XX XX XX XX XX XX 表: 标准化的测试ID描述 范围(Hex) 描述 00 ISO/SAE reserved ISO/SAE保留 01 Lean to rich sensor threshold voltage (constant) 从稀到浓传感器阀值电压(常数) 02 Lean to rich sensor threshold voltage (constant) 从浓到稀传感器阀值电压(常数) 03 Low sensor voltage for switch time calculation (constant) 进行切换时间计算的传感器低电压(常数) 04 High sensor voltage for switch time calculation (constant) 进行切换时间计算的传感器高电压(常数) 05 Rich to lean sensor switch time (calculated) 从浓到稀传感器的切换时间(计算值) 06 Lean to rich sensor switch time (calculated) 从稀到浓传感器的切换时间(计算值) 07 Minimum sensor voltage for test cycle (calculated) 测试循环中的最小传感器电压(计算值) 08 Maximum sensor voltage for test cycle (calculated) 测试循环中的最大传感器电压(计算值) 09 Time between sensor transitions (calculated) 传感器切换之间的时间(计算值) 0A Sensor period (calculated) 传感器周期(计算值) 0B 最后10个驾驶循环中的EWMA(指数加权滑动平均)失火次数(计算值,取整) 一般EWMW计算: 0,1 * (当前失火次数) + 0,9 * (之前的失火次数平均值)
(以前失火次数均值)初值 = 0 注:ECU内部计算的寄存器必须使用并保持高于1的精度来计算$0B和$0C以避免取整误差. 如果不是这样的话,这些寄存器在失火停止之后就再也无法计算回到0. 这些计算必须在高精度的寄存器中,向最近整数取整的结果输出到$0B和$0C. High_Precision_EWMA_Misfire_Counts current = Rounded [(0,1) * High_Precision_Misfire_Counts current + (0,9) * High_Precision_EWMA_Misfire_Counts previous] 其中:取整运算为向最近的整数取整. 高精度的数值(小数位)不输出,仅为内部计算使用. 这个测试ID应该通过OBD监测ID $A2 — $AD和换算ID $24来输出. 0C Misfire counts for last/current driving cycles (calculated, rounded to an integer value) 上一个/当前驾驶循环中的失火次数(计算值,取整) 0D-0F Reserved for future standardization 为未来的标准化保留 表: 厂家定义测试ID描述 范围(Hex) 描述 80-FE Manufacturer Defined Test ID range — This parameter is an identifier for the test performed within the On-Board Diagnostic Monitor. 厂家定义的测试ID范围 — 这个参数是一个在车载诊断检测功能中进行的测试的标识号. FF ISO/SAE reserved ISO/SAE保留 第一步:请求支持的OBD MID 第二部:请求当前的动力系诊断数据(SID$01,PID$01) 第三步:请求OBD监测系统的监测信息。 描述 Hex数值 请求监测系统监测信息服务的SID 06 OBD MID:01-氧传感器部分-传感器1 01 响应: 描述 Hex数值 OBD监测测试结果积极响应 46 OBDMID:OxygenB1-Sensor-1 标准TID:01 Unit And Scaling ID:V Test Value 高位: Test Value 低位:0,365V 01 01 0A 0B B0
Min Test Limit高位: Min Test Limit低位:0,365V Max Test Limit高位: Max Test Limit 低位:0,365V 0B B0 0B B0 OBDMID:OxygenB1-Sensor-1 标准TID:05 Unit And Scaling ID:Time Test Value 高位: Test Value 低位:0,072s Min Test Limit高位: Min Test Limit低位:0,000s Max Test Limit高位: Max Test Limit 低位:0,100s 01 05 10 00 48 00 00 00 64 OBDMID:OxygenB1-Sensor-1 制造商定义TID:133 Unit And Scaling ID:Counts Test Value 高位: Test Value 低位:150 Counts Min Test Limit高位: Min Test Limit低位:75 Counts Max Test Limit高位: Max Test Limit 低位:65535 Counts 01 85 24 00 96 00 4B FF FF MID定义: OBDMID(Hex) On-Board Diagnostic Monitor ID name 00 OBD Monitor IDs supported ($01 - $20) 01 Oxygen Sensor Monitor Bank 1 - Sensor 1 02 Oxygen Sensor Monitor Bank 1 - Sensor 2 03 Oxygen Sensor Monitor Bank 1 - Sensor 3 04 Oxygen Sensor Monitor Bank 1 - Sensor 4 05 Oxygen Sensor Monitor Bank 2 - Sensor 1 06 Oxygen Sensor Monitor Bank 2 - Sensor 2 07 Oxygen Sensor Monitor Bank 2 - Sensor 3 08 Oxygen Sensor Monitor Bank 2 - Sensor 4 09 Oxygen Sensor Monitor Bank 3 - Sensor 1 0A Oxygen Sensor Monitor Bank 3 - Sensor 2 0B Oxygen Sensor Monitor Bank 3 - Sensor 3 0C Oxygen Sensor Monitor Bank 3 - Sensor 4 0D Oxygen Sensor Monitor Bank 4 - Sensor 1 0E Oxygen Sensor Monitor Bank 4 - Sensor 2 0F Oxygen Sensor Monitor Bank 4 - Sensor 3 10 Oxygen Sensor Monitor Bank 4 - Sensor 4 11–1F ISO/SAE reserved 20 OBD Monitor IDs supported ($21 - $40) 21 Catalyst Monitor Bank 1
22 Catalyst Monitor Bank 2 23 Catalyst Monitor Bank 3 24 Catalyst Monitor Bank 4 25–30 ISO/SAE reserved 31 EGR Monitor Bank 1 32 EGR Monitor Bank 2 33 EGR Monitor Bank 3 34 EGR Monitor Bank 4 35–38 ISO/SAE reserved 39 EVAP Monitor (Cap Off) 3A EVAP Monitor (0,090′’) 3B EVAP Monitor (0,040′’) 3C EVAP Monitor (0,020′’) 3D Purge Flow Monitor 3E-3F ISO/SAE reserved 40 OBD Monitor IDs supported ($41-$60) 41 Oxygen Sensor Heater Monitor Bank 1 - Sensor 1 42 Oxygen Sensor Heater Monitor Bank 1 - Sensor 2 43 Oxygen Sensor Heater Monitor Bank 1 - Sensor 3 44 Oxygen Sensor Heater Monitor Bank 1 - Sensor 4 45 Oxygen Sensor Heater Monitor Bank 2 - Sensor 1 46 Oxygen Sensor Heater Monitor Bank 2 - Sensor 2 47 Oxygen Sensor Heater Monitor Bank 2 - Sensor 3 48 Oxygen Sensor Heater Monitor Bank 2 - Sensor 4 49 Oxygen Sensor Heater Monitor Bank 3 - Sensor 1 4A Oxygen Sensor Heater Monitor Bank 3 - Sensor 2 4B Oxygen Sensor Heater Monitor Bank 3 - Sensor 3 4C Oxygen Sensor Heater Monitor Bank 3 - Sensor 4 4D Oxygen Sensor Heater Monitor Bank 4 - Sensor 1 4E Oxygen Sensor Heater Monitor Bank 4 - Sensor 2 4F Oxygen Sensor Heater Monitor Bank 4 - Sensor 3 50 Oxygen Sensor Heater Monitor Bank 4 - Sensor 4 51–5F ISO/SAE reserved 60 OBD Monitor IDs supported ($61 - $80) 61 Heated Catalyst Monitor Bank 1 62 Heated Catalyst Monitor Bank 2 63 Heated Catalyst Monitor Bank 3 64 Heated Catalyst Monitor Bank 4 65–70 ISO/SAE reserved 71 Secondary Air Monitor 1 72 Secondary Air Monitor 2 73 Secondary Air Monitor 3 74 Secondary Air Monitor 4 75–7F ISO/SAE reserved
分享到:
收藏