Composizione pacchetti Dcc più utilizzati in modalità "service mode" (programmazione CV). |
Il DCC da Zero (Parte 3) |
|
|
|
Composizione e codifica pacchetti DCC a norme NMRA, service mode. Premessa In questo articolo verranno trattati i pacchetti DCC più comuni nella modalità service, cioè la programmazione/verifica delle CV dei Decoder. Le CV sono delle celle di memoria, composte ognuna da 8 bit, che vengono utilizzate dell'utente per personalizzare il funzionamento del decoder DCC in base alle esigenze. e sono al massimo 1024 (da CV1 a CV1024, indirizzo reale da 0 a 1023). Ci sono più modalità per impostare/verificare queste CV, in questo articolo tratteremo le più usate: modalità Direct e Paged. Nella modalità direct per puntare una determinata CV si utilizza un indirizzo a 10 bit, mentre in modalità paged esiste un registro di appoggio (Phisycal Register, composta da 8 registri da 1 a 8, indirizzo reale da 0 a 7) che viene utilizzato per puntare una CV. In seguito vedremo a fondo come si utilizzano queste due modalità. |
Legenda sul significato di alcuni BIT
A = Indirizzo CV;
D = Valore da scrivere nella CV puntata;
P = Valore che contiene indirizzo della "Page"
R = Indirizzo registri contenuti nel "Phisycal Register";
C = Verifica/Scrittura;
E = Errore;
1/0 = Altri dati fissi.
Composizione di un pacchetto DCC Ogni pacchetto DCC in modalità service e' composto da:
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 : [Preambolo] 0 0111CCAA 0 AAAAAAAA 0 DDDDDDDD 0 EEEEEEEE 1 In modalità direct, per verificare o scrivere un CV, basta un solo pacchetto DCC composto da 4 byte, come riportato sopra e con il significato dei vari bit/byte riportato sotto in tabella. Significato dei vari Bit/byte del pacchetto DCC |
Significato Bit | I Bit AA sono i 2 Bit alti indirizzo a 10 bit CV | ||
I Bit AAAAAAAA sono gli 8 Bit bassi indirizzo a 10 bit CV | |||
CC |
11 = Scrive Dato in CV |
10 = Verifica Dato in CV |
|
DDDDDDDD |
Dato da scrivere/verificare** nel CV puntato da indirizzo a 10 bit | ||
EEEEEEEE |
Byte di controllo Errore (Controllo parità) |
** Quando si verifica il dato contenuto in una CV, se il dato corrisponde, il decoder genera un segnale di acknoledge, che in seguito vedremo meglio. |
1° Pacchetto : [Preambolo] 0 011CCRRR 0 PPPPPPPP 0 EEEEEEEE 1 2° Pacchetto : [Preambolo] 0 011CCRRR 0 DDDDDDDD 0 EEEEEEEE 1 In modalità paged, per verificare o scrivere una CV, servono 2 pacchetti DCC composto da 3 byte ciascuno, come riportato sopra e con il significato dei vari bit/byte spiegati sotto in tabella. Significato dei vari Bit/byte del pacchetto DCC |
Significato Bit |
RRR |
Indirizzo registri contenuti nel "Phisycal Register" | |
CC |
11 = Scrive Dato | 10 = Verifica Dato | |
PPPPPPPP |
Valore che contiene indirizzo della "Page" da utilizzare | ||
DDDDDDDD |
Dato da scrivere/verificare** nel CV puntato tramite il "PageRegister" | ||
EEEEEEEE |
Byte di controllo Errore (Controllo parità) |
Vedi esempio di programmazione page tramite 2 pacchetti DCC: Esempio pratico per memorizzazione nella CV1022 il valore 200
** Quando si verifica il dato contenuto in una CV, se il dato corrisponde, il decoder genera un segnale di acknoledge, che in seguito vedremo meglio. |
Per inviare pacchetti DCC in modalità service, per scrivere/verificare un dato in una determinata CV, bisogna tenere presente, a differenza dei comandi DCC in modalità di comando classica, una determinata sequenza di pacchetti da rispettare:
Nel caso di un pacchetto DCC in modalità Direct eseguire la sequenza una sola volta, mentre per i 2 pacchetti in modalità Paged, ripetere la sequenza una volta per il primo pacchetto e una volta per il secondo. |
Dopo la scrittura di un dato in una determinata CV o durante la verifica dello stesso, se la procedura va a buon fine il decoder deve rispondere con una segnale di Acknoledge (scrittura/verifica eseguita con esito positivo). Il segnale di Acknoledge consiste in un aumento dell'assorbimento di corrente da parte della locomotiva/decoder di circa 60mA per circa 5mS. Per far si che che ci sia questa variazione di assorbimento il decoder attiva per 5mS il motore della locomotiva. |
Con questa terza ultima parte, abbiamo visto la tecnica, le caratteristiche e i protocolli utilizzati nel sistema digitale DCC a norme NMRA, ripreso poi anche dal MOROP, associazione europea sugli standard fermodellistici. Spero di essere stato utile a tutte quelle persone che volevano saperne di più sul sistema digitale DCC. Qualsiasi spunto, suggerimento e ben accetto. Per eventuali segnalazioni od altro, mandare i messaggi al seguente indirizzo E-mail. Articolo realizzzato da Alessandro Tardioli (tardioli.alex@libero.it) |
Ultima Revisione 03-01-2002 | |
Indietro