site-logo
Loading

4 UDS Protocol Software Services that Every Automotive Product Development Team Should Know

Unified Diagnostic Services (UDS) is an automotive protocol that lets the diagnostic systems communicate with the ECUs to diagnose faults and reprogram the ECUs accordingly (if required).

It is called unified because it combines and consolidates all the standards like KWP 2000, ISO 15765 and others.

UDS services facilitate nuanced interactions with the vehicle’s control units, enabling precise identification and rectification of issues, efficient real-time data processing, and streamlined firmware updates.

Such capabilities are crucial in an era where vehicles are not just modes of transport but complex networks of integrated electronic systems.

The UDS Protocol transcends basic diagnostic capabilities, offering a suite of UDS services that cater to complex needs like ECU programming, real-time data monitoring, and fault diagnosis. For instance, the ‘ECU Reset’ service is crucial for ensuring proper function post-update or repair.

In this article, we will delve into four critical UDS services that are indispensable for any automotive product development team.

These UDS services are central to modern vehicle diagnostics, enabling accurate fault detection, real-time data access, and reliable ECU communication to ensure safety and performance.

What are UDS services?

UDS services are diagnostic functions defined in the Unified Diagnostic Services protocol (ISO 14229). They enable standardized communication between a diagnostic tester (e.g., scan tool, test bench) and an ECU.

Think of UDS services as a set of commands—like buttons on a remote—that let you interact with your vehicle’s Electronic Control Units (ECUs).

Just as a TV remote lets you change channels, adjust volume, or reset settings, UDS services allow engineers and technicians to perform diagnostic actions like reading data, resetting the ECU, or flashing new firmware.

Each service is identified by a unique hexadecimal Service ID (SID). These services support operations like reading sensor values, resetting ECUs, writing configurations, and flashing firmware.

Each UDS service is identified by a unique Service ID (SID) and performs a specific task.

Common UDS services include:

Service ID UDS Service Name Description Typical Use Case
0x10 Diagnostic Session Control Switches ECU to different diagnostic modes Flashing, deep diagnostics
0x11 ECU Reset Performs software or hardware reset Post-update, memory reset
0x22 Read Data By Identifier Reads ECU internal data Sensor values, VIN, software version
0x2E Write Data By Identifier Writes configuration data to ECU Updating calibration/config values
0x27 Security Access Grants access to restricted services Flashing, protected parameter changes
0x19 Read DTC Information Retrieves diagnostic trouble codes Fault diagnostics
0x31 Routine Control Runs internal ECU routines Self-tests, checksum verifications
0x34/0x36/0x37 Request Download / Transfer Data / Request Transfer Exit Flashing process steps ECU firmware update

How Do UDS Services Come Together: UDS Protocol Architecture

The UDS architecture is designed based on the Open System Interconnection (OSI) Reference Model. Hence, the UDS software stack has a layered architecture.

OSI Layer UDS Stack Component Function Example Protocol
Application UDS Services Executes diagnostic functions (e.g., Read DTCs) ISO 14229
Transport Transport Layer Protocol Segments and reassembles data ISO 15765-2
Network Network Layer (if applicable) Routing between ECUs Optional
Data Link CAN/Ethernet Protocols Handles frame transmission and flow control CAN, DoIP
Physical Bus Line/Connector Electrical signaling and transmission medium CAN, Ethernet

One of the major functions of the UDS software stack is to store the fault code in the ECU memory for every issue that occurs in the vehicle and transfer it (to the client side) as and when required.

The diagnostic tester tool has a GUI that connects to the ECU, retrieves the fault code and displays it.

These fault-related operations are handled by specific UDS services, such as 0x19 – Read DTC Information, which are implemented in the application layer of the UDS software stack. UDS services reside in the ECU's diagnostic software and are configured by the vehicle manufacturer or Tier-1 supplier based on system requirements.

Each service is mapped to a specific Diagnostic Identifier (DID), Routine Identifier (RID), or DTC, depending on the function it supports. Configuration is typically done through diagnostic specification files (e.g., Open Diagnostic eXchange), which define which UDS services are available, what parameters they handle, and how they behave during various diagnostic sessions (default, extended, or programming).

For example, a service like 0x22 – Read Data By Identifier will be configured to fetch specific ECU parameters such as engine speed or coolant temperature, while 0x2E – Write Data By Identifier allows certain parameters to be updated under secure access.

These UDS services, once configured and integrated into the ECU firmware, enable seamless communication between the tester and the ECU.

Why Do We Need Unified Diagnostics Services?

As OEMs integrate/assemble automotive ECUs and components from different suppliers, the need for a set of standardized unified diagnostic services was felt.

This is because, prior to a set of UDS services, OEMs and suppliers had to deal with compatibility issues between different diagnostic protocols like KWP 2000, ISO 15765, and diagnostics over K-Line.

  • Unified Diagnostic Services (UDS) is the preferred choice of protocols for all off-board vehicle diagnostic activities. Off-board diagnostics refers to the examination of the vehicle parameters when the car is at servicing in the garage (while the vehicle is stationary).
  • ECU flashing and reprogramming can also be performed efficiently with the help of a UDS stack.
  • Additionally, UDS protocol is quite flexible and is capable of performing more detailed diagnostics as compared to other protocols like OBD and J1939.
   

List of Categories of UDS Services Offered by Unified Diagnostics Protocol

Unified Diagnostic Services has made stellar strides in simplifying ECU diagnostics.

Services like Diagnostic Session Control provide the flexibility to establish sessions tailored to specific testing needs, while ECU Reset facilitates seamless reinitialization for precise evaluations.

The Read Data by Identifier service allows direct access to critical data points, enabling real-time monitoring of sensor values and essential parameters.

Additionally, UDS-based Read Diagnostic Trouble Codes service enables prompt identification of potential issues, expediting the troubleshooting process. Let’s learn about them in more detail.

New Meta- Let’s know UDS protocol a little better! How about unravelling its pivotal services in our detailed article? We will learn how different UDS services enhance vehicle diagnostics and ECU management, making automotive technology safer.

  1. Data Transmission Capabilities: The data transmission capabilities of a UDS Protocol Stack enable the clients to read or write any information to or from the ECU.The data can be read or written on the basis of identifiers and periodic identifiers. The client can also read data from the physical memory at the specified address.

    • The information can range from static info like ECU serial number to some real time data like the current status of the sensors, engine speed, etc.
    • If the client wants the ECU to send periodic service values, then ‘Read Data By Identifier Periodically’ service will be required. The client can also write data by identifier and address. Using the write service, certain parameters such as threshold values and angles can be changed.
    • Usually, the permission to write some sensitive data to the ECU can be controlled by restricting the access using ‘Security Access Service’. Such permissions are reserved by the OEMs, as writing data to the ECU can interfere with the security and overall functioning of the vehicle.
  2. Diagnostic and Communications Management in UDS Protocol: This services group primarily focuses on managing the communication flow between the tester (diagnostic tool) and the electronic control units (ECUs) within a vehicle. Below is an overview of the services under this category:

    • Diagnostic Session Control (Service 0x10): Initiates different diagnostic sessions, each with unique communication and diagnostic capabilities.
    • ECU Reset (Service 0x11): Resets the ECU to its default state, useful after updates or error recovery.
    • Security Access (Service 0x27): Secures ECU functions via a challenge-response mechanism for protected access.
    • Communication Control (Service 0x28): Manages ECU communication, controlling message transmission and reception.
    • Tester Present (Service 0x3E): Keeps the diagnostic session active by signaling the ECU that the tester is still connected.
    • Access Timing Parameter (Service 0x83): Adjusts timing parameters like message timeouts and intervals for optimized communication.
    • Secured Data Transmission (Service 0x84): Adds a security layer to the data exchanged between the tester and ECU.
    • Control DTC Setting (Service 0x85): Enables or disables the generation of Diagnostic Trouble Codes (DTCs) during diagnostics.
    • Response On Event (Service 0x86): Configures the ECU to automatically respond to specific events for real-time monitoring.
    • Link Control (Service 0x87): Adjusts the data transfer rate between the tester and ECU to suit diagnostic needs.

    Note: DTC Snapshot data gives additional information about the engine’s parameters at the time of occurrence of the fault.

    The DTC information along with other data stored in the server can be erased if need be. Clear Diagnostic Information service can be invoked to delete all such diagnostics data stored in the server.

    Once the fault codes are retrieved, the problem can be diagnosed efficiently, and repair work can follow.

    UDS protocol Stack
  3. Upload/Download Capabilities: As highlighted earlier, UDS protocol also supports ECU reprogramming. ECU reprogramming refers to updating the ECU software. This is required to resolve any existing bug or add newly developed modules in the ECU.Using the upload and download capabilities of UDS protocol, large packets of data can be sent and received from the car’s ECU for ECU reprogramming purpose.The client can invoke RequestDownload and TransferData service to initiate a data transfer to the server (ECU) from the client (diagnostic tester) using a tester device.

    • The server upon receiving the request will take all necessary actions to receive the data.
    • A positive response message is sent when the server has successfully received the message.

    Likewise, a RequestUpload service is used by the client to request data packets from the server.

    • One of its practical examples can be configuring the parameters related to the vehicle’s variant code. It implies that the client can download or upload the settings/configurations in order to change or adapt a particular variant.
    • Suppose a car has two variants and one of them has Anti-lock braking system (ABS) and the other doesn’t. The ECU of the variant with the ABS will need to be updated with configurations and settings to control the ABS. A task like this can be performed using this service.
  4. Remote Routine Activation: Vehicle Diagnostics may require testing the faulty component in a given range of parameters. Moreover, during the testing phase of the vehicle, some system tests may be required to run over a period of time.

  5. For all such tasks, UDS service named ‘remote routine activation’ is used.

    • In order to perform a test, a routine is triggered by the client in the server’s memory. There are two methods for ending this routine - one is where the client interrupts the routine to stop it, and the other is when the server/ECU finishes the routine after a specified time frame.
    • Using this UDS service, the client can start a routine, stop a routine and also check the result that the routine produced after successful execution.

    For instance, the service personnel at the garage may use this service to run the engine fan for a certain period of time and record the results. This would help him understand a particular issue well and rectify it without using any hit and trial method.

The Final Word

UDS is one of the most advanced and flexible diagnostic protocols in the automotive domain. It enables detailed, standardized diagnostics across vehicle systems. Its future remains strong, thanks to its ability to work independently of the underlying communication medium—whether CAN, K-Line, or FlexRay.

Vaibhav

About the Author

Vaibhav is a digital-marketing professional with a deep-rooted interest in everything automotive. Regular collaborations with automotive tech guys keep him apprised of all new trends in the automotive industry. Besides digital marketing, Vaibhav is fond of writing and music.

Scroll to Top