Click here for back issues.
https://www.simulationroom999.com/blog/diagnostic-communication-en-back-issue/
Introduction.
Explanation of ISO 14229, UDS.
I will explain PositiveResponse and NegativeResponse.
PositiveResponse and NegativeResponse
As I will explain a little in the last issue, UDS has the following types of responses.
- PositiveResponse
- NegativeResponse
I will explain these.
PositiveResponse
I will first explain PositiveResponse.
This is nothing special and refers to a normal response.
You may not understand if I suddenly say “normal response”…
As I said last time, the following rules apply.
- The first byte of the response message must be the Response SID.
- The Response SID is set to the Request SID with 0x40 ORed.
Last time, the Request SID was 0x10, so it was ORed with 0x40 and set to 0x50.
This is the PositiveResponse.
Strictly speaking, each service defines its own required response parameters, but this is the only common rule.
NegativeResponse
I will explain the NegativeResponse here.
The message structure is as follows.
Position | Parameter Name | Value |
---|---|---|
1 | Negative Response SID | 0x7F |
2 | <Service Name> Request SID | 0x00 – 0xFF |
3 | responseCode | 0x00 – 0xFF |
The first Negative Response SID is fixed at 0x7F.
One concern arises here.
The PositiveResponse rule states that the Response SID is the SID ORed with 0x40.
If there is a Service$3F, ORing with 0x40 results in 0x7F, which conflicts with the definition of Negative Response SID
Don’t worry.
There is no 0x3F service.
ISO 14229-1 specifies so.
Request SID, for example, in the case of 0x10, which I will explain in the previous section, is also 0x10 here.
There are many types of responseCode at the end.
Here are some typical ones.
NRC | Description | Detail |
---|---|---|
0x12 | sub-functionNotSupported | Unsupported sub-function requested. |
0x13 | incorrectMessageLengthOrInvalidFormat | Request message length is wrong. |
0x22 | conditionsNotCorrect | Conditions are not correct. |
0x31 | requestOutOfRange | Parameters are out of the expected range. |
0x33 | securityAccessDenied | Security lock is applied. |
0x78 | requestCorrectlyReceived-ResponsePending | Response pending, wait for P2* time. |
The space between each number is empty, but in reality, the space is filled with more numbers.
Not all the numbers are filled.
Here is a simple example of a message.
In Service$10, if sub-function is not supported, the NegativeResponse will be as follows.
0x7F 0x10 0x12
requestCorrectlyReceived-ResponsePending becomes a NegativeResponse associated with the previous P2* time.
I will explain this in the next section.
Conclusion.
- Explanation of PositiveResponse.
- Response SID is set to Request SID with 0x40 and OR.
- Explanation of NegativeResponse.
- Like 0x7F 0x10 0x12.
- Special ones like ResponsePending will be explained next time.
Click here for back issues.
コメント