What is a session ?
Before we move to any service in the
UDS we need to know a concept called Session.
The literal meaning of session in English
is “A period devoted for particular activity’.
It perfectly matches with the meaning
of session in diagnostic functionality as well.
Along with this, there are many more
aspects which make session very important.
We have multiple use cases of
diagnostics and to serve these purposes we exchange multiple diagnostic
services.
It is important to consider below factors
while performing a Diagnostics Communication:
- ü Maintain Connection-oriented Communication: Opening and closure of Diagnostic Link for communication. Time out and extension of diagnostic communication.
- ü Support Session layer requirements of OSI layer.
- ü Security
and authorization of the user – Use of Seed and Key for
authenticating user
- ü Safeguard
the easy access ECUs memory, IO or SW, Purpose of Communication –
Permission of executing critical services if authorized to do so.
- ü Function oriented access to Services – Permission to execute grouping of services as per the generalization or specialization purposes.
- ü Synchronize
Diagnostic processes with ECU’s primary functionalities. e.g when
ECU is in Programming Activity it does not set DTCs.
To address all these factors many
services work together in UDS. The basic one is Diagnostic Session Control -SID
0x10
A Session can be defined as
a diagnostic
connection existing between the sender and receiver for defined
time period (until extended) and providing access to defined services of UDS
as per the type of session.
So, to
simplify the definition,
- Session is
time bound connection
- Session
provided access to different services.
- Session
can be changed
- Session
can be extended
- Session
ends if not extended
- Session can
be terminated
- Session can be of multiple types
Let me clarify more :
- Session is time bound connection of S3 time
- Session provided access to different services - refer ISO 14229-1 Services allowed in each session
- Session can be initiated and changed with the help of a Diagnostic service $10 - Diagnostic Session Control
- Session can be extended and terminated by sending or stopping a Diagnostic Service $ 3E Tester Present
- Session can be of multiple types :
2.
Extended Session
3. Programming Session
3. Programming Session
So ECUs
operating cycle will revolve around above mentioned three sessions. The word “operating
cycle” instead of “Diagnostic communication cycle” is used deliberately because
ECU can enter these sessions while it performing its basic functions. So ECUs
normal functionality shall not be impacted due to session change until; it is
forced to change by a diagnostic service itself.e.g Service $ 28 can stop normal application message transmission of ECU and has a huge impact on the ECUs primary function. But reading a DID in any of the session doews not impact ECUs any primary function.
We will
see how the "Maintain Connection-oriented Communication " is are handled my Diagnostic Session Control
Service in next write - up.
Comments
Post a Comment