EXEMPLE DE LIAISON 100Kbits code manchester

sur fibre optique

Ph Dondon © Copyright  2002

 retour page accueil Ph.Dondon


PAGE EN CONSTRUCTION...patience pour les schémas...

PREAMBULE

La maquette de cette liaison a été réalisée par Mathilde Sargos et Fabien Calluaud dans le cadre de leur projet IUT GEII Bordeaux 2ème année en 2002 . (Merci à eux). Nous n'avons aucune prétention en terme de débit ni de performances particulières. Nous voulons simplement donner quelques schémas simples ; ils permettront très modestement, d'établir quelques liens entre la difficile approche théorique et mathématique (théorie de l'information) des liaisons numériques et la pratique... Les parties codage et décodage d'erreurs, multiplexage de voies ne sont pas abordées.

I)  CAHIER DES CHARGES


II) SYNOPTIQUE GENERAL DE LA LIAISON

III) DETAILS DE LA LIAISON

Le signal analogique à transmettre est d'abord centré sur la plage de conversion 0-5V, puis converti en échantillons de 8 bits parallèle à la fréquence de 12,5kHz. Un registre à décalage cadencé par l'horloge 100kHz sérialise les bits.

Même si, dans cet exemple, on ne transmet qu'une seule voie, on insère (comme dans une transmission réelle) un mot de verrouillage de trame (MVT) qui permet de découper le train numérique série, en trame de 16 mots binaires de 8 bits (15 échantillons utiles + le MVT). Le 16 ème échantillon utile est donc perdu puisque remplacé par le MVT. Cependant, une astuce simple permet à la réception de réduire l'impact de ce défaut.

Le MVT sert à la synchronisation et à l'identification des échantillons sérialisés. On choisit ici le mot "11111111". Cette combinaison pouvant apparaitre dans le message utile, un écrêteur situé derrière le CAN permet de remplacer en cas d'apparition le mot 11111111 par 11111110. On créer ainis une erreur de 1 LSB sur l'échantillon de plus grande valeur mais on supprime le mot génant. Malgré tout, une suite de 8 un en série peut apparaitre (à cheval sur 2 échantillons consécutifs), le récepteur sera donc synchronisé par une séquence d'initialisation ( cf ci après) puis calé sur le MVT avant de recevoir le message utile.

L'embrouilleur est celui utilisé dans la page TP modulation numérique. A noter qu'il faut envoyer une séquence de 1 préliminaire pour le démarrer et que dans certains cas de figure, il peut fournir en sortie une longue séquence de 1 ou de 0. Le codage manchester est donc indispensable pour que le signal soit riche en transition ( en vue de la récupération d'horloge)

Le codage "Manchester direct" est simple : il s'agit d'un simple "ou exclusif" entre le train numérique à coder et l'horloge. Ainsi, le signal codé comporte une transition par bit.

On utilise un couple d'émetteur récepteur infrarouge HP...... intégré.

Le rythme binaire peut être récupéré de différentes manières mais cela n'est jamais simple car le spectre du signal codé manchester ne contient pas de raie à la fréquence horloge car les fronts du signal ne sont pas toujours équidistants. Nous avons choisi une solution mixte numérique analogique qui fonctionne bien tant que le débit n'est pas trop élevé. Le principe est le suivant :

Par un système de comptage basé sur une horloge locale à 10 fois le rythme binaire, et une logique de calcul, on extrait la fréquence binaire divisée par 2. Avec une simple PLL analogique 4046, on récupère un train à la fréquence rythme Fb, dont les front montants sont en phase avec le signal reçu grâce au comparateur type 2 (trois états). Enfin, on extrait la fréquence 4xFb afin de préparer le décodage manchester.

Nota : Une PPL numérique peut également permettre cette récupération de rythme.

Le décodage se fait ici simplement en venant "échantillonner" par une bascule D le signal reçu, à 1/4 de sa période. (On aurait pu regarder également à 3/4 de la période). La valeur lue à cet instant correspond directement à la valeur du bit à décoder. Il suffit pour cela de disposer de l'horloge rythme décalée d'un quart de période. On retrouve alors en sortie le signal NRZ embrouillé.

Le désembrouilleur est celui utilisé dans la page TP modulation numérique.

Le MVT permet le comptage et la localisation des mots de 8 bits reçus. Il apparait tous les 15 échantillons . Il est extrait du flot. A sa place, et pour ne pas introduire une trop grande erreur dans le signal restitué, on sort, après désérialisation, sur le CNA deux fois de suite l'échantillon le précédent. (On aurait pu également faire la moyenne des échantillons précédent et suivant...). Le MVT permet aussi de savoir si une désynchronisation de la liaison a eu lieu. On traite l'information pour fournir une alarme mais la stratégie de resynchronisation n'est pas prise en compte dans l'exemple.

Le principe retenu pour la récupération de rythme, entraine une ambiguité à l'initialisation de la transmission : suivant le cas, le signal ou le signal complémenté est récupéré. Il est donc nécessaire de lever cette ambiguité en insérant une séquence d'initialisation de la liaison à la mise sous tension. Cette séquence d'initialisation remplit en outre deux autres fonctions :"lancement de l'embrouilleur", et "accrochage de la PLL réception".

La séquence a la forme suivante :

Le message utile peut ensuite démarrer.

 

La logique de traitement effectue l'opération de levée de l'ambiguité en observant le flots de bits à la sortie du désembrouilleur : si l'on obtient autre chose que la même longue suite de zéro, il faut complémenter le signal entrant dans l'embrouilleur, sinon le laisser tel quel. Le système se verrouille ensuite dans la position adéquate. L'initialisation est terminée et le message utile est alors transmis.

IV) CONCLUSION

A l'issu de cette modeste réalisation, qui pourrait encore prétendre que le "numérique est plus simple que l'analogique". Et encore, cette maquette est loin de représenter la réalité des liaisons numériques ! Mais telle n'est pas notre prétention... Si les schémas donnés vous ont permis déjà de comprendre le principe et la philosophie d'une liaison numérique, c'est déjà bien.

Pour s'approcher de la réalité, il ne reste plus qu'à monter en débit, multiplexer les trains, les synchroniser en introduisant des bits de bourrage, ajouter les codes correcteur d'erreur, gérer les commutations canal de secours et tout le reste...

 retour page accueil Ph.Dondon