Transport layer defines how to transport data that can be contained within only one frame or within several frames from a LIN cluster. The transport layer is intended to set diagnostic to a back-bone bus (external from the LIN cluster).
The units that are transported from the Transport Layer are called Packed Data Units (PDU), these can be part of complete messages or part of several consecutives’ messages. Messages that were issued by the client (A external tester, or the master node in behalf o external devices) are called request; whereas messages issued by the server (LIN cluster) are called responses.
To simplify the mapping from the LIN transport layer frames to other transport layers frames, a similar message structure is defined as follows:
- NAD (Node Address), which is sent first, is the address of the slave node. Only slave nodes have NAD since NADs are used to indicate the source of a response. The NADs ID values are from 1 to 127, while other IDs are reserved for other purposes. Since a slave node can be logically addressed by several mapping, a physical slave can have numerous logical NADs.
- PCI (Protocol Control Information), defines whether the transported message can fit into a single PDU or several PDUS.
- When PCI = SF, means that the transported message fits into a single PDU. Also, it contains the length of the data inside this Single Frame.
- When PCI = FF, means that the transported message does not fit into a single PDU, and that the transportation of that message is beginning. FF indicates the first PDU of the multiple PDU message. Also, it contains the total of Consecutive Frame data indicating how many Consecutive Frames are required to transport the multi PDU data.
- When PCI = CF, means the continuation of the Consecutive Frames sending. It consists also of the frame counter, which is consecutive from 0 to 15 and it wrappers the counter when it reaches the maximum number.
- LEN, it is used only for PCI = FF, it contains the least significant bits of the message length, so the maximum is 4095 (0xFFF).
- SID (Service ID), defines the request that shall be performed by the slave node, it can be diagnostics responses or node configurations.
- RSID(Response Service ID), specifies the content of a response (activated by a request with SID), it is the way that slave nodes respond for a diagnostic or configuration request. About diagnostic, either the response is positive or negative (NCF), the slave shall responded. While configurating the slave should be able to configure and respond in the next schedule time
- The RSID for a positive response is always = to SID + 0x40
- Data (1 to 6), the interpretation of this data depends merely from the SID and RSID values and if the message is not filled completely, then the mas value is always 0xFF.