Généralités
Les circuits de transformation des codes font la transposition des données d'un code à un autre. Ils jouent le rôle d'interprète entre l'homme et la machine (codeur) entre la machine et l'homme (décodeur) entre machine et machine (transcodeur).
Décodeur
Définition et fonctionnement
Un décideur est un circuit logique combinatoire qui a une entrée binaire de n bits permettant 2n combinaisons et M sorties telles que 2n≥M. Suivant le type de décodeur, la sortie peut traduire deux fonctions:
- Convertisseur de code à un code de sortie d'entrée correspond un code de sortie.
Exemple: Un décodeur binaire octal possède 3 bits d'entrés permettant 23=8 combinaisons pour activer chacun des 8 sortie de l'octal. - Sélecteur de sortie: Une seule sortie parmi les M disponibles est activée à la fois en fonction de la valeur binaire affichée à l'entré. Ces fonctions permettent d'activer (sélectionner) un circuit intégré parmi plusieurs.
Principe d'un décodeur 1 parmi 4
Pour pouvoir activer toutes les 4 voies on a besoin de 2 bits à l'entrée car c'est 22=4
Table de fonctionnement |
|||||
Code binaire d'entrée |
Code 1 parmi 4 sorties |
||||
E1 |
E0 |
S3 |
S2 |
S1 |
S0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
Remarque:
Certains n'utilisent pas toute la gamme de 2n combinaisons d'entrées possibles. C'est le cas du décodeur DCB décimal qui a 4 bits d'entrée et 10 sorties donc une seule est active dans chacune des 10 représentations du DCB
Application des décodeurs pour réaliser les fonctions logiques
Décodeur pilote DCB 7 segments
Les 10 chiffres décimaux (0 à 9) et parfois les caractères de l'hexadécimal (A à F) peuvent être configurés au moyen de 7 segments (voir ci-dessous). Chaque segment est constitué d'un matériau qui émet de la lumière lorsqu'il est traversé par un courant. Les matériaux les plus utilisés sont les LED et les filaments incandescents.
8 s'écrit en allumant toutes les LED
2 s'écrit en allumant a, b, d, e, g
1 s'écrit en allumant les LED b, c
F s'écrit en allumant les LED a, e, f, g
Remarques:
- Afficheur 7 segments est dit à anode commune lorsque toutes les anodes des LED qui constituent les 7 segments sont reliés à +VCC.
Une LED est allumée si sa cathode est à la masse.
- Un afficheur est dit à cathode commune lorsque toutes les cathodes sont reliées à la masse.
Une LED s'allume lorsque l'anode est mise à +VCC
Les segments étant constitués des LED, il est nécessaire de disposer une résistance en série avec chaque LED pour limiter le courant et éviter sa destruction.
Codeur (encodeur)
C'est un dispositif qui effectue l'opération inverse du décodeur: Une seule entrée parmi M est activée à la fois, ce qui correspond à un nombre binaire en sortie. On l'appelle aussi encodeur.
Principe d'un codeur 4 voies d'entrées et 2 bits de sortie
Table de vérité:
ENTREES |
SORTIE |
||||
Codage 1 parmi 2n |
Nombre binaire de n bits |
||||
A3 |
A2 |
A1 |
A0 |
S1 |
S0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
Equation des sorties
S1=1 si (A2=1) ou (A3=1) ; S1=A2+A3
S0=1 si (A1=1) ou (A3=1) ; S0=A1+A3
Logigramme:
Codeur de priorité
Si nous activons simultanément les entrées A1 et A2 du codeur ci-dessus, les sorties S1S0 présente le nombre 11 qui ne correspond pas au code de l'une ou de l'autre des entrées activés. C'est plutôt le code qui représente l'activation de A3
Pour résoudre ce problème on utilise un codeur de priorité qui choisit le plus grand nombre lorsque plusieurs entrées sont activées à la fois. Exemple lorsque A1 et A2 sont activées simultanément S1S0 sera égale à 10 qui représente l'activation de A0
Exemple d'un codeur de priorité octal-binaire
ENTREES (OCTAL) |
SORTIES |
|||||||||
A7 |
A6 |
A5 |
A4 |
A3 |
A2 |
A1 |
A0 |
S2 |
S1 |
S0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
X |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
X |
X |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
X |
X |
X |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
X |
X |
X |
X |
1 |
0 |
0 |
0 |
0 |
1 |
X |
X |
X |
X |
X |
1 |
0 |
1 |
0 |
1 |
X |
X |
X |
X |
X |
X |
1 |
1 |
0 |
1 |
X |
X |
X |
X |
X |
X |
X |
1 |
1 |
1 |
Transcodeur
Ce sont des circuits qui transforment une donnée en code machine en un autre code machine.
Exemple: Transformation binaire pur, binaire réfléchi ou binaire pur ASCII.
Exemple d'un transcodeur binaire GRAIS à 2 bits
Table de vérité:
ENTREES |
SORTIES |
||
B1 |
B0 |
G1 |
G0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |