• admin@embedclogic.com

Diagnostic and Communication Management

Diagnostic and Communication Management function group of UDS services contains following services-

Diagnostic ServicesService IdSub-Function
Diagnostic Session Control0x10Default Session(0xXX)
Programming Session(0xYY)
Extended Session()xZZ)
ECU Reset 0x11Hard Reset(0xXX)
Soft Reset(0xYY)
Key-Off Reset(0xZZ)
Security Access0x27Seed Request(0xXX)
Key Response(0xYY)
Communication Control0x28Enable Tx and Rx for ECU
Disable Tx and Rx for ECU
Enable Tx and Disable Rx for ECU
Disable Tx and Enable Rx for ECU
Tester Present  0x3ENo subfunction
Access Timing Parameter0x83Yes(Vehicle Manufacturer Specific)
Secure Data Transmission0x84Yes(Vehicle Manufacturer Specific)
Control DTC setting0x85Enable DTC Detection(0xXX)
Disable DTC Detection(0xYY)
Response To Event0x86Yes(Vehicle Manufacturer Specific)
Link Control0x87Yes(Vehicle Manufacturer Specific)

Note: Sub-function IDs are usually decided by a Vehicle manufacturer. Here I have mentioned some generic sub-functions.

Some of the above service Ids are explained below.

Diagnostic Session Control(0x10)

  1. There are many services but not all are accessible until ECU is not running in its compatible session(Default/Programming/Extended) like some services are accessible in default session and some required ECU extended session and some for programming. It is decided by the vehicle manufacturer.
  2. On ECU start, ECU runs in default session so Client can access only those services which are allowed by the Manufacturer UDS specification in default session.
  3. So prior to doing any diagnostic request, Client must be sure that this service is accessible or not in ECU current session. if not, then first send a request for session change after that desirable request shall be performed.


Application Specific Data Bytes are reserved values that can be defined for vehicle manufacturers and suppliers use.

UDS frame data length has no limit but we know data length allowed at the CAN BUS is up to 8 byte in Standard CAN. So data length greater than the allowed frame length(8 byte) must be segmented into multi-Frame as per CAN transport layer protocol(15765-2)before sending it at CAN-Bus.

 ECU Reset(0x11)

This service request is done by the client to restart the Server(Electronic Control Unit). Mainly three types of reset can perform by the Client over the server

  • – Hard Reset
  • – Key off-on Reset
  • – Soft Reset

Hard Reset: 

  1. Server Power shut down(battery removed) followed by the power-up sequence is known as “Hard Reset”.
  2. There is no standard action performed during hard-reset command it is completely application Specific.
  3. A hard reset might end with the re-initialization of volatile and non-volatile memory.

Key Off-On Reset: 

  1. As the name suggests, this command is like off the ignition and then again on.
  2. Like other resets there is nothing to do standard for this value, all is implementation specific.
  3. Volatile memory re-initialized but Non-volatile data will remain protected.

Soft Reset: 

  1. A server will not completely shut down when soft reset will receive. It will just restart the application.
  2. Like the Hard reset, No standard action performed in Soft reset. It is implementation specific.
  3. Soft reset might end with the volatile data clear but Non -Volatile data will be preserved.

Security Access(0x27)

To protect the unauthorized access of the server’s secured area, the client must have to go through some kind of security. This UDS service helps the client to access the server’s secured area if it is authorized. Although there are many methods to perform security.

UDS FRAME for Security Verification

Note: Method to find seed-key value is specific to the vehicle manufacturer.

Communication Control(0x28)

This service is used to control the communication of server i.e. enable or disable transmission and reception of messages from the server. With this service, we can perform the following sub-functions(xx).

  • – Enable Tx and Enable Rx
  • – Enable Tx and Disable Rx
  • – Disable Tx and Enable Rx
  • – Disable Tx and Disable Rx

Tester Present Service(3E)

After IGN ON ECU remains in default session so Tester has to request for change in session either it can be Default, Extended or programming , depends on Service request client gonna made. Session can be changed for a fixed time and ECU returns in default session once that time is over. Tester can restrict it by sending Tester present service with in that time and this way server can remain in active session until Tester wants.

Some of the services I haven’t explained here because of certain restrictions but I hope through this article you can get basics of UDS Protocol. Please write me if you need more information about any service.