CAN FD – Eine Einführung
CAN FD (CAN Flexible Data Rate) ist eine Erweiterung des „klassischen“ CAN-Bus (Classical CAN) und durch den Standard ISO 11898-1:2015 definiert. CAN FD erlaubt einerseits das Versenden einer größeren Datenmenge (Payload): die Grenze von 8 Byte bei Classical CAN wurde auf 64 Byte bei CAN FD angehoben. Weiterhin ist eine höhere Übertragungsrate innerhalb der Datenphase möglich, auch über das bisherige Limit von 1 MBit/s hinaus.
CAN FD Datenrahmen
Bei Classical CAN wurde lediglich zwischen zwei Datenrahmen unterschieden: Standard Frames (CAN 2.0A) mit 11-Bit Identifier und Extended Frames (CAN 2.0B) mit 29-Bit Identifier. Diese Formate bleiben in dieser Form erhalten, bekommen im Zuge von CAN FD jedoch einen neuen Namen.
Tabelle 1: CAN FD Frame Formate
Bei Classical CAN wurde lediglich zwischen zwei Datenrahmen unterschieden: Standard Frames (CAN 2.0A) mit 11-Bit Identifier und Extended Frames (CAN 2.0B) mit 29-Bit Identifier. Diese Formate bleiben in dieser Form erhalten, bekommen im Zuge von CAN FD jedoch einen neuen Namen.
Ein CAN FD Controller ist abwärtskompatibel, d.h. er kann die bisherigen Formate des Classical CAN verarbeiten. Umgekehrt geht dies jedoch nicht: für einen Classical CAN Controller sind die Frame Formate FBFF und FEFF unbekannt und führen unweigerlich zur Aussendung von Error Frames. Daher müssen für den Einsatz von FD Frame Formaten alle Teilnehmer im Netzwerk einen CAN FD Controller haben.
Die wesentlichen Unterschiede im Rahmenaufbau zum Classical CAN Data Frame sind in Bild 1 kenntlich gemacht.
CAN FD Base Frame Format
Das CAN FD Format unterstützt keine Remote Frames, das bisherige RTR Bit nach dem Identifier wird durch das Bit „Remote Request Substitution“ (RRS) ersetzt.
Das Bit FDF (FD Format) im erweiterten Control Field ist der Kennzeichner für das flexible Datenformat. War bei einem Classical CAN Frame der gültige Wertebereich für das DLC Feld (Data Length Code) im Bereich 0 bis 8, so sind bei einem CAN FD Frame die Werte 0 bis 15 gültig. Der Wert des DLC Feldes bestimmt die Anzahl der Bytes im Data Field und wird in folgender Weise interpretiert:
Kodierung der Datenlängen
Auch ohne die schnellere Datenübertragung in der Datenphase bringt alleine schon die größere Datenmenge erhebliche Vorteile. Bei einer nominalen Bitrate von 1 MBit/s liegt die Netto-Übertragungsrate (d.h. die Transferrate für das Data Field) für einen Classical CAN Controller bei 576 kBit/s. Bei einem CAN FD Frame mit einer Datenlänge von 64 Byte liegt die Netto-Übertragungsrate bei 903 kBit/s.
Mehr zum Thema CAN FD
Verbesserte Fehlererkennung
Über das Bit ESI (Error State Indicator) im Control Field wird nun durch den Sender einer Nachricht signalisiert ob er sich im Error Active oder Error Passive Zustand befindet, was die Fehlersuche in Netzwerken erheblich verbessert.
Um durch die potenziell höhere Anzahl an Stuff-Bits in einer Nachricht nicht Gefahr zu laufen einen schlechteren Wert für die Restfehlerwahrscheinlichkeit als bei Classical CAN zu erhalten wurde ein Stuff-Bit Counter (3 Bit + Parity) eingeführt. Das neue Stuff-Count Feld wird zu Beginn des CRC Feldes gesendet.
Steigerung der Datenrate
Über das Bit BRS (Bit Rate Switch) kann bei einem CAN FD Frame die Übertragungsgeschwindigkeit in der Datenphase (diese beginnt beim BRS Bits und endet beim letzten Bit der CRC) erhöht werden. Der maximale Wert für die Geschwindigkeit in der Datenphase wird nur durch die verwendeten CAN Controller bzw. CAN Transceiver limitiert und liegt derzeit – je nach Hersteller – zwischen 5 MBit/s und 8 MBit/s.
Verfügbare CAN FD Controller
Die Entwicklung von CAN FD Systemen steht und fällt mit verfügbaren CAN Controllern. Die folgende Liste gibt eine Übersicht über den aktuellen Stand der CAN FD Microcontroller, erhebt aber keinen Anspruch auf Vollständigkeit.
Sie möchten ein Beratungsgespräch?
+49 2241 - 25 65 9 - 0
Schreiben Sie eine Nachricht oder rufen Sie uns an.