CIRCUITS LOGIQUES NOTIONS FONDAMENTALES · Différence entre système analogique et logique •...

53
1 CIRCUITS LOGIQUES NOTIONS FONDAMENTALES Différence entre système analogique et logique Analogique : les signaux sont décrits par des fonctions mathématiques continues Logique : Chaque paramètre ne peut prendre que deux valeurs 0 ou 1 (vrai ou faux). C'est un système binaire Variable d'entrée binaire Variable de sortie binaire Exemple : Sécurisation du démarrage d'un véhicule Le véhicule ne peut démarrer que si un certain nombre de conditions sont remplies (celà suppose, bien entendu la présence de capteurs appropriés). Contacts Portière : P Ouverte = 0 Fermée = 1 électriques Ceinture : C Non Bouclée = 0 Bouclée = 1 Feux : F Eteints = 0 Allumés = 1 Photo-capteur Jour ou nuit : L Nuit = 0 Jour = 1 Conditions de sécurité La fonction D (démarrage) ne prendra la valeur 1 que si les conditions de sécurité sont remplies. D = f(P, C, F, L)

Transcript of CIRCUITS LOGIQUES NOTIONS FONDAMENTALES · Différence entre système analogique et logique •...

1

CIRCUITS LOGIQUES

NOTIONS FONDAMENTALES Différence entre système analogique et logique • Analogique : les signaux sont décrits par des fonctions mathématiques

continues • Logique : Chaque paramètre ne peut prendre que deux valeurs 0 ou 1

(vrai ou faux). C'est un système binaire

Variable d'entrée binaire ���� Variable de sortie binaire Exemple : Sécurisation du démarrage d'un véhicule Le véhicule ne peut démarrer que si un certain nombre de conditions sont remplies (celà suppose, bien entendu la présence de capteurs appropriés).

Contacts Portière : P Ouverte = 0 Fermée = 1 électriques Ceinture : C Non Bouclée = 0 Bouclée = 1

Feux : F Eteints = 0 Allumés = 1 Photo-capteur Jour ou nuit : L Nuit = 0 Jour = 1

Conditions de sécurité

La fonction D (démarrage) ne prendra la valeur 1 que si les conditions de sécurité sont remplies.

D = f(P, C, F, L)

2

Nous pouvons exprimer la fonction D par un texte comportant des ET et des OU Le démarrage sera alors possible si: les portières sont fermées ET les ceintures de sécurité bouclées ET si les feux sont allumés ET qu'il fait nuit OU si les feux sont éteints ET qu'il fait jour Ce qui peut aussi s'écrire:

D = 1 si P=1 et C=1 et ((F=1 et L=0) ou (F=0 et L=1))

���� Algèbre de Boole (détermination des fonctions logiques)

La fonction OU (Union, réunion, addition ou somme logique, OR)

≠ somme algébrique Notation : + ou ∪ (que l'on prononce OU), f(x,y) = x+y

X Y OU 0 0 0 0 1 1 1 0 1 1 1 1

3

Table de vérité de la fonction OU

Vs = Ve si I1 ou I2 est fermé Vs = 0 si I1 et I2 sont ouverts

Réalisation de la fonction OU avec des diodes:

x s

y

La fonction ET (Intersection, produit logique, AND)

≠ produit algébrique Notation : • ou ∩ (que l'on prononce ET), f(x,y) = x•y

X Y ET 0 0 0 0 1 0 1 0 0 1 1 1

Table de vérité de la fonction ET

Ve Vs

I1 I2

Vs = Ve si et seulement si I1 et I2 sont fermés

Réalisation de la fonction ET avec des diodes

4

x s

y

+ 5 V

A côté des fonctions OU et ET il existe une autre fonction fondamentale: la fonction NON La fonction NON (négation, complément, inversion, NOT) Notation : f(x) = x (dire x barre) X = 0 NON X = 1 X = 1 NON X = 0

X NON X 0 1 1 0

Table de vérité de la fonction NON

La fonction NON ne peut pas être réalisée avec des diodes. Considérons un transistor et le diagramme de sortie Ic = f(Vce):

5

E

RCRB

VCEVCE

IC

Saturation

Blocage

E

E/Rc

Cherchons alors la valeur de Rb pour laquelle le transistor est saturé. Pour ce faire on confond le point de saturation avec le point d'intersection de la droite de charge et de l'axe Ic. Pour Vce = 0 on a : Ic = E/Rc

Donc : ßIb = E/Rc ���� Ib = E/ßRc Par ailleurs : Rb.Ib + Vbe = E Si on néglige Vbe alors:

Rb = ßRc Donc pour tout Rb tel que Rb ≤ ßRc on a Vce = 0 Dans ces conditions le transistor se comporte comme un interrupteur ouvert.

6

A l'inverse, si Ib = 0 c'est à dire si l'on déconnecte Rb de l'alimentation E, alors Ic = 0 et par conséquent Vce = E. On est au point de blocage. Le transistor se comporte alors comme un interrupteur fermé. Choisissons maintenant Rb ≤ ßRc et faisons le schéma suivant :

E = 5V

RC

RB

X = 0V ou 5VS = X (5V ou 0V)

Lorsque X varie de 0 à 5 V le transistor passe de l'état bloqué (S = 5V) à l'état saturé (S = 0V). Extension des fonctions ET et OU Les fonctions ET et OU s'étendent à plus de deux variables

X Y Z ET OU 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1

Exemple de table de vérité pour 3 variables des fonctions ET et OU

A partir des fonctions ET, OU et NON on peut définir n'importe quelle fonction aussi complexe soit elle.

7

Pour simplifier les montages d'autres fonctions ont été définies et existent précablées, ce sont : La fonction NI (NON OU, NOT OR, NOR)

C'est la fonction OU inversée: YXYXf +=),(

X Y OU NOR 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0

Table de vérité de la fonction NOR

La fonction NON ET (NOT AND, NAND)

C'est la fonction ET inversée : YXYXf .),( =

X Y ET NAND 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0

Table de vérité de la fonction NAND

8

La fonction OU EXCLUSIF

YXYXf ⊗=),(

X Y OU EXCLUSIF 0 0 0 0 1 1 1 0 1 1 1 0

Toutes ces fonctions existent au catalogue des constructeurs. Cependant en général, lorsqu'il s'agit de systèmes complexes, la fonction que doit remplir le circuit est elle aussi complexe et n'existe généralement pas précablée. Cette fonction peut être:

• soit totalement définie • soit incomplètement définie

X Y Z f(X,Y,Z) 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 0

Exemple de fonction complètement définie

9

X Y Z f(X,Y,Z) 0 0 0 0 0 0 1 * 0 1 0 1 0 1 1 0 1 0 0 * 1 0 1 1 1 1 0 0 1 1 1 1

Exemple de fonction incomplètement définie. On note par * ces valeurs non

définies peu importantes pour le fonctionnement du système (X = 1 ou 0 indifféremment)

10

Propriétés des opérateurs ET, OU et NON.

Quelques identités remarquables sont à connaître: Fonctions Identités

Commentaires

1 variable

XX= X + 0 = X X + 1 = 1 X + X = X

1=+XX X + X = 1

X • 0 = 0 X • 1 = X X • X = X

0. =XX

2 variables X + Y = Y + X X • Y = Y • X

COMMUTATIVITE

3 variables X+Y+Z=(X+Y)+Z = X+(Y+Z) X•Y•Z= (X•Y)•Z = X•(Y•Z)

ASSOCIATIVITE

3 variables X•(Y+Z) = X•Y + X•Z X+ (Y•Z) = (X+Y)•(X+Z)

DISTRIBUTIVITE

Il existe d'autre part des théorèmes généraux qui permettent la manipulation des fonctions logiques: Théorème de De Morgan

.......... ZYXZYX =+++ ......... +++= ZYXZYX

Théorème de Shannon

),.,,,(,.),,,( +=+ ZYXfZYXf f(X,Y,Z,+,•) = f(X,Y,Z,•,+) Ces théorèmes sont à manipuler avec précaution

Exemple : Soit à calculer ZYXf .+=

11

On posera ZYA .=

Ce qui donne : ZXYXZYXZYXAXAX ..).(... +=+===+ Dans la suite nous oublierons parfois le symbole produit •

12

Une fonction quelconque peut s'exprimer avec les seuls opérateurs ET, OU et NON. Le problème est donc de trouver la bonne combinaison. Nous allons distinguer deux manières

1 - ECRITURE CANONIQUE 2 - METHODE DE KARNAUGH

1 - ECRITURE CANONIQUE Cela peut se faire en utilisant des fonctions produits ou des fonctions sommes. Nous allons traiter cette méthode dans le cas de trois variables X, Y et Z, ce qui nous donne 8 combinaisons possibles. a) Fonctions produits Pour chacune des 8 combinaisons possibles on définit une fonction Pi égale au ET des variables X ou X, Y ou Y et Z ou Z. On a donc 8 fonctions Pi qui sont :

.Z,YX. P5 ,Z.YX. P4 .Y.Z,X P3 ,Z.Y.X P2 .Z,Y.X P1 ,Z.Y.X P0 ====== X.Y.Z P7 ,ZX.Y. P6 ==

On obtient alors le tableau suivant : P0 P1 P2 P3 P4 P5 P6 P7 F

X

Y

Z

Z.Y.X

.ZY.X

Z.Y.X

.Y.ZX

Z.YX.

.ZYX.

ZX.Y.

X.Y.Z

0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0 1 La fonction F est donc définie comme : F = P1 ou P3 ou P4

13

ZYXZYXZYXPPP ......431 ++=++= = Somme canonique des produits b) Fonctions sommes Pour chacune des 8 combinaisons possibles on définit une fonction Si égale au OU des variables X ou X, Y ou Y et Z ou Z. On a donc 8 fonctions Si qui sont :

Z,YX S4 ,ZYX S3 Z,YX S2 ,ZYX S1 Z,YX S0 ++=++=++=++=++= ZYX S7 Z,YX S6 ,ZYX S5 ++=++=++=

De la même manière que pour les fonctions produits on dresse un tableau de toutes les combinaisons possibles S0 S1 S2 S3 S4 S5 S6 S7 F X Y Z ZYX ++ ZYX ++ ZYX ++ ZYX ++ ZYX ++ ZYX ++ ZYX ++ ZYX ++

0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 Ainsi la fonction F est maintenant définie comme : F = S0 ET S2 ET S5 ET S6 ET S7

)ZYX( Z)YX( )ZYX( Z)Y(X Z)Y(X ++++++++++= = Produit canonique des sommes C'est en général la première forme canonique (somme des produits) qui est la plus utilisée. Cependant le résultat n'est pas sous la forme la plus simple. Il faut donc simplifier l'expression de la fonction.

14

La simplification à l'aide de l'algèbre de Boole est en général malaisée car elle suppose des astuces de calcul. Exemple : Soit à simplifier : X.Y.Z ZX.Y. .ZYX. .Y.ZX F +++= Il faut alors remarquer que X.Y.Z + X.Y.Z + X.Y.Z = X.Y.Z On peut alors écrtire :

X.Y.Z) ZX.Y.( X.Y.Z).ZY(X. ).. .Y.Z(X F +++++= ZYX et en faisant une mise en facteur :

X.Y X.Z Y.Z )Z (Z X.Y )Y (Y X.Z )X (X Y.Z F ++=+++++= Plutôt que d'utiliser les formes canoniques on utilise en général la méthode de Karnaugh. 1 - METHODE DE KARNAUGH Cette méthode est basée sur l'utilisation de l'identité remarquable

a Xa. a.X =+ Il s'agit d'une méthode graphique qui consiste à mettre en évidence tous les termes produits d'une fonction qui ne diffèrent que par l'état d'une seule variable. On appelle ces termes les termes adjacents. Par exemple, dans le cas de 4 variables les deux produits

T.Z.Y.Xet .TZ.Y.X sont adjacents. Comme dans le cas de la première forme canonique on fait la somme des produits en regroupant les termes adjacents. L'utilisation de l'identité remarquable ci-dessus permet alors d'éliminer un produit ainsi qu'une variable (ici la variable T). Donc ZYX ..T.Z.Y.X .TZ.Y.X =+ La méthode utilise des tableaux dont le nombre de cases correspond au nombre total des combinaisons produits de toutes les variables d'entrée.

15

a) Exemples 2 variables (22 cases)

0 1 X 0 1 Y

3 variables (23 cases)

00 01 11 10 XY 0 1 Z

Il faut noter que l'on ne change q'une seule variable en passant d'une case à la suivante. 4 variables (24 cases)

00 01 11 10 XY 00 01 11 10

ZT Si l'on a plus de 4 variables on juxtapose alors des tableaux de 4 variables Comment passe-t-on de la table de vérité définissant la fonction au tableau de Karnaugh ?

16

b) Passage au tableau de Karnaugh Le passage est très simple. Il consiste à écrire des 1 dans les cases du tableau de Karnaugh qui correspondent aux combinaisons où la fonction vaut 1. Dans toutes les autres cases on mettra des 0. Pour mieux comprendre réalisons un exemple d'une fonction de 4 variables. Soit la table de vérité de la fonction, F, suivante:

X Y Z T F 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0

On remplit le tableau de Karnaugh de la manière suivante:

00 01 11 10 XY 00 1 0 0 1 01 0 1 1 1 11 0 0 0 1 10 1 0 0 1

ZT

17

On procède ensuite de la manière suivante : a) on réalise les groupements de termes adjacents égaux à 1. Attention on ne peut

les grouper q'en un multiple de 2. On essaie d'avoir le minimum de groupements. Les mêmes termes peuvent participer à plusieurs groupements (car x + x + x = x)

2. Dans un groupement de deux termes on élimine la variable qui a changé d'état. On ne conserve alors que le produit des variables qui n'ont pas changé

3. idem pour les groupement de 4 termes ou de 8 termes. 4. L'expression logique finale de la fonction F est la réunion (OU) des groupements

après l'élimination des variables qui avaient changé d'état. Dans le cas de l'exemple précédent les groupements sont les suivants:

00 01 11 10 XY 00 1 0 0 1 01 0 1 1 1 11 0 0 0 1 10 1 0 0 1

ZT

Les termes en jaune donnent : .Y.TX Les termes en rouge donnent : .TZY. Les termes en violet donnent : YX. La fonction F est donc définie comme :

YX. .TZY. T.Y.X F ++=

18

SYMBOLES GRAPHIQUES DES FONCTIONS LOGIQUES

x x

x x

NON, NOT ET, AND OU, OR NON ET, NAND NON OU, NOR SEPARATEUR, BUFFER OU EXCLUSIF, XOR

a

bab

a

ba+b

a

bab

a

ba+b

a

ba⊕⊕⊕⊕b

19

LES DIFFERENTES FACONS DE REPRESENTER

LES NOMBRES

Différentes bases possibles: Base 2 Base 8 Base 10 Base 16 BCD (Décimal codé binaire)

Exemple : Soit le nombre 1253 en base 10 105 104 103 102 101 100 1 2 5 3 En base 2 il s'écrira ; 212 211 210 29 28 27 26 25 24 23 22 21 20 1 0 0 1 1 1 1 1 1 0 1 Chaque colonne est représentée par une donnée (0 ou 1) appelée bit En base 2 les nombres seront codés sur un certain nombre de bits On a ainsi le codage sur 4 bits qui correspond aux nombres de 0 à 15 le codage sur 8 bits qui correspond aux nombres de 0 à 255 le codage sur 12 bits qui correspond aux nombres de 0 à 4095

20

le codage sur 16 bits qui correspond aux nombres de 0 à 65535 le codage sur 32 bits qui correspond aux nombres de 0 à 4294967294 Les ordinateurs actuels travaillent sur des combinaisons élevées (16, 32, 64 bit). On voit bien qu'en base 2 on ne pourra pas représenter tous les nombres et que la précision dépendra du nombre de bit utilisés pour représenter l'information. Par ailleurs, il n'y a pas que les nombres à représenter. Il y a aussi toutes sortes de caractères , alphabet, symboles de calculs divers (+,-,x, ÷, ...) , signes de ponctuation (, ; : ! ? .....)ainsi que des caractères dits de service. Il existe un certain nombre de codes mais il en est un qui est très utilisé, c'est le code ASCII (= CCITT N° 5) qui est un code à 7 bits.

b6 b5 b4 b3 b2 b1 b0 chiffre 1 1 1 0 0 0 0 1 chiffre 9 1 1 0 1 0 0 1 • •

lettre e 0 1 1 1 0 1 0 signe + 0 1 0 1 1 0 1 • •

Un des problèmes qui se pose souvent est le changement de code. Nous allons indiquer la procédure en utilisant l'exemple de la conversion de binaire en BCD. Le BCD est un code qui permet de gérer les afficheurs.

21

Décimal Binaire BCD

b3 b2 b1 b0 d7 d6 d5 d4 d3 d2 d1 d0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 2 0 0 1 0 0 0 0 0 0 0 1 0 3 0 0 1 1 0 0 0 0 0 0 1 1 4 0 1 0 0 0 0 0 0 0 1 0 0 5 0 1 0 1 0 0 0 0 0 1 0 1 6 0 1 1 0 0 0 0 0 0 1 1 0 7 0 1 1 1 0 0 0 0 0 1 1 1 8 1 0 0 0 0 0 0 0 1 0 0 0 9 1 0 0 1 0 0 0 0 1 0 0 1 10 1 0 1 0 0 0 0 1 0 0 0 0 11 1 0 1 1 0 0 0 1 0 0 0 1 12 1 1 0 0 0 0 0 1 0 0 1 0 13 1 1 0 1 0 0 0 1 0 0 1 1 14 1 1 1 0 0 0 0 1 0 1 0 0 15 1 1 1 1 0 0 0 1 0 1 0 1

Pour résoudre ce changement de code (transcodage) nous allons utiliser la méthode de Karnaugh. Dans ce système les variables sont les colonnes b0 à b3 et chaque colonne d0 à d7 est une fonction qu'il faut évaluer. La fonction qui correspond à la colonne d0 est évidente puisqu'elle correspond à la colonne b0. Evaluons maintenant la colonne d1:

00 01 11 10 b3b2 00 0 0 1 0 01 0 0 1 0 11 1 1 0 0 10 1 1 0 0

b1b0

22

d1 = b1b3 + b1b2b3

d1

b3

b1

b2

Schéma de cablage de la fonction d1

De même: d2 = b2 b3 + b1b2

d3 = b1b2b3

d4 = b2b3 + b1b3

• • •

23

OPERATIONS ARITHMETIQUES

A - Représentation des nombres A1 - Nombres entiers non signés On représente alors les nombre sur un cetain nombre de bits Par exemple sur 3 bits:

Décimal Binaire 0 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1

On voit tout de suite que pour représenter un grand nombre entier on aura besoin d'un très grand nombre de bits A2 - Nombre signés : ± N Il va falloir attibuer 1 bit pour le signe. Le nombre signé sera donc sous la forme: 1 bit de signe + n bits pour la valeur absolue du nombre à représenter Exemple d'un nombre signé repésenté sur 3 bits On choisit comme convention :

• Signe + valeur 0 • Signe - valeur 1

24

Signe Binaire Décimal 0 0 0 + 0 0 0 1 + 1 0 1 0 + 2 0 1 1 + 3 1 0 0 - 0 1 0 1 - 1 1 1 0 - 2 1 1 1 - 3

On s'aperçoit tout de suite d'un problème de taille.

Il existe deux valeurs pour représenter 0 !

Comment s'en sortir ?

Nous allons voir que le complément à 2 permet de résoudre ce problème. Nous allons tout d'abord définir ce que sont les compléments. i - complément à 1 d'un nombre binaire Soit A un nombre de n bits, ai A s'écrit: A = an-1 an-2 ....a1 a0 Le complément à 1 de A est le nombre A' tel que :

A' + A = 2n - 1

Cela équivaut donc pour trouver le nombre A' à inverser tous les bits du nombre A. A' = an−1an−2......a1a0

On peut le vérifier aisément:

25

A →→ an−1an−2.......a1a0

+

A' →→ an−1an−2......a1a0 1 1 .... 1 1 ii - Complément à 2 d'un nombre binaire Soit A un nombre de n bits, le complément à 2, A" de A est tel que:

A + A" = 2n Comme l'on avait: A' + A = 2n - 1, alors A" = A' + 1 Ce que l'on vérifie aisément : A →→ an−1an−2.......a1a0

+

A' →→ an−1an−2......a1a0 + 1 = 2n 0 0 .... 0 0 Donc A + A" = 0 à 2n près. Ceci indique que A" est l'opposé de A A3 - Représentation des nombres en complément à 2 Comme dans le cas précédent nous allons représenter sur 3 bits

Signe Binaire Décimal 0 0 0 + 0 0 0 1 + 1 0 1 0 + 2 0 1 1 + 3 1 1 1 -1

Complément 1 1 0 - 2 à 2 1 0 1 - 3

1 0 0 - 4

26

Vérification :

+1 ���� -1

+1 est représenté par: 001 Son inverse (complément à 2) est: 111 (c.à.d. 110 + 1)

+2 ���� -2

+2 est représenté par: 010 Son inverse (complément à 2) est: 110 (c.à.d. 101 + 1)

Ce qui est important c'est que le 0 n'a plus qu'une seule représentation.

A4 - Représentation d'un nombre fractionnaire Le nombre sera représenté par n bits qui seront partagés en:

• n1 bits pour la partie entière • n2 bits pour la partie fractionnaire • 1 bit pour le signe •

Exemples: a)

Signe Entière Fract. 0 1 1 0 1 0

S 22 21 20 2-1 2-2 0 1 1 0 1 0 ⇓ ⇓ ⇓ ⇓

+ 6 0,5

Le résultat est donc + 6,5

27

b) Soit à trouver

Signe Entière Fract. 1 1 1 1 0 1

Le bit de signe étant égal à 1 il s'agit d'un nombre négatif. Afin de trouver sa valeur absolue je cherche son opposé c'est à dire que je calcule son complément à 2.

C'est: 000011

S 22 21 20 2-1 2-2 0 0 0 0 1 1 ⇓ ⇓ ⇓ ⇓

+ 0 0,75

Le nombre recherché est donc - 0,75.

Exemple d'additions et de soustractions en utilisant le complément à 2 Je veux additionner 2 et 3. Ce sont deux nombre positifs qui s'écrivent:

S Nombre 2 ⇒ 0 010 3 ⇒ 0 011

5 ⇐ 0 101 Je veux soustraire 3 de 2 (2 - 3). Cela revient à ajouter le nombre négatif -3 au nombre positif + 2.

S Nombre 2 ⇒ 0 010 - 3 ⇒ 1 101 Compl. à 2 de +3 -1 ⇐ 1 111

Le résultat, 1111 est bien le complément à 2 de +1.

28

REALISATION ELECTRIQUE DES FONCTIONS LOGIQUES

Les fonctions logiques, comme nous l'avons déjà vu, peuvent être réalisées avec des résistances, des diodes et/ou des transistors.

E1

E2

+ 5 V

S

+ 5 V

Diode-Transistor logic (DTL)

E1

E2

S

Transistor-Transistor logic (TTL)

29

Si elle est réalisée en éléments discrets, une porte logique a une taille de plusieurs centimètres carrés. En 1965, sont apparus les premiers circuits intégrés. Il s'agit de boitiers qui comportent un certain nombre de broches. Les boitiers les plus courants comportent 14, 16, 18, 20, 24, 28, 40 broches disposées en deux rangées parallèles. Un boitier 14 broches (très courant) mesure 20 x 8 mm2. Ces boitiers comportent un certain nombre de portes logiques. Exemple : Le 7400 (quatre portes NAND)

1 7

814+ Vcc

Masse

Repère

SN 74 LS 00 N

}}

}}

}

Série standard

Usage professionnel

Famille Type de boitier

N° du boitier dans la famille ici ce sont des NAND

30

On classe les circuits selon leur densité d'intégration. C'est donc quelquechose qui a évolué avec le temps. Ce sont : SSI Small Scale Integration (quelques portes par boitier) MSI Medium Scale Integration (quelques dizaines de portes) LSI Large Scale Integration (100 à 1000 portes) VLSI Very Large Scale Integration (> 1000 portes)

Les familles de Circuits Intégrés

La famille TTL Pendant longtemps la plus développée. Elle cosntitue un standard. Ses caractéristique s moyennes sont :

• retard ~ 10 ns par porte • consommation ~ 10 mW

Il existe un certain nombre de sous-familles (la ou les lettres au milieu de la dénomination du boitier:

Famille Sous-famille Utilisation Retard/porte Conso/porte TTL H Rapide 6 22 TTL L Low power 33 1 TTL S Schottky 3 19 TTL LS Low power

Schottky 10 2

31

La famille ECL (Emitter Coupled Logic) Les transistors ne travaillent pas dans le régime bloqué-saturé. Ils travaillent dans le régime linéaire. C'est une logique extrêmement rapide (≤ 1 ns) mais elle pose de gros problèmes d'interconnexions. La famille MOS (Metal Oxyde Semiconductor) Du fait de la petite taille des transistors l'échelle d'intégration est extrêmement élevée. La consommation est aussi très faible. Elle est cependant un peu plus lente que la TTL la plus rapide. La famille CMOS (Complementary MOS) On retrouve beaucoup des circuits de la TTL. Avantage du MOS: faible consommation et vitesse très proche de la TTL-LS. Dans toute la suite du cours on ne s'intéressera qu'à la famille TTL

Les circuits TTL sont alimentés sous 5 Volt. Convention logique Il s'agit de la concordance entre potentiels et états logiques.

2 possibilités

0 V ���� 0 logique Logique positive

5 V � 1 logique

0 V ���� 1 logique Logique négative

5 V ���� 0 logique

32

Différents types de portes Portes à sortie collecteur ouvert:

E1

E2

S

+ 5 V

Porte NAND à collecteur ouvert

Ce type de porte peut servir à différentes fonctions: Commande d'une charge externe

+ V � 5V (potentiel de charge)

Etage de sortie de la porte

33

Le potentiel de charge peut être soit le potentiel d'alimentation (5V) soit une tension plus élevée (≤ 30V). Un courant assez important peut être débité (~ 40-100 mA). Fonction ET cablée On connecte toutes les sorties entre elles et l'on met en commun le circuit de charge.

a b Sortie bloqué bloqué Vcc saturé bloqué 0 bloqué saturé 0 saturé saturé 0

C'est équivalent à la transmission d'une information parmi n.

+ V � 5V (potentiel de charge)

Etage de sortie de la porte 1

Etage de sortie de la porte 2

a

b

S

Réalisation d'une fonction ET cablée

34

Porte à sortie 3 états Ces portes permettent de réunir les circuits par leurs sorties. Les 3 états sont :

• état 1 basse impédance • état 0 basse impédance • état déconnecté haute impédance

A

C

Y

Utilisation Pour rentrer et sortir des données sur une même ligne

A

C

Y

A

C

Y

Vers circuit

35

Portes à entrées trigger de Schmitt Signal d'entrée

Signal de sortie

Zone de basculement de l'état 1 vers l'état 0

Signal d'entrée

Signal de sortie

Zone de basculement de l'état 0 vers l'état 1

Zone de basculement de l'état 1 vers l'état 0

Cas d'un inverseur classique

Cas d'un inverseur trigger de Schmitt

Représentation des portes trigger de Schmitt

36

LES SYSTEMES LOGIQUES 1 - Systèmes combinatoires On ne regarde que les états des sorties à l'équilibre, c'est à dire indépendamment du temps. On s'arrange simplement pour que les données aient le temps de se propager à travers les portes. L'état des sorties ne dépend que de l'état des entrées. 2 - Systèmes séquentiels Le fonctionnement dépend du temps. L'état final qui est stable dépend de l'ordre dans lequel les signaux sont appliqués. 3 - Les fonctions combinatoires usuelles Nous n'allons étudier que la fonctionnalité des circuits 3.1 La comparaison (ex : 74LS85)

B1B2B3

B0

A3A2A1A0 A>B

A=B

A<B

85

A>

BIN

A=

BIN

A<

BIN

10121315

91114

1

234

7

6

5

Entrées de cascadage

Résultats

Ce circuit peut être utilisé seul ou associé avec d'autres boitiers identiques pour comparer des mots de plus de 4 bits. Dans le cas ou le boitier est isolé (c'est à dire que l'on ne compare que des mots de 4 bits) les entrées de cascadage doivent être connectées comme suit :

Entrée A<B à 0, Entrée A>B à 0 et entrée A=B à 1

37

Exemple de comparaison de deux mots de 8 bits

B1B2B3

B0

A3A2A1A0 A>B

A=B

A<B

85

A>

BIN

A=

BIN

A<

BIN

B1B2B3

B0

A3A2A1A0 A>B

A=B

A<B

85

A>

BIN

A=

BIN

A<

BIN

+5V

10121315

91114

1

4

5

7

6

5

3

6

2

7

10121315

91114

1

24 3

Bits de poids faibles

Bits de poids forts}}

}}

A

B

A

B

} Sortie comparée de A et de B

3.2 - Décodeur binaire

G1G2AG2B

CBA

Y7Y6Y5Y4

Y1Y0

Y3Y2

138

6

12111097

45

321

151413}Entrées

d’adressage

}Entrées de validation

} Sorties

Entrées Validation Adresse Sorties G1 G2A+G

2B C B A

Y0

Y1

Y2

Y3

Y4

Y5

Y6

Y7 x 1 x x x 1 1 1 1 1 1 1 1 1 x x x x 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0

38

3.3 Décodage BCD - 7 segments

a

bcdefgRb0

Afficheur 7 segments

LTRBI

ABCD

247BI/RBO

ABCDEFG

7126

35

13121110915144

} }BCD

Effacement des sorties

Effacement des entrées

Commande des

segments

3.4 Multiplexage But: aiguiller n bits d'information sur 1 bit Exemple: le 74LS151

EN

76543210

CBA

151

W

Y

7

4321

15141312

11109

6

5{{

{

Validation

Entrées

Adresse

Sorties

39

Entrées Adresse Val Sorties

C B A S Y W * * * 1 0 1 0 0 0 0 d0 0d 0 0 1 0 d1 1d 0 1 0 0 d2 2d 0 1 1 0 d3 3d 1 0 0 0 d4 4d 1 0 1 0 d5 5d 1 1 0 0 d6 6d 1 1 1 0 d7 7d

3.5 Démultiplexage C'est l'opération inverse du multiplexage. On peut utiliser le circuit décodeur binaire 74LS138.

G1G2AG2B

CBA

Y7Y6Y5Y4

Y1Y0

Y3Y2

138

6

12111097

45

321

151413

{{Adresse

Sorties

Entrée

L'information présente sur G1 sera transmise à une des sorties Yi, l'indice i étant défini par le mot de trois bits ABC. Ex: ABC = 000 � l'information présente en G1 sera transmise en Y0. 3.6 Additionneur (ex: 74LS82; additionneur 2 bits)

82

A0A1B0B1

Cin Cout

�0�1

214

313

5

112

10

{{{

Entrée A

Entrée B

Retenue entrante

Sortie A+B

Retenue sortante

40

3.7 Multiplieur

A7A6A5A4A3A2A1A0

B7B6B5B4B3B2B1B0

Y12Y11Y10

Y7Y6Y5Y4

Y1Y0

Y3Y2

Y15Y14Y13

Y9Y8

{{

{ {Commande d’arrondi

Multiplicateur

Multiplicande

Validation

{Nombres signés ou non

Sorties

3.8 Bloc de calcul arithmétique et logique

A3A2A1A0

Co

B3B2B1B0

382F3F2F1F0

S2S1S0

{{

{{

{

A

B

Résultat de l’opération

Débordement et retenue sortante

Code de fonction

S2 S1 S0 Opération 0 0 0 F = 0000 0 0 1 F = B - A Opérateurs 0 1 0 F = A - B 0 1 1 F = A + B arithmétiques 1 0 0 F = A ∪ B Opérateurs 1 0 1 F = A ⊕ B 1 1 0 F = A ∩ B logiques 1 1 1 F = 1111

41

LES FONCTIONS SEQUENTIELLES SIMPLES Il existe 4 fonctions de base a) Le bistable b) La bascule c) Le monostable d) L'astable (ou multivibrateur ou oscillateur) • Le bistable: De manière générale un bistable est caractérisé par deux états de

sortie stables (0 et 1) qui sont commandables à partir des entrées. • Le bistable RS

S

R

Q

Q{ {Mise à 1

Mise à 0Entrées Sorties

Le fonctionnement se décrit par une table de vérité qui présente la particularité d'avoir en entrée non seulement les variables d'entrée R et S mais aussi la fonction Q. cette table donnela nouvelle valeur de la sortie Q+ à partir des valeurs de R, S et Q.

S

R

Q

Q Q+

Cas 0 :

R = S = Q = 0

Q + = S + Q = 0 + 0 = 1

Q + = Q + + R = 1 + 0 = 0

42

Si un bistable RS se trouve dans l'état 0, il conserve cet état si les entrées R et S sont maintenues à 0 Cas 1 :

R = S = 0 Q = 1

Q + = S + Q = 0 + 1 = 0

Q + = Q + + R = 0 + 0 = 1

Si un bistable RS se trouve dans l'état 1 il conserve cet état si les entrées R et S sont maintenues à 0. Les cas O et 1 sont les cas de maintien. Cas 2 :

R = 0 S = 1 Q= 0

Q + = S + Q = 1 + 0 = 0

Q + = Q + + R = 0 + 0 = 1

Si un bistable RS est dans l'état 0, il passera à l'état 1 si on applique 1 sur l'entrée S. Etc … Le fonctionnement du bistable RS est résumé dans le tableau suivant:

Cas n° R S Q Q+ Commentaires

0 0 0 0 0 Maintien 1 0 0 1 1 Maintien 2 0 1 0 1 Mise à 1 3 0 1 1 1 Mise à 1 4 1 0 0 0 Mise à 0 5 1 0 1 0 Mise à 0 6 1 1 0 * Non exploité 7 1 1 1 * Non exploité

Fonctionnement dynamique du bistable RS

43

S

R

Q

Q Q+

tPLH ~ 30 ns

tPHL1 tPLH1

tPLH2 tPHL2

tPLH ~ 30 ns

S

R

Q

Q

Remarque : Le bistable RS peut aussi être réalisé avec des pôrtes NAND. • Le bistable D Comme dans le cas du bistable RS il y a deux entrées et deux sorties. Dans le cas du bistable D les entrées sont appelées D (pour data) et CK (pour clock) et les sorties Q et Q.

44

D

Ck

Q

Q

DonnéesHorloge { Sorties

D

CK

Q

Q

D CK Q Q+ 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1

Table de vérité du bistable D

tPHL

S

R

QtPLH

45

Problème de l'utilisation du bistable D Soit par exemple le circuit suivant :

D

Ck

Q

Q

D

Ck

Q

Q

Réseau combinatoire

d’entrée

Réseau combinatoire

d’entrée

Ce système ne peut pas marcher correctement. En effet, pendant le temps où l'horloge est à 1, ce qui est en D passe en Q ce qui implique que le réseau combinatoire d'entrée va calculer de nouvelles fonctions. Pour que ça marche il faut remplacer le bistable par un circuit qui n'est actif que pendant un temps très court (flanc montant ou descendant de l'horloge, par exemple).

Ces circuits portent le nom de BASCULES

46

• Les bascules Il existe 3 types de bascules:

• la bascule RS (n'est pas employée seule) • la bascule JK • la bascule D

• La bascule JK

JCK

S/

R/

Q

Q

Horloge (agit sur le flanc

montant)

Mise à 1 (synchrone)

Mise à 0 (synchrone)

Preset (asynchrone)

Clear (asynchrone)

Sorties{

JCK

S/

R/

Q

Q

Horloge (agit sur le flanc

descendant)

Mise à 1 (synchrone)

Mise à 0 (synchrone)

Preset (asynchrone)

Clear (asynchrone)

Sorties{

Preset Clear Clock J K Q + Q + Remarque Mode 0 1 * * * 1 0 Mise à 1

1 0 * * * 0 1 Mise à 0 asynchrone 0 0 * * * 1 1 Instable

1 1 � 0 0 Q Q Maintien Mode 1 1 � 0 1 0 1 Mise à 0

1 1 � 1 0 1 0 Mise à 1 synchrone 1 1 � 1 1 Q Q Commutation

1 1 � * * Q Q maintien

47

Clear

Preset

Q

Q

Mode asynchrone

Horloge

J

K

Q

CommutationMaintien

Mise à 0Mise à 1

Mode synchrone

• La bascule D

48

D

C

S

R

Q

Q

Donnée

Horloge

Preset (mise à 1)

Clear (mise à 0)

Sorties{

Preset Clear CK D Q+ Q + Remarques Mode 0 1 * * 1 0 Mise à 1

1 0 * * 0 1 Mise à 0 Asynchrone 0 0 * * 1 1 Instable

Mode 1 1 � 0 0 1 Mise à 0 1 1 � 1 1 0 Mise à 1

Synchrone 1 1 0 ou 1 * Q Q Maintien

Table de vérité de la bascule D

D

Horloge

Q

Diagramme de fonctionnement de la bascule D

Le boitier 74LS74 contient 2 bascules D.

49

3.Le monostable

CLR

123

QQ

BA

R/CCX

CLR QQ

BA

R/CCX

+5V

12

109 5

134

12

3

11

76

1514

{

{{ Sorties

{Entrées

Entrées Sorties Clear A B Q Q

0 * * 0 1 * 1 * 0 1 * * 0 0 1 1 0 1 1 0 1

Table de vérité du monostable

• L'astable ou le multivibrateur ou l'oscillateur Ce circuit fournit un signal périodique de durée d et de période T. d/T s'appelle le rapport cyclique. On peut réaliser des astables à partir de : e) Un inverseur trigger de Schmitt

R

50

b) Deux monostables

CLR

123

QQ

BA

R/CCX

CLR QQ

BA

R/CCX

+5V

01

125

134

10

611

3

1514

7

9

12

Le premier monostable excite le second qui lui même excite le premier. c) Une chaîne d'inverseurs rebouclés avec un quartz d) Des boitiers oscillateurs: 74LS326, 555

51

FONCTIONS SEQUENTIELLES COMPLEXES

Une fonction séquentielle complexe doit gérer plusieurs éléments d'information à la fois. On donne le nom de registre à l'ensemble des opérations requises pour effectuer la fonction. En général un registre comporte:

• Un groupe de bascules alimentées par une horloge, • Un réseau combinatoire d'entrée (il sert à élaborer les commandes d'excitation

des bascules), • Un réseau combinatoire de sortie (il donnel'état de sortie du registre à partir de

l'état des bascules et des commandes de sortie).

Réseau d’entrée

Bascules

Réseau de sortie

Informations d’entrée

Commande des

bascules

Sortie des bascules

Commande des

entrées

Horloge

Commande des

sorties

Sorties

52

Le fonctionnement du registre se décrit par une table de vérité qui comporte:

• En entrée

• Etat ancien des bascules • Information d'entrée • Commande d'entrée • Commande de sortie • Horloge

• En sortie

• Etat futur des bascules • Etat de sortie du registre

Les registres peuvent avoir différentes fonctions:

• Fonction de mémorisation • Fonction de comptage • Fonction de décalage.

53

LES COMPTEURS

01

D

C

S

R

Q

Q

D

C

S

R

Q

Q

D

C

S

R

Q

Q

D

C

S

R

Q

Q

+5V

X Y Z T

Exemple de compteur binaire 4 bits

Horloge

X

Y

Z

T