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
2. S3 Timer Expiry
Comments
Post a Comment