CAN-Bus

Das Controller Area Network (CAN) ist ein von standardisierter echtzeitfähiger Bus für serielle Datenübertragung. Er gehört zu den Feldbussen.

Der CAN-Bus wurde von Bosch für Automotive Anwendungen entwickelt, er wird aber auch in den Bereichen Automation und Fertigungstechnik verwendet. Für Fahrzeugmodelle ab 2008 wird OBD-2 generell über CAN genutzt.

Der Vorteil des CAN-Bus gegenüber einer herkömmlichen Verdrahtung liegt darin, daß nicht für jedes Signal ein eigenes Kabel verwendet werden muss, sondern die Signale oder Messwerte seriell auf einer verdrillten 2-Draht-Leitung übermittelt werden. Die maximale Leitungslänge am CAN ist von der Übertragungs-Bitrate abhängig, bei 1 MBit/s beträgt diese ca. 40 m, bei 500 kBit/s sind ca. 100 m möglich, bei 125 kBit/s ca. 500 m.

Beim CAN-Bus gibt es unterschiedliche physikalische Ausführungen:

Man unterscheidet bei der Adressierung der CAN Nachrichten nach CAN 2.0A (11Bit ID) und CAN 2.0B (29Bit ID).

Beispiel für einen 500kBit/s High-Speed CAN mit 11 Bit ID (CAN 2.0A) an einem Motorsteuergerät:

Wie man sieht, sind CAN-H und CAN-L gegenphasig. Der Vorteil ist, dass sich so Gleichtaktstörungen eliminieren:

Meist sind im Fahrzeug mehrere CAN-Busse vorhanden, z.B. CAN-Antrieb, CAN-Komfort und CAN-Infotainment, die jeweils die Steuergeräte funktionaler Gruppen verbinden. Die Geschwindigkeiten der im Fahrzeug verbauten CAN-Busse sind i.d.Regel nicht gleich, das CAN-Gateway Steuergerät verbindet die verschiedenen CAN-Busse und stellt bei der VAG-Gruppe auch den CAN-Diagnose bereit, der dann an der OBD-2-Buchse angelegt ist. Bei manchen Fahrzeugen (Ford-Modelle) ist auch direkt z.B. CAN-Antrieb auf die OBD-2-Buchse gelegt. Ein beliebter physikalischer Anschluss für CAN ist auch CIA DS102-1.

Beispiel für aufgezeichnete CAN-Messages (CAN-Bus Sniffing) mit Kaufmann Automotive GmbH KCANMonitor:

Je nach Geschwindigkeit und Buslast des jeweiligen CAN-Busses können sehr viele Nachrichten auflaufen, die beim „Sniffen“ auf dem Bus verarbeitet werden müssen. Um die Nachrichtenflut etwas eindämmen zu können, erlaubt KCANMonitor das Setzen von CAN-Filtern direkt im CAN-Interface.

CAN wird bei den meisten Fahrzeugen ab 2008 für die On-Board-Diagnose mit dem OBD-2 Protokoll verwendet. Bei Nutzfahrzeugen ist J1939 zur Diagnose verbreitet, im maritimen Bereich NMEA.

Links zum Thema:

CANHack.de CAN Forum

CAN-Bus Interface

Automotive::CAN bus

CAN Bus, physical Layer