Unified Diagnostic Protocol offers some ISO specified diagnostic services (Each service has unique functionality) and its implementation. Each UDS service has fixed functionality. These UDS services are specified into ISO-14229(1). As the name contain “Unified”, means these services and its functionality will be the same for all UDS enabled ECUs independent of suppliers.
Although UDS specification works on application layer(14229-1) and session layer(14229-2) but ultimately Server(ECU) and Diagnostic Tool(Client) are connected over physical medium to communicate with each other whether it can be CAN, flexray or Ethernet and it depends on ECU manufacturer choice and ECU requirement. UDS protocol implementation will be independent of the communication medium chosen because communication protocol implementation works on Data Link layer and Physical layer only .
Here I have taken UDS on CAN so UDS request and response should follow the Bosch CAN specification to send data over CAN Bus. See the below snippet for used ISO Specification at each ISO layer for UDS on CAN Implementation-
|OSI Layer||ISO Specification||Comment|
|Application Layer||14229-1 & |
|14229(1)- UDS Services and requirement
14229(3)- UDS CAN Related requirement(UDSonCAN)
|Presentation Layer||NA||Vehicle Manufacturer Specific|
|Session Layer||14229-2||Session layer Services|
|15675-2||international standard for sending data packets over a CAN-Bus(DoCAN)|
|Data Link Layer||11898-1||CANIF and CAN Driver layer implementation Specification|
|Physical layer||11898-2||CAN Physical Layer Implementation Specification|