Le DCC c'est bien mais c'est encore mieux quand on arrive à comprendre ce qu'il fait ! Depuis des années nous avons mis au point des centrales et des montages impliquant le DCC. En cas de doute sur une commande ou de panne, il est nécessaire d'avoir un outil pour capturer et décoder les paquets DCC. Espion DCC lève-toi !
Que disent les normes ?
Dans le monde idéal du DCC, les normes encadrent ce système. Les normes sont accessibles gratuitement sur le site du MOROP et de la NMRA (voir liens utiles). Les Normes Européennes de Modélisme, NEM 670, 671, 672 ont été mises à jour et il est nécessaire de les lire car certaines évolutions ne permettent pas de garder la compatibilité avec les anciens décodeurs. De plus les NEM font référence à d'autres normes : RailCommunity (www.railcommunity.org) :
RCN-210 DCC Transmission du bit
RCN-211 DCC Structure d’un paquet, et structure de base de tous les paquets et champs d’adresses
RCN-212 DCC Commande de l’exploitation des décodeurs dans les véhicules, et commandes des décodeurs des véhicules
RCN-213 DCC Commandes pour l’exploitation des décodeurs d’accessoires
RCN-214 DCC Commandes de configuration
Il est important de distinguer les paquets pour les locomotives de ceux des accessoires.
Pour les locomotives, la structure est la suivante (voir NEM 671):
Un préambule qui doit contenir au moins 12 bits 1 (111111111111),
L’adresse de la loco 0AAAAAAA. Le bit à 0 suivant précède l’adresse (par exemple pour l’adresse 37 le codage sera 00110111),
La commande de direction et vitesse. Le 0 suivant marque le début de la commande qui suit 01DCSSSS, D = 1 pour la marche avant, D = 0 pour la marche arrière, CSSSS est la vitesse codée en 28 pas dans chaque sens (par exemple pour la vitesse 5 en avant : 01110100).
PPPPPPPP est l'octet de contrôle
Pour les accessoires, la structure est la suivante pour les NEM (voir NEM 671 et RCN-213):
Basic = {preamble} 0 10AAAAAA 0 1AAADAAR 0 PPPPPPPP 1
Etendu = {preamble} 0 10AAAAAA 0 0AAA0AA1 0 DDDDDDDD 0 PPPPPPPP 1
Les adresses vont de 1000-0000 à 1011-1111 incluse (128 à 191).
La structure du paquet pour le décodeur d'accessoires avec une adresse simple sur 11 bits est :
10AA-AAAA 1AAA-DAAR
La structure du paquet pour le décodeur d'accessoires avec une adresse étendue sur 11 bits est:
10AA-AAAA 0AAA-0AA1
Le D correspond à l'activation/désactivation de la sortie. La sortie est activée si D = 1.
Pour les accessoires, la structure est la suivante pour la NMRA (voir RP-921 2006 Aug 21 Extended Packet Format) :
NMRA Basic = {preamble} 0 10AAAAAA 0 1AAACDDD 0 EEEEEEEE 1
NMRA Etendu = {preamble} 0 10AAAAAA 0 0AAA0AA1 0 000XXXXX 0 EEEEEEEE 1
Les décodeurs numériques accessoires peuvent être conçus pour commander des dispositifs à activation momentanée ou constante.
La durée d'activation de chaque sortie est contrôlée par les variables de configuration CVs #515 à 518.
Le bit 3 du deuxième octet "C" est utilisé pour activer ou désactiver le dispositif adressé.
(Notez que si la durée d'activation prévue du dispositif est inférieure à ou égale à la durée définie, aucune désactivation n'est nécessaire).
Étant donné que la plupart des dispositifs sont appairés, la convention veut que le bit "0" du deuxième octet soit utilisé pour activer ou désactiver le dispositif adressé.
Les bits 1 et 2 du deuxième octet sont utilisés pour indiquer laquelle des 4 paires de sorties le paquet contrôle.
Les bits les plus significatifs de l'adresse de 9 bits sont les bits 4 à 6 du deuxième octet de données.
Par convention, ces bits (bits 4 à 6 du deuxième octet de données) sont en complément à un.
Attention, les codages ne sont pas tout à fait les mêmes entre NEM/RailCommunity et NMRA.
Espion lève-toi !
L'espion DCC décode :
1000 0011 1101 1001 0101 1010
Seuls les deux premiers octets nous intéressent:
1000 0011 1101 1001
Le 10 dans le premier octet et le 1 dans le deuxième octet correspondent à la commande d'accessoires.
L'adresse correspond au 000011 101 avec les 3 derniers bits inversés soit : 010 000011 (binaire) = 131(décimal).
Les chiffres sur la deuxième ligne indique le rang des bits : 9 bits de 0 à 8.
On a donc 512 adresses DCC pour les décodeurs d'accessoires avec chacun 8 E/S. On parle quelque fois de 4096 adresses (512 x 8).
Le 1 indique que la sortie est activée. A priori on envoie toujours "activé".
Les 3 dernier bits du deuxième octet sont pour le numéro de sortie. La norme indique qu'on considère que les 2 premiers bits sont le numéro de paire de sortie, et le dernier indique si on active la sortie paire ou impaire.
Donc on utilise la paire 0 et on active soit la sortie "paire" ou "impaire" selon le langage de la norme pour bouger l'aiguillage.
On peut considérer qu'on a 8 sorties indépendantes sans parler de paires.