DCC
- Im folgenden sind zum besseren Verständnis ein paar Beispielkommandos bei DCC erläutert.
- Beispiel 1: Fahrbefehl an Lok 5, Fahrstufe 4 (von 14 Stufen), vorwärts
Es wird ein Befehl mit 3 Byte geschickt:Preamble Startbit Adressbyte (=0AAAAAAA) Startbit Datenbyte (=01DCSSSS) Startbit Pr�fsumme Stopbit
Dabei bedeutet im Adressbyte AAAAAAA [A6 .. A0] die Lokadresse und und im Datenbyte D [Direction=Richtung], C [Lichtfunktion], SSSS [Speed]. Das DCC-Telegramm wird wie folgt zusammengebaut:
Adressbyte = (Lokadresse & 0x7F); Datenbyte = 0b01000000 | (speed & 0x0F) | (Richtungsbit << 5); Pr�fsumme = Adressbyte ^ Datenbyte;
Das Richtungsbit ist 1 für vorwärts, Null für rückwärts.Preamble 0 Adressbyte 0 Datenbyte 0 Prüfsumme 11111111111111 0 00000101 0 01100100 0 01100001 - Beispiel 2: Weichenansteuerung per DCC
Es wird ein Befehl mit 3 Byte geschickt:Preamble Startbit Adressbyte 10AAAAAA Startbit Datenbyte 1AAA1BBR Startbit Pr�fsumme Stopbit
Dabei bedeutet im Adressbyte AAAAAA [A5 .. A0] und im Datenbyte AAA [A8 .. A6], wobei die Adressen A8 bis A6 invertiert übertragen werden. BB ist die lokale Adresse am Decoder (0,1,2,3), R ist das Outputbit, d.h. welche Spule aktiviert werden soll. In der Zentrale wird nun z.B. aus der von PC übermittelten Adressen wie folgt das DCC-Telegramm zusammengebaut:Adressbyte = 0x80 + (adresse & 0x3F); Datenbyte = 0x80 + (adresse / 0x40) ^ 0x07) * 0x10; Pr�fsumme = Adressbyte ^ Datenbyte;
Die Adresse 0 ist als Broadcast reserviert, so dass die erste Weichengruppe bei Adresse 1 liegt. Leider gibt es bei den PC-Protokollen der einzelen Zentralen kleine, aber störende Unterschiede im Adressbereich und in der Interpretation des Outputbits sowie des Activatebits (im obigen Beispiel die 1).
Uhlenbrock (Intellibox) beschreibt wie folgt (und überträgt auch so):
'r' (red = thrown) and ('r' may also be spec'd as '0')
'g' (green = closed) and ('r' may also be spec'd as '1')
Der Adressbereich in der PC Schnittstelle beginnt dagegen entgegen der Dokumentation bei 1. Das heißt, der erste Decoder liegt auf Adressen 1 ... 4; Die Intellibox sendet auch nie den Abschaltbefehl auf das Gleis, auch wenn dieser vom PC aus angefordert wird.
Lenz beschreibt das Richtungsbit als D2 mit folgendem Text:
D2: D2 = 0 bedeutet Ausgang 1 der Weiche gewählt.
D2 = 1 bedeutet Ausgang 2 der Weiche gewählt.
Allerdings läßt es sich nirgends rausfinden, was Ausgang 1 oder 2 bedeutet. An Hand eines Logfiles scheint rot und grün vertauscht zu sein. OpenDCC bildet diese Invertierung (abschaltbar) durch eine CV nach.
Dafür beginnen die Weichenadressen bei Lenz bei der Adresse 0 und den Abschaltbefehl gibt es.