-
Notifications
You must be signed in to change notification settings - Fork 28
Description
Although it's been discussed elsewhere, I'm opening an issue here dedicated to discussing our timing requirements for publishing slave node responses so we have a hard target to work towards.
The Specification
Taken from the LIN v2.2 spec - Section 2.3.2:
The maximum space between the bytes is additional 40% duration compared to the
nominal transmission time. The additional duration is split between the header (the
master task) and the frame response (a slave task). This yields:
THeader_Maximum = 1.4 * THeader_Nominal (6)
TResponse_Maximum = 1.4 * TResponse_Nominal (7)
TFrame_Maximum = THeader_Maximum + TResponse_Maximum (8)
The maximum length of the header, response and frame is based on the nominal time
for a frame (based on the FNom as defined in section 6.3). Therefore the bit tolerances
are included in the maximum length.
Example: A master node that is 0.5% slower than FNom will have to be within
1.4*THeader_Nominal.
All subscribing nodes shall be able to receive a frame that has a zero overhead, i.e.
that is TFrame_Nominal long.
Tools and tests shall check the TFrame_Maximum. Nodes shall not check this time. The
receiving node of the frame shall accept the frame up to the next frame slot (i.e. next
break field), even if it is longer then TFrame_Maximum
The relevant part being:
TResponse_Maximum = 1.4 * TResponse_Nominal
My Calculations
The nominal tranmission time for one byte(10 bits w start and stop bits) at 19200 bps is:
10/19200 = 521 microseconds
Therfore, the maximum LIN frame response time for a one byte response is:
521 * 1.4 = 729 microseconds
RFC
Any feedback regarding my interpretation of the specification or accompanying calculations would be much appreciated!