Skip to main content

Diagnostic Session : Function 1 - Maintain Connection-Oriented Communication

Maintain Connection-Oriented Communication
Whenever ECU is awake and ready to process any message on CAN , it can also process a diagnostic message. 

So we do not need any special connection establishment for starting the Diagnostic Communication. But we need to maintain a Diagnostic Communication Link between client and server when we need it for longer time till our purpose is not served. Going ahead , we will see what does it mean. 

There are two use cases of Session Management:

Diagnostic Connection:
When Client is connected to server, the server has to notify the client that it is connected to the server and diagnostic communication is not yet finished.

The need of this feature is in the power management of the Server ECU . Server ECU will be in  wake up state during the diagnostic communication and shall not go to sleep while communication is going on. Also it shall not remain in wake up  state unnecessarily if no more diagnostic communication is going to happen. Otherwise it will drain the ECU battery.

To achieve this, the Client needs to notify the server about opening, maintaining and closing the Diagnostic Communication.

Session Extension and Closure

ECU supports 3 basic sessions and only non-default sessions are time bound, means need to be extended explicitly otherwise will  expire. Hence Server needs to notify the client about this.

This is done through a Service $3E Tester present and $10 Diagnostic Session Control.

It necessary to know that; when ECU is in non-default session, a Service $ 3E Tester Present needs to be sent to server by client to server, so as to extend the current diagnostic session.

 Let us see how these two things are done.

Server and client both are have a Timer called “S3 timer” for session management.

When a client changes a session a timer is started. The timer name is S3 timer.
Server maintains S3 Server and Client maintains S3 Client timer.

Below sequence follows:

1.  S3 timer : Session Extension


2S3 Timer Expiry




Comments

Popular posts from this blog

What is a Diagnostic Communication

Diagnostic Communication : Diagnostic Communication is base of Automotive Diagnostics . It is an  exchange of Diagnostic messages between an two entities. Those could be two , ECUs or ECU and  Tester Application.or it could be a group of ECUs and a tester application    The basic components of the diagnostic communication are : A Diagnostic Message :   It could be of these types -  1. A Request 2. A Response  3. A Negative Response Code Diagnostic Address :  1. Functional 2. Physical  Diagnostic Protocol : 1. UDS 2. J1939 3. KWP 2000 etc. Supporting Protocols :  1. CAN 2. Ethernet 3. K-line ,etc What is  Diagnostic Protocols ans supporting Protocols   ?  ECUs and tester communication are connected to each other by physical or wireless media. They exchange messages (requests and responses) over that physical or wireless channel. It is same as we connect to each other over internet or phone...

Diagnostic Session : Function 5 - Session Oriented Access to Services

  There are multiple users those need to use UDS protocol for various purposes like Garage person for fault detection, ECU manufacture for Testing activities and development purpose. Also  OEM needs  access to ECU memory for flashing purposes.   UDS services can be categorized in different groups like few services will just read some Data from memory,a few will write or update the data to memory, some will erase/update ECU sw itself , some will control Inputs outs of ECU directly.  So there are chances that any improper usage of UDS service may result in safety issues , security breaches or damage to ECU resources. Hence, it doesn't make sense to give access to all services to everyone. To achieve this UDS has designed some mechanisms like Sessions, Security Authentication, Preconditions. I hope you are aware about what a Diagnostic Session is. Please visit :  https://thevehiclediagnostics.blogspot.com/2020/01/what-is-diagnostic-session.html   if you ...

A 2nd Pebble : What is Endianness ?

Endiness is characteristic of a Digital link or an Electronic System. For a System, Endiness refers to the order in which the data is stored by the system in its memory. The order could be LSB to a lower memory address or MSB to lower memory address. For example : A Data coming to system is  - 0x 00 FF  - '00' : MSB and 'FF' : LSB in the received data.  - System use 2 bytes to store data in its memory. Suppose address bytes 0x0001 and 0x0002 are to be used for storing these 2 data bytes. - Strange thing is , System can utilize these two bytes in two ways to store the data. Method 1  : Little Endian Address  | 0x0001          |   0x0002     | Data        |   LSB - FF    |    MSB - 00 | Method 2 : Big Endian Address  | 0x0001          |   0x0002     | Data        |  ...