CAN-Gateway vs. Repeater

Einführung in die CAN-Repeater und CAN/CAN-Gateway Technologie

Häufig kommt bei der Planung eines CAN-Systems die Frage auf, ob ein CAN-Repeater eingesetzt werden soll um die Einschränkung der bevorzugten Netzwerktopologie zu verringern oder ob ein CAN/CAN-Gateway die bessere Wahl wäre. Dieser Artikel befasst sich mit der Funktionsweise der beiden Geräte und nennt Punkte, die man dazu wissen sollte.

1. CAN-Repeater

Skizze zur grundlegenden Funktionsweise eines CAN Repeaters
Skizze zur grundlegenden Funktionsweise eines CAN-Repeaters

Ein CAN-Repeater verbindet zwei CAN-Transceiver über eine interne Logikschaltung. Er sorgt für die Ausbreitung eines CAN-Signals von einer Seite auf die andere Seite und entgegengesetzt. Daher agiert ein optimal ausgelegter CAN-Repeater vollkommen transparent bezogen auf das CAN-Signal, genau wie ein Stück Kabel. Aufgrund der festen Übertragungszeit zwischen den beiden CAN-Transceivern und der Logikschaltung kann man einen CAN-Repeater auch über eine äquivalente Kabellänge beschreiben. Diese beträgt ungefähr 40m bei einem Repeater ohne galvanische Trennung und etwa 60 m für ein Gerät mit galvanischer Trennung.

Die maximale Ausdehnung eines CAN-Systems für eine bestimmte Baudrate kann mit einem CAN-Repeater nicht vergrößert werden. Ein CAN-Repeater erlaubt aber die Nutzung weiterer Topologien neben der Linienstruktur. Stichleitungen und Sterntopologien können z.B. über die Benutzung von CAN-Repeatern realisiert werden.

Wird ein CAN-Netzwerk von einem CAN-Repeater in zwei Segmente aufgespalten, müssen beide mit einem 120R Resistor korrekt an den Enden terminiert werden. Beide Segmente sind physikalisch getrennt, gehören aber zum selben logischen Netzwerk. Dies bedeutet, dass die maximale Entfernung zum letzten Knoten einer Stichleitung immer noch durch die maximale Entfernung zwischen zwei Endpunkten im Netzwerk bestimmt wird. Ein CAN-Netz mit einer Stichleitung irgendwo in der Mitte hat drei Endpunkte „A“, „B“ und „C“. The maximale Entfernung zwischen diesen drei Endpunkten „AB“, „AC“ oder „BC“ ist grundlegend für die Ermittlung der maximal möglichen Baudrate für dieses spezielle System. Daher ist die äquivalente Kabellänge für einen verbauten Repeater als wichtige Größe in die Planungen mit einzubeziehen. Für eine Beispielberechnung zu diesem Thema besuchen sie bitte: CAN-Repeater Beispiel

Ein CAN-Repeater kann dazu benutzt werden ein CAN-Signal auf sehr langen Strecken aufzufrischen oder dabei helfen die maximale Anzahl der Busknoten im CAN System zu erhöhen. Aufgrund der Tatsache, dass ein CAN-Repeater transparent agiert, werden neben dem CAN-Signal auch Error Frames übertragen. Ein Repeater kann jedoch die Möglichkeit bieten ein CAN-Segment zu trennen, das durch einem permanenten dominanten Status blockiert ist, was die Verlässlichkeit eines Systems erheblich erhöhen kann. Die meisten unserer Repeater sind mit diesem Feature ausgestattet.

Unsere CAN-Repeater werden mit einer festgelegten Sperrzeit ausgeliefert. Es ist enorm wichtig den Wert für diesen Parameter richtig zu wählen, damit sich der Repeater in das vorgesehene Netz wie erwartet eingliedert. Wir empfehlen die Sperrzeit auf 10-20% der Bitzeit des CAN-Netzes zu setzen. Weitere Informationen zu diesem Thema finden sie hier: CAN-Repeater Sperrzeit

Das wichtigste Kriterium einen CAN-Repeater in einem Netzwerk einzusetzen ist es eine andere Netzwerkstruktur als die Linienstruktur realisieren zu wollen. Der Ansatz und die Realisierung von Stichleitungen, z.B. in einer Sternstruktur, kann die Gesamtlänge eines CAN-Systems erheblich verkürzen und zusätzlich kann eine galvanische Trennung einzelner Netzteile erreicht werden, wenn dafür Repeater mit galvanischer Trennung eingesetzt werden.

Ein CAN-Repeater bietet die Möglichkeit Netzwerkprobleme zu lösen, die ansonsten nur mit einem erheblich höheren Einsatz an Materialkosten gelöst werden könnten oder im schlimmsten Fall einen Wechsel auf ein anderes Bussystem erfordern.

2. CAN/CAN-Gateway

Grundlegendes Funktionsschema eines CAN/CAN-Gateway
Grundlegendes Funktionsschema eines CAN/CAN-Gateway

Ein CAN/CAN-Gateway beeinhalte zwei CAN-Controller und einen Mikrocontroller. CAN-Nachrichten werden von einem CAN-Controller empfangen, vom Mikrocontroller verarbeitet und dann durch den zweiten CAN-Controller auf der anderen Seite wieder verschickt. Verarbeitung bedeutet in diesem Zusammenhang, dass Nachrichten gefiltert, die Identifier ausgetauscht oder der Dateninhalt verändert wird. Außer der Anpassung der Nachrichten kann auch eine Umsetzung zwischen verschiedenen Baudraten erfolgen.

Ein CAN/CAN-Gateway verbindet also zwei CAN-Systeme und kontrolliert den Nachrichtenaustausch durch die Anwendung von Regeln und Funktionen auf die einzelnen Nachrichten. Dies ist die Haupteigenschaft, die einen CAN-Repeater, der sich ja mehr oder weniger wie ein Stück Kabel verhält, von einem CAN/CAN-Gateway unterscheidet. Diese erweiterte Funktionalität führt aber auch zu höheren Kosten im Vergleich zu einem CAN-Repeater.

Das Hauptproblem beim Einsatz eines CAN/CAN-Gateways ist die entstehende Latenzzeit, die zwischen dem Empfang auf der einen Seite und dem Senden dieser Nachricht auf der anderen Seite entsteht. Für ein Netzwerk ohne Datenverkehr ist diese Latenzzeit die Laufzeitverzögerung des CAN/CAN-Gateways, die sich mit zunehmender Buslast erhöht und somit nicht fest definiert werden kann. Wenn nur auf der Empfängerseite hohe Buslast herrscht erhöht sich die Laufzeitverzögerung, da der Mikrocontroller häufiger im Empfangsinterrupt die Nachrichten arbeiten muss und Nachrichten, die gesendet werden müssen, warten müssen, bis der Prozessor Zeit für den Sendevorgang aufwenden kann. Sollte auf beiden Seiten Buslast herrschen kommt zusätzlich noch die Zeitspanne hinzu, die der Mikrocontroller auf einen Idle-Status des CAN-Bus warten muss, bevor er die Nachricht senden kann. Diese Zeit hängt aber auch stark vom verwendeten CAN-Identifier ab, der die Nachrichtenpriorität regelt. Daher sollte der Planer des CAN-Systems auch die erwartete Buslast in seine Entscheidungen miteinbeziehen, wenn der Einsatz eines CAN/CAN-Gateways vorgesehen ist.

In der Praxis werden diese Auswirkungen klarer, wenn man die SYNC Nachricht im CANopen Protokoll genauer betrachtet. Diese Nachricht wird dazu benutzt Aktionen auf verschiedenen CANopen Knoten über den Empfangszeitpunkt der Nachricht zu synchronisieren. Wird die SYNC Nachricht um eine unbestimmte Zeitspanne verzögert, wird das Systemverhalten nicht mehr vorhersagbar. Das Filtern von Nachrichten, z.B. über die Akzeptanzfilter im CAN-Controller, kann helfen die Buslast zu verringern, eine komplette Aufhebung dieses Effekts kann aber nicht erreicht werden.

Da ein CAN/CAN-Gateway auf Nachrichtenbasis arbeitet, werden Error Frames nicht auf die gegenüberliegende CAN-Seite weitergegeben. Zusätzlich erlaubt ein CAN/CAN-Gateway die komplette Maximallänge und maximale Knotenanzahl eines Netzwerks auf beiden Seiten für eine bestimmte Baudrate bzw. sogar eine Umsetzung zwischen unterschiedlichen Baudraten.

Es gibt also durchaus Gründe ein CAN/CAN-Gateway zur Verbindung zweier CAN-Systeme einzusetzen, zwischen denen der Nachrichtenfluss kontrolliert werden soll. In solchen Fällen sollte der Planer des CAN-Sytems durchaus von den Vorteilen dieser Geräte Gebrauch machen. Beispielsweise muss für eine Automotive Anwendung keine neue elektronische Steuereinheit (ECU) entwickelt werden, wenn der Systementwickler ein CAN/CAN-Gateway einsetzt, um die Identifier oder die Dateninhalte der alten Geräte an das neue System anzupassen.

Ein CAN/CAN-Gateway, das CAN-Nachrichten über Übertragungsmedien wie Lichtwellenleiter (CG-FL, EtherCAN FX) oder Ethernet (EtherCAN CI) überträgt und dabei Protokolle wie TCP oder UDP einsetzt, nennt man CAN/CAN Router. Diese Geräte erweitern das Konzept eines CAN/CAN-Gateway mit einer höheren Ausbreitung des Netzes bei Einhaltung der gleichen Voraussetzungen. Diese Geräte ermöglichen es Punkt zu Punkt Verbindungen zwischen CAN-Systemen herzustellen, die Strecken von bis zu 40km überbrücken können und durch ihre geringen Latenzzeiten auch durchaus komplexe CAN-Applikationen möglich machen.