OpenDCC - Zentrale und Dekoder für DCC - Configuration Variablen
Was ist eine CV?
-
Ein Lokdecoder oder ein
Zubehördecoder (Accessory-Decoder)
kann im seinem Reaktionsverhalten
auf DCC-Befehle mit
Konfiguationsvariablen (=CV,
für engl. configuration variables)
eingestellt werden. Darunter fallen
neben der Lokadresse und Zahl der
Fahrstufen auch die Einstellungen
für Beschleuigung, Bremsen,
Lichtansteuerung usw. Insgesamt sind
1024 verschiedene CV's vorgesehen,
ein Großteil davon ist unbenutzt
bzw. herstellerspezifisch belegt.
Wie werden diese CV-Variablen geschrieben?
-
Es gibt verschiedene Techniken,
diese CV's zu programmieren. Diese
sind in RP.9.2.3 der NMRA Standards
definiert.
- Adress-Only
Hier wird einfach die Adresse umgestellt - d.h. CV1 neu programmiert. Das ist ein historischer Befehl. - Register-Programmierung
Diese Art der Programmierung erlaubt den Zugriff auf die 8 wichtigsten CVs:Register Code CV, Bedeutung 1 000 CV1: Adresse 2 001 CV2: Anfahrspannung 3 010 CV3: Beschleunigung 4 011 CV4: Bremsverzögerung 5 100 CV29: Konfiguration 6 101 Page: reserviert 7 110 CV7: Version 8 111 CV8: Herstellerkennung - Paged
Die seitenweise (=paged) Programmierung ist ein Erweiterung der Registerprogrammierung, mit der kompletter Zugriff auf alle CV's möglich ist. Eine Seite ist als ein Paket von vier aufeinanderfolgenden CV's definiert, d.h. CV1, CV2, CV3 und CV4 bilden die Seite 0, CV5 bis CV8 die Seite 1, usw. Bei der Programmierung wird in das Register 6 zuvor die Adresse der Zielseite eingeschrieben. Der Decoder blendet daraufhin diese Seite anstatt der Register 1-4 ein. - Direkt Mode
Hierbei wird direkt die Adresse der zu schreibenden oder lesenden CV im DCC-Befehl angegeben. Es gibt sowohl Direkt Mode Befehle für den Bytezugriff als für den bitweisen Zugriff. - POM (=Programming on the
main, Programmieren auf dem
Hauptgleis)
Die zu schreibende oder lesende CV wird zusammen mit der Lokadresse auf dem normalen Gleis ausgegeben (nicht auf dem Programmiergleis). Der Decoder erkennt die Programmierung an, wenn er zweimal direkt hintereinander den gleichen POM-Befehl empfängt. Normalerweise kann der Empfang nicht bestätigt werden, die Auswirkung der Programmierung sollte sofort kontrolliert werden.
Mit railcom ® und entsprechender Hardware (z.B. ein BiDiB-System) ist es möglich, POM sowohl schreibend als auch lesend überall auf der Anlage durchzuführen. Der Empfang wird dabei bestätigt. Dabei wird gegenüber dem normalen Programmieren auf dem Programmiergleis auch etwa die 20-fache Lese- bzw. Schreibgeschwindigkeit erreicht.
CV-Variablen für Lokomotiven
-
Die hier aufgelistetem CV's waren
ursprünglich in RP.9.2.2 der NMRA
festgelegt. Die Normung dort ist
aber ins Stocken gekommen, so dass
mittlerweile Railcommunity, RCN217
als wesentlich zu betrachten ist. In
der nachfolgenden Tabelle sind Bits
entsprechend ihres mathematischen
Gewichts benannt - also Bit 0 ist
das LSB, Bit 7 ist das MSB. Manche
Dekoderdokumentationen bezeichnen
die Bits von 1 bis 8.
CV-Variablen für Zubehör Decoder
-
Einfache Zubehördekoder werden i.d.R. mit der Tastermethode programmiert,
d.h. Taster drücken, die
erste nachfolgend empfangene Adresse ist die einzustellende Dekoderadresse.
Mit mehr Funktionen ausgestattete und damit komplexere Dekoder (wie z.B. OpenDecoder2) benutzen CVs zum Einstellen der Adresse und der Eigenschaften. Auch hier sind bereits eine Folge von Adressen durch die NMRA vordefiniert, weitere (eigentlich *ziemlich* viele) sind reserviert.
Ursprünglich waren die CVs für Zubehördekoder beginnend bei CV513 bis 1024 definiert. Der Sinn dieser Festlegung war nicht wirklich offensichtlich - zudem gibt es Zentralen, die nicht in der Lage sind diesen Adressbereich anzusprechen. Dafür sah die Normung aber vor, dass ein Dekoder fallweise die Adressen der CV um 512 nach unten verlegen darf - also aus CV513 wird CV1, aus CV514 wird CV2 usw. Damit lassen sich dann die Dekoder auch mit kleinem Adressbereich ansprechen.
Mit Erscheinen der 9.2.2 hat die NMRA diese relativ sinnfreie Festlegung aufgegeben - jetzt dürfen Accessory Decoder auch mit CV1 beginnen. Nachfolgend ist die ursprüngliche (alte Adresse) in Klammern angegeben.
CV# | CV-Name | Bereich (default) |
Bedeutung | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 (513) |
Decoder Adresse (low) | 1 ... 511 | unterer Teil der Decoderadresse.
| ||||||||||||||||||||||||||||||
2 (514) |
Auxiliary Activation | 0 ... 255 | Bitfeld, gibt an ob ein Ausgang auch durch lokale Bedienelemente aktiviert werden darf. | ||||||||||||||||||||||||||||||
3 (515) |
Time on F1 | 0 ... 255 | Gibt die Einschaltzeit für Ausgang 1 an. Einheit meist 10ms oder 20ms; 0 bedeutet permanent geschaltet. | ||||||||||||||||||||||||||||||
4 (516) |
Time on F2 | 0 ... 255 | Gibt die Einschaltzeit für Ausgang 2 an. | ||||||||||||||||||||||||||||||
5 (517) |
Time on F3 | 0 ... 255 | Gibt die Einschaltzeit für Ausgang 3 an. | ||||||||||||||||||||||||||||||
6 (518) |
Time on F4 | 0 ... 255 | Gibt die Einschaltzeit für Ausgang 4 an. | ||||||||||||||||||||||||||||||
7 (519) |
Version | 0 ... 255 read only |
Versionskennung des Decoders | ||||||||||||||||||||||||||||||
8 (520) |
Vendor ID | 0 ... 255 read only |
Herstellerkennung | ||||||||||||||||||||||||||||||
9 (521) |
Decoder Adresse (high) | 0 ... 7 | oberen 3 Bits der *Dekoder*Adresse, Berechnung der Ausgangsadresse siehe bei CV513 | ||||||||||||||||||||||||||||||
10-27 (522-539) |
tbd. | 0 ... 255 | reserviert | ||||||||||||||||||||||||||||||
28 (540) |
Bi-Di | 0 ... 255 | Bi-Directional Communication Config | ||||||||||||||||||||||||||||||
29 (541) |
Config | 0 ... 255 | Allgemeine Decoderkonfiguration Es gilt folgende Zuordnung:
| ||||||||||||||||||||||||||||||
31 | IndexH | 0 ... 255 | Index Register High Byte | ||||||||||||||||||||||||||||||
32 | IndexL | 0 ... 255 | Index Register Low Byte; mit diesen beiden CV wird ein Index innerhalb des Decoders
addressiert: dabei wird in den Bereich CV257 bis CV512 eine Seite eingeblendet, auf die
fortan zugegriffen werden kann. Dadurch entstehen 65536 * 256 adressierbare CVs. Aus diesem
Bereich sind die ersten 4096 * 256 seitens der NMRA reserviert,
der Rest ist herstellerspezifisch. Mit der Einführung von railcom wird die Seite mit CV31=0 und CV32=255 für die railcom-Verwendung reserviert. |
Wie hängen Decoder-Addressing und Output-Addressing zusammen? Hier hilft folgende Graphik zur Veranschaulichung:
Herstellerkennungen
-
Im Folgenden sind die in D wichtigsten Herstellerkennungen aufgeführt. DCC Vendor-ID,
ManufacturerID, MID, VID sind alternative Bezeichnungen.