Slotbaer / Scalextric-Digital / Scalextric Daten-Protokoll

Scalextric biete zwei Blackboxes an. Eine einfache für den Anschluss von 4 Reglern und eine für 6 Regler. Ich habe das kleinere Modell untersucht. D.h. es kann sein, dass die Blackbox für 6 Anschlüsse noch weitere Datenpakete versendet.

Infos und noch mehr Infos

Die Informationen auf dieser Seite habe ich empirisch ermittelt, bevor die 7042 auf den Markt kam.

Die Möglichkeiten der 7042 gehen über das hier beschriebene hinaus. Ich habe diese Erweiterungen nicht dokumentiert, denn mit der neuen Powerbase 7042 hat Scalextric als erster und einziger Slotcar-Hersteller Informationen und Spezifikationen seines Digitalsystems der Allgemeinheit zugänglich gemacht. Informationen sind hier, hier und hier zu finden.

Physikalische Ebene

Der erste Blick mit dem Oszilloskop ist eher nichts sagend.

Auf den zweiten Blick kann man erkennen, dass die ganze Zeit über Daten übertragen werden. Man kann auch einen Rhytmus erkennen.

Der Blick ins Detail zeigt:

Das Signal hat ein Impuls-Pausenverhältnis von 1:1. Es gibt zwei Impulsarten mit Zykluszeiten von 120 und 240 µs. Und die Spannung hat laut Oszi einen Betrag von sehr hohen 27V.

In Wirklichkeit ist es nur Hälfte. Der Effekt ensteht dadurch, dass es sich um keine gepulste Gleichspannung (wie bei Carrera und SCX), sondern um eine Wechselspannung handelt.

Die Verwendung einer Wechselspannung hat den Nachteil eines höheren Batuteilaufwands in allen Baugruppen, hat aber auch den Vorteil, dass es keine Phasen ohne Energiezufuhr gibt.

Themenwechsel:

Scalextric ist eine Marke der Firma Hornby in England. Hornby ist vor allem für seine Modelleisenbahnen bekannt. Und das ist für uns interessant, weil es bei den Modelleisenbahnern auch digitale Systeme gibt. Hornby verwendet für seine Modelleisenbahnen das sogenannte DCC System. Und eine Überprüfung der Spezifikation des DCC Standards zeigt uns, dass... die physikalische Ebene des Scalextric Digital Systems auf DCC basiert.

Ein kurzer Impuls ist bei DCC eine 1 und ein langer eine 0. Die Länge des 1 Signals ist mit 116 µs spezifiziert, für die Länge des Nullimpulses ist der Spielraum ungleich größer. Scalextric scheint sich hier auf 120 µs für eine Eins und 240 µs für eine Null festgelegt zu haben.

Solange keine Daten übertragen werden werden nur Nullen gesendet. DIe Daten werden paketweise übertragen.

Um den Beginn einer Datenübertragung, eines Pakets, anzuzeigen werden mindestens 14 Einsen hintereinander übertragen, das sind im oberen Bild die Bereiche mit den eng beieinander liegenden gelben Linien. Diese aufeinanderfole von Einsen heisst "Präambel".

Nach den Einsen folgt ein Start-Bit. Das muss natürlich eine 0 sein, sonst könnte man es nicht von der Präambel unterscheiden.

Dann folgen 8 Datenbits und dann ein Ende-Bit. Ist dies eine eins so endet die Übertragung ist es esne 0 dann folgen weitere 8 Datenbits und wieder ein Endebit usw..

Dadurch kann es innerhalb eines Datenpaketes nie zu mehr al 9 aufeinanderfolgenden Einsen kommen und somit ist jederzeit eine Unterscheidung zwischen den Einsen eines Paketanfangs und denen eines Datanbytes möglich.

Die Datenpakete folgen direkt hintereinander. Da die Scalextric Digital Blackbox Datenpakete zu 8 Bytes versendet dauert ein Datenpaket zwischen 16 * 120 (Präambel) + 7 * 240 ( Ende Bits 0) + 120 (Ende Bit 1) + 8 * 8 * 120 (8 Bytes mit Einsen) und 16 * 120 (Präambel) + 7 * 240 ( Ende Bits 0) + 120 (Ende Bit 1) + 8 * 8 * 240 (8 Bytes mit Nullen) µs.

Das heisst alle 11,4 ms (87 Hz) bis 19,1 ms (52 Hz) werden die Reglerstellungen neu übertragen. Das ist vergleisweise oft.

Die Datenbits werden in MSB Reihenfolge gesendet.

Das letze Byte eines jeden Pakets ist die Exklusiv-Oder Verknüpfung aller vorhergehenden Bytes dieses Pakets.

Dies ist ein Ausschnitt aus einer Datenübertragung. Nach der Präambel folgt sofort ein Ende Bit und dem gegebenenfalls die Datenbits.

 

Semantische Ebene

Wie schon erwähnt werden die Daten paketweise gesendet.

Die Autos werden unüblicherweise von 1 an gezählt.

Resetpaket: $00 X1 X2 X3 X4 X5 X6 PS

Vor und nach der Fahrzeugprogrammierung wird ein resetpaket übertragen. Damit

  Pakettyp
X1 X2 X3 X4 X5 X6 Die Daten werden vom Autodekoder ignoriert. Sie scheinen aber immer den Inhalt des nächsten Pakets vorweg zu nehmen.
PS Prüfsumme

Programmierpaket: $01 A1 A2 A3 A4 A5 A6 PS

Wird eine der Programmiertasten lange genug gedrückt wird dieses Paket 91 mal gesendet. Und alle Autos, die in diesem Moment auf der Bahn stehen, auf diese Adresse programmiert.

$01 Pakettyp
A1 A2 A3 A4 Es wird viermal die zu setzende Fahrzeugadresse gesendet.
A5 A6 Das Protokoll ist für 6 Fahrzeuge ausgelegt, da aber die kleine Blackbox nur 4 Regler unterstützt, sendet sie für die anderen Autos nicht die neue Adresse sondern nur Nullen.
PS Prüfsumme

Reglerpaket: $02 R0 R1 R2 R3 R4 R5 PS

Das Datenpaket teilt den Autos mit mit welcher Geschwindigkeit sie fahren sollen, ob der Spurwechseltaster und/oder die Bremstaste am Regler gedrückt sind. Es werden immer Datenworte für alle Regler gesendet unabängig davon welche Regler wirklich angeschlossen sind.

$02 Pakettyp
R1 R2 R3 R4 Daten von den Reglern für das jeweilige Auto

 

Bit 7 1 wenn Bremstaste gedrückt
Bit 6 1 wenn Weichentaste gedrückt
Bits 0 - 5 Geschwindigkeit MSB

 

Ist ein Regler nicht angeschlossen, so wird der Code $80 (Bremse aktiv, Geschwindigkeit 0, Weichentaste nicht gedrückt) gesendet.

R5 R6 Das Protokoll ist für 6 Fahrzeuge ausgelegt, da aber die kleine Blackbox nur 4 Regler unterstützt, sendet sie für die anderen Autos nur Nullen.
PS Prüfsumme