Diagnostic and Communication Management function group of UDS services contains following services-
|Diagnostic Services||Service Id||Sub-Function|
|Diagnostic Session Control||0x10||Default Session(0xXX)
|ECU Reset||0x11||Hard Reset(0xXX)
|Security Access||0x27||Seed Request(0xXX)
|Communication Control||0x28||Enable 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||0x3E||No subfunction|
|Access Timing Parameter||0x83||Yes(Vehicle Manufacturer Specific)|
|Secure Data Transmission||0x84||Yes(Vehicle Manufacturer Specific)|
|Control DTC setting||0x85||Enable DTC Detection(0xXX)
Disable DTC Detection(0xYY)
|Response To Event||0x86||Yes(Vehicle Manufacturer Specific)|
|Link Control||0x87||Yes(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.
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.
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
Key Off-On Reset:
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.
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).
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.