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
Version en cache
21/12/2024 17:59:57 Cette version de la page est en cache (à la date du 21/12/2024 17:59:57) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 22/04/2004, dernière modification le 07/04/2023
Source du document imprimé : https://www.gaudry.be/binaire-gray.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.