Read a UDS request and response
Interpret service identifiers, negative responses and timing before changing ECU configuration.
Service layer
UDS defines diagnostic services such as ReadDataByIdentifier. A request begins with a service identifier; a positive response normally uses the request SID plus 0x40. The service defines the remaining bytes and any subfunction behaviour.
Negative responses
A negative response begins with 0x7F, then the requested SID and a negative response code. Decode all three before diagnosing. Response pending indicates ongoing processing under the applicable timing contract, not final success. Session, access and conditions may restrict services.
Transport is separate
UDS can use different transports. On CAN, ISO-TP handles segmentation and flow control. A UDS timeout may result from transport loss, scheduling or service processing. A bus frame can therefore be present without a complete valid UDS message.
Request: 22 F1 90
Positive response: 62 F1 90 ...
Negative response: 7F 22 31
/* Decode NRC 0x31 in the applicable UDS specification. */Follow each transition
Request
The tester requests a diagnostic service.
Conceptual sequence. Timing is slowed for learning; it is not a hardware measurement.
Your investigation
The trace contains 7F 22 31. Is it a positive response to a different service? Explain the fields.
Reveal the investigation checklist
- Recognize 0x7F as a negative response SID.
- Identify the original requested SID 0x22.
- Decode the NRC using the applicable specification.
- Check DID support and current conditions.
Which bytes identify a negative response to service 0x22?
Answer the knowledge check correctly to complete this lesson.
Think through Read a UDS request and response
Ask for an explanation, an automotive example or a question that tests your understanding.
Checking mentor availability…