FILIERES : SMP - Option électronique Semestre 6 Année universitaire 2014-2015 Réalisé par les : Pr. Abdellah REZZOUK Pr. KARIM Mohammed 1 QUELQUES CONSEILS 3 Manipulation n°1 : Logique combinatoire 4 Manipulation n°2 : Circuits Logiques MSI 12 Manipulation 3 : Logique séquentielle, Compteurs Asynchrones 13 Manipulation n°4 : Logique séquentielle, Compteurs Synchrones - Registres 19 2 Quelques conseils La préparation du TP La préparation du TP est importante. Vous devez, avant de venir en TP, avoir préparé votre travail, c'est à dire avoir rédigé la partie théorique du TP. De plus, la préparation ne doit pas se faire en prenant exemple sur le travail d'un autre binôme. Votre comportement en TP, c'est à dire votre autonomie, la façon dont vous résolvez les problèmes, votre efficacité est prise en compte dans la note. Le compte-rendu : Le compte-rendu doit comporter pour chaque exercice: Une partie théorique, Une partie pratique : un ou des schémas électroniques. Une analyse des résultats obtenus. Enfin, la présentation en elle-même de tout travail est importante. Le contrôle : Le contrôle a lieu à la fin des TPs. Il dure 1h et sera individuel. Le contrôle compte pour ¾ dans la note finale des Travaux Pratiques. Fascicule TP en ligne : Site : http://www.fsdmfes.ac.ma/ (voir ressources pédagogiques/filière SMP/S6) 3 Manipulation n°1 : Logique combinatoire L’objectif de cette manipulation est de réaliser un circuit logique combinatoire à base de portes logiques standard (NOT,AND,OR,NAND,NOR,XOR) selon un cahier des charges pré-établi. Vous allez traiter dans cette manipulation tous les circuits logiques combinatoires à savoir les circuits arithmétiques, les circuits de décodage et de multiplexage. Vous allez utiliser un logiciel « Digital » qui vous permet de réaliser des circuits logiques combinatoires et séquentiels et d’analyser leur fonctionnement. Les portes logiques 1. Inverseur : fonction NOT La fonction NOT appelée couramment inverseur a une seule entrée et une seule sortie. La sortie d'un inverseur prend l'état 1 si et seulement si son entrée est dans l'état 0. Son fonctionnement est défini par la table de vérité suivante : A f ( A) A 0 1 1 0 Symbole graphique d’inverseur En pratique, l’inverseur est implanté dans le circuit intégré TTL 7404 qui comprend six inverseurs (figure n°1). J’ai retenu la technologie TTL (Transistor Transistor Logic) qui demeure 4 celle que l’on retrouve souvent dans les applications. La technologie TTL, désignée par la série 74XX et commercialisée en 1964 par Texas Instruments, fonctionne sous une tension d’alimentation de + 5 V (Vcc) par rapport à la masse (GND). Figure n°1 2. Fonction OR La fonction OR, encore appelée addition logique, a deux entrées. La sortie d'une fonction OR est dans l'état 1 si au moins une de ses entrées est dans l'état 1. La fonction OR, notée +, est définie par la table de vérité suivante : A B f A B 0 0 0 0 1 1 1 0 1 1 1 1 Une porte logique OR à deux entrées est symbolisée de la manière suivante : La fonction OR est implantée dans le CI 7432 qui comprend 4 portes logiques OR à deux entrées (figure n°2). 5 Figure n°2 3. Fonction AND La fonction AND, encore appelée multiplication logique, a deux entrées. La sortie d'une fonction AND est dans l'état 1 si et seulement si toutes ses entrées sont dans l'état 1. La fonction AND, notée ‘•’ est définie par la table de vérité suivante : A B Y=A•B 0 0 0 0 1 0 1 0 0 1 1 1 Une porte logique AND à deux entrées est symbolisée de la manière suivante : La fonction AND est implantée dans le CI 7408 qui comprend 4 portes logiques AND à deux entrées (figure n°3). 6 Figure n°3 4. Fonction NAND Une fonction NAND fonctionne selon la table de vérité suivante : A B AB 0 0 1 0 1 1 1 0 1 1 1 0 Symbole graphique d’une porte logique NAND : La fonction NAND est implantée dans le CI 7400 qui comprend 4 portes logiques NAND à deux entrées (figure n°4). 7 Figure n°4 5. Fonction NOR La fonction NOR a pour table de vérité suivante : f A B A B 0 0 1 0 1 0 1 0 0 1 1 0 et pour symbole : La fonction NOR est implantée dans le CI 7402 qui comprend 4 portes logiques NOR à deux entrées (figure n°5). 8 On peut démontrer que les portes logiques NAND et NOR sont universelles ; c'est-à-dire qu’on peut réaliser à base desquelles des portes logiques AND, OR et NOT. 6. Fonction XOR (OU exclusif) La fonction logique XOR prend l'état logique 1 si une entrée et seulement une est dans l'état 1. Sa table de vérité est la suivante : A B A B 0 0 0 0 1 1 1 0 1 1 1 0 XOR est égal à 1 si et seulement si A = 1 ou B = 1 mais pas simultanément. Une fonction XOR fournit un comparateur d'inégalité : XOR ne vaut 1 que si A et B sont différents. Le complément du XOR correspond à un détecteur d'égalité. A B AB AB 9 Elle a pour représentation symbolique : La fonction XOR est implantée dans le CI 7486 qui comprend 4 portes logiques XOR à deux entrées (figure n°6). Figure n°6 Travail demandé 1. Portes logiques : a) Faire fonctionner les portes logiques ci-dessus et vérifiez leur table de vérité. b) Comment peut-on utiliser une porte logique AND à trois entrées comme une porte AND à deux entrées? Donner deux solutions possibles. c) Comment peut-on utiliser une porte logique OR à trois entrées comme une porte OR à deux entrées? Donner deux solutions possibles. d) Réaliser la fonction logique XOR uniquement à base de portes logiques NAND. e) Réaliser la fonction logique XOR uniquement à base de portes logiques NOR. 2. Circuits arithmétiques : a) Dressez la table de vérité d’un demi-additionneur et en déduire les expressions de ri (retenue) et ∑i (somme). Réalisez le circuit logique associé et vérifier son fonctionnement. 10 b) Dressez la table de vérité d’un additionneur complet et en déduire les expressions de r i (retenue) et ∑i (somme). Réalisez le circuit logique associé et vérifier son fonctionnement. c) On désire concevoir un additionneur arithmétique de deux nombres binaires A et B codés sur 2 bits chacun. Le résultat de l’addition doit être affiché en décimal utilisant un afficheur 7 segments. Dressez la table de vérité relative à ce circuit. Dressez pour chacune des sorties un tableau de Karnaugh. En déduire la forme la plus simplifiée. Réalisez le circuit logique associé et vérifiez son fonctionnement. Réalisez le même circuit en mettant en cascade 4 additionneurs complets. Quel inconvénient présente ce montage ? Pour palier à cet inconvénient, réalisez le même circuit en caluculant par anticipation la retenue. Expliquer l’avantage. 11 Manipulation n°2 : Circuits Logiques MSI 1. Décodeur : a) Dressez la table de vérité d’un décodeur « 1 parmi 8 » et en déduire les expressions de chacune de ses sorties. Réalisez le circuit logique associé et vérifier son fonctionnement. b) Réalisez un circuit décodeur DCB – 7 segments. Générez une macro relative à ce circuit portant votre nom. 2. Multiplexeur : a) Donner la table de vérité et l'équation d'un multiplexeur à 4 entrées. b) Réaliser un schéma de réalisation avec des portes NAND et tester son fonctionnement. 3. Comparateur : a) Dressez la table de vérité d’un comparateur de deux bits ayant une entrée de validation V (active à 1). b) En déduire les expressions de chacune de ses sorties. Réalisez le circuit logique associé et vérifier son fonctionnement. Générez une macro relative à ce circuit. c) Montrez comment on pourrait réaliser un comparateur de deux nombres binaires codés sur 3 bits chacun en mettant en cascade trois comparateurs du même genre. 12 Manipulation 3 : Logique séquentielle Compteurs Asynchrones Objectif : Dans cette manipulation, vous allez traiter les circuits logiques séquentiels de base : les types de bascules les plus courants, les compteurs et les registres Nous avons affaire ici à la logique séquentielle où la valeur actuelle de la sortie ne dépend pas seulement des niveaux logiques appliqués aux entrées, comme nous l'avons étudiée en logique combinatoire, mais aussi de la valeur précédente de la sortie. Un circuit séquentiel présente un avantage important par rapport au circuit combinatoire, soit sa possibilité à mémoriser des données dans des dispositifs appelés bascules. I. Bascules Définition d’une bascule Une bascule est un circuit logique qui peut être utilisé comme un élément mémoire (mémorisation d’un bit 0 ou 1). Elle possède une ou plusieurs entrées selon son type et deux sorties complémentaires Q et Q (l'une étant l'inverse de l'autre). Une bascule dispose de deux états : - Q=1 ; Q =0 - Q=0 ; Q =1 Il existe de nombreux types de bascules, mais elles sont classées en deux catégories : - les bascules asynchrones où le passage d'un état à l'autre (basculement) est commandé par les entrées. - les bascules synchrones où l'ordre de changement d'état est donné par un signal qu'on appelle signal d'horloge. 13 Bascule RS asynchrone La bascule RS asynchrone est une bascule à deux entrées notées S(Set) et R(Reset) et à deux sorties Q et Q. La table ci-dessous montre comment la sortie d'une bascule RS asynchrone réagit aux diverses combinaisons des entrées R et S. R S sortie de la bascule 0 0 pas de changement 0 1 1 1 0 0 1 1 indéterminée Bascule RS synchrone Une bascule RS synchrone comporte une entrée supplémentaire appelée entrée d'horloge "CLK". La sortie ne peut changer d'état que lorsque l’entrée d’horloge effectue une transition. Quand le signal d'horloge passe de 0 à 1, il s'agit de la transition positive, appelée aussi front montant. La figure n° a) nous fait voir le symbole d'une bascule RS déclenchée par le front montant du signal d'horloge représenté par un petit triangle devant l'entrée CLK, signalant que le changement d'état de la bascule n'est autorisé qu'aux instants définis par les fronts montants du signal d'horloge. S Q CLK R S Q CLK Q Figure n°1 a) R Q Figure n°1 b) Quand le signal d'horloge passe de 1 à 0, il s'agit de la transition négative, appelée aussi front descendant. La figure n° b) nous fait voir le symbole d'une bascule RS déclenchée par le front descendant du signal d'horloge représenté par un petit rond devant le triangle signalant que le changement d'état n'est autorisé qu'aux instants définis par les fronts descendants du signal d'horloge. 14 Bascule JK synchrone Le fonctionnement d'une bascule JK synchrone est identique à celui d'une bascule RS synchrone sauf pour la réponse à la condition J=K=1 où la sortie passe à l'état opposée ( QN 1 Q N ) aux instants définis par les fronts montants ou descendants de l’entrée d’horloge selon le type de bascule. L’entrée J joue le rôle de mise en 1 et l’entrée K celle de mise à 0. La table suivante résume le fonctionnement d'une bascule JK. sortie de la bascule K J QN 1 0 0 QN 0 1 1 1 0 0 1 1 QN Examinons ces différents cas : a) J = K = 0; la bascule conserve son état (mémorisation). b) J = 1, K = 0; la sortie passe à 1 (mise en 1). c) J = 1, K = 0; la sortie passe à 0 (remise à 0). d) J = K =1; la sortie commute (basculement à l'état opposée : QN 1 Q N ). Symboles : J Q CLK K J Q CLK Q K Q Symbole d'une bascule JK Symbole d'une bascule JK déclenchée par le front montant déclenchée par le front descendant 15 La bascule JK dispose aussi, dans la majorité des cas, de deux entrées Preset et Clear. Ce sont des entrées asynchrones et prioritaires par rapport aux entrées synchrones J , K et CLK. Un niveau logique bas sur Preset ou Clear positionne la sortie de la bascule respectivement à ‘1’ ou ‘0’ indépendamment des entrées J, K et de l’horloge. Bascule D Cette bascule ne dispose que d'une seule entrée appelée D. La sortie recopie l’information présente sur l’entrée D aux instants définis par les fronts montants ou descendants du signal d'horloge selon le type de bascule. Table de vérité : D QN+1 0 0 1 1 Symbole : D Q CLK Q Symbole d'une bascule JK déclenchée par le front montant II. Compteurs Un compteur binaire modulo N est un ensemble ordonné de bascules JK qui parcourt les valeurs de 0 jusqu'à N-1. A chaque front actif du signal d’horloge, le compteur s’incrémente de 1. Lorsque le compteur atteint la valeur maximale N-1, l’impulsion d’horloge suivante le ramène à 0. Compteur asynchrone complet 16 n Un compteur asynchrone complet est un compteur binaire modulo N=2 . L’exposant de cette puissance fournit le nombre de bascules JK à utiliser. Les équations pour un compteur asynchrone complet à n n bascules (modulo N=2 ) sont les suivantes : - Ji = Ki = 1 : condition nécessaire à la commutation. - CLK0 = H, - CLKi = Qi-1 : la sortie de la bascule de rang i-1 (Qi-1) sert comme entrée d’horloge pour la bascule de rang i (CLKi). Compteur asynchrone incomplet (N < 2n) n Un compteur asynchrone incomplet modulo N (N < 2 ) est un compteur qui parcourt une partie de son n cycle complet (soient N états parmi 2 ). Il est conçu de la même manière qu’un compteur asynchrone complet, sauf qu’il faut agir sur ce dernier pour qu’il passe immédiatement à zéro une fois qu’il atteint N. Il suffit donc, de détecter la valeur transitoire N qui sert à remettre le compteur à 0 au lieu de progresser en agissant sur les entrées Clear des bascules JK. Pour cela, On rajoute une porte NAND supplémentaire dont les entrées sont les sorties des bascules qui sont à 1 pour N et dont la sortie va à leurs entrées Clear. Compteur synchrone complet Dans ce type de compteur synchrone, toutes les bascules sont connectées au même signal d’horloge. L’état du compteur dépend des entrées Ji et Ki des bascules JK. n Les équations pour un compteur synchrone modulo N=2 sont les suivantes : - J0 = K0 = 1 - Ji = Ki = Q0.Q1......Qi-1 (pour 0 i n-1). - CLKi = H i Compteur synchrone incomplet La méthode de synthèse d’un compteur synchrone incomplet consiste à : 1) Dresser un tableau de transition des états présents et futurs des n bascules JK constituant le compteur (n est l’exposant de la puissance de 2 immédiatement supérieure à N). On remplie ce tableau par les valeurs à appliquer sur les entrées Ji et Ki pour obtenir une transition déterminée sur la sortie de chaque bascule en se servant du tableau de transition suivant d’une bascule JK : QN QN+1 J K 0 0 0 X 0 1 1 X 1 0 X 1 1 1 X 0 17 QN : état présent de la bascule QN+1 : état futur de la bascule 2) En déduire les équations simplifiées des entrées Ji et Ki grâce aux tableaux de Karnaugh en considérant les états interdits comme indifférents. 3) Examiner l’évolution des états interdits connaissant les équations des entrées Ji et Ki. Si il existe un état interdit qui n’évolue pas vers un état du cycle normal après un certain nombre d’impulsions d’horloge, il doit être détecté en provoquant une remise à 0 asynchrone (Clear) de toutes les bascules constituant le compteur. Si tous les états interdits évoluent vers le cycle normal, on dit que le compteur est autocorrecteur. Travail demandé 1. Bascules : Faire fonctionner les bascules et vérifiez leur table de vérité. 2. Compteurs asynchrones : a) Réalisez un compteur asynchrone modulo 8 avec affichage décimal. b) Tracer les chronogrammes. c) Montrez comment pourrait-on agir sur ce circuit pour réaliser un compteur asynchrone modulo 6 avec affichage décimal. d) Tracer les chronogrammes. e) Quel inconvénient présente un compteur asynchrone ? 3. Décompteurs asynchrones : a) Réalisez un décompteur asynchrone modulo 8 avec affichage décimal. b) Tracer les chronogrammes. c) Montrez comment pourrait-on agir sur ce circuit pour réaliser un décompteur asynchrone modulo 6 avec affichage décimal. d) Tracer les chronogrammes. 3. Compteurs asynchrones : Réalisez un compteur asynchrone qui décrit le cycle suivant : 0,4,8,12 en agissant sur les entrées Preset et Clear. 18 Manipulation n°4 : Logique séquentielle Compteurs Synchrones - Registres 1. Compteurs synchrones : a) Réalisez un compteur synchrone modulo 8 avec affichage décimal. b) Tracer les chronogrammes. c) Montrez comment pourrait-on agir sur ce circuit pour réaliser un compteur synchrone modulo 6 avec affichage décimal. 2. Décompteurs synchrones : a) Réalisez un décompteur synchrone modulo 8 avec affichage décimal. b) Tracer les chronogrammes. c) Montrez comment pourrait-on agir sur ce circuit pour réaliser un décompteur synchrone modulo 6 avec affichage décimal. 3. Compteurs synchrones incomplets : Réalisez un compteur synchrone avec affichage décimal qui décrit le cycle suivant : 1,3,5,7,9,11,13,15 4. Compteurs synchrones Bidirectionnels : Réalisez un compteur synchrone bidirectionnel modulo 10 avec affichage décimal. 5. Registres : a) Réalisez un registre à décalage à droite sur 4 bits et testez son fonctionnement. b) Réalisez un registre à décalage à gauche sur 4 bits et testez son fonctionnement. 19