CAN Allgemeine Information

InhaltHardwaremergCBUS


NL Originaltext von Fred Jansen

Geschichte

Der CAN-Bus (Controller Area Network) ist in den 80er-Jahren von Bosch (bekannt durch die Zündkerze) für den Einsatz im Auto entwickelt worden, wird aber seitdem auch in vielen anderen Bereichen, wie Luftfahrt und Medizin angewandt. Er hat sich zu einem offenen Standard weiterentwickelt und wird heute sehr weit verbreitet in der Fahrzeugtechnik verwandt, so dass die erforderlichen Komponenten leicht verfügbar sind. Betrachtet man die Fähigkeiten des CAN-Busses, scheint er ideal für den Einsatz bei der Modell-Eisenbahn zu sein. Der Bus ist für relativ unregelmäßige Datenübertragung mit relativ kleinen Mengen an Daten zur Steuerung zwischen Geräten vorgesehen, wobei Reaktionszeiten und Sicherheit sehr wichtig sind. Im Gegensatz zum Ethernet ist er deshalb nicht für die Übertragung von großen Daten-Mengen zwischen Computern geeignet. Zimo, ein Hersteller von Dekodern, hat sich auch für den CAN-Bus entschieden, was zeigt, dass der CAN-Bus in der Welt der Modell-Eisenbahn arbeiten kann.

Für die Modellbahn-Welt wurde eine Datenrate von 125kBit/s (125.000 Bits pro Sekunde) auf dem Bus gewählt. Die technischen Daten des CAN-Bus können bis zu 1MBit/s gehen, aber bei hohen Geschwindigkeiten spielen Leitungslängen eine nicht unerhebliche Rolle bei der Zuverlässigkeit. Mit 125kBit/s können Längen von 500m erreicht werden, was auch für Garten-Bahnen groß genug ist. Die Verkabelung muss mit verdrillten Drähten erfolgen, aber eine Abschirmung ist nicht notwendig.

Struktur der Daten, die Verwendung von Knoten und Ereignissen

Von MERG (Model Electronic Railway Group) gibt es ein Protokoll für die Modellbahn-Welt. Das Protokoll basiert auf dem LocoNet-Protokoll. Die Beschreibung des Protokolls ist vollständig verfügbar. Es wurde dafür das “Erzeuger-Nutzer”-Prinzip gewählt. Angenommen, ein Schalter auf der Anlage wird irgendwann betätigt, was als Ereignis bezeichnet wird. Es wird dann eine Nachricht erzeugt, die an den Bus gesendet wird. Der Bus ist die Verbindung, auf der alle Knoten (oder Module) mit einander verbunden sind. Die erzeugte Nachricht enthält keine Information, woher sie kommt, wohin sie gehen soll und keine weiteren Informationen, sie sendet nur eine Ereignis-Nummer. Der Schalter ist im CAN-Bus-Konzept ein “Knoten” und er ist der “Erzeuger”. Die anderen Knoten (oder Module), die an den Bus angeschlossen sind und die die Nachricht lesen können, sind die “Nutzer”. Jeder angeschlossene Nutzer erhält dieses Ereignis. Was der Nutzer mit diesem Ereignis tut, ist davon abhängig, welche Informationen der Nutzer bereits hat. Das bedeutet, dass ein Nutzer zuvor gelernt haben muss, ob er etwas mit einem Ereignis tun soll oder nicht. Wenn er etwas tun soll, muss er wissen was er tun soll. Dies ist ein sehr starkes und flexibles Prinzip. Die “Erzeuger” können sehr viele Ereignisse senden. Viele Nutzer können auf diese Ereignisse reagieren und handeln auf unterschiedliche Weise. Nutzer können sogar auf verschiedene Ereignisse die gleichen Reaktionen ausführen.

Das beschriebene Beispiel ist sehr abstrakt. Deshalb jetzt ein konkreteres Beispiel. Angenommen, es soll mit einer Taste auf der Anlage eine Fahrstraße und die entsprechenden Signalen einstellen. Außerdem gibt es einen Erzeuger-Knoten und auch mehrere Nutzer-Knoten, die Weichen und Signale treiben. Der Druckknopf wird gedrückt und erzeugt Ereignis “1”. Die Weichen-Steuereung “A” hat gelernt, dass Ereignis “1” bedeutet: Weiche-1-rechts, Weiche-2-links. Die Weichen-Steuereung “B” hat gelernt, dass Ereignis “1” bedeutet: Weiche-3-rechts, Weiche-4-links, Weiche-5-rechts. Die Signal-Steuerungen “C” und “D” haben gelernt, dass mit Auftreten des Ereignis “1” die Signale passend zu der mit den Weichen hergestellten Fahrstraße eingestellt werden sollen. Das Betätigen dieser einen Taste erzeugt ein Ereignis, dass sowohl die Weichen als auch die Signale in einem Arbeitsgang in die richtige Position bringt. Somit kann eine andere Taste ein Ereignis “2” erzeugen und die verschiedenen Nutzer gelernt haben, dass sie mit Erhalt dieser Ereignis-Nummer eine andere Fahrstraße einstellen.

Mit diesem “Erzeuger-Nutzer”-Modell haben sich einige der Entscheidungen, vom Erzeuger auf den Nutzer verschoben. Es wird noch immer einen Computer benötigt, um sicherzustellen, dass die verschiedenen Ereignisse nicht zu widersprüchlichen Aktionen führen. Den Schaltbefehl aus dem Beispiel hat der Computer (als Nutzer) erkannt, er fasst eine logische Entscheidung und als Erzeuger sendet er ein weiteres Ereignis zu den Endnutzern. Besetzt-Melder in einem Block sind Erzeuger von Ereignissen, damit der Computer weiß, dass ein Block besetzt ist.

Jeder Knoten verfügt über eine Knoten-Nummer. Ein CAN-Modul ermöglicht mehrere Knoten-Nummern. Der CBus ermöglicht, dass bis 65536 (Erzeuger)-Knoten (Knoten-Nummern) ausgegeben werden, jeder Knoten kann 65536 Ereignisse erzeugen. Es gibt über 4,29 Billionen mögliche Kombinationen. So viele Knoten sind auf einer Linie einem Elektro-Bus nicht sichtbar. Jeder Knoten verfügt über ein so genanntes Sende-/Empfangs-IC, wodurch die Anzahl der gleichzeitigen Anschluss-Knoten begrenzt ist. Elektrotechnisch ist die Anzahl auf einem Bus-Segment auf 110 Elemente begrenzt. Wenn mehr erforderlich sind, werden mehrere Segmente über sogenannte Brücken-Module (Repeater) verbunden.

Schematische Beispiele für Modellbahnanlagen

Bei realen Anlagen können Funktions-Einheiten aus beiden Beispielen auf einem gemeinsamen Bus kombiniert sein.



Module, SLiM und FLiM

Vom MERG sind eine Reihe von Modulen für den CAN-Bus entwickelt worden. Die Entwürfe wurden veröffentlicht, die Schaltungen stehen zur Verfügung und es sind Bausätze verfügbar. MERG hat beim Entwurf der Module zwei Einstell-Optionen gewählt. Bei der ersten Option, SLiM (Small Layout Model) genannt, werden die Knoten-Nummern mit DIP-Schaltern eingestellt und bei der zweiten Option, FLiM (Full Layout-Modell) genannt, können alle Einstellungen über den Computer durchgeführt werden. In der Reihe von Modulen ist auch eine DCC-Station enthalten, so dass das System ohne die Verwendung eines Computers gesteuert werden kann.

Inzwischen haben Peter Giling und Rob Versluis auch eine Reihe von CAN-Modulen entwickelt, die alle auf der FLiM-Methode basieren. Rocrail unterstützt die CAN-DCC-Station und die Programmierung der Module vollständig.

Die 12V-MERG-Module können auch an Rocrail angeschlossen werden.


Adressierung von Knoten und Ereignissen in Rocrail

Alle Komponenten, die von Rocrail aus angesteuert werden, müssen auf dem CAN-Bus Knoten-Nummern bekommen. Angefangen bei der CAN-GC1 Computer-Schnittstelle.


In der Kommunikation rund um das von MERG entwickelte CAN-Bus-System wird folgendes Logo verwendet:

www.merg.org.uk_merg_images_merg_logo.jpg


Personal Tools