ISO-TP – ISO 15765-2

Previous transport protocols had limitations when transferring large amounts of data, as can occur particularly during programming and flashing. For this reason, ISO 15765-2 defined a new transport protocol (ISO-TP for short). The standard applies to various vehicle-specific bus systems such as the CAN bus, FlexRay, LIN, and MOST.

The ISO-TP layer covers Layers 3 and 4 of the OSI model and can transport up to 4,095 bytes of payload data in a single telegram. To do this, the payload data is divided into individual telegrams and supplemented with control data that enables the recipient to interpret it.

ISO-TP supports both addressing via the standard CAN identifier and addressing via extended addressing. With extended addressing, the first byte of a frame’s payload is also used to transmit additional address information. This is necessary when not every control unit has its own CAN identifier.

Every ISO-TP telegram always contains one byte for protocol information (PCI—Protocol Control Information). This byte carries the frame type, a counter, and status information.

PCI IdentifierTelegram Type
0x0Single Frame
0x1First Frame
0x2Consecutive Frame
0x3Flow Control
PCI Frame Identifier

Overview

  1. The transmission process is initiated by the transmitter with a first frame.
  2. The receiver acknowledges the first frame using a flow control signal. With this flow control signal, the receiver also informs the transmitter of the maximum number of consecutive frames that may follow one another and the maximum time interval between them.
  3. The transmitter then sends the permitted number of consecutive frames. The receiver also acknowledges this block with a flow control message.
  4. This transmission of consecutive frame blocks is repeated until all data has been transmitted.
ISO-TP Sequence
ISO-TP Sequence

Structure of the Various Frame Types

1. Single Frame

If only 6 bytes (extended addressing) or 7 bytes (standard) need to be transmitted, no segmentation is required, and a single frame is sent.

ISO-TP Single Frame
Single Frame

Identifier: 0x0 – Identifier Single Frame

DL: Data Length (max. 6/7 Bytes)

2. First Frame

A first frame is sent when there is more data to be transmitted than can be contained in a single frame. In this case, the first frame does not initially carry any payload data, but only the total length of the data to be transmitted.

ISO-TP First Frame
First Frame

Identifier: 0x1 – Identifier First Frame

DL: Data Length (max. 4095 Bytes)

3. Consecutive Frame

After the first frame, all subsequent data is transmitted in consecutive frames. These frames also include a counter, which can be used to detect lost frames.

ISO-TP Consecutive Frame
Consecutive Frame

Identifier: 0x2 – Identifier Consecutive Frame

SN: Sequence Number (0-15)

4. Flow Control

A flow control frame can be used to specify how the transmission should take place.

ISO-TP Flow Control
Flow Control

Identifier: 0x3 – Identifier Flow Control

FS: Flow Status (0 – Clear to send, 1 – Wait, 2 – Overflow)

BS: Block size of the maximum possible consecutive frames

ST: Minimum separation time between consecutive frames

Scroll to Top