【车载开发系列】UDS诊断—数据传输($0x36)
UDS诊断---数据传输($0x36)
- 【车载开发系列】UDS诊断---数据传输($0x36)
- 一.概念定义
- 二.报文格式
- 1)请求报文
- 2)肯定响应
- 3)否定响应
一.概念定义
- 数据传输 TransferData(36h)
- 诊断工具使用此服务从诊断工具到 ECU 传输数据(下载)或者从 ECU 到诊断工具传输数 据(上传)。
- 在ISO14229当中定义了上传和下载两个部分,但大多数车企都只使用下载功能。
二.报文格式
1)请求报文
- BlockSequenceCounter被ECU用来监测并处理传输错误,初始值是 1,随后每次服务请求 其值递增 1。当传输块编号达到 255(FFh)时, 要求传输块编号从 0 继续。
- transferRequestParameterRecord:字节长短和参数格式不定,由厂家制定。发送请求的数据。
2)肯定响应
- blockSequenceCounter:对请求的blockSequenceCounter的echo
- transferResponseParameterRecord,当36服务用于上传数据时,该参数必须的。36服务用于下载数据时,该参数非必须,此处不解析。
3)否定响应
常用的否定响应码如下。
Hex | 描述 | Description |
---|---|---|
0x13 | 报文长度错误 | incorrectMessageLengthOrInvalidFormat |
0x24 | 请求顺序错误 | requestSequenceError |
0x31 | 请求超出范围 | requestOutOfRange |
0x71 | 传输数据暂停 | transferDataSuspended |
0x72 | 一般编程错误 | generalProgrammingFailure |
0x73 | 块序列计数器错误 | wrongBlockSequenceCounter |
0x92-0x93 | 电压过高/过低 | voltageTooHigh / voltageTooLow |