arrow-right-arrow-leftUnified 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.

Drawing
Flow Diagram of UDS Request & Response between Client and Server

UDS plays a crucial role in vehicle maintenance and repair processes, allowing technicians to efficiently diagnose and resolve issues.

UDS Request & Response Message Format

Drawing

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


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:

Service ID
Response ID
Service Name
Subfunction/Information

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

UDS NRC
Description

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