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 following functional units of the UDS will be explained.
- Diagnostic and Communications Management
- Data Transmission
Various UDS services
Let’s take a quick look at the services defined in ISO 14229-1.
I will try to keep it light, since a too in-depth explanation will probably be too much for the reader.
Categories of Services
Services are grouped into six categories of functional units
- Diagnostic and Communications Management
- Data Transmission
- Stored Data Transmission
- Input/Output Control
- Routine
- Upload/Download
Since it is called a category, it is quite a good feeling for those who realize that it can be further subdivided from here.
That is correct.
Some of them are only one functional unit with one service.
It’s this functional unit that is tied to the purpose of vehicle diagnostic communication, so it’s worth keeping that in mind.
Diagnostic and Communications Management
Diagnostic and Communications Management includes the following services.
Service | SID | Description |
---|---|---|
DiagnosticSessionControl | $10 | Diagnostic session control |
ECUReset | $11 | Forced reset |
SecurityAccess | $27 | Security unlock |
CommunicationControl | $28 | Communications control. (send/receive specific messages on/off) |
TesterPresent The client | $3E | Notification of presence of $3E off-board tester. (Used for session maintenance, etc.) |
AccessTimingParameter | $83 | Read/write timing parameters. (Not used in CAN) |
SecuredDataTransmission | $84 | Transmission of data protected from third party attacks. |
ControlDTCSetting | $85 | DTC (fault code) related settings |
ResponseOnEvent | $86 | Event function setting and control |
LinkControl | $87 | Control of communication baud rate |
One may wonder about the term SID.
SID stands for Service IDentifier, which is a numerical value used in actual telegrams.
Incidentally, $xx means hexadecimal number, and $10 is synonymous with 0x10.
Data Transmission
Data Transmission includes the following services.
Service | SID | Description |
---|---|---|
ReadDataByIdentifier | $22 | Reading the current value of the record identified by DataIdentifier |
ReadMemoryByAddress | $23 | Reading the current value of the provided memory range |
ReadScalingDataByIdentifier | $24 | Reading the scaling information of the record identified by dataIdentifier |
ReadDataByPeriodicIdentifier | $2A | Scheduling settings for periodic transmission of data |
DynamicallyDefineDataIdentifier | $2C | Dynamically defining data identifiers that may be read by the ReadDataByIdentifier service |
WriteDataByIdentifier | $2E | Writing records identified by dataIdentifier |
WriteMemoryByAddress | $3D | Writing of the specified memory range |
At a quick glance, you can see that the main purpose is to read and write data.
The only difference is that the information required for reading and writing is a memory address or DataIdentifier.
Here comes another questionable word, DataIdentifier.
It means “data identifier” as it is.
It is abbreviated as DID.
It is a 16-bit length ID, and is used when you want to get the same meaning of data even if the car model, etc., changes by defining the information associated with the ID as a specification.
The biggest advantage of the memory address is that the address of the variable you want will change if the build is different even if it is the same ECU, but the DID defined in the specification will not change.
There is a method to output the address information to some definition file each time and read it out by MC tools, etc., but using the memory address information after the development process is also risky in terms of confidentiality and functionality, so the motive is to make it common in terms of specifications by using DID.
It is also important to note that SID$22 and SID$2E are read/write pairs in the DID, and SID$23 and SID$3D are read/write pairs in the memory address.
If these are known, the recognition of this functional unit is OK.
Conclusion.
- Diagnostic services fall into six categories of functional units.
- Diagnostic and Communications Management explained.
- Session, Security, and Communications Control.
- Data Transmission Description.
- Read/write data by memory address and DID.
Click here for back issues.
コメント