Slotbaer / Carrera Digital 143 / D143 Daten-Protokoll

 

Physikalische Ebene

Das Carrera Digital System ist genau wie die anderen digitalen Rennbahnsysteme ein zwei Leiter System.

Bei einem analog System verändert sich die Spannung zwischen den beiden Leitern und regelt so die Geschwindigkeit des Slotcars. Bei einem digitalen System liegt eine konstante Spannung an, die allen Fahrzeugen als Versorgungsspannung dient. Bei D132 und D143 sind dies etwa 15V (14,7V gemessen, aber 15V spricht sich leichter), bei D124 nominal 18V.

Da die Höhe der Spannung als Informationsträger für die Slotcargeschwindigkeit wegfällt, muss den Fahrzeugen ihre Sollgeschwindigkeit anders mitgeteilt werden.

Dies geschieht über Datenpakete, die an die Fahrzeuge geschickt werden.

Um die Datenpakete zu übertragen, wird die Spannung in einem bestimmten Rhytmus an und ausgeschalet, vergleichbar einem Morsecode. Das Ganze sieht etwa so aus:

Alle 7,5 ms kommt ein Datenwort. Es gibt 10 verschiedene Datenworte die sich ständig wiederholen. D.h. ein Datenwort wird alle 75ms neu gesendet. Das entspricht einer Frequenz von 13Hz.

Bei den Datenworten handelt es sich um serielle Datenworte im Manchester Code. Die Baudrate beträgt nominal 10 kBaud. D.h. die Bits wechseln alle 100µs.

Beim Manchester Code gibt der Zustand vor dem relevanten Flankenwechsel den Bit Wert an.

Das erste Bit ist ein Startbit.

Die Anzahl der Datenbits ist je nach Datenwort unterschiedlich. Es gibt Datenworte mit 7, 9 und 12 Datenbits.

Es gibt kein Stopbit.

Aus einem mir nicht ersichtlichen Grund gibt es Datenworte im MSB und welche im LSB Format.

 

Semantische Ebene

Wie schon erwähnt werden 10 Datenworte zyklisch gesendet.

Sechs dieser Datenworte haben den gleichen Aufbau, denn jedes gibt die Regler Informationen an das entsprechende Auto weiter.

Im Normalfall ist die Reihenfolge:

  • Programmierdatenwort
  • PaceUndGhostCardatenwort
  • Aktivdatenwort
  • Reglerdatenwort 0
  • Reglerdatenwort 4
  • Reglerdatenwort 1
  • Reglerdatenwort 5
  • Reglerdatenwort 2
  • Aktivdatenwort
  • Reglerdatenwort 3

Reglerdatenwort: 1 R2 R1 R0 SW G3 G2 G1 G0 TA
Das Datenpaket teilt den Autos mit mit welcher Geschwindigkeit sie fahren sollen, ob der Spurwechseltaster am Regler gedrückt ist oder nicht und ob der Benzinstand aktiviert ist. Es werden immer Datenworte für alle Regler gesendet unabängig davon welche Regler wirklich angeschlossen sind.


1 Startbit
R2 R1 R0 Adresse des Reglers (0-5). MSB
SW

Spurwechseltaste. Wird 0 wenn die Taste gedrückt ist.

G3 G2 G1 G0

Geschwindigkeit (0-15) MSB

TA Ist 1, wenn der Benzinstand aktiviert ist. Das Bit wird von D143 Dekodern nicht ausgewertet.

 

PaceUndGhostCardatenwort: 1 1 1 1 KFR TK FR NH PC TA
Das Datenwort dient der Steuerung des Pacecars. Es sieht auf den ersten Blick wie ein Reglerdatenwort für den Regler Nummer 7 aus.

D143 Dekoder unterstützen keinen Ghostcar-Betrieb.


1 Startbit
1 1 1 Adresse des Reglers (7). MSB
KFR Keine Freigabe. Ist das Bit 0, findet normaler Bahnbetrieb statt. Ist das Bit 1, so ist die Startampel oder ein Programmmodus aktiv. Ghost und Pacecar stehen.
TK

Das Bit ändert sich bei jedem Befehl. Es kann alls Takt dienen, ist allerdings nur bei normalem Bahnbetrieb aktiv. Und gibt möglicherweise den Weichen vor, ob ein Ghostcar die Weiche betätgen soll oder nicht.

FR Das Invertierte von KFR.
NH Wenn das Pacecartaste gedrückt wurde, zeigt dieses Bit an ob das Pacecar in die Box zurück soll. Bei einer 0 soll es, bei einer 1 nicht. Ist das Pacecar nicht aktiv ist das Bit 0.
PC Das Bit ist 1, solange das Pacecar aktiv ist, nachdem die Pacecartaste gedrückt wurde.
TA Ist 1, wenn der Benzinstand aktiviert ist.

 

Aktivdatenwort: 1 R0 R1 R2 R3 R4 R5 IE
Das Datenwort gibt bekannt welche Regler gerade gedrückt sind. Es berücksichtigt nur den Drücker, aber nicht die Spurwechseltaste. Dieses Datenwort wird in jedem Zyklus zweimal gesendet.

Ich vermute es dient zum verkürzender Reaktionszeit beim Bremsen. Durch diese zusätzlichen Datenworte ergeben sich innerhalb eines 75 ms Zyklus, drei Gelegenheiten ein Loslassen des Reglers zu erkennen, statt nur einer. Ich nehme an, dass die Analogregler entsprechend häufige abgeragt werden.

Hilft allerdings nichts bei IR Regler, da deren Werte nur kurz vor dem Senden des Reglerdatenwortes abgefragt werden. Allerdings hilft es auch dort das "Verpassen" eines Reglerdatenwortes zu kompensieren.


1 Startbit
R0 Das Bit ist 1, wenn Regler 0 gedrückt wird.
R1 Das Bit ist 1, wenn Regler 1 gedrückt wird.
R2 R3 R4 R5 Das Gleiche in Moll.
IE Ist 1, wenn irgendein Regler gedrückt wird.

 

Programmierdatenwort: 1 W0 W1 W2 W3 P0 P1 P2 0 0 R0 R1 R2
Das Datenwort sendet die Werte für maximale Geschwindigkeit, Bremswirkung oder Tankfüllung an ein Auto. Wenn ein Auto programmiert wird, wird jeder Programmierbefehl zweimal gesendet.

Er dient auch zur Mitteilung eines Frühstarts. In R0-R2 wird die Reglernummer übertragen, in P0-P2 steht 4 für keine Programmierung und in W0-W3 steht 9 für Frühstart. Es wird immer nur der früheste Frühstarter erfasst.

D143 Dekoder unterstützen keine Programmierfeatures.


1 Startbit
W0 W1 W2 W3 Der Wert (0-15) für den ausgewählten Parameter. LSB
Bei einem Frühstart ist der Wert 9. Im Normalfall 1
P0 P1 P2

Wählt den Parameter aus (LSB):

000 Geschwindigkeit (0) oder Startsequenz
100 Bremse (1)
010 Tankgröße (2)
011 Reset (3)
001 Normaler Betrieb (4)
0 0

Vermutlich weitere Parameterbits

R0 R1 R2 Adresse des Reglers (7). LSB

 

Mit der neuen Blackbox kamen in 2008 Datenworte für die Startsequenz, Reset und Rennstart hinzu.

Im Normalfall wird "Normaler Betrieb", mit dem Wert 1 und aufeinanderfolgenden Adressen übertragen:

  • $1820
  • $1824
  • $1822
  • $1826
  • $1821
  • $1825
  • $1823
  • $1827
  • $1820

Bei der 2008er BB wird vor Aufnahme des normalen Betriebs einmalig ein Reset $10C3 eingeschoben.

D.h es wird nach dem EInschalten übertragen bzw. wenn der Programmiermodus verlassen wird.

Ebenso wird bei der 2008er BB beim Drücken der Starttaste im Rennmodus $1A03 übertragen. Dies ist der Programmierbefehl 0 (Geschwindigkeit) mit dem Wert 5 and das Fahrzeug 6.

Beim erneuten Drücken der Starttaste wird nun bei jeder Änderung der Startampel der Wert um eins heraufgezählt.

Direkt bevor die Leds gelöscht werden wird noch das Startwort übertragen. Die Sequenz ist:

  • $1803 Led 1
  • $1403 Led 1-2
  • $1C03 Led 1-3
  • $1203 Led 1-4
  • $1A03 Led 1-5
  • $1023 Rennstart
  • $1003 Leds aus

Die Worte werden werden wie normale Programmierbytes gesendet und verschieben die "normalen" Worte nach hinten.

Mit diesen zusätzlichen Kommandos lassen sich externe Startampeln synchronisieren und der Rennstart erkennen.

Das Einschalten der mittleren Led für den Rennbetrieb wird nicht durch ein entsprechendes Datenwort kenntlich gemacht.