Décodeur Binaire
Le décodeur binaire est un autre circuit logique combinatoire construit à partir de portes logiques individuelles et est l’exact opposé d’un encodeur.
Le terme « décodeur » signifie traduire ou décoder des informations codées d’un format à un autre. Ainsi, un décodeur binaire transforme « n » signaux d’entrée binaires en un code équivalent utilisant 2n sorties.
Les décodeurs binaires sont un autre type de dispositif logique numérique qui a des entrées de codes 2 bits, 3 bits ou 4 bits, selon le nombre de lignes d’entrée de données. Par conséquent, un décodeur qui a un ensemble de deux bits ou plus sera défini comme ayant un code de n bits, et il sera donc possible de représenter 2n valeurs possibles. Ainsi, un décodeur décode généralement une valeur binaire en une autre valeur non binaire en plaçant exactement une de ses n sorties à un niveau logique « 1 ».
Si un décodeur binaire reçoit n entrées (généralement regroupées comme un seul nombre binaire ou booléen), il active une et une seule de ses 2n sorties basées sur cette entrée, toutes les autres sorties étant désactivées.

Par exemple, un inverseur ( porte NON ) peut être classé comme un décodeur binaire 1 à 2, car 1 entrée et 2 sorties (21) est possible, car avec une entrée A, il peut produire deux sorties A et A (non-A).
Nous pouvons dire qu’un décodeur logique combinatoire standard est un décodeur n-à-m, où m ≤ 2n, et dont la sortie, Q dépend uniquement de ses états d’entrée présents. En d’autres termes, un décodeur binaire examine ses entrées actuelles, détermine quel code binaire ou quel nombre binaire est présent à ses entrées et sélectionne la sortie appropriée qui correspond à cette entrée binaire.
Un décodeur binaire convertit des entrées codées en sorties codées, où les codes d’entrée et de sortie sont différents, et des décodeurs sont disponibles pour « décoder » soit un motif d’entrée binaire soit BCD (code 8421) en un code de sortie décimal typique. Les décodeurs BCD à décimal couramment disponibles comprennent le TTL 7442 ou le CMOS 4028. Généralement, le code de sortie des décodeurs a normalement plus de bits que son code d’entrée, et les circuits pratiques de « décodeur binaire » incluent des configurations de lignes 2 à 4, 3 à 8 et 4 à 16.
Un exemple de décodeur de ligne 2 à 4, ainsi que sa table de vérité, est donné comme suit :
Décodeurs Binaires 2-à-4
Ce simple exemple ci-dessus d’un décodeur binaire 2 à 4 consiste en un réseau de quatre portes AND. Les 2 entrées binaires étiquetées A et B sont décodées en l’une des 4 sorties, d’où la description de décodeur binaire 2 à 4. Chaque sortie représente un des miniterms des 2 variables d’entrée (chaque sortie = un miniterm).
Les entrées binaires A et B déterminent quelle ligne de sortie entre Q0 et Q3 est « HAUTE » au niveau logique « 1 », tandis que les sorties restantes sont maintenues « FAIBLES » au niveau logique « 0 », si bien qu’une seule sortie peut être active (HAUTE) à tout moment. Par conséquent, quelle que soit la ligne de sortie qui est « HAUTE », elle identifie le code binaire présent à l’entrée, en d’autres termes, elle « décode » l’entrée binaire.
Certains décodeurs binaires ont une broche d’entrée supplémentaire étiquetée « Enable » qui contrôle les sorties du dispositif. Cette entrée supplémentaire permet d’activer ou de désactiver les sorties des décodeurs selon les besoins. Ces types de décodeurs binaires sont couramment utilisés comme « décodeurs d’adresses mémoire » dans les applications mémoire de microprocesseurs.

Décodeur Binaire 74LS138
Nous pouvons dire qu’un décodeur binaire est un démultiplexeur avec une ligne de données supplémentaire qui est utilisée pour activer le décodeur. Une autre façon de considérer le circuit du décodeur est de considérer les entrées A, B et C comme des signaux d’adresse. Chaque combinaison de A, B ou C définit une adresse mémoire unique.
Nous avons vu qu’un décodeur binaire 2 à 4 (TTL 74155) peut être utilisé pour décoder n’importe quel code binaire de 2 bits afin de fournir quatre sorties, une pour chaque combinaison d’entrée possible. Cependant, parfois il est nécessaire d’avoir un décodeur binaire avec un nombre de sorties supérieur à celui disponible. En ajoutant plus d’entrées, le décodeur peut potentiellement fournir 2n sorties supplémentaires.
Par exemple, un décodeur avec 3 entrées binaires ( n = 3 ) produirait un décodeur 3 à 8 (TTL 74138) et 4 entrées ( n = 4 ) produiraient un décodeur 4 à 16 (TTL 74154) et ainsi de suite. Mais un décodeur peut également avoir moins de 2n sorties, comme le décodeur BCD vers sept segments (TTL 7447), qui a 4 entrées et seulement 7 sorties actives pour piloter un affichage, plutôt que le plein de 16 (24) sorties comme on pourrait s’y attendre.
Ici, un décodeur binaire beaucoup plus grand 4 (3 données plus 1 activation) à 16 lignes a été mis en œuvre en utilisant deux décodeurs 3 à 8 plus petits.
Configuration d’un Décodeur Binaire 4-à-16
Les entrées A, B, C sont utilisées pour sélectionner quelle sortie sur l’un ou l’autre des décodeurs sera à un niveau logique « 1 » (HAUT), et l’entrée D est utilisée avec l’entrée d’activation pour sélectionner quel décodeur soit le premier soit le second fournira le « 1 ».
Cependant, il y a une limite au nombre d’entrées qui peut être utilisée pour un décodeur particulier, car à mesure que n augmente, le nombre de portes AND nécessaires pour produire une sortie devient également plus grand, ce qui entraîne une montée en charge des portes utilisées pour les alimenter.
Ce type de décodeur « ACTIF-HAUT » peut être mis en œuvre en utilisant simplement des inverser, ( portes NON ) et des portes AND. Il est pratique d’utiliser une porte AND comme élément de décodage de base pour la sortie car elle produit une sortie « HAUTE » ou à niveau logique « 1 » uniquement lorsque toutes ses entrées sont à niveau logique « 1 ».
Cependant, certains décodeurs binaires sont construits en utilisant des portes NAND au lieu des portes AND pour leur sortie décodée, car les portes NAND sont moins chères à produire que les portes AND car elles nécessitent moins de transistors pour être mises en œuvre dans leur conception.
L’utilisation de portes NAND comme élément de décodage entraîne une sortie « ACTIF-FAIBLE » tandis que le reste sera « HAUT ». Comme une porte NAND produit l’opération AND avec une sortie inversée, le décodeur NAND ressemble à ceci avec sa table de vérité inversée.
Décodeur Binaire 2-à-4 NAND
Pour le décodeur NAND, seule une sortie peut être FAIBLE et égale à la logique « 0 » à tout moment donné, toutes les autres sorties étant HAUTES à la logique « 1 ».
Les décodeurs sont également disponibles avec une broche d’entrée d’activation supplémentaire qui permet de mettre la sortie décodée « EN MARCHE » ou « À L’ARRÊT » en appliquant respectivement un niveau logique « 1 » ou un niveau logique « 0 ». Par exemple, lorsque l’entrée d’activation est à un niveau logique « 0 » (EN = 0), toutes les sorties sont « OFF » à la logique « 0 » (pour les portes AND) indépendamment de l’état des entrées A et B.
Généralement, pour réaliser cette fonction d’activation, les portes AND ou NAND à 2 entrées sont remplacées par des portes AND ou NAND à 3 entrées. La broche d’entrée supplémentaire représente la fonction d’activation.
Décodeur d’Adresse Mémoire
Les décodeurs binaires sont le plus souvent utilisés dans des systèmes numériques plus complexes pour accéder à un emplacement mémoire particulier basé sur une « adresse » produite par un dispositif de calcul. Dans les systèmes de microprocesseurs modernes, la quantité de mémoire requise peut être assez élevée et est généralement supérieure à un seul chip mémoire.
Une méthode pour surmonter ce problème consiste à connecter de nombreux chips mémoire individuels ensemble et à lire les données sur un « bus de données » commun. Afin d’empêcher que les données ne soient « lues » à partir de chaque chip mémoire en même temps, chaque chip mémoire est sélectionné individuellement une à la fois et ce processus est connu sous le nom de Décodage d’Adresse.
Dans ce type d’application, l’adresse représente l’entrée de données codées, et les sorties sont les signaux de sélection d’éléments mémoire particuliers. Chaque chip mémoire a une entrée appelée Chip Select ou CS qui est utilisée par l’UM (unité de microprocesseur) pour sélectionner le chip mémoire approprié lorsque cela est nécessaire. En général, une logique « 1 » sur l’entrée de sélection de chip (CS) sélectionne le dispositif mémoire, tandis qu’une logique « 0 » sur l’entrée le désélectionne.
En sélectionnant ou désélectionnant chaque chip l’un après l’autre, cela nous permet de sélectionner le bon dispositif d’adresse mémoire pour un emplacement d’adresse particulier. L’avantage du décodage d’adresse est que lorsque nous spécifions une adresse mémoire particulière, l’emplacement mémoire correspondant n’existe QUE dans l’un des chips.
Par exemple, supposons que nous ayons un système de microprocesseur très simple avec seulement 1 Ko (mille octets) de mémoire RAM et 10 lignes d’adresses mémoire disponibles. La mémoire se compose de dispositifs 128×8 bits (128×8 = 1024 bits) et pour 1 Ko, nous aurions besoin de 8 chips mémoire individuels, mais pour sélectionner le chip mémoire correct, nous aurions également besoin d’un décodeur binaire 3 à 8 comme montré ci-dessous.
Décodage d’Adresse Mémoire
Le décodeur binaire nécessite seulement 3 lignes d’adresse (A0 à A2) pour sélectionner chacun des 8 chips (la partie inférieure de l’adresse), tandis que les 8 lignes d’adresse restantes (A3 à A10) sélectionnent la bonne mémoire à cet chip (la partie supérieure de l’adresse).
Après avoir sélectionné un emplacement mémoire en utilisant le bus d’adresses, l’information située à l’emplacement mémoire interne particulier est envoyée à un « bus de données » commun pour utilisation par le microprocesseur. Bien sûr, il s’agit d’un exemple simple, mais les principes demeurent les mêmes pour tous les types de puces ou modules de mémoire.
Les décodeurs binaires sont des dispositifs très utiles pour convertir un format numérique à un autre, tel que des données de type binaire ou BCD en décimal ou en octal, etc. et les décodeurs IC disponibles couramment sont le décodeur binaire 3 à 8 TTL 74LS138 ou le décodeur 4 à 16 74ALS154. Ils sont également très utiles pour le couplage avec des affichages à 7 segments tels que le TTL 74LS47 que nous allons examiner dans le prochain tutoriel.