Support Session layer requirements of OSI layer requirement specifies the timings related requirements for Client and Server. There
are timers called P2 and P2 * for both (client and server) to be followed. Let
us see what is P2 timer?
A communication is a series of requests and responses. Request is sent
by Client and response is sent by Server. So when a client sends a request it needs to wait for a response from server
Have we ever thought how much time it shall wait till the response come. What it if waited
but never received a response ?
These are a few example of scenarios where communication does not go as
expected. But definitely these things are taken care while designing the protocol and we
need to know how.
So the question is Why server needs to wait and for how much time it needs to wait ? Is there any limit for that ?
Yes there is a limit and client will wait as per the defined limit. But this does not answer the
question completely.
We need to go deeper to know the what are these limits. The limits are labelled as "P2 time" and set to a values considering the Transmission delay and Processing time.
Transmission delay is caused due to many factors like gateway,
arbitration process, etc
Processing time is the time taken by ECU to make the response contents
ready for sending. Processing time depends upon the service which is under
process and availability of ECU resources to accomplish the process.
Let us see P2 time and timer in detail -
The time limit is refereed as P2 time and the timer maintained for this purpose is called P2 timer. It exists for Server and named as P2 server. It exists for client and named as P2 Client.
So do watch below video to explore what is P2 server and P2 client Time and timer :
We will explore the answer to this question in next blog.
Before answering to the question let us see why this situation will come when ECU will not reply in that time. Diagnostic services are of different types. When a service is being processed by server as requested by Client it needs to perform various actions. For some of the actions it may take more time. e.g for Erasing a memory or writing a memory or disabling an output or computing a value.
So ECU can start processing a request and that process is not likely to be completed in P2 Server time then ECU needs to inform that to the client. This is done with the usage of NRC 0x78.
Please refer below video how it works.
Comments
Post a Comment