CAN-Bus 2
Was sind eigentlich die grundsätzlichen Unterschiede zwischen einem CAN-Bus und dem von uns angestrebten DCC-System? Da muss man zunächst betonen, dass nur Letzteres einen Master und viele
Slaves (Sklaven) kennt.
Beim CAN-Bus kann sich also im Prinzip jeder Teilnehmer melden, um eine Nachricht abzusetzen. Sie müssen sich das so vorstellen, dass so ein Teilnehmer laufend das Geschehen auf dem Bus verfolgt.
Und dann gibt es eine bestimmte Bitfolge, man könnte das auch 'Präambel' nennen, da kann sich jeder beliebige Teilnehmer melden. Der gibt aber nicht seine Kodierung, sondern die ein, mit der alle denkbaren
Nachrichten auf dem Bus kodiert sind.
Darin ist auch die Wichtigkeit der Nachricht verborgen. Natürlich ist eine Information über das Bremssystem wichtiger als die über einen Fensterheber. Bei Letzterem kommen die rezessiven Bits früher, d.h. sie
werden von den dominanten der anderen Nachricht überschrieben.
Da jeder Teilnehmer gleichzeitig schreibt und liest, merkt er, dass etwas anderes auf dem Bus ist, als er eingegeben hat und zieht sich automatisch zurück. Bitte beachten Sie welchen Programmieraufwand
das für unseren kleine ATtiny bedeuten würde.
Wir wollen also gar nicht, dass der irgendetwas meldet, so schön es für ein System mit Rückkopplung wäre, z.B. wo der Zug sich gerade befindet. Wir wollen einer Zentralen die Möglichkeit geben, wie bei DCC
üblich, nach einer Präambel von 10 Einsen und einer Null Befehle auszugeben.
Einzig gemeinsam haben DCC und CAN-Bus, dass am Ende der Nachricht ein Code mitgesendet wird, anhand dessen der Empfänger überprüfen kann, ob er alles richtig verstanden hat. Dazu gibt es ein Bit,
dass vom Empfänger an den Absender geschickt wird. Fehlt das, wird die Nachricht wiederholt.
Es ist natürlich z.B. beim Auto sehr wichtig, dass der Empfang einer Nachricht quittiert und notfalls wiederholt wird. Dabei kann es sogar so sein, dass ein Empfänger ausgeschlossen wird bzw. sich vom Bus
zurückzieht. Das alles ist für unser stark vereinfachtes DCC-System nicht nötig.
Tritt beim Empfänger ein Irrtum auf, dann führt dieser den Befehl einfach nicht aus. Man wird das schon merken und entsprechend reagieren, was beim Pkw z.B. zur Betätigung der Bremsleuchten ein Ding der
Unmöglichkeit wäre. Wir sind also froh, nur so ein einfaches System nachahmen zu müssen.
Schauen wir uns die Kosten an, wenn dereinst die gekauften Lokdecoder durch unsere Konstruktion mit dem ATtiny ersetzt sein werden und die Mobile Station 2 von Märklin durch einen oder gar zwei Arduino
Megas, dann sind da gewaltige Unterschiede zu einem System mit CAN-Bus.
Nicht immer ist das Moderne auch das Geeignetere. |
|