Digital Command Control (DCC) is a standard for a system to operate model railways digitally.
DCC in a few words
The voltage to the track is a bipolar DC signal. The command station quickly switches the direction of the DC voltage, resulting in a modulated pulse wave between : +MAX and -MAX (for instance MAX = 18 V).
- To represent a binary one, the time is short
- While a zero is represented by a longer period
DCC packets are a sequence of 0 and 1
More precisely, packets are made with bytes and a byte is made with 8 bits (0 or 1). Each byte has a specific meaning defined by the NMRA standard :
On the upper example we can see :
- Le préambule : ce n’est pas un octet, c’est une suite de 1 qui permet d’identifier le début d’une nouvelle trame.
- L’octet d’adresse (Address Data Byte) : cet octet contient l’adresse de la locomotive à qui cette trame est destinée
- L’octet d’instruction (Instruction Data Byte) : cet octet contient les instructions destinées à la locomotive (vitesse et fonction)
- L’octet de contrôle (Error Detection Data Byte) : comme souvent dans la transmission d’informations, on ajoute à la fin des données un contrôle d’erreur. Cet octet permet de savoir si la trame reçue est valide ou non. (Précision technique : il s’agit d’un OU exclusif sur les octets de données).
- Preamble : it’s not a byte, it’s a long row of 1 and it’s used to identify a new packet start.
- Address Data Byte : this byte encode the targeted locomotive address
- Instruction Data Byte : this byte encode instructions for the targeted locomotive (speed and functions)
- Error Detection Data Byte : as usual in information
Le nombre d’octets dans une trame n’est pas figé et peut comporter plus de 2 octets d’informations. Par exemple pour gérer les adresses étendues, les trames comportent deux octets d’adresse.