Le PROTOCOLE DCC pour la COMMANDE des ACCESSOIRES
(Digital Command Control)









Le DÉCODEUR d'ACCESSOIRE
Les décodeurs d'accessoire permettent la commande d'accessoire tel que :
• Moteur d'aiguilles à bobine,
• De Leds,
• De lampes,
• Des signaux lumineux,
• Des dételeurs magnétiques, 
• ...

Ils peuvent être alimentés par les rails en utilisant le protocole DCC ou en utilisant des boutons poussoirs. 
 
Les accessoires peuvent être alimentées par le booster DCC, mais dans ce cas, il faudra veiller à ne pas dépasser l'intensité maximale admissible par le booster. 
 
Dans le cas où de nombreux décodeurs sont utilisés ou relié à de gros consommateurs d'énergie, il est préférable d'utiliser une source d'alimentation externes, continue ou alternative pour se substituer au booster DCC.

L'utilisation d'une source d'alimentation externe n'empêche pas le décodeur d'être commandé en DCC si l'utilisateur le désire.

decodeur accessoire
Décodeur d'accessoire

Les décodeurs possèdent généralement 4 sorties numérotées de 1 à 4 qui peuvent commander 2 accessoires et qui ont la particularité de fonctionner par paires.

Les fonctionnements possibles sont en général :  
• En mode momentané, la sortie est active tant que le bouton de commande est enfoncé, 
• En mode impulsion, 
• En clignotant, chaque sortie est activée alternativement, 
• En mode continu bistable, une des deux sorties, est active en continue.

Pour les paires il n’est pas nécessaire de commande de remise à 0.

sorties decodeur accessoire
Sorties d'une paire d'un décodeur d'accessoire
Il existe également des décodeurs spécialisés dans la commande des feux de signalisation (Extended Accesorry Decoder).

Ces décodeurs utilisent une trame 4 octets pour la commande.
 
Les CVs
Le décodeur contient des variables de configuration appelées (CV), qui sont des paramètres de configuration stockés en mémoire non volatile dans le décodeur. 
Ces variables de configuration pour les décodeurs d'accessoire peuvent être modifiées pour adapter chaque décodeur à l'utilisation envisagée et personnaliser le fonctionnement des accessoires branchés au décodeur :
• Aiguillages,
• Signaux,
• Lampadaires....

A l'origine les CV 1-512 étaient réservés à l'utilisation de la NMRA.
Cependant de nombreux décodeurs d'accessoires ont été vendus et utilisaient les CVs 1-512. Cela a été fait pour diverses raisons, notamment l'impossibilité pour certaines stations de commande d'accéder à des CVs supérieurs à 512.  

En reconnaissance de nombreux décodeurs accessoires utilisant les CVs inférieurs et le désir de créer plus d'espace pour les fabricants, les définitions de CV telles que définies précédemment ont été déplacées de 513 à 1024 vers 1 à 512.  

L'utilisation des CV 513-1024 est facultative. Le fabricant peut utiliser ces CVs supérieurs de la manière qu'il juge appropriée.
  
Ces changements permettront aux décodeurs d'accessoires existants d'utiliser les CV 513-1024 tels que définis précédemment. 
 

DÉTAILS du PROTOCOLE DCC pour la COMMANDE des ACCESSOIRES

Le protocole DCC a prévu plusieurs possibilités concernant la commande des accessoires :
Une trame 3 octets :

     • Pour la commande de 510 décodeurs,

Préambule   Octet 1   Octet 2   Octet 3  
1111111111111111 0 1 0 A A A A A A 0 1 A A A C D D D 0 C C C C C C C C
1
1) 2) 3) 4) 5) 6) 7) 8)
Trame DCC 3 octets pour accessoire
     • Pour une commande de 2048 accessoires.
     • Ce format est destiné à transmettre des commandes d’aspect plus particulièrement pour les décodeurs de feux ou des octets de données aux décodeurs d'accessoires plus complexes. Chaque commande peut afficher un aspect à la fois.

Préambule   Octet 1   Octet 2   Octet 3   Octet 4  
1111111111111111 0 1 0 A A A A A A 0 0 A A A 0 A A 0 0 0 0 X X X X X  0 C C C C C C C C
1
1) 2) 3) 4) 5) 6) 7) 8) 9) 10)
Trame DCC 4 octets pour accessoire étendu

La TRAME 3 OCTETS

Préambule   Octet 1   Octet 2   Octet 3  
1111111111111111 0 1 0 A5 A4 A3 A2 A1 A0 0 1 A8 A7 A6 C D2 D1 D0  0 C C C C C C C C
1
1) 2) 3) 4) 5) 6) 7) 8)
Trame DCC 3 octets pour accessoire

Il est possible de commander 510 décodeurs d'accessoire à une adresse allant de 1 à 510.

L’adresse 0 n’est pas utilisée et l'adresse 511 est une adresse permettant d’envoyer le même ordre à tous les décodeurs.

Explication de la Trame DCC :
1) Préambule
La trame commence par l'envoi du Préambule (16 bits à "1").

2) Séparation par un bit "START" à "0".

3) Envoi de l'octet 1 :
L'octet commence par le bit 7 à "1" et 6 à "0" indiquant que l'on s'adresse à un accessoire.
• Les 6 bits suivants contiennent l'adresse de l'accessoire en combinaison avec les bits 6, 5, 4, de l'octet 2 à commander en binaire. 
 Nota
    • Les 6 bits de l'octet 1 représentent les poids faibles et les 3 bits de l'octet 2 les poids forts.

4) 
Séparation par un bit "START" à "0".

5) Envoi de l'octet 2 :
• L'octet commence par le bits 7 à "1" qui indique que l'adresse est codée sur 9 bits,
• Les bits 6, 5, 4, contiennent l'adresse de l'accessoire en combinaison avec les bits 5, 4, 3, 2, 1, 0, de l'octet 1.
    • Les 3 bits de l'octet 2 représentent les poids forts et les 6 bits de l'octet 1 les poids faibles.
    • Les 3 bits de l'octet 2 sont codés en complément à 1.
      • Exemple :
             • 110 vaut 001 en décimal : 1
             • 101 vaut 010 en décimal : 2
             • 100 vaut 011 en décimal : 3
             • 011 vaut 100 en décimal : 4             
             • 010 vaut 101 en décimal : 5
             • 001 vaut 110 en décimal : 6
             
             • 111 vaut 000 en décimal : 0
             • 000 vaut 111 en décimal : 7
• Le bit 3 "C" indique si la sortie est active ou pas :
   • "0" Désactive la sortie,
   • "1" Active la sortie.

Nota :
La plupart des sorties des décodeurs sont couplés. Ainsi une sortie est active pendant que l'autre est inactive.
Ainsi la commande, "0" Désactive la sortie, n'est pas utilisée.

Si une sortie est programmée pour être active sur un temps déterminé (commande d'une aiguille, clignotement...), il est inutile de désactiver cette sortie.

• La commande temporisée est définie dans les CVs du décodeur d'accessoire. (Se reporter à la notice du décodeur pour connaitre la programmation d'usine des Cv et les commandes disponibles).


• Les bits 2, 1, 0, "D2, D1, D0" indique l'élément dans une paire et l'accessoire concerné. 
   • Le décodeur peut piloter 4 paires de sorties :
   • "D2" et "D1" définissent quelles paires de sortie sont concernées,
   • "D0" définit l'élément dans la paire.   

6) 
Séparation par un bit "START" à "0".

7) Envoi de l'octet 3 de contrôle :
• La valeur des bits de l'octet de contrôle dépend de l'octet 1 et de l'octet 2,
• L'octet de contrôle est calculé par la centrale DCC en effectuant un "OU EXCLUSIF" ou "XOR",
• Les bits de l'octet 1 et de l'octet 2 sont additionnés bit à bit en utilisant la fonction "OU EXCLUSIF".

Nota :
L'octet de contrôle calculé est inséré dans la trame DCC qui est ensuite envoyé sur la voie.
Le décodeur concerné par l'adresse envoyée, calcule de son côté l'octet de contrôle. (Des mauvais contacts ou parasite pouvant altérer le contenu du signal envoyé par la centrale).
Le décodeur compare ensuite l'octet de contrôle envoyé par la centrale DCC et celui qu'il a calculé. Si les deux concordes la trame est acceptée et exécutée dans le cas contraire la trame est refusée.

8) 
Bit "STOP" à "1".
Fin de transmission du paquet.


La TRAME 4 OCTETS
 Trame 4 octets pour commande des décodeurs d'accessoire étendu.

Préambule   Octet 1   Octet 2   Octet 3   Octet 4  
1111111111111111 0 1 0 A5 A4 A3 A2 A1 A0 0 0 A10 A9 A8 0 A7 A6  0 0 0 0 X4 X3 X2 X1 X0  0 C C C C C C C C
1
1) 2) 3) 4) 5) 6) 7) 8) 9) 10)
 Trame 4 octets pour commande des décodeurs d'accessoire étendu.

Il est possible de commander 2044 décodeurs d'accessoire étendu à des adresses allant de 1 à 2044. 

Chaque décodeur possède plusieurs sorties qui peuvent gérer plusieurs appareils par l'envoi d'une commande par les bits X4 X3 X2 X1 X0.  

Ce reporter à la notice du décodeur pour connaître les commandes à utiliser.

Explication de la Trame DCC :
1) Préambule
La trame commence par l'envoi du Préambule (16 bits à "1").

2) Séparation par un bit "START" à "0".
3) Envoi de l'octet 1 :
L'octet commence par le bit 7 à "1" et 6 à "0" indiquant que l'on s'adresse à un accessoire.
• Les 6 bits suivants contiennent l'adresse de l'accessoire en combinaison avec les bits 6, 5, 4, 2, 1, de l'octet 2 à commander en binaire. 
 Nota
    • Les 6 bits de l'octet 1 représentent les poids faibles et les 5 bits de l'octet 2 les poids forts.

4) 
Séparation par un bit "START" à "0".

5) Envoi de l'octet 2 :
• L'octet commence par le bits 7 à "0" qui indique que l'adresse est codée sur 11 bits, 
• Les bits 6, 5, 4, "0" intercalé2, 1, contiennent l'adresse de l'accessoire en combinaison avec les bits 5, 4, 3, 2, 1, 0, de l'octet 1
• Les 5 bits de l'octet 2 représentent les poids forts et les 6 bits de l'octet 1 les poids faibles. 
• Les 5 bits de l'octet 2 sont codés en complément à 1. 
• L'octet termine par le bits 0 à "1".

6) 
Séparation par un bit "START" à "0".

7) Envoi de l'octet 3 :
L'octet commence par les trois bits 7, 6 et 5,  à "0".
• Les bits 4, 3, 2, 1, 0 (X4, X3, X2, X1, X0) indique :
   • XXXXX concerne un seul feu. La valeur 00000 indique l'arrêt absolu,
   • Tous les autres aspects représentés par les valeurs pour XXXXX sont déterminés par le système de signalisation utilisé.

8) Séparation par un bit "START" à "0".

9) Envoi de l'octet 4 de contrôle :
• La valeur des bits de l'octet de contrôle dépend de l'octet 1 de l'octet 2 et de l'octet 3,
• L'octet de contrôle est calculé par la centrale DCC en effectuant un "OU EXCLUSIF" ou "XOR",
• Les bits de l'octet 1 et de l'octet 2 sont additionnés bit à bit en utilisant la fonction "OU EXCLUSIF", le résultat de cette opération est ensuite utilisé pour être additionné à l'octet 3 pour obtenir le résultat final.
Trame pour commander tous les décodeurs d'accessoires

Préambule   Octet 1   Octet 2   Octet 3  
1111111111111111 0 1 0 1 1 1 1 1 1 0 1 0 0 0 C D2 D1 D0  0 C C C C C C C C
1
1) 2) 3) 4) 5) 6) 7) 8)
Trame pour commander tous les décodeurs d'accessoires

Explication de la Trame DCC : 
 • Cette trame doit être exécutée par tous les décodeurs d'accessoires.
 • Les bits CDDD sont définis comme spécifiés dans La TRAME 3 OCTETS.

Trame pour commander tous les décodeurs d'accessoires étendus

Préambule   Octet 1   Octet 2   Octet 3   Octet 4  
1111111111111111 0 1 0 A A A A A A 0 0 A A A 0 A A 0 0 0 0 X X X X X  0 C C C C C C C C
1
1) 2) 3) 4) 5) 6) 7) 8) 9) 10)
Trame pour commander tous les décodeurs d'accessoires étendus

Explication de la Trame DCC : 
 • Cette trame doit être exécutée par tous les décodeurs d'accessoires étendus.
 • Les bits X X X X X sont définis comme spécifiés dans La TRAME 4 OCTETS.

VIDÉO de COMMANDE d'un DÉCODEUR D'ACCESSOIRE
Vidéo montrant la commande d'un décodeur d'accessoire à l'aide de la centrale DCC version 2.1.