CAN FD (Controller Area Network Flexible Data-Rate) ist ein Datenkommunikationsprotokoll, das zur Übertragung von Sensordaten und Steuerungsinformationen über Zweidrahtverbindungen zwischen verschiedenen Komponenten elektronischer Mess- und Steuerungssysteme verwendet wird . Dieses Protokoll findet Anwendung in modernen Hochleistungsfahrzeugen.
CAN FD ist eine Erweiterung des ursprünglichen CAN-Bus- Protokolls gemäß ISO 11898-1. Es handelt sich um die zweite Generation des von Bosch entwickelten CAN-Protokolls. [ 1 ] Die Grundidee, einen Teil des Datenrahmens zu übertakten und die Nutzdaten zu vergrößern, stammt aus dem Jahr 1999. [ 2 ] CAN FD wurde 2011 von Bosch entwickelt und 2012 veröffentlicht. [ 3 ] Ziel war es, die Datenübertragungsrate um bis zu das Fünffache zu erhöhen und größere Datenrahmen/Nachrichten für den Einsatz in modernen elektronischen Steuergeräten (ECUs) in Kraftfahrzeugen zu ermöglichen .
Wie das klassische CAN-Protokoll ist auch CAN FD darauf ausgelegt, Sensordaten und Steuerbefehle zuverlässig zu übertragen und zu empfangen sowie Datenfehler zwischen elektronischen Sensoren, Steuergeräten und Mikrocontrollern zu erkennen . Obwohl CAN FD primär für den Einsatz in Hochleistungs-Fahrzeugsteuergeräten entwickelt wurde, wird die weite Verbreitung des klassischen CAN in verschiedenen Branchen dazu führen, dass dieses verbesserte Datenkommunikationsprotokoll auch in einer Vielzahl anderer Anwendungen Verwendung findet, beispielsweise in elektronischen Systemen für Robotik, Verteidigung, industrielle Automatisierung, Unterwasserfahrzeuge, Medizintechnik, Avionik , Bohrlochsensoren usw.
CAN FD versus klassisches CAN
Der Hauptunterschied zwischen dem klassischen CAN (Controller Area Network) und CAN FD liegt in den flexiblen Daten (FD). Mit CAN FD können elektronische Steuergeräte (ECUs) dynamisch zwischen verschiedenen Datenraten und längeren oder kürzeren Nachrichten umschalten. Die höhere Datenübertragungsrate und die größere Datenkapazität führen im Vergleich zum klassischen CAN zu mehreren betrieblichen Vorteilen. Befehle der ausführenden ECU-Software erreichen den Ausgaberegler deutlich schneller. CAN FD wird typischerweise in Hochleistungs-ECUs moderner Fahrzeuge eingesetzt. Ein modernes Fahrzeug kann über 70 ECUs verfügen, die CAN FD nutzen, um Informationen über den CAN-Bus auszutauschen, wenn der Motor läuft oder das Fahrzeug fährt.
Auf einem CAN-Bus ist ein Frame die grundlegende Nachrichteneinheit. Bei einem klassischen CAN-Bus besteht ein Frame aus einer 11-Bit-Kennung und einer 8 Byte großen Nutzlast. Bei CAN FD ist ein Frame mit einer 29-Bit-Kennung versehen und enthält eine 64 Byte große Nutzlast. Frames mit 11-Bit-Kennungen werden als FD Base Frame Format (FDBF) bezeichnet, Frames mit 29-Bit-Kennungen als FD Extended Frame Format (FEFF). Während Nutzdatenraten von 5–8 Mbit/s in CAN FD möglich sind, hängen die Gesamtdatenübertragungsraten von der Gesamtlänge des Busnetzwerks und den zur Erzeugung und zum Empfang von Bussignalen verwendeten Transceivern ab . Zusätzlich sind die Arbitrierungsdatenraten auf 1 Mbit/s begrenzt, um die Kompatibilität mit klassischen CAN-Geräten zu gewährleisten. Die CAN-FD-Protokollspezifikation bietet eine verbesserte Fehlererkennung [ 4 ] in empfangenen CAN-Nachrichten und eine größere Flexibilität der Datenübertragungsgeschwindigkeiten, um Unterschiede in den Sensorabfrageraten auszugleichen. Der CAN-Bus besteht aus einem gemeinsamen Adernpaar, an das elektronische Sensoren, Steuergeräte und ECUs angeschlossen sind. Er dient dem Informationsaustausch zwischen den angeschlossenen Geräten, der periodisch oder bedarfsgesteuert erfolgt. Die maximale Datenübertragungsrate eines CAN-Busses hängt von der Anzahl der angeschlossenen Geräte, der Länge der CAN-Busleitungen und weiteren elektromagnetischen Faktoren ab. Alle CAN-Protokollversionen verfügen über eine robuste Kollisionsauflösung, die von der Signallaufzeit, der Netzwerktopologie und der Anzahl der angeschlossenen Geräte abhängt. Um Nachrichtenkollisionen zu minimieren und aufwändige Fehlerkorrekturen zu vermeiden, begrenzen viele CAN-Buskonfigurationen ihre Datenübertragungsrate deutlich unter die theoretische Maximalgeschwindigkeit des Busses.
Die CAN-FD-Buslast wurde mithilfe der „De Andrade“-Gleichung auf Basis der Tindel-Gleichung entwickelt. [ 1 ] [ 5 ] [ 6 ]
β = τ/ω (β = Buslast), (τ = Zeit langsamer Bits plus schnellerer Bits), ω (Messzeit in Sekunden). τ = Ts + Tf
Das CAN-FD-Protokoll definiert fünf verschiedene Fehlererkennungsmechanismen: Zwei davon arbeiten auf Bitebene, die anderen drei auf Nachrichtenebene. Sie sind:
- (1) Bitüberwachung, - (2) Bit Stuffing , - (3) Rahmenprüfung, - (4) Empfangsbestätigungsprüfung und - (5) Zyklische Redundanzprüfung. Es gibt zwei CRC-Optionen, die als CRC-Länge von 17 Bit (Datenlänge 0-16 Byte) oder CRC-Länge von 21 Bit (Datenlänge 17-64 Byte) angegeben werden sollten.
Die Übertragungszeit des (festen) Headers ergibt sich wie folgt:
Die Felder werden in der folgenden Tabelle erläutert . Hierbei wird 1,2 als Faktor für das Bit-Stuffing im ungünstigsten Fall angenommen [ 7 ], was bedeutet, dass der Rechenaufwand um 25 % erhöht wird. BRS und CRCdel werden halbiert, da sie genau im Bereich des Bitratenübergangs liegen .
Die Übertragungszeit der Nutzdaten wird wie folgt berechnet:
Hierbei bezeichnet SB die Füllbits (5 Bit für Pakete unter 6 Byte und 6 Bit für Pakete über 6 Byte). Die CRC-Prüfsumme ist ebenfalls größenabhängig und beträgt 17 Bit für Pakete unter 6 Byte und 21 Bit für größere Pakete. Df steht für die CAN-FD-Nutzdatengröße, die zwischen 0 und 8, 12, 16, 20, 24, 32, 48 oder 64 Byte liegen kann. t_X ist die Übertragungsbandbreite für den Nachrichtenkopf (bis zu 1 Mbit/s).
CAN FD reduziert zudem die Anzahl unentdeckter Fehler durch Leistungssteigerungen des CRC -Algorithmus. [ 8 ] Darüber hinaus ist CAN FD mit bestehenden CAN 2.0-Netzwerken kompatibel, sodass das neue Protokoll im selben Netzwerk wie das klassische CAN eingesetzt werden kann. [ 9 ] Mit dem passenden CAN-SIC-Transceiver (Signal Improvement Capability) erreicht CAN FD eine Bitrate von bis zu 8 Mbit/s und ist damit bis zu achtmal schneller als das klassische CAN mit 1 Mbit/s Datenphase.
Aufgrund der höheren Übertragungsgeschwindigkeit sind die Anforderungen an CAN FD hinsichtlich der parasitären Leitungskapazität strenger . Daher wurde das Kapazitätsbudget aller Komponenten in der Leitung im Vergleich zum regulären CAN-Bus reduziert . Aus diesem Grund haben Halbleiterhersteller neue, von Automobilherstellern zugelassene Komponenten auf den Markt gebracht. Diese Zulassung unterstreicht die Notwendigkeit der Interoperabilität zwischen allen CAN-FD-Systemen. Ausgewählte ESD-Schutzkomponenten sind mit allen Transceivern (CAN oder CAN FD) kompatibel und erfüllen die Anforderungen der Norm ISO 7637-3. [ 10 ]
Trotz einer höheren Sperrspannung ≤ 37 V müssen Geräte für Lkw-Anwendungen auch die Anforderung an eine niedrige Kapazität (3,5 pF) erfüllen. [ 11 ]
Datenrahmen
Der für die eigentliche Datenübertragung verwendete Datenrahmen hat zwei Nachrichtenformate:
- Basisrahmenformat: mit 11 Identifikationsbits
- Erweitertes Rahmenformat: mit 29 Identifikationsbits
Das Frame-Format ist wie folgt: Die Bitwerte werden für das CAN-LO-Signal beschrieben.
| Feldname | Länge (Bits) | Zweck |
|---|---|---|
| Start-of-Frame (SOF) | 1 | Kennzeichnet den Beginn der Rahmenübertragung |
| Kennung (ID) | 11 | Eine (eindeutige) Kennung, die auch die Nachrichtenpriorität darstellt. |
| Kleinigkeiten | 1 | Ein wenig umgekehrte Polarität zur Aufrechterhaltung der Synchronisation; siehe CAN-Bus#Bit-Stuffing |
| Remote Request Substitution (RRS) | 1 | |
| Identifikatorerweiterungsbit (IDE) | 1 | |
| FD-Formatindikator (FDF) | 1 | Muss rezessiv (1) für CAN FD-Rahmen und dominant (0) für klassische CAN-Rahmen sein. |
| Reserviertes Bit in FD-Frames (res) | 1 | |
| Bitratenumschaltung (BRS) | 1 | |
| Fehlerstatusanzeiger (ESI) | 1 | |
| Datenlängencode (DLC) | 4 | Anzahl der Datenbytes (0–64 Bytes) [ a ] |
| Datenfeld | 0–512 (0–64 Bytes) | Zu übertragende Daten (Länge in Bytes wird durch das DLC-Feld vorgegeben) |
| Dinge zählen | 4 | |
| CRC | 17-21 | CRC-21, wenn die Nutzdaten größer als 16 Byte sind, ansonsten CRC-17 (zyklische Redundanzprüfung). |
| CRC-Trennzeichen | 1 | Muss rezessiv sein (1) |
| FSB | 6-7 | Feste Füllbits im CRC-Feld: Für je 4 Bits gibt es 1 Füllbit (6 Füllbits für Stuffcount und CRC-17, 7 für Stuffcount und CRC-21) |
| ACK-Slot | 1 | Der Sender sendet ein rezessives Signal (1), und jeder Empfänger kann ein dominantes Signal (0) eingeben. |
| ACK-Trennzeichen | 1 | Muss rezessiv sein (1) |
| Ende des Bildes (EOF) | 7 | Muss rezessiv sein (1) |
| Interframe-Abstand (IFS) | 3 | Muss rezessiv sein (1) |
- Die Werte 0–8 entsprechen 0–8 Bytes, wie beim klassischen CAN. Die Werte 9–15 werden in einen Wert zwischen 12 und 64 Bytes umgewandelt, was der tatsächlichen Länge des Datenfelds entspricht: 9→12, 10→16, 11→20, 12→24, 13→32, 14→48, 15→ 64
CAN & CAN FD TP Krümmer
| 7 .. 4 (Byte 0) | 3 .. 0 (Byte 0) | 15 .. 8 (Byte 1) | 23..16 (Byte 2) | (Byte 3) | (Byte 4) | (Byte 5) | (Byte 6) | .... | ||
|---|---|---|---|---|---|---|---|---|---|---|
| Einzelbild (SF) | laut CAN | 0 | Größe (1..7) | Daten | ||||||
| CAN-FD-spezifisch | 0 | Größe (0..62) | Daten | |||||||
| Erstes Bild (FF) | laut CAN | 1 | Größe (8..4095) | Daten | ||||||
| CAN-FD-spezifisch | 0 | 0 | Größe (4 Bytes ~4 GB) | Daten | ||||||
| Aufeinanderfolgendes Bild (CF) | laut CAN | 2 | Index (0..15) | Daten | ||||||
| Flow Control Frame (FC) | laut CAN | 3 | FC-Flag (0,1,2) | Blockgröße | ST | Unbenutzt | ||||
Die obige Tabelle erläutert das für CAN + CANFD definierte Übertragungsprotokoll, das auf ISO 15765-2 (ISO-TP) basiert und zum Senden von Datenpaketen verwendet wird, die länger sind als das, was in einen CAN-Rahmen passt.
- Wenn das erste Byte 0x00 ist, handelt es sich um ein CAN-FD SF, und das zweite Byte gibt die Größe der Daten an.
- Wenn das erste Byte 0x01-0x07 ist, dann handelt es sich um ein normales CAN SF, wobei dieses Byte die Größe von 1-7 Bytes Daten angibt.
- Sind die ersten beiden Bytes 0x1000, handelt es sich um ein CAN-FD FF, und die folgenden vier Bytes geben die Datengröße in aufsteigender Reihenfolge an. Dadurch können praktisch ca. 4 GB Daten über CAN FD gesendet werden.
- Wenn die ersten 2 Bytes 0x1008-0x1FFF lauten, dann handelt es sich um ein normales CAN FF mit einer Größe von 0x008-0xFFF.
CAN-Transceiver
CAN FD kann Transceiver für klassisches CAN und CAN FD verwenden. Zusätzlich gibt es neue CAN SiC (Signal Improvement Capability) Transceiver mit einer Datenrate von 5 bis 8 Mbit/s. [ 12 ]
CAN FD im Einsatz
Im Jahr 2017 wurde prognostiziert, dass CAN FD bis 2019–2020 in den meisten Fahrzeugen eingesetzt werden würde.
CAN FD-Unterstützer
Zu den Unternehmen, die hinter dem neuen Standard stehen, gehören STMicroelectronics , Infineon , [ 13 ] NXP , Texas Instruments , Kvaser, Daimler und GM .
CAN FD bildet eine grundlegende Datenverbindungsschicht in einigen Protokollen höherer Schichten wie CANopen als CANopen FD und J1939 und wird von verschiedenen Unternehmen mit Protokollstapeln unterstützt.
CAN XL
CAN XL ist die dritte Version der CAN-Datenverbindungsschicht nach dem klassischen CAN und CAN FD. CAN FD ist mit CAN XL kompatibel .
Referenzen
- ^ a b „CAN in Automation (CiA): CAN FD – Die Grundidee“ . www.can-cia.org . Archiviert vom Original am 2. Februar 2017. Abgerufen am 25. Januar 2017 .
- ^ Cena, G.; Valenzano, A. (1999). „Übertaktung von Controller Area Networks“ . Electronics Letters . 35 (22): 1923. Bibcode : 1999ElL....35.1923C . doi : 10.1049/el:19991289 .
- ^ „Bosch CAN FD Spezifikation Version 1.0 (veröffentlicht am 17. April 2012)“ (PDF) . Archiviert vom Original (PDF) am 11. Dezember 2015. Abgerufen am 2. Januar 2019 .
- ^ „CAN FD und das CRC-Problem“ (PDF) .
- ^ de Andrade, R.; Hodel, KN; Justo, JF; Laganá, AM; Santos, MM; Gu, Z. (2018). „Analytische und experimentelle Leistungsbewertung des CAN-FD-Busses“ . IEEE Access . 6 : 21287–21295 . Bibcode : 2018IEEEA...621287D . doi : 10.1109/ACCESS.2018.2826522 .Die
- ^ De Andrade, Ricardo (2014). Sistemas de comunicação CAN FD: modelamento por software e análise temporal (PDF) (Masterarbeit). Universität von São Paulo.
- ^ "Re: [PATCH] can: length: add definitions for frame lengths in bits - Vincent MAILHOL" . lore.kernel.org .
- ^ „Archivierte Kopie“ (PDF) . Archiviert vom Original (PDF) am 16.04.2019 . Abgerufen am 25.01.2017 .
{{cite web}}: CS1 Wartung: Archivierte Kopie als Titel ( Link ) - „ Highspeed-CAN-FD-Bus kommt in Autos, sagt Microchip“ . Electronics Weekly . 26.10.2015 . Abgerufen am 26.01.2017 .
- ^ „CAN-Bus-ESD-Schutz für 12-V-Systeme“ . STMicroelectronics-ESDCAN03-2BWY .
- ^ „CAN-Bus-ESD-Schutz für 24-V-Systeme“ . STMicroelectronics-ESDCAN05-2BWY .
- ^ „CAN-Signalverbesserung“ . www.nxp.xom . Archiviert vom Original am 4. August 2020. Abgerufen am 2. Februar 2022 .
- ^ Kelling, Ursula (April 2014). „Infineon Microcontrollers“ (PDF) . CAN Newsletter Online . Abgerufen am 2. Juni 2019 .