Click here for back issues.
https://www.simulationroom999.com/blog/diagnostic-communication-en-back-issue/
Introduction.
Explanation of ISO 14229, UDS.
In this article, the messages of the ReadDataByIdentifier service will be explained.
Request message for ReadDataByIdentifier service
The request message for ReadDataByIdentifier service is shown below.
Position | Parameter Name | Value |
---|---|---|
1 | ReadDataByIdentifier Request SID | 0x22 |
2~3 | dataIdentifier#1 | 0xFFFF |
… | – | – |
n~n+1 | dataIdentifier#m | 0xFFFF |
The dataIdentifier is called DID (shortened to DID), and the parameters to be read are determined based on this.
The message structure shows that multiple DIDs can be requested as the same message.
Well, there may be an error due to the manufacturer-dependent limitation on the number of DIDs or the length of the response message.
One DID can be a message of long length, but if the number of DIDs is many, the message length required becomes longer.
As a result, if the message length exceeds the size of the transmission buffer contained in the ECU or the 4095 bytes specified in ISO 15765-2, an error occurs.
Response message for ReadDataByIdentifier service
The response message is as follows.
Position | Parameter Name | Value |
---|---|---|
1 | ReadDataByIdentifier Response SID | 0x62 |
2~3 | dataIdentifier#1 | 0xFFFF |
4~x | dataRecord#1 | XXXX |
… | – | – |
n~n+1 | dataIdentifier#m | 0xFFFF |
n+2~x | dataRecord#m | XXXX |
The table may not give you a clear image of what it looks like.
The DID is followed by the data to be referenced (dataRecord), and if multiple DIDs are requested, the number of DIDs will be as many as necessary to make the sequence.
What determines the length of this dataRecord?
As per ISO14229-1, it is not determined.
It is freely determined for each DID by the manufacturer.
If multiple DIDs are requested, it will be difficult to know which DID is the next DID in the response message.
However, it is assumed that the off-board tester knows this.
The off-board tester needs to include a specification that reads another definition file, etc., to know the dataRecord length.
Because of this, tools often do not request multiple DIDs.
Conclusion.
- Explanation of the request message for the ReadDataByIdentifier service.
- Multiple DIDs can be set.
- There may be a limit on the number of DIDs that can be set, and it is an error if the number is exceeded.
- It is also an error if the response message exceeds 4095 bytes.
- Explanation of the ReadDataByIdentifier service response message
- Combination of DID and dataRecord.
- In case of multiple DIDs, the above combination is placed in one message.
Click here for back issues.
コメント