UDS SID Table | UDS SID request and response
This page covers UDS SID for different UDS protocol services. It also mentions UDS SID for request and response messages.
What is UDS SIDs | Service Identifiers
All the ECUs of different cars use UDS protocol so that all can be communicated by common tester tool. Tester and ECU acts as client and server respectively. Here tester sends service request which is responded by the server. UDS protocol is defined in ISO I14229 which has about five documents.
UDS is collection of various diagnostic services. Each service in UDS protocol has unique service identifier of one byte length. UDS service request has range from 0x00 to 0x3E. Following table mentions UDS SID for request and response and UDS services in details.
SID field is always the first byte in the service request message and it is mandatory field. The other fields of service request message include SubFn (size : 1 byte) , DID (size : 2 byte) and Data Rec (size : n byte). Refer UDS request and response frame format >>.
|UDS SID (Request)
|UDS SID (Response)
|Diagnostic session control
|Control which UDS services are available.
|It resets the ECU (includes hard reset, key off and soft reset)
|It enables use of security critical services via authentication.
|This field turns send/receive of messages ON or OFF in the ECU.
|Enables more advanced authentication vs. 0x27 (PKI based exchange).
|Send a heartbeat message periodically to remain in existing session .
|Access timing parameters
|View/Modify timing parameters used in client/server communication.
|Secured Data Transmission
|Send encrypted data via ISO 15764 (extended data link security)
|Control DTC Settings
|Enable/Disable detection of errors (e.g. used during diagnostics)
|Response On Event
|Request that ECU processes a service request if an event happens
|Set the baud rate for diagnostic access
|Read Data by Identifier
|Read data from targetted ECU - e.g. VIN, sensor data etc.
|Read Data by Address
|Read data from physical memory (e.g. to understand software behaviour)
|Read Scaling Data By Identifier
|Read information about how to scale data identifiers
|Read Data by Identifier Periodic
|Request ECU to broadcast sensor data at slow/medium/fast/stop rate
|Dynamically Define Data Identifier
|Define data parameter for use in 0x22 or 0x2A dynamically
|Write Data By Identifier
|Program specific variables determined by data parameters
|Write Memory By address
|Write information to the ECU's memory
|Clear Diagnostic Information
|Delete stored DTCs
|Read DTC Information
|Read stored DTCs as well as related information
|Input Output Control By Identifier
|Gain control over ECU analog/digital inputs/outputs
|Initiate/stop routines (e.g. self testing, erasing of flash memory)
|Start request to add software/data to ECU (including location/size)
|Start request to read software/data from ECU (including location/size)
|Perform actual transfer of data following use of 0x74/0x75
|Request Transfer Exit
|Stop the transfer of data
|Request File Transfer
|Perform a file download/upload to/from the ECU
|Send with a negative response code when a request can not be handled.