UDS Request Frame Format
UDS Request Frame Format
UDS is request and response based protocol based on client-server architecture. UDS is collection of
number of diagnostic services having unique service identifier (SID). SID is one byte size with range from
0x00 to 0x3E.
Using 'SID' field in service request message, server understands requested service by the client. Refer
UDS specifications for meanings of various SID with numbers and their detailed services. SID is
mandatory field and present in all the service request messages.
For example,
"Sub Function" field tells service which sub functionality of service has been requested. It is also 1 byte
in size. This field exists only for certain selected services.
For example,
DID field is 2 bytes in size. All the data elements are identified by unique numbers. In OBD (On Board
Diagnostics) DIDs are standardized where as in UDS different car manufacturers define their own unique
DIDs which can be understood by UDS tester tool. One service request message contains one or multiple
DID elements.
'Data Record' field is optional field. For example, if DID is for 'write data by identifier' than after the DID
the data values to be written is specified in the message.
In UDS offboard diagnostics, tester acts as client and ECU acts as server. When server (i.e. ECU) receives
service request message, it checks the message. If everything is fine in the received message, it executes
requested service and responds to the client (i.e. tester) with positive response message.
Where,
SIDPR = SIDRQ + 0x40 , For example, for SIDRQ of 0x2E, SIDPR equals 0x6E
In UDS offboard diagnostics, tester acts as client and ECU acts as server. When server (i.e. ECU) receives
service request message, it checks the message. If server finds something is wrong than it responds with
negative response message (of total 3 bytes). The reasons for server not to perform requested service
are many such as requested message format is wrong, working conditions are not preferable etc.
Where,
SIDRQ is same as SID present in the service request message which is "SIDRQ" as above.
For example,