Composizione pacchetti Dcc più utilizzati e spiegazione del significato dei vari bit.

Il DCC da Zero (Parte 2)

 

 

Composizione e codifica pacchetti DCC a norme NMRA

Premessa

In questo articolo verranno trattati in modo abbastanza completa i pacchetti DCC più utilizzati nella modalità di comando (funzionamento normale).

Legenda sul significato di alcuni BIT

A = Indirizzo del Decoder; 

a = Sotto indirizzo(es. indirizzo uscita da usare nei decoder accessori tipo scambi)

D = Direzione (1 o 0); 

d = Funzione (ON/OFF); 

S = Velocità; 

s = Bit utilizzato per velocità a 28step; 

E = Errore

1/0 = Altri dati fissi

Composizione di un pacchetto DCC

Ogni pacchetto DCC e composto da:

  • Preambolo composto da almeno 11 Bit a 1

  • Bit a 0 (Bit Start) per indicare l'inizio di un pacchetto DCC

  • Indirizzo decoder composto da un byte (0AAAAAAA) per decoder con indirizzo da 0 a 127 (indirizzamento 7 bit) e da due byte (11AAAAAAA 0 AAAAAAAA) per decoder con indirizzo da 192 a 231 (indirizzamento a 14 bit)

  • Comando composta da uno o due byte per indicare al decoder la funzione da eseguire

  • Errore composta da un byte ricavato, tramite la funzione logica XOR*, applicata tra tutti i byte che compongono il pacchetto DCC

  • Bit a 1 (Bit Stop) per indicare la fine del pacchetto DCC

PS: Dopo ogni byte si deve inserire un Bit a 0, che viene usato per separare i vari byte del pacchetto DCC.

* La funzione XOR confronta 2 o più byte bit per bit, e restituisce come risultato il valore 1 con bit diversi e 0 con bit uguali.

Esempio di funzione XOR tra 2 e 3 byte.

1° Byte

00011101

00011101

2° Byte

10110100

10110100

3° Byte

 

10011100

Risultato Funzione XOR

10101001

00110101

Pacchetto di Reset: [Preambolo] 0 00000000 0 00000000 0 00000000 1

Pacchetto di Reset: [Preambolo] 0 11111111 0 00000000 0 11111111 1

Pacchetto : [Preambolo] 0 [indirizzo] 0 01DsSSSS 0 EEEEEEEE 1

Tabella relativa a 14/28 step: per 14 è valida la colonna sinistra, mentre per 28 i step tra parentesi

Valori 14/28 step

sSSSS

Valori solo per 28 step

sSSSS

Stop Emergenza

00001

 

 

Stop

00000

 

 

Step 1 (Step 1)

00010

(Step 2)

10010

Step 2 (Step 3)

00011

(Step 4)

10011

Step 3 (Step 5)

00100

(Step 6)

10100

Step 4 (Step 7)

00101

(Step 8)

10101

Step 5 (Step 9)

00110

(Step 10)

10110

Step 6 (Step 11)

00111

(Step 12)

10111

Step 7 (Step 13)

01000

(Step 14)

11000

Step 8 (Step 15)

01001

(Step 16)

11001

Step 9 (Step 17)

01010

(Step 18)

11010

Step 10 (Step 19)

01011

(Step 20)

11011

Step 11 (Step 21)

01100

(Step 22)

11100

Step 12 (Step 23)

01101

(Step 24)

11101

Step 13 (Step 25)

01110

(Step 26)

11110

Step 14 (Step 27)

01111

(Step 28)

11111

Pacchetto : [Preambolo] 0 [indirizzo] 0 00111111 0 DSSSSSSS 0 EEEEEEEE 1

Tabella relativa a 128 step

Valori 128 step

SSSSSSS

Valori 128 step

SSSSSSS

Step 1

0000010

Stop

0000000

Step 2

0000011

Stop di Emergenza

0000001

Step 3.......Step 125

0000100...1111110

 

Step 126

1111111

D = Direzione (1/0)

Pacchetto : [Preambolo] 0 [indirizzo] 0 100ddddd 0 EEEEEEEE 1

Partendo da sinistra verso destra il significato dei Bit ddddd è il seguente:

Pacchetto : [Preambolo] 0 [indirizzo] 0 1011dddd 0 EEEEEEEE 1

Partendo da sinistra verso destra il significato dei Bit dddd è il seguente:

Pacchetto : [Preambolo] 0 [indirizzo] 0 1010XXYY 0 EEEEEEEE 1

Tabella relativa ai Bit XX YY:

Comandi per funzione

XX

Comandi per funzione 2

YY

Incrementa funzione

01

Incrementa funzione

01

Decrementa funzione

10

Decrementa funzione

10

Resetta funzione

00

Resetta funzione

00

Pacchetto : [Preambolo] 0  10AAAAAA 0 1AAAdaaa 0 EEEEEEEE 1

Tabella relativa al significato dei Bit:

Valore Bit

I Bit AAAAAA sono i 6 Bit bassi dell'indirizzo del decoder

I Bit AAA sono i 3 Bit alti dell'indirizzo del decoder invertiti di segno es:101 -> 010

I 3 Bit aaa servono per identificare la funzione da utilizzare, da 0 a 7

Il Bit d  serve a indicare se la funzione indirizzata con aaa deve essere ON o OFF

Pacchetto : [Preambolo] 0  10AAAAAA 0 1AAAXXYY 0 EEEEEEEE 1

Partendo da sinistra verso destra il significato dei Bit dddd è il seguente:

Valore Bit I Bit AAAAAA sono i 6 Bit bassi dell'indirizzo del decoder
I Bit AAA sono i 3 Bit alti dell'indirizzo del decoder invertiti di segno es:101 ->010
Comandi per funzione

XX

Comandi per funzione 2

YY

Incrementa funzione

01

Incrementa funzione

01

Decrementa funzione

10

Decrementa funzione

10

Resetta funzione

00

Resetta funzione

00

In questa seconda parte é stata riportata la composizione e codifica dei comandi DCC più usati, nella modalità di comando, normale funzionamento. Nella prossima parte vedremo i pacchetti DCC in modalità "service mode", cioè programmazione/lettura nel decoder dei CV (Configuration Variable).

Articolo realizzzato da Alessandro Tardioli (tardioli.alex@libero.it)

  Ultima Revisione 03-01-2002

Indietro