Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Automatismes Logiques Circuits Numériques Prof. Mohamed Sbihi Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI TABLE DES MATIERES INTRODUCTION A L’AUTOMATISME ET AUX CONCEPTS NUMERIQUES A- INTRODUCTION A L’AUTOMATISME.…………...…………...………..5 I- Définition……….………………………………………………………….…5 II- Structure d’un système automatisé……………….……………….…….……5 III- Objectifs de l'automatisation…………………...………………………………6 III-1- Généralités ;…………..………...…………………………………………6 III-2- Objectifs de l’automatisation……..……………………………………….7 III-2- 1- Compétitivité du produit……………...………………….……………..7 III-2- 2- Exploitation de la machine de production…...……………..……….….8 IV- Cahier des charges d’un automatisme …………………..…………………..8 V- Technologie de la commande des systèmes automatisés……….....…………9 B- QUANTITÉS NUMÉRIQUES ET ANALOGIQUES……………………9 C- PRINCIPALES CATEGORIES DE SYSTEMES AUTOMATISES……13 CHAPITRE 1 : SYSTEMES DE NUMERATION ARITHMETIQUE BINAIRE - CODES I- Systèmes de numération……………………………...…………………….....14 I-1- Système décimal…………………………….………………………………14 I-2- Système binaire…………………………….……………………………….15 II- Changement de base…………………….……………………………………16 II-1- Nombres entiers positifs…………………….……………...…………………16 II-2- Nombres fractionnaires…………………….……………..……… .………18 III- Nombres à virgule flottante………………….…………...………...……….19 IV- Arithmétique binaire……………………………………..……….………..21 IV- 1- Addition binaire………………………………………………....……….21 1 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI IV- 2- Ecriture des nombres signés……………………….…….………………...22 IV- 3- Notation en complément à 1……………………….……….…………..23 IV- 4- Notation en complément à 2……………………….……….…………..23 IV-5- Addition en utilisant le complément à 2………………..…………….…24 V- Les principaux codes……………………….…………..…………….……..25 V-1- Code binaire pur …………………………………….………….………..26 V-2- Code binaire décimal (DCB)………………………..………….…….…..26 V-2-1- Généralités……………………………………..………………..…..….26 V-2-2- Principaux codes binaires décimaux……………………..……..…...…27 V-3- Code Gray……………………………………………..………..…..…….30 V-4- Détection d’erreur au moyen de la méthode de parité………......………..31 V-5- Code ASCII : American standard code for Information Interchange….....32 CHAPITRE 2 : ELEMENTS D’ALGEBRE DE BOOLE I- Règles générales de l’algèbre de Boole…..…………………….……............33 I- 1- Postulats de l’algèbre de Boole……………………………..…….………33 I- 2- Axiomes de l’algèbre de Boole…………………………..……….………34 I- 3- Conséquences directes des axiomes……………….………..…….………34 II – Les fonctions logiques………………………………………...………..….35 II- 1- Définition…………………………………………..…………….………35 II- 2- Table de vérité……………………………………………...………….…35 II- 3- Théorème de De Morgan…………………………………..…….…...….36 II- 4- Formes canoniques………………………………………...……………..37 II-4-1- Première forme canonique……………………………...………....……37 II-4-2- Deuxième forme canonique……………………………..……….……..38 II- 5- Les fonctions logiques à une seule variable binaire…….…………….….38 II- 6- Les fonctions logiques à deux variables binaires…………...……………41 II-7- Chronogramme d’une fonction……………………………………….......…46 2 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI CHAPITRE 3 : SIMPLIFICATION DES FONCTIONS LOGIQUES I- Méthodes algébriques……………………………………….……………….47 II- Méthodes graphiques……….…………………………….…………………48 II-1- Tables de Karnaugh…………………………………......…..………….....48 II-2- Exemples……………………………………..…………...……..………..50 CHAPITRE 4 : SYNTHESE DES CIRCUITS COMBINATOIRES I- Additionneur de base………………………………..……………………….54 I-1- Demi-additionneur……………………………..…………………………..54 I-2- Additionneur complet………………………………...……………………54 II- Additionneurs binaires parallèles………..…………….……………………56 III- Comparateur……………………………………………………….………58 IV- Décodeurs……………………………………...………………….……….62 V- Codeurs………………………………………...…………………..………66 VI- Multiplexeurs………………………………………………………………68 VII- Démultiplexeurs…………………………….………………….…………70 VIII- Unité arithmétique et logique (UAL)……………………...……………..71 INTRODUCTION A LA LOGIQUE SEQUENTIELLE ……………………… 73 CHAPITRE 5 : LES BASCULES I- La bascule élémentaire R S……………………………………..………………76 II- Bascules synchrones……………………………………….………………..78 II- 1- Bascule RS synchrone ou RSH………………………….…………….…78 II- 2- Bascule D…………………………………………………….……………..79 II- 2- 1- La mémoire de donnée D Latch…………….…..……………………..79 II- 2- 2- Bascule D (edge triggered)………………….…...……………………80 3 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI II- 3- La bascule JK……………………………………….…………..……..…81 II-4- Bascule T…………………………………………………………...……..…83 II-5- Bascule RSH maître-esclave……………………………..………........….84 CHAPITRE 6 : LES COMPTEURS I- Définitions– Généralités………………..……………………………………86 II- Les compteurs asynchrones…..………...….………………………………..86 N II-1- Les compteurs modulo 2 asynchrones………...………………….………...86 II-1-1- Diviseur par deux ………………………………...….……….………...87 N II-1-2- Réalisation d’un compteur asynchrone modulo 2 …………………...….87 II-1-3- Décompteurs asynchrones………………………………………..…….89 n II.2. Compteur asynchrone modulo N < 2 (à cycle régulier)………...…………..89 III- Les compteurs synchrones………..………………………………...……...91 N III-1- Les compteurs modulo 2 synchrone……………………………..………..91 n III-2- Compteur synchrone modulo N < 2 (à cycle régulier)………...…………..93 IV- Exemple de CI………………………………………………….………..…94 CHAPITRE 7 : REGISTRES A DECALAGE I- Fonction de base du registre à décalage…...………………………….……..95 II- Registres à décalage de type entrée série / sortie série…………....… .…….95 III- Registres à décalage de type entrée série / sorties parallèles…...…… .……..…96 IV- Registres à décalage de type entrées parallèles / sortie série……………… ..…97 V- Registres à décalage de type entrées parallèles / sorties parallèles..….. …..…..99 VI- Registres à décalage bidirectionnel………………………………….………..100 CHAPITRE 8 : EXEMPLES D’AUTOMATISME PAR CIRCUITS NUMERIQUES… .……………………………………………………………….102 BIBLIOGRAPHIE………………………………………………………………..108 4 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI INTRODUCTION A L’AUTOMATISME ET AUX CONCEPTS NUMERIQUES A- INTRODUCTION A L’AUTOMATISME I- Définition : Un automatisme est un sous-ensemble de machine(s) destiné à remplacer de façon automatisée une action ou décision habituelle et prédéfinie sans intervention de l'être humain. Il consiste en l’étude de la commande de systèmes industriels. Les techniques et méthodes d’automatisation sont en continuelle évolution ; elles font appel à des technologies : électromécaniques, électronique, pneumatique, hydraulique. Les automatismes sont présents dans tous les secteurs d’activité (automobile, médecine, menuiserie, textile, alimentaire, …). II- Structure d’un système automatisé Un système automatisé est un système, qui après avoir reçu des informations fournies par un opérateur peut décider et agir de façon autonome. Un tel système possède une structure générale composée de trois parties fondamentales qui sont la partie contrôle, la partie commande et la partie opérative. Figure1 : Schéma structurel d’un système automatisé ● Le pupitre (clavier, écran, marche, arrêt, arrêt d’urgence, voyants) : l’opérateur humain initialise et contrôle la partie commande. Aussi, il intervient manuellement sur la partie opérative pour faire des réglages ou des dépannages. ● La partie opérative correspond au processus physique à automatiser. Elle comporte : ♦ Le processus : ascenseur, machine électrique, tapis roulants, pompes, etc. 5 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI ♦ Les actionneurs qui sont des éléments mécaniques : moteur électrique pour actionner une pompe, vérin hydraulique pour actionner fermer un moule, vérin pneumatique pour déplacer une tête de marquage. ♦ Les capteurs qui sont des éléments de détection et qui donnent des informations à la partie commande : détecteurs de passage, capteur de niveau, capteur de température, capteurs de position sur une vanne. ● La partie commande élabore les ordres pour les actionneurs en fonction des informations issues des capteurs et des consignes. Cette partie commande peut être réalisée par des circuits câblés (Circuits intégrés, relais), ou par des dispositifs programmables (automates programmables industriels (API), calculateurs, circuits logiques programmables (CLP), microcontrôleurs (µC)). Elle coordonne trois types de dialogue : ♦ Dialogue avec le processus : commande des actionneurs via les préactionneurs (contacteurs et distributeurs) et acquisitions des signaux des capteurs rendant compte de l’évolution du processus. ♦ Dialogue avec l’opérateur via le pupitre. ♦ Dialogue avec d’autres parties commandes à travers un réseau. La partie commande attend l’information (et elle seule) qui doit entraîner l’ordre suivant, d’où la séquence : Information – ordre – information – ordre - ……. III- Objectifs de l'automatisation II1-1- Généralités Les productions industrielles sont de plus en plus automatisées. Les progrès concernent : ● L’automatisation d’opérations autrefois entièrement manuelles, par exemple les emballages, les contrôles, etc. ● L’automatisation plus poussée d’opérations déjà partiellement automatisées, par exemple : ♦ Le passage en automatique de machines semi-automatiques, 6 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI ♦ Le remplacement de machines rigides (ne fabriquant qu’un seul type de produit) par des machines susceptibles d’opérer sur plusieurs variantes de produits. III-2- Objectifs de l’automatisation Les objectifs poursuivis par une automatisation peuvent être assez variés. Il existe deux catégories d’objectifs: Les objectifs concernant la compétitivité du produit, Les objectifs concernant l’exploitation de la machine de production. III-2- 1- Compétitivité du produit La compétitivité du produit final peut être définie par sa capacité à être bien vendu sur les marchés auxquels il est destiné. Elle résulte essentiellement des résultats obtenus sur les facteurs suivants: Coût : matière, énergie, main d’œuvre. Qualité : fiabilité, endurance. Innovation : esthétique, performance, optimisation. Disponibilité : réseau de vente, stocks, service après-vente. L’automatisation permet d’améliorer la compétitivité du produit en influant sur: Les coûts: ♦ En réduisant la main d'œuvre ♦ En optimisant l'utilisation de la matière et de l'énergie La qualité: ♦ En augmentant la fiabilité et l'endurance des produits par un meilleur suivi de la production L’innovation: ♦ En permettant une meilleure adaptation du produit au marché par une capacité d'évolution plus grande. La disponibilité: ♦ En gérant les stocks d'une façon optimale ♦ Grâce à une plus grande flexibilité. 7 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI III-2- 2- Exploitation de la machine de production L’exploitation de la machine de production doit permettre d’assurer: La sécurité des opérateurs, Une maintenance rapide du système. Réduisant les tâches présentant un danger Intégrant la maintenance du système à la production IV- Cahier des charges d’un automatisme Un cahier des charges est un document fourni par l’utilisateur au concepteur, pour lui indiquer quelles sont les caractéristiques désirées pour la réalisation d’un automatisme. Il décrit : ● Les relations entre la partie commande et la partie opérative. ● Les conditions d’utilisation et de fonctionnement de l’automatisme. Les spécifications techniques auxquelles doit satisfaire la partie commande d’un système automatisé peuvent être réparties en trois groupes principaux de représentations : ● Les représentations relevant des spécifications fonctionnelles qui correspondent aux fonctions devant être assurées par l’automatisme. Elles caractérisent donc les comportements que doit avoir la partie commande face aux informations issues de la partie opérative, de l’opérateur ou d’autres parties commande. ● Les représentations relevant des spécifications opérationnelles qui correspondent aux performances globales de l’automatisme, aux contraintes de sûreté, à l’absence de pannes dangereuses, à la facilité de maintenance, aux modes de marche et d’arrêt ou au dialogue Homme-machine. ● Les représentations relevant des spécifications technologiques qui tiennent compte de la technologie utilisée tant pour la partie opérative (électrique, pneumatique, hydraulique) que pour la partie commande. 8 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI V- Technologie de la commande des systèmes automatisés Pour élaborer un système de commande automatisé, l’automaticien dispose de trois techniques principales qui sont : la logique à relais, la logique électronique câblée et la logique programmée (API, µC, CLP). L’automatisme utilisant la technique de commande câblée est réalisé par des modules raccordés entre eux (portes ET, OU, NON,…, fonction mémoire,…). Le fonctionnement obtenu résulte du choix de ces modules et du câblage qui les relie. Dans tous les cas, le système de commande obtenu est entièrement personnalisé par sa réalisation matérielle (chaque partie de commande est conçue pour une application donnée). Les éléments permettant de réaliser les systèmes de commande câblés sont : - Les relais électromagnétiques qui restent intéressants pour les automatismes très simples. - Les modules logiques pneumatiques qui sont homogènes avec de nombreuses machines de production équipées de vérins pneumatiques. - Les modules électroniques spécifiques ou standards qui nécessitent des connaissances des systèmes logiques combinatoires et séquentiels. L’étude des fonctions permettant de réaliser ces systèmes fera l’objet de ce cours. B- QUANTITÉS NUMÉRIQUES ET ANALOGIQUES - Une quantité analogique possède des valeurs continues, alors qu'une quantité numérique renferme une série de valeurs discrètes. La plupart des paramètres que l'on peut mesurer quantitativement se présentent dans la nature sous une forme analogique. La température de l'air, par exemple, varie selon une échelle de valeurs continues. La température ne change pas instantanément de 23° à 24° ; elle prend toute une infinité des valeurs situées entre les deux. Si l'on trace le graphique de température d'une journée d'été type, nous obtenons une courbe uniforme et continue comme celle illustrée à la figure 2. Le temps, la pression atmosphérique, la distance et le son constituent d'autres exemples de quantités analogiques. 9 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Figure 2 : Graphique d'une quantité analogique (température en fonction du temps) Plutôt que d'en tracer le graphique sur une base continue, supposons que nous prenions une lecture de la température toutes les heures. Nous obtiendrions des valeurs échantillonnées représentant la température en différents points discrets dans le temps, à chaque heure, durant une période de 24 heures (cf. figure 3). Nous aurions alors converti une quantité analogique sous une forme pouvant ensuite être numérisée, en remplaçant chaque valeur échantillonnée par un code numérique qui consiste d'une série de 1 et de 0. Il est important de constater que la figure 3 n'est pas une représentation numérique de la quantité analogique. Figure 3 : Valeurs échantillonnées de la quantité analogique de la figure 2 - Avantage du numérique : Le numérique possède certains avantages sur l'analogique dans les applications électroniques. On peut traiter et transmettre des données numériques avec une efficacité et une fiabilité supérieures aux données analogiques. Les données numériques sont également avantagées lorsqu'il est question de les stocker. La conversion de musique sous forme numérique, par 10 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI exemple, permet un stockage plus compact et une reproduction plus précise et plus claire que sous forme analogique. Le bruit, produit par des fluctuations de tension non désirées, affecte peu les données numériques comparativement aux signaux analogiques. Système électronique analogique : Exemple 1 : Système de sonorisation Un système de sonorisation, utilisé pour amplifier le son et le transmettre à un vaste auditoire, est un exemple d'application d'électronique analogique. Le diagramme d'ensemble de la figure 4 illustre que les ondes sonores, retrouvées dans la nature sous forme analogique, sont recueillies par un microphone et converties en un signal de faible tension appelé signal audio. Cette tension varie continuellement alors que l'intensité et la fréquence du son changent à l'entrée de l'amplificateur linéaire. La sortie, une reproduction augmentée de la tension d'entrée, est dirigée vers le(s) hautparleur(s). Le haut-parleur transforme le signal audio amplifié en ondes sonores d'intensité largement supérieure à celles captées par le microphone. Figure 4 : Système électronique analogique Exemple 2 : Schéma équivalent de Thevenin Figure 5 : Chaîne de traitement analogique 11 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Système utilisant le numérique et l'analogique : Exemple 1 : Lecteur de disque compact Le lecteur de disque compact (CD) est un exemple de système dans lequel on utilise à la fois des circuits numériques et analogiques. Le diagramme simplifié de la figure 6 illustre son principe de base. La musique est stockée sous forme numérique sur le disque compact. Figure 6 : Système utilisant le numérique et l'analogique Un système optique à diode laser capte les données numériques à partir du disque en rotation pour les transférer vers le convertisseur numérique-analogique (CNA). Le CNA transforme les données numériques en un signal analogique, c'est-à-dire une reproduction électrique de la musique d'origine. Ce signal est amplifié et dirigé vers le haut- parleur. Un procédé inverse, impliquant l'utilisation d'un convertisseur analogique- numérique (CAN), est employé pour enregistrer la musique sur le disque compact. Exemple 2 : Téléphonie mobile (GSM) L’électronique numérique implique des circuits et des systèmes dans lesquels il n’existe que deux états ou niveaux de tension possibles : Haut et Bas. Il est également possible de représenter ceux-ci par des niveaux de courant, des interrupteurs ouverts 12 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI ou fermés, ou des ampoules allumées ou éteintes. En utilisant des combinaisons de ces états, appelées codes, on peut représenter des nombres, symboles, caractères d’alphabet et autres types d’information. Le système de numération à deux états s’appelle le binaire ; ses deux chiffres sont le 0 et le 1. C- PRINCIPALES CATEGORIES DE SYSTEMES AUTOMATISES 1Systèmes automatisés combinatoires : à une combinaison des entrées correspond une seule combinaison des sorties (logique combinatoire). Ces systèmes n'utilisent aucun mécanisme de mémorisation ; ils n'ont pas de mémoire. Les outils utilisés pour les concevoir sont l'algèbre de Boole, les tables de vérité, les tableaux de Karnaugh (voir chapitres de la partie 1). 2- Systèmes logiques séquentiels : le déroulement s'effectue étape par étape, séquence par séquence. Pour ces systèmes, à une situation des entrées peuvent correspondre plusieurs situations de sortie. La sélection d'une sortie ou d'une autre dépend de la situation antérieure du dispositif (étape précédente). Les mécanismes de mémorisation, ou mémoires, sont à la base de la logique séquentielle (voir chapitres de la partie 2). 3- Systèmes asservis : dans ces systèmes, on désire que la sortie suive avec précision les variations de l'entrée et ceci avec un temps de réponse réduit (cette partie ne fera pas l’objet de notre cours). 13 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI SYSTEMES DE NUMERATION – ARITHMETIQUE BINAIRE -CODES I- Systèmes de numération Le système de numération binaire est le plus important de ceux utilisés dans les circuits numériques, bien qu'il ne faille pas pour autant négliger l'importance d'autres systèmes. Le système décimal revêt de l'importance en raison de son acceptation universelle pour représenter les grandeurs du monde courant. De ce fait, il faudra parfois que des valeurs décimales soient converties en valeurs binaires avant d'être introduites dans le circuit numérique. Par exemple, lorsque vous composez un nombre décimal sur votre calculatrice (ou sur le clavier de votre ordinateur), les circuits internes convertissent ce nombre décimal en une valeur binaire. De même, il y aura des situations où des valeurs binaires données par un circuit numérique devront être converties en valeurs décimales pour qu'on puisse les lire. Par exemple, votre calculatrice (ou votre ordinateur) calcule la réponse à un problème au moyen du système binaire puis convertit ces réponses en des valeurs décimales avant de les afficher. I-1- Système décimal Le système décimal comprend 10 nombres ou symboles qui sont 0, 1, 2, 3,4, 5, 6, 7, 8, 9 ; en utilisant ces symboles comme chiffres dans un nombre, on parvient à exprimer n’importe quelle grandeur. Le système décimal, appelé aussi système à base 10, s’est imposé tout naturellement à l’homme puisque ce dernier possède dix doigts. Le système décimal est dit à poids positionnels, en ce sens que la valeur d’un chiffre dépend de sa position (rang) dans le nombre. Par exemple, le nombre 3 2 1 0 3567 est le résultat de la somme 3. 10 + 5. 10 + 6. 10 + 7. 10 alors le nombre 3567 est écrit dans le système de numération décimal ou encore système à base 10. 14 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI D’une façon générale, dans un système de numération à base b, un nombre N de base b sera décomposable en fonction des puissances entières de b tel que : i n i Nb aib i0 où a i est un chiffre tel que 0 ai b 1, les i sont des entiers positifs et n est l’exposant de b du chiffre de poids fort. Les bi sont appelés poids ou rang et indique la grandeur de la quantité représentée. 3 2 1 0 Exemple : (3567)10 310 5 10 6 10 7 10 On note que le chiffre 3 est celui qui a le poids le plus élevé (MSB) et le chiffre 7 a le poids le plus faible (LSB). I-2- Système binaire Le système de numération binaire n’est qu’une autre façon de représenter les quantités. A première vue, ce système semble plus complexe que le décimal ; il est pourtant plus simple puisqu’il ne possède que deux chiffres. Le binaire est donc un système à base de 2 dont les deux chiffres binaires, ou bits, sont le 1 et le 0. La position du 1 ou du 0 dans un nombre binaire indique son poids positionnel et détermine sa valeur dans le nombre, tout comme nous l’avons vu pour le système décimal. Dans un nombre binaire, les poids positionnels correspondent à des puissances de deux. Exemple : (1101,011)2 1 23 1 22 0 21 1 20 0 21 1 22 1 23 ; avec 23 le poids le plus fort et 23 le poids le plus faible. Ils existent deux autres systèmes de numération très répandus dans les circuits numériques. II s'agit des systèmes de numération octal (base de 8) et hexadécimal (base de 16) qui servent tous les deux au même but, soit celui de constituer un outil efficace pour représenter de gros nombres binaires. Comme nous le verrons, ces systèmes de numération ont l'avantage d'exprimer les nombres de façon que leur conversion en binaire, et vice versa, soit très facile. 15 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Pour chacun des systèmes décimal, binaire, octal et hexadécimal, l’ensemble des symboles possibles est : * {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} pour le décimal, * {0, 1} pour le binaire, * {0, 1, 2, 3, 4, 5, 6, 7} pour l’octal, * {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} pour l’hexadécimal. Dans un système numérique, il peut arriver que trois ou quatre de ces systèmes de numération cohabitent, d’où l’importance de pouvoir convertir un système dans un autre. II- Changement de base II-1- Nombres entiers positifs Conversion d’un nombre de base décimale en un nombre de base b quelconque La méthode la plus simple de conversion d’un nombre entier décimal en un nombre de base b est celle de la division par la base b répétée. Par exemple, pour convertir le nombre décimal N dans la base b, on commence par diviser N par b. Chaque nouveau quotient est ensuite divisé par b jusqu’à ce que le quotient soit 0. Les restes générés par chacune des divisions forment le nombre N dans la base b. Le premier reste produit devient le bit de poids le plus faible (LSB) du nombre N dans la base b, alors que le dernier reste produit devient le bit de poids le plus fort (MSB). Exemple : * Convertissez le nombre (45)10 en son équivalent binaire. 16 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI * Convertissez le nombre (214)10 en son équivalent hexadécimal. 214 16 6 13 16 13 0 (214)10 = (D6)16 Conversion d’un nombre de base b quelconque en décimal Tout nombre écrit dans une base b quelconque peut être transformé en son équivalent décimal simplement en additionnant les termes obtenus du produit de chaque chiffre par son poids positionnel. Exemple : * Convertissez le nombre (11011)2 en son équivalent décimal. 4 3 2 1 (11011)2 = 1× 2 + 1× 2 + 0 ×2 + 1× 2 + 1× 2 0 (11011)2 = (27)10 * Convertissez le nombre (377)8 en son équivalent décimal. 2 1 (377)8 = 3 × 8 + 7 × 8 + 7 × 8 0 (377)8 = (255)10 Conversion octal–binaire et binaire–octal La conversion octal – binaire s’effectue en transformant chaque chiffre du nombre octal en son équivalent binaire de trois bits. L’opération inverse consiste à faire avec le nombre binaire des groupes de trois bits en partant du bit de poids le plus faible, puis de convertir ces triplets en leur équivalent octal ; au besoin on ajoute des zéros à gauche du bit de poids le plus fort pour obtenir un nombre juste de triplets. * Convertissez (376)8 en binaire. 3 11 7 6 Chiffre décimaux 111 110 Equivalent binaire (376)8 = (011111110)2 * Convertissez (1101110011)2 en octal. 17 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI (1101110011)2 = (1563)8 Conversion hexadécimal – binaire et binaire - hexadécimal La conversion hexadécimal – binaire s’effectue en transformant chaque chiffre du nombre hexadécimal en son équivalent binaire de quatre chiffres. L’opération inverse consiste à faire avec le nombre binaire des groupes de quatre bits en partant du chiffre de poids le plus faible, puis on substitue à chaque groupe son chiffre hexadécimal équivalent ; au besoin on ajoute des zéros à gauche pour obtenir un dernier groupe de 4 bits. Exemple : * Convertissez (376)16 en binaire. 3 7 6 0011 0111 0110 Chiffre hexadécimal Equivalent binaire (376)16 = (001101110110)2 * Convertissez (11101110011)2 en hexadécimal. 0111 0111 0011 7 7 3 Nombre binaire Equivalent hexadécimal (11101110011)2 = (773)16 II-2- Nombres fractionnaires Exemple : Convertissez le nombre décimal 24,3125 en binaire. Pour convertir la fraction décimale 0,3125 en binaire, on commence par multiplier 0,3125 par 2. Nous multiplions ensuite la partie fractionnaires de chaque nouveau produit ainsi crée par 2, jusqu’à ce que le produit fractionnaire soit 0 ou que le nombre de décimales désiré soit atteint. Les parties entières générées par les multiplications, forment le nombre binaire. La première retenue produite devient le MSB et la dernière retenue devient le LSB. 18 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Partie entière 0,3125 × 2 = 0,625 0 0,625 × 2 = 1,25 1 0,25 × 2 = 0,50 0 0,50 × 2 = 1,00 1 MSB LSB L’équivalent binaire de (24)10 est (11000)2 L’équivalent binaire de (24,3125)10 est (11000, 0101)2 III- Nombres à virgule flottante Il faut beaucoup de bits pour représenter des nombres entiers de très grande valeur. Un autre problème surgit lorsqu’il faut représenter des nombres possédant une partie entière et une partie fractionnaire, comme 23,5618. Le système des nombres à virgule flottante, qui repose sur le principe de notation scientifique, permet de représenter des nombres de très grande ou de très petite valeur et/ou des nombres possédant une partie entier et une partie fractionnaire sans augmenter le nombre de bits. Un nombre à virgule flottante, également appelé nombre réel, comprend deux parties et un signe. La mantisse est la partie qui représente la grandeur du nombre à virgule flottante. L’exposant est la partie qui désigne la quantité de rangs avec laquelle la virgule décimale ou binaire est décalée. Exemple : Soit le nombre entier décimal 241506800. La mantisse est 0,2415068 et l’exposant est 9. Un entier exprimé en nombre à virgule flottante doit être normalisé, en ce sens qu’il faut déplacer la virgule décimale à la gauche de tous les chiffres afin que la mantisse devienne un nombre fractionnaire. L’exposant devient alors une puissance de 10. De cette façon, le nombre à virgule flottante s’écrit : 0,2415068 × 10 9 Pour les nombres à virgule flottante binaires, le format est défini par la norme ANSI/IEEE 754-1985 selon trois notations : précision simple, précision double et précision étendue. Leur format est fondamentalement identique, à l’exception 19 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI du nombre de bits. Les nombres à virgule flottante de précision simple possèdent 32 bits, ceux de précision double ont 64 bits, alors que les nombres de précision étendue comportent 80 bits. Nombres binaires à virgule flottante de précision simple : Dans la notation du standard de précision simple pour les nombres binaires, le bit de signe (S) est celui situé le plus à gauche, l’exposant (E) inclut les 8 bits suivants et la mantisse ou partie fractionnaire (F) comprend les 23 bits de droite, tel qu’illustré ci-dessous. S Exposant (E) 1 bit 8 bits Mantisse (fraction, F) 23 bits La virgule binaire de la mantisse ou partie fractionnaire se retrouve à la gauche des 23 bits. En réalité, la mantisse comporte 24 bits puisque le bit de poids le plus fort de tout nombre binaire est toujours un 1. Par conséquent, il est de convention que ce 1 occupe cet endroit bien qu’il ne figure pas dans la position des bits qui nous intéressent. Les 8 bits de l’exposant représentent un exposant polarisé, obtenu en additionnant 127 à l’exposant réel. Le but de cette polarisation est de permettre la représentation de nombres de très grande ou de très petite taille sans recourir à un bit de signe séparé pour les exposants. L’exposant polarisé offre une échelle de valeurs comprises entre -126 et +128 pour l’exposant réel. Exemple : Soit le nombre binaire 1011010010001 Exprimons d’abord ce nombre en le normalisant. Nous obtenons 1 suivi d’un nombre fractionnaire binaire en déplaçant la virgule binaire de 12 rangs vers la gauche et le multipliant ensuite par la puissance de 2 appropriée. 1011010010001 = 1,011010010001 × 2 12 Puisqu’il s’agit d’un nombre positif, le bit de signe (S) est 0. L’exposant polarisé de l’exposant réel 12, s’obtient en ajoutant 127 (12 + 127 = 139). L’exposant polarisé (E) est donc représenté par le nombre binaire 10001011. La mantisse est la partie fractionnaire (F) du nombre binaire 0,011010010001 dans cet exemple. 20 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Comme il y a toujours un 1 à la gauche de la virgule binaire dans l’expression de puissance de 2, il n’est pas inclus dans la mantisse. Le nombre à virgule flottante complet est donc : S E 0 F 10001011 01101001000100000000000 Pour déterminer la valeur d’un nombre binaire déjà écrit en notation à virgule flottante, on utilise l’approche générale exprimée dans la formule suivante : S Nombre = (-1) (1+F)(2 E - 127 ) Exemple : 1 10010001 10001110001000000000000 1 Nombre = (-1) (1,10001110001) (2 145 - 127 ) = - 1100011100010000000 V- Arithmétique binaire IV- 1- Addition binaire L’addition binaire s’effectue avec les mêmes règles qui s’appliquent à l’addition des nombres décimaux. Cependant, il n’y a que quatre cas qui peuvent survenir lorsqu’on additionne deux chiffres binaires et cela quel que soit le rang (cf. table 1). On commence par additionner les bits correspondant au plus petits poids, les 1 de retenue sont considérés comme des nouveaux bits et additionnés avec ceux de la colonne de poids juste supérieur. Table 1 : A B Somme Retenue 0 0 1 1 0 1 0 1 0 1 1 0 0 0 0 1 21 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Exemple : Effectuer la somme de (11,011)2 et (10,110)2 11,011 + 10,110 110,001 IV- 2- Ecriture des nombres signés Comme les calculateurs numériques traitent aussi bien les nombres négatifs que les nombres positifs, une certaine convention est adoptée pour représenter le signe du nombre (+ ou -). Généralement, un autre bit appelé bit de signe est ajouté au nombre. La convention la plus courante consiste à attribuer au nombre positif le bit de signe 0 et au nombre négatif le bit de signe 1. Le nombre est donc stocké en mémoire en deux parties dont l’une est réservée à la valeur absolue du nombre en binaire et l’autre, placée à gauche, au bit de signe. Exemple : Nombre décimal +25 exprimé en un nombre binaire signé de 8 bits avec la notation signe-grandeur. Le nombre décimal -25 s’exprime comme suit : Pour une machine, par exemple, qui travaille sur 4 bits, elle peut représenter 4 16=2 nombres différents. Deux possibilités s'offrent: • Les 16 nombres seront considérés comme des entiers non signés. On aura donc 16 nombres positifs allant de 0 à 15. • Les 16 nombres seront considérés comme des nombres signés. On aura donc 8 nombres positifs allant de 0 à 7 et 8 nombres négatifs allant de -8 à -1. 22 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI n Machine n bits ≡ 2 Nombres différents Nombres non signés Nombres signés n 2 Nombres n 0→2 -1 2n-1 Négatifs 2n-1 Positifs -1 → - 2n-1 0 → 2n-1 - 1 Bien que cette notation signe-grandeur soit directe, les calculateurs numériques n’y ont généralement pas recours, en raison de la complexité des circuits qui matérialisent cette notation d’où l’utilisation dans ces machines de la notation en complément à 2 pour représenter les nombres signés. IV- 3- Notation en complément à 1 Le complément à 1 d’un nombre binaire s’obtient en changeant chaque 0 par 1 et chaque 1 par 0. Autrement dit, en complémentant chaque bit du nombre. Exemple : 1 0 1 1 0 0 1 0 Nombre binaire 0 1 0 0 1 1 0 1 Complément à 1 IV-4- Notation en complément à 2 Le complément à 2 d’un nombre binaire s’obtient en prenant le complément à 1 de ce nombre et en ajoutant 1 au bit de son rang de poids le plus faible. Exemple : 10110010 Nombre binaire 01001101 Complément à 1 + Addition de 1 1 01001110 Grâce à la notation en complément à 2, les opérations de soustraction deviennent des opérations d’addition, c’est le cas dans les calculateurs numériques puisqu’ avec les mêmes circuits s’effectuent des soustractions et des additions. 23 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI IV-5- Addition en utilisant le complément à 2 On va considérer un circuit additionneur à deux entrées sur lesquelles sont disponibles deux mots de quatre bits. er 1 cas : deux nombres positifs. L’addition de deux nombres positifs est immédiate. Exemple : 2 ème 6 0.0110 +3 + 0.0011 9 0.1001 cas : nombre positif et nombre négatif plus petit. On complémente à 2 le nombre négatif et on effectue la somme des deux nombres en ajoutant la retenue de la somme des bits de poids le plus fort aux bits de signe. La retenue de la somme de ces derniers est ignorée. Exemple : 9 0.1001 -3 + 1.1101 6 1 0.0110 Complément à 2 de 0011 La retenue est à rejetée 3 ème cas : nombre positif et nombre négatif plus grand On effectue l’opération de la même manière que dans le deuxième cas, seulement que le résultat sera négatif. Alors pour avoir le résultat final, on procède à la complémentation à 2 du résultat de l’addition codée. Exemple : 3 0.0011 -7 + 1.1001 -4 1.1100 Complément à 2 de 0111 Le résultat final de l’opération d’addition est le complément à 2 de 1.1100 qui est 1.0100 24 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI 4 ème cas : les deux nombres sont négatifs C’est le même cas que précédemment, le résultat de la somme codée sera négatif d’où sa complémentation à 2 pour avoir le résultat final. Exemple : -3 1.1101 Complément à 2 de 0011 -7 + 1.1001 Complément à 2 de 0111 -10 1.0110 Le résultat final de l’opération d’addition codée est le complément à 2 de 1.0110 qui est 1.1010 Dans chacun des exemples d’addition et de soustraction que l’on vient d’étudier, les nombres que l’on a additionnés étaient constitués à la fois d’un bit de signe et de 4 bits de grandeur. Les réponses aussi comportaient un bit de signe et 4 bits de grandeur. Toute retenue faite sur le bit de sixième rang était rejetée. De même, il faut que le résultat de l’opération reste inférieur strictement à (16) 10 pour ne pas avoir un dépassement de capacité. 9 0.1001 + 80.1000 1.0001 bit de signe Le bit de signe de la réponse est celui d’un nombre négatif, ce qui est manifestement une erreur. La réponse devrait être +17. Etant donné que la grandeur est 17, il faut plus de 4 bits pour l’exprimer, et il y a donc un dépassement sur le rang du bit de signe. V- Les principaux codes Les circuits numériques fonctionnent avec des nombres binaires exprimés sous une forme ou sous une autre durant leurs opérations internes, malgré que le monde extérieur soit un monde décimal. Cela implique qu’il faut effectuer 25 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI fréquemment des conversions entre les systèmes binaire et décimal. On peut avoir plusieurs combinaisons de bits 0 et 1 pour une même valeur décimale dont chaque combinaison correspond à un code. V-1- Code binaire pur Quand on fait correspondre à un nombre décimal son équivalent binaire, on dit qu’on a fait un codage binaire pur. Nombre Code binaire décimal 8 4 2 Nombre Code binaire 1 décimal 8 4 2 1 0 0 0 0 0 8 1 0 0 0 1 0 0 0 1 9 1 0 0 1 2 0 0 1 0 10 1 0 1 0 3 0 0 1 1 11 1 0 1 1 4 0 1 0 0 12 1 1 0 0 5 0 1 0 1 13 1 1 0 1 6 0 1 1 0 14 1 1 1 0 7 0 1 1 1 15 1 1 1 1 V-2- Code binaire décimal (DCB) V-2-1- Généralités Pour réaliser ces codes, il faut 10 combinaisons différentes de bits 0 et 1 afin de pouvoir réaliser les 10 symboles du système décimal. 1 seul bit permet 2 combinaisons : 0 ou 1 2 bits permettent 4 combinaisons : 00, 01, 10, 11 4 bits permettent 16 combinaisons : 0000, 0001,…..,1111 La réalisation de 10 combinaisons implique donc l’emploi d’au moins 4 bits et il va donc falloir faire un choix de 10 combinaisons parmi les 16 possibles. Le choix parmi tous les codes possibles est effectué en fonction d’un certain nombre de critères. Conditions de poids : codes pondérés Le code du nombre N est pondéré si on a : 26 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI N x4p4 x3p3 x2p2 x1p1 * p1 1pour représenter le 1 décimal dans le code. * p1 p2 p3 p4 9 pour représenter le 9 décimal dans le code. Conditions de complément : codes auto-complémentaires Un code est auto-complémentaire si le complément à 9 d’un chiffre décimal est obtenu en échangeant 0 et 1 dans la représentation binaire. Pour qu’un code soit auto-complémentaire, il faut que tout chiffre et son complément à 9 aient leur représentation symétrique par rapport au milieu de la liste des représentations. V-2-2- Principaux codes binaires décimaux ♦ Code décimal binaire : DCB ou 8.4.2.1 C’est un code pondéré de poids 8, 4, 2, 1, il se présente sous la forme suivante : Nombre 8 4 2 1 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 Dans ce code chaque chiffre du nombre décimal doit être codé séparément par un groupe de 4 bits. Exemple : 2571 s’écrit dans ce code : 0010 Exemple d’opération arithmétique dans ce code : 27 0101 0111 0001 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Exemple 1 : 47 + 35 = 82 0100 0111 + 0011 0101 0111 1100 + 1 0110 1000 0010 On rencontre ici un mot codé qui ne correspond pas à une valeur connue ; il s’agit des six représentations codées de 4 bits interdites ou non valides. Cette représentation est apparue parce qu’on a additionné deux chiffres dont la somme dépasse 9. Pour résoudre ce problème, on ajoute (6)10 = (0110)2 à ce mot codé inconnu afin de prendre en considération le fait qu’on saute six représentations codées non valides. Si un report est produit, il sera ajouté à la somme DCB des chiffres du rang suivant. Exemple 2 : 95 + 83 = 178 1001 0101 + 1000 0011 1 0001 1000 + 0110 0001 0111 1000 Dans le cas où l’addition de deux chiffres donne un report (celui-ci est additionné avec le chiffre de rang immédiatement à gauche), on ajoute une correction de (0110)2 au résultat de la somme. ♦ Code majoré de trois (DCB+3) Le code majoré de trois d’un nombre décimal se trouve de la même manière que le code DCB, sauf qu’on ajoute trois à chaque chiffre décimal avant d’opérer la conversion. 28 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Nombre 8 4 2 Nombre 1 décimal 8 4 2 1 décimal 0 0 0 1 1 5 1 0 0 0 1 0 1 0 0 6 1 0 0 1 2 0 1 0 1 7 1 0 1 0 3 0 1 1 0 8 1 0 1 1 4 0 1 1 1 9 1 1 0 0 On remarque que ce code est auto-complémentaire à 9, donc symétrique. On l’obtient en éliminant des 16 premières combinaisons du système binaire naturel les trois premières et les trois dernières. Exemple d’opération arithmétique dans ce code : Exemple 1 : avec retenue 8 1011 +6 + 1001 14 0001 0100 + 0011 0011 0100 0111 Dans une addition en DCB+3, si on a une retenue on ajoute le chiffre 3 codé en binaire au résultat de l’addition. Exemple 2 : sans retenue 5 +3 8 1000 + 0110 1110 +1101 Complément à 2 de 0011 11011 La retenue finale est un débordement à éliminer Dans ce cas où on n’a pas de retenue, on retranche le chiffre 3 au résultat de la somme, c'est-à-dire qu’on ajoute le complément à 2 du chiffre 3. La retenue de la somme est à rejeter. 29 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI ♦ Code décimal binaire Aiken (DCBA) C’est un code pondéré de poids 2 ,4 , 2 ,1 et aussi auto-complémentaire à 9. Nombre 2 4 2 1 Nombre 2 4 2 1 0 0 0 0 0 5 1 0 1 1 1 0 0 0 1 6 1 1 0 0 2 0 0 1 0 7 1 1 0 1 3 0 0 1 1 8 1 1 1 0 4 0 1 0 0 9 1 1 1 1 V-3- Code Gray Le code gray est un code non pondéré et ne convient pas aux calculs arithmétiques, en ce sens qu’il n’y a pas de poids spécifiques qui correspondent aux positions des bits. Ce code est caractérisé par le fait qu’en passant d’une combinaison à la suivante un seul bit change de valeur, ce qui minimise les erreurs lors du codage. Comme par exemple les codeurs à positionnement rotatif, où la prédisposition aux erreurs augmente selon la quantité de bits changés entre deux nombres consécutifs d’une séquence. Le tableau suivant énumère le code gray de 4 bits pour les nombres décimaux de 0 à 15. Nombre Code Gray Nombre Code Gray 0 0 0 0 0 8 1 1 0 0 1 0 0 0 1 9 1 1 0 1 2 0 0 1 1 10 1 1 1 1 3 0 0 1 0 11 1 1 1 0 4 0 1 1 0 12 1 0 1 0 5 0 1 1 1 13 1 0 1 1 6 0 1 0 1 14 1 0 0 1 7 0 1 0 0 15 1 0 0 0 30 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Conversion binaire-code gray Pour effectuer la conversion d’un nombre binaire en code gray, on procède selon les règles suivantes : 1- le bit de poids le plus fort du code gray, situé à l’extrême gauche, est le même que le MSB correspondant au nombre binaire. 2- En vous déplaçant de gauche à droite, additionnez chaque paire de bits adjacente du code binaire pour obtenir le bit suivant du code gray. Rejetez les retenues. Exemple : 1 0 1 1 0 Binaire 1 1 1 0 1 Code Gray Conversion code gray-binaire Pour effectuer la conversion d’un nombre codé en gray en code binaire, on procède selon les règles suivantes : 1- Le bit de poids le plus fort du code binaire, situé à l’extrême gauche, est identique au bit correspondant au code gray. 2- Additionnez chaque nouveau bit de code binaire crée au bit de code gray adjacent suivant (situé immédiatement à droite) en rejetant les retenues. Exemple : 1 1 0 1 1 Code Gray 1 0 0 1 0 Binaire V-4- Détection d’erreur au moyen de la méthode de parité Un grand nombre de système utilisent un bit de parité pour la détection d’erreurs. Tout groupe de bits comporte un nombre pair ou impair de bit 1. Un bit de parité est associé à un groupe de bits pour que le nombre total de 1 dans un groupe soit toujours pair ou toujours impair. Un bit de parité paire donne un total de 1 pair et un bit de parité impaire donne un total de 1 impair. Un système donné fonctionne avec une parité paire ou une parité impaire, il ne peut pas utiliser les deux. Par exemple, dans un système fonctionnant avec une 31 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI parité paire, chaque groupe de bits reçu est contrôlé pour s’assurer que le total de 1 dans ce groupe correspond à un nombre pair. Si ce nombre est impair, une erreur s’est produite. Le tableau suivant illustre comment les bits de parité sont associés aux nombres codés en DCB pour les parités paire et impaire. Parité paire Bit de parité Parité impaire DCB Bit de parité DCB 0 0000 1 0000 1 0001 0 0001 1 0010 0 0010 0 0011 1 0011 1 0100 0 0100 0 0101 1 0101 0 0110 1 0110 1 0111 0 0111 1 1000 0 1000 0 1001 1 1001 V-5- Code ASCII : American standard code for Information Interchange C’est un code alphanumérique universel utilisé dans la plupart des ordinateurs. Ce code comprend 128 caractères et symboles représentés par un code binaire de 7 bits. En réalité, il s’agit d’un code à 8 bits dont le MSB est toujours égal à 0. Ce code de 8 bits correspond aux nombres hexadécimaux de 00 à 7F. Le code ASCII sert à coder l’information alphanumérique transmise entre un ordinateur et ses périphériques d’entrée/sorties comme les écrans de visualisation ou les imprimantes. Un ordinateur recourt aussi à ce code pour stocker les informations envoyées par l’opérateur depuis son clavier. 32 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI ELEMENTS D’ALGEBRE DE BOOLE Un processeur est composé de transistors permettant de réaliser des fonctions sur des signaux numériques. Ces transistors, assemblés entre eux forment des composants permettant de réaliser des fonctions très simples. A partir de ces composants il est possible de créer des circuits réalisant des opérations très complexes. L'algèbre de Boole (du nom du mathématicien anglais Georges Boole 1815 - 1864) est un moyen d'arriver à créer de tels circuits. L'algèbre de Boole est une algèbre se proposant de traduire des signaux en expressions mathématiques. Pour cela, on définit chaque signal élémentaire par des variables logiques et leur traitement par des fonctions logiques. Des méthodes (table de vérité) permettent de définir les opérations que l'on désire réaliser, et à transcrire le résultat en une expression algébrique. Grâce à des règles appelées lois de composition, ces expressions peuvent être simplifiées. Cela va permettre de représenter grâce à des symboles un circuit logique, c'est-àdire un circuit qui schématise l'agencement des composants de base (au niveau logique) sans se préoccuper de la réalisation au moyen de transistors (niveau physique). I- Règles générales de l’algèbre de Boole I- 1- Postulats de l’algèbre de Boole Une algèbre de Boole est un ensemble quelconque d’éléments E, à valeurs dans l’ensemble {0, 1}, sur lequel on a défini : Une relation d’équivalence (égalité = ) Deux lois de composition interne : - l’addition ou somme logique ( +, OU ) - la multiplication ou produit logique ( . , ET ) Une loi de complémentation, telle que : pour tout élément a de E, il existe un complément noté a , on a 0 1 , 1 0 . 33 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI I- 2- Axiomes de l’algèbre de Boole Commutativité a, b E abba (1) a.b b.a (1’) Associativité a, b, c E (a b) c a (b c) (a.b).c a.(b.c) (2) (2’) Double distributivité a, b, c E a.(b c) a .b a .c a (b.c) (a b).(a c) (3) (3’) Pour chacune des deux opérations, il existe un élément neutre tel que : a E a 0 a (4) a .1 a (4’) Chaque élément admet un inverse ou complémentaire tel que : aE a a 1 (5) a.a 0 (5’) I- 3- Conséquences directes des axiomes Idempotence a E a 1 1 , aaa (6) a.a a (6’) a .0 0 (7) L’élément neutre 1 et l’élément neutre 0 sont uniques. Loi d’absorption : - Dans une somme booléenne, un terme absorbe ses multiples. - Dans un produit booléen, un facteur absorbe tous les facteurs composés de sommes qui le contiennent. 34 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI a, b Ea b.a a a .b a a (8) (8’) II – Les fonctions logiques II- 1- Définition On appelle « fonction logique » une entité acceptant plusieurs valeurs logiques en entrée et dont la sortie (il peut y en avoir plusieurs) peut avoir deux états possibles : 0 ou 1. En réalité ces fonctions sont assurées par des composants électroniques admettant des signaux électriques en entrée, et restituant un signal en sortie. Les signaux électroniques peuvent prendre une valeur de l'ordre de 5 Volts (c'est l'ordre de grandeur général) que l'on représente par un 1, ou 0 V que l'on représente par un 0. Exemple : L=f(K1, K2) L=1 si K1=1 et K2=1 Pour réaliser toutes les fonctions logiques, on a besoin de trois fonctions logiques de base : négation, intersection et la réunion. Ces fonctions sont représentées par des schémas appelés logigrammes. Ils sont représentés soient par : - Les symboles européens actuels (norme CEI : commission d’électronique internationale) - Anciens symboles américains (norme MIL) - Symboles DIN (Deutch Industrie Normes) II- 2- Table de vérité L’ensemble des valeurs prises par une fonction logique pour toutes les combinaisons possibles de ses variables est rangé dans un tableau, appelé table 35 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI de vérité, comportant autant de colonne que de nombre de variables, plus une colonne pour ranger les valeurs de la fonction, et autant de ligne qu’il est possible de faire des combinaisons différentes avec les variables. Exemple : Somme logique a B S=a+b S 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 Cette table peut être traduite par une expression algébrique : Sababab Ceci traduit bien que S = 1 pour l’une ou l’autre des trois combinaisons et que S = 0 pour la combinaison restante. II- 3- Théorème de De Morgan Il peut être intéressant, connaissant l’expression d’une fonction booléenne, de trouver celle de la fonction complémentaire : ce que permet le théorème de De Morgan. Théorème : Nous obtenons l’expression de la fonction complémentaire d’une fonction F, en complémentant les variables dans l’expression de F et en intervertissant les signes « . » et « + ». Ainsi : F a b F a b FabFab Dans le cas général de n variables : n a i i1 n n a i i1 n a i a i i1 i1 36 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Remarque : Concernant la recherche de l’expression d’une fonction à partir du tableau de vérité de celle-ci. Reprenons l’exemple de la fonction S = a + b Lorsque la fonction comporte un plus grand nombre de 1 que de 0, il peut être plus simple de passer par l’intermédiaire de la fonction complémentaire. Ainsi, pour éviter d’avoir à effectuer la simplification de S, nous pouvons écrire la fonction complémentaire S puis l’inverser en appliquant le théorème de De Morgan. Soit : S a b Puis : S S a b II- 4- Formes canoniques Toute fonction F de n variables prend l’état 1 pour certaines combinaisons des états de ces variables. Cette fonction peut être représentée dans E par un sousensemble F, union des sous-ensembles élémentaires correspondants chacun à une combinaison donnant la valeur 1 à la fonction. II-4-1- Première forme canonique Ainsi, par correspondance, l’expression algébrique de la fonction F de n variables pourra toujours se présenter sous la forme de la somme d’un certain nombre de termes (mintermes) constitués de produit de n variables (pouvant être complémentées), chacun de ces mintermes étant l’expression correspondant à un sous-ensemble élémentaire. Evidemment, la somme sera composée au maximum de C mintermes (avec C = n 2 ). Cette expression sera dite première forme canonique de la fonction F. Exemple : Soit la fonction F définie par sa table de vérité. 37 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI C B a F F La forme canonique apparaît 0 0 0 0 1 immédiatement à la lecture de la table 0 0 1 1 0 (en notant les 1 de la fonction) : 0 1 0 1 0 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 Fabcabcabc Remarque : une fonction F peut ne pas apparaître sous la forme canonique. Nous pouvons nous y ramener en homogénéisant l’expression de F. Ainsi pour : F a b c a (b b ) (c c ) b c (a a ) Fabcabcabcabcabc II-4-2- Deuxième forme canonique L’expression canonique de la fonction F peut également apparaître sous la forme d’un produit de somme de n variables (produit de maxtermes). Cette deuxième forme canonique peut être obtenue en écrivant l’expression de F à partir de la table de vérité, puis en inversant cette expression pour obtenir F. Ainsi en reprenant l’exemple précédent : F a bc a bc a bc a bc a b c Finalement : F F (a b c) (a b c) (a b c) (a b c) (a b c) II- 5- Les fonctions logiques à une seule variable binaire Elles matérialisent les fonctions booléennes à une seule variable. Ecrivons la table de vérité des fonctions d’une variable a : 38 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI a f0 f1 f2 f3 0 0 1 0 1 1 0 0 1 1 Les expressions algébriques correspondantes aux 4 fonctions sont : f 0 0 , f1 a , f 2 a , f 3 1 Si on exclut les deux fonctions constantes f (a) = 0 et f (a) = 1, il en reste deux qui présentent un intérêt particulier : f (a) = a : c’est le buffer ou amplificateur f (a) a : c’est l’inverseur. Le buffer - Fonction booléenne : a f (a) a - Table de vérité : a f (a) 0 0 1 1 - Logigramme : La construction d’un logigramme est une première étape vers la réalisation de fonctions logiques sous forme électronique, pneumatique ou hydraulique. Les fonctions élémentaires sont représentées par des cellules (portes logiques) et l’information d’entrée (à gauche) est traitée pour fournir la sortie (à droite). Le temps de propagation de l’information dans les portes est supposé infiniment court. Le circuit intégré 7407 fait partie de la série des circuits intégrés 7400 utilisant la technologie TTL. Ce circuit est composé de six buffers indépendants possédant chacun une sortie à collecteur ouvert d'une protection de 30 Volts. 39 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI L’inverseur - Fonction booléenne : a f (a) a - Table de vérité : a f (a) 0 1 1 0 - Logigramme Le symbole « ◦ » désigne la complémentation. On peut l’utiliser en entrée ou sortie de portes. Circuit Intégré : 7404 D’une façon générale, pour les fonctions de n variables les colonnes des fi comporte C lignes. Il y aura donc N fonctions différentes avec : N=2 C Mais C n’est rien d’autres que le nombre de combinaisons des états des variables, soit : C=2 40 n Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI D’où finalement : N 2C 22 n II- 6- Les fonctions logiques à deux variables binaires Dans le cas où n = 2, nous aurons N 42 2 16 fonctions. Le tableau suivant regroupe d’une manière condensée les 16 tables de vérité qu’il est possible d’écrire avec deux variables. a b f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Ces 16 fonctions ont comme expression algébrique : f0 0 , f1 a b f2 a b f3 a b a b a f6 a b a b f ababb f 13 a b f13 a b 10 f 7 a b f7 a b f4 a b f5 a b a b b f8 a b f9 a b a b f15 f12 a b a b a 1 f 11 a b f11 a b f 14 a b f14 a b Outre les opérateurs fondamentaux ET, OU, NON, nous trouvons quelques opérateurs importants tels que le NOR, le NAND, le OU EXCLUSIF ainsi que le NON OU EXCLUSIF nommé fonction coïncidence. Somme logique Elle s’appelle aussi OU, OR (ou inclusif), réunion. - Fonction booléenne : (a, b) f (a, b) a b - Table de vérité : a b f 0 0 0 0 1 1 1 0 1 1 1 1 41 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI - Logigramme Circuit Intégré : 7432 Produit logique Elle s’appelle aussi fonction ET, AND, intersection. - Fonction booléenne : (a, b) f (a, b) a b - Table de vérité : a b f 0 0 0 0 1 0 1 0 0 1 1 1 - Logigramme Circuit Intégré : 7408 42 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI L’opérateur NOR - Fonction booléenne : (a, b) f (a, b) a b a b - Table de vérité : a b f 0 0 1 0 1 0 1 0 0 1 1 0 - Logigramme Circuit Intégré : 7402 L’opérateur NAND - fonction booléenne : (a, b) f (a, b) a b a b - Table de vérité : a b F 0 0 1 0 1 1 1 0 1 1 1 0 - Logigramme 43 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Circuit Intégré : 7400 L’opérateur OU exclusif (XOR) C’est un opérateur qui donne un 1 logique à sa sortie si exclusivement une seule entrée sur les deux est à l’état 1. - Fonction booléenne : (a, b) f (a, b) a b a b a b - Table de vérité : a b f 0 0 0 0 1 1 1 0 1 1 1 0 - Logigramme Circuit Intégré : 7486 L’opérateur coïncidence C’est l’opérateur XOR complémenté. Il donne un 0 logique à sa sortie si exclusivement une seule des entrées est à l’état 1. 44 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI - Fonction booléenne : (a, b) f (a, b) a b a b a b - Table de vérité : a b f 0 0 1 0 1 0 1 0 0 1 1 1 - Logigramme : Notez que ces portes logiques représentées peuvent avoir plus de deux entrées. Le nombre de portes dans un circuit intégré dépend du nombre d’entrées dans ces portes. Dans un circuit intégré, on trouve : - 4 portes logiques à deux entrées - 3 portes à trois entrées - 2 portes à quatre entrées - 1 porte si plus de quatre entrées Exemple : II-7- Chronogramme d’une fonction Un chronogramme est un diagramme montrant l'évolution des entrées et des sorties en fonction du temps. 45 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Voici par exemple ce à quoi pourrait ressembler un chronogramme de l'opérateur ET : Chronogramme de l’opérateur ET En réalité les signaux électriques ne passent pas instantanément de 0 à 1, les pentes (ici verticales) sont obliques, et le traitement des entrées cause un retard sur les sorties : Chronogramme de l’opérateur ET 46 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI SIMPLIFICATION DES FONCTIONS LOGIQUES Afin d’assurer la réalisation physique d’une fonction logique d’une façon plus simple, économique, il est nécessaire de chercher l’expression la plus simple de cette fonction. Simplifier une expression booléenne revient à réduire : Le nombre des opérateurs, ou le nombre des entrées sur les opérateurs réalisant la fonction logique. La place disponible pour les opérations. Le nombre des interconnexions (réduire les aléas). Le temps de propagation de l’information à travers les circuits. Des méthodes purement algébriques. Des méthodes graphiques I- Méthodes algébriques Les méthodes algébriques utilisent les lois de l’algèbre de Boole. 1- Mise en facteur Ex 1 : a + ab = a (1 + b) = a Ex 2 : ab ab a(b b) a 2- Adjonction à une somme d’un terme existant Ex : y ab ab ab y ab ab ab ab y a(b b) b(a a) y a b 3- Adjonction à une somme d’un terme nul y ab ac bc Ex : y b(a c) ac 47 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI y b(a c) ac aa y b(a c) a(c a) y (a c) (a b) 4- Utilisation de l’inversion et des théorèmes de De Morgan Ex : y c(a ab) y c a(a b) c aa ab y c ab y = c(a+b) 5. Utilisation des distributivités Ex : y a ab y (a a)(a b) yab II- Méthodes graphiques II-1- Tables de Karnaugh La table de Karnaugh est un outil graphique qui permet de simplifier de manière méthodique des expressions booléennes. Elle ressemble à une table de vérité en ce sens qu’elle présente toutes les valeurs possibles des variables d’entrée et la sortie résultante pour chaque valeur. Au lieu d’un arrangement de colonnes et de lignes comme dans une table de vérité, la table de karnaugh est un tableau de carrés (cases). Chacun d’entre eux représente une valeur binaire des variables d’entrée. L’arrangement des cases est conçu pour permettre la simplification d’une expression donnée en groupant ceux-ci selon des règles précises. Le nombre de cases d’une table de Karnaugh est égal au nombre total de combinaisons possibles des variables d’entrées. Pour n variables, le nombre de n cases est égal à 2 . 48 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Dans le cas de 3 variables, la table de Karnaugh est un tableau de 8 cases dont chacune d’elles correspond à un minterme. Dans le cas de 4 variables, c’est un tableau de 16 cases. Avec l’ordre du remplissage choisi, lorsqu’on passe d’une case du tableau à sa voisine, il n’y a qu’une seule variable qui change d’état. La notion essentielle pour l’utilisation de ces tables est celle d’états adjacents, ils correspondent : Soit à des cases voisines. Par exemple dans la table de trois variables représentée ci-dessus, la case a b c est adjacente aux cases a b c , a bc et ab c. Soit à des cases qui seraient voisines si on rapprochait les bords parallèles qui limitent le rectangle. C'est-à-dire que chaque case de la ligne du haut est adjacente à la case correspondante de la ligne du bas et chaque case de la colonne la plus à gauche est adjacente à la case correspondante de la colonne la plus à droite. Par exemple, la case a b cd est adjacente à la case a b cd et à la case a b cd . Soit encore à des cases symétriques par rapport aux frontières qui délimitent des carrés de 4 × 4 cases dans le cas d’un nombre de variables supérieur à 4. Le but essentiel des tables de Karnaugh est la minimisation des expressions logiques. Cette minimisation consiste à supprimer les termes superflus, à réduire le plus possible le nombre des termes utiles ou à réduire le nombre de variables 49 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI dans les termes. La réduction se fait en essayant de grouper le plus grand nombre possible de cases adjacentes, les cases correspondantes aux termes de l’expression à réduire étant repérées, par exemple, par des "1". Chaque groupement correspond à un terme de la fonction. Au cours du processus de réduction, une case du tableau peut être utilisée dans plusieurs groupements afin de rendre ceux-ci les plus grands possibles. II-2- Exemples 1 er exemple : Lorsqu’une fonction est définie par sa table de vérité, il suffit de placer des "1" dans les cases correspondantes aux monômes où la fonction est vraie. Habituellement, les 0 ne sont pas inscrits sur la table de karnaugh. L’expression simplifiée de la fonction F est : F(A, B, C) a c a b abc En effet, dans le cas de 3 variables un groupement : - D’une case donne un terme de 3 variables - De deux cases donne un terme de 2 variables - De 4 cases donne un terme d’une variable - De 8 cases donne la valeur logique 1. 2 ème exemple : Lorsque la fonction est définie par une somme de monôme, il faudra porter des "1" dans les cases correspondantes aux termes de cette somme. F(A, B, C, D) A BC D B C D A C B Le monôme à 4 variables sera représenté par un "1" dans une seule case. On remplie donc la case du monôme 50 A BC D par "1". Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Le monôme à 3 variables sera représenté par 2 "1" dans deux cases. En effet, pour le monôme B C D qui correspond à la combinaison 011, elle manque la variable A. On joigne cette variable, avec toutes ces combinaisons possibles, au monôme. Ce qui permet de remplir deux cases (la case A B C D et la case A B C D ) par des "1". Le monôme à 2 variables sera représenté par 4 "1" dans quatre cases. Au monôme AC on rejoigne toutes les combinaisons possibles des deux variables manquantes B et D, ce qui permet de remplir 4 cases qui correspondent aux monômes A B C D , A B C D , A B C D et A BC D . Le monôme à 1 variable sera représenté par 8 "1" dans huit cases. On rejoigne donc les 8 combinaisons des variables qui manquent A, C et D au monôme B et on remplie par des "1" les 8 cases correspondantes. Pour simplifier la fonction booléenne, on regroupe les cases "1" pour former les boucles les plus grandes possibles jusqu’à ce que tous les "1" soient entourés (un "1" peut être entouré plusieurs fois). On obtient, après simplification, la fonction suivante : F(A, B, C, D) B A C C D 3 ème exemple : il arrive parfois que des combinaisons de variables d’entrées ne soient pas permises dans une application. Dans le premier chapitre, nous avons vu que six combinaisons ne sont pas valides dans le code DCB : 1010, 1011, 1100, 1101, 1110, 1111. Comme ces états ne sont pas permis et qu’ils ne se produiront jamais dans une application fonctionnant avec le code DCB, 51 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI ils peuvent être traités comme des conditions "indifférentes". Ces états prennent indifféremment la valeur 0 ou 1. Les termes indifférents peuvent être utilisés pour simplifier d’avantage une expression booléenne. En effet, on place un X pour chaque terme indifférent dans la table de Karnaugh. Lorsque les 1 sont groupés, les X qui sont adjacents à ces 1 peuvent être considérés comme des 1 pour permettre un groupement de plus grande taille (constitué des 1 et des X). Plus la taille du groupe est grande, plus le terme qui en découle est simple. Les X non utilisés sont considérés comme égales à 0. Soit la fonction F(A, B, C,D) définie par la table de vérité suivante : Si les conditions indifférentes sont remplacées par des 1 dans les groupements possibles, l’expression simplifiée de F s’écrira : F(A,B,C,D) = C D B D A D Sinon : F(A,B,C,D) = B C D B D A D 52 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI SYNTHESE DES CIRCUITS COMBINATOIRES Nous rappelons qu’un système combinatoire est caractérisé par le fait qu’à une combinaison des variables d’entrée correspond une et une seule combinaison des variables de sortie, qui apparaît après un intervalle de temps appelé temps de propagation. La méthode de recherche des équations d’un circuit combinatoire consiste à réaliser successivement les opérations suivantes : Déterminer les différentes variables et les fonctions à calculer Déterminer la table de vérité de chaque fonction Ecrire les équations logiques des fonctions des sorties Simplifier ces expressions Etablir le schéma correspondant. Au cours de cette dernière étape, il conviendra de se rappeler que les portes ne sont pas les seuls éléments possibles pour réaliser le schéma. Nous verrons en effet qu’il existe sous forme intégrée de nombreuses fonctions plus ou moins complexes qui conduisent à des solutions très élégantes et très simples. 53 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI I- Additionneur de base I-1- Demi-additionneur Rappelons les règles de base de l’addition binaire : A B Somme Retenue 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Ces opérations s’effectuent par un circuit logique appelé un demi-additionneur. Ce dernier prend deux nombres binaires à ses entrées et produit deux nombres binaires à ses sorties : un bit de somme et un bit de retenue. Symbole logique : Equations logiques : SAB RAB Logigramme : I-2- Additionneur complet L’additionneur complet prend deux bits d’entrée et une retenue et produit une sortie de somme et une retenue de sortie. La différence fondamentale entre un demi-additionneur et un additionneur complet est que ce dernier traite une retenue d’entrée. 54 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Symbole logique : Table de vérité : A B Ci S Co 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Equation logique : S A B Ci Co A B (A B) Ci Logigramme : Schéma d’additionneur complet à partir de deux demi-additionneurs : 55 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI II- Additionneurs binaires parallèles Le branchement de deux additionneurs complets (ou plus) forme un additionneur binaire parallèle. Pour additionner deux nombres binaires, il faut un additionneur complet pour chaque bit des nombres. Il faut donc deux additionneurs pour des nombres de 2 bits, quatre additionneurs pour des nombres de 4 bits, etc. La sortie de retenue de chaque additionneur est connectée à l’entrée de retenue de l’additionneur de bit de rang plus élevé suivant. Notez qu’on peut utiliser un demi-additionneur pour la position de poids le plus faible, ou relier l’entrée de retenue d’un additionneur complet à la masse, puisqu’il n’y a pas d’entrée de retenue pour la position du bit de poids le plus faible. Additionneur parallèle de 4 bits contenant quatre additionneurs complets : Diagramme d’ensemble : Symbole logique : 56 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Table de vérité : Cn-1 An Bn Sn Cn 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Additionneur MSI (circuits d’intégration à moyenne échelle) : - Famille TTL : 74LS83A, 74LS283 - Famille CMOS : 4008. Montage en cascade d’additionneurs : On peut utiliser un montage spécial de deux additionneurs de 4 bits pour faire la somme de deux nombres de 8 bits. On connecte l’entrée de retenue de l’additionneur des rangs de poids faibles (C0) à la masse et on connecte la sortie de retenue de l’additionneur des rangs de poids faibles à l’entrée de retenue de l’additionneur de rangs de poids forts. Ce procédé est connu sous le nom de montage en cascade. L’additionneur de rangs de poids faibles est celui qui traite les 4 bits de poids les plus faibles des nombres et l’additionneur des rangs de poids forts est celui qui traite les 4 bits de poids les plus forts des nombres de 8 bits. 57 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Schéma de mise en cascade d’additionneur de 4 bits pour former un additionneur 8 bits : Exemple : Additionneurs des rangs de poids faibles Additionneurs des rangs de poids forts III- Comparateur La fonction principale d’un comparateur est de comparer les grandeurs de deux quantités binaires afin de déterminer la relation existante entre ces quantités. Egalité et inégalité. Egalité : La porte ou exclusif peut servir de comparateur de base puisque sa sortie vaut 1 si les deux bits à ses entrées sont différents et qu’elle vaut 0 si les bits d’entrées sont identiques. Pour comparer deux nombres de 2 bits, on peut utiliser le circuit suivant : A=A1A0, B=B1B0 La sortie de la porte Et indique l’égalité (1) ou l’inégalité (0) de deux nombres. 58 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Inégalité : En plus de la sortie d’égalité, la plupart des comparateurs à circuit intégré sont munis de sorties additionnelles indiquant quel nombre binaire est le plus grand. Une sortie indique la condition lorsque le nombre A est plus grand que le nombre B (A>B) et une autre sortie indique si le nombre A est plus petit que le nombre B (A<B), comme l’indique le symbole logique du comparateur de 4 bits suivant : Symbole logique : Les conditions possibles sont les suivantes : Si A3=1 et B3=0 : A>B Si A3=0 et B3=1 : A<B Si A3=B3, on examine le rang de poids plus faible suivant pour identifier une condition d’inégalité. Exemple : ANALYSE D'UN COMPARATEUR INTÉGRÉ : LE 7485 Le circuit intégré 7485 est un comparateur 4 bits, c'est-à-dire qu'il effectue la comparaison de deux nombres de 4 bits. De plus, il dispose de 3 entrées notées A = B, A > B et A < B qui autorisent la mise en cascade de plusieurs circuits comparateurs du même type. Ainsi, on peut comparer des nombres de 8, 12, 16 bits.... 59 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Schéma logique du circuit intégré 7485 Avec ce circuit, on compare le nombre A composé des bits A3, A2, A1 et A0 (A3 = MSB et A0 = LSB) avec le nombre B composé des bits B3, B2, B1 et B0 (B3 = MSB et B0 = LSB). La table de vérité ci-dessous met en évidence l'action des entrées A > B, A < B et A = B. Entrées des données Entrées cascadables Sorties A3, B3 A2, B2 A1, B1 A0, B0 A>B A<B A3>B3 X X X X X X 1 0 0 A3<B3 X X X X X X 0 1 0 A3=B3 A2>B2 X X X X X 1 0 0 A3=B3 A2<B2 X X X X X 0 1 0 A3=B3 A2=B2 A1>B1 X X X X 1 0 0 A3=B3 A2=B2 A1<B1 X X X X 0 1 0 A3=B3 A2=B2 A1=B1 A0>B0 X X X 1 0 0 60 A=B A>B A<B A=B Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI A3=B3 A2=B2 A1=B1 A0<B0 X X X 0 1 0 A3=B3 A2=B2 A1=B1 A0=B0 1 0 0 1 0 0 A3=B3 A2=B2 A1=B1 A0=B0 0 1 0 0 1 0 A3=B3 A2=B2 A1=B1 A0=B0 0 0 1 0 0 1 A3=B3 A2=B2 A1=B1 A0=B0 X X 1 0 0 1 A3=B3 A2=B2 A1=B1 A0=B0 1 1 0 0 0 0 A3=B3 A2=B2 A1=B1 A0=B0 0 0 0 1 1 0 Si l'on souhaite que la sortie A = B passe à l'état 1 chaque fois que les deux nombres binaires sont égaux, il suffit de porter l'entrée A = B à l'état 1, l'état des entrées A < B et A > B étant indéfini. Si l'on souhaite que la sortie A > B passe à l'état 1 également dans le cas où les deux nombres binaires sont égaux, il suffit de porter l'entrée A > B à l'état 1 et de porter les entrées A < B et A = B à l'état 0. Dans cette configuration de l'état des entrées A > B, A < B et A = B, la sortie A > B est à l'état 1 lorsque le nombre binaire A est supérieur au nombre binaire B ou quand ces deux nombres sont égaux. Elle indique donc si A > B. De même, en portant l'entrée A < B à l'état 1 et les entrées A > B et A = B à l'état 0, la sortie A < B indique le nombre binaire A est inférieur au nombre binaire B. En mettant en série deux comparateurs 7485, on peut comparer deux nombres de 8 bits. Il suffit de relier la sortie A = B du premier comparateur à l'entrée correspondante du second et de faire de même avec les sorties A > B et A < B. Les liaisons à effectuer sont indiquées sur la figure suivante : Comparateur LSB Comparateur MSB Mise en cascade de deux circuits intégrés 7485 61 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Ainsi, on compare le nombre A formé des 8 bits A7 à A0 (A7 = MSB et A0 = LSB) et le nombre B formé des 8 bits B7 à B0 (B7 = MSB et B0 = LSB). Le premier circuit compare les poids faibles de A avec le poids faibles de B. Le résultat de cette comparaison est transmis aux entrées A < B, A = B et A > B du deuxième circuit. Celui-ci compare les poids forts de A avec les poids forts de B et, en fonction du résultat de la comparaison des bits de poids faibles de A et B, indique sur ses sorties A > B, A = B et A < B le résultat de la comparaison des nombres A et B. IV- Décodeurs n Un décodeur est un circuit à n entrées d’adresses et 2 sorties dont une seule est active à la fois, son rang étant déterminé par la valeur binaire matérialisé par l’état des n entrées. Ce circuit s’utilise pour choisir un seul élément à la fois n parmi 2 . Table de vérité d’un décodeur à deux entrées et quatre sorties (active à 1) : Entrées d’adresses 1 Sorties 0 B (2 ) A (2 ) 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 Décodeur 1 parmi 16 MSI : 74HC154 : L’élément 74HC154 est un exemple type de décodeur MSI. Son symbole logique est illustré à la figure ci-dessous. Ce composant est muni d’une fonction de validation (VAL), qui comprend une porte NON-OU utilisée en mode ET négatif. Il faut appliquer un niveau Bas à chaque entrée de validation 0 et 1 du circuit intégré pour que la porte de validation (VAL) produise un niveau Haut à sa sortie. 62 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Symbole logique : Table de vérité : Entrées 0 1 Sorties A3 A2 A1 A0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 X X X X 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 X X X X 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X X X X 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Exemple : décodage d’un nombre de A4A3A2A1A0 63 5 bits représenté par le format : Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI - Le premier décodeur permet le décodage des 16 premiers nombres du système décimal de 0 à 15. Le bit de pois le plus fort A 4 =0 ce qui rend ce décodeur valide et le deuxième invalide. - Le deuxième décodeur permet le décodage des nombres de 16 à 31. A =1 d’où la validation de ce décodeur et le premier devient invalide. Brochage : Décodeur DCB-décimal : C’est un décodeur 4 lignes d’entrée et 10 lignes de sortie ou décodeur 1 parmi 10. Exemple : 74HC42 est un décodeur DCB décimale. 64 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Décodeur DCB- 7 segments : Le décodeur DCB-7 segment reçoit un code DCB à ses entrées et produit des sorties pour piloter des afficheurs à 7 segments, afin d’obtenir un affichage décimal. Exemple : 74LS47 est un exemple de composant MSI qui permet de décoder une entrée DCB et de piloter un afficheur à 7 segments. - LT (Pour tester les segments de l’afficheur - RBI (entrées de dissimulation) (entrée/sortie de dissimulation) - / 65 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI V- Codeurs Un codeur est un circuit logique combinatoire effectuant la fonction inverse du n décodeur. C’est un circuit à 2 entrées dont une seule est active et qui délivre sur n sorties le numéro codé de cette entrée. Codeur décimal-DCB : Ce type de codeur possède 10 entrées (un pour chaque chiffre décimal) et 4 sorties qui correspondent au code DCB. Il s’agit d’un codeur 10 lignes de sorties et 4 lignes de base. Le numéro de l’entrée active est codé en DCB sur 4 bits, sa table de vérité est la suivante : Entrées Sorties E0 1 E1 0 E2 0 E3 0 E4 0 E5 0 E6 0 E7 0 E8 0 E9 0 S0 0 S1 0 S2 0 S3 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 L’état de sortie pour la valeur 0 codée par 0000 s’obtient dans le cas où aucune entrée n’est activée et dans le cas où l’entrée E0 qui est activée, alors pour faire la différence entre les deux, on ajoute un signal supplémentaire de contrôle qui est active à 1 si l’une des 10 entrées passe au niveau 1. Codeur de priorité : C’est un codeur qui produit la même fonction de codage de base discuté précédemment. Un codeur muni d’une fonction de priorité produit une sortie 66 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI binaire ou DCB qui correspond à l’entrée du chiffre décimal le plus élevé d’état valide et ignore toutes les autres entrées valides des valeurs inférieures. Exemple : Codeur de priorité 74F148 (8 vers 3). C’est un codeur possédant 8 entrées d’état valide au niveau Bas et 3 sorties binaires d’état valide au niveau Bas. Il possède une entrée de validation E1 qui est active au niveau Bas. Le circuit comporte aussi une sortie de validation E0 utilisée comme extension dans certains montages et une sortie GS qui indique qu’au moins une entrée est valide. Symbole logique : Table de vérité : Entées Sorties E1 e0 e1 e2 e3 e4 e5 e6 e7 A2 A1 A0 GS E0 1 X X X X X X X X 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 X X X X X X X 0 0 0 0 0 1 0 X X X X X X 0 1 0 1 1 0 1 0 X X X X X 0 1 1 0 0 0 0 1 0 X X X X 0 1 1 1 0 1 1 0 1 0 X X X 0 1 1 1 1 1 0 0 0 1 0 X X 0 1 1 1 1 1 1 1 1 0 1 0 X 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 1 67 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI VI- Multiplexeurs Un multiplexeur est un composant permettant d’acheminer les informations numériques de plusieurs sources sur une seule ligne, afin de les transmettre vers n une destination commune. C’est un circuit à 2 entrées d’information, n entrées d’adresses et une sortie. L’entrée d’information sélectionnée à la sortie est celle dont le rang correspond à l’équivalent binaire de l’adresse sélectionnée. Exemple : multiplexeur 1 parmi 4 Symbole logique : Table de vérité : Entrées de sélection Sortie S1 S0 Y 0 0 D0 0 1 D1 1 0 D2 1 1 D3 Expression logique : Y D0 S0 S1 D1 S1S0 D2S1 S0 D3S1S0 68 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Logigramme : Multiplexeur MSI : Parmi les multiplexeurs disponibles en circuit intégrés, il existe le 74HC157, tout comme sa version LS, contient quatre multiplexeurs à deux entrées séparées, de même pour le 4019, le 74HC150 à seize entrées de données, le 74HC153 qui est un double multiplexeur à quatre entrées et le 74HC151 à huit entrées de données. Symbole logique du 74HC151 : Table de vérité : Val 1 S2 S1 S0 Y X X X 0 0 0 0 0 D0 0 0 0 1 D1 0 0 1 0 D2 0 0 1 1 D3 0 1 0 0 D4 0 1 0 1 D5 0 1 1 0 D6 0 1 1 1 D7 69 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Brochage du 4019 : VII- Démultiplexeurs Le démultiplexeur réalise la fonction inverse d’un multiplexeur : il aiguille une seule entrée vers une sortie parmi plusieurs. Exemple : Le circuit intégré 74LS139 contient deux démultiplexeurs à 4 voies. Chacun d'eux possède 2 entrées de sélection A et B, une entrée de données G et 4 sorties (Y0 à Y3). Le brochage et la table de vérité de ce circuit sont représentés cidessous. 70 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI VIII- Unité arithmétique et logique (UAL) Utilisée dans pratiquement tous les systèmes informatiques, elle réalise des opérations arithmétiques (addition, soustraction, etc.) et logiques (ET, OU, etc.). C’est un circuit programmable : les relations entre les données en sortie et les données en entrée sont modifiables. Symbole logique : Circuit intégré de l’UAL : 74181 Les Ai et Bi sont les entrées d’opérandes, Les Si son les entrées du code de l’opération, Les Fi sont les sortie pour le résultat, Les sorties P et G servent à la mise en cascade des UAL, et donc de calcul de retenue anticipée. 71 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Table de vérité du 74181 : 72 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI INTRODUCTION A LA LOGIQUE SEQUENTIELLE La différence essentielle entre les systèmes combinatoires étudiés dans les chapitres précédents et les systèmes séquentiels que nous allons aborder réside dans le fait que pour les circuits combinatoires, l'état de la sortie ne dépend que de l'état présent des entrées, ce qui limite considérablement le champ de leurs applications. Alors que les systèmes séquentiels permettent la mise au point des systèmes dont le fonctionnement dépend non seulement des entrées reçues, mais également des informations traitées précédemment. Pour traduire cet effet, on introduit une mémoire permettant au circuit de se souvenir des évènements passés et de traiter l’information plus adéquatement. Les fonctions de sorties des systèmes séquentiels dépendent à la fois des variables d’entrée et du temps. Mais la notion de temps n’intervient pas d’une façon explicite, elle se présente suivant deux aspects. - Celui de l’ordre dans lequel les combinaisons des variables d’entrées se succèdent. - Celui de la durée de l’impulsion. De cette définition, nous voyons apparaître la nécessité d’introduire dans les systèmes séquentiels, à côté des variables classiques des circuits combinatoires, d’autres variables dites « internes » ou secondaires qui traduisent de façon logique l’état du système à un instant donné et qui matérialisent en quelque sorte la variable temporelle. Ces variables permettent de mémoriser l’état antérieur du système et ceci nécessite un bouclage interne du système pour l’élaboration d’un état de sortie. Le schéma fonctionnel d’un tel système est illustré sur la figure suivante : 73 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Ce système séquentiel comporte : n variables primaires Xi qui sont les n composantes du vecteur d’entrée X(t). m variables secondaires Yj qui sont les m composantes du vecteur interne Y(t). m excitations secondaires yj composantes du vecteur Y(t+T) : (fonction état suivant). P variables de sortie Zp qui sont les p composantes du vecteur de sortie Les systèmes séquentiels synchrones : dont l’évolution est contrôlée par un signal d’horloge externe. On connaît les instants où l’on peut lire les sorties et on connaît le temps de réponse du système. Les éléments de mémorisation sont des bascules. Les systèmes séquentiels asynchrones : le changement d'état des sorties n'est contrôlé par aucune entrée particulière à l'inverse d'un circuit synchrone. La fonction de mémorisation est réalisée par de simples boucles de rétroaction. L'évolution des états ne dépend donc que des modifications intervenant sur les entrées Xi de la machine. Comme illustré sur les deux figures ci-dessous, ces systèmes séquentiels peuvent donc être représentés par deux modèles différents : 74 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Système séquentiel synchrone Système séquentiel asynchrone Dans un système synchrone, le moment exact où la sortie change d’état est commandé par un signal que l’on appelle couramment signal d’horloge. Ce signal est généralement un train d’ondes rectangulaires ou carrées. Les transitions du signal d’horloge sont appelées fronts et sont à la base du changement d’état des sorties du système. On parle de front montant du signal d’horloge quand il passe de 0 à 1, et de front descendant quand il passe de 1 à 0. 75 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI LES BASCULES Les bascules sont des circuits logiques séquentiels à deux états de sortie qui dépendent de l’état des entrées et éventuellement de l’état antérieur lorsqu’il y’a changement d’état. On les appelle aussi mémoire élémentaire. La bascule possède deux sorties complémentaires Q et Q . Par convention l’état de la bascule est l’état de la sortie Q. - Lorsque Q = 1, on dit que la bascule est à 1 et qu’on a stocké l’information 1. - Lorsque Q = 0, on dit que la bascule est à 0 et qu’on a stocké l’information 0. I- La bascule élémentaire R S Table de vérité : La bascule RS a deux états stables Q=1 ou Q=0. Si on applique aucun signal sur les entrées R et S (R=S=0), la bascule conserve son état précédent. Si on applique un signal sur l’entrée S (S=1), en maintenant R=0, la bascule passe à 1 quelque soit son état antérieur, et y reste après disparition de S. Si on impose R=1 avec S=0, la sortie Q de la bascule passe à 0 quel que soit son état antérieur et y reste après disparition de R. Enfin, l’application simultanée d’un signal sur les deux entrées R et S, ce qui correspond à vouloir mettre simultanément la bascule à 1 et à 0, est sans signification et normalement interdit. Le cahier des charges de la bascule RS ainsi défini conduit à la table de vérité ci-dessous : 76 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI S R Qn+1 0 0 Qn 0 1 0 1 0 1 1 1 Interdit Qn : état antérieur de la bascule Qn+1 : état future après action sur les entrées S et R Représentation symbolique : S : entrée de mise à 1 (Set) ou forçage à 1, R : entrée de mise à 0 (Reset) ou forçage à 0. Réalisation par des NAND : Table de vérité et table de Karnaugh: R S Q- Q+ Fonction 0 0 0 0 Mémoire 0 0 1 1 0 1 0 0 1 1 Q- 0 1 00 0 1 Mémoire 01 1 1 1 Mise à 1 11 Φ Φ 1 1 Mise à 1 10 0 0 0 0 0 Mise à 0 1 0 1 0 Mise à 0 1 1 0 Φ Interdit 1 1 0 Φ Interdit Equation logique : Q+ = S + RQ− Q+ = S + RQ− Q+ = S . RQ− RS 77 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Logigramme : Logigramme NAND Logigramme NOR II- Bascules synchrones II- 1- Bascule RS synchrone ou RSH Cette bascule synchronisée par le signal d’horloge H comporte deux fonctionnements distincts : H=0, la sortie ne change pas quelles que soient les entrées R et S, c’est le fonctionnement en mémoire. La bascule n’est pas synchronisée. H=1, la bascule est alors synchronisée. Sa sortie respecte la table de fonctionnement de la bascule RS avec les mêmes restrictions. Table de vérité : HS R Qn+1 1 0 0 Qn Qn : état de la sortie à l’instant tn 1 1 0 1 1 0 0 1 Qn+1 : état de la sortie à l’instant tn+1 1 1 1 Interdit Logigramme par NAND : 78 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Symbole de représentation (MIL) : Sensible au front montant de l’horloge H PR : Preset : mise à 1, Sensible au front descendant de H CLR : Clear : mise à 0 Les entrées PR et CLR sont des entrées asynchrones qui permettent le forçage de la bascule respectivement à 1 et à 0 indépendamment de l’horloge et des entrées S et R. II- 2- Bascule D Cette bascule dispose d’une seule entrée appelée l’entrée D. le signal de synchronisation peut être actif soit sur un niveau, la bascule est alors appelée D Latch, soit sur un front (edge triggered). II- 2- 1- La mémoire de donnée D Latch Une bascule D Latch est réalisée à partir d’une bascule RSH où les entrées R et S sont liées par la relation : D=S= R - lorsque H=0, Qt+ = Qt : mémorisation. - Lorsque H=1, Qt+ = S + R Q = D : fonction de recopie Table de vérité : H D Qn+1 0 0 0 1 Qn Qn 1 0 0 1 1 1 79 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Symbole logique : Bascule D actif sur niveau Haut de H Exemple : II- 2- 2- Bascule D (edge triggered) Pour la bascule D proprement dite (edge triggered), le changement d’état de la sortie Q ne se produit que lorsque le signal d’horloge passe d’un niveau bas à un niveau haut, et à aucun autre instant. En d’autres termes, cette bascule ne prend en compte les données présentes à l’entrée que pendant les fronts de monté ou de descente du signal d’horloge. Symbole logique : Bascule D actif sur front montant de H 80 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Table de vérité : H D Qn+1 0 Φ Qn 1 Φ Qn 0 0 1 1 Exemple : Exemple de circuit intégré contenant deux bascules D: 7474 II- 3- La bascule JK C’est une bascule synchrone (le plus souvent sur front) disposant de deux entrées respectivement appelées J et K. J sert à la mise à 1 et l’entrée K à la mise à 0. 81 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI La différence entre la bascule JK et la bascule RS réside dans le fait qu’il n’y a plus d’état interdit pour les entrées. La combinaison J=K=1 est utilisée pour obtenir un basculement. Schéma symbolique : Bascule JK à déclenchement sur front descendant Bascule JK à déclenchement sur front montant Table de vérité : H J K Qn+1 0 0 0 1 Qn 0 1 0 1 1 1 Qn Exemple de circuit intégré : 7476 82 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Exemple : II-4- Bascule T C’est une bascule qui change d’état à chaque impulsion de la commande du signal d’horloge. Elle est réalisée à partir d’une bascule D en reliant l’entrée D à la sortie Q . Ou à partir de la bascule JK en reliant les entrées J et K avec le Vcc comme représenté sur la figure ci-dessous. Bascule T à partir de la bascule JK Bascule T à partir de la bascule D La sortie Q de la bascule T en fonction du signal d’horloge H, pour les deux représentations précédentes, est illustrée sur le chronogramme suivant : 83 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Remarque : Si le signal de commande est périodique de période tH, le signal de sortie est également périodique mais de période 2 tH. Ce mode de fonctionnement réalise un diviseur de fréquence. L’équation de fonctionnement est donnée par : Qt+ = Q t II. 5. Bascule RSH maître-esclave La structure maître-esclave est une structure à deux bascules synchrones. Le maître qui reçoit les entrées et l’esclave qui délivre les sorties complémentaires Q et Q . Le maître reçoit le signal d’horloge H et l’esclave reçoit le signal d’horloge complémentaire H . Quand H=1, les sorties X et X du maître prennent les valeurs imposées par l’état de S et R. A ce moment H =0, l’esclave est déconnecté du maître et garde sur Q, en mémoire, l’information reçue précédemment. Dès que H tombe à zéro, X et X n’évoluent plus, mais comme H =1, l’esclave inscrit en sortie les valeurs déterminées par X et X . Schéma symbolique avec deux bascules JK : 84 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Exemple : On remarque que sur le chronogramme le décalage de celui de l’esclave par rapport à celui du maître. En effet, le maître tient compte des valeurs d’entrées JK au moment du front montant de l’horloge alors que l’esclave tient compte de ces mêmes valeurs mais lors du front descendant de l’horloge. 85 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI LES COMPTEURS I- Définitions– Généralités Les compteurs sont des assemblages d’une ou plusieurs bascules et d’un système combinatoire comportant une seule variable indépendante : le signal d’horloge H. Ce sont donc des systèmes à mémoire car ils se souviennent de nombre d’impulsions d’horloge qui ont été appliquées à leurs entrées. Un compteur modulo N est un système séquentiel possédant N états stables, et pouvant passer de l’un à l’autre sous l’influence d’impulsions appliquées à son entrée. Un compteur modulo N passera donc successivement par N états. Un compteur binaire naturel comptera donc de 0 à N−1. Le graphe suivant présente les différents états parcourus par un compteur modulo 8. Un compteur est qualifié de synchrone ou d’asynchrone suivant que les basculements des divers étages qui le constituent sont rigoureusement synchrones ou non du signal d’horloge. Dans le premier cas, tous les basculements sont simultanés (même signal d’horloge pour toutes les bascules). Dans le second, les étages basculent successivement l’un après l’autre (La sortie de chaque bascule agit comme signal d’horloge de la suivante). II- Les compteurs asynchrones II-1- Les N compteurs modulo 2 asynchrones L’élément de base de la réalisation de ce type de compteur est le diviseur par deux. 86 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI II-1-1- Diviseur par deux Principe : à partir d’un signal de fréquence donnée, on obtient un signal de fréquence deux fois plus faible c'est-à-dire de période double (compteur modulo 2). Nous avons vu dans le chapitre précédent comment réaliser une division par deux à l’aide de bascules JK et de bascule D qui n’est autre que le fonctionnement de la bascule T. En cascadant des bascules JK ou des bascules D montées en diviseurs de fréquence, on peut donc réaliser un compteur dont le modulo dépendra du nombre de bascules. * Avec les bascules JK, on connecte les entrées JK des bascules à 1, pratiquement avec le Vcc. * Avec les bascules D, on connecte, pour toutes les bascules l’entrée D avec Q. II-1-2- Réalisation d’un compteur asynchrone modulo 2 N On obtient un tel compteur en mettant en série N diviseurs par deux tel que seule la première bascule est attaquée par le signal d’horloge H, et la sortie de la bascule de rang i-1 sert d’horloge à la bascule de rang i. Exemple : N=4, Compteur asynchrone modulo 16 à 4 bits (compte de 0 à 15). a/ Réalisation à l’aide de bascules JK Fonctionnement : – J=K=1 ; toutes les bascules commutent sur des fronts descendants ; – la bascule A commute à chaque front descendant du signal d’horloge ; – la sortie de la bascule 1 sert d’horloge pour la bascule 2. B commute chaque fois que A passe de 1 à 0 ; 87 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI – de la même manière, C commute lorsque B passe de 1 à 0, et D commute lorsque C passe de 1 à 0. b/ Table d’implication séquentielle Elle montre les états binaires pris par les bascules après chaque front descendant. Après la 15 ème 16 ème N° D C B A 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 . . . . . . . . . . . . . . . 14 1 1 1 0 15 1 1 1 1 impulsion, les bascules sont dans la condition 1111. Quand la impulsion arrive, le compteur affiche 0000 : un nouveau cycle commence. c/ Chronogramme Les compteurs asynchrones ont l’avantage d’être simples et économiques, mais leur inconvénients est que chaque bascule doit attendre la commutation de toutes les bascules en amont d’où augmentation du temps de réponse du compteur. 88 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI d/ Réalisation avec les bascules D II.1.3. Décompteurs asynchrones Pour réaliser un décompteur asynchrone modulo N, il suffit de commander la première bascule T par un front montant ou descendant du signal d’horloge H. chaque sortie des bascules servira d’horloge pour la bascule suivante sur front montant. Exemple : N=3, Décompteur modulo 16 Chronogramme : n II.2. Compteur asynchrone moduloN < 2 (à cycle régulier) Méthode : Pour réaliser un compteur ou un décompteur dont le cycle n’est pas une puissance de 2, la seule solution est d’agir sur l’entrée « Clear » lorsque la 89 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI combinaison correspondant au modulo du compteur se produit sur les sorties de celui-ci. n-1 Ainsi, pour 2 n n < N < 2 , on réalise un compteur modulo 2 (avec n bascules), puis on interrompe le cycle en jouant sur les entrées « Clear » des bascules. Exemple : Compteur asynchrone modulo 6 3 n (nombre des bascules) = 3 et N (nombre d’états) = 2 = 6 2 3 2 < 6 < 2 ; on réalise un compteur asynchrone modulo 8 avec 3 bascules, et on ramène le compteur à 000 dès que Q2Q1Q0 = (110)2. Le compteur réalisé compte de 000 à 101 (de 0 à 5) puis recommence un nouveau cycle. Le passage de l’état 101 à l’état 110 doit commander la remise à zéro des bascules qui seraient passées à 1 dans la séquence normale. Soit F la fonction à appliquer aux entrées de forçage « Clear ». Q2 Q1 Q0 F 0 0 0 1 0 0 1 1 0 1 0 1 Q1Q0 00 01 11 10 Q2 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 X 0 1 0 1 1 1 1 0 0 1 1 1 x F= 2 1 ► RAZ Après avoir réalisé le compteur modulo 8, il faut donc lier les sorties Q 1 et Q2 des bascules 1 et 2 aux entrées d’une porte NAND et la sortie de la porte aux entrées « Clear » des bascules. Dès que la sortie de la porte NAND passe à 0 (Clear active à 0), les bascules sont forcées à 0 : le compteur se remet à compter à partir de 0. 90 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Au cas où les entrées Clear des bascules ne sont pas inversées, on utilise une porte ET logique (AND) au lieu du NON ET(NAND). Q2Q1Q0 = 110 est un état temporaire. Il existe mais pendant une durée très courte. C’est un état indésirable que l’on nomme parfois glitch. Chronogramme : Remarque : Les sorties Q2 et Q1 ne sont pas des ondes carrées. L’inconvénient des compteurs asynchrones est qu’il n’est pas possible de réaliser tous les cycles ainsi qu’ils subsistent des états transitoires. III- Les compteurs synchrones III-1- Les N compteurs modulo 2 synchrone Toutes les bascules sont déclenchées en même temps par le même signal d’horloge. Ceci évite le problème du retard de propagation. Pour ce type de compteur, il faut donc un système logique qui permet de savoir à chaque coups d'horloge ce que doit faire une sortie de bascule, c'est-à-dire commuter ou non. La table des transitions suivante illustre les différentes valeurs données aux entrées Jet K lors des transitions possibles des sorties des bascules. 91 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Qn Qn+1 J K 0 0 0 X 0 1 1 X 1 0 X 1 1 1 X 0 Exemple : Compteur synchrone modulo 8 Cahier des charges : Nombre décimal Q2 0 Q1Q0 0 0 0 2 0 1 1 0 3 0 1 1 4 1 0 0 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1 0 0 0 0 Pour la synthèse de ce compteur, on va utiliser la méthode de Marcus dans laquelle on exploite les tableaux de karnaugh pour trouver les équations des entrées Ji et Ki en fonction des sorties Qi des bascules avec i variant de 0 à n-1. n est le nombre des bascules. Bascule 0 : Q0 Q1Q0 00 01 11 10 Q1Q0 Q2 00 01 11 10 Q2 0 1 X X 1 0 X 1 1 X 1 1 X X 1 1 X 1 1 X J0 = K0 =1 92 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Bascule 1 :Q1 Q1Q0 00 01 11 10 Q1Q0 Q2 00 01 11 10 Q2 0 0 1 X X 0 X X 1 0 1 0 1 X X 1 X X 1 0 J1 = K1 = Q0 Bascule 2 : Q2 Q1Q0 00 01 11 Q1Q0 10 Q2 00 01 11 10 Q2 0 0 0 1 0 0 X X 1 X X X X 1 0 0 X 1 X 0 J2 = K2 = Q0Q1 = J1Q1 Réalisation : Pour un ordre n quelconque, on va avoir les équations suivantes : J0=K0=1 J1=K1= Q0 J2=K2=Q0Q1=J1Q1 J3=K3=Q0Q1Q2=J2Q2 ……………………… Jn-1=Kn-1=Jn-2Qn-2 n III-2- Compteur synchrone modulo N < 2 (à cycle régulier) Dans le cas où le nombre d’états N du compteur est un entier quelconque non puissance de deux, la synthèse de ce compteur peut être effectuée par l’une des deux méthodes suivantes : 93 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Méthode de synthèse directe utilisant les tableaux de karnaugh. Pour réaliser un compteur synchrone modulo 13 par exemple, les états 13, 14 et 15 seront représentés par des états indéfinis. Méthode d’interruption par les entrées « Clear » des bascules. Pour un compteur synchrone modulo 12 par exemple, on réalise un compteur modulo 16 synchrone, ensuite on effectue l’interruption à l’état 12 en utilisant les « Clear ». IV- Exemple de CI Il existe de nombreux circuits de compteur en technologies TTL. On trouve par exemple le 7493 qui est un compteur 4 bits asynchrone et les compteurs 4 bits synchrones LS160, 161, 162, 163 et LS190, 191, 192, 193. Schéma interne : 94 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI REGISTRES A DECALAGE I- Fonction de base du registre à décalage Les registres à décalage renferment un arrangement de bascules et sont des éléments importants dans les applications de stockage et de transfert de données. L’habileté d’un registre à stocker des données explique pourquoi ce composant est considéré comme un type important d’élément de mémoire. La capacité de stockage d’un registre est le nombre total de bits (1 ou 0) de données numériques qu’il peut emmagasiner. Chaque étage (ou bascule) d’un registre à décalage représente une capacité de stockage d’un bit. Par conséquent, le nombre d’étages d’un registre détermine sa capacité de stockage. La propriété de décalage d’un registre permet le déplacement des données d’un étage à l’autre du registre, de même qu’à l’intérieur ou hors du registre en appliquant des impulsions de signal d’horloge. Les figures présentées ci-dessous illustrent les types de mouvement des données dans les registres à décalage. Le bloc peut représenter tout type de registre de 4 bits et les flèches indiquent la direction du déplacement des données. II- Registres à décalage de type entrée série / sortie série Le registre à décalage de type entrée série / sortie série accepte des données d’entrée sous une forme série, c’est-à-dire un bit à la fois et sur une seule ligne. L’information stockée est également transmise à la sortie sous une forme série. Le composant présenté sur la figure ci-dessous est un registre muni de quatre étage et qui peut stocker jusqu’à 4 bits de données. 95 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Symbole logique : Registre à décalage de type entrées série / sortie série de 8 bits Exemple : Illustrez les états d’un registre de 5 bits en réponse aux formes d’onde de l’entrée et du signal d’horloge. Le registre est initialement à l’état 0. III- Registres à décalage de type entrée série / sorties parallèles Dans ce type de registre, les données sont entrées en série de façon identique au composant discuté au §.II. Toutefois, il diffère du précédent par le fait que les bits sont retirés à ses sorties en parallèles, chacune étant la sortie de chaque étage. Le schéma d’un tel registre de 4 bits est présenté sur la figure suivante : Symbole logique : Exemple : Illustrer les états d’un registre de 4 bits (SRG4) en réponse aux formes d’onde d’entrée et de signal d’horloge suivants : 96 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Exemple : L’élément 74HC164 est un exemple de CI contenant un registre à décalage à deux entrée série et huit sorties parallèles ayant une entrée d'horloge (CK) et une entrée asynchrone de remise à zéro générale prioritaire (CLR). Les appellations Q1n, Q2n, Q3n, etc... signifient que la sortie considérée possède l'état que possédait la bascule précédente avant l’impulsion d'horloge. Par exemple, dans la 3ème ligne de la table (lorsque A et B sont à 1), nous lisons dans la colonne Q2 l'état Q1n, cela signifie donc que Q2 est à l'état où était Q1 avant l’impulsion d'horloge qui a fait passer Q1 à 1. IV- Registres à décalage de type entrées parallèles / sortie série Dans un registre à entrées de données parallèles, les bits sont simultanément placés dans leurs étages respectifs à partir de lignes parallèles et non l’un après l’autre sur une seule ligne comme avec une entrée série. Une fois toutes les données stockées, elles peuvent être retirées en série de la même façon que celle décrite au §.II. 97 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Symbole logique : Exemple : Illustrer la forme d’onde de sortie du registre de 4 bits en réponse aux formes d’onde des entrées de données parallèles, du signal d’horloge et de Décalage / INIT, représentées à la figure suivante : Exemple : registre à décalage à chargement parallèle de 8 bits L’élément 74HC165 est un exemple de CI de registre à décalage de type entrée parallèles / sortie série ; il peut aussi fonctionner à entrée série / sortie série. C’est un registre à décalage 8 bits à une entrée série (ES) et une sortie (Q8). Il possède huit entrées parallèles (E1 à E8), une entrée de commande de décalage et chargement asynchrone (SHIFT / LOAD), une entrée d'horloge (CK) et une entrée d'inhibition (CK INHIBIT). Il est à noter que ces deux entrées CK et CK INHIBIT sont interchangeables. 98 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI L'opération qui consiste à positionner chaque bascule du registre avec le niveau présent sur l'entrée parallèle correspondante se nomme le chargement (LOAD) du registre. Ce chargement peut se faire de façon asynchrone ou synchrone à l'aide d'une entrée de commande appelée SHIFT / LOAD. Si le chargement est asynchrone, dès que l'entrée SHIFT / LOAD est activée, chaque sortie du registre recopie l'état présent sur son entrée parallèle. Si par contre le chargement est synchrone, il faut en plus appliquer une impulsion d'horloge pour que chaque bascule du registre mémorise l'état précédent sur son entrée parallèle. Si l'entrée SHIFT / LOAD n'est pas activée, le registre fonctionne en mode série-série. V- Registres à décalage de type entrées parallèles / sorties parallèles Dans ce type de registre, aussitôt que tous les bits de données sont entrés simultanément, ils apparaissent aux sorties parallèles. Exemple : Registre à décalage d’accès parallèle de 4 bits L’élément 74HC195 peut être utilisé pour un chargement parallèle et pour un accès à sorties parallèles. Comme il comporte également une entrée série, le 99 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI composant peut fonctionner en mode entrée série/sortie série ou entrée série/sorties parallèles. De plus, en utilisant Q3 comme sortie des données, le composant peut être utilisé en mode à entrées parallèles/sortie. VI- Registres à décalage bidirectionnel Un registre à décalage bidirectionnel peut décaler les données vers la gauche ou vers la droite. Il peut être conçu avec des portes logiques et permettre de valider le transfert d’un bit de donnée d’un étage à un autre de gauche ou de droite, selon le niveau appliqué sur la ligne de commande. La figure présentée cidessous illustre un registre à décalage bidirectionnel dont un niveau Haut appliqué à l’entrée de commande DROITE/GAUCHE permet le décalage des données vers la droite, alors qu’un niveau Bas valide leur décalage vers la gauche. 100 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Exemple : Registre à décalage universel bidirectionnel de 4 bits L’élément 74HC194 est un CI contenant un registre à décalage bidirectionnel universel. Un registre à décalage universel comporte à la fois des entrées et des sorties série et parallèles. 101 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI EXEMPLES D’AUTOMATISMES PAR CIRCUITS NUMERIQUES Exemple 1 : Système de remplissage de flacons par des comprimés Cette application a pour objectif de savoir appliquer les circuits intégrés des fonctions numériques combinatoires et séquentielles, présentées dans ce cours, à des cahiers de charges des systèmes automatisés. En effet, le schéma bloc présenté ci-dessous contient presque toutes les fonctions numériques vu dans les différents chapitres à savoir : le codeur, le décodeur, le comparateur, l’additionneur, le multiplexeur, le démultiplexeur, le compteur, le registre ainsi que l’afficheur sept segments. Pour la réalisation pratique, il faut choisir le circuit adéquat pour chaque bloc fonction. Cahier des charges : Une société pharmaceutique utilise un système automatique de comptage et de remplissage des comprimés dans des flacons. Le schéma synoptique de ce système est illustré à la figure ci-dessous. Les comprimés provenant d’une trémie en forme d’entonnoir tombent un à un dans un flacon placée sur un tapis roulant. Le système numérique contrôle le nombre de comprimés tombant dans chaque flacon et affiche continuellement le total à jour dans un afficheur placé dans la salle de production et sur un afficheur situé à un endroit distant dans l’usine. La valeur préréglée du nombre de comprimés par flacon est de 28. 102 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI 1- Expliquer le fonctionnement du système lors du remplissage d’un flacon. 2- Expliquer le fonctionnement du système au moment où le 28 ème comprimé sera compté. 3- Après combien de cycle d’horloge, la valeur 140 sur les afficheurs sera atteinte. 4- Pourquoi requiert-on un multiplexeur et un démultiplexeur dans le système. 5- Quels sont les circuits intégrés à proposer pour chaque bloc pour une réalisation pratique Exemple 2 : Volets roulants Soit un système qui permet de gérer automatiquement la montée ou la descente de volets roulants. Il peut fonctionner en mode automatique (A=0) ou manuel (A=1). En mode automatique, les volets roulants sont montés ou descendus en fonction de l’éclairement détecté (Jour ou Nuit). S’il y a 103 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI suffisamment de lumière (L=0) alors on monte les volets, par contre s’il fait nuit (L=1) alors on descend les volets. Des capteurs de fin de course H et B permettent de contrôler la position du volet o H = 1 indique que le volet est totalement monté o B = 1 indique que le volet est totalement descendu En mode manuel, on monte le volet lorsqu’on appuis vers le haut sur l’interrupteur (I=0) et on descend le volet lorsqu’on appui sur l’interrupteur vers le bas (I=1). L’interrupteur est inactif en mode automatique. 1- Définir les entrées et les sorties du système. 2- Etablir la table de vérité des sorties du système. 3- Remplir les tables de Karnaugh et donner les équations simplifiées. 4- Réaliser le câblage de ce système en utilisant un décodeur et des portes logiques. 5- Réaliser le câblage de ce système par multiplexeurs à 4 entrées d’informations. Exemple 3 : Feu de croisement La figure ci-dessous montre l’intersection entre une route principale et une route secondaire. Des capteurs de voitures ont été placés le long des voies C et D (route principale) et des voies A et B (route secondaire). Les sorties de ces capteurs sont à l’état logique 0 quand il n’y a pas de voitures et à l’état logique 1 quand il y en a. 104 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI Le feu de circulation se trouvant à cette intersection est commandé par les règles suivantes: • Le feu E-O est vert quand il y a des voitures dans les deux voies C et D. • Le feu E-O est vert quand il y a des voitures dans C ou D et quand il y en a dans A ou B (ou pas du tout) mais pas dans les deux. • Le feu N-S est vert quand il y a des voitures dans les voies A et B et qu’il y en a dans C ou dans D mais pas dans les deux. • Le feu N-S est aussi vert quand il y a des voitures dans A ou B et qu’il n’y a pas de voitures dans C et D. • Le feu E-O est vert quand il n’y a pas de voiture du tout. On se propose, en utilisant les sorties logiques des capteurs A, B, C et D comme entrées, de concevoir un système numérique qui commande le feu de circulation. Ce circuit a deux sorties, E-O et N-S, qui prennent la valeur logique 1 quand le feu doit être vert. 1- Etablir la table de vérité pour les sorties E-O et N-S. 2- En déduire les équations logiques sous formes canoniques. 3- Dessinez le schéma logique pour les sorties E-O et N-S. Exemple 4 : Monte-charge Un monte-charge doit permettre le levage de masses comprises entre 20 kg et 80 kg. Il comporte une plateforme reposant sur des ressorts. Selon l’importance des charges à soulever, trois contacts réglables a, b et c sont installés. L’autorisation A de départ du monte-charge est donnée par le cahier des charges suivant : - à vide, aucun contact n’est activé et le monte-charge peut fonctionner ; - pour des charges comprises entre 5 et 20 kg, seul le contact a est activé et le monte-charge ne peut fonctionner ; 105 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI - pour les charges comprises entre 20 et 80 kg, les contacts a et b sont activés et le monte-charge peut fonctionner ; - pour les charges supérieures à 80 kg, les trois contacts sont activés et le monte-charge ne peut fonctionner. 1- Déterminer les entrées et sortie. 2- Donner la table de vérité 3- Donner le logigramme Exemple 5 : Feux de voiture On dispose, sur une automobile commandes indépendantes : C V pour les veilleuses, CC pour les deux phares de croisement, CR pour les deux phares de route, CA pour les feux antibrouillard (valeur 1 au travail, 0 au repos). On note les états des lumières V pour les veilleuses, C pour les feux de croisement, R pour les feux de route, A pour les feux antibrouillard (valeur 1 à l’allumage, 0 à l’extinction). Les veilleuses n’étant pas comptées comme des phares, il est précisé que : - 4 phares ne peuvent être allumés simultanément, - Les feux de croisement ont priorité sur les feux de route et sur les antibrouillards, - Les antibrouillards ont priorité sur les feux de routes, - Les veilleuses peuvent être allumées seules mais l’allumage des feux de croisement ou des feux de route ou des antibrouillard entraîne obligatoirement l’allumage des veilleuses. 106 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI 1- Donner la table de vérité liant V, C, R, A à CV, CC, CR, CA . 2- Simplifier ces fonctions à l’aide de tableaux de Karnaugh. 3- Dessiner le schéma du circuit en utilisant les portes AND, NAND, NOR à deux entrées. Exemple 6 : Question pour un champion Soit un système à trois commandes a, b et r et deux sorties A et B. Au top départ, le premier capteur activé allume la lampe associée (a pour A, b pour B). La lampe allumée le reste même après relâchement des commandes. Un appui sur r éteint la lampe. (Hypothèse : r n'est jamais actif en même temps que a et b). 1- Proposer un montage à base de mémoires RS. 2- Généraliser à N candidats. 107 Université Mohammed V de Rabat Ecole Supérieure de Technologie de Salé Professeur Mohamed SBIHI BIBLIOGRAPHIE Systèmes numériques, concepts et applications, 7 ème Edition, Thomas L. Floyd. ème Introduction aux circuits logiques, 2 Edition, Letocha. Analyse et synthèse des systèmes logiques, Dunod, D. Mange. Cours et problèmes d’électronique numérique, Ellipses, Jean-Claude Lafont, Jean-Paul Vabre. Pratique de l’électronique numérique, Dunod, Pierre Pelloso. 108