Unified Diagnostic Services(UDS)
Understanding UDS (Unified Diagnostic Services) in Automotive
Unified Diagnostic Services (UDS) is a communication protocol used in automotive applications, mainly for diagnostics. It is part of the ISO 14229 standard and is implemented over the Controller Area Network (CAN) and other automotive networks. UDS provides a standard set of services for vehicle diagnostics, allowing testing and diagnostics of vehicle systems and components.
Key Features of UDS
Standardized Diagnostic Requests: UDS offers a set of standardized diagnostic requests that automotive systems understand, facilitating consistent and reliable communications.
Wide Range of Services: Includes services for diagnostic trouble code management, data reading, data erasure, communication control, data logging, and more.
Enhanced Vehicle Diagnostics: UDS enables comprehensive diagnostics, helping in pinpointing issues, updating software, and configuring system parameters.
UDS plays a crucial role in vehicle maintenance and repair processes, allowing technicians to efficiently diagnose and resolve issues.
UDS Request & Response Message Format
For Example: cansend can0 123#0211010000000000
Here:
Protocol Control Info: 0x02
Negative Response ID: 0x11(ECU Reset)
Sub Function: 0x01(Hard Reset)
Padding is optional: 0000000000
Example Positive Response: 321#0251010000000000
Here:
Protocol Control Info: 0x02
Negative Response ID: 0x51(Positive Response ID of ECU Reset)
Sub Function: 0x01(Hard Reset)
Padding is optional: 0000000000
Example Negative Response: 321#037F112200000000
Here:
Protocol Control Info: 0x03
Negative Response ID: 0x7F
Rejected Request ID: 0x11(ECU Reset)
Negative Response Code: 0x22(Condition Not Correct)
Padding is optional.
Detailed Overview of UDS Services
Unified Diagnostic Services (UDS) incorporate a variety of services that facilitate advanced diagnostics and communications in automotive systems. Below is a detailed exploration of these essential services:
0x10
0x50
Diagnostic Session Control
01 Default Session 02 Programming 03 Extended 04 Safety
0x11
0x51
ECU Reset
01 Hard Reset 02 Key Off 03 Soft Reset
0x27
0x67
Security Access
01 Seed Request 02 Send Key
0x28
0x68
Communication Control
00 Enable RX & TX 01 Enable RX & Disable TX 02 Disable RX & Enable TX 03 Disable RX & TX
0x29
0x69
Authentication
Used in SecOC
0x3E
0x7E
Tester Present
To signal the ECU that the tester is still present
0x83
0xC3
Access Timing Params
Read/Write the default timing of comm. link
0x84
0xC4
Secure Data Transmission
Send encrypted data according to ISO 15764
0x85
0xC5
Control DTC Settings
01 DTC Activate 02 DTC Deactivate
0x86
0xC6
Response on Event
Configure ECU to send response on a defined event
0x87
0xC7
Link Control
Set the Baud Rate
0x22
0x62
Read Data by Identifier
Read Data from the ECU
0x23
0x63
Read Memory by Identifier
Read Data from Memory
0x24
0x64
Read Scaling Data by Identifier
Read the Scaling Info of a Record
0x2A
0x6A
Read Data by Identifier Periodic
Request the Periodic Transmission of Data Record Values
0x2C
0x6C
Dynamically Define Data Identifier
Fix for a Device Specified Data Identifier(DID) Pool to Configure Another Data Identifier
0x2E
0x6E
Write Data by Identifier
Write Value to DIDs
0x3D
0x7D
Write Memory by Identifier
Write Information to the ECU's Memory
0x14`
0x54
Clear Diagnostic Info
Delete Stored DTCs
0x19
0x59
Read DTC Information
Read Stored DTCs Info
0x2F
0x6F
I/O Control by Identifier
Control over the ECU's Analog or Digital I/O
0x31
0x71
Routine Control
01 Start Routine 02 Stop Routine 03 Request for the Results
0x34
0x74
Request Download
Request to Add SW/Data into the ECU
0x35
0x75
Request Upload
Request or Read SW/Data from the ECU
0x36
0x76
Transfer Data
Actual Data Transfer of 0x74 & 0x75
0x37
0x78
Request File Transfer
Initiate a File Download from the Tester to ECU or Upload from ECU to the Tester
0x7F
Negative Response
A Negative Response Code(NRC) Will Be Included With It
List of Negative Response Code
0x10
General Reject
0x11
Service Not Supported
0x12
Sub Function Not Supported
0x13
Invalid Message Format/Length
0x14
Response Too Long
0x21
Busy- Repeat Request
0x22
Conditions Not Correct
0x24
Request Sequence Error
0x25
No Response From Subnet Component
0x26
Failure Prevents Execution of Request Action
0x31
Request Out of Range
0x33
Security Access Denied
0x35
Invalid Key
0x36
Exceeded Number of Attempts
0x37
Required Time Delay has not Expired
0x70
Upload/Download Not Accepted
0x71
Transfer Data Suspended
0x73
Wrong Block Sequence Counter
0x78
Request Received - Response Pending
0x7E
Sub Function Not Supported in Active Session
0x7F
Service Not Supported in Active Session
0x81/0x82
RPM is too High/Low
0x83/0x84
Engine is Running/Not Running
0x85
Engine Run Time is too Low
0x86/0x87
Temperature too High/Low
0x88/0x89
Speed too High/Low
0x8A/0x8B
Throttle Pedal too High/Low
0x8C/0x8D
Transmission Range Not in Neutral/Gear
0x8F
Brake Switches Not Closed
0x90
Shift Lever Not in Park
0x91
Torque Converter Clutch Locked
0x92/0x93
Voltage too High/Low
0xF0/0xFE
Manufacturer Specific Conditions Not Correct
Last updated