Slotbaer / Ninco-N Digital / N-Digital Daten-Protokoll

Physikalische Ebene

Das Ninco N - 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 N - Digital sind dies etwa 14 V.

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 Datenworte, die an die Fahrzeuge geschickt werden.

Um die Datenworte zu übertragen, wird die 14V Leitung in einem bestimmten Rhytmus an und ausgeschalet, vergleichbar einem Morsecode. Das Ganze kann man im Titelbild dieser Seite bewundern.

Die Datenworte wiederholen sich alle 5 ms. Das entspricht 200 Hz.

Der Blick ins Detail zeigt:

Jeder Impuls ist 50,8 µs lang. das Tastverhältnis beträgt nominal 3 : 1 oder 1 : 3 je nachdem ob eine Eins oder eine Null vorliegt. Bei einer 1 ist die Lowphase nominal 12,7 µs und die Highphase 38,1 µs lang.

Durch Asymmetrien in den Treibern sind positive und negative Impulse gleicher Länge ... nicht gleich lang, sondern nur ziemlich genau gleich lang :).

Alle Datenworte haben eine Länge von 16 Bit.

Ein Datenwort beginnt immer mit einer Lowphase.

Das LSB wird zuerst übertragen. Das semantische Datenwort im oben stehenden Bild ist also 1111111111110001 oder $FFF1

 

Semantische Ebene

In fast allen Datenworten befindet sich eine Prüfsumme. Dies sind die Bits 8 bis 11 im semantische Datenwort also die Bits 4 bis 7 im Datenstrom. Im Nachfolgenden werde ich mich ausschließlich auf das semantische Datenwort beziehen.

Das semantische Datenwort wird in 4 Nibble unterteilt. Nibble 0 enthält die Bits 0..3.

Nibble 2 (Bits 8..11) enthält die Prüfsumme. Die Prüfsumme berechnet sich aus $F - Nibble 0 - Nibble 1 - Nibble 3, oder anders ausgedrückt die Summe aller Nibble ergibt 15. Bei den mathematischen Operationen werden die Bits oberhalb des vierten Bits ignoriert.

Die Daten werden zyklisch wiederholt. Ein Zyklus besteht aus drei Datenpaketen.

Ein Datenpaket besteht aus sovielen Datenworten wie Regler angeschlossen sind plus 2. In jedem Datenpaket werden die Informationen für jedes Auto einmal gesendet. Die Autos bzw. Regler werden von 1 an gezählt.

Bei nur einem angeschlossenen Regler beginnt also alle 15 ms ein neues Datenpaket. Das entspricht einer Frequenz von 66,6 Hz. Bei 8 Reglern benötigt ein Datenpaket 50 ms was noch 20 Hz entspricht.

Jedes Datenpaket startet mit dem Datenwort $FFF1 oder $FFD1, danach folgen die Datenworte für die Regler und dann ein Infowort.

Es gibt drei verschiedene Infoworte. In den drei aufeinanderfolgenden Datenpaketen eines Zyklus' wird jede Infowortart einmal gesendet.

Zwei der Infoworte kombiniert ergeben die im Turm anzuzeigende Rundenzahl.

Das dritte Infowort gibt für ein Fahrzeug dessen Position im Feld an. Da dieses Infowort nur in jedem dritten Datenpaket geschickt wird und in jedem dieser Datenpakete die Position eines anderen Fahrzeuges übertragen wird, dauert es 24 Datenpakete, bist die Position eines Fahrzeugs erneut übertragen wird. Bei vier angeschlossenen Reglern wären das 24 * 6 Datenworte. Also alle 0,72 Sekunden.


Startwort: 1 1 1 1 1 1 1 1 1 1 L 1 0 0 0 1

Leitet jedes Datenpaket ein.

1 1 1 1 Einsen
1 1 1 1 Einsen
1 1 Einsen
L Enthält eine 1, wenn das Licht eingeschaltet werden soll, sonst eine 0.
1 Eins
0 0 0 1 Dezimalwert 1



Programmierwort: 0 0 0 0 R3 R2 R1 R0 P3 P2 P1 P0 0 0 0 0

Mit diesem Datenwort werden alle Fahrzeuge auf der Bahn dem angegebenen Regler zugewiesen.

0 0 0 0 Nullen
R3 R2 R1 R0 Reglernummer, MSB (1-8)
P3 P2 P1 P0 Prüfsumme, MSB
0 0 0 0 Kennung für das Programmierwort



Reglerwort: 0 0 L T G3 G2 G1 G0 P3 P2 P1 P0 R3 R2 R1 R0

Das Datenpaket teilt den Autos mit mit welcher Geschwindigkeit sie fahren sollen, ob die Spurwechseltaste am Regler gedrückt sind. Es werden nur die Datenworte für Regler gesendet, die wirklich angeschlossen sind.

0 0 Nullen
L Enthält eine 1, wenn das Licht eingeschaltet werden soll, sonst eine 0.
T Enthält eine 1, wenn die Weichentaste am Regler gedrückt ist, sonst eine 0.
G3 G2 G1 G0 Geschwindigkeit, MSB (0-15) Bei den Reglern, die ich habe, ist der maximal übertragene Wert allerdings 14.
P3 P2 P1 P0 Prüfsumme, MSB
R3 R2 R1 R0 Reglernummer, MSB (1-8)



Rundenwort1: E3 E2 E1 E0 Z3 Z2 Z1 Z0 P3 P2 P1 P0 1 0 1 0

Im Turm anzuzeigende Runden niedriges Byte.

E3 E2 E1 E0 Anzuzeigende Einerstelle MSB der Wert ist dezimal, reicht also nur von 0 - 9.
Z3 Z2 Z1 Z0 Anzuzeigende Zehnerstelle MSB der Wert ist dezimal, reicht also nur von 0 - 9.
P3 P2 P1 P0 Prüfsumme, MSB
1 0 1 0 Kennung für dieses Infowort
 



Rundenwort2: H3 H2 H1 H0 T3 T2 T1 T0 P3 P2 P1 P0 1 0 1 1

Im Turm anzuzeigende Runden oberes Byte.

H3 H2 H1 H0 Anzuzeigende Hunderterstelle MSB der Wert ist dezimal, reicht also nur von 0 - 9.
T3 T2 T1 T0 Anzuzeigende Tausenderstelle MSB der Wert ist dezimal, reicht also nur von 0 - 9.
P3 P2 P1 P0 Prüfsumme, MSB
1 0 1 1 Kennung für dieses Infowort



Positionswort: P3 P2 P1 P0 R3 R2 R1 R0 P3 P2 P1 P0 1 1 0 0

Was auch immer vielleicht rennende Testen.

P3 P2 P1 P0 Position des Fahrzeugs im Rennen. MSB. 1 bedeutet Fahrzeug führt. 2 Fahrzeug ist Zweiter usw. 0 bedeutet Fahrzeug nicht im Rennen.
R3 R2 R1 R0 Reglernummer, MSB (1-8), für dessen Fahrzeug die Position gilt.
P3 P2 P1 P0 Prüfsumme, MSB
1 1 0 0 Kennung für dieses Infowort
 

Das Auto

Gelangt das Auto über einen Deadstrip, so stellt es eine halbierte Fahrspannung fest. Daraufhin schliesst die Elektronik im Dekoder die Fahrbahnleiter in einem festen Rhytmus kurz.

Der Rhytmus in der die Kurzschlüsse erfolgen ist Abhängig von der Fahrzeugkennung und ob die Weichentaste gedrückt ist..

Die Lowphase (Kurzschluss) bestimmt ob die Weichentaste gedrückt ist. Sie ist sie nominal 0,5 ms lang, wenn die Weichentaste nicht gedrückt ist und 1 ms lang, wenn sie gedrückt ist.

Die Highphase (kein Kurzschluss) bestimmt die Fahrzeugnummer. Nominal 0,5 ms für Fahrzeug 1; 1 ms für Fahrzeug 2; 1,5 ms für Fahrzeug 3 usw..

Die Mehrspurerweiterung

Die Mehrspurerweiterung überträgt ebenfalls Daten an die Powerbase. Allerdings werden diese Daten als serieller Datenstrom mit 1200 Baud, 7 Bit, keine Parität, 1 Stopbit übertragen.

Die Daten bilden die Zeichenkette PX<CR> wobei X der Fahrzeug Kennung geodert mit je nach Spur $10 oder $20 entspricht. <CR> ist wie auch an anderer Stelle das ASCII Zeichen für Wagenrücklauf.