Binaire : le code de Gray

Quelle est la particularité du code de Gray ? C'est qu'il ne peut exister entre deux valeurs codées qu'une et une seule transition (un seul bit peut être modifié à la fois).

Ce système est utilisé lorsque la vitesse d'exécution est très importante dans une séquence : car un seul bit est modifié à la fois si la séquence est respectée.

Il paraît que nous ne regarderons plus jamais notre chaudière de la même manière après avoir pris connaissance que le code de Gray qui y est utilisé est identique à celui qui intervient dans les missiles...y dit quoi lui ???

Table de correspondances Gray/Binaire

Nous pouvons remarquer dans ce tableau la mise en évidence que un et un seul bit est modifié à la fois.

Conversions Binaire/Gray

Valeur
décimale
Représentation
binaire
Représentation
code Gray
00 0 00 0 0
10 0 10 0 1
20 1 00 1 1
30 1 10 1 0
41 0 01 1 0
51 0 11 1 1
61 1 01 0 1
71 1 11 0 0
Conversions du binaire vers le code de Gray

Nous avons la valeur 0011 en binaire, que nous devons coder en code de Gray.

Nous devons parcourir les bits du LSB [“Lower Significant Bit”1][?] vers le MSB [“Most Significant Bit”3][?].
Chaque groupe de deux bits est soumis à une porte X-OR, qui ne retourne un 1 que lorsque un et un seul 1 se présente en entrée.

Les deux premiers bits sont 1 et 1, ce qui donne 0.
Nous pouvons décaler la porte d'un pas vers le MSB, ce qui nous donne les bits 1 et 0 qui, après traitement dans la porte X-OR retournent 1.
Ensuite viennent les bits 0 et 0, ce qui nous donne 0.
Enfin, le dernier bit est reporté tel quel (ici un bit 0).

Conversion logique

Conversion logique

Comme il est possible de convertir un code binaire en code de Gray, nous pouvons profiter de cette expérience pour utiliser les portes logiques, et créer un circuit logique combinatoire qui effectuerait le travail à notre place.

Déterminons nos circuits

3 entrées
A B C
3 fonctions
f1 f2 f3
0 0 00 0 0
0 0 10 0 1
0 1 00 1 1
0 1 10 1 0
1 0 01 1 0
1 0 11 1 1
1 1 01 0 1
1 1 11 0 0

Pour constituer notre table de vérité, nous avons les 3 fils en entrée (A, B, et C) et nos trois fils, ou fonctions en sortie (f1, f2, et f3). Nous devons placer les signaux qui se présentent en entrée (code binaire) et ceux qui se présentent en sortie du circuit (codes Gray).

Générons les matrices correspondant aux circuits

Matrice qui correspond à la fonction f1  Matrice qui correspond à la fonction f2  Matrice qui correspond à la fonction f3

Transposition des expressions en un circuit

Circuits du convertisseur binaire vers Gray

Et avec des NAND ?

Notre circuit est planifié, mais au moment de le réaliser nous constatons que nous ne disposons plus que de portes NAND. Il faut donc repenser le circuit de manière à utiliser le matériel que nous avons à notre disposition...

Voici de quoi passer votre temps ;-)

Nederlandse vertaling

U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.

Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.

Bij voorbaat dank.

Document heeft de 22/04/2004 gemaakt, de laatste keer de 07/04/2023 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/binaire-gray.html

De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.

Notes
  1. a,b Lower Significant Bit : komt overeen met « bit de poids faible » en français

  2.  LSB : “Lower Significant Bit” (en français, « bit de poids faible »)

  3. a,b,c Most Significant Bit : komt overeen met « bit de poids significatif » en français

  4. a,b MSB : “Most Significant Bit” (en français, « bit de poids significatif »)

Inhoudsopgave Haut