CAN FD (CAN with Flexible Data Rate)
CAN FD erweitert CAN auf 64 Datenbytes und eine schnellere Datenphase. Wie DLC, BRS-Bit und Bit-Timing funktionieren und was sich für Diagnose und Fuzzing ändert.
Aktualisiert Diese Seite als Markdown
Kurz gesagt
CAN FD (CAN with Flexible Data Rate) ist die Erweiterung von CAN in ISO 11898-1:2015, die bis zu 64 Datenbytes pro Frame trägt und für die Datenphase auf eine höhere Bitrate umschalten kann. Die Arbitrierung läuft weiter mit der nominalen Rate, CAN FD und klassisches CAN teilen also dieselbe Identifier-Logik. Für die Diagnose bekommt ISO-TP größere Frames; für Security-Tests bedeuten längere Payloads und ein zweites Bit-Timing mehr Parser-Pfade und mehr Möglichkeiten, den Prüfstand falsch aufzubauen.
Was ist CAN FD?
CAN FD behält die Arbitrierung von klassischem CAN und ändert den Rest des Frames. Drei Steuerbits sind wichtig: FDF kennzeichnet den Frame als CAN FD, BRS (Bit Rate Switch) sagt den Empfängern, dass die Datenphase mit der schnelleren Datenbitrate läuft, und ESI zeigt, dass der Sender Error Passive ist. Das Datenfeld wächst auf 64 Bytes, und die DLC-Werte 9 bis 15 bedeuten nicht mehr 8 Bytes, sondern 12, 16, 20, 24, 32, 48 und 64. Der CRC wächst auf 17 oder 21 Bit und enthält einen Stuff Bit Count.
Ein CAN-FD-Frame am Prüfstand in candump-Notation: 7E0##1 und danach bis zu 64 Datenbytes, wobei ##1 für FD mit gesetztem BRS steht. Längen zwischen den gültigen Größen werden aufgefüllt, eine 30-Byte-Nachricht reist also in einem 32-Byte-Frame.
Wo ist es definiert?
ISO 11898-1:2015 definiert CAN FD zusammen mit klassischem CAN, inklusive Frame-Format, CRC und den beiden Bit-Timing-Konfigurationen. ISO 15765-2 ergänzt die CAN-FD-Varianten von ISO-TP: Single Frames mit Escape-Byte (00 LL) für Payloads über 7 Bytes und Consecutive Frames bis 64 Bytes.
Was es in der Praxis bedeutet
Mehr Bytes pro Frame heißt mehr Eingabe pro Frame. Empfänger, die für 8-Byte-Frames geschrieben und später auf CAN FD umgestellt wurden, kopieren manchmal den vollen DLC in einen Puffer, der für weniger ausgelegt ist. ISO-TP über CAN FD hat ein eigenes Single-Frame-Format, ein Stack kann also auf klassischem CAN korrekt und auf FD fehlerhaft sein. SecOC profitiert ebenfalls: Der größere Frame lässt Platz für einen längeren MAC, den klassisches CAN oft nicht hergibt.
Das häufigste Problem am Prüfstand ist das Timing. Nominale Bitrate, Datenbitrate und beide Sample Points müssen zum Netz passen; ein Fehler zeigt sich als Error Frames nur in der Datenphase, was verwirrt, weil die Arbitrierung sauber aussieht. Außerdem muss das Interface auf ISO CAN FD stehen, nicht auf die ältere Non-ISO-Variante.
Wie AutoST es testet
AutoST unterstützt CAN FD mit einstellbarer Datenbitrate und einstellbarem Sample Point auf SocketCAN- und Vector-XL-Interfaces. UDS-Enumeration und Fuzzing laufen über ISO-TP auf CAN FD, und die CAN-Fuzzing-Engine schickt zufällige FD-Frames auf Arbitration-IDs aus deiner DBC und prüft nach jeder Iteration mit TesterPresent, ob das Steuergerät noch lebt.
Häufige Missverständnisse
CAN FD ist bei der Arbitrierung nicht schneller; nur die Datenphase wird beschleunigt. Es ist auch nicht von selbst sicher: Wie klassisches CAN hat es keine Absenderauthentifizierung. Und ein erfolgreicher Test auf klassischem CAN deckt den FD-Pfad desselben Steuergeräts nicht ab.
FAQ
Häufig gestellte Fragen
Können klassisches CAN und CAN FD an einem Bus hängen?
Nur wenn die klassischen Knoten FD-tolerant sind. Ein klassischer CAN-Controller ohne FD-Toleranz wertet einen FD-Frame als Formatfehler und sendet einen Error Frame, was den ganzen Bus stört. In gemischten Netzen liegt FD-Verkehr deshalb oft auf eigenen Segmenten hinter einem Gateway.
Was ist der Unterschied zwischen ISO CAN FD und Non-ISO CAN FD?
Dem ursprünglichen Bosch-CAN-FD fehlte der Stuff Bit Counter im CRC-Feld, den ISO 11898-1:2015 ergänzt hat. Beide sind nicht kompatibel, und viele Interfaces lassen dich wählen. Fahrzeuge nutzen heute ISO CAN FD.
Welche Datenbitraten sind üblich?
Die Arbitrierung bleibt meist bei 500 kbit/s, die Datenphase läuft häufig mit 2 Mbit/s, manchmal schneller. Der Sample Point der Datenphase wird getrennt vom nominalen eingestellt und muss zum Netz passen.
Quellen
Passende Seiten
- GlossarCAN-Bus (Controller Area Network)CAN (ISO 11898) ist der Broadcast-Bus, den sich die meisten Steuergeräte teilen: Identifier, Arbitrierung, Fehlerbehandlung. Was das für Security-Tests bedeutet.
- GlossarISO-TP (ISO 15765-2)ISO-TP (ISO 15765-2) zerlegt UDS-Nachrichten in CAN-Frames mit Flow Control. Wie es funktioniert und warum fehlerhafte Frames Steuergeräte abstürzen lassen.
- GlossarSecOC (Secure Onboard Communication)SecOC ist der AUTOSAR-Mechanismus, der Fahrzeugnachrichten mit MAC und Freshness authentifiziert. Wie er auf CAN funktioniert und was ein Bustest prüfen kann.
- Kostenlose ToolsISO-TP-Frame-RechnerWie 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.
- InsightsCAN-Interface für ECU-Security-Tests wählenWorauf es bei einem CAN-Interface für Security-Tests ankommt: SocketCAN vs Vector XL, CAN FD, Timing und Error-Frame-Sicht, und wie du eines für deinen Prüfstand wählst.
- PlattformSpricht die Busse, die deine ECUs sprechen.AutoST unterstützt CAN, CAN FD, ISO-TP, UDS, XCP, CCP, DoIP und SOME/IP, mit SocketCAN-, Vector-XL- und comma.ai-Panda-Adaptern unter Windows und Linux.
