Zum Inhalt springen
AutoST by Zyberum GmbH
Menü
Kostenloses ToolCAN

ISO-TP-Frame-Rechner

Wie viele CAN-Frames braucht eine UDS-Nachricht? Nutzlast, Classic CAN oder CAN FD und Flow Control wählen: First, Consecutive und Flow Control Frames plus Timing.

Aktualisiert Diese Seite als Markdown

Kurz gesagt

Dieser Rechner zeigt, wie ISO 15765-2 (ISO-TP) eine Diagnosenachricht segmentiert: ob sie in einen Single Frame passt, wie viele Consecutive Frames und Flow-Control-Frames eine segmentierte Übertragung auf Classic CAN (8 Bytes) oder CAN FD (64 Bytes) braucht, mit normaler oder erweiterter Adressierung, und die Mindestübertragungszeit, die aus der Separation Time STmin folgt. Er markiert außerdem die Escape-Sequenz für Nutzlasten über 4095 Bytes.

Die UDS-Nachricht, zum Beispiel 300 Bytes TransferData.

Frame-Typ
Adressierung

0 = kein weiterer Flow Control nach dem ersten.

0 bis 127 = ms; 241 bis 249 = 100 bis 900 µs.

Segmentierung

Segmentierte Übertragung

First Frame
1
Consecutive Frames
42
Flow-Control-Frames
1
Frames gesamt
44
Bytes auf dem Bus
347
Mindestzeit aus STmin
0 ms

Erste Frames

  • First Frame112C + 6 B
  • Consecutive Frames 121 + 7 B
  • Consecutive Frames 222 + 7 B
  • Consecutive Frames 323 + 7 B
  • Consecutive Frames 424 + 7 B
  • … 38 weitere Consecutive Frames

So funktioniert es

ISO 15765-2 setzt ein Protocol-Control-Information-Byte (PCI) vor die Nutzlast. Ein Single Frame (PCI 0x0L) trägt die ganze Nachricht; ein First Frame (0x1LLL) kündigt die Länge an und trägt die ersten Bytes; Consecutive Frames (0x2N) tragen den Rest mit einer 4-Bit-Sequenznummer; und der Empfänger antwortet auf den First Frame mit einem Flow-Control-Frame (0x3S BS STmin), der Block Size und Separation Time setzt. Der Rechner wendet diese Regeln für 8-Byte-Classic-Frames und 64-Byte-CAN-FD-Frames an, zieht bei erweiterter oder gemischter Adressierung ein Byte pro Frame ab und zählt die Flow Controls aus der Block Size.

Die Mindestzeit ist Consecutive Frames minus eins, mal STmin. Busarbitrierung, die Dauer der Frames selbst und das P2-Timing der Anwendungsschicht bleiben außen vor, der Wert ist also eine Untergrenze.

So liest du das Ergebnis

Nutze ihn, um Traces zu plausibilisieren und Tests zu dimensionieren. Ein 300-Byte-TransferData-Block braucht auf Classic CAN 1 First Frame plus 42 Consecutive Frames; mit STmin 10 ms sind das mindestens 410 ms pro Block, was erklärt, warum das Programmieren eines 1-MB-Images über CAN Minuten dauert und warum CAN FD fürs Flashen zählt. Zeigt ein Trace weniger Consecutive Frames als der Rechner vorhersagt, wurde die Übertragung abgebrochen; hat der Empfänger mehr Flow Controls gesendet als erwartet, ist seine Block Size kleiner als angekündigt.

Grenzen

Das Tool modelliert die Norm, nicht eine Implementierung. Es kennt weder die tatsächliche Block Size und STmin des Steuergeräts noch, ob es CAN-FD-Single-Frames über 7 Bytes oder die Escape-Sequenz unterstützt. Genau diese Transportschicht-Verhalten übt AutoST in seiner Fuzzing-Phase aus: falsche Sequenznummern, überlange First Frames, Flow Control mit unmöglichen Parametern und Frames nach der angekündigten Länge.

FAQ

Häufig gestellte Fragen

Was bedeuten Block Size und STmin?

Beides kommt vom Empfänger im Flow-Control-Frame. Block Size (BS) ist die Zahl der Consecutive Frames, die der Sender schicken darf, bevor er auf den nächsten Flow Control wartet; 0 heißt alle. STmin ist der Mindestabstand zwischen Consecutive Frames: 0x00 bis 0x7F sind Millisekunden, 0xF1 bis 0xF9 sind 100 bis 900 Mikrosekunden. Ein Steuergerät, das STmin 0 ankündigt und dann Frames verliert, ist ein Finding.

Warum ändert CAN FD die Single-Frame-Grenze?

Bei Classic CAN trägt ein Single Frame bis zu 7 Nutzbytes (ein PCI-Byte). CAN-FD-Frames fassen 64 Bytes, und für Nutzlasten über 7 Bytes nutzt ISO 15765-2 ein Zwei-Byte-PCI (0x00 gefolgt von der Länge), sodass ein Single Frame bis zu 62 Bytes trägt. Viele Steuergeräte implementieren auch auf FD-Bussen nur die Classic-Regeln; der Rechner lässt dich vergleichen.

Was ist die Escape-Sequenz?

Ein klassischer First Frame kodiert die Länge in 12 Bit, 4095 Bytes sind also das Maximum. Für längere Nachrichten trägt der First Frame 0x10 0x00 und eine 32-Bit-Länge in den nächsten vier Bytes. Nicht jedes Steuergerät unterstützt das; sie zu senden ist eines der ersten Dinge, die ein Transportschicht-Fuzzer probiert.

Quellen

Passende Seiten

Sieh es auf deinem ECU

Nützlich? Die Suite macht das automatisch gegen dein Steuergerät.

In einer einstündigen Demo lassen wir AutoST gegen ein Demo-Steuergerät laufen oder, wenn du eines am Prüfstand hast, gegen deines.

  • Enumeration, SecurityAccess, Fuzzing, DoIP live
  • Deine Fragen beantwortet ein Engineer
  • Kostenlos und unverbindlich
Tom Zaubermann

Deine Demo ist mitTom ZaubermannGründer von Zyberum, früher Leiter des VW InCar Security Testing Lab

Bereits im Einsatz bei Tier-1-, Tier-2-Zulieferern und OEMs. Referenzen auf Anfrage.

Ruf uns an: +49 176 439 17074automotive@zyberum.com

Oder schreib uns eine Nachricht

Wir antworten innerhalb eines Werktags.

Ruf uns anDie ganze Testsuite sehen

Wähle einen Termin, der dir passt

In neuem Tab öffnen