Dans les transmissions numériques par par infra-rouge, télécommandes par exemple, on utilise souvent un code d’émission, dit code ligne tel que chaque bit émis est transmis sur deux périodes de l’horloge. On se propose ici de réaliser un codeur qui transforme des données binaires d’entrée, din, qui arrivent à raison d’un bit toutes les deux périodes d’horloge, en un code ligne, sligne, qui est construit de la façon suivante :
si din = '0' : sligne = '0' pendant une période d’horloge
puis sligne = '1' pendant une période d’horloge.
si din = '1' : sligne = '0' pendant deux périodes d’horloge
ou sligne = '1' pendant deux périodes d’horloge, en alternance.

L’alternance signifie que le niveau correspondant à un '1' logique pour din change d’une fois à l’autre, que les '1' successifs soient ou non séparés par des '0'. Le chronogramme ci-dessous donne un exemple de transmission.
Le codeur qui transforme din en sligne reçoit en entrée l’horloge et din. Il fournit en sortie sligne, retardée d’une période d’horloge, car le plus simple est de concevoir une machine de MOORE.

A combien d’états internes correspond l’émission d’un bit ?
Pourquoi les états correspondant à l’émission des codes pour des valeurs din = ‘1’ successives ne peuvent ils pas être toujours les mêmes ? (évident)
Pourquoi les états correspondant à l’émission des codes pour din = ‘0’ ne peuvent ils pas être toujours les mêmes ? (question plus difficile)
Déduire de l’analyse précédente le nombre d’états que doit posséder le codeur.
Proposer une ébauche de diagramme de transitions. On nommera les états par des noms, par exemple pzero0 et pzero1 pour l’émission d’un zéro, dans l’un des cas analysée au point c. A ce niveau on représentera les transitions importantes, mais pas forcément toutes les transitions possibles.
Le codeur peut, en début d’émission, ne pas être synchronisé correctement. Compléter le diagramme précédent pour garantir qu’il se synchronise aussi vite qu’il peut le faire.
Choisir un codage intelligent pour les états.
Proposer une solution VHDL au problème.
Proposer une solution pour le décodeur.

Retour