UDS诊断服务SID定义

上篇:《UDS诊断服务响应规则》(打开IND4汽车人APP关注我,即可阅读完整内容,App下载二维码直接拉到本文底部)提到UDS诊断服务不仅仅可以获取和管理ECU的故障记录信息,并且还可以读取写入ECU软硬件信息、生产制造信息、实施检测和测试、以及更新代码。那么了解诊断服务的SID则可以知道上述这些功能具体是通过哪些服务指令实现的。

1.SID划分

不同的SID表示不同的服务功能,SID长度被定义为1Byte,从0x00到0xFF的划分如下表:

在ISO 14229-1中共定义了26个SID服务请求,分别在0x10~0x3E,0x83~0x87区间。由于肯定响应是SID+0x40,使得每一个SID有一个唯一对应的肯定响应。因此0x50~7E区间对应0x10~0x3E的肯定响应,0xC3~0xC7区间对应0x83~0x87的肯定响应。而0x7F是作为统一的否定响应,即否定任何SID都采用0x7F。

2.SID分类

ISO 14229根据服务的功能将其分为六大类:

诊断和通信管理功能 Diagnostic and Communication Management functional unit

诊断会话控制服务 DiagnosticSessionControl(0x10)

ECUReset (0x11) Client请求ECU重启

SecurityAccess (0x27) Client请求解锁ECU安全保护状态

CommunicationControl (0x28) Client请求控制ECU通信

TesterPresent (0x3E) Client在线通知

AccessTimingParameter(0x83) Client请求控制ECU通信周期

SecuredDataTransmission(0x84) Client请求执行安全保护的数据传输

ControlDTCSetting (0x85) Client请求设置ECU DTC

ResponseOnEvent (0x86) Client请求ECU执行特定事件

LinkControl (0x87) Client请求控制ECU通信波特率

数据传输功能 Data Transmission functional unit

ReadDataByIdentifier (0x22) Client请求根据数据标识读取ECU数据

ReadMemoryByAddress (0x23) Client请求根据数据地址读取ECU数据

ReadScalingDataByIdentifier(0x24) Client请求根据数据标识读取ECU标定信息

ReadDataByPeriodicIdentifier(0x2A) Client请求周期性读取ECU信息

DynamicallyDefineDataIdentifier(0x2C) Client请求动态定义数据标识

WriteDataByIdentifier(0x2E) Client请求根据数据标识写入信息

WriteMemoryByAddress(x3D) Client请求根据数据地址写入信息

传输存储的数据功能 Stored Data Transmission functional unit

ClearDiagnosticInformation (0x14)

ReadDTCInformation (0x19)

输入输出功能 InputOutput Control functional unit

InputOutputControlByIdentifier (0x2F)

程序控制功能 Routine functional unit

RoutineControl (0x31)

上传和下载功能 Upload Download functional unit

RequestDownload (0x34)

RequestUpload (0x35)

TransferData (0x36)

RequestTransferExit (0x37)

RequestFileTransfer(0x38)

3.诊断服务示例

诊断会话控制服务 DiagnosticSessionControl(0x10)

0x10诊断会话控制服务用于实现Client请求切换ECU的诊断模式。ECU上电后处于默认模式(Default diagnostic session),在默认模式中可实现的诊断服务是有一定限制的,比如无法解锁安全模式,则Bootloader、部分RoutineControl、部分数据写入就无法实现,直到通过0x10诊断会话切换ECU至non-default session。

服务请求Request

请求模式切换SID为0x10,sub-function表示希望进入的模式类型。

其中Sub-function定义:

0x00 ISOSAEReserved:被预留的指令

0x01 DefaultSession:默认模式

0x02 ProgrammingSession:编程模式

0x03 ExtendedDiagnosticSession:扩展模式

0x04 SafetySystemDiagnosticSession:安全模式

0x05~0x3F ISOSAEReserved:被预留的指令

0x40~0x5F VehicleManufactureSpecific:OEM自定义

0x60~0x7E SystemSupplierSpecific:供应商自定义

0x7F:ISOSAEReserved:被预留的指令

80%

1

步返回搜狐,查看更多

阅读 ()
平台声明
该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。