DCC
- Hier folgt eine kurze Beschreibung des DCC Standards, insbesondere auch von Neuerungen. Zum genauem Studium sei
auf die NMRA-Normen verwiesen. Tiefergehende Infos finden sich auch bei den
Erläuterungen zur Software der Zentrale.
Im Februar 2011 wurden neue Erweiterungen angekündigt: ein neuer DCC-Befehl, der neben der Geschwindigkeit auch alle Funktionstasten gemeinsam überträgt, statt einzeln. Weiterhin wurden neue Befehle zum blockweisen Lesen und Schreiben von CV-Daten definiert.
Übersicht
Bei DCC wird eine 1 als zwei schnelle Flankenwechsel (nach je 58µs), eine 0 als zwei langsame Flankenwechsel (nach je 116µs) übertragen, es is also quasi eine FM, jedoch mit variabler Symboldauer. je Bit werden zwei Flankenwechsel verwendet, die Polarität des Signals ist dabei egal. Das bedeutet, die Polariät beeinflußt nicht die Fahrtrichtung, diese wird immer relativ zum Fahrzeug angegeben. Stellt man eine Lok anders herum aufs Gleis und fährt 'vorwärts', so bewegt sie sich immer in Richtung des Führerstandes 1 bzw. Schornsteins.
Innerhalb des seriellen Datenstromes erfolgt das Framing mittels einer Preambel bestehend aus mind. 10 Einsbit, gefolgt von 8-bit organisierter Nutzlast, die durch je eine Null getrennt werden. Am Ende einer Nachricht folgt ein Paritybyte, gefolgt von einer 1 (anstelle der 0) zum Markieren des Endes.
Die Kodierung ist nicht sonderlich effizient, aber einfach zu detektieren und man muß auch die Zeit berücksichtigen, zu der das entstanden ist. Und sie hat sich über die Jahre hinweg bewährt!
Die Nutzlast kodiert das übertragene Kommando, Datenlängen von 2 bis 13 Byte sind möglich. Das erste Byte legt die Kommandoklasse fest:
1. Byte | Bedeutung |
---|---|
0 | Reset oder Lok-Broadcast |
1..111 | Lokbefehle (kurze Adresse) |
112..127 | Service Mode (Programmierung) |
128..191 | Zubehördekoder |
192..231 | Lokbefehle (lange Adresse) |
232..254 | Reserviert |
255 | Idle |
Physikalische Parameter
- Gleissignal:
Rechtecksignal, mind. 7V Hub, max. 22V Hub. Nominalspannung bei H0 soll 13,5V sein (damit sich nach den Gleichrichterdioden 12V für den Motor ergeben).
Die Flanken müssen den Bereich von -4V bis +4V monoton und mit mind. 2,5V/µs Slewrate durchqueren. Das Rechtecksignal soll gleichspannungsfrei sein (Ausnahme Zerostretching, also verlängerte Null-Phase zum Erzeugen eines gezielten Gleichanteils; Zerostretching verträgt sich aber nicht mit railcom® - Dekoderanforderungen:
Spannungsfestigkeit: +/- 27V (24V bei Spur N).
DCC und Polarität
- In der Kodierung wird die Fahrtrichtung der Lok bezogen auf die Lok selbst festgelegt: vorwärts = Lok fährt Richtung
Führerstand 1 bzw. Richtung Kamin, rückwärts = Lok fährt Richtung Führerstand 2 bzw. Richtung Tender. Die Polarität des
Gleissignales spielt dabei keine Rolle. D.h. egal wie rum die Lok auf dem Gleis steht: vorwärts ist immer Richtung Führerstand
1!
Hier unterscheidet sich also Digitalbetrieb wesentlich vom Analogbetrieb.
Bei Weichen und Kehrschleifen muß aber trotzdem auf die Polarisierung geachtet werden: an diesen Stellen geht es um den kurzschlußfreien Betrieb bei Überfahrt, d.h. man muß dafür Sorge tragen, dass unter dem Zug immer das gleiche Signal bei allen linken bzw. rechten Radschleifern anliegt. Deshalb muß man Herzstücke je nach Stellung der Weiche mal auf die linke, mal auf die rechte Seite schalten. "Polarisieren" ist der gängige Begriff dafür, und erfordert entsprechende Ansteuerung (z.B. durch passenden Bausteine).
Bei Kehrschleifen entsteht das gleiche Problem, aber das ist ebenso elektronisch lösbar und man kann ohne Kurzschluß und Ruckeln durch eine Kehrschleife durchfahren.
Trotzdem hat DCC auch eine Polarität, diese kann man z.B. daran erkennen, wie nach der Präambel die erste Null kodiert ist: entweder 000111 oder 111000. Und diese Polarität kann auch auswerten - z.B. mit dem DCCpola, der sich beim Anlagenbau als wertvolle Hilfe erweist.
Die Fahrtrichtung von Loks wird ja durch die Befehle vorgegeben. Bei der Verwendung von Railcom® kann dann zusammen mit der DCC-Polarität auch eine Aufgleisrichtung (also wie rum die Lok auf dem Gleis steht) ermittelt werden. Das ist insbesondere für computergestützten Begriff sinnvoll: der Computer kann damit dann 'sehen', wo Führerstand 1 ist. Geisterfahrten in die falsche Richtung werden vermieden.
Railcom®
- Railcom ist der Markenname der Fa. Lenz für ein Halbduplexverfahren.
Hierzu wird die Übertragung auf dem
Gleis für kurze Zeit unterbrochen, und seitens der Zentrale / des Booster werden die beiden Schienen verbunden, um einen
Stromfluß vom Dekoder zurück zur Zentrale zu ermöglichen. Diese Austastlücke
wird cutout genannt. In der cutout können Dekoder Daten zurück zur Zentrale senden.
Hier aufgezeichnet: die beiden Ausgangssignale DCC und NDCC der Zentrale Z1. Gut kann man die Austastlücke sowie die Übertragung von 0- bzw. 1-Bits erkennen.
DCC und 'Masse'?
- Es herrscht oft Unklarkeit, ob und wie DCC zusammen mit 3L-Gleis funktioniert, dort habe man ja eine 'Masse',
die es bei DCC nicht gäbe.
- Aus Sicht des Protokolls ist ein DCC oder MM-Signal nichts anderes als eine Folge von zwei Zuständen, nennen wir diese beiden Zustände mal A und B. Es gibt Regeln, wie diese Folgen zu interpretieren sind, also welche Sequenzen A/B z.B. Lokadresse bedeuten sollen. Die Regeln für DCC-Interpretation haben zudem den Vorteil, dass die beiden Zustände A und B beliebig austauschbar sind, d.h. die Polarität des Gleissignals ist egal.
- Aus Sicht des Gleises ist DCC oder MM auch eine Folge von zwei Zuständen,
A bedeutet: V(links) - V(rechts) = 15V, B bedeutet: V(rechts) - V(links) = 15V.
Wohlgemerkt, hier geht es um nur die [b]Differenzen[/b], es spielt keine Rolle,
welchen Zustand V(links) bezogen auf Erde oder ein sonstiges Potential hat.
- Man könnte also z.B. fest vereinbaren, dass V(links) immer 0V ist. Das würde bedeuten, dass V(rechts) +/-15V durchlaufen muß.
- Oder man könnte vereinbaren, dass bei A die Spannung V(links)=15V und bei B V(links)=0 ist. V(rechts) wurde dann entsprechend bei A gleich 0V und bei B gleich 15V sein.
Anmerkung zur 'Masse' bei 3L-Systemen:
Beim 3L-Gleis werden i.d.R. die beiden Schienen für eine Zuführung zur Lok verwendet, der Mittelleiter ist die zweite Zuführung. Unterteilt man so eine Anlage in Abschnitte, wird häufig nur der Mittelleiter getrennt und die Außenschiene durchgehend gelassen. Der Bequemlichkeit halber bezeichnet man diese durchgehende Außenschienen als 'Masse'. Der Strom, welcher zu einer Lok fließt, wird nun irgendwie quer durch die ganze Anlage über die 'Masse' zurück zur Zentrale fließen. Der Weg ist nicht vorhersehbar und ist bedingt durch schlechte Leiteigenschaften von Neusilber und von den Schienenlaschen nicht immer sehr niederohmig. Die unkontrollierte Rückleitung verursacht Einkopplungen und Störungen, insbesondere wenn da ein Pfad über die Belegtmelder möglich ist. Auch das induzierte Magnetfeld eines Stromes ist von eingeschlossen Fläche abhängig, diese kann dabei recht groß werden.
Als Abhilfe wird oft empfohlen, parallel zum Gleis weitere Rückverbindungen zu legen, um diesen Rückweg ein wenig leichter und direkter zu machen, damit die Einkopplungen kleiner werden (Stichwort Ringleitung).
Die eigentliche Ursache (der unkontrollierte Rückweg) wird dabei aber nicht adressiert, hierzu müßte man die Schienen auch außen trennen und jeden Abschnitt bzw. jeden Verbraucher mit zwei Leitungen anfahren, dann hat man die Kontrolle über die Rückströme. Diese laufen dann da zurück, wo sie herkamen, die Stromkreis sind für sich, eingeschlossene Flächen sind klein, es gibt keine quer durch die Anlage verlaufenden Einkopplungen.
Lokbefehle
-
Adressebestimmung:
- Im Bereich 1..111 überlappen sich lange und kurze Adresse - es muß also seitens der Zentrale entschieden werden, ob man diese Lok lang oder kurz anspricht. Oft wird diese Grenze bei 99 gelegt: bis Adresse 99 kurze Adresse, danach lange Adresse.
- Viele Zentralen und Bediengeräte haben nur max. 4 Stellen zur Eingabe. Die Adressen 10000 bis 10239 sind dann nicht ansprechbar. Nach der Adresse folgt die Operation Instruction, also der Befehl, was diese Lok machen sollen. Die drei MSBs dieses Bytes legen den Typ fest:
Bei kurzer Lokadresse ergibt sich die Adresse aus dem 1. Byte. danach folgt ab dem 2. Byte die Befehlsart. Bei langer Lokadresse werden im 2. Byte weitere Bits der Lokadresse übertragen, die Adresse ergibt sich zu: (Byte1 & 0x3F) << 8 ) | Byte2. Es sind also 10240 Adressen möglich, wobei die Adresse 0 als Broadcast an alle Loks reserviert ist.
Hierbei gibt es jedoch Einschränkungen im praktischen Betrieb:
Operation | Bedeutung |
---|---|
0 | Decoder and Consist Control |
1 | Extrabefehl (=Advanced Operation Instruction),
die restlichen 5 Bit geben den Befehlstyp an. (z.B. 0x1F -> 126 Fahrstufen, die Geschwindigkeit folgt im nächsten Byte |
2 | Geschwindigkeitsbefehl, 28 Fahrstufen, rückwärts |
3 | Geschwindigkeitsbefehl, 28 Fahrstufen, vorwärts |
4 | Lokfunktionen F4 bis F0 |
5 | Lokfunktionen F8-F5 sowie F12-F9 |
6 | Erweiterte Lokfunktionen und Binary State Control |
7 | CV-Zugriff (PoM) |
Zubehörbefehle
-
Zubehör wird mit zwei verschiedenen Befehlen angesprochen: das 'einfache' (=basic) und das 'erweiterte' (=extended)
Format.
Einfaches Format
- Das einfache Format benutzt zwei Bytes zur Kodierung:
Format | 10AAAAAA 0 1AAADAAC 0 [XOR] |
---|---|
AAAAAAAA | bezeichnet die Adresse, hier haben sich aufgrund der historischen Entwicklung bestimmte Besonderheiten ergeben (s.u.) |
D | kennzeichnet den 'Aktivierungszustand', also ob der Ausgang ein- oder ausgeschaltet wird. |
C | kennzeichnet die Spule. (Coil) |
Die Adressbits sind über den Befehl verteilt, in der CV-Übersicht gibt es eine Graphik, welche den Zusammenhang erläutert, man beachte die Invertierung der mittleren Bits. Die Dekoderadresse 0 soll nicht benutzt werden, die erste zu benutzende Adresse ist also die Adresse 4: 10000001 0 1111D00C 0 [XOR]. Diese soll von Bediengeräten als '1' dargestellt werden.
Notaus: Ein Zubehörbefehl mit allen Adressbit = 1 (Spulenadresse jedoch 0, Spule deaktiviert) (also Adresse 2047, Codierung 10111111 0 10000110 0 [XOR]) bedeutet Notaus.
Innerhalb OpenDCC und BiDiB wird im Protokoll das wie folgt abgebildet:
Die übergebene Adresse wird ab 0 gezählt. In der Ausgabeeinheit wird das auf die obigen Bits abgebildet, also Dekoderadresse, Ausgangspaar und zu aktivierende Spule bestimmt.
Erweitertes Format
- Die enge Orientierung des einfaches Formats an vierfache, zweibegriffige Dekoder verursacht gewisse Kopfstände bei
mehreren Begriffen. Hier gibt es diverse Ansätze sowohl auf Dekoderseite als auch auf Bedienerseite, mehrbegriffige
Objekt auf diesen einfachen Befehl abzubilden. Meist wird für jeden Begriff eine eigene 'Spule' verwendet, es gibt jedoch
auch 'binär' dekodierende Dekoder, welche Kombinationen von 'Spulen' als Begriff verwenden. Besonders extrem in dieser Hinsicht
sind Drehscheibensteuerungen, welche dann auch gerne mal 30 Weichenadressen am Stück belegen.
Die Normung hat für solche mehrbegriffigen Signale oder Weichen das erweiterte Format vorgesehen, hier werden 3 Byte zur Kodierung verwendet:
Format | 10AAAAAA 0 0AAA0AA1 0 DDDDDDDD 0 [XOR] |
---|---|
AAAAAAAAA | bezeichnet die Adresse, diese wird analog zu einfachen Format gebildet, die Coiladresse wird dabei aber ausgeklammert. |
DDDDDDDD | kennzeichnet den einzustellenden Begriff, 0 ist Hp0. |
Analog Output Kommando
- Dieses Kommando gehört zu den sog. Advanced Operation Instruction (001).
Format | 001CCCCC 0 FFFFFFFF 0 DDDDDDDD 0 [XOR] |
---|---|
CCCCC = 11101 | Analog Function - Instruction: "11101" bedeutet Kontrolle der Analogfunktion gemäß Tabelle. |
FFFFFFFF | Enum der Funktion |
DDDDDDDD | Wert der Funktion |
Enum (FFFFFFFF) | Analogfunktion |
---|---|
00000001 | Volume Control |
xxxxxxxx | reserviert |
Erweiterte Programmierbefehle
- Gemäß RP9.2.1 gibt es für die Programmierung der CVs auch noch eine 'Kurzform' ("shortwrite, CV programming short form"):
0 (adresse) 0 1111CCCC 0 xxxxxxxx (0 yyyyyyyy) 1
CCCC legt hierbei fest, welche CV(s) beschrieben werden sollen, in diese CVs werden xxxxxxxx und yyyyyyyy eingeschrieben. Dieser Befehl ist wichtig, da er 16-Bit lange Objekte (wie z.B. die lange Adresse) atomic macht und damit das Umprogrammieren z.B. der Adresse per POM erlaubt. In der 9.2.1 ist das nur für eine CV definiert, die railcom-Spec hat das für CV-Paare erweitert:
CCCC | Ziel-CVs |
---|---|
0000 | reserviert (von NMRA) |
0001 | |
0010 | Beschleunigungswert (CV23) |
0011 | Bremswert (CV24) |
0100 | Schreiben der langen Adresse ( CV17 (xxxxxxxx) und CV18 (yyyyyyyy) ) gleichzeitig, und setzen des Bit 5 in CV29. |
0101 | Schreiben des Indexregisters ( CV31 (xxxxxxxx) = Index high und CV32 (yyyyyyyy) = index low ). |
0110 | |
0111 | |
1000 | |
1001 | Programmiersperre (Dekoder Lock), RP-923, Appendix B, siehe unten |
1010 | |
1011 | |
1100 | |
1101 | |
1110 | |
1111 |
Anmerkung zum Schreiben der lange Adresse: Laut Spezifikation ist nur das Schreiben der langen Adresse mit Kennung 0100 vorgesehen. Das halte ich für nicht komplett durchdacht: man kann zwar übre diesen Befehl auf eine lange Adresse 'atomic' umprogrammieren, zum Rückprogrammieren auf kurze Adresse muß man aber wieder den Weg über Einzelprogrammierung von CV1 und CV29.5 gehen. Geschickter wäre es, bei Adressen kleiner 128 automatisch im Dekoder auf kurze Adresse umzuschalten und CV1 sowie CV29 entsprechend zu setzen.
Programmiersperre (Decoder Lock)
-
0 00000000 0 11111001 0 0aaaaaaa 0 EEEEEEEE 1
(Das ist ein Broadcast (Lok 0) mit 0xF9 (also ein PoM-Kommando));
Nur der mit aaaaaaa adressierte Lokdekoder führt fortan Servicebefehle aus, alle anderen Dekoder ignorieren fortan Programmierbefehle; dieses Ignorieren muß auch über einen Aus-Ein-Zyklus hinweg beibehalten werden. (Anmerkung: das sollte eigentlich auch für programmierbare Zubehördekoder entsprechend definiert sein - aber sowas gibt es ja bei der Firma, welche das vorgeschlagen hat, nicht :-( ).
Der 'Decoder Lock' wird wieder aufgehoben, wenn wieder normale DCC-Befehle empfangen werden.
Sinn und Zweck dieses Befehls ist es, in einer einfachen Umgebung ohne Programmiergleis die Lokadresse ändern zu können und dabei andere Loks am Gleis belassen zu können. Dieser Befehl ist aber nicht verpflichtend - und greift auch nur auf kurze Adressen. (Quelle: RP-923, Appendix B).
PoM CV-Lesen
-
Für das Lesen am Hauptgleis gibt es einem Befehl (NMRA RP 9.2.1), hier wird die CV (bzw. ein Bereich von CVs) adressiert und
die gewünschte Aktion gewählt.
Operation | Bedeutung | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1111cccc | PoM-Command, short form: cccc bezeichnet das Zielregister:
| ||||||||||||
1110ccAA | PoM-Command, long form: cc bezeichnet die Operationsart,
aa sind die MSBs der CV-Adresse:
|
Kommandos für BiDi *)
-
Zum Veranlassen von speziellen BiDi Aktionen (wie z.B. Anmelden)
wird das IDLE Kommando erweitert.
- 0x01: Zentralenkennung (UniqueID)
Mit diesem ENUM soll eine Zentrale periodisch ihre UniqueID aufs Gleis senden. Diese Unique dient zum einen für Decoder zum Erkennen der Zentrale sowie als Anmeldeaufforderung.0xFF 0 0x01 0 MAN 0 ZID3 0 ZID2 0 ZID1 0 ZID0 0 SNUM 0 [XOR] 1
ZID3-0: ist eine 32-Bit breite Zentralenkennung (UniqueID)
SNUM: eine fortlaufende Sessionnummer (Neuanmeldezähler) - 0x02: Dekoder Suche (ID Search)
Mit diesem ENUM versucht eine Zentrale die Vereinzelung von Dekodern, welche sich parallel angemeldet haben, um die entstehende Kollision im Rückmeldekanal aufzulösen.0xFF 0 0x02 0 DVID 0 DID3 0 DID2 0 DID1 0 DID0 0 [XOR] 1
DID3-0: ist eine 32-Bit breite Dekoderkennung (UniqueID)
Nur dienigen Dekoder, deren ID größer oder gleich schicken eine Antwort.
- 0x03: Direktzugriff
Mit diesem Befehl lassen sich Dekoder über die UniqueID des Dekoders ansprechen. Hierzu wird dem normalen DCC-Befehl eine 'Escape'-Sequenz vorangestellt, welche die normale Adressierung ersetzt.0xFF 0 0x03 0 DVID 0 DID3 0 DID2 0 DID1 0 DID0 0 {DCC-opcode} 0 [XOR] 1
DID3-0: ist eine 32-Bit breite Dekoderkennung (UniqueID)
DCC-opcode: ist der DCC-Befehl ohne den normalen Adressteil (hier wird ja über die Dekoder-UniqueID adressiert). - 0x04: Sitzungsadresse zuweisen
Mit diesem Befehl wird einem Dekoder (welcher über die UniqueID des Dekoders addressiert wird) eine Adresse für diese Sitzung zugewiesen.0xFF 0 0x04 0 DVID 0 DID3 0 DID2 0 DID1 0 DID0 0 ADDRH 0 ADDRL 0 [XOR] 1
DID3-0: ist eine 32-Bit breite Dekoderkennung (UniqueID)
ADDRL, ADDRH: ist die Sitzungsadresse, welche diesem Decoder zugeweisen wird. ADDRH enthält in den beide MSB die Unterscheidung, ob Weichendekoder oder Funktions- bzw. Lokdekoder zugeweisen wird. Für Lokdekoder ist das so kodiert wie CV17/CV18, beim Highbyte wird 192 addiert. (mit 0xC0 verodert).
Dieser Befehl wird vom Dekoder mit einer BiDi-Nachricht mit der UniqueID beantwortet.
Format | 11111111 0 EEEEEEEE 0 {[Parameters] 0}[XOR] |
---|
Enum (EEEEEEEE) | Bedeutung |
---|---|
0x00 | Standard Idle Kommando (wie bisher) |
0x01 | Zentralenkennung (UniqueID) |
0x02 | Dekoder Suche |
0x03 | Direktzugriff |
0x04 | Sitzungsadresse zuweisen |
Uhrzeit **)
- DCC hat im Gegensatz zu anderen Digitalsystemen bisher noch keine Übertragung einer beschleunigten Uhr für die Modellbahnzeit.
Sinnvoll ist diese Erweiterung z.B. für komplexe Funktionsdekoder (Raumlicht, Beleuchtung), welche ihr Verhalten je nach Uhrzeit ändern können. Auch (teil-) autonome Steuerungen (wie z.B. lokale Kirmeskontrolle) können so leichter an die Anlagensteuerung gekoppelt werden. Beispiele sind bewegte Objekte, welche nur zu bestimmten Tageszeiten agieren.
Auch die Helligkeit von Lichtobjekten kann sich nach der Uhr richten - diese kann man in der Nacht abdimmen. Glockenschlag, Bahnhofsuhr sind weitere Ideen, welche eine Uhr benötigen.
Zudem erlaubt ein Zeitcode innerhalb DCC auch die bessere Synchronisation mehrerer Anlagenteile. Über die optionale Wochentagsfunktion lassen sich z.B. am Wochenende andere Aktionen durchführen, z.B. Kirchenläuten.
(alter Stand, bis 12-2018): Zur Übertragung der Modellbahnuhrzeit wurde diese Erweiterung der RP9.2.1 vorgeschlagen:
Format | 00000000 0 11000001 0 TCODE0 0 TCODE1 0 TCODE2 0 TCODE3 [XOR] |
---|---|
00000000 | Broadcast |
11000001 | Feature Expansion Nummer 00001 |
TCODE | 1, 2, 3 oder 4 Byte mit Zeitinformationen |
00mmmmmm | mmmmmm = Angabe der Minute, Wertebereich 0...59. |
100HHHHH | HHHHH = Angabe der Stunde, Wertebereich 0...23. |
01000www | www = Wochentag, 0=Montag, 1=Dienstag, ... 6=Sonntag. |
110fffff | fffff = Uhrbeschleunigungsfaktor, fffff=0 heißt Uhr angehalten. |
Zu jeder vollen (Modellbahn-)Minute wird von der Zentrale die Uhrzeit gesendet, der Befehl wird nicht wiederholt. Wenn die Anlage angehalten wird, soll der Uhrbeschleunigungsfaktor 0 gesendet werden.
Anmerkungen:
- Die OpenDCC Zentrale hat diesen Befehl bereits implementiert.
- die Kodierung der Datenbytes (die beiden MSBs) entspricht der Selektrix-Konvention.
- entsprechende Busbefehle (sowohl bei Xpressnet als auch bei der IB) wurden auch definiert.
(RCN 212, ab 12-2018):
Format | 00000000 0 11000001 0 ccmmmmmm 0 wwwhhhhh 0 U0ffffff [XOR] |
---|---|
00000000 | Broadcast |
11000001 | Feature Expansion Nummer 00001 |
cc | cc=Code-Art: 00=Zeitbefehl. |
mmmmmm | mmmmmm = Angabe der Minute, Wertebereich 0...59. |
hhhhhh | = Angabe der Stunde, Wertebereich 0...23. |
01000www | www = Wochentag, 0=Montag, 1=Dienstag, ... 6=Sonntag. |
U | U Update, d.h. die Zeit hat sich sprunghaft geändert. |
ffffff | ffffff = Uhrbeschleunigungsfaktor, fffff=0 heißt Uhr angehalten. |
Format | 00000000 0 11000001 0 cc0ddddd 0 mmmmyyyy 0 yyyyyyyy [XOR] |
---|---|
00000000 | Broadcast |
11000001 | Feature Expansion Nummer 00001 |
cc | cc=Code-Art: 01=Datumsbefehl. |
ddddd | ddddd = Angabe des Tages, Wertebereich 1...31. |
mmmm | = Angabe des Monats, Wertebereich 1..12. |
yyyyyyyyyyyy | Jahr, Wertebereich 0...4095. |
Dekoder Rücksetzen
- Es kann manchmal erforderlich sein, einen Dekoder wieder auf seine Werkeinstellung zurückzustellen.
Hierzu ist folgendes Verfahren definiert worden:
- long-preamble 0 01111111 0 00001000 0 01110111 1
Manche Dekoder fordern nicht nur einen Write, sondern auch einen bestimmten Wert.
- Fußnoten:
*) bezeichnet DCC-Erweiterungsvorschläge, die nicht von der NMRA standardisiert sind.
**) diese Erweiterung wurde vom VHDM im Mai 2011 als Standarderweiterung verabschiedet. Mit Erscheinen der RCN212 wurde das Format des Befehls abgeändert.