ISO-TP – ISO 15765-2

Die bisherigen Transportprotokolle wiesen Einschränkungen bei der Übertragung größerer Datenmengen auf, wie sie insbesondere bei der Programmierung und beim Flashen auftreten können. Aus diesem Grund wurde durch die ISO 15765-2 ein neues Transportprotokoll (kurz ISO-TP) definiert. Die Norm findet Anwendung für verschiedene fahrzeugspezifische Bussysteme wie den CAN-Bus, FlexRay, LIN oder MOST.

Die ISO-TP-Schicht deckt die Layer 3 und 4 im OSI-Modell ab, und kann bis zu 4095 Bytes Nutzdaten in einem Telegramm transportieren. Dazu werden die Nutzdaten auf einzelne Telegramme aufgeteilt, und um Steuerdaten ergänzt, die eine Interpretation durch den Empfänger ermöglichen.

ISO-TP ermöglicht sowohl die Adressierung über den üblichen CAN-Identifier, als auch die Adressierung mittels Extended Addressing. Beim Extended Addressing wird zusätzlich das erste Byte der Nutzdaten eines Frames genutzt, um eine weitere Adressinformation zu übertragen. Dies ist erforderlich, wenn nicht jedes Steuergerät über einen eigenen CAN-Identifier verfügt.

In jedem ISO-TP-Telegramm ist grundsätzlich ein Byte für die Protokoll-Informationen (PCI – Protocol Control Information) enthalten. Hier werden der Frame Typ, ein Zähler und eine Statusinformation übertragen.

PCI IdentifierTelegramm-Typ
0x0Single Frame
0x1First Frame
0x2Consecutive Frame
0x3Flow Control
PCI Frame Identifier

Ablauf

  1. Der Sendevorgang wird vom Sender mit einem First Frame gestartet.
  2. Der Empfänger bestätigt den First Frame durch ein Flow Control. Mit diesem Flow Control teilt er dem Sender außerdem mit, wie viele Consecutive Frames aufeinander folgen dürfen, und wie der zeitliche Abstand zwischen diesen sein darf.
  3. Der Sender übermittelt daraufhin die zulässige Anzahl an Consecutive Frames. Dieser Block wird ebenfalls wieder vom Empfänger mit einem Flow Control bestätigt.
  4. Dieses Senden von Consecutive Frame Blöcken wird wiederholt, bis sämtliche Daten übertragen wurden.
ISO-TP Ablauf
ISO-TP Ablauf

Aufbau der verschiedenen Frame-Typen

1. Single Frame

Müssen lediglich 6 (extended Adressing) oder 7 (Standard) Bytes übertragen werden, ist keine Segmentierung erforderlich und es wird ein einzelner Frame geschickt.

ISO-TP Single Frame
Single Frame

Identifier: 0x0 – Identifier Single Frame

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

2. First Frame

Ein First Frame wird gesendet, wenn mehr Daten zu senden sind, als durch einen Single Frame aufgenommen werden können. In diesem Fall transportiert der First Frame zunächst noch keine Nutzdaten, sondern lediglich die Gesamtlänge der zu übertragenden Daten.

ISO-TP First Frame
First Frame

Identifier: 0x1 – Identifier First Frame

DL: Data Length (max. 4095 Bytes)

3. Consecutive Frame

Nach einem First Frame folgen alle weiteren Daten in Consecutive Frames. Diese führen außerdem einen Zähler mit. Über diesen können verloren gegangene Frames erkannt werden.

ISO-TP Consecutive Frame
Consecutive Frame

Identifier: 0x2 – Identifier Consecutive Frame

SN: Sequence Number (0-15)

4. Flow Control

Durch einen Flow Control Frame kann die Art und Weise festgelegt werden, in der die Übertragung erfolgen soll.

ISO-TP Flow Control
Flow Control

Identifier: 0x3 – Identifier Flow Control

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

BS: Blocksize der maximal möglichen folgenden Consecutive Frames

ST: min. Separation Time zwischen aufeinander folgenden Consecutive Frames

Nach oben scrollen