Le protocole MOTOROLA
(ou protocole Märklin de 1° génération)

ATTENTION : sur cette page (et celles qui suivent), nous nous limitons volontairement à la description du protocole destiné à la commande des locomotives. Il existe un autre protocole, destiné à la commande des aiguillages. Son principe de base est EXACTEMENT le même, mais la vitesse de transmission est deux fois plus élevée. Ainsi, il est possible de transmettre avec le même codeur et le même booster sur la même voie les informations destinées aux locos et celles destinées aux aiguillages, les décodeurs triant automatiquement les informations en fonction de la vitesse.



Qu'appelle-t'on "Format MOTOROLA" ?

Comme cela a été indiqué sur la page précédente, les premiers contrôleurs Märklin ont été équipés de circuits intégrés MC145026. Les décodeurs de locomotives et d'aiguillages ont quant à eux été équipés de circuits MC145027 et MC145029 (le MC145029 n'est plus fabriqué). Ces circuits respectaient donc 'au pied de la lettre' la spécification du format d'échange décrit par MOTOROLA dans la documentation technique de ces composants, d'où le nom de 'Format MOTOROLA' pour les données échangées par les produits de cette génération.

Le signal de commande, des bits aux trits...

En sortie du 'Controller' ou du 'Booster', on trouve un signal carré, qui alterne en permanence entre +18V (max +22V) et -18V (max -22V).
Ce signal est destiné à alimenter les décodeurs et les moteurs, mais également à transporter les informations de télécommande, qui sont NUMERIQUES ici, à l'opposé du JOUEFMATIC, où elles étaient analogiques.
Le terme 'numérique' (Digital en Anglais) vient du fait qu'ici on n'utilise que deux états possibles (appelés 'bits', pour 'binary digit' - chiffre binaire), mathématiquement décrits comme '0' et '1' (mais on peut aussi bien dire 'blanc' et 'noir', 'ouvert' et 'fermé'...)

L'atout du numérique est qu'il ne peut exister (pour le décodeur) que ces deux états. Tout autre état est considéré comme un parasite et est donc rejeté.

L'état '1' est représenté sur la voie par une impulsion positive de 182 µs, suivie d'une impulsion négative de 26 µs (parfois appelée 'impulsion longue').

L'état '0' est représenté sur la voie par une impulsion négative de 182 µs, suivie d'une impulsion positive de 26 µs (parfois appelée 'impulsion courte').

Sans que l'on ne sache trop pourquoi, MOTOROLA a regroupé les bits élémentaires en 'trits' (trinary digits), capable de coder 3 informations différentes (la quatrième possibilité est interdite, sauf dans les décodeurs de deuxième génération...) Remarquez que les trits sont en fait codés sur deux niveaux (donc en binaire)!
D'ailleurs, dans le domaine des télécommunications, on ne parle pas de 'trits', mais de 'dibits'...

Quand les trits sont mis en paquets...

Les trits sont toujours envoyés par paquets de 9 (soit 18 bits) sur la voie.
Un paquet est formé de la façon suivante :
Quand un décodeur reçoit un paquet, il compare les quatre trits d'adresse au réglage de ses interrupteurs de configuration. Si le code est le même, le décodeur sait que le paquet est pour lui. Sinon, il rejette le paquet et ignore son contenu.
Comme un trit peut avoir trois valeurs différentes, et qu'il y a quatre trits, on dispose donc de 3^4=81 combinaisons. Märklin interdit l'utilisation d'une des combinaisons, il en reste donc 80 utilisables. On peut donc commander à tout instant 80 récepteurs différents, indépendamment les uns des autres !!!

Le trit de fonction est relié à une sortie du décodeur, chargée de mettre en/hors service une fonction particulière. Cette sortie est gérée en général par la touche 'F0' du contrôleur.

Les quatre derniers trits sont destinés à commander l'étage de puissance pour l'alimentation du moteur. Chose bizarre, au lieu d'utiliser le même système que pour les trits d'adressage, ce qui aurait donné 81 vitesses possibles (soit 40 dans chaque sens), Märklin n'utilise que deux états de trits ('0' et '1'), ce qui revient à les considérer comme des.. bits. On ne dispose donc plus que de 2^4=16 vitesse possibles.
Pour éviter de n'avoir que 8 vitesses possibles dans chaque sens, le codage est modifié selon le tableau suivant :

S4S3S2S1CommandeCodage binaire équivalent
aux quatre trits
1111Vitesse = 1411111111
1110Vitesse = 1311111100
1101Vitesse = 1211110011
1100Vitesse = 1111110000
1011Vitesse = 1011001111
1010Vitesse = 911001100
1001Vitesse = 811000011
1000Vitesse = 711000000
0111Vitesse = 600111111
0110Vitesse = 500111100
0101Vitesse = 400110011
0100Vitesse = 300110000
0011Vitesse = 200001111
0010Vitesse = 100001100
0001Inversion du sens de marche00000011
0000Arrêt00000000

Grâce à cette astuce, on dispose donc de 14 vitesses dans chaque sens.
Noter la notion d'inversion de sens de marche : il n'y a pas de sens 'absolu'. Quand une machine est posée sur la voie, elle peut partir dans un sens ou dans l'autre...
Cette approche est classique chez Märklin (approche 3 rails avec relais d'inversion), mais surprend toujours les amateurs de '2 rails'!
Pour inverser le sens de marche d'un train commandé par le protocole MOTOROLA, il faut appuyer sur la touche d'inversion de sens de marche (le contrôleur transmet alors un paquet de commande avec la valeur 0001). Les touches de sélection de sens que l'on trouve sur les contrôleurs récents (2° génération, codage MARKLIN) ne servent donc à rien pour les décodeurs de 1° génération.


En promotion cette semaine, le lot de quatre paquets de trits...

Il est clair qu'il faut envoyer sur la voie autant de paquets qu'il y a de motrices à commander (chaque paquet ne peut agir que sur la motrice dont le numéro correspond au code d'adresse transmis)
Soulignons en passant que si plusieurs locomotives ont la même adresse, elles recevront le même paquet en même temps, et donc réagiront de la même façon.
Les contrôleurs transmettent donc cycliquement les informations aux locomotives déclarées comme actives. Lorsque l'on souhaite retirer une machine du réseau, il est ainsi préférable de le signaler au contrôleur, pour que celui-ci cesse de transmettre les paquets de commande à son intention. Ceci permet de diminuer le temps de réponse du système, qui peut devenir assez élevé lorsque le nombre de motrices commandées est important.
De même, lorsque l'on souhaite mettre en service une nouvelle machine (qui était en repos jusque là), il faut signaler sa présence au contrôleur, pour qu'il transmette les paquets à son intention.

Entre chaque paquet, il est nécessaire de prévoir un temps mort, durant lequel aucune communication n'a lieu, afin de permettre aux récepteurs de se synchroniser. Ce temps est de 6025µs sur les codeurs de première génération (format MOTOROLA).

La pratique a rapidement montré que la transmission des ordres par un seul paquet n'était pas fiable, en raison des nombreux parasites produits lors de la captation du courant par les roues. Ce problème étant identique pour les transmissions radio ou infra-rouges, les circuits MOTOROLA transmettent chaque paquet en double.
Entre chaque paquet d'un paquet double, le temps de repos est de 1525µs. Si un récepteur constate une différence entre deux paquets du même paquet double, celui-ci est rejeté et ignoré.
Afin d'augmenter la probabilité de réception sans erreur d'un double paquet, celui-ci est transmis une seconde fois (un paquet de commande est donc transmis quatre fois sur les rails !). Entre deux paquets doubles, le temps de repos est fixé à 4025µs (format MOTOROLA).

Faisons nos comptes : Ce temps de 28 ms peut paraître très court à première vue, mais il faut se rappeler qu'il est possible de commander jusqu'à 80 trains simultanément. Dans ce cas, le temps de cycle global atteint 80 * 28 = 2240 ms, soit plus de 2,2 secondes !
Ceci veut dire que lorsque 80 locomotives sont commandées par le même contrôleur, un ordre peut mettre jusqu'à 2,2 secondes pour être éxécuté, d'où la nécessité de signaler au contrôleur les locomotives qui ne sont plus en service.



Page suivante : le nouveau protocole Märklin (2° génération)

Retour à la page principale