Signalsidan

Henry's signalsida

Datapaket

Att kunna läsa en bit på DCC eller Motorola kommer vi inte så långt med, vi måste kunna sätta ihop bitarna till meningsfulla meddelanden, så kallade paket. Dessa paket ser mycket olika ut om man jämför DCC och Motorola. Motorola jobbar dessutom TRINÄRT, där två bitar utgör en s.k. ”trit”, och där en av fyra möjliga bitkombinationer är ogiltig.

DCCs paketformat:

Ett DCC meddelande ska alltid börja med minst 14 stycken 1:or. Dessa ska följas av en ensam 0:a. Programvaran i dekodern kommer att addera ihop alla ettor den får in, och när nollan kommer summerar den antalet ettor. Är dessa färre än 12 stycken, så klassificerar dekodern meddelandet som skräp. Att det bara behövs tas emot 12 ettor trots att man måste sända 14, beror på att man vill ha ett visst ”slack” för brusiga signalnivåer. Tänk på att det handlar om rullande hjul på oxiderad räls.
När vi tagit emot minst 12 ettor, dessa kallas ”preamble”, och avslutat genom att läsa en nolla, så kommer själva meddelandet.
Meddelandet består av ett antal byte, alltså en grupp om 8 bitar, där varje byte följs av en ensam bit. Denna lilla bit är 0 om det kommer ytterligare en byte, och 1 när hela DCC-meddelandet är slut.
Det minsta möjliga DCC meddelandet består av 12 ettor, startbit, och tre byte med efterföljande bitar.
1111 1111 1111  0  XXXXXXXX  0  XXXXXXXX  0  XXXXXXXX  1
X kan vara en etta eller en nolla.
Den första byten innehåller ALLTID en adress, alltså ett tal som säger till vilken dekoder meddelandet ska. Får en dekoder in ett paket med en annan adress än den själv har, så bryr det sig inte om paketet. Alla dekodrar har minst en adress, och förutom detta finns det en allmän adress (broadcast) som alla dekodrar MÅSTE raegera på.
Andra byten kan innehålla delar av en adress, eftersom många dekodrar har 9- eller 11-bitarsadresser. Den kan också innehålla ett ”kommando” som dekodern ska utföra, och även data som kommandot behöver.
Den sista byten innehåller alltid en checksumma, där man summerar ihop värdet i de föregående byte:arna och inverterar summan. Detta för att säkerställa att meddelandet inte är vanställt genom brus.
Meddelandet i exemplet har tre byte, men DCC har 4,5 och 6 bytesmeddelanden.
Ett sexbytes meddelande har alltså formatet
1111 1111 1111 …  0 XXXX XXXX 0 XXXX XXXX 0 XXXX XXXX 0 XXXX XXXX 0 XXXX XXXX 0 XXXX XXXX 1
DCC Adress: Det finns fyra typer av adresser på DCC, 7-, 9-, 11- och en framtida 14-bitars adressering.
7-bitarsadressering används av lok. Adressen ligger i byte 1 i meddelandet, och första biten SKALL vara 0. Övriga 7 bitar kan användas fritt, förutom adressen 0 som är en allmän adress som alla dekodrar lyssnar på. Adresserien omfattar 0-127.
Första byten kommer att innehålla:
1aaa aaaa där aaa aaaa är de sju bitar som utgör adressen till dekodern.
Dekodern SKALL också reagera på
1000 0000   i första byten, adress 0 alltså, oavsett vilken adress den har. (Används för nödstopp) 1111 1111   i första byten, adress 127 alltså, oavsett vilken adress den har. (Används för ”gör ingenting”)
9-bitarsadressering används av växeldekodrar. Adressen ligger i byte 1 och byte 2. Byte ett SKALL börja med en 1:a följt av en 0:a, för att markera att detta inte är en 7-bitarsadress. I resten av byte 1 ligger de sex LÄGSTA bitarna i adressen. Byte 2 SKALL börja med en 1:a, följt av de tre HÖGSTA bitarna i adressen. Dessa bitar är INVERTERADE.
Första och andra byten kommer att innehålla:
10aaaaaa  1ãããxxxx    där adressen utgörs av ãããaaaaaa. ã betyder att biten har inverterat värde, alltså 0=1 och tvärtom
Förutom att dekodern ska svara på sin egen adress, ska den svara på 00000000  xxxxxxxx   (7-bitars broadcast adress 0, 000 0000 binärt) 01111111  xxxxxxxx   (7-bitars broadcast adress 127, 111 1111 binärt) 10111111  1000xxxx   (9-bitars broadcast adress 511, 111 111111 binärt)
11-bitarsadressering används av avancerade tillbehörsdekodrar. Adressen ligger i byte 1 och byte 2. Byte ett SKALL börja med en 1:a följt av en 0:a, för att markera att detta inte är en 7-bitarsadress. I resten av byte 1 ligger de sex LÄGSTA bitarna i adressen. Byte 2 SKALL börja med en 0:a, för att markera att detta ej är en 9-bitars adress, följt av de tre HÖGSTA bitarna i adressen. Dessa bitar är INVERTERADE. Därefter skall en nolla följa, och därefter bit 4 och 5 i adressen.
Första och andra byten kommer att innehålla:
10aaaaaa  0ããã0aa1    där adressen utgörs av ããã aa aaaaaa. ã betyder att biten har inverterat värde, alltså 0=1 och tvärtom
Förutom att dekodern ska svara på sin egen adress, ska den svara på 00000000  xxxxxxxx   (7-bitars broadcast adress 0, 000 0000 binärt) 01111111  xxxxxxxx   (7-bitars broadcast adress 127, 111 1111 binärt) 10111111  0000011x   (11-bitars broadcast adress 2047, 111 11 111111 binärt)