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...
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 |
0 | 0 0 0 | 0 0 0 |
1 | 0 0 1 | 0 0 1 |
2 | 0 1 0 | 0 1 1 |
3 | 0 1 1 | 0 1 0 |
4 | 1 0 0 | 1 1 0 |
5 | 1 0 1 | 1 1 1 |
6 | 1 1 0 | 1 0 1 |
7 | 1 1 1 | 1 0 0 |
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 0 | 0 0 0 |
0 0 1 | 0 0 1 |
0 1 0 | 0 1 1 |
0 1 1 | 0 1 0 |
1 0 0 | 1 1 0 |
1 0 1 | 1 1 1 |
1 1 0 | 1 0 1 |
1 1 1 | 1 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
Transposition des expressions en un circuit
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.