Service Implement
Diagnostics Service List
--21319:本项目不支持上述服务中的3D
--21320:11、28支持服务
--3072:对于功能寻址
1.如果ECU不支持请求SID,ECU不响应
2.如果ECU支持请求SID,但不支持请求,则ECU不响应
3.如果ECU支持SID,但不支持DID,则ECU将不响应
--3073:在所有非默认会话中,系统应支持默认诊断会话中支持的所有服务和子功能。
ECU Information
Message Format
--3079:如果诊断消息未占用所有字节,则应使用十六进制0xAA填充剩余的数据字节。
--4708:ECU应始终忽略CAN报头控制字段中的数据长度代码未固定未上述定义字节的诊断帧
--3080:ECU应定期发送响应代码为NRC78的否定响应消息,直到请求的服务完成并发送最终响应消息。
--3081:如果ECU发送NRC78,P2服务器时间讲延长(超时计时器重置)但是,在最终响应消息超时之前,允许的最大总时间为P2Server_max。
Communication Parameter
--3087:系统应符合诊断服务通信的 UDS协议
--3088:系统应实现启用或禁用CCP和XCP的选项
--3089:系统应支持应用/功能的UDS服务
--3090:系统应支持使用XCP监控内部变量值
注:XCP可根据需要用于监控开发过程中所需的性能变量
--3091:系统应支持应用/功能的UDS服务
--3092/4707:系统应考虑CAN通讯中的物理/功能寻址能力
Basic Service Configurations
0x10 session control
--诊断应提供根据UDS服务0x10请求安全会话的能力。其应提供一下子服务
--3108:如果子功能参数不受支持,诊断服务0x10应发送NRC0x12(子功能不受支持/SFNS)
--3095:请求默认会话的子服务
--3096:请求刷新默认会话的子服务
--3098:请求OEMSession,的子服务
NOTE:软件实现子服务,但不是客户要求的
--3109:如果消息长度错误,诊断服务x10应发送NRC 0x13(不正确的消息长度或不正确的验证格式/IMLOIF)
--3111:诊断服务0x10应发送RNC 0x7E,以请求当前会话中不支持的子服务参数
--21910:如果预条件检查发动机正在运行,诊断服务0x10 02应发送RNC 0x83
--21911:如果预条件检查车速过高,诊断服务0x10 02应发送NRC 0x83
Other Requirements
--3115:服务器通电或重置后,服务器应处于默认会话状态,无需使用特定服务
--3116:当服务处于“默认会话”并接收到10 01/10 03/60/6A/6B时服务器应保持“默认会话”或跳转到扩展会话/ZF EOLSession/Compressed HIL SEssion/Symhetic HLL Sessed 并有正响应
--3117:当服务器处于非默认会话且收到10 01请求或S3Server超时
或ECU重置时,服务器应转换为“默认会话”
--3118:当服务器处于“扩展会话”并接收到10 03或10 01/02时,服务器应保持在“扩展会话”或转储到默认会话,并有正响应。
--3119:当服务器处于:“ZF EOL session”并收到10 06或10 01时服务器应保持在“ZF EOL session”或转到“扩展会话”,并有正响应
--3120:当服务器处于“Compresed HIL Session”(6A)中并收到10 6A或10 01时服务器应保持在“Compresed HIL Session”中转储到默认会话,并有正响应
--3121:当服务器处于“Synthetic HIL Session”并接收到10 6B或10 01时,服务器应保持在Synthetic HIL Session或转储到默认会话,并没有正响应。
--2140:只有在下列条件被验证为“真”时,编程会话的更改才会成功
1.车速<4公里/每小时
2.没有应用软件
--21411:在下列条件下,编程前提条件被视为满足或正确
1.用于编程前置条件的相关信号缺失或无效
2.没哟应用软件
--21412:10 02检查的前置条件在APPL中完成,如果前置条件检查失败,NRC应在APPL中响应;如果前置条件检查通过,应首先进入BootLoader,然后在BOOT中发送肯定响应。
--21473:系统应仅在ZF EOL模式下运行与下述射频校准相关的服务。
--21474:系统应在ZF Session,会话标识符0x10会话0x61中执行校准过程。
--21475:如果会话转到ZF EOL Session会话成功,系统应作出肯定响应
0x11 reset ECU
--21427:在ECU中执行复位操作之前,应发出ECUReset肯定响应消息
--21428:如果操作应在ECU收到消息后100ms内执行
--21429:如果正在执行关键操作,则系统应不符合重置要求
Note:例如,写入NV内存
--21430:应存储在非易失性存储器中的数据的存储操作,必须在执行任何类型的重重置操作之前完成
Requestrian formart
--3131:Byte No Parameter Name Message Usage Data Value
1 ECU重置请求SID M 11
2 子函数 M
Hard Reset 01
Soft Reset 03
--21431:01-硬复位应符合“通电”要求,易失性和非易失性存储器将被重新初始化
03-软复位应能保护易失性和非易失性数据,并重启应用程序执行。
0x14 clear DTC
诊断应提供根据UDS服务0x14清除DTC的能力,应能够清除所有主要DTC或特定DTC。
-- 3138:DTC信息通过该服务清除,包括担心不限于一下内容:
-DTC状态字节
-捕获的DTC快照数据
-捕获的DTC扩展数据
-其他DTC相关数据,如相对标志,计数器,计时器
--3139:如果此服务的执行时间长于P2CAN_服务器MAX,系统将像处理“长”请求一样处理次服务(使用NRC$78)
-Remark:此处,P2CAN服务器_MAX在DG_UDS_GENMECH_40(PSAX8cam/DFPV_G35_MUlTi_Lane)中定义为120ms
--21460:系统应具有一项规定,以在要求是清除故障管理处理的所有特定错误。
Request format
0x19 read DTC information
DTC status mask definition
--3149:如果客户端指定的DTC Status Mask包括服务器不支持的位,则服务器应使用其他支持的位处理DTC信息
--3150:TDC Status Mask status 和DTCtatus Availability Mask的位根据
--3151:Bit Description
0 测试失败
“0”=TDC测试的最新结果表明未检测到故障
“1”=DTC测试的最新结果表明存在成熟的故障结果
0x14服务成功后的位状态应为“0”
1 测试失败此操作周期
“0”=testFailed:当前操作周期内或者在当前操作内调用0x14
“1”=testFailed:在当前操作周期中至少报告了一次结果
0x14服务成功后的位状态应为“0”
2 待定的DTC
“0”=测试已完成,且在完成了一个运行周期后未检测到任何故障
“1”=在当前运行周期内完成测试并检测到故障
0x14服务成功后的位状态应为“0”
3 确认的DTC
“0”=自从上次调用0x14或在满足DTC的老化标准后,DTC从未被确认
“1”=自从上次调用0x14以来至少确认了一次DTC,但尚未满足老化标准
0x14服务成功后的位状态应为“0”
4 测试未在最后清除是完成
“0”=自上次调用0x14以来,DTC测试已至少返回一次通过或失败的测试结果
“1”=自上次调用0x14以来,DTC测试尚未运行到完成
0x14服务成功后的位状态应为“0”
5 测试失败,请清除
“0”=自上次调用0x14以来,DTC测试未显示失败结果
“1”=DTC测试尚未运行以完成此操作循环
0x14服务成功后的位状态应为“0”
6 测试未完成比操作循环
“0”=DTC测试在当前驾驶循环期间返回了通过或测试失败的操作循环=“1”结果
“1”=DTC测试尚未运行的完成此操作循环
0x14服务成功后的位状态应为“1”
7 警告指示请求
“0”=服务器未请求Warninglndicator处于活动状态
“1”=服务器正在请求Warninglndicator处于活动状态(警告指于可能包括指示灯,显示的文本信息)
0x14服务成功后的位状态应为“0”
--21462:请求服务器未使用的状态设置为“0”
--3154:如果客户端指定的DTCStatusMask包含服务器不支持的位,则服务器仅使用其支持的位来处理DTC信息。
-请求讲服务器未使用的状态设置为零
subservice ID = 0x01
报告通过状态掩码过滤的DTC数量的子服务
--21824:DTCFormatidldentifier参数仅使用值0x01,该参数识别ISO 14229-1中定义的ECU报告的DTC格式
subservice ID = 0x04
--21830:关于“电源电压”值,参考DID-0112
关于“里程表读数”,参考DID-E101
关于“电源模式”,参考DID-D001
关于“数据和时间”值,请参考DID-010B
--21825:有关“来自CCP的无效数据”值,请参阅DID-B090
有关“来自SCS的无效数据”值,请参阅DID-B091
有关“来自ECM的无效数据”值,请参阅DID-B093
有关“来自 EPS的无效数据”值,请参阅DID-B095
有关“来自车身控制模块的无效数据”值,请参阅DID-B09B
有关“来自VCU的无效数据”值,请参阅DID-B0A2
有关“来自FDR内部故障状态(MCU)”值,请参阅DID-B03B
有关“来自FDR内部故障状态(RF)”值,请参阅DID-B03C
subservice ID = 0x06
--3180:DTCxtDataRecordNumber应为DTC合格计数器,以SW计。其定义为:snapshotData=[0x00,0xFF],分辨率为1,偏移量为0,因此物理值=[0255];
-Note:如果计数器达到最大值0xFF,即使DTC再次合格,也应保持该值不变
0x22 read data by identifier
诊断应提供根据UDS服务0x22从ECU读取识别数据的能力。其应提供一下子服务
--21449:请求消息应包括一(1)个或多个双字节数据标识符。肯定响应消息的长度与dataldentifier参数值引用的数据大小有关。
--21450:一次允许请求的最大数据标识符数量应确定如下:
a)如果是物理请求,最大数量为8;
b)如果是功能请求,最大数量为3.
--21822:当接收到ReadDataByldentifier请求,ECU负责知道与请求的数据标识符相对应的地址位置和块长度,并在一个ReadDataByldentifier肯定响应中将其值发送给测试仪。
Negative response format
--21827:仅当响应代码为0x22时,才会附加specificCauseCode参数,以确定ECU拒绝测试仪发送的请求消息的具体原因。
-如果VIN被锁定,specificCauseCode=01仅适用于SID-2EF190
Logistic data
--F100:
-SVIF记录所有ECU软件模块的SVN。SVN用于验证ECU软件模块的完整性。
-SVN用于验证ECU软件模块的完整性。软件模块更新后,应重新计算相关SVN,并将其存储在非易失性存储器中。
-当诊断服务请求是,系统应读取软件验证信息
--F110:
-读取F110应始终返回最后写入的PIF。
-当诊断服务请求时,系统应读取当前快的编程信息
--F111~F11F:
-F111-F11F是用于存储PIF字段的块。F111-F11F的定义与F110相同。
-当诊断服务请求时,系统应读取特定模块的编程信息
--F120:
-当通过诊断服务请求时,系统应读取工厂数据的网络信息。
--F121:
-不得覆盖工厂数据。如果网络配置从未改变,则当前数据应与工厂数据相同。
-当服务诊断请求时,系统应读取当前数据的网络信息
--F183:
-当服务诊断请求时,系统应读取引导软件指纹
-Note:该值在版本索引中定义。PTC中的文件位置:URL:.....
--F187:
-当诊断服务要求时,系统应返回车辆制造商备件号
--F18A:
-通过诊断服务请求时,系统应返回系统提供应商标识符
--F190:
-当通过诊断服务请求时,系统应能够读取VIN号
--F191:
-当通过诊断服务请求时,系统应能够读取ECU硬件编号
--F198:
-系统应能够在诊断请求时读取配置课追溯性字段
--F1A0
-当通过诊断服务请求时,系统应能够读取ECU应用软件编号。
--F1A1:
-当通过诊断服务请求时,系统应能够服务ECU校准软件编号。
--F1A2:
-当通过诊断服务请求时,系统应能够读取ECU NCF参考号
--F1A5:
-当通过诊断服务请求时,系统应能够读取ECU索引信息。
--F1A8:
-当通过诊断服务请求时,系统应能够读取车辆特征信息。
--F1A9:
-当通过诊断服务请求时,系统应能够读取ECU配置文件号。
--F1AA:
-当通过诊断服务请求时,系统应能够读取ECU编程过程文件号
Intemal parameter data
--B036:当诊断服务要求时,系统应读取系统温度值
--B037:通过诊断服务请求时,系统应读取ReadECUTemperature
--B038:当通过诊断服务请求时,系统应能够读取激活的诊断会话
--B045:当通过诊断服务时,系统应能够读取FDR SW不匹配代码
Note:此DID与EVENT_FDRSoftwareVersionMitch有关
--B052:当通过诊断服务请求时,系统应返回静态校准结果
--B053:当通过诊断服务请求时,系统应返回静态校准参数
--B054:当诊断服务要求时,系统应应返回动
Note:对于DID中的期间和时间,策略与DID-010相同。对于DID-E101相同
--B056:当通过诊断服务请求时,系统应能够读取VIN锁定状态
--B059:当通过诊断服务请求时,系统应读取车速
--B05C:当通过诊断服务请求时,系统应读取网络管理状态
--B067:当诊断服务部门要求时,系统应读取内部校准版本。
--B068:当通过诊断服务请求时,系统应在应用程序中读取NVM布局版本。
--B071:当通过诊断服务请求时,系统应读取变量信息。
--B072:当通过诊断服务请求时,系统应读取车辆信息。
Core requirements data
--F180:通过诊断服务请求时,系统应能够读取启动软件版本号
--F181:当通过诊断服务请求时,系统应读取应用软件标识
--FD47:当通过诊断服务请求时,系统应读取APVs版本标识符
--F184:当通过诊断服务请求时,系统应读取应用软件指纹
--F193:当通过诊断服务请求时,系统应能够读取ZF HW版本号。(来自Windchill零件号)
--F195:当通过诊断服务请求时,系统应能够读取应用软件版本号
--F197:当通过诊断服务请求时,系统应能够报告系统名称或发动机类型。
--F199:当通过诊断服务请求时,系统应写入编程日期。
--F1EB:当通过诊断服务请求时,系统应能够返回射频芯片数据。
--FD11:当通过Diagnostics服务请求时,系统应报告雷达方位。
--FD13:当通过Diagnostics服务请求时,系统应返回CCP和XCP状态。
--FD17:当通过诊断服务请求时,系统应读取系统状态。
--FD18:当通过诊断服务请求时,系统应读取数据记录状态。
--FD19:当通过诊断服务请求时,系统应读取NVMLayoutVersion
--FD1B:当通过诊断服务请求时,系统应读取BirdEYEDebugstatus
--FD1D:当通过诊断服务请求时,系统应读取ReadDateStamp
--FD1E/FD20:当通过诊断服务请求时,系统应返回雷达模式
--FD25:当通过诊断服务请求时,系统应报告车辆里程表。
--FD27:当通过诊断服务请求时,系统应报告电池电压。
--FD37/FD41/FD42/FD45:
-当通过诊断服务请求时,系统应能够报告ZF EOL校准状态
写入DID FD37的前提条件下:
保持CAN siganl sysPwrMd=2(运行)
执行RID FD019进入下线模式(01 F019 01)
-如果DID 0xFD37设置为通过,系统应拒绝任何校准请求
--FD38:当通过诊断服务请求时,系统应能够报告ZF EOL校准设备软件编号。
--FD40:当通过诊断服务请求时,系统应能够报告距离和多普勒参数
--FD46:当通过诊断服务请求时,系统应返回RX TX 增益相位偏移值。
--FD50:当通过诊断服务请求时,系统应能够报告SIP版本。
--FD51:当通过诊断服务请求时,系统应能够报告PCB序列号-DSP
--FD52:当通过诊断服务请求时,系统应能够报告PCB序列号-RF
--FD53:当通过诊断服务请求时,系统应能够报告ZF零件号。
--FD61:当通过诊断服务请求时,系统应能够读取传感器校准数据
注:下面列出了要读取的数据。参考MRGEN21_SYRS_SDC_918
--FD64:系统应能读出信号处理调试信息传输的当前状态。
--FD71:当通过诊断服务请求时,系统应报告雷达配置模式和频率
--FD72:当通过诊断服务请求时,系统应报告读校验
--FEE0:当通过诊断服务请求时,系统应能够ECU系统状态
--FEEA:当通过诊断服务请求时,系统应返回ZF诊断版本ODX文件
--FEEC:当通过诊断服务请求时,系统应返回编程计数器
--FEED:当通过诊断服务请求时,系统应能够读取重新编程尝试计数器
--FEE1:当通过诊断服务请求时,系统应能够报告ZF EOL校准日期
--FF00:当通过诊断服务请求时,系统应能够UDS版本号
Configuration parameter data
--0100:当通过诊断服务请求时,系统应能够读取DTC配置标识符
--C010:当通过诊断服务请求时,系统应能够读取变量编码标识符。
DTC snapshot data
--0112:当通过诊断服务请求时,系统应能够读取电源电压
电源电压应为硬件检测,通过诊断工具读取时,硬件检测应提供电流检测值
如果DTC快照需要电源电压值,则应响应当前电压值。
--E101:-当通过诊断服务请求时,系统应能够读取里程表
-里程表值应来自“0x548”的CAN信号。“VehOdo”和“0x548”。维霍多夫信号
-通过诊断工具读取时,里程表值应为当前CAN值
-如果诊断工具读取时,里程表值应为响应当前CAN值
--D001:-当通过诊断工具读取时,系统电源模式值应该为当前CAN值
-如果DTC快照需要系统电源模式的值,则应响应当前的CAN值
--010B:-当通过诊断服务请求时,系统应能够读取日期和时间
-对于“全局日期”,它映射到“0x476”。日历年和0x476.日历月份和0x476。小时和0x476分钟。第二分钟
-通过诊断工具读取数据时,日期和时间值应为当前CAN值
-如果DTC快照需要日期和时间值,则应响应当前CAN值。
Loacl Snapchat data
--B090:当通过诊断服务请求时,系统应能够读取“从CCP接收的无效数据”
--B091:当通过诊断服务请求时,系统应能够读取“从SCS接收的无效数据”
--B093:当通过诊断服务请求时,系统应能够读取“从ECM接收的无效数据”
--B095:当通过诊断服务请求时,系统应能够读取“从EPS接收的无效数据”
--B09B:当通过诊断服务请求时,系统应能够读取“从BCM接收的无效数据”
--B0A2:当通过诊断服务请求时,系统应能够读取“从VCU接收的无效数据”
--B03B:当通过诊断服务请求时,系统应能够读取“从FDR接收的无效数据”(MCU)
--B03C:当通过诊断服务请求时,系统应能够读取“从FDR接收的无效数据”(RF)
0x27 security access
General Requipments
--3408:安全访问服务提供了一种访问数据和/或诊断服务的方法,由于安全、排放或安全原因,这些服务的访问收到限制。
--3410:应使用一下程序释放服务器中的安全性:
-客户端应通过发送“requestSeed”消息请求服务器“解锁”
-服务器应通过使用肯定影响应消息发送“种子”进行响应;
-然后,客户端应通过使用“senKey”请求消息(“根据“种子”计算的秘钥””),将“密钥”号返回服务器进行响应。
-服务器应将该密钥与内部存储/计算的密钥进行比较
--3411:1)如果两个数字匹配,则服务器应使用肯定响应消息启用(“解锁”)客户对特定服务/数据的访问
2)如果两个数字不匹配,这讲视为带有否定响应消息的错误访问。
--3412:对于27 01/02,两个参数定义下:
-最大尝试次数等于2次;
-反扫描延迟时间等于10s
--2413:如果出现以下情况,应激活反扫描延迟时间功能:
1.两个密钥(客户端返回的密钥和内部存储/计算的密钥)与最大尝试次数不匹配
2.或当ECU通电/复位,且之前执行的SecurityAccess服务由于一次错误访问尝试而失败时。
--3414:一旦ECU用有效钥匙成功解锁或延迟定时器超时,延迟机构应被禁用。
--3415:在以下情况下,尝试次数应为:0
1.服务器上电/复位;
2.或成功完成SecurityAccess服务。
--3416:如果在翻扫描延迟时间之后,第一次安全访问失败(密钥无效),系统应重新激活反扫描延迟时间功能。
--3417:如果服务器在请求的安全级别已解锁的情况下收到解锁请求,则服务器应给出种子值等于零(0)的肯定响应
如果服务器请求的安全级别当前处于锁定状态是收到解锁请求,则服务器不得发送全部零种子。
Diagnostic seed request message with sub-function
--3419:#种子请求消息0x27 01
请求种子的消息
肯定响应将为0x67 01 xx
其中xx是一个4字节的种子
--21819:如果ECU支持不同级别的安全性,则每个级别应通过requestSeed值标识,该值与seeKey值具有固定关系
--3421:27 01/02(客户B级)用于延长课程
--3422:27 61/62(ZF级别)用于ZF EOL会话
--21820:除以下两个值外,本标准中未定义参数seed的值
--21435:种子值0x00000000用于指示测试仪ECU已解锁。
--21436:种子值0xFFFFFFFF应用于指示测试仪ECU存储器已被擦除。
Diagnostic key-send request message with sub-function
--3430:#密钥发送请求消息0x27 02 xx
其中xx是从0x27 01接受相关种子后计算的有效四个字节密钥发送密钥的消息
正面响应将为0x67 02
--3431:密钥发送请求消息0x27 62 yy
其中yy是从0x27 62接收相关种子后计算的有效256字节密钥发送密钥的消息
正面响应将为0x67 62
--3435:如果子功能参数不受支持,诊断服务0x27应发送NRC 0x12 (子功能能不受支持/SFNS)
--3436:如果消息长度错误,诊断服务0x27应发送NRC 0x13(不正确的消息长度或不正确的验证格式/IMLOIF)
--3438:如果在未首先收到“requestSeed”请求消息的情况下收到“senKey”子功能,诊断服务0x27应发送NRC 0x24(requestSquenceError/RSE)
--3439:如果收到预期的“senKey”子功能值,且密钥值与服务器内部存储/计算的密钥不匹配,诊断服务0x27应发送NRC 0x35(invalidKey/IK)
--3440:如果延迟计时器因超过3次错误访问尝试而激活,诊断服务0x27应发送NRC 0x36(尝试次数/ENOA除外)
--3441:如果延迟时间超过10秒,诊断服务0x27应发送NRC 0x37(RequiredTimeDelayNoteExpired/RTDNE)
0x28 CommunicationControl
Request Message and Postive response
--3447:#请求消息0x28 00 01
应启用通信信息的接送和发送,正面响应0x68 00
Note:本服务仅影响车辆CAN报文的收发;ADAS不会受到影响。诊断信息也不应受到影响
--3448:#请求消息0x28 80 01
应能接收和发送通信信息,无积极响应。
Note:本服务仅影响车辆CAN报文的收发;ADAS不会受到影响。诊断信息也不应受到影响
--3449:#请求消息0x28 03 01
应启用通信信息的接送和发送,正面响应0x68 03
Note:本服务仅影响车辆CAN报文的收发;ADAS不会受到影响。诊断信息也不应受到影响
--3450:#请求消息0x28 03 01
应能接收和发送通信信息,无积极响应。
Note:本服务仅影响车辆CAN报文的收发;ADAS不会受到影响。诊断信息也不应受到影响
--