PROGRAMMATION des CV des DÉCODEURS de LOCOMOTIVE
(Cv : Variable de Configuration)








Le DÉCODEUR DCC
Le décodeur DCC installé dans les locomotives permet de la commander.

decodeur dcc locomotive
Décodeur DCC Locomotive

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 de locomotive peuvent être modifiées pour adapter chaque décodeur à l'utilisation envisagée et personnaliser le fonctionnement des locomotives.

Sur toutes les variables de configuration présentent dans un décodeur, seules quelques-unes sont utilisées.
Malgré un certain respect des recommandations de la NMRA (National Model Railroad Association), leurs rôles respectifs sont définis et leurs usages restent à la discrétion de chaque utilisateur.
Il convient donc de toujours se reporter à la notice fournie avec tel ou tel décodeur pour connaître celles qui sont exploitables et les différents réglages possibles. 


L'utilisateur n'a pas l'obligation de connaître et de modifier toutes les CV, il ne s'intéresse qu'à quelques-unes. La détermination des valeurs des CV est très importantes et permet un réglage très précis du décodeur : 
Exemple : 
CV 1 : Contient l'adresse du décodeur commandant une locomotive. (Chaque locomotive devra être réglée sur une adresse différente),
CV 29 : Configuration du décodeur,
...
 
Le réglage se fait par l'envoi de trames particulières permettant l'accès aux variables de configuration du décodeur et par la mise en place de la valeur voulue dans la CV correspondante. 
Le nombre de CV (149 pour un décodeur LENZ SILVER +, voire plus de 400 pour un ZIMO et encore plus pour un décodeur sonore) est impressionnant et le réglage de toutes les CV n'est pas nécessaire.
Des réglages d'usine par défaut sont déjà programmés.

Comment ?
1. La centrale DCC envoie des trames de commande au décodeur de la locomotive.
2. Il faut intercaler dans l'envoi des trames DCC, des trames destinées à la commande de la fonction désirée.
3. Une fois la fonction commandée, on peut revenir aux trames DCC de commande de la locomotive.

Le décodeur en fonction de ses réglages internes permet le pilotage de la locomotive. (Il faut toujours se reporter à la notice de chaque décodeur pour connaître les fonctions disponibles et leurs branchements).

La programmation des Cv(s) des décodeurs peut ce faire de deux manières :
1). En circuit, dans ce cas il faut entrer l'adresse de la locomotive à commander,
2). Sur voie de programmation :
     2.1). Soit en utilisant l'adresse de la locomotive à commander comme en circuit (POM : Programming On Main),
     2.2). Soit en utilisant l'adresse "00000000" qui permet l'exécution de la commande par tous les décodeurs recevant ce message. Bien sûr dans ce cas la locomotive doit se trouver seule, sur la voie de programmation,
     2.3). Soit en utilisant l'adressage direct.

Trame 4 octets pour adressage direct Cv23 et Cv24

Préambule   Octet 1   Octet 2   Octet 3   Octet 4  
1111111111111111 0 0 A A A A A A A 0  1 1 1 1 C C C C  0 D D D D D D D D 
0 C C C C C C C C 1
1) 2) 3) 4) 5) 6) 7) 8) 9) 10)
Trame 4 octets pour adressage direct Cv23 et Cv24

Explication de la Trame DCC : 
1) Préambule
 
• La trame commence par l'envoi d'un Long Préambule d'au moins (16 bits à "1").

2) Séparation par un bit "START" à "0"
 
3) Envoi de l'octet 1. 
• L'octet commence par le bit 7 à "0", indiquant que l'on utilise une adresse courte.
• Les 7 bits suivants contiennent l'adresse de la locomotive à commander en binaire.
 
4) Séparation par un bit "START" à "0".

5) Envoi de l'octet 2
• L'octet commence par les bits 7, 6 et 5, à "1", (111 : Correspondant à : Instruction d'Accès à la Variable de Configuration)
• Le bit 4 vaut :
      • "1" : Forme courte qui permet d'accéder aux variables d'accélération (Cv23) et décélération de la locomotive (Cv24),

• Les bits 3, 2, 1, 0 "CCCC" définissent la variable à modifier :
      • "CCCC" = "0010" accès à la Cv 23,
      • "CCCC" = "0011" accès à la Cv 24,
 
6) Séparation par un bit "START" à "0".
 
7) Envoi de l'octet 3 : 
• Données à placer dans la CV (0 à 255) sélectionnée par l'adresse codée sur 7 bits. Le contenu de la variable Cv sélectionnée est remplacé par cette valeur.
 
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"
• 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.
Table "OU EXCLUSIF" ou "XOR".

Table de vérité : OU EXCLUSIF

10) Bit "STOP" à "1"
Fin de transmission du paquet.
Trame 5 octets pour adressage direct de toutes les Cv

Préambule   Octet 1   Octet 2   Octet 3   Octet 4   Octet 5  
1111111111111111 0 0 A A A A A A A 0  1 1 1 0 C C Cv Cv   0 Cv Cv Cv Cv Cv Cv Cv Cv  
0 D D D D D D D D  0 C C C C C C C C
1
1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12)
Trame 5 octets pour adressage direct de toutes les Cv

Explication de la Trame DCC : 
1) Préambule
 
• La trame commence par l'envoi d'un Long Préambule d'au moins (16 bits à "1").

2) Séparation par un bit "START" à "0"
 
3) Envoi de l'octet 1. 
• L'octet commence par le bit 7 à "0",
• Les 7 bits suivants contiennent l'adresse de la locomotive à commander en binaire.
 
4) Séparation par un bit "START" à "0".

5) Envoi de l'octet 2
• L'octet commence par les bits 7, 6 et 5, à "1", (111 : Correspondant à : Instruction d'Accès à la Variable de Configuration)
• Le bit 4 vaut :
      • "0" : Forme longue qui permet d'accéder à toutes les variables de configuration,

• Les bits 3, 2, "CC" définissent la variable à modifier :
      • "CC" = "01" vérification de l'octet :
 Nota
      • "CC" = "11" écriture de l'octet :
 Nota
      • "CC" = "10" manipulation des bits :
               L'instruction pour la manipulation utilise un format de donnée particulier : 111CDBBB
                             Ou :
                              • C décrit si l'opération est un bit de vérification ou une opération de bit d'écriture.(C = 1, Ecriture du bit : C = 0, vérification du bit),
                              • D contient la valeur du bit à vérifier ou à écrire,
                              • BBB représente la position du bit dans le CV.
 
• Les bits 1, 0, "Cv Cv" contiennent l'adresse de la Cv à modifier en combinaison avec les 8 bits de l'octet 3. Ils représentent les bits de poids forts.
• Les 8 bits suivants de l'octet 3 contiennent l'adresse de l'accessoire en combinaison avec les bits 1, 0, de l'octet 2 à commander en binaire. L'octet 3 représente les bits de poids faibles.
Nota : La variable de configuration sélectionnée est l'adresse sur 10 bits plus 1. Par exemple, pour adresser la CV 1, l'adresse 10 bits est "00 00000000"
 
6) Séparation par un bit "START" à "0".
 
7) Envoi de l'octet 3 : 
• Contient l'adresse de la Cv à modifier en combinaison avec les 2 bits de l'octet 2.

8) Séparation par un bit "START" à "0".
 
9) Envoi de l'octet 4 : 
"CC" = "01" vérification de l'octet : Données de l'octet 4 à comparer avec le contenu de la variable Cv sélectionnée.
• "CC" = "11" écriture de l'octet : Données de l'octet 4 à placer dans la CV (0 à 255) sélectionnée par l'adresse codée sur 10 bits. Le contenu de la variable Cv sélectionnée est remplacé par cette valeur.
 
10) Séparation par un bit "START" à "0".
 
11) Envoi de l'octet 5 de contrôle : 
• La valeur des bits de l'octet de contrôle dépend de l'octet 1 de l'octet 2 de l'octet 3 et de l'octet 4
• 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 puis ensuite à l'octet 4 pour obtenir le résultat final.

Table "OU EXCLUSIF" ou "XOR"
 

Table de vérité : OU EXCLUSIF

12) Bit "STOP" à "1"
Fin de transmission du paquet.
Trame 5 octets pour adressage direct des Cv23 et Cv 24 avec adresse longue

Préambule   Octet 1   Octet 2   Octet 3   Octet 4   Octet 5  
1111111111111111 0 1 1 A A A A A A 0  A A A A A A A A  0  1 1 1 1 C C C C 
0 D D D D D D D D  0 C C C C C C C C
1
1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12)
Trame 5 octets pour adressage direct des Cv23 et Cv 24 avec adresse longue

Trame identique à la Trame 4 octets pour adressage direct des Cv23 et Cv 24 mais adresse longue.

Trame 6 octets pour adressage direct de toutes les Cv avec adresse longue

Préambule   Octet 1   Octet 2   Octet 3   Octet 4   Octet 5   Octet 6  
1111111111111111 0 1 1 A A A A A A 0 A A A A A A A A  0  1 1 1 0 C C Cv Cv  
0 Cv Cv Cv Cv Cv Cv Cv Cv   0 D D D D D D D D 
0 C C C C C C C C 1
1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14)
Trame 6 octets pour adressage direct de toutes les Cv avec adresse longue

Trame identique à la Trame 5 octets pour adressage direct de toutes le Cv mais adresse longue.
Utilisation d'une voie de programmation
La locomotive doit se trouver seule sur la voie de programmation.

La trame suivante peut être utilisée dans ce cas.

Utilisation de l'adresse "00000000"
L'adresse de la locomotive est remplacée par l'adresse "00000000" donnant ordre à tous les décodeurs recevant cette trame d'exécuter l'ordre reçu.

Préambule   Octet 1   Octet 2   Octet 3   Octet 4   Octet 5  
1111111111111111 0 0 0 0 0 0 0 0 0  0  1 1 1 0 C C Cv Cv   0 Cv Cv Cv Cv Cv Cv Cv Cv  
0 D D D D D D D D  0 C C C C C C C C
1
1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12)
Trame 5 octets pour programmation des Cv des décodeurs

Les détails de la trame sont les mêmes que pour la  
 à l'exception de l'adresse de départ.

Par adressage direct

Long Préambule   Octet 1   Octet 2   Octet 3   Octet 4  
11111111111111111111 0 0 1 1 1 C C Cv Cv   0 Cv Cv Cv Cv Cv Cv Cv Cv  
0 D D D D D D D D  0 C C C C C C C C
1
1) 2) 3) 4) 5) 6) 7) 8) 9) 10)
Trame 4 octets pour programmation directe des Cv des décodeurs

L'adressage direct permet l'adressage des Cv directement par leur numéro de variable "Cv" codée sur 10 bits.

Pour utiliser ce mode d'adressage le décodeur doit être configuré en ce sens (voir notice du constructeur).

Remise à zéro des décodeurs
Le paquet de données DCC pour la remise à zéro générale des décodeurs est constitué de trois octets dont tous les bits sont à zéro. 
 
Lorsqu’un décodeur reçoit ce paquet de données, il doit effacer toutes ses mémoires non permanentes (y compris les données de vitesse et de sens de marche) et revenir à son état normal de mise sous-tension. 
 
Si la motrice est en mouvement le décodeur doit lui appliquer un arrêt d’urgence.

Préambule   Octet 1   Octet 2   Octet 3  
1111111111111111 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1
1) 2) 3) 4) 5) 6) 7) 8)
Trame de remise à zéro des décodeurs

Explication de la Trame DCC : 
1) Préambule 
• La trame commence par l'envoi d'un Long Préambule d'au moins (16 bits à "1").

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

3) Envoi de l'octet 1 : 
• Tous les bits de l'octet sont à "0" indiquant que l'on s'adresse à tous les décodeurs. 
Nota : Voilà pourquoi cette adresse n'est pas disponible pour commander une locomotive.

4) Séparation par un bit "START" à "0".
 
5) Envoi de l'octet 2 : 
• Tous les bits de l'octet sont à "0".

6) Séparation par un bit "START" à "0".
 
7) Envoi de l'octet 3 de contrôle : 
• La valeur des bits de l'octet 3 (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",
• Tous les bits de l'octet 2 et 3 étant à zéro, l'octet 3 (de contrôle) est à zéro. 

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

Nota :
Il arrive parfois que la modification des Variables de Configuration (CV) d'un décodeur ne donne pas le résultat attendu.
Il faut ainsi procéder à la Remise A Zéro du décodeur pour tout remettre à plat.
Mais il arrive aussi que les CV du décodeur ne reviennent pas toutes à leur état initial. (Vécu).

Ainsi il m'est arrivé qu'après avoir modifié les CV du décodeur, de vouloir revenir à la configuration d'usine.
Mais après avoir réalisé cette remise à zéro, le réglage de la vitesse était devenu impossible (le moteur passait immédiatement à vitesse maximale).
Il a fallu, après beaucoup de recherche, venir modifier la CV2 pour régler manuellement la tension de démarrage du décodeur pour retrouver un fonctionnement normal.
 
Il est également possible de réaliser un HARD RESET. (Remise à Zéro dans le HARD du décodeur).
Pour cela il faut entrer certaines valeurs dans une CV en particulier. (Voir notice du décodeur).

1) Décodeur LENZ : Ecrire la valeur 33 dans la CV8,
2) Décodeur ESU : Ecrire la valeur 8 dans la CV8, 
3) Décodeur ZIMO :Ecrire la valeur 8 dans la CV8,
4) Décodeur LOKPILOT : Ecrire la valeur 8 dans la CV8,
5) Décodeur UHLENBROCK : Ecrire la valeur 1 dans la CV59.