ISO 17987-2:2016
(Main)Road vehicles — Local Interconnect Network (LIN) — Part 2: Transport protocol and network layer services
Road vehicles — Local Interconnect Network (LIN) — Part 2: Transport protocol and network layer services
ISO 17987-2:2016 specifies a transport protocol and network layer services tailored to meet the requirements of LIN‑based vehicle network systems on local interconnect networks. The protocol specifies an unconfirmed communication. The LIN protocol supports the standardized service primitive interface as specified in ISO 14229‑2. ISO 17987-2:2016 provides the transport protocol and network layer services to support different application layer implementations like - normal communication messages, and - diagnostic communication messages. The transport layer defines transportation of data that is contained in one or more frames. The transport layer messages are transported by diagnostic frames. A standardized API is specified for the transport layer. Use of the transport layer is targeting systems where diagnostics are performed on the backbone bus (e.g. CAN) and where the system builder wants to use the same diagnostic capabilities on the LIN sub-bus clusters. The messages are in fact identical to the ISO 15765‑2 and the PDUs carrying the messages are very similar. The goals of the transport layer are - low load on LIN master node, - to provide full (or a subset thereof) diagnostics directly on the LIN slave nodes, and - targeting clusters built with powerful LIN nodes (not the mainstream low cost).
Véhicules routiers — Réseau Internet local (LIN) — Partie 2: Protocole de transport et couches de services réseau
General Information
- Status
- Published
- Publication Date
- 03-Aug-2016
- Technical Committee
- ISO/TC 22/SC 31 - Data communication
- Drafting Committee
- ISO/TC 22/SC 31/WG 3 - In-vehicle networks
- Parallel Committee
- ISO/TC 43/SC 1 - Noise
- Current Stage
- 9599 - Withdrawal of International Standard
- Start Date
- 05-Jun-2025
- Completion Date
- 12-Feb-2026
Relations
- Consolidated By
ISO 17640:2017 - Non-destructive testing of welds — Ultrasonic testing — Techniques, testing levels, and assessment - Effective Date
- 06-Jun-2022
- Effective Date
- 06-Jun-2022
Overview
ISO 17987-2:2016 specifies the transport protocol and network layer services for Local Interconnect Network (LIN)-based vehicle systems. The standard defines an unconfirmed communication transport layer tailored to LIN sub-buses and provides a standardized API for transporting application-layer messages - including both normal and diagnostic communication messages. It enables diagnostic functionality on LIN clusters while targeting clusters with more powerful LIN nodes and aims to minimize load on the LIN master node.
Key technical topics and requirements
- Transport protocol primitives and PDUs: Defines protocol data unit (PDU) types used for LIN transport - Single Frame (SF), First Frame (FF) and Consecutive Frame (CF) - and specifies the N_PCI control information fields that identify them.
- Network layer services and API: Standardized service primitives (e.g., N_USData.request, N_USData.confirm, N_USData.indication) for higher-layer integration and consistent service interfaces.
- Mapping to data link layer: Rules for mapping transport PDUs onto LIN data link services (L_Data.request/confirm/indication) and the PDU structure used on LIN frames.
- Timing, error handling and timeouts: Network-layer timing constraints, timeout handling, error recovery and unexpected-PDU behavior to support reliable multi-frame transfers.
- Diagnostic communication support: Transport-layer handling optimized for diagnostic messages (response pending, diagnostic classes, slave/master scheduling) so diagnostics can be performed via LIN or mirrored from a backbone bus.
- Network management: Node wake-up/sleep behaviors, communication state diagrams, and network management requirements for LIN clusters.
- Node capability and plug-and-play: Specification of LIN Node Capability Language (NCL) and Node Capability File (NCF) formats to describe node features, signals, frames and diagnostics for cluster design and debugging.
Practical applications and who uses ISO 17987-2:2016
- Vehicle OEMs and system architects designing LIN sub-bus clusters that require diagnostic access or application-layer transport services.
- ECU/LIN node firmware developers implementing transport and network layer stacks for slaves and masters.
- Diagnostic tool vendors and integration engineers who need consistent APIs and PDU mappings for LIN-based diagnostics.
- Tier‑1 suppliers building clusters that mirror backbone diagnostic capabilities (e.g., CAN) on LIN sub-buses while minimizing master CPU load.
- Test, validation and calibration teams using NCF/NCL descriptions for plug-and-play cluster configuration and debugging.
Related standards
- ISO 14229-2 (UDS service primitives) - referenced for standardized service primitive interface.
- ISO 15765-2 (CAN transport) - messages and PDUs are aligned to enable consistent diagnostic behavior across backbone and LIN sub-buses.
ISO 17987-2:2016 is essential for reliable multi-frame transport and diagnostic support on LIN networks, enabling consistent diagnostics and efficient network-layer implementations for modern vehicle architectures.
Get Certified
Connect with accredited certification bodies for this standard

BSI Group
BSI (British Standards Institution) is the business standards company that helps organizations make excellence a habit.

TÜV Rheinland
TÜV Rheinland is a leading international provider of technical services.

TÜV SÜD
TÜV SÜD is a trusted partner of choice for safety, security and sustainability solutions.
Sponsored listings
Frequently Asked Questions
ISO 17987-2:2016 is a standard published by the International Organization for Standardization (ISO). Its full title is "Road vehicles — Local Interconnect Network (LIN) — Part 2: Transport protocol and network layer services". This standard covers: ISO 17987-2:2016 specifies a transport protocol and network layer services tailored to meet the requirements of LIN‑based vehicle network systems on local interconnect networks. The protocol specifies an unconfirmed communication. The LIN protocol supports the standardized service primitive interface as specified in ISO 14229‑2. ISO 17987-2:2016 provides the transport protocol and network layer services to support different application layer implementations like - normal communication messages, and - diagnostic communication messages. The transport layer defines transportation of data that is contained in one or more frames. The transport layer messages are transported by diagnostic frames. A standardized API is specified for the transport layer. Use of the transport layer is targeting systems where diagnostics are performed on the backbone bus (e.g. CAN) and where the system builder wants to use the same diagnostic capabilities on the LIN sub-bus clusters. The messages are in fact identical to the ISO 15765‑2 and the PDUs carrying the messages are very similar. The goals of the transport layer are - low load on LIN master node, - to provide full (or a subset thereof) diagnostics directly on the LIN slave nodes, and - targeting clusters built with powerful LIN nodes (not the mainstream low cost).
ISO 17987-2:2016 specifies a transport protocol and network layer services tailored to meet the requirements of LIN‑based vehicle network systems on local interconnect networks. The protocol specifies an unconfirmed communication. The LIN protocol supports the standardized service primitive interface as specified in ISO 14229‑2. ISO 17987-2:2016 provides the transport protocol and network layer services to support different application layer implementations like - normal communication messages, and - diagnostic communication messages. The transport layer defines transportation of data that is contained in one or more frames. The transport layer messages are transported by diagnostic frames. A standardized API is specified for the transport layer. Use of the transport layer is targeting systems where diagnostics are performed on the backbone bus (e.g. CAN) and where the system builder wants to use the same diagnostic capabilities on the LIN sub-bus clusters. The messages are in fact identical to the ISO 15765‑2 and the PDUs carrying the messages are very similar. The goals of the transport layer are - low load on LIN master node, - to provide full (or a subset thereof) diagnostics directly on the LIN slave nodes, and - targeting clusters built with powerful LIN nodes (not the mainstream low cost).
ISO 17987-2:2016 is classified under the following ICS (International Classification for Standards) categories: 35.240.60 - IT applications in transport; 43.020 - Road vehicles in general; 43.040.15 - Car informatics. On board computer systems. The ICS classification helps identify the subject area and facilitates finding related standards.
ISO 17987-2:2016 has the following relationships with other standards: It is inter standard links to ISO 17640:2017, ISO 17987-2:2025. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
ISO 17987-2:2016 is available in PDF format for immediate download after purchase. The document can be added to your cart and obtained through the secure checkout process. Digital delivery ensures instant access to the complete standard document.
Standards Content (Sample)
INTERNATIONAL ISO
STANDARD 17987-2
First edition
2016-08-15
Road vehicles — Local Interconnect
Network (LIN) —
Part 2:
Transport protocol and network layer
services
Véhicules routiers — Réseau Internet local (LIN) —
Partie 2: Protocole de transport et couches de services réseau
Reference number
©
ISO 2016
© ISO 2016, Published in Switzerland
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form
or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior
written permission. Permission can be requested from either ISO at the address below or ISO’s member body in the country of
the requester.
ISO copyright office
Ch. de Blandonnet 8 • CP 401
CH-1214 Vernier, Geneva, Switzerland
Tel. +41 22 749 01 11
Fax +41 22 749 09 47
copyright@iso.org
www.iso.org
ii © ISO 2016 – All rights reserved
Contents Page
Foreword .vi
Introduction .vii
1 Scope . 1
2 Normative references . 2
3 Terms, definitions, symbols and abbreviated terms . 2
3.1 Terms and definitions . 2
3.2 Symbols . 4
3.3 Abbreviated terms . 4
4 Conventions . 5
5 Network management . 5
5.1 Network management general information . 5
5.2 LIN node communication state diagram . 5
5.3 Wake up . 6
5.3.1 Wake up general information . 6
5.3.2 Master generated wake up . 6
5.3.3 Slave generated wake up . 6
5.4 Go-to-sleep . 8
6 Network layer overview . 8
6.1 General . 8
6.2 Format description of network layer services . 9
6.3 Internal operation of network layer . 9
6.4 Service data unit specification .10
6.4.1 N_AI, address information .10
6.4.2 .11
6.4.3 .11
6.4.4 .11
6.5 Services provided by network layer to higher layers .12
6.5.1 Specification of network layer service primitives .12
6.5.2 N_USData.request .13
6.5.3 N_USData.confirm .13
6.5.4 N_USData_FF.indication .13
6.5.5 N_USData.indication .13
7 Transport layer protocol .14
7.1 Protocol functions .14
7.2 Single frame transmission .14
7.3 Multiple frame transmission .14
7.4 Transport layer protocol data units .16
7.4.1 Protocol data unit types . .16
7.4.2 SF N_PDU .16
7.4.3 FF N_PDU .16
7.4.4 CF N_PDU .16
7.4.5 Protocol data unit field description .16
7.5 Protocol control information specification .17
7.5.1 N_PCI .17
7.5.2 SingleFrame N_PCI parameter definition .18
7.5.3 FirstFrame N_PCI parameter definition .19
7.5.4 ConsecutiveFrame N_PCI parameter definition .19
7.6 Network layer timing .20
7.6.1 Timing constraints .20
7.6.2 Network layer timeouts .25
7.6.3 Network layer error handling .25
7.6.4 Unexpected arrival of N_PDU .26
8 Data link layer usage .27
8.1 Data link layer service parameters .28
8.2 Data link layer interface services .28
8.2.1 L_Data.request .28
8.2.2 L_Data.confirm .28
8.2.3 L_Data.indication .28
8.3 Mapping of the N_PDU fields .28
8.4 Transport layer PDU structure and communication .29
8.4.1 PDU structure .29
8.4.2 Communication .31
9 Diagnostic communication requirements .31
9.1 Definition of diagnostic classes .31
9.1.1 General.31
9.1.2 Diagnostic class I . . .31
9.1.3 Diagnostic class II .31
9.1.4 Diagnostic class III .31
9.1.5 Summary of slave node diagnostic classes .32
9.2 Diagnostic messages .32
9.3 Using the transport layer .32
9.4 Slave node diagnostic timing requirements .34
9.5 Response pending .36
9.6 Transport protocol handling in LIN master .36
9.6.1 General.36
9.6.2 Diagnostic master request schedule .36
9.6.3 Diagnostic slave response schedule .37
9.6.4 Diagnostic schedule execution .37
9.7 Transmission handler requirements .42
9.7.1 General.42
9.7.2 Master node transmission handler .42
9.7.3 Slave node transmission handler.46
9.8 Diagnostic service prioritization .48
10 LIN node capability language (NCL) .48
10.1 General .48
10.2 Plug and play workflow concept.49
10.2.1 General.49
10.2.2 LIN node generation .50
10.2.3 LIN cluster design .50
10.2.4 Debugging .51
11 Node capability file (NCF) .51
11.1 Overview of NCF syntax .51
11.2 Global structure definition .51
11.2.1 Node capability file marker .51
11.2.2 Language version number definition .52
11.2.3 NCF revision .52
11.2.4 Big-endian signal encoding variant .52
11.3 Node definition .52
11.3.1 General node definition .52
11.3.2 Diagnostic definition .53
11.3.3 Frame definition .54
11.3.4 Signal encoding type definition.55
11.3.5 Status management .56
11.3.6 Free text definition .56
11.4 NCF example .56
12 LIN description file (LDF) .57
12.1 General .57
12.2 Overview of LDF syntax .57
iv © ISO 2016 – All rights reserved
12.3 LDF definition .58
12.3.1 Global structure definition .58
12.3.2 Signal definition .59
12.3.3 Frame definition .60
12.3.4 Node definition .62
12.3.5 Schedule table definition .65
12.3.6 Signal encoding type definition.67
12.3.7 Signal representation definition .69
12.4 LDF example .69
Bibliography .72
Foreword
ISO (the International Organization for Standardization) is a worldwide federation of national standards
bodies (ISO member bodies). The work of preparing International Standards is normally carried out
through ISO technical committees. Each member body interested in a subject for which a technical
committee has been established has the right to be represented on that committee. International
organizations, governmental and non-governmental, in liaison with ISO, also take part in the work.
ISO collaborates closely with the International Electrotechnical Commission (IEC) on all matters of
electrotechnical standardization.
The procedures used to develop this document and those intended for its further maintenance are
described in the ISO/IEC Directives, Part 1. In particular the different approval criteria needed for the
different types of ISO documents should be noted. This document was drafted in accordance with the
editorial rules of the ISO/IEC Directives, Part 2 (see www.iso.org/directives).
Attention is drawn to the possibility that some of the elements of this document may be the subject of
patent rights. ISO shall not be held responsible for identifying any or all such patent rights. Details of
any patent rights identified during the development of the document will be in the Introduction and/or
on the ISO list of patent declarations received (see www.iso.org/patents).
Any trade name used in this document is information given for the convenience of users and does not
constitute an endorsement.
For an explanation on the meaning of ISO specific terms and expressions related to conformity assessment,
as well as information about ISO’s adherence to the World Trade Organization (WTO) principles in the
Technical Barriers to Trade (TBT) see the following URL: www.iso.org/iso/foreword.html.
The committee responsible for this document is ISO/TC 22, Road vehicles, SC 31, Data communication.
A list of all parts in the ISO 17987 series can be found on the ISO website.
vi © ISO 2016 – All rights reserved
Introduction
This ISO 17987 (all parts) specifies the use cases, the communication protocol and physical layer
requirements of an in-vehicle communication network called Local Interconnect Network (LIN).
The LIN protocol as proposed is an automotive focused low speed universal asynchronous receiver
transmitter (UART) based network. Some of the key characteristics of the LIN protocol are signal
based communication, schedule table based frame transfer, master/slave communication with error
detection, node configuration and diagnostic service transportation.
The LIN protocol is for low cost automotive control applications, for example, door module and air
condition systems. It serves as a communication infrastructure for low-speed control applications in
vehicles by providing:
— signal based communication to exchange information between applications in different nodes;
— bitrate support from 1 kbit/s to 20 kbit/s;
— deterministic schedule table based frame communication;
— network management that wakes up and puts the LIN cluster into sleep mode in a controlled manner;
— status management that provides error handling and error signalling;
— transport layer that allows large amount of data to be transported (such as diagnostic services);
— specification of how to handle diagnostic services;
— electrical physical layer specifications;
— node description language describing properties of slave nodes;
— network description file describing behaviour of communication;
— application programmer’s interface.
ISO 17987 (all parts) is based on the open systems interconnection (OSI) basic reference model as
specified in ISO/IEC 7498-1 which structures communication systems into seven layers.
The OSI model structures data communication into seven layers called (top down) application layer
(layer 7), presentation layer, session layer, transport layer, network layer, data link layer and physical layer
(layer 1). A subset of these layers is used in ISO 17987 (all parts).
ISO 17987 (all parts) distinguishes between the services provided by a layer to the layer above it and
the protocol used by the layer to send a message between the peer entities of that layer. The reason for
this distinction is to make the services, especially the application layer services and the transport layer
services, reusable also for other types of networks than LIN. In this way, the protocol is hidden from the
service user and it is possible to change the protocol if special system requirements demand it.
ISO 17987 (all parts) provides all documents and references required to support the implementation of
the requirements related to the following.
— ISO 17987-1: This part provides an overview of the ISO 17987 (all parts) and structure along with
the use case definitions and a common set of resources (definitions, references) for use by all
subsequent parts.
— ISO 17987-2: This part specifies the requirements related to the transport protocol and the network
layer requirements to transport the PDU of a message between LIN nodes.
— ISO 17987-3: This part specifies the requirements for implementations of the LIN protocol on the
logical level of abstraction. Hardware related properties are hidden in the defined constraints.
— ISO 17987-4: This part specifies the requirements for implementations of active hardware
components which are necessary to interconnect the protocol implementation.
— ISO/TR 17987-5: This part specifies the LIN application programmers interface (API) and the
node configuration and identification services. The node configuration and identification services
are specified in the API and define how a slave node is configured and how a slave node uses the
identification service.
— ISO 17987-6: This part specifies tests to check the conformance of the LIN protocol implementation
according to ISO 17987-2 and ISO 17987-3. This comprises tests for the data link layer, the network
layer and the transport layer.
— ISO 17987-7: This part specifies tests to check the conformance of the LIN electrical physical layer
implementation (logical level of abstraction) according to ISO 17987-4.
viii © ISO 2016 – All rights reserved
INTERNATIONAL STANDARD ISO 17987-2:2016(E)
Road vehicles — Local Interconnect Network (LIN) —
Part 2:
Transport protocol and network layer services
1 Scope
This document specifies a transport protocol and network layer services tailored to meet the
requirements of LIN-based vehicle network systems on local interconnect networks. The protocol
specifies an unconfirmed communication.
The LIN protocol supports the standardized service primitive interface as specified in ISO 14229-2.
This document provides the transport protocol and network layer services to support different
application layer implementations like
— normal communication messages, and
— diagnostic communication messages.
The transport layer defines transportation of data that is contained in one or more frames. The
transport layer messages are transported by diagnostic frames. A standardized API is specified for the
transport layer.
Use of the transport layer is targeting systems where diagnostics are performed on the backbone bus
(e.g. CAN) and where the system builder wants to use the same diagnostic capabilities on the LIN sub-
bus clusters. The messages are in fact identical to the ISO 15765-2 and the PDUs carrying the messages
are very similar.
The goals of the transport layer are
— low load on LIN master node,
— to provide full (or a subset thereof) diagnostics directly on the LIN slave nodes, and
— targeting clusters built with powerful LIN nodes (not the mainstream low cost).
A typical system configuration is shown in Figure 1.
Figure 1 — Typical system setup for a LIN cluster using the transport layer
2 Normative references
The following documents are referred to in the text in such a way that some or all of their content
constitutes requirements of this document. For dated references, only the edition cited applies. For
undated references, the latest edition of the referenced document (including any amendments) applies.
ISO 14229-1, Road vehicles — Unified diagnostic services (UDS) — Part 1: Specification and requirements
ISO 14229-2, Road vehicles — Unified diagnostic services (UDS) — Part 2: Session layer services
ISO 14229-7:2015, Road vehicles — Unified diagnostic services (UDS) — Part 7: UDS on local interconnect
network (UDSonLIN)
ISO 17987-3:2016, Road vehicles — Local Interconnect Network (LIN) — Part 3: Protocol specification
3 Terms, definitions, symbols and abbreviated terms
3.1 Terms and definitions
For the purposes of this document, the terms and definitions given in ISO/IEC 7498-1 and the
following apply.
ISO and IEC maintain terminological databases for use in standardization at the following addresses:
— IEC Electropedia: available at http://www.electropedia.org/
— ISO Online browsing platform: available at http://www.iso.org/obp
3.1.1
broadcast NAD
slave node receiving a message with a NAD equal to the broadcast NAD 7F the message is received
and processed
2 © ISO 2016 – All rights reserved
3.1.2
configured NAD
value in the range of (01 to 7D ) which is assigned to each slave node
16 16
Note 1 to entry: The assignment of configured NAD to each slave node is defined in the LDF. The configured NAD
is used for node configuration and identification services, as well as UDS services according to ISO 14229-7.
Note 2 to entry: When communication is initialized configured NADs of slave nodes may be identical. The master
shall assign unique configured NADs to all slave nodes before diagnostic communication begins.
Note 3 to entry: Setting or altering the configured NAD in a slave node can be done by the following ways:
— the master node assigns a new configured NAD to a slave node supporting the “Assign NAD” service;
— an API call in a slave node assigns the configured NAD;
— the configured NAD is assigned with a static configuration.
3.1.3
functional NAD
(7E )
used to broadcast diagnostic requests
3.1.4
initial NAD
constant/static value in the range of (01 to 7D )
16 16
Note 1 to entry: initial NAD value may be derived from a pin configuration, EEPROM or slave node position
detection algorithm before entering the operational state (regular LIN communication).
Note 2 to entry: The combination of initial NAD, Supplier ID and Function ID unique for each slave node is used in
the “Assign NAD” command allowing an unambiguous configured NAD assignment.
Note 3 to entry: If no initial NAD is defined for a slave node (LDF, NCF) the value is identical to the configured NAD.
3.1.5
P2 timing parameter
application timing parameter for the ECU(s) and the external test equipment
3.1.6
P2* timing parameter
enhanced response timing parameter for the ECU(s) application after response pending frame
transmission
3.1.7
P4 timing parameter
timing parameter for the ECU(s) application defining the time between reception of a request and the
final response
3.1.8
proprietary NAD
NAD values in the range [80 – FF ] are used for not standardized communication purpose, such as
16 16
Tier-1 slave node diagnostics
3.2 Symbols
% percentage
µs microsecond
ms millisecond
| The vertical bar indicates choice. Either the left hand side or the right hand side of the vertical
bar shall appear
3.3 Abbreviated terms
API application programmers interface
BNF Bachus-Naur format
CAN Controller Area Network
CF ConsecutiveFrame
FF FirstFrame
LDF LIN description file
L_Data data link data
MRF master request frame
N_AI network address information
N_As network layer timing parameter As
N_As timeout on As
max
N_Cr network layer timing parameter Cr
N_Cr timeout on Cr
max
N_Cs network layer timing parameter Cs
N_Cs timeout on Cs
max
N_Data network data
N_PCI network protocol control information
N_PCItype network protocol control information type
N_PDU network protocol data unit
N_SA network source address
N_SDU network service data unit
N_TAtype network target address type
N_USData network layer LIN data transfer service name
NAD node address for slave nodes
4 © ISO 2016 – All rights reserved
NCF node capability file
NCL node capability language
NRC negative response code
NWL network layer
OBD on-board diagnostics
OSI Open Systems Interconnection
PDU protocol data unit
PID protected identifier
RSID response service identifier
SF SingleFrame
SID service identifier
SN SequenceNumber
SRF slave response frame
ST SeparationTime minimum
min
4 Conventions
ISO 17987 (all parts) and ISO 14229-7 are based on the conventions specified in the OSI Service
Conventions (ISO/IEC 10731) as they apply for physical layer, protocol, transport protocol and network
layer services and diagnostic services.
5 Network management
5.1 Network management general information
Network management in a LIN cluster refers to cluster wake up and go-to-sleep only. Other network
management features, for example, configuration detection and limp home management are left to the
application.
5.2 LIN node communication state diagram
The state diagram in Figure 2 shows the behaviour model for LIN communication state.
— Bus Sleep
Bus Sleep state is entered after first connection to power source and the system initialization, reset
or when a go-to-sleep command is transmitted by the master or received by the slave node. The
level on the bus is set to recessive. Only the wake up signal may be transmitted on the cluster.
— Operational
The protocol behaviour (transmitting and receiving frames) specified in this document only applies
to the Operational state.
NOTE The LIN “Bus Sleep” state does not necessarily correlate to the node’s power state.
Figure 2 — LIN node communication state diagram
5.3 Wake up
5.3.1 Wake up general information
Any node in a sleeping LIN cluster may request a wake up, by transmitting a wake up signal. The wake
up signal is started by forcing the bus to the dominant state for 250 µs to 5 ms, and is valid with the
return of the bus signal to the recessive state.
5.3.2 Master generated wake up
The master node may issue a break field, e.g. by issuing an ordinary header since the break acts as a
wake up signal (in this case, the master shall be aware of that this frame may not be processed by the
slave nodes since they may not yet awake and ready to listen to headers).
Every slave node (connected to power) should detect the wake up signal (a dominant pulse longer than
150 µs followed by a rising edge of the bus signal) and be ready to listen to bus commands within
100 ms, measured from the ending edge of the dominant pulse (see Figure 3). The check for the rising
edge shall be done by the transceiver and also could be done by the microcontroller LIN interface.
A detection threshold of 150 µs combined with a 250 µs pulse generation gives a detection margin that
is enough for uncalibrated slave nodes. Following the detection of the wake up pulse, the Slave task
machine (ISO 17987-3:2016, 7.5.3) shall start and enter into the idle state. During the idle state, the slave
shall never issue a dominant level pulse on the bus until the state machine enters into an active state.
5.3.3 Slave generated wake up
If the node that transmitted the wake up signal is a slave node, it shall be ready to receive or transmit
frames immediately. The master node shall also wake up and, when the slave nodes are ready (>100 ms),
start transmitting headers to find out the cause (using signals) of the wake up.
6 © ISO 2016 – All rights reserved
Figure 3 — Wake up signal reception in slave nodes
The master node shall detect the wake up signal (a dominant pulse longer than 150 µs followed by a
rising edge of the bus signal) and be ready to start communication within a time that is decided by the
cluster designer or application specific. The check for the rising edge shall be done by the transceiver
and also could be done by the microcontroller LIN interface.
If the master node does not transmit a break field (i.e. starts to transmit a frame) or if the node issuing
the wake up signal does not receive a wakeup signal (from another node) within 150 ms to 250 ms
from the wake up signal, the node issuing the wake up signal shall transmit a new wake up signal
(see Figure 4). In case the slave node transmits a wake up signal in the same time as the master node
transmits a break field, the slave shall receive and recognize this break field.
Figure 4 — One block of wake up signals
After three (failing) requests, the node shall wait minimum 1,5 s before issuing a fourth wake up signal.
The reason for this longer duration is to allow the cluster to communicate in case the waking slave node
has problems, e.g. if the slave node has problems with reading the bus it probably retransmit the wake
up signal infinitely. There is no restriction of how many times a slave may transmit the wake up signal.
However, it is recommended that a slave node transmits not more than one block of three wake up signals
for each wake up condition. Figure 5 shows how wake up signals are transmitted over a longer time
Figure 5 — Wake up signals over long time
5.4 Go-to-sleep
The master sets each node in the cluster instantly into bus sleep state by transmitting a go-to-sleep
command. The request does not necessarily enforce the slave nodes into a low-power mode. The slave
node application may still be active after the go-to-sleep command has been received. This behaviour
is application specific. The go-to-sleep command is a master request frame with the first data field
(Byte 1) set to 00 and the rest set to FF (see Table 1). The slave nodes shall ignore the data fields
16 16
Byte 2 to Byte 8 and interpret only the first data field (Byte 1).
Table 1 — Go-to-sleep command
LIN frame
Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7 Byte 8
00 FF FF FF FF FF FF FF
16 16 16 16 16 16 16 16
The normal way for setting the cluster to sleep is that the master node transmits the go-to-sleep
command. In case of bus inactivity, a slave node shall be able to receive/transmit frames for 4 s. The
slave node shall automatically enter bus sleep mode earliest 4 s and latest 10 s of bus inactivity. Bus
inactivity is defined as no transitions between recessive and dominant bit values. Bus activity is the
inverse.
NOTE LIN transceivers normally have filters to remove short spikes on the bus. The transition here refers to
the signal after this filter.
6 Network layer overview
6.1 General
This document specifies an unconfirmed network layer communication protocol for the exchange of
data between network nodes, e.g. from ECU to ECU, or between external test equipment and an ECU. If
the data to be transferred do not fit into a single LIN frame, a segmentation method is provided.
In order to describe the function of the network layer, services provided to higher layers and the
internal operation of the network layer shall be considered.
All network layer services have the same general structure. To define the services, three types of
service primitives are specified:
— a service request primitive, used by higher communication layers or the application to pass control
information and data required to be transmitted to the network layer;
— a service indication primitive, used by the network layer to pass status information and received
data to upper communication layers or the application;
— a service confirmation primitive, used by the network layer to pass status information to higher
communication layers or the application.
This service specification does not specify an application programming interface, but only a set of
service primitives that are independent of any implementation.
8 © ISO 2016 – All rights reserved
6.2 Format description of network layer services
All network layer services have the same general format. Service primitives are written in the form:
service_name.type (
parameter A,
parameter B
[,parameter C, .]
)
where service_name is the name of the service, e.g. N_USData, type indicates the type of the service
primitive, and “parameter A, parameter B [parameter C, .]” are the N_SDU as a list of values passed by
the service primitive. The brackets indicate that this part of the parameter list may be empty.
The service primitives define how a service user (e.g. diagnostic application) cooperates with a service
provider (e.g. network layer). The following service primitives are specified in this document: request,
indication and confirm.
— Using the service primitive request (service_name.request), a service user requests a service
from the service provider.
— Using the service primitive indication (service_name.indication), the service provider
informs a service user about an internal event of the network layer
...




Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...