Digitale da zero - parte prima

(25 agosto 2002)
 
Funzionamento e Codifica Sistema DCC a norme NMRA

Premessa

In questo articolo verrà trattato in modo abbastanza semplice il DCC, partendo da zero, quindi comprensibile per tutti. Verranno tralasciate, in questa prima parte del Dcc da Zero, le funzioni avanzate di controllo e di programmazione dei decoder.

Spiegazione di alcuni termini tecnici
La spiegazione dei termini seguenti e stata fatta nel modo più elementare possibile.

  • DC = (Direct Current) Corrente Continua
  • PWM = (Power Wave Modulation) Alimentazione con Modulazione d'Onda
  • Onda quadra = Segnale che varia nel tempo da un valore min a un max ciclicamente senza passare per valori intermedi.
  • Ciclo = rappresenta un segnale che passa da un valore iniziale ad un'altro e torna nuovamente a quello di partenza (es. ruota che esegue un giro completo).
  • Semi Onda = la Semi Onda Positiva (alta) e quella Negativa (bassa), compongono un ciclo.
  • Frequenza = Numero di cicli eseguiti in un secondo, la sua unita di misura è l'Hertz (Hz).

Differenza tra il DCC è il DC classico e PWM

Specifiche Elettriche del DCC
L'alimentazione DCC presente sul binario, onda quadra con ciclo variabile, deve essere compresa da un minimo di +/- 7Volt e un massimo di +/- 22 Volt, di solito si utilizza un tensione di circa +/- 13-15 Volt. La tensione presente sul binario, prendendo come riferimento la Rotaia1 rispetto alla Rotaia2, deve essere, durante la semi onda positiva Rotaia1 > Rotaia2 (Rot.1=+15V Rot.2=0V) e durante la semi onda negativa Rotaia1 < Rotaia2 (Rot.1= 0V Rot.2=+15V). Cosi facendo si fornisce sul binario oltre ai pacchetti (comandi) DCC una tensione DC invertita ciclicamente, che viene utilizzata dalle locomotive in base al senso di marcia impostato. Per viaggiare in una direzione la loco sfrutta solo la semi onda positiva e per la direzione inversa utilizza solo la tensione della semi onda negativa.

Codifica Bit a 1 o a 0
Come detto in precedenza l'alimentazione DCC e composta da una serie di cicli di durata variabile. La durata dei cicli server per determinare quando viene inviato un bit a 1 o i bit 0 che poi uniti tra loro in determinate sequenze, impartiscono comandi ai decoder DCC. Ora vediamo quale deve essere la durata dei cicli per interpretare il valore dei Bit. Bit = 1. La Centralina DCC deve generare un ciclo con una durata compresa tra 110-122 micro secondi (55-61 per semi onda positiva e 55-61 per quella negativa), mentre un decoder deve essere in grado di leggere come bit a 1 un ciclo compreso tra 114-128 uS. Di solito si utilizza una durata intermedia 58uS per ogni semi onda, quindi un ciclo complessivo è di 116uS. Bit = 0. La Centralina DCC deve generare un ciclo con una durata compresa tra 190-19800 uS (95-9900 per ogni semi onda), mentre un decoder deve essere in grado di leggere come bit a 0 un ciclo compreso tra 180-20000 uS. Di solito si utilizza una durata di 116-118 uS per ogni semi onda, quindi un ciclo complessivo è di 232-240 uS. In questo caso ogni singola semi onda non deve superare i 12000 uS. Riassumendo il tutto si utilizzano 58uS per semi onda (mezzo ciclo) per rappresentare un bit a 1 e 118uS per rappresentare un bit a 0.

Formato pacchetti base DCC
Come detto in precedenza i vari bit trasmessi sui binari andranno a comporre i comandi DCC, qui di seguito vediamo come è composto un pacchetto base di 3 Byte (1Byte=8Bit):
111111111111 0 0AAAAAAA 0 CCCDDDDD 0 EEEEEEEE 1
Un preambolo composto da un minimo di 11 bit, prima dell'inizio pacchetto DCC Il pacchetto DCC inizia con un bit a 0, chiamato bit di start. 1° byte contenente l'indirizzo del decoder da impostare, seguito da un bit a 0 2° byte contenente il comando da far eseguire al decoder, seguito da un bit a 0 3° byte contenente il controllo d'errore, risultante dallo XOR tra il 1° e il 2° byte Infine il pacchetto dcc si conclude con un bit a 1, bit di stop.

Significato 2° byte pacchetto di controllo base
Il 2° byte che contiene le informazioni sul comando da far eseguire al decoder, è suddiviso in due parti. la prima parte è costituita da 3 bit mentre la seconda parte da 5 bit. I primi 3 bit specificano il tipo di comando da eseguire, mentre i restanti 5 contengono i dati relativi al comando selezionato. Vediamo ora il comando per gestire direzione e velocità e quello per comandare le funzioni f1-f4 e la funzione luce.

Comando per controllo velocità e direzione 14/28 Step
Per poter impartire ad una locomotiva un comando relativo al senso di marcia e direzione, al solito si invia un pacchetto DCC composto da 3 byte, dove i primi 3 bit del 2° byte del pacchetto DCC siano i seguenti: 011per gestire verso/velocità direzione normale
010per verso/velocità con direzione inversa

Dopo questi primi 3 bit i 5 bit restanti servono per regolare la velocità.

Comando per controllo velocità e direzione 128 Step
Per comandare un decoder settato con 128 step bisogna inviare un pacchetto dcc avanzato composto da 4 byte (non da 3 byte). In pratica il 2° byte del pacchetto si sdoppia in altri due byte sempre divisi tra loro da un bit a 0: Il primo dei due è sempre composto da 00111111 che informa il decoder che si sta inviando un comando per verso e velocità a 128 step. Il secondo byte e composto da un primo bit relativo alla direzione e i restanti 7 bit servono per indicare lo step. Ricapitolando l'intero pacchetto DCC a 4 byte è il seguente:

111111111111 0 0AAAAAAA 0 00111111 0 DVVVVVVV 0 EEEEEEEE 1
Dove le A stanno per indirizzo decoder, D la direzione, V per indicare lo step ed E controllo Errore.

Comando per controllo le Funzioni F1-F4 e Funzioni Luce
Per poter impartire ad una locomotiva un comando relativo al controllo delle funzioni da 1 a 4 più le luci, bisogna che i primi 3 bit del 2° byte del pacchetto DCC siano i seguenti:
100per funzioni F1-F4 e FL
Dopo questi primi 3 bit i 5 bit restanti servono per attivare/disattivare FL F1-F4:

Comando per controllo decoder accessorio con indirizzo a 9bit (es. Decoder x 4 Scambi)

Per poter governare in dcc un decoder scambi per esempio, si utilizza sempre un pacchetto dcc base da 3Byte, ma con il seguente formato:
11111111111 0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1
Al solito il preambolo di almeno 11 bit a 1 1 bit a 0, bit di start 1° byte contenente i 6 bit bassi dell' indirizzo del decoder (totale. 9 bit indirizzo) 2° byte 3bit alti indirizzo decoder, DDD sta per numero uscita e C per on off 3° byte controllo errore XOR tra primi due byte 1 bit a 1, bit di stop

Per il momento abbiamo visto le cose essenziali per capire il funzionamento del DCC.

Leggi la Seconda Parte ->

articolo realizzato da Alessandro Tardioli (tardioli.alex@libero.it)



Dai un voto a questa pagina:

Rating: 2.2/5 (127 votes cast)

(Unobtrusive) AJAX Star Rating Bar Homepage