Physikalische Schicht und CAN- Realisierung

In diesem Beitrag wird die physikalische Schicht des CAN-Protokolls vorgestellt. Dazu gehören unterschiedliche Verfahren und Prozeduren, die als Basis der Funktionalität des CAN-Systems gelten. Neben der physikalischen Schicht beschäftigt sich dieser Beitrag mit den drei möglichen Realisierungsformen des CAN-Protokolls.

Bestandteile der physikalischen Schicht des CAN-Protokolls

Die Definition der physikalischen Schicht umfasst das Verfahren zur Codierung, das Bittiming und die Bitsynchronisation sowie notwendige Prozeduren und Parameter zur Busankopplung. Der erste Bestandteil legt das Codierungsverfahren fest, welches im CAN-System die Non-Return-to-Zero-Codierung ist.

Bei diesem Verfahren können zwar Synchronisationsinformationen verloren gehen, was aber durch Bitstuffing ausgeglichen wird. Beim Bitstuffing wird in eine definierte Anzahl von gleichen Bitwerten, ein komplementäres Bit eingefügt, um so einen Signalwechsel zu erzeugen. Das „überflüssige“ Bit wird später vom Empfänger erkannt und aus der Botschaft entfernt.

Bei der Non-Return-to-Zero-Codierung werden die Botschaften synchron übertragen, indem der Beginn der Nachricht im Rahmen der Start-of-Frame-Flanke synchronisiert wird. Während der Versendung der Botschaft wird diese kontinuierlich synchronisiert. Dies geschieht aufgrund entsprechender zeitlicher Vorhalte (Phasen-Puffer) im Bitzeitenintervall, welche die gesamte Dauer durch die nominale Bitzeit definiert.

Die sogenannten Phasen-Puffer ermöglichen die Variation des Abtastzeitpunktes. In Ergänzung zu den zeitlichen Vorhalten, wird auch die zeitliche Verzögerung der Signalausbreitung berücksichtigt, welche über das physikalische Medium eintritt. Die nominale Bitzeit des Bitzeitintervalls in der physikalischen Schicht des CAN-Protkolls, ist also im zeitlichen Ablauf nach dem Synchronisationselement, dem Laufzeitsegment und dem Phasen-Puffer unterteilt, wobei letzteres den Abtastzeitpunkt beinhaltet.

Für das Arbitrierungsverfahren im CAN-Protokoll wird zwischen dominanten und rezessiven Buspegeln differenziert. Das am häufigsten verwendete Busmedium in der Automobilindustrie ist eine Zweidrahtleitung. Diese wird in der Linien-Topologie, gemäß den Festlegungen in der Norm ISO 11898-2 (ls3) realisiert. Durch diese Umsetzung werden Signalreflexionen vermieden.

CAN-Realisierungsformen

Um ein CAN-Netzwerk zu realisieren, werden drei Bausteine benötigt. Das Kernstück des Netzwerks ist der CAN-Controller, welcher eine Vielzahl der zuvor erläuterten Funktionen übernimmt. Der CAN-Controller stellt seine Funktionalitäten dem übergeordneten Host-Controller zur Verfügung, der sich auf den Empfang von Botschaften beschränkt. Ein Bus-Transceiver übernimmt dann letztendlich die Ankopplung der Bausteine an das physikalische Medium. Alle Bestandteile des CAN-Netzwerks werden im Folgenden zusammengefasst:

  • Host-Controller:
    Dies ist der übergeordnete Baustein, der Informationen vom CAN-Controller erhält und sich auch dessen Funktionalitäten bedient. Der Host-Controller ist im Grunde der Prozessor, der auf den Empfang und die Übergabe von Botschaften beschränkt ist.
  • CAN-Controller:
    Der Protokollkontroller realisiert alle Funktionen des CAN-Protokolls in den Schichten 1 und 2. Das Herzstück des CAN-Netzwerks übernimmt weitreichende Funktionen wie die Busarbitrierung, die CRC-Berechnung und –überprüfung sowie die Fehlerbehandlung. Weiterhin ist der CAN-Controller mit Funktionen für die Filterung, Speicherung und automatische Beantwortung von Nachrichten ausgestattet.
  • Bus-Transceiver: 
    Dieser Baustein verbindet den Protokollkontroller und den vorgeschalteten Prozessor mit dem physikalischen Medium.

Bei der Realisierung eines CAN-Netzwerks werden zwei Konzepte unterschieden. Das sind die Basic-CAN- und die Full-CAN-Implementierung. Zusätzlich werden CAN-Realisierungen nach dem Grad der Integration unterschieden. Beispielsweise gibt es die Stand-Alone-Topologie, bei der ein CAN-Controller, ohne eigene Intelligenz, mit einem separaten Mikrokontroller betrieben wird.

Verschiedene Topologien zur Implementierung des CAN-Netzwerks

Die Topologien beschreiben letztendlich die Art und Weise mit der die einzelnen Busteilnehmer miteinander verknüpft werden. Bei der Realisierung der verwendbaren Protokolle bestehen in der Regel Wechselwirkungen oder Zwangsverknüpfungen zwischen Topologien. Im Automobilbereich sind drei Topologien besonders verbreitet.

Bei der Stern-Topologie gibt es einen zentralen Teilnehmer, der als Sternkoppler bezeichnet wird. Alle anderen Teilnehmer des Sternsystems sind mit diesem über eine Punkt-zu-Punkt-Verbindung angeschlossen. Durch die exklusive Ankopplung ergeben sich bei der Stern-Topologie höhere Übertragungsraten, als dies bei anderen Topologien der Fall ist. Zu berücksichtigen ist allerdings der relativ hohe Verbindungsaufwand und das Verhalten des CAN-Systems bei Ausfall des zentralen Sternkopplers.

Anders ist dies bei der Bus- oder Linien-Topologie, bei der alle Teilnehmer an ein gemeinsames Medium angekoppelt sind. Das gemeinschaftlich genutzte Medium wird als Bus bezeichnet und dieser stellt allen Teilnehmern die gleichen Informationen zur Verfügung. Anders als bei der Stern-Topologie birgt der Ausfall eines Teilnehmers kein großes Risiko hinsichtlich des gesamten Systems. Bei der Bus- oder Linien-Topologie werden aufgrund des gleichzeitigen Zugriffs mehrerer Teilnehmer auf den Bus, Mechanismen zur Kollisionserkennung und Kollisionsvermeidung nötig.

Bei der Ring-Topologie besteht eine geschlossene Kette, bei der die einzelnen Teilnehmer in der Regel durch eine Punkt-zu-Punkt-Verbindung miteinander verbunden sind. Ähnlich wie bei der Stern-Topologie, kann auch hier der Ausfall eines Teilnehmers zur Unterbrechung der Kommunikation führen. Aus diesem Grund werden oft zusätzliche Maßnahmen zur Erhöhung der Robustheit des Systems erforderlich.

In der Praxis werden zur Realisierung eines CAN-Netzwerks bevorzugt Linien- oder Bus-Topologien eingesetzt, um allen Teilnehmern des Systems einen direkten Zugriff auf die Daten zu ermöglichen. Der Einsatz dieser Topologie ist außerdem keinen Beschränkungen, hinsichtlich der Anzahl der Teilnehmer, unterworfen.