Bonsoir,
Et Bien voilà après un gros coup de mains de la part de Cédric et Jean François (les concepteurs des décodeurs de signaux). Après 2 gros mois de galère pour trouver une explication, cette fois-ci le verdict est très très clair.
L’ECoS ne respecte pas le standard du protocole DCC/NMRA. Après plusieurs analyses de trames on peut relever 3 points (Ne connaissant pas bien le DCC, Jean-François ma donc transmis quelques informations).
Pour plus de compréhension voici comment est découpée une trame DCC. Cette trame est une information qui est envoyée au récepteur par l’intermédiaire de la voie ou d’un bus DCC pour les décodeurs d’accessoires.
[b]Trame DCC :[/b]
[color:#ff0000]PREAMBULE | 0 | ADRESSE | 0 | INSTRUCTION | 0 | VALIDATION | 1 |[/color]
[b]Préambule[/b] : Le préambule est constitué au minimum de 10 bits consécutifs à 1. Il sert aux décodeurs à se synchroniser
sur un début de message. Viennent ensuite un bit séparateur à 0 pour annoncer le message proprement dit, et l’octet contenant l’adresse du décodeur
[b]Adresse[/b] : C’est l’adresse du décodeurs qui va recevoir le message.
[b]Instruction[/b] : Les instructions qui sont envoyées aux décodeurs sont classées en plusieurs catégories.
Les catégories de paquets que l'on peut retenir sont celles :
[*] d'informations générales,
[*] adressées aux décodeurs multifonction ou décodeur de locomotive,
[*] destinées aux décodeurs d'accessoires.
En gros c’est passage du cran de vitesse 1 au cran 2 ou allumage de la fonction F1 ou basculement de l’aiguille. L’instruction c’est l’action que va être exécutée par le décodeur.
[b]Validation[/b] : Pour terminer le paquet on trouve l’octet de contrôle calculé par la station de commande. Elle effectue la somme bit à bit, c'est-à-dire sans retenue, de chacun des octets du message et place le résultat à la fin du message.
Le décodeur réalisera la même opération pour vérifier la validité du message reçu avant de l'interpréter. La fin du paquet est indiquée par un bit de terminaison qui se trouve être toujours à 1. Le paquet suivant débutera par un préambule et ainsi de suite…
D’après la norme NMRA, toutes centrales doivent :
1- Envoyer un minimum de 14 bits de préambule. L’ECoS en envoi que 13 ! déja un point d'écart
[b]Extrait de la norme NMRA :[/b]
[citation]
A.General Packet Format
The following sequence of bits defines a valid NMRA packet. Any sequence of bits not meeting the full
specifications of this general packet format is not, for the purpose of this standard, a "packet". Digital decoders
should not act on any instructions that are not contained within a valid packet while in the NMRA digital mode of
operation1. Note, portions within square brackets must occur one or more times.
Preamble: The preamble to a packet consists of a sequence of "1" bits. A digital decoder must not
accept as a valid, any preamble that has less then 10 complete one bits, or require for
proper reception of a packet with more than 12 complete one bits. A[color:#ff0000][b] command station
must send a minimum of 14 full preamble bits[/b][/color].[/citation]
2- On devrait retrouver entre chaque instruction des paquets vides « idle packet ». L’ECoS balance des infos sans faire de trou. En gros elle parle elle parle elle parle …
3- Une nouvelle instruction doit être répétées 4 fois de suite de façons à ce qu’elle soit bien comprise par la destination. Hors l’ECoS envoi par paquet de deux instructions et passe à autre chose et revient en renvoyant les deux dernières instructions. C’est ce qui nous pose problème avec nos décodeurs de signaux.
Il serait bien qu’ESU corrige ces erreurs afin de respecter au mieux la norme DCC/NMRA. Reste à trouver les extraits des points 2 et 3 sur le site [url]http://nmra.org[/url] et d’envoyer tout ca à ESU pour correction.
Capture DCC d’une Lenz :
[citation]
PreAmbel: 21 Bit $BA $F7 $4D 10 Bit Acc. Decoder Address 232 to closed
PreAmbel: 21 Bit $BA $F7 $4D 10 Bit Acc. Decoder Address 232 to closed
PreAmbel: 24 Bit $FF $00 $FF Idle Packet
PreAmbel: 21 Bit $FF $00 $FF Idle Packet
PreAmbel: 21 Bit $FF $00 $FF Idle Packet
PreAmbel: 21 Bit $FF $00 $FF Idle Packet
PreAmbel: 21 Bit $FF $00 $FF Idle Packet
PreAmbel: 21 Bit $FF $00 $FF Idle Packet
PreAmbel: 21 Bit $FF $00 $FF Idle Packet
PreAmbel: 24 Bit $95 $E9 $7C 10 Bit Acc. Decoder Address 337 to closed
PreAmbel: 21 Bit $95 $E9 $7C 10 Bit Acc. Decoder Address 337 to closed
PreAmbel: 21 Bit $95 $E9 $7C 10 Bit Acc. Decoder Address 337 to closed
PreAmbel: 21 Bit $95 $E9 $7C 10 Bit Acc. Decoder Address 337 to closed
PreAmbel: 25 Bit $FF $00 $FF Idle Packet
PreAmbel: 21 Bit $FF $00 $FF Idle Packet
PreAmbel: 23 Bit $95 $E1 $74 10 Bit Acc. Decoder Address 337 to closed
PreAmbel: 21 Bit $95 $E1 $74 10 Bit Acc. Decoder Address 337 to closed
PreAmbel: 21 Bit $95 $E1 $74 10 Bit Acc. Decoder Address 337 to closed
PreAmbel: 21 Bit $95 $E1 $74 10 Bit Acc. Decoder Address 337 to closed
PreAmbel: 21 Bit $FF $00 $FF Idle Packet
PreAmbel: 21 Bit $FF $00 $FF Idle Packet
PreAmbel: 23 Bit $95 $E3 $76 10 Bit Acc. Decoder Address 338 to closed
PreAmbel: 21 Bit $95 $E3 $76 10 Bit Acc. Decoder Address 338 to closed
PreAmbel: 21 Bit $95 $E3 $76 10 Bit Acc. Decoder Address 338 to closed
PreAmbel: 21 Bit $95 $E3 $76 10 Bit Acc. Decoder Address 338 to closed
PreAmbel: 25 Bit $FF $00 $FF Idle Packet
PreAmbel: 21 Bit $FF $00 $FF Idle Packet
PreAmbel: 22 Bit $95 $E5 $70 10 Bit Acc. Decoder Address 339 to closed
PreAmbel: 21 Bit $95 $E5 $70 10 Bit Acc. Decoder Address 339 to closed
PreAmbel: 21 Bit $95 $E5 $70 10 Bit Acc. Decoder Address 339 to closed
PreAmbel: 21 Bit $95 $E5 $70 10 Bit Acc. Decoder Address 339 to closed
PreAmbel: 21 Bit $FF $00 $FF Idle Packet
PreAmbel: 21 Bit $FF $00 $FF Idle Packet
[/citation]
Capture DCC d’une ECoS :
[citation]
PreAmbel: 14 Bit B00000001 B01110000 B01110001 7 Bit MF Decoder 1 Speed/Direction Forward Operation
PreAmbel: 15 Bit B00011110 B01010000 B01001110 7 Bit MF Decoder 30 Speed/Direction Reverse Operation
PreAmbel: 13 Bit B00011110 B10010000 B10001110 7 Bit MF Decoder 30 Function Group 1
PreAmbel: 11 Bit B00001010 B10100000 B10011011 !!!! Check Byte Error !!!!
PreAmbel: 12 Bit B00001100 B01010000 B01011100 7 Bit MF Decoder 12 Speed/Direction Reverse Operation
PreAmbel: 13 Bit B00001100 B10000100 B10001000 7 Bit MF Decoder 12 Function Group 1
PreAmbel: 13 Bit B00011101 B10110001 B10101100 7 Bit MF Decoder 29 Function Group 2
PreAmbel: 13 Bit B01110111 B01110000 B00000111 7 Bit MF Decoder 119 Speed/Direction Forward Operation
PreAmbel: 13 Bit B01110111 B10000000 B11110011 !!!! Check Byte Error !!!!
PreAmbel: 12 Bit B00000000 B01110000 B00110000 !!!! Check Byte Error !!!!
PreAmbel: 13 Bit B01000000 B10010100 B11010100 7 Bit MF Decoder 64 Function Group 1
PreAmbel: 13 Bit B01100000 B01010000 B00110000 7 Bit MF Decoder 96 Speed/Direction Reverse Operation
PreAmbel: 13 Bit B01100000 B10000000 B11100000 7 Bit MF Decoder 96 Function Group 1
PreAmbel: 13 Bit B00011111 B01110000 B01101111 7 Bit MF Decoder 31 Speed/Direction Forward Operation
PreAmbel: 13 Bit B00011111 B10000000 B10011111 7 Bit MF Decoder 31 Function Group 1
PreAmbel: 13 Bit B00010110 B01010000 B01000110 7 Bit MF Decoder 22 Speed/Direction Reverse Operation
PreAmbel: 13 Bit B00010110 B10110000 B10100110 7 Bit MF Decoder 22 Function Group 2
PreAmbel: 13 Bit B01000101 B01010000 B00010101 7 Bit MF Decoder 69 Speed/Direction Reverse Operation
PreAmbel: 13 Bit B01000101 B10110000 B11110101 7 Bit MF Decoder 69 Function Group 2
PreAmbel: 13 Bit B00110010 B01110000 B01000010 7 Bit MF Decoder 50 Speed/Direction Forward Operation
PreAmbel: 13 Bit B00110010 B10110000 B10000010 7 Bit MF Decoder 50 Function Group 2
PreAmbel: 13 Bit B00101101 B01110000 B01011101 7 Bit MF Decoder 45 Speed/Direction Forward Operation
PreAmbel: 13 Bit B00101101 B10110100 B10011001 7 Bit MF Decoder 45 Function Group 2
PreAmbel: 13 Bit B00111100 B01010000 B01101100 7 Bit MF Decoder 60 Speed/Direction Reverse Operation
PreAmbel: 13 Bit B00111100 B10110000 B10001100 7 Bit MF Decoder 60 Function Group 2
PreAmbel: 13 Bit B01001000 B00111111 B00001010 B01111101 7 Bit MF Decoder 72 Advanced Operation Instruction
PreAmbel: 13 Bit B01001000 B10110000 B11111000 7 Bit MF Decoder 72 Function Group 2
PreAmbel: 13 Bit B00100110 B01110000 B01010110 7 Bit MF Decoder 38 Speed/Direction Forward Operation
PreAmbel: 12 Bit B00100110 B10110100 B10010010 7 Bit MF Decoder 38 Function Group 2
PreAmbel: 13 Bit B00001010 B01010000 B01011010 7 Bit MF Decoder 10 Speed/Direction Reverse Operation
PreAmbel: 13 Bit B00001010 B10110000 B10111010 7 Bit MF Decoder 10 Function Group 2
PreAmbel: 13 Bit B00000001 B01110000 B01110001 7 Bit MF Decoder 1 Speed/Direction Forward Operation
PreAmbel: 13 Bit B00000001 B10110000 B10110001 7 Bit MF Decoder 1 Function Group 2
PreAmbel: 13 Bit B00011110 B01010000 B01001110 7 Bit MF Decoder 30 Speed/Direction Reverse Operation
PreAmbel: 13 Bit B00011110 B10010000 B10001110 7 Bit MF Decoder 30 Function Group 1
PreAmbel: 13 Bit B00011101 B01010000 B01001101 7 Bit MF Decoder 29 Speed/Direction Reverse Operation
PreAmbel: 13 Bit B00001100 B01010000 B01011100 7 Bit MF Decoder 12 Speed/Direction Reverse Operation
PreAmbel: 13 Bit B00001100 B10110000 B10111100 7 Bit MF Decoder 12 Function Group 2
PreAmbel: 13 Bit B00011101 B10110001 B10101100 7 Bit MF Decoder 29 Function Group 2
PreAmbel: 13 Bit B01110111 B01110000 B00000111 7 Bit MF Decoder 119 Speed/Direction Forward Operation
PreAmbel: 12 Bit B01110111 B10000000 B11110111 7 Bit MF Decoder 119 Function Group 1
PreAmbel: 13 Bit B01000000 B01110000 B00110000 7 Bit MF Decoder 64 Speed/Direction Forward Operation
PreAmbel: 13 Bit B01000000 B10010100 B11010100 7 Bit MF Decoder 64 Function Group 1
PreAmbel: 12 Bit B01100000 B01010000 B00110000 7 Bit MF Decoder 96 Speed/Direction Reverse Operation
PreAmbel: 13 Bit B01100000 B10000000 B11100000 7 Bit MF Decoder 96 Function Group 1
PreAmbel: 13 Bit B00011111 B01110000 B01101111 7 Bit MF Decoder 31 Speed/Direction Forward Operation
PreAmbel: 13 Bit B00011111 B10000000 B10011111 7 Bit MF Decoder 31 Function Group 1
PreAmbel: 13 Bit B00010110 B01010000 B01000110 7 Bit MF Decoder 22 Speed/Direction Reverse Operation
PreAmbel: 13 Bit B00010110 B10110000 B10100110 7 Bit MF Decoder 22 Function Group 2
PreAmbel: 13 Bit B01000101 B01010000 B00010101 7 Bit MF Decoder 69 Speed/Direction Reverse Operation
PreAmbel: 13 Bit B01000101 B10110000 B11110101 7 Bit MF Decoder 69 Function Group 2
PreAmbel: 13 Bit B00110010 B01110000 B01000010 7 Bit MF Decoder 50 Speed/Direction Forward Operation
PreAmbel: 13 Bit B00110010 B10110000 B10000010 7 Bit MF Decoder 50 Function Group 2
PreAmbel: 13 Bit B00101101 B01110000 B01011101 7 Bit MF Decoder 45 Speed/Direction Forward Operation
PreAmbel: 13 Bit B00101101 B10110100 B10011001 7 Bit MF Decoder 45 Function Group 2
PreAmbel: 13 Bit B00111100 B01010000 B01101100 7 Bit MF Decoder 60 Speed/Direction Reverse Operation
PreAmbel: 13 Bit B00111100 B10110000 B10001100 7 Bit MF Decoder 60 Function Group 2
PreAmbel: 13 Bit B01001000 B00111111 B00001010 B01111101 7 Bit MF Decoder 72 Advanced Operation Instruction
PreAmbel: 13 Bit B01001000 B10110000 B11111000 7 Bit MF Decoder 72 Function Group 2
PreAmbel: 13 Bit B00100110 B01110000 B01010110 7 Bit MF Decoder 38 Speed/Direction Forward Operation
PreAmbel: 13 Bit B00100110 B10110100 B10010010 7 Bit MF Decoder 38 Function Group 2
PreAmbel: 13 Bit B00001010 B01010000 B01011010 7 Bit MF Decoder 10 Speed/Direction Reverse Operation
PreAmbel: 13 Bit B00001010 B10110000 B10111010 7 Bit MF Decoder 10 Function Group 2
PreAmbel: 13 Bit B00000001 B01110000 B01110001 7 Bit MF Decoder 1 Speed/Direction Forward Operation
PreAmbel: 13 Bit B00000001 B10110000 B10110001 7 Bit MF Decoder 1 Function Group 2
PreAmbel: 13 Bit B00011110 B01010000 B01001110 7 Bit MF Decoder 30 Speed/Direction Reverse Operation
[/citation]
En clair c'est un peu envoyé à la suite et dans tout les sens.
Capture DCC d’une Intellibox :
[citation]
PreAmbel: 15 Bit B11111111 B00000000 B11111111 Idle Packet
PreAmbel: 15 Bit B11111111 B00000000 B11111111 Idle Packet
PreAmbel: 15 Bit B11111111 B00000000 B11111111 Idle Packet
PreAmbel: 15 Bit B11111111 B00000000 B11111111 Idle Packet
PreAmbel: 15 Bit B11111111 B00000000 B11111111 Idle Packet
PreAmbel: 15 Bit B11111111 B00000000 B11111111 Idle Packet
PreAmbel: 15 Bit B11111111 B00000000 B11111111 Idle Packet
PreAmbel: 15 Bit B00000100 B01100000 B01100100 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B00000100 B01100000 B01100100 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B00000100 B01100000 B01100100 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B11111111 B00000000 B11111111 Idle Packet
PreAmbel: 15 Bit B00000100 B10000000 B10000100 7 Bit MF Decoder 4 Function Group 1
PreAmbel: 15 Bit B11111111 B00000000 B11111111 Idle Packet
PreAmbel: 15 Bit B00000100 B10110000 B10110100 7 Bit MF Decoder 4 Function Group 2
PreAmbel: 15 Bit B00000100 B01100000 B01100100 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B00000100 B01100000 B01100100 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B00000100 B01100000 B01100100 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B11111111 B00000000 B11111111 Idle Packet
PreAmbel: 15 Bit B00000100 B10000000 B10000100 7 Bit MF Decoder 4 Function Group 1
PreAmbel: 15 Bit B00000100 B01100000 B01100100 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B00000100 B10000000 B10000100 7 Bit MF Decoder 4 Function Group 1
PreAmbel: 15 Bit B00000100 B01100000 B01100100 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B00000100 B10000000 B10000100 7 Bit MF Decoder 4 Function Group 1
PreAmbel: 15 Bit B00000100 B01100000 B01100100 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B00000100 B10000000 B10000100 7 Bit MF Decoder 4 Function Group 1
PreAmbel: 15 Bit B00000100 B01100000 B01100100 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B00000100 B10000000 B10000100 7 Bit MF Decoder 4 Function Group 1
PreAmbel: 15 Bit B00000100 B01100101 B01100001 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B00000100 B10010000 B10010100 7 Bit MF Decoder 4 Function Group 1
PreAmbel: 15 Bit B00000100 B01100101 B01100001 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B00000100 B10010000 B10010100 7 Bit MF Decoder 4 Function Group 1
PreAmbel: 15 Bit B00000100 B01100101 B01100001 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B00000100 B10010000 B10010100 7 Bit MF Decoder 4 Function Group 1
PreAmbel: 15 Bit B00000100 B01100101 B01100001 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B00000100 B10010000 B10010100 7 Bit MF Decoder 4 Function Group 1
PreAmbel: 15 Bit B00000100 B01100101 B01100001 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B00000100 B10010000 B10010100 7 Bit MF Decoder 4 Function Group 1
PreAmbel: 15 Bit B00000100 B01110101 B01110001 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B00000100 B01110101 B01110001 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B00000100 B01110101 B01110001 7 Bit MF Decoder 4 Speed/Direction Forward Operation
PreAmbel: 15 Bit B11111111 B00000000 B11111111 Idle Packet
PreAmbel: 15 Bit B00000100 B10010000 B10010100 7 Bit MF Decoder 4 Function Group 1
PreAmbel: 15 Bit B00000100 B01110101 B01110001 7 Bit MF Decoder 4 Speed/Direction Forward Operation
[/citation]
Toutes les captures ont été réalisées avec un logiciel qui vaut la peine que l'on parle de lui car sans celui-ci nous ne serions pas ce qui circule dans le bus DCC.
ShowDCC est petit logiciel gratuit qui analyse en temps réel les paquets qui passent dans la voie.
Avec un petit montage (3 résistance, 2 diodes, un prise jack) on branche tout ca sur une entrée micro d'un pc et le tour est joué.
Plus d'infos sur [url]http://train35.com/dcc6.html[/url]
A+ et encore grand grand merci à Cédric et Jean-François pour cette analyse