Skip to content

Serial RX Latency and Frame Timing per LIN Specification #27

@kbader94

Description

@kbader94

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions