CAN- Historie, Standards und Eigenschaften

Um den größer werdenden Anforderungen der Fahrzeugtechnik in der Automobilindustrie gerecht zu werden, stellte Bosch im Jahr 1987 das CAN-Protokoll vor. Die Abkürzung steht für das „Controller Area Network“ und umfasst verschiedene Standards der industriellen Kommunikation. Das asynchrone serielle Bussystem gehört zu den Feldbussen und ist heutzutage, im Bereich der Personen- und Nutzfahrzeuge, weitverbreitet. Dieser Beitrag geht auf die Entwicklung, die verschiedenen Standards und die Eigenschaften des CAN-Protokolls ein.

Entwicklung des CAN-Protokolls

Die ersten Entwicklungen von Bussystemen für Kraftfahrzeuge begannen im Jahr 1981, als das erste CAN-Protokoll in der Fertigungstechnik entwickelt wurde. Zwei Jahre später begann Bosch damit, das neue Protokoll für Kraftfahrzeuge weiterzuentwickeln. In einer Kooperation mit Intel entwickelte Bosch den ersten Chip und brachte das CAN-Protokoll zur Marktreife.

Die erste CAN-Serie für Kraftfahrzeuge wurde im Jahr 1988 von Daimler-Benz eingesetzt. 1991 folgte eine Serienanwendung von Mercedes-Benz, in der das CAN-Protokoll im Triebstrang eingesetzt wurde. In der Automobilindustrie wird CAN vielfach angewendet, um Kabelbäume zu reduzieren und die Vernetzung von Steuergeräten im Automobil zu vereinfachen. Während dieser Zeit hat sich das CAN-Protokoll auch in der Fertigungstechnik durchgesetzt.

Seit der Jahrtausendwende wird der CAN-Bus auch in Kleinwagen und im Triebstrang des Karosseriebereiches implementiert. Das CAN-Protokoll wurde im Jahr 1999 von verschiedenen Automobilherstellern (u.a. Audi, BMW, VW) weiterentwickelt, woraufhin das Local Interconnect Network (LIN) entstand. LIN ist ein lokales Subsystem, welches die Steuerung verschiedener Elemente im Kraftfahrzeug, über eine kostengünstige Kupferleitung ermöglicht.

Im Jahr 2012 wurde von Bosch ein Vorschlag zur Verbesserung der verfügbaren Bandbreite im CAN-System unterbreitet. Diese Weiterentwicklung basierte auf verkürzten Bitzeiten in der Datenphase und einem vergrößertem Datenfeld auf bis zu 64 Byte. Durch diese Neuerungen kann ein bis zu 8-facher Datendurchsatz, im Vergleich zu dem ursprünglichen CAN-System, erreicht werden.

Eigenschaften des CAN-Protokoll

Aufgrund der eindeutigen Kennzeichnung der Nachrichten durch nur einen Identifier, wird das CAN-Protokoll zur Gruppe der nachrichtenorientierten Protokolle gezählt. Die Relevanz der Botschaften, die über den Bus gesendet wurden, werden von den Netzknoten selbständig überprüft und gegebenenfalls übernommen. Damit unterstützt das CAN-Protokoll sowohl Broadcasting als auch Multicasting, da die Verarbeitung der Nachricht entweder von keinem, einem oder mehreren Teilnehmern des Bussystems realisiert werden kann.

Als Topologie für das CAN-Protokoll werden entweder Linien oder Bus-Topologien eingesetzt, wobei hinsichtlich der Anzahl der teilnehmenden Komponenten, keine Beschränkung durch das Protokoll vorgegeben wird. Abhängig von den genutzten Bausteinen zur Ankopplung an das Bussystem, sind in der Praxis bis zu 110 Teilnehmer möglich.

Die Netzausdehnung wird vor allem durch die Übertragungsrate begrenzt, welche durch die Erweiterungen, mit entsprechenden Kopplungsbausteinen erhöht werden kann. Beispielsweise kann eine maximale Leitungslänge von 500 m erreicht werden, wenn die Übertragungsrate 125 kBit/s beträgt. Bei einer Übertragungsrate von 1MBit/s verkürzt sich die theoretische Leitungslänge auf 40 m.

Mit zunehmender Leitungslänge, steigt auch die Ausbreitungsgeschwindigkeit und damit die Zeit, die eine Botschaft benötigt, um am anderen Ende der Leitung anzukommen. Dabei ist zu beachten, dass die Zeit, die ein Signal am Bus liegt, mindestens genauso hoch sein muss, wie die Übertragungszeit des Signals bis zum Empfänger.

Verschiedene CAN-Spezifikationen

Die wesentlichen Standards für CAN, die derzeit vorherrschen, beziehen sich alle auf die Schichten eins und zwei des ISO/OSI-Modells. Weitere Referenzmodelle, wie CANopen (Ca1) oder DeviceNet (Od1) beziehen sich auf höhere Ebenen des Modells, jedoch spielen diese keine große Rolle im Automobilbereich.

Die grundsätzliche Norm für die Anwendung von CAN-Protokollen in Kraftfahrzeugen ist ISO 11898-2. Einen Überblick zu den wesentlichen CAN-Spezifikationen, gibt die folgende Aufzählung:

  • ISO 11898-1: Physikalische Signaldarstellung aller CAN-Anwendungen
  • ISO 11898-2: Busankopplung zur Anwendung in Fahrzeugen von bis zu 1 Mbit/s („High-Speed-CAN“)
  • ISO 11898-3: Busankopplung zur Anwendung in Fahrzeugen von bis zu 125 kbit/s, mit einem Schwerpunkt in der Komfortelektronik („Low-Speed-CAN“)
  • ISO 11898-4: CAN-Protokoll wird durch eine Zeitsteuerung erweitert („Time-Triggered CAN“)
  • SAE J2411: Low-Speed-CAN-Systeme mit geringen Anforderungen („Single Wire CAN“)
  • ISO 11992: Low-Speed-CAN-Systeme für die Anwendung in Schleppfahrzeugen („Truck-to-Trailer-Norm“)

ISO/OSI-Referenzmodell

Wie bereits erwähnt, beziehen sich die Standards des CAN-Systems, auf die ersten beiden Schichten des ISO/OSI-Referenzmodells. Dieses Schichtenmodell hat sich zur Abstraktion für Bussysteme als vorteilhaft erwiesen. Der Grundgedanke des Modells besteht in der Kommunikation zwischen zwei Systemen, die beide Teil eines Bussystems sind. Die Verarbeitung von Informationen wird über sieben vertikale, aufeinander aufbauende Schichten realisiert, wobei jede Schicht spezifische Aufgaben übernimmt. In der waagerechten Ebene kommunizieren die beiden Systeme über ein entsprechendes Übertragungsmedium bzw. Protokoll. Um Bussysteme im Automobilbereich zu beschreiben, wird häufig ein vereinfachtes Modell dargestellt. Dabei sind nur die ersten beiden Schichten (Physikalische Schicht und Sicherungsschicht) und die letzte Schicht (Anwendungsschicht) relevant. Die anderen Schichten spielen für Kraftfahrzeuge keine Rolle. Die physikalische Schicht definiert, auf der untersten Ebene des Schichtmodells, die elektrischen, mechanischen, funktionalen und prozeduralen Parameter. Die darauf aufliegende Sicherungsschicht regelt die Datenübertragung zwischen zwei Teilnehmern, die sich im gleichen Netz befinden, bevor von der Anwendungsschicht allgemeine Funktionalitäten zur Kommunikation bereitgestellt werden.