Der CAN Bus von Märklin Digital

Mit der Mobilestation und der Centralstation hat Märklin den CAN Bus für den Anschluß der Mobilestation eingeführt. Leider wurde das Protokoll nicht veröffentlicht. Mittels Reverse Engineering wurde aber das Protokoll entschlüsselt. Stefan Krauß hat auf seiner Homepage eine Doku dieses Protokolls veröffentlicht.

Auch die MS2 spricht CAN mit der Gleisbox. Die CS2 kann im Gegensatz zur MS2 zusätzlich die CAN Frames über UDP auf ihrem Ethernet Interface senden und empfangen. Damit läßt sich die Modellbahn auch per App auf Smartphone oder Tablet oder per PC steuern. Da Märklin das Protokoll veröffentlicht hat, ist es auch für Modellbahner möglich, eigene Software zu erstellen.

Stefan Krauß hat auf seiner Homepage eine Lösung vorgestellt, um über einen Windows PC mit CAN Interface Kommandos an die Gleisbox zu senden und damit die Modellbahn zu steuern. Eine Zentrale ist damit bei dieser Lösung nicht mehr nötig. Das von ihm erstellte Programm GBox3Eth steht auch auf seiner Homepage zur Verfügung.

Die Dokumentation des CAN Protokolls und der Ethernet Anschluß der CS2 hat auch dazu geführt, daß die Unterstützung von Märklin Digital in weiteren Steuerungsprogrammen Einzug gehalten. Mit Rocrail sogar in ein Programm, dessen Source zur Verfügung steht (für aktuelle Versionen steht der Source Code nicht mehr öffentlich zur Verfügung). Für den CAN Bus selbst gibt es mit dem CAN-digital Bahn Projekt eine große Zahl von Decodern und Rückmeldemodule, die direkt an den CAN Bus angeschlossen werden und nicht das Gleissignal auswerten.

Statt einen PC direkt an den CAN Bus anzuschließen, wie es Stefan Krauß gemacht hat, kann auch mit einem kleinen Minicomputers mit CAN und Ethernet Interface der CAN Bus um die Netzwerkfunktionalität erweitert werden. Damit kann das System mit Software gesteuert werden, die auch eine CS2 steuern kann.

Die folgende Lösung stellte ein solches Softwaresystem vor, das an diversen Anschlüssen betrieben werden kann und unter Linux läuft. Die Software kann z.B. mit der CC-Schnitte des CAN-digital-Bahn Projekts oder aber auf einem Computer mit SocketCAN Schnittstelle wie einige ARM basierte Minicomputer mit integriertem CAN Controller betrieben werden. Als Beispiel, für die auch direkt SD Karten Images zur Verfügung stehen, werden das Beagelbone Black und der Banana Pi benutzt. Beide Minicomputer verfügen über einen Mikrocontroller mit integrierten CAN Controller. Damit ist lediglich eine Aufsteckplatine mit CAN Transceiver nötig, was diese Lösungen sehr preiswert macht.

Um zm Debuggen auch die CAN Frames zu analysieren, bietet sich Wireshark an. Beim BBB und RPi wird das CAN Interface über den Netzerkstack eingebunden und kann direkt getract werden. Es fehlt nur ein Dissector, um die CAN Nachrichten zu dekodieren. Als Dissector kann das Lua File aus dem Downlaod Verzeichnis benutzt werden.

Externe Links


Zurück zur Modellbahn Startseite - Zurück zur Homepage