Codes cycliques

Conception logique numérique

Code Gray

Le code Gray est un code non pondéré et ne convient pas à des fins arithmétiques.

Ce n'est pas un code BCD.

Il s'agit d'un code cyclique, ce qui signifie que chaque mot de code successif diffère du mot de code précédent avec seulement une position de 1 bit.

Le code de cycle est également appelé code de distance unitaire.

Le code Gray est également un code réfléchissant. Un code gris de n bits est généré par la règle de réflexion (image miroir).

Cette règle dit que pour générer un code gris pour N bits, N-1 bits de poids faible de 2N-1 à 2N-1 sont l'image miroir des codes de 0 à 2N-1-1.

Le MSB = 0 de 0 à 2N-1-1 et MSB =1 de 2N-1 à 2N-1.

Par exemple : Prenons N=3.

La règle dit : N-1 bits de poids faible de 2N-1 à 2N-1 sont l'image miroir des codes de 0 à 2N1-1.

Le MSB = 0 de 0 à 2N-1-1 et MSB =1 de 2N-1 à 2-1.

Maintenant, N-1 =2, 2N-1 = 22 =4, 2N-1 = 23-1 = 7 et 2N-1- 1 = 22- 1=3

Ainsi, selon la règle 2(N-1), les LSB de 4(2N-1) à 7(2N-1) sont l'image miroir des codes de 0 à 3(2N-1-1).

On peut donc dire que les codes Gray 4 à 7 sont l'image miroir des codes de 0 à 3.

ET MSB = 0 pour les codes 0 à 3 et MSB = 1 pour les codes 4 à 7.

La méthode alternative simple pour générer du code de Gray nécessite les étapes suivantes :

Étape 1 : Commencez par un code Gray le plus simple possible, c'est-à-dire pour N = 1 (en utilisant la règle de réflexion comme indiqué ci-dessous).

Étape 2 : Créez une image miroir du code gris existant, c'est-à-dire créez une image miroir du code de 0 à 2N-1-1.

Étape 3 : Préfixe (MSB) 0 pour la valeur de gris d'origine et préfixe (MSB=1) pour les valeurs d'image miroir (2N-1 à 2N-1).

Étape 4 : Répétez les étapes 2 et 3 pour obtenir le code gris pour N = 2, 3, 4, etc.

Le tableau des codes Gray pour N = 1, 2, 3 est illustré dans la figure

Une autre caractéristique du code Gray est que le numéro code Gray correspondant au nombre décimal 2N-1 pour tout n donné diffère du code Gray 0 (0000) en position 1 bit uniquement.

Ainsi, le code gris est dit à N-distance.

Exemple : Pour N = 2, 2N-1 = 22-1 = (3)10

(3)10 = 0010 en code de Gray.

Maintenant, pour N=3, 2N-1 = 23-1 = (7)10

(7)10 = 0100 en code de Gray.

Pour N = 4, 2N-1 = 24-1 = (15)10

(15)10= 1000 en code de Gray.

Ainsi, pour chaque nombre décimal 2N-1, le code Gray correspondant diffère du code gris 0000 en position 1 bit.

Les codes gris sont utilisés dans les dispositifs d'entrée/sortie (E/S), les convertisseurs analogique-numérique et autres équipements périphériques.

Nous pouvons convertir les nombres binaires en code Gray et le code Gray en binaire.

Conversion de code binaire en code Gray

Supposons que nous ayons nombre de n-bit, représenté par BnBn-1 Bn-2......B1 et que son code Gray correspondant soit représenté par GnGn-1Gn-2......G1.

Avec la représentation ci-dessus, les bits de code Gray sont obtenus comme suit :

Gn = Bn

Gn-1 = Bn + Bn-1

Gn-2 = Bn-1 + Bn-2

.....

G1 = B2 + B1

Où Gn=MSB, G1=LSB et 0 signifie XOR.

Méthode 1 :

Les étapes de conversion d’un nombre binaire en code Gray sont :

Étape 1 : Gn = Bn signifie que le MSB du code Gray est équivalent au MSB du nombre binaire.

Étape 2 : Ajoutez le MSB du nombre binaire au prochain bit successif en binaire. Stockez la somme et ignorez le report. Il s'agit du XOR des bits. Cette somme forme le prochain code Gray.

Étape 3 : Répétez le XOR pour les bits successifs (Bn X0R Bn-1, Bn-2 X0R Bn-1, Bn-2 X0R Bn-3 + B2 XOR B1) pour obtenir les codes Gray correspondants.

Méthode 2 :

Une autre méthode pour convertir le code binaire en code Gray nécessite les étapes suivantes :

Étape 1 : Décaler le nombre binaire vers la droite d'une position. Jeter le LSB décalé.

Étape 2 : Maintenant, XOR binaire original avec nombre binaire décalé à droite.

Étape 3 : le MSB du code Gray est le même que celui du nombre binaire d'origine.

Un exemple des deux méthodes est présenté ci-dessous.

Exemple: Convertir le nombre binaire 1010 en code Gray.

Solution :

Méthode 1 :

Nombre binaire =

Le code Gray correspondant est :

Méthode 2 :

(MSB du code Gray = MSB du nombre binaire)

Code Gray pour 1010 =

  MSB     LSB
Nombre binaire = 1 0 0 1
  + + + +
    1 0 0
Nombre binaire (une position) = 1 1 0 1

 

 Code Gray pour 1010 =

(MSB du code Gray = MSB du nombre binaire)

Conversion du code gris en binaire

Supposons que nous ayons un code Gray de n-bit représenté par GnGn-1Gn-2......G1, et son nombre binaire équivalent par BnBn-1 Bn-2......B1.

Avec la représentation ci-dessus, les nombres binaires sont obtenus comme suit :


Les étapes de conversion sont :

Étape 1 : le MSB du binaire est le même que celui du MSB du code gris.

Étape 2 : Générez le nombre binaire suivant en effectuant un XOR sur le nième bit du nombre binaire avec le nième bit du bit de code gris, où n = nombre de bits en binaire.

Un exemple est présenté ci-dessous.

Exemple: Convertissez le code gris 1100 en nombre binaire.

Solution:

code Gray =

Le numéro binaire correspondant est :

Nombre binaire pour le code Gray 1100 =

 

 

 

 

 

 

 

Recherche personnalisée