UDS SID Table: Understanding Service Identifiers in UDS Protocol
Advertisement
This page covers UDS SIDs for different UDS protocol services. It also mentions UDS SIDs for request and response messages.
What are UDS SIDs | Service Identifiers?
All the ECUs of different cars use the UDS protocol so that they can all be communicated with by a common tester tool. The tester and ECU act as client and server respectively. The tester sends a service request, which is then responded to by the server. The UDS protocol is defined in ISO 14229, which consists of about five documents. UDS is essentially a collection of various diagnostic services.
Each service in the UDS protocol has a unique service identifier that is one byte in length. UDS service requests have a range from 0x00 to 0x3E.
The following table lists UDS SIDs for requests and responses, along with details about the UDS services.
The SID field is always the first byte in the service request message and is a mandatory field. The other fields of the service request message include SubFn (size: 1 byte), DID (size: 2 bytes), and Data Rec (size: n bytes). Refer to the UDS request and response frame format for more information.
UDS SID Table
UDS SID (Request) | UDS SID (Response) | UDS Service Details |
---|---|---|
0x10 | 0x50 | Diagnostic session control - Controls which UDS services are available. |
0x11 | 0x51 | ECU Reset - Resets the ECU (includes hard reset, key off, and soft reset). |
0x27 | 0x67 | Security access - Enables the use of security-critical services via authentication. |
0x28 | 0x68 | Communication control - Turns send/receive of messages ON or OFF in the ECU. |
0x29 | 0x69 | Authentication - Enables more advanced authentication vs. 0x27 (PKI based exchange). |
0x3E | 0x7E | Tester present - Sends a heartbeat message periodically to remain in the existing session. |
0x83 | 0xC3 | Access timing parameters - View/Modify timing parameters used in client/server communication. |
0x84 | 0xC4 | Secured Data Transmission - Sends encrypted data via ISO 15764 (extended data link security) |
0x85 | 0xC5 | Control DTC Settings - Enable/Disable detection of errors (e.g., used during diagnostics) |
0x86 | 0xC6 | Response On Event - Request that ECU processes a service request if an event happens |
0x87 | 0xC7 | Link Control - Set the baud rate for diagnostic access |
0x22 | 0x62 | Read Data by Identifier - Read data from the targeted ECU - e.g., VIN, sensor data, etc. |
0x23 | 0x63 | Read Data by Address - Read data from physical memory (e.g., to understand software behavior) |
0x24 | 0x64 | Read Scaling Data By Identifier - Read information about how to scale data identifiers |
0x2A | 0x6A | Read Data by Identifier Periodic - Request ECU to broadcast sensor data at slow/medium/fast/stop rate |
0x2C | 0x6C | Dynamically Define Data Identifier - Define data parameter for use in 0x22 or 0x2A dynamically |
0x2E | 0x6E | Write Data By Identifier - Program specific variables determined by data parameters |
0x3D | 0x7D | Write Memory By address - Write information to the ECU’s memory |
0x14 | 0x54 | Clear Diagnostic Information - Delete stored DTCs |
0x19 | 0x59 | Read DTC Information - Read stored DTCs as well as related information |
0x2F | 0x6F | Input Output Control By Identifier - Gain control over ECU analog/digital inputs/outputs |
0x31 | 0x71 | Routine Control - Initiate/stop routines (e.g., self-testing, erasing of flash memory) |
0x34 | 0x74 | Request Download Start - Request to add software/data to ECU (including location/size) |
0x35 | 0x75 | Request Upload Start - Request to read software/data from ECU (including location/size) |
0x36 | 0x76 | Transfer Data - Perform actual transfer of data following use of 0x74/0x75 |
0x37 | 0x77 | Request Transfer Exit - Stop the transfer of data |
0x38 | 0x78 | Request File Transfer - Perform a file download/upload to/from the ECU |
0x7F | N/A | Negative Response - Send with a negative response code when a request can not be handled. |