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# CV-Name Bereich
    (default)
    Bedeutung
    1 Basis-Adresse 0 ... 127
    (3)
    Die Basisadresse enthält die Lokadresse. Ist CV#1 gleich 0, verlässt der Decoder den Digitalbetrieb und wechselt in den Alternativ-Betrieb (Analog-Betrieb). Normalerweise wird beim Schreiben der CV1 im Decoder automatisch CV19 (Mehrfachtraktionsadresse) und in CV29 das Bit 5 (Verwendung der erweiterten Adresse; Bit 5 bei Zählung ab 0) gelöscht.
    2 Start-Spannung 0 ... 255
    (-)
    Definiert die Fahrspannung, die bei niedrigster Fahrstufe am Motor anliegt.
    3 Beschleunigungsrate 0 ... 255
    (-)
    Definiert die Länge der Wartezeit, die beim Beschleunigen jeweils vor dem Hochschalten zur nächst höheren Fahrstufe vergeht.
    4 Bremsrate 0 ... 255
    (-)
    Definiert die Länge der Wartezeit, die beim Bremsen jeweils vor dem Herunterschalten zur nächst niedrigen Fahrstufe vergeht.
    5 Maximale Spannung 0 ... 255
    (0)
    Definiert die Fahrspannung, die bei höchster Fahrstufe am Motor anliegt.
    6 Mittlere Spannung 1 ... 255
    (1)
    Definiert die Fahrspannung, die bei mittlerer Fahrstufe am Motor anliegt.
    7 Versionsnummer 1 ... 255
    -
    Gibt die Versionsnummer der Decoder-Software an. JMRI hat eine Übersicht.
    8 Herstellerkennung 0 ... 255 see Appendix zur 9.2.2 der NMRA oder auch weiter unten.
    9 PWM-Periode 0 ... 255
    (0)
    Die am Motor anliegende Spannung wird durch eine Pulsweitenmodulation (Ein- und Ausschalten der Maximal-Spannung) erzeugt. Die Intervalle zwischen den Einschaltpunkten ist die PWM-Periode. Durch Verändern kann die Laufeigenschaft des Motors optimiert werden.
    10 Railcom-X 0 ... 255
    (-)
    Definiert die Übermittlung von besonderen Railcom-Nachrichten im Channel 2. Damit diese Einstellungen wirken, muss Bit 1 in CV28 (Channel 2=active) und Bit 3 in CV29 (railcom=active) eingeschaltet sein.
    Es gilt folgende Zuordnung:

    Bit: Wert Bedeutung
    0 0: abgeschaltet, 1: QoS (Empfangsqualität, Verschmutzungssignal) eingeschaltet.
    1 0: abgeschaltet, 1: Speed (Übermittlung der Istgeschwindigkeit) eingeschaltet.
    2 0: abgeschaltet, 1: Weglänge (Übermittlung der zurückgelegten Strecke) eingeschaltet.
    3 reserviert: 0: , 1:
    4 reserviert: 0: , 1:
    5 reserviert: 0: , 1:
    6 reserviert: 0: , 1:
    7 reserviert: 0: , 1:


    CV10 =


    11 Zeit 0 ... 255 Maximalzeit ohne Datenempfang
    17,18 Erweiterte Adresse 1 ... 10239
    (-)
    Enthält die Adresse zwischen 1 und 10239, wenn der Decoder auf "Erweiterter Adressbereich" eingestellt ist. Dies wird oft auch als lange Adresse bezeichnet. Diese beiden CV's werden nach einer besonderen Rechenvorschrift eingestellt:
    Adresse CV17 CV18

    Diese Adresse wird nur verwendet, wenn auch Bit 5 in CV 29 gesetzt ist.
    19 Consist-Adresse 0 ... 127
    (-)
    Definiert die alternative (zweite Adresse) des Decoders. Im Bit 7 steht, ob die Richtung innerhalb der Mehrfachtraktion normal ist (0) oder invertiert (1). Die Adressierung über die normale Adresse geht vor, normalerweise wird beim Schreiben der CV1 im Decoder automatisch CV19 (Mehrfachtraktionsadresse) gelöscht.
    20 Consist-Adresse (lange Adresse) 0 ... 255
    (-)
    (Details noch unter Klärung)
    28 Konfigurationsdaten für BiDi 0 ... 255
    (-)
    Definiert das Verhalten bei BiDi. Damit diese Einstellungen wirken, muß Bit 3 in CV29 eingeschaltet sein.
    Es gilt folgende Zuordnung:

    Bit:WertBedeutung
    0 0: kein Senden, 1: BiDi Kanal 1 für selbständiges Adressen-Senden verwendet.
    1 0: kein Senden, 1: BiDi Kanal 2 für Daten-Senden verwendet. (Nur auf Aufforderung, z.B. CVs)
    2 0: feste Kanalbenutzung, 1: dynamische Kanalbenutzung
    3 reserviert: 0: , 1:
    4 reserviert: 0: , 1:
    5 reserviert: 0: , 1:
    6 0: normal, 1: Hochstrom-Railcom aktiviert (60mA statt 30mA)
    7 0: normal, 1: Freigabe der railcom+ Funktionaltät im Dekoder. Hinweis: auch Bit 1 (Sendefreigabe in Kanal 2) muß gesetzt sein.


    CV28 =  


    Wenn in CV28 Bit 2 gesetzt ist, wird die Aussendung im Kanal 1 nach dem achtmaligen Empfang der eigenen Lokadresse von selbst abgeschaltet. Damit kann eine neue Lok automatisch erkannt werden und sie stört dann in Folge auch nicht die Erkennung weiterer Loks.
    29 Konfigurationsdaten 0 ... 255
    (-)
    Definiert zentrale Eigenschaften des Decoders: Fahrtrichtung, Anzahl der Fahrstufen, Umschaltung auf Analog-Betrieb, erweiterte Rückmeldung im Programmiermodus, Auswahl der Geschwindigkeitskennlinie, Basis-Adressen oder erweiterte Adressen.
    Es gilt folgende Zuordnung:

    Bit:WertBedeutung
    0 0: Fahrtrichtung normal, 1: Fahrtrichtung invertiert.
    1 0: 14 speed steps, 1: 28 / 128 speed steps
    2 Only DCC, 1: DCC and DC; siehe auch bei CV12
    3 0: BiDi (Bi-Direktionale Kommunikation) abgeschaltet, 1: eingeschaltet
    4 0: Geschwindigkeit gemäß CV2, CV5 und CV6; 1: Individuelle Kurve gemäß CV66-CV95
    5 0: kurze Adresse in CV1, 1: lange Adresse in CV17-CV18
    6 reserviert
    7 0: Multifunktionsdecoder, 1: Accessory (=Zubehör) Dekoder (siehe CV541)


    CV29 =  


    30 Fehlerspeicher 0 ... 255
    (0)
    Hier hinterlegt ein Decoder einen erkannten Fehler; 0 bedeutet kein Fehler.
    31 Indexregister High 0 ... 255
    (0)
    Der CV-Bereich 257 bis 512 wird als 'Lupe' in den gesamten CV-Speicher verwendet. Mit den beiden Indexregistern CV31 und CV32 wird die Position der Lupe bestimmt. Damit sind 65536 * 256 = 16777216 CVs adressierbar.
    Zum schnellen Verstellen dieser Lupe ist ein spezieller PoM-Short Befehl vorgesehen.
    32 Indexregister Low 0 ... 255
    (0)
    Siehe CV31.
    33 � 42 Zuordnung F0 bis F8 0 ... 255
    (-)
    Definiert, welche Funktionen welche Ausgänge schalten.
    49 � 64 Hersteller Parameter 0 ... 255 Reserviert für Nutzung durch Hersteller.
    65 Kickstart 0 ... 255 Definiert, wie lange der Motor einmalig eingeschaltet wird, wenn von Fahrstufe 0 auf Fahrstufe 1 geschaltet wird.
    67 � 94 Kennlinie
    alternative Geschwindigkeitkennlinie. (nur bei Modus 28 Fahrstufen) Jeder der 28 Fahrstufen wird eine spezifische Motorspannung zugeordnet; 0=0V, 255=Maximalspannung





    Hinweis zu CV28, Bit 2: dynamische Kanalbenutzung:
    Wenn dieses Bit gesetzt ist, dann sendet der Dekoder sowohl im Channel 1 und Channel 2. Jedoch wird die Aussendung in Channel 1 nach dem sechszehnmaligen Empfang der eigenen Lokadresse von selbst abgeschaltet. Damit wird eine neu aufgegleiste Lok von einem Railcom-System über Channel 1 erkannt.
    Wenn nun die Steuerung die Lok anspricht, dann macht diese von selbst den Channel 1 wieder frei, und andere Loks können den Channel 1 störungsfrei benutzen.

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.

    Decoder Adresse:CV1[513]:CV9[521]:
    Zugehörige Ausgangsadresse
    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:

    Bit:WertBedeutung
    0 reserved
    1 reserved
    2 reserved
    3 0: BiDi (Bi-Direktionale Kommunikation) abgeschaltet, 1: eingeschaltet
    4 reserved
    5 0: basic accessory decoder, 1: extended accessory decoder
    6 0: 9-bit Decoder-Addressing, 1=11-bit output-addressing
    7 0: Multifunktionsdecoder (siehe CV29), 1: Accessory (=Zubehör) Dekoder
    (Nur wenn Bit 7 1 ist, dann darf der Decoder im Service Mode die beiden MSB ignorieren. CV1 wird dann zu CV513 und ff.


    CV541 =  


    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:
      CV513 CV521 Decoder Address Mode

Herstellerkennungen

    Im Folgenden sind die in D wichtigsten Herstellerkennungen aufgeführt. DCC Vendor-ID, ManufacturerID, MID, VID sind alternative Bezeichnungen.
    dez hex Hersteller
    13 0x0D Öffentliche und Selbstbaudekoder
    18 0x12 JMRI
    19 0x13 AMW (Arnold Hübsch)
    20 0x14 t4t technology for trains
    22 0x16 KAM Industries
    24 0x18 MoBaTron.de (Clemens)
    26 0x1A MBTronik (Kurt Harders)
    28 0x1C Heljan
    40 0x28 Kato
    51 0x33 DCC Supplies
    52 0x34 Krois
    53 0x35 Rautenhaus
    60 0x3C Bücher Elektronik
    61 0x3D Trainmodules, Ungarn
    62 0x3E Tams Elektronik
    85 0x55 Uhlenbrock
    97 0x61 Doehler & Haass
    99 0x63 Lenz
    101 0x65 Bachmann Trains
    109 0x6D Viessmann
    111 0x6F Haber & Koenig Electronics
    113 0x71 QSI
    115 0x73 Dietz Modellbahntechnik
    117 0x75 cT Elektronik
    122 0x7A Berros
    123 0x7B Massoth
    129 0x81 Digitrax
    131 0x83 Trix
    145 0x91 Zimo
    147 0x93 Umelec
    151 0x97 ESU
    155 0x9B Fleischmann
    157 0x9D Kühn
    159 0x9F LGB
    161 0xA1 Roco (Modelleisenbahn GmbH)
    165 0xA5 MERG (DIY in UK)
    178 0xB2 'Appel': Diese ID wurde bei einem Test von Dekodern gefunden (siehe
    186 0xBA Brawa
    251 0xFB FichtelBahn