本文参考自:ISO/DIS 14229-1(2011)
一、USD服务简介
根据手册可分为以下几种功能单元
- 诊断和通信管理功能单元
- 数据传输功能单元
- 存储数据传输功能单元
- 输入输出控制功能单元
- 远程激活常规功能单元
- 上传下载功能单元
SID | 服务 | 简介 |
0x10 | DiagnosticSessionControl | 诊断会话控制 |
0x11 | EcuReset | ECU复位 |
0x27 | SecurityAccess | 安全访问 |
0x28 | CommunicationControl | 通讯控制 |
0x3E | TesterPresent | 待机握手 |
0x83 | AccessTimingParameter | 访问时间参数 |
0x84 | SecuredDataTransmission | 安全数据传输 |
0x85 | ControlDTCSetting | 控制DTC设置 |
0x86 | ResponseOnEvent | 事件响应 |
0x87 | LinkControl | 链路控制 |
SID | 服务 | 简介 |
0x22 | ReadDataByIdentifier | 通过id读数据 |
0x23 | ReadMemoryByAddress | 通过地址读内存 |
0x24 | ReadScalingDataByIdentifier | 通过id读比例数据 |
0x2A | ReadDataByPeriodicIdentifier | 通过周期id读数据 |
0x2C | DynamicallyDefineDataIdentifier | 动态定义标识符 |
0x2E | WriteDataByIdentifier | 通过id写数据 |
0x3D | WriteMemoryByAddress | 通过地址写内存 |
SID | 服务 | 简介 |
0x14 | ClearDiagnosticInformation | 清楚诊断信息 |
0x19 | ReadDTCInformation | 读取故障码信息 |
SID | 服务 | 简介 |
0x2F | InputOutputControlByIdentifier | 通过id控制输入输出 |
SID | 服务 | 简介 |
0x31 | RoutineControl | 例行程序控制 |
SID | 服务 | 简介 |
0x34 | RequestDownload | 请求下载 |
0x35 | RequestUpload | 请求上传 |
0x36 | TransferData | 传输数据 |
0x37 | RequestTransferExit | 请求退出传输 |
二、UDS请求与响应格式
1.UDS的请求格式
根据服务的不同可分为4种类型(详细说明在下节介绍)
- SID
- SID+SF(Sub-Function,即子功能)
- SID+DID(DataIdentifier,即数据标识,读写用)
- SID+SF+DID
2.UDS的响应格式
(1)否定响应
主要分为积极响应与否定响应:
否定响应标识:
否定响应码(NRC)【仅展示部分,其余在附录A中可查看】:
否定响应格式:
- 否定响应标识(0x7F) + SID + NRC(否定响应码,说明拒绝诊断服务的理由)
例如:
请求: 02 10 02 xx xx xx xx xx;其中首字节02表示2个字节长度
否定响应:03 7F 10 7E xx xx xx xx;其中03表示3个字节长度,7E为否定响应码
(2)肯定响应
在请求格式的基础上,将SID+0x40
例如:
请求: 02 10 02 xx xx xx xx xx;其中首字节02表示2个字节长度
肯定响应:02 50 02 xx xx xx xx xx;