Cours : Circuits Numériques Abdelhak MKHIDA Filière GEM-CMI Année universitaire 2020/2021 1 Cours Circuits Numériques 2020/2021 Introduction Le cours des circuits numériques est une description de l’électronique numérique appelée aussi électronique digitale. Cette discipline s’est développée autour de la notion de l’expression de toute information avec des digits binaires : 0 ou 1. L’électronique numérique présente plusieurs avantages tels que la rapidité, la fiabilité, la forte intégration, le faible coût, …Le domaine de l’électronique numérique a vu l’évolution et la sophistication de systèmes de traitement de l’information. Nous allons présenter dans ce cours les circuits intégrés numériques, les circuits arithmétiques, les circuits séquentiels et les circuits convertisseurs. 2 Cours Circuits Numériques 2020/2021 Chapitre 1 : Circuits intégrés logiques 1. Généralités sur les circuits intégrés Un circuit intégré permet d'intégrer, c'est à dire de miniaturiser, des opérations logiques, tel que les fonctions NON, ET, OU, NON-ET La technologie des circuits intégrés a fait des bonds prodigieux. On passe d’une échelle SSI à une échelle ULSI. SSI : Small Scale Integration (moins de 12 portes par puce) (MSI, LSI) VSLI : Very Large Scale Integration (plus de 100.000 portes par puce) Les techniques actuelles dépassent de loin ce niveau, de sorte que les microprocesseurs fabriqués aujourd'hui comportent plusieurs milliards de portes. Les logiques circuits sont classés selon leurs caractéristiques et leur domaine d’emploi. Avantages de la Technologie des circuits intégrés ■ ■ ■ ■ Grande concentration de circuits donc réduction des dimensions de tous les systèmes numériques. Diminution des coûts en raison des moyens de production en grande série pour un même type. Fiabilité accrue des circuits intégrés du fait que le nombre d’interconnexions entre les éléments diminue. (Connexions se trouve à l’intérieur du circuit intégré, donc à l’abri d’une mauvaise soudure, de coupures et de la corrosion). Faible consommation due à leur petite dimension (intégration) entraînant la suppression de moyen de ventilation spécifique. 3 Cours Circuits Numériques 2020/2021 Inconvénients de la Technologie des circuits intégrés ■ ■ Les CI ne soutiennent pas les courants forts ni de fortes tensions. La puissance engendrée par ces grandeurs de forte valeur serait destructrice (chaleur à dissiper).. Les CI ne se prêtent pas à l’implantation de composants spécifiques tels : – Condensateur de forte valeur. – Inductance. – Transformateur. Opérateurs logiques de base ■ ■ ■ ■ ■ ■ NON BUFFER ou DRIVER (Un Buffer rehausse au niveau haut une tension de niveau haut diminuée) ET OU NOR NAND Le petit cercle représente la complémentation. Logique positive et logique négative ■ ■ ■ ■ ■ ■ A toute grandeur physique ayant seulement deux valeurs possibles on peut associer une variable booléenne. En électronique, les grandeurs considérées sont essentiellement le courant et la tension. Par exemple, la tension collecteur d'un transistor NPN (T) alimenté sous 5 Volts (cas de la famille logique TTL) et fonctionnant en régime de commutation (régime de fonctionnement en logique) peut valoir : VCE = 0V si T est saturé VCE = 5V si T est bloqué Logique positive : S est la variable booléenne associée à la tension VCE. S=1 pour VCE = 5V et S=0 pour VCE = 0V. Logique négative : S=0 pour VCE = 5V et S=1 pour VCE = 0V. La logique positive est celle utilisée. Niveaux logiques : A un niveau logique correspond une tension électrique. Nous distinguons le potentiel de sortie disposant d’un niveau logique bas et d’un niveau logique haut et le potentiel d’entrée disposant aussi d’un niveau logique bas et d’un niveau logique haut. Niveau H L Potentiel de sortie VOH VOL Potentiel d’entrée VIH VIL VOL: Tension de sortie niveau bas :Tension maximale de sortie d’un circuit logique à l’état bas correspondant au "0" logique La valeur maximale de Vol est généralement spécifiée 4 Cours Circuits Numériques 2020/2021 VOH: Tension de sortie niveau Haut: C’est le niveau de tension de la sortie d’un circuit logique correspondant au "1" logique La valeur minimale de VOH est généralement spécifiée IOL: Courant de sortie niveau bas : courant d’une borne de sortie placée au niveau logique "O" dans les conditions de charge spécifiées. IOH: Courant de sortie niveau Haut : courant qui traverse une borne de sortie placée au niveau logique "1" dans les conditions de charge spécifiées Table de correspondance : TTL CMOS (5V) CMOS(15V) IOL 16 mA 1 mA 6,8 mA IOH 0,8 mA -1 mA -6,8 mA VOL 0,4 v 0v 0v VOH 2,4 v 5v 15 v VIL 0,8 v 1,5 v 4v VIH 2v 3,5 v 11 v IIL -1,6 mA IIH -40 µA 2. Caractéristiques des circuits intégrés logiques 2.1. Immunité aux bruits Les champs électriques et magnétiques parasites peuvent induire dans les fils des tensions. Ces tensions indésirables sont appelées bruits qui peuvent amener la tension VIL au-dessus de sa valeur max ou bien la tension VIH au-dessous de sa valeur min. L’immunité aux bruits définit donc l’aptitude d’un Cl à tolérer des tensions parasites sur des entrées. Bruit statique = perturbations dont la vitesse d’évolution est petite par rapport au temps de propagation de la porte. Immunité : tension parasite que l’on peut ajouter au signal tout en conservant un fonctionnement normal (atout du numérique vs analogique) 5 Cours Circuits Numériques 2020/2021 Cas d’un inverseur logique dont la sortie vaut 5V si la sortie est nulle et réciproquement. La caractéristique de transfert est approchée par la figure suivante : Fonction de transfert en tension (caractéristique de transfert) Relation entre VI et VO Les tensions d’influence peuvent être représentées par la tension VB + + VO VB VI Nous avons : VI = VB + VO Pour l’exemple de l’inverseur logique, nous représentions la courbe idéalisée : Si 0 < VI < VIL : VO = VOH Si VIL < VI < VIH : zone linéaire Si VIH < VI < Vmax : VO = VOL Pour un circuit logique, il ne faut pas «stationner» dans la zone linéaire. 6 Cours Circuits Numériques 2020/2021 Il faut donc que VOH > VIH, de même il faut que VOL < VIL 2.2. Temps de propagation Si le niveau d’entrée change brutalement, le niveau de sortie ne change qu’après un temps de retard appelé temps de propagation tp. Ce retard est dû à la propagation entre une cause (entrée) et un effet (sortie). Les temps de propagation sont couramment de 30 ns, pour les circuits rapides, ils sont inférieurs à 1ns. Il existe deux temps de propagation. Ces deux temps sont souvent différents. Ils dépendent de la charge et de la température. Entrée 50% Sortie 50% tpLH tpHL Le temps de délai moyen est égal à : Td = (TpLH +TpHL) / 2 Avec TpLH : propagation du niveau bas vers le niveau haut Et TpHL : propagation du niveau haut vers le niveau bas 2.3. Tension d’alimentation Cette tension d’alimentation diffère selon la famille des circuits intégrés : Pour la Famille TTL : ■ ■ ■ Tension d’alimentation Vcc: 5V±5% Tension maximale d’entrée pour un niveau bas VIL : 0,8V Tension minimale d’entrée pour un niveau haut VIH : 2V 7 Cours Circuits Numériques 2020/2021 ■ ■ ■ ■ Tension maximale de sortie pour un niveau bas VOL : 0,4V Tension minimale de sortie pour un niveau haut VOH : 2,4V Puissance moyenne absorbée par porte : 10mW Courant moyen absorbé par porte : qq mA Pour la Famille CMOS: ■ ■ ■ Tension d’alimentation différente par rapport à la famille TTL, elle peut être de 3 à 18V (série 4000), les nouvelles générations plus performantes n’autorisent que 2 à 6V). La puissance consommée est << TTL, de l’ordre de 0,1mW Le courant consommé est très faible < 1mA 2.4. Entrance (Fan In) La source qui impose à l’entrée du circuit logique un certain niveau logique (0 ou 1) doit fournir un courant. Ce courant est différent suivant l’état. Il peut être suivant le cas, maximal pour l’état 1 ou 0. Dans une même famille de circuits, cette valeur est constante. L’Entrance (Fan In) d’un circuit est la valeur de commande d’une entrée de ce circuit exprimée en une unité qui est le courant de commande typique de la famille appelé (charge). Un circuit ayant une entrance de 2 consomme (ou fournit) un courant d’entrée double de celui d’un circuit ordinaire de la même famille. Le courant unité correspond à ce que l’on appelle une charge. Exemple : TTL-N porte de base IIH = 40 microA (entrant) et IIL = -1,6mA (sortant) Porte lambda IIHmax = 400 microA et IILmax = -8 mA Entrance au niveau haut : 10 Au niveau bas : 5 Entrance = 10. Cette entrée est équivalente à 10 entrées en parallèle 2.5. Sortance (Fan Out) Elle est définie comme étant le nombre maximal d’entrées logiques standards qui peuvent être pilotés sans problèmes par une sortie Un niveau logique 1 de sortie chute au niveau logique 0 si le nombre de charges est très élevé. Exemple : Un circuit ayant une sortance de 10, peut connecter 10 charges tout en garantissant les niveaux de sortie de cette porte 8 Cours Circuits Numériques 2020/2021 La Sortance est donc liée au courant maximum qu’une porte (sortie) peut fournir ramené à une entrée unitaire (normalisée). Exemple : TTL-N porte de base IIH = 40 microA (entrant) et IIL = -1,6mA (sortant) Porte lambda IOHmax = 400 microA et IOLmax = -20 mA Sortance au niveau haut : 10 Au niveau bas : 12,5. Sortance = 10. Cette sortie peut piloter correctement 10 entrées unitaires Câblées en parallèle. Si les courants max sont dépassés, les tensions ne sont plus garanties (VH < VOH au niveau 1) IH et IL sont les courants circulants entre 1 entrée en 1 sortie, compté positif lorsqu'il sort d'une porte. A partir de ces valeurs de courant, on peut déterminer la sortance d'un composant. La sortance est le nombre d'entrée de circuit logique qui peut être alimenté sur une seule sortie logique. Compatibilité entre portes : Exemple : ■ ■ ■ ■ De TTL vers TTL, la sortance est de 10 De TTL vers HCTMOS, la sortance est théoriquement illimité, la limite est fixée par la vitesse de propagation. De CMOS vers TTL, la sortance est nulle, on ne peut pas connecter un circuit CMOS vers un circuit TTL De TTL vers CMOS, il n'y a pas de sortance, les portes sont incompatibles. Pour éviter une incompatibilité de portes, il faut un circuit intermédiaire pour pourvoir rendre ces portes compatibles. 2.6. Logique à courant : Il est possible de classer les familles logiques suivant l’écoulement du courant entre la sortie et l’entrée ■ Injection de courant C’est quand la sortie de la porte logique qui est à "un" alimente l’entrée de l’autre porte logique avec un courant IIH cette entrée joue essentiellement le rôle d’une résistance raccordée à la masse 9 Cours Circuits Numériques 2020/2021 ■ Absorption de courant : C’est quand la sortie d’une porte est au "zéro" et qu’elle est alimentée par une entrée IIL. Cette entrée joue le rôle d’une alimentation. 2.7. Consommation La consommation est le produit UxI avec I le courant moyen de fonctionnement d’une porte I = (II+IH)/2 La consommation est différente, suivant que l'opérateur logique délivre un niveau Haut ou un niveau Bas. On prend la valeur moyenne. Exemple : en technologie TTL : 1 mW à 100 mW par porte. 2.8. Température de fonctionnement C'est la plage de température ambiante, donc externe au boîtier, dans laquelle un circuit intégré fonctionne normalement. Au niveau du transistor composant la portes, on peut atteindre des températures beaucoup plus élevé (> 180 °C). Ces températures sont indiquées selon 2 séries : − Série militaire : - 55 °C à + 125 °C − Série commerciale : 0 °C à + 70 °C 2.9. Précautions d’emploi D’usage, on ne mélange pas plusieurs technologies entre elles. Cependant il existe des structures d’interface permettant de relier deux technologies différentes. Ces structures peuvent être matérialisées par l’intermédiaire de transistors. Les entrées non utilisées doivent être connectées soit à l’alimentation soit à la masse. Des circuits logiques, surtout les CMOS, peuvent être détruits par des tensions statiques, si on les manipule sans précaution. Il faut éviter, par exemple, les vêtements en nylon, le plastiques, ou toute autre source de charges statiques. Toutes les entrées d'un opérateur logique doivent être connectées à un niveau de tension, afin d'éviter les défauts dus aux parasites. Si une entrée reste non connectée (patte en l'air), il faut la relier à une autre entrée de la même porte 10 Cours Circuits Numériques 2020/2021 En revanche, il ne faut jamais relier 2 sorties entre elle, puisque des différences d'état logique, et donc de tension, pourraient créer un court-circuit au niveau de ces sorties sauf le cas de sortie à collecteur ouvert. 3. Familles des circuits logiques L'utilisation presque universelle des CI rend maintenant nécessaire la connaissance des caractéristiques des familles logiques les plus courantes. Il est possible de classer toutes les familles logiques en deux catégories générales selon le dispositif utilisé dans la fabrication du circuit. D'une part, il y a les familles bipolaires, telles que TTL et ECL, qui utilisent des transistors bipolaires (NPN, PNP) comme principal élément de circuit. D'autre part, il y a les familles MOS qui gravitent autour des transistors à effet de champ (PMOS, NMOS et CMOS) Actuellement les familles logiques TTL et CMOS dominent les secteurs d'applications. 3.1. Circuits logiques à diodes Elle utilise les diodes en plus des résistances pour réaliser des fonctions logiques. Cette technologie n'est (presque) plus utilisée. Exemple d’illustration Le circuit implémente la fonction booléenne OU (OR) : Z = X + Y , la table de vérité est la suivante : Si y = '0' on a comme caractéristique de transfert : 11 Cours Circuits Numériques 2020/2021 3.2. Circuits logiques bipolaires 3.2.1. Transistor bipolaire Prenons le cas d’un transistor bipolaire de type NPN. Caractéristique d’entrée (configuration en émetteur commun) IB en fonction de (VBE, VCE) : Hypothèse : Jonction Base collecteur bloquée (fonctionnement normal). Si VBE > 0.6V, la jonction Base émetteur est passante Caractéristique de sortie IC en fonction de (IB, VCE): 12 Cours Circuits Numériques 2020/2021 Modes de fonctionnement : 3.2.2. Famille DTL L'association d'un transistor avec l'un des diodes et des résistances permet de réaliser un système complet, c'est à dire susceptible de matérialiser toutes les opérations booléennes. Exemple d’une porte NAND réalisée avec la technologie DTL : 13 Cours Circuits Numériques 2020/2021 Lorsque les deux entrées A et B sont au niveau haut 5V les 2 diodes sont bloquées et T est saturé par le courant circulant dans R1 et D3, le potentiel de sortie est donc nul. Si au contraire l'une (ou les 2) des entrées est à la masse (niveau bas), le point C est porté à 0,7V, la diode D3 est nécessaire sinon le transistor ne sera pas bloqué mais à la limite de conduction. T étant bloqué la sortie est au niveau haut via R2. L'ensemble réalise donc la fonction NAND. La Diode D3 assure une contre polarisation et permet d’augmenter l’immunité au bruit. La famille DTL (Diode-Transistor-Logic), a été Rapidement éliminée en faveur du TTL (plus rapide): c’est une famille de technologie obsolète. 3.2.3. Famille TTL La famille TTL ou Transistor-Transistor Logic est une famille de circuits logiques utilisée en électronique inventée dans les années 1960. Cette famille est réalisée avec la technologie du transistor bipolaire. La technologie TTL est normalisée pour une tension d'alimentation de 5 V. Un signal TTL est défini comme niveau logique bas entre 0 et 1,4 V, et comme niveau logique haut entre 2,4 V et 5 V. Les circuits de technologie TTL sont généralement préfixés par le chiffre 74 (54 sur les séries militaires et industrielles). Ce chiffre est suivi d'une ou plusieurs lettres représentant la famille (absence de lettre pour la famille standard), puis un code à 2, 3 voire 4 chiffres représentant le modèle du circuit (la fonction réalisée). Les diverses familles sont les suivantes : • • • • TTL : série standard TTL-L (Low power) : série à faible consommation TTL-S (Schottky) : série rapide (utilisation de diodes Schottky) TTL-AS (Advanced Schottky) : version améliorée de la série S 14 Cours Circuits Numériques 2020/2021 • • • • • • TTL-LS (Low power Schottky) : combinaison des technologies L et S, c'est la famille la plus répandue TTL-ALS (Advanced Low power Schottky) : version améliorée de la série LS TTL-F (FAST : Fairchild Advanced Schottky Technology) TTL-AF (Advanced FAST) : version améliorée de la série F TTL-HC (High speed C-MOS) : circuit TTL fabriqué en technologie C-MOS dans un boîtier TTL (tension compatible TTL, mais pas l'emplacement des pattes) TTL-HCT (High speed C-MOS Transposed) : série HC dotée de niveaux logiques compatibles TTL (100 % compatible TTL, car le brochage TTL est conservé) Série 54 : 4,5 v < Vcc < 5,5 v – 55°C < T° <125°C Série 74 : 4,75v < Vcc < 5,25v 0°C < T° < 79°C L’uniformisation des circuits est acceptée au point de vue brochage et numérotation, mais chaque constructeur y appose son signe tels DM pour National Semi-conducteur, SM pour Texas Instrument, et S pour Signetics. Avantages : • • • Cette famille de composants allie une bonne vitesse de commutation à un faible temps de transfert. L'immunité aux parasites est bonne à condition de découpler l'alimentation au plus près de chaque circuit par un condensateur de filtrage. Les entrées en l'air, sans état fixé, sont à l'état logique « 1 » par défaut (elles ne débitent un courant important que si on les met à zéro et elles sont presque équivalentes à des résistances vers Vcc=5 V). Inconvénients : • • • L'alimentation des circuits TTL doit être précise : +5 V ±5 %, en comparaison aux circuits CMOS qui ont, eux, une plage de tension d'alimentation bien plus vaste (de +3 à +18 V). En cas de non-respect de cet impératif, on risque, au mieux, un fonctionnement erratique du circuit, et au pire, une destruction partielle ou complète du circuit. La technique bipolaire est grande consommatrice de courant électrique ; les mémoires en TTL sont certes rapides, mais ne peuvent guère être sauvegardées bien longtemps en cas de coupure d'alimentation. On ne peut transmettre les signaux émis par les circuits TTL sans circuits de transmission additionnels sur de grandes distances sans pertes : longueur maximum environ 15 m. Le circuit ci-contre est un NAND à 2 entrées. Les deux diodes d'entrée sont les diodes base émetteur du transistor, la diode base collecteur est la diode D3 du montage précédent (Technologie DTL). Ce montage de base présente un défaut important qui est la dissymétrie de sa réponse. En effet il existe toujours une capacité parasite de sortie ; lors du passage de l’état 1 à l’état 0 cette dernière est déchargée très vite par le courant du transistor, par contre pour la transition inverse, le condensateur ne peut se recharger qu’à travers la résistance ce qui prend un temps de l’ordre de R2.C. 15 Cours Circuits Numériques 2020/2021 Le transistor T1 est transistor multi-émetteurs. Il remplace les trois diodes représentées dans la technologie DTL. Pour accélérer cette recharge on remplace la résistance R2 par un transistor comme le montre le schéma ci-contre. Ce montage est appelé TOTEM POLE. Si les entrées A et B sont au niveau haut les transistors T2 et T3 sont saturés par le courant circulant dans la résistance R1. T2 étant saturé son collecteur se trouve au potentiel de son émetteur soit 0,7V (à cause de T3), la sortie est à 0 et T4 ne peut pas conduire car il faudrait sur sa base une tension d’au moins 1,4V (à cause de la diode D) . 16 Cours Circuits Numériques 2020/2021 Si l’une des entrées est au niveau bas T1 est saturé, la tension sur son collecteur nulle ce qui bloque T2 et T3. Alors T4devient conducteur, la tension de sortie est de l’ordre de 4V (à cause de la chute de tension dans la diode D et dans R3. C’est ce transistor T4 qui est chargé de fournir le courant au condensateur de sortie lors d’une transition « bas– haut ». La caractéristique entrée sortie d’un 7400N est présentée. Pour une tension d’entrée nulle la tension de sortie est typiquement de 3,5V, elle commence à baisser pour une tension d’entrée de 0,6V elle tombe à 2V5 pour 1,2V, puis chute ensuite à0,1V en moins de 200mV. Cette limite de 1,2V est réduite à 1Vpour une température de 125°. On admet en général comme limite supérieure du niveau bas la valeur de 0,8V. Circuits à collecteur ouvert : Les circuits à collecteur ouvert fonctionnent avec un collecteur libre de tout potentiel, Ce montage s’utilise de deux manières : – Commande d’une charge sous une tension différente de Vcc – Utilisation avec une résistance de rappel à Vcc 17 Cours Circuits Numériques 2020/2021 Circuits à 3 états : Les circuits possèdent une entrée supplémentaire de validation que l’on peut assimiler à la commande d’un interrupteur en série avec la sortie d’une porte classique. Le commande de sélection active au niveau bas (/CS) ou au niveau haut (CE) ferme cet interrupteur. La sortie S peut se trouver dans trois états possibles 0 ou 1 lorsque le circuit est validé, (interrupteur fermé), ou haute impédance si l’interrupteur est ouvert. Il faut souvent appliquer à un même fil la sortie de l’une ou l’autre d’un ensemble de sorties. Pour éviter l’interférence entre les différents circuits, par exemple une sortie qui tenterait d’appliquer 1 à une ligne alors qu’une autre sortie tenterait d’y appliquer 0, on utilise la logique trois états, dans laquelle la sortie peut-être 0, 1, ou haute impédance (comme si elle n’était pas connectée). On ajoute une entrée Output Enable (OE) à chaque circuit et on n’en active qu’un à la fois. 3.2.4. Famille ECL (Logique à Emetteurs Couplés) Cette famille a été développée essentiellement par MOTOROLA. C'est une famille rapide qui exploite un étage différentiel à 2 transistors (Long Tail Pair) présentant l'avantage d'éviter toute saturation., la courbe de réponse est en effet une tangente hyperbolique. Les circuits de la famille ECL présentent toujours deux sorties complémentaires, le circuit de base est le ET /NOR. Pour permettre la liaison entre plusieurs circuits sans que les capacités parasites ne dégradent les performances la sortie s'effectue grâce à deux collecteurs communs. De plus pour des raisons technologiques le montage est alimenté entre 0et -5,2 volts. Une alimentation classique 0 5V est possible au prix d'une légère augmentation du temps de transit. Exemple d’une porte logique OR-NOR Logique ECL de Motorola : 18 Cours Circuits Numériques 2020/2021 Les niveaux logiques sont très différents de ceux de la TTL et proches l'un de l'autre. Les temps de transit obtenus vont de 3nS pour la famille MECL II à moins d'une nS pour la MECLIII. Mais ces circuits consomment beaucoup d'énergie (50mW par porte pour la MECL III) et, n'ayant jamais eu une grande diffusion, sont très coûteux. 3.3. Circuits logiques à structure MOS 3.3.1. Transistor à effet de champ Structure d’un transistor à effet de champ à jonction (JFET) VGS S G VDS D ID substrat (Si) canal Un courant (ID) peut circuler de la source S au drain D via le “canal” (zone dans le semiconducteur, proche de l’interface avec la grille). Le courant circulant dans la grille (IG) est négligeable => IS = ID Nous distinguons deux types de transistors à effet de champ à jonction : 19 Cours Circuits Numériques 2020/2021 Caractéristiques d’un JFET Canal N avec VGS 0 , VDS 0 3.3.2. Transistors à effet de champ Métal Oxyde Semi-conducteur (MOSFET) Une tension grille positive augmente le nombre d’électrons libres qui traversent le canal. Plus la grille est positive, plus le courant drain est grand. On appelle le fonctionnement à grille positive le régime d’enrichissement (enhancement). On distingue aussi MOSFET du type d’appauvrissement s’il conduit à une tension grille zéro et MOSFET du type d’enrichissement si le courant drain est zéro pour la tension grille égale zéro. Le premier est appelé aussi normalement passant, le deuxième normalement ouvert. 20 Cours Circuits Numériques 2020/2021 MOSFET (Métal Oxyde Semiconducteur – FET) à enrichissement : Le transistor est normalement bloqué. ID est nul lorsque VGS = 0 et augmente dès que VGS dépasse une valeur seuil Vs Canal P : Vs < 0 la charge négative sur la grille attire les trous Canal N : Vs > 0 la charge positive sur la grille attire les électrons Caractéristiques d’un MOSFET à Canal N. Pour VGS < VS, ID 0, le transistor est bloqué. 3.3.3. Famille CMOS On appelle CMOS, ou Complementary Metal Oxide Semiconductor, une technologie de fabrication de composants électroniques et, par extension, les composants fabriqués selon cette technologie. Ce sont pour la plupart des circuits logiques (NAND, NOR, etc.) comme ceux de la famille Transistor-Transistor logic (TTL) mais, à la différence de ces derniers, ils peuvent être aussi utilisés comme résistance variable. Dans ces circuits, un étage de sortie est composé d'un couple de transistors MOSFET N et P placés de manière symétrique et réalisant chacun la même fonction. Du fait de leur caractéristique de fonctionnement inversée, un transistor est passant alors que l'autre est bloqué (ils sont donc complémentaires, d'où l'appellation complementary). 21 Cours Circuits Numériques 2020/2021 Exemple du circuit inverseur CMOS (fonction NON), composé de deux transistors, un N et un P. Si on applique à l'entrée un niveau haut, le transistor N est passant et le P est bloqué. On place ainsi la sortie au potentiel Vss (la masse), c'est-à-dire à l'état bas. Inversement, quand on met l'entrée à l'état bas, le transistor P est passant et le N est bloqué. La sortie est donc à l'état haut. On a donc bien réalisé une fonction inversion. En fonctionnement normal, il n'y aucun chemin entre Vdd (l'alimentation positive) et Vss (la masse) ; la consommation électrique est donc nulle en régime établi. Cependant, durant les transitions entre états (passage du niveau haut au niveau bas et inversement), les deux transistors sont simultanément conducteurs pendant un court laps de temps, ce qui entraîne une consommation d'énergie. C'est pour cela que plus la fréquence de l'horloge d'un circuit intégré CMOS est élevée, plus ce circuit consomme d'énergie. De la même manière, à une fréquence donnée, plus un circuit intégré CMOS comporte de transistors, plus il consomme d'énergie. On réalise de la même manière toutes les portes : ET avec deux P en parallèle et deux N en série suivis d'un inverseur, OU avec deux P en série et deux N en parallèle suivis d'un inverseur, etc. Porte CMOS NAND 22 Cours Circuits Numériques 2020/2021 3.4. TTL ou CMOS 23 Cours Circuits Numériques 2020/2021 Chapitre 2 : Circuits Arithmétiques 1. Fonction logique C’est une fonction qui relie N variables logiques avec un ensemble d’opérateurs logiques de base. Dans l’Algèbre de Boole il existe trois opérateurs de base : NON, ET, OU. La valeur d’une fonction logique est égale à 1 ou 0 selon les valeurs des variables logiques. Si une fonction logique possède N variables logiques → 2n combinaisons → la fonction possède 2n valeurs. Les 2n combinaisons sont représentées dans une table qui s’appelle table de vérité. Exemple d’une fonction logique : La fonction possède 3 variables ➔ 23 combinaisons F ( A, B, C ) = A.B.C + A.B.C + A.B.C + A.B.C 2. Circuits de logique combinatoire Un circuit combinatoire est un circuit numérique dont les sorties dépendent uniquement des entrées. Si=F(Ei) = Si=F(E1,E2,….,En) 24 Cours Circuits Numériques 2020/2021 Exemple : Fonction logique non totalement définie Une serrure de sécurité s’ouvre en fonction de quatre clés A, B, C D. Le fonctionnement de la serrure est défini de la façon suivante : S (A, B, C, D) = 1 si au moins deux clés sont utilisées S (A, B, C, D) = 0 sinon Les clés A et D ne peuvent pas être utilisées en même temps. On remarque que si la clé A et D sont utilisées en même temps l’état du système n’est pas déterminé. Ces cas sont appelés cas impossibles ou interdits. Table de Karnaugh : Les cas impossibles sont représentés par des X dans la table de Karnaugh. La sortie S = AB + CD + BD + AC + BC 2.1. Circuit Multiplexeur 25 Cours Circuits Numériques 2020/2021 Un multiplexeur est un circuit combinatoire qui permet de sélectionner une information (1 bit) parmi 2n valeurs en entrée. Il possède 2n entrées d’information, Une seule sortie et N entrées de sélection (commandes). Les informations sont multiples et nous avons un canal unique. Selon la combinaison de la commande codée, la sélection et l’aiguillage de l’entrée se fait vers la sortie unique. Exemple 1 : Multiplexeur 4 →1 Il possède 4 entrées d’information, Une seule sortie et 2 entrées de sélection (commandes). Exemple 2 : Multiplexeur 8 →1 Il possède 8 entrées d’information, Une seule sortie et 3 entrées de sélection (commandes). 26 Cours Circuits Numériques 2020/2021 2.2. Circuit Démultiplexeur Il joue le rôle inverse d’un multiplexeur, il permet de faire passer une information dans l’une des sorties selon les valeurs des entrées de commandes. Il possède une seule entrée, 2n sorties et N entrées de sélection (commandes). Exemple de Démultiplexeur 1→4 Il possède 1 entrée d’information, quatre sorties et 2 entrées de sélection (commandes). 27 Cours Circuits Numériques 2020/2021 Exemple d’utilisation de Multiplexeur/démultiplexeur : 2.3. Circuit décodeur C’est un circuit combinatoire qui est constitué de N entrées de données, 2n sorties. Pour chaque combinaison en entrée une seule sortie est active à la fois. Exemple d’un Décodeur 2→4 28 Cours Circuits Numériques 2020/2021 2.4. Circuit codeur Il joue le rôle inverse d’un décodeur. Il possède 2n entrées et N sorties. Pour chaque combinaison en entrée on va avoir le numéro correspondant (en binaire) à la sortie. Exemple d’un Codeur 4→2 2.5. Transcodeur C’est un circuit combinatoire qui permet de transformer un code X (sur n bits) en entrée en un code Y (sur m bits) en sortie. 2.6. Générateur de parité C’est une Technique utilisée dans les systèmes de communication où les perturbations dues à l’environnement risquent de modifier le contenu d’un mot, un 1 pouvant se transformer en un 0 ou inversement. Pour contrôler l’exactitude du mot à transmettre, on ajoute au mot un bit supplémentaire dit bit de parité qui est 1 ou 0 selon que le nombre de 1 du mot de n bits est pair ou impair. 29 Cours Circuits Numériques 2020/2021 Si l'entrée P' est imposée à 0 ce circuit fonctionne comme générateur de parité : la sortie P représente la parité du mot composé par les bits A, B, C et D. Le contrôle de la parité est utilisé, par exemple, pour augmenter la fiabilité d'un système de transmission ou de stockage de données. L'utilisation du circuit précédent est illustrée en générateur de parité du côté de l'émission et contrôleur de parité du côté de la réception. La sortie P2 doit être à 0 pour chaque mot transmis, sinon cela indique un problème de transmission. 3. Circuits de calcul Arithmétique 3.1. Demi-Additionneur Le demi-additionneur est un circuit combinatoire qui permet de réaliser la somme arithmétique de deux nombres A et B chacun sur un bit. A la sortie on va avoir la somme S et la retenu R (Carry). 30 Cours Circuits Numériques 2020/2021 3.2. Additionneur complet L’additionneur complet un bit possède 3 entrées, ai : le premier nombre sur un bit, bi : le deuxième nombre sur un bit et ri-1 : la retenue entrante sur un bit. Il possède deux sorties, Si : la somme et Ri la retenue sortante. 3.3. Additionneur sur 4 bits Lorsque on fait l’addition en binaire, on additionne bit par bit en commençant à partir du poids fiable et à chaque fois on propage la retenue sortante au bit du rang supérieur. L’addition sur un bit peut se faire par un additionneur complet sur 1 bits. 31 Cours Circuits Numériques 2020/2021 3.4. Demi-Soustracteur La table de vérité pour un demi-soustracteur (ne tenant pas compte d’une éventuelle retenue provenant des bits de poids inférieurs) est la suivante : A 0 0 1 1 B 0 1 0 1 D (Différence) 0 1 1 0 C (Emprunt) 0 1 0 0 Où D représente le résultat de la soustraction A - B et C la retenue (Emprunt). Nous en déduisons les expressions logiques définissant D et C : 3.5. Comparateur sur un bit C’est un circuit combinatoire qui permet de comparer entre deux nombres binaire A et B. Il possède 2 entrées : A : sur un bit et B : sur un bit. Il possède 3 sorties : fe : égalité (A=B), fi : inférieur ( A < B) et fs : supérieur (A > B). 3.6. Comparateur deux bits Il permet de faire la comparaison entre deux nombres A (a2a1) et B(b2b1) chacun sur deux bits. 32 Cours Circuits Numériques 2020/2021 Les équations s’écrivent : Comparateur deux bits avec des comparateurs 1 bit : C’est possible de réaliser un comparateur 2 bits en utilisant des comparateurs 1 bit et des portes logiques. Il faut utiliser un comparateur pour comparer les bits du poids faible et un autre pour comparer les bits du poids fort. Il faut combiner entre les sorties des deux comparateurs utilisés pour réaliser les sorties du comparateur final. 33 Cours Circuits Numériques 2020/2021 3.7. Comparateur avec des entrées de mise en cascade On remarque que si A2 >B2 alors A > B et que si A2<B2 alors A < B. En revanche si A2=B2 alors il faut tenir en compte du résultat de la comparaison des bits du poids faible. Pour cela on rajoute au comparateur des entrées qui nous indiquent le résultat de la comparaison précédente. Ces entrées sont appelées des entrées de mise en cascade. 4. Unité Arithmétique et Logique L’unité arithmétique et logique réalise une opération élémentaire (addition, soustraction, multiplication, . . .). L’UAL regroupe les circuits qui assurent les fonctions logiques et arithmétiques de bases (ET, OU, ADD, SOUS, MUL,). L’UAL comporte un registre accumulateur (ACC) : c’est un registre de travail qui sert à stocker un opérande (données) au début d’une opération et le résultat à la fin. L’UAL comporte aussi un registre d’état : Ce registre nous indique l’état du déroulement de l’opération. Ce registre est composé d’un ensemble de bits. Ces bits s’appellent indicateurs (drapeaux 34 Cours Circuits Numériques 2020/2021 ou flags). Ces indicateurs sont mis à jour (modifiés) après la fin de l’exécution d’une opération dans l’UAL. Les principaux indicateurs sont : ■ ■ ■ ■ Retenue : ce bit est mis à 1 si l’opération génère une retenue. Signe : ce bit est mis à 1 si l’opération génère un résultat négatif. Débordement : ce bit est mis à 1 s’il y a un débordement. Zéro : ce bit est mis à 1 si le résultat de l’opération est nul. Schéma d’une Unité Arithmétique et Logique : Exemple de réalisation d’une Unité Arithmétique et Logique 1 bit : Cet exemple illustre une UAL (Unité Arithmétique et Logique) à un bit qui réalise les fonctions ET, OU, NON, SOMME. Cette UAL calcule A et B, A ou B, non B, ou bien A+B selon que les bits sur les deux lignes en bas à gauche valent 00, 01, 10, ou 11. 35 Cours Circuits Numériques 2020/2021 Chapitre 3 : Circuits séquentiels 1. Introduction sur les circuits séquentiels Dans un circuit séquentiel, le temps intervient et le circuit se comporte en fonction du passé et du présent. Pour tenir compte du passé, il doit y avoir un élément de mémoire dont l’entrée correspond à l’état futur (« next-state ») et la sortie correspond à l’état présent (« present-state »). Les signaux de l’état futur sortent d’un circuit combinatoire et entrent dans l’élément de mémoire tandis que les signaux de l’état présent sortent de l’élément de mémoire et entrent dans un circuit combinatoire. À chaque front d’horloge, la mémoire charge le nouvel état à venir (état futur) qui deviendra l’état présent après le front d’horloge. La valeur des sorties à l’instant t dépendent de la valeur des entrées et de la valeur des sorties à l’instant t-1 et nous avons la sortie qui s’écrit : St = f (E0, E1, E2…, St-1). 2. Bascules 2.1. Bascules Synchrones et Asynchrones Les circuits séquentiels de base sont les bascules (flip-flops), une bascule a deux états stables (bistables). Les bascules sont des éléments de mémoire simple capables de conserver l’état de leur sortie même si la combinaison des signaux d’entrée ayant provoqué cet état de sortie disparaît. Les Éléments de base d’une bascule sont 2 inverseurs en contre-réaction positive. On distingue deux types de bascules, synchrones et asynchrones : Les bascules synchrones sont asservies à des impulsions d’horloge et donc insensibles aux bruits entre deux tops tandis que les bascules asynchrones, ne sont pas asservies à une horloge et prenant en compte leurs entrées à tout moment. 2.2. Bascule RS La bascule RS possède deux entrées, l’entrée de mise à 1 S (Set) et l’entrée de mise à 0 R (Reset). Elle possède aussi deux sorties complémentées, Q et /Q. 36 Cours Circuits Numériques 2020/2021 Le schéma de cette bascule en réalisation avec des portes NOR est le suivant : La table de vérité est la suivante : L’état R = 1 et S = 1 est état interdit pour la bascule RS. 2.3. Bascule RSH Cette bascule possède en plus des entrées R et s une entrée H (Horloge) qui permet d’isoler la bascule du monde extérieur quand H=0. La figue ci-dessus montre la réalisation d’une bascule RSH avec les portes NAND. 37 Cours Circuits Numériques 2020/2021 2.4. Bascule JK Elle permet de lever l’indétermination de la bascule RS. Table de vérité : Entrées de forçage asynchrones: /PRE et /CLR : Sur chacune des bascules, on peut ajouter des entrées de forçage qui sont asynchrones (ne dépendent pas de l’horloge) et qui permettent de forcer les bascules dans un état déterminé. Cette possibilité nous permettra de ramener un compteur dans un état particulier pour recommencer le cycle. L’entrée PRE force Q=1 alors que CLR forcera Q=0. Ces entrées sont actives à l’état bas. 2.5. Bascule D La bascule D permet de générer un retard (Delay) ou de stocker de l’information (Latch). La réalisation se fait en envoyant la donnée D sur l’entrée J (de la bascule JK) et son inverse sur l’entrée K. la réalisation peut être aussi faite à partir d’une bascule RSH. L’entré D permet d’éliminer l’état interdit. 38 Cours Circuits Numériques 2020/2021 Table de vérité : Au top d’horloge, la sortie recopie l’entrée Q(t+1) = D. 2. Circuits de comptage Un compteur est un circuit logique séquentiel constitué de bascules. Il a pour but de délivrer à chaque instant sous un code donné, le nombre d'impulsions reçues. La capacité d'un compteur encore appelée MODULO est le nombre maximum d'états différents que peuvent prendre l'ensemble de ses sorties. On peut également concevoir un compteur/décompteur encore appelé COMPTEUR REVERSIBLE qui, suivant l'état d'une entrée spécifique, fonctionne en compteur ou décompteur. 2.1. Compteur asynchrone Il est constitué de bascules J-K branchées en cascade. Chaque bascule représente une fonction "DIVISION PAR 2 ". La sortie Q d'une bascule commande l'entrée d'une horloge de la suivante, etc.... Ainsi les différentes bascules ne sont pas commandées en même temps mais les unes après les autres (d'où le nom de compteur asynchrone). Le temps de réponse maximum du compteur est égal à n fois le temps de propagation de chaque bascule. Les n bascules réalisent un comptage par 2n, ce qui revient à dire que la nième bascule divise par 2n la fréquence du signal d'entrée. Exemple de compteur asynchrone modulo 16 : 39 Cours Circuits Numériques 2020/2021 Pour réaliser un compteur décimal qui compte de 0 jusqu’à 9 (1001 en binaire) par exemple, il sera composé également de bascules mais on réalise une remise à zéro de l'ensemble à la dixième impulsion d'horloge pour interdire la combinaison 1010(10 en décimal). Pour réaliser un décompteur asynchrone, après remise à zéro du compteur, la première impulsion à l'entrée met le contenu du compteur à 15. A chaque front descendant de l'entrée, le contenu est diminué de 1. 2.2. Compteur synchrone : Dans le comptage synchrone, les bascules sont commandées simultanément par l'impulsion d'horloge. Cet avantage réduit considérablement le temps de réponse du compteur pour chaque impulsion. Exemple de réalisation d’un compteur synchrone modulo 8 : Après synthèse consistant à trouver les équations de J2, K2, J1, K1, J0, K0 en fonction des Qi, nous avons : J0=K0=1 J1=K1=Q0 J2=K2=Q0.Q1 Remarque : Poids fort Q2, Poids Faible Q0. 40 Cours Circuits Numériques 2020/2021 3. Les registres Un registre est un ensemble de bascules et de quelques portes logiques pour garder en mémoire un code binaire de façon temporaire. Dans ce cours, on considère principalement les registres construits avec des bascules D. En plus d’une horloge, un registre a besoin d’un signal de contrôle pour indiquer quand les données placées à l’entrée doivent être chargées en mémoire. Une façon robuste de réaliser ce circuit consiste à placer un multiplexeur à l’entrée de chaque bascule. Le signal de contrôle est appliqué à la ligne de sélection du multiplexeur. Le diagramme suivant représente un registre à 1 bit. 3.1. Registre à chargement parallèle Prenons le cas de chargement d’un seul bit, le registre est chargé de la valeur D0 sur une transition d’horloge quand le signal ‘charge’ a la valeur 1. Tant que ‘charge’ vaut 0, le registre garde en mémoire la valeur qu’il contient. La sortie du multiplexeur est appliquée à l’entrée D de la bascule D. La commande « charge » est appliquée à l’entrée d’adresse du multiplexeur. 41 Cours Circuits Numériques 2020/2021 En plaçant plusieurs registres à 1 bit en parallèle, on peut garder en mémoire des codes à plusieurs bits. On obtient ainsi un registre à chargement parallèle. Le diagramme suivant représente un registre à chargement parallèle à 4 bits. 3.2. Registre à décalage Un registre à décalage permet d’effectuer un décalage sériel de son contenu. Les bascules D sont interconnectées de telle façon que l’état de la bascule de rang i soit transmis à la bascule i+1 (ou i-1). Il y a plusieurs applications pour ce genre de registre. On pense entre autres aux communications sérielles RS-232 et à la multiplication et la division binaires. Le décalage peut s’effectuer vers la droite, la gauche ou les deux. 3.2.1. Registres à décalage de type entrée série / sortie série L’information est présente séquentiellement bit après à la première bascule. A chaque Top d’horloge, un nouveau bit est présenté et ceux déjà chargés sont décalés d’un rang. La figure suivante montre un composant muni de 4 étages ; ce registre peut stocker jusqu’à 4 bits de données. 42 Cours Circuits Numériques 2020/2021 3.2.2. Registres à décalage de type entrée série / sortie parallèle La figure ci-dessous illustre un registre de type entrée série / sorties parallèles de 4 bits. Son fonctionnement est exactement le même que le registre précédent sauf que les sorties de chaque bascule nous permettent d’obtenir les données sous une forme parallèle. 3.2.3. Registres à décalage de type entrées parallèles / sorties parallèles Les entrées se présentent sous une forme parallèle et les sorties aussi. 43 Cours Circuits Numériques 2020/2021 4. Circuits de mémoire 4.1. Introduction Une mémoire est un dispositif de stockage capable : d'enregistrer une information, de la conserver (mémoriser) et de la restituer (possible de la lire ou la récupérer par la suite). Exemple de mémoire : La mémoire centrale, Un disque dur, Une disquette, Un flash disque. La mémoire peut être dans le processeur (des registres), interne (mémoire centrale ou principale) ou externe (mémoire secondaire). Différentes formes de stockage peuvent être distingués, numérique (Circuits intégrés, CDROM,) ou analogique (Cassettes, Disques durs, …). Les bits stockés sont organisés sous forme de matrice : la dimension de la mémoire est donnée par le nombre de lignes fois la largeur de la ligne. Chaque ligne de la mémoire est appelée un mot. Elle est identifiée par une adresse (numéro de la ligne). Le nombre de lignes est toujours une puissance de deux. Deux opérations sont possibles, sur un mot complet : La lecture (Read) et l’écriture (Write). La plus petite information stockable est de 1 bit présentant la notion de case mémoire. Il existe deux grandes catégories de mémoires, celle à accès aléatoire pour laquelle chaque case mémoire est utilisable séparément établissant la notion d’adresse mémoire et la mémoire à accès sériel : (mémoires séquentielles) où l’accès aux cases mémoires se fait séquentiellement et il n’y a pas besoin d’adresse utilisée. 4.2. Types de mémoires La figure suivante illustre les types de mémoire : Nous pouvons distinguer deux grandes familles de mémoires, les mémoires mortes et les mémoires vives. 44 Cours Circuits Numériques 2020/2021 4.3. Mémoires mortes Les mémoires mortes sont configurées en Lecture seule par le processeur et elles ont la particularité du maintien de l’information hors tension. On peut distinguer les ROM (Read Only Memory) programmées en usine, les PROM (Programmable ROM) programmées par l’utilisateur une seule fois, les EPROM (Erasable PROM) programmable et effaçable (rayons UV) par l’utilisateur, les EEPROM (Electrically EPROM) EPROM effaçable par un courant électrique. Pour les PROM, ROM programmable par l'utilisateur une seule fois de telle façon qu’un point mémoire correspond à un fusible. Pour les EPROM : PROM effaçable plusieurs fois, l’effacement s’effectue en soumettant l ’Eprom à un rayonnement ultraviolet (UVPROM) ou un courant électrique (pour l’EEPROM). Le principe des EEPROM réside dans le fait que l’effacement s’opère électriquement octet par octet si nécessaire. Les EPROM FLASH sont effaçables globalement et sont plus rapides et plus simples (1 CMOS par bit) que les EEPROM. Toutes deux sont programmables en circuit. 4.4. Mémoires vives L’opération de Lecture/Écriture s’effectue par le processeur et les informations ne sont pas permanentes (mémoire volatile). Ces mémoires contiennent des programmes et des données et elles sont dénommées RAM (Random Access Memory), c’est à dire mémoires à accès aléatoire ou à la demande. Il existe deux types SRAM et DRAM (statiques et dynamiques). Les mémoires Statiques (Un bit, une bascule D) pour lesquelles l’information est maintenue spontanément sous tension et les mémoires Dynamiques (Un bit, une capacité) pour lesquelles l’information est maintenue par rafraîchissement (balayage régulier de toutes les cases mémoires). L’Information pour les DRAM est stockée dans un condensateur sous forme de charge électrique. Ce type de mémoires offre la possibilité d’une plus grande intégration mais nécessite des opérations de rafraîchissement (lire le bit et le réécrire environ toutes les 10nsec). 4.5. Caractéristiques des mémoires 4.5.1. Capacité d’une mémoire La capacité (taille) d’une mémoire est le nombre (quantité) d’informations qu’on peut enregistrer (mémoriser) dans cette mémoire. Cette capacité est toujours un multiple d’une puissance de 2. L’organisation ou matrice est la longueur de la plus petite information adressable. Bit : un bit est l’élément de base pour la représentation de l’information Octet (Byte) : 1 Octet = 8 bits Mot (Word) : 16 bits Double Mot : 32 bits La capacité est donc égale à <Nb adresses> * Matrice. Exemple : 1kMot = 16kbits. 45 Cours Circuits Numériques 2020/2021 kilo-octet (KO) : 1 kilo-octet (KO )= 1024 octets = 210 octets Méga-octet (MO) : 1 Méga-octet ( MO)= 1024 KO = 220 octets Géga-octet (GO) :Géga-octet ( GO)=1024 MO = 230 octets Téra-octet (TO) : 1 téra-octet (To)= 1024 Go =240 octets 4.5.2. Volatilité Si une mémoire perd son contenu (les informations) lorsque la source d’alimentation est coupée alors la mémoire est dite volatile. Si une mémoire ne perd pas (conserve) sont contenu lorsque la source d’alimentation est coupée alors la mémoire est dite non volatile (mémoire permanente ou stable). 4.5.3. Mode d’accès à l’information ( lecture /écriture ) Sur une mémoire on peut effectuer l’opération de lecture : récupérer / restituer une information à partir de la mémoire ou d’écriture : enregistrer une nouvelle information ou modifier une information déjà existante dans la mémoire. Il existe des mémoires qui offrent les deux modes lecteur/écriture, ces mémoire s’appelles mémoires vives. Il existent des mémoires qui offrent uniquement la possibilité de la lecture ( il n’est pas possible de modifier le contenu ). Ces mémoires s’appellent mémoires mortes. 4.5.4. Temps d’accès C’est le temps nécessaire pour effectuer une opération de lecture ou d’écriture. Par exemple pour l’opération de lecture, le temps d’accès est le temps qui sépare la demande de la lecture de la disponibilité de l’information. Le temps d’accès est un critère important pour déterminer les performances d’une mémoire. 4.6. Mémoire centrale La mémoire centrale (MC) représente l’espace de travail de l’ordinateur (calculateur). C’est l’organe principal de rangement des informations utilisées par le processeur. Dans une machine (ordinateur / calculateur) pour exécuter un programme il faut le charger (copier) dans la mémoire centrale. Le temps d’accès à la mémoire centrale et sa capacité sont deux éléments qui influent sur le temps d’exécution d’un programme (performance d’une machine). 46 Cours Circuits Numériques 2020/2021 La mémoire centrale est réalisée à base de semi-conducteurs. C’est une est une mémoire vive : accès en lecture et écriture. La mémoire centrale est dite à accès aléatoire (RAM : Random Acces Memory) c'est-à-dire que le temps d'accès à l'information est indépendant de sa place en mémoire. Elle est volatile : la conservation de son contenu nécessite la permanence de son alimentation électrique. Le temps d’accès à une mémoire centrale est moyen mais plus rapide que les mémoires magnétiques. Sa capacité est limitée mais il y a toujours une possibilité d’une extension. Pour la communication avec les autres organes de l’ordinateur, la mémoire centrale utilise les bus (bus d’adresses et bus de données). La mémoire centrale peut être vu comme un large vecteur (tableau) de mots ou octets. Un mot mémoire stocke une information sur n bits. Un mot mémoire contient plusieurs cellules mémoire. Une cellule mémoire stock 1 seul bit. Chaque mot possède sa propre adresse. Une adresse est un numéro unique qui permet d’accéder à un mot mémoire. Les adresses sont séquentielles ( consécutives )La taille de l’adresse ( le nombre de bits ) dépend de la capacité de la mémoire. 4.6.1. Structure physique d’une mémoire centrale La structure physique d’une mémoire centrale est composée d’éléments suivants : RAM (Registre d’adresse Mémoire) : ce registre stocke l’adresse du mot à lire ou à écrire. RIM (Registre d’information mémoire) : stocke l’information lue à partir de la mémoire ou l’information à écrire dans la mémoire. Décodeur : permet de sélectionner un mot mémoire. 47 Cours Circuits Numériques 2020/2021 R/W : commande de lecture/écriture, cette commande permet de lire ou d’écrire dans la mémoire (si R/W=1 alors lecture sinon écriture ) Bus d’adresses de taille k bits Bus de données de taille n bits 4.6.2. Sélection d’un mot mémoire Lorsqu’ une adresse est chargée dans le registre RAM, le décodeur va recevoir la même information que celle du RAM. A la sortie du décodeur nous allons avoir une seule sortie qui est active → Cette sortie va nous permettre de sélectionner un seul mot mémoire. 48 Cours Circuits Numériques 2020/2021 Lecture/Ecriture d’une information : Pour lire une information en mémoire centrale il faut effectuer les opérations suivantes : • • • Charger dans le registre RAM l’adresse du mot à lire. Lancer la commande de lecture (R/ W=1) L’information est disponible dans le registre RIM au bout d’un certain temps (temps d’accès). Pour écrire une information en MC il faut effectuer les opérations suivantes : • • • Charger dans le RAM l’adresse du mot où se fera l’écriture. Placer dans le RIM l’information à écrire. Lancer la commande d’écriture pour transférer le contenu du RIM dans la mémoire. 4.6.3. Calcul de la capacité d’une Mémoire Centrale Soit k la taille du bus d’adresses (taille du registre RAM). Soit n la taille du bus de données (taille du registre RIM ou la taille d’un mot mémoire). On peut exprimer la capacité de la mémoire centrale soit en nombre de mots mémoire ou en bits (octets, kilo-octets,) La capacité = 2k Mots mémoire La capacité = 2k * n Bits Exemple : Dans une mémoire la taille du bus d’adresses k=14 et la taille du bus de données n=4. Calculer la capacité de cette mémoire ? C=214 = 16384 Mots de 4 bits C= 214 * 4 = 65536 Bits = 8192 Octets = 8 KO 4.6.4. Conception des mémoires centrales On veut réaliser une mémoire de capacité C, mais nous disposons uniquement de boîtiers (des circuits) de taille inférieure ? Soit M une mémoire de capacité C, tel que m est le nombre de mot et n la taille d’un mot. Soit M’un boîtier de capacité C’, tel que m’ le nombre de mot et n’ la taille d’un mot. On suppose que C > C’( m >= m’ , n >=n’) Quel est le nombre de boîtiers M’nécessaire pour réaliser la mémoire M ? Pour connaître le nombre de boîtiers nécessaire, il faut calculer les deux facteurs suivants : P =m/m’ Q=n/n’ 49 Cours Circuits Numériques 2020/2021 P : permet de déterminer le nombre de boîtiers M’ nécessaire pour obtenir le nombre de mots de la mémoire M ( extension lignes ). Q : permet de déterminer le nombre de boîtier M’ nécessaire pour obtenir la taille de mot de la mémoire M (extension mots ou extension colonnes). P.Q donne le nombre total de boîtiers nécessaire pour réaliser la mémoire M. Pour sélectionner les boîtiers on utilise les bits de poids forts d’adresses. Si P est le facteur d’extension lignes alors on prend k bits tel que P=2k.. Les autres bits d’adresses restants sont utilisés pour sélectionner un mot dans un boîtier. Exemple : Réaliser une mémoire de 1Ko (la taille d’un mot est de 8 bits) en utilisant des boîtiers de taille 256 mots de 8 bits ? Solution : (m,n)=(1024,8) → taille du bus d’adresses est de 10 bits A90(A9…A0), taille du bus de données est de 8 bits D70(D7….D0) (m’,n’)=(256,8) → taille du bus d’adresses est de 8 bits (A7’…A0’), taille du bus de données est de 8 bits (D7’….D0’) Calcul des deux facteurs d’extension lignes et colonnes : P= m/m’ =1024/256=4 ( extension lignes ) Q= n/n’ =8/8=1 (extension colonnes) Le nombre totale de boîtiers P.Q=4 50 Cours Circuits Numériques 2020/2021 4.6.5. Exemple de réalisation d’une mémoire Cette mémoire dispose de 8 entrées: • 3 entrées de données I0, I1, I2; • 2 entrées d'adresses A0, A1 (4 mots); • 3 entrées de commande: • CS: sélection du boîtier (“chip select”) si CS=1; • RD: lecture/écriture (1/0); • OE: activation des sorties (“output enable”). Et de 3 sorties de données D0, D1, D2. Les lectures et les écritures sont réalisées de la manière suivante : • si RD=1, le mot lu à l'adresse indiquée par A0 A1 est positionné en sortie; • si RD=0, le mot d'entrée est chargé dans celui sélectionné par A0 A1. Remarquons que A0 A1 et les entrées des quatre mots forment un décodeur. 51 Cours Circuits Numériques 2020/2021 Chapitre 4 : Circuits convertisseurs 1. Chaine d'acquisition La chaîne d'acquisition de données est l'ensemble des éléments nécessaires à la mesure des données physiques (analogiques) à leur transmission après traitement jusqu'au récepteur et à l'utilisateur (homme ou machine). Cet utilisateur peut vouloir utiliser ces données immédiatement ou les stocker pour les utiliser ultérieurement. Le filtre analogique limite la bande passante du capteur et évite ainsi la détérioration du rapport signal à bruit. L’étage d’échantillonnage et de maintien prélève un échantillon du signal et le maintien constant pendant la phase de conversion. La conversion analogique numérique (CAN) traduit le signal analogique maintenu constant en grandeur numérique quantifiée sur n bits. Après traitement numérique, le signal est converti en analogique par un convertisseur numérique analogique (CNA). Cette opération n’est pas obligatoire puisqu’il existe des actionneurs qui peuvent admettre un signal numérique. Le filtrage de sortie (de restitution) réduit les effets de modification du signal suite à la numérisation. 2. Convertisseur Numérique Analogique Un convertisseur numérique-analogique (CNA, de N/A pour numérique vers analogique ou, en anglais, DAC, de D/A pour Digital to Analog Converter) est un composant électronique dont la fonction est de transformer une valeur numérique (codée sur plusieurs bits) en une valeur analogique correspondant à la valeur numérique codée. Généralement la sortie du convertisseur est une tension électrique, mais certains convertisseurs ont une sortie en courant. Vr est une tension de référence et Vs est la tension de sortie. Le principe est de créer une valeur analogique en pondérant le poids de chaque bit d'information, Différents types de réseaux peuvent être utilisés. 52 Cours Circuits Numériques 2020/2021 2.1. CNA à résistances pondérés Prenons le cas d’un CNA à résistances pondérées de 3 bits : Les contacts des interrupteurs peuvent être mécaniques ou électroniques. Quand le bit vaut 0, l'interrupteur est ouvert, quand il prend la valeur 1, l'interrupteur est fermé. Pour le nombre binaire 100, la tension de sortie correspond à Vs = -5V Pour le nombre binaire 010, la tension de sortie correspond à Vs = -2.5V Pour le nombre binaire 001, la tension de sortie correspond à Vs = -1.25V Pour le nombre binaire 101, la tension de sortie correspond à Vs = -6.25V D’une façon générale la sortie peut s’écrire : Vs = -R2.Vr (a3/R1 + a2/R3 + a1/R4) Pour obtenir une tension VS égale à 1 / 16 de la tension d'entrée, il faudrait utiliser un quatrième interrupteur et une résistance de 80 kW. En pratique, le circuit tel que nous venons de le décrire, n'est pas utilisé. En effet, si l'on voulait travailler avec 12 bits par exemple, la valeur de la dernière résistance serait égale à 20,480 MW. Il est assez difficile de réaliser des résistances de très grande valeur avec une bonne précision. D'autre part, du fait des grandes différences de valeurs, les variations des résistances dues à la température ne sont pas identiques. Le poids de chacun des bits (1 / 2, 1 / 4, 1 / 8, etc...) n'est plus exact et la précision du système est mauvaise. 2.2. CNA à réseau R-2R La solution adoptée pour surmonter les problèmes créés par des résistances de valeurs trop différentes consiste à utiliser uniquement deux valeurs de résistances : R et 2R 53 Cours Circuits Numériques 2020/2021 Dans ce circuit, les interrupteurs relient les résistances 2R, soit vers la tension de référence VR, soit vers la masse, selon que le bit correspondant est à 1 ou à 0. Le bit de poids fort (MSB) est situé à droite du réseau de résistances R - 2R. Lorsque l'interrupteur correspondant à ce bit est sur la position 1, la tension de sortie est égale à : Vs = -VR/2 Si le bit 2 est par exemple à 1, et à partir du théorème de Thévenin, nous obtenons le schéma simplifié suivant : La tension de sortie peut s’écrire : Vs = -VR/4 Le poids du bit numéro 2 est de 1/4. On démontre que le poids de chacun des bits est de 1/2 ; 1/4 ; 1/8, etc... 2.3. CNA à circuits intégrés Les convertisseurs D / A sont actuellement disponibles sous forme de circuits intégrés. Les convertisseurs ainsi réalisés atteignent une précision de l'ordre de 0,05 % à 0,0125 %. Sur le marché, on rencontre plusieurs types de convertisseurs CNA intégrés, le plus simple est représenté en figure suivante : 54 Cours Circuits Numériques 2020/2021 On reconnaît le réseau de résistances R - 2R et les dix interrupteurs qui, bien entendu, sont réalisés avec des transistors à effet de champ. L’utilisateur doit ajouter l'amplificateur opérationnel qui n'est pas incorporé dans le boîtier. Le choix de l'amplificateur sera en fonction de la vitesse de commutation requise. 2.4. Précision des convertisseurs Les deux principales caractéristiques d'un convertisseur D / A sont : la résolution et la précision. La résolution dépend du nombre de bits d'entrée que peut traiter le circuit. Ce nombre détermine en combien d'échelons peut être divisée la tension de référence VR. La figure suivante donne la relation entre l'entrée numérique et la sortie analogique d'un convertisseur à 3 bits. 55 Cours Circuits Numériques 2020/2021 La résolution de ce circuit correspond à l'accroissement de la tension analogique de sortie, provoquée par l'augmentation d'une unité du nombre binaire d'entrée. Dans ce cas précis, la résolution est de 1 / 8 de VR. Pour un circuit à 4 bits, elle serait de 1 / 16 de VR. A chaque combinaison binaire d'entrée, correspond une tension de sortie. Par exemple, le nombre binaire 100 détermine une tension de sortie égale à 0,5 VR. En réalité, cette valeur est légèrement différente, elle peut être de 0,49 VR ou de 0,51 VR. L'écart entre la valeur idéale et celle obtenue réellement (± 0,01 VR, c'est-à-dire 1 % par excès ou par défaut) est appelé degré de précision ou simplement précision. Il ne faut pas confondre résolution et précision. En effet, on rencontre des convertisseurs à faible résolution, par exemple à 3 bits, donnant 8 niveaux, mais avec une très grande précision. A l'inverse, il existe des circuits à haute résolution (10 à 12 bits d'entrée), mais dont la précision est médiocre. 3. Convertisseur Analogique Numérique Un convertisseur analogique-numérique (CAN, parfois convertisseur A/N, ou en anglais ADC pour Analog to Digital Converter ou plus simplement A/D) est un dispositif électronique dont la fonction est de traduire une grandeur analogique en une valeur numérique codée sur plusieurs bits. Le signal converti est généralement une tension électrique. Le nombre de combinaisons numériques est limité par le nombre de bits disponibles en sortie. En général, il est nécessaire de recourir à une quantification ou échantillonnage (découpage) du signal d'entrée. Avec l'échantillonnage, le champ de variation du signal analogique est divisé en intervalles réguliers plus ou moins nombreux selon le nombre de bits disponibles. Toutes les valeurs analogiques comprises entre la valeur médiane d'un intervalle et la valeur médiane de l'intervalle suivant sont traduites par le même nombre binaire. La figure suivante donne la courbe de transfert d'un convertisseur CAN à 3 bits. 56 Cours Circuits Numériques 2020/2021 Le nombre binaire 001, par exemple, correspond à toutes les valeurs analogiques comprises entre 1/16 et 3/16 de Vref. Nous pouvons constater que le convertisseur est assez peu précis. En effet, le nombre binaire apparaissant en sortie ne permet pas de connaître avec exactitude la valeur analogique qui l'a généré. Il indique seulement dans quel intervalle est située la valeur d'entrée. On peut réduire cet intervalle en utilisant davantage de bits, mais il restera toujours une incertitude, inhérente au procédé de conversion. Il existe de nombreux types de convertisseurs CAN. 3.1. CAN parallèle (ou flash) C'est le convertisseur le plus simple, il est formé d'une série de comparateurs, aussi nombreux qu'il y a d'intervalles possibles moins un. Un pont diviseur à résistances permet d'obtenir les différents niveaux de tensions (entre 0 et VR) délimitant les intervalles de valeurs analogiques à convertir. Ces niveaux de tension sont reliés aux entrées «-» des différents amplificateurs opérationnels. La tension analogique d'entrée (Vx est appliquée à toutes les entrées «+» des amplificateurs opérationnels. Plusieurs cas peuvent se présenter : 57 Cours Circuits Numériques 2020/2021 La tension sur la borne «-» est supérieure à celle présente sur la borne «+». Le comparateur délivre alors une tension négative correspondant à un 0 logique. La tension sur la borne «-» est inférieure à celle appliquée sur la borne «+» ; dans ce cas, la sortie devient positive et correspond à un 1 logique. Les deux tensions d'entrée sont identiques. Le comparateur délivrera alors un 0 logique. Toutefois, cette éventualité n'est pratiquement jamais envisagée, car il est très improbable que l'égalité parfaite des deux tensions soit obtenue. Tous les amplificateurs opérationnels font cette comparaison simultanément. Si par exemple Vx est égale à 0,3 VR, la sortie des deux premiers comparateurs est à 1. Cela indique que Vx est supérieure à 1/16 et à 3/16 VR. Par contre, la sortie des autres comparateurs est à 0 et cela indique que Vx est inférieure à 5/16 VR. Sur la sortie des comparateurs, on lira de haut en bas le nombre binaire 0000011. Pour transformer ces résultats en nombres binaires à 3 bits, on utilise un réseau de décodage constitué de portes logiques. Ces convertisseurs ont le grand avantage d'être très rapides. Le code binaire suit presque instantanément les variations du signal analogique, avec un retard minime dû aux temps de transit dans les amplificateurs opérationnels et dans les portes logiques. Malheureusement, le nombre d'éléments qui les composent croît géométriquement avec la résolution ; en effet, pour un convertisseur à n bits, 2n - 1 comparateurs sont nécessaires. Ainsi, pour un convertisseur à 8 bits, il faudra 255 comparateurs. Cela entraîne un coût très élevé et pour cette raison, on utilise ce type de circuit uniquement lorsqu'une grande vitesse de conversion est requise. 3.2. CAN à approximations successives C'est la technique la plus utilisée, notamment quand on travaille avec des ordinateurs. Cette méthode présente le meilleur compromis entre vitesse et résolution. Il s'agit de déterminer la valeur d'une tension inconnue Vx, au moyen d'une série de « pesées » successives, exactement comme on peut le faire avec une balance pour déterminer le poids d'un objet. Le principe de ce convertisseur est illustré dans la figure suivante : 58 Cours Circuits Numériques 2020/2021 Le circuit est constitué par un convertisseur digital / analogique auquel est associé un circuit de commande générant des nombres binaires. La tension analogique Vx est appliquée à l'entrée « + » du comparateur. La conversion commence quand une impulsion est appliquée à l'entrée « Start ». Au premier coup d'horloge (clock), le circuit de commande met le MSB à 1 et tous les autres bits à 0. Le convertisseur digital / analogique voit en entrée le nombre binaire 100 et délivre une tension analogique VC correspondant à la moitié de la tension de référence VR. L'amplificateur opérationnel effectue la comparaison entre VC et Vx et informe le circuit de commande. Si Vx est supérieure à VC, le circuit de commande laisse le MSB à 1. Si Vx est inférieure à VC, le MSB est ramené au niveau logique 0. Le circuit de commande passe ensuite le bit N° 2 à l'état 1. Ce dernier restera à l'état 1 si la nouvelle tension de comparaison VC est supérieure à Vx ou retournera à l'état 0 si VC est inférieure à Vx. Le même processus est répété pour le bit N° 3 et ainsi de suite jusqu'à ce que le dernier bit (LSB) soit traité. 3.3. CAN simple rampe Il s’agit d’une technique très répandue qui utilise le procédé suivant. On applique sur les entrées d’un comparateur d’une part la tension à convertir (à coder), et d’autre part une rampe de tension, c'est-àdire une tension qui croit linéairement en fonction du temps. La tension de référence est intégrée par l'amplificateur opérationnel, puis comparée à la tension à convertir. Le montage logique en aval compte le temps que met la sortie de l'intégrateur à rejoindre la tension d'entrée. La sortie numérique est récupérée en sortie du compteur et mémorisé en sortie du registre. Nous avons : U = a.t = a.N.T = a.N/F avec F : fréquence de l’horloge et N : nombre converti et a : pente de l’intégrateur. La durée de conversion est fonction de la valeur à mesurer. Ce type de convertisseur a été remplacé par des doubles rampes (charge puis décharge du condensateur) qui permettent un meilleur contrôle du zéro. Il existe aussi des modèles dans lesquels la rampe est produite avec un CNA. Ce type de convertisseur est réservé aux applications pour lesquelles une dizaine de mesures par seconde est suffisant. 59 Cours Circuits Numériques 2020/2021 60 Cours Circuits Numériques 2020/2021