Académique Documents
Professionnel Documents
Culture Documents
•Introduction
•Système décimal
•Système binaire , octal et hexadécimal
• Conversion d’un système de numération vers un autre système .
•Opérations arithmétiques en binaire, octal et hexadécimal.
1
Objectifs
2
Introduction
• Nous avons pris l'habitude de représenter les nombres en utilisant
dix symboles différents: 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9
• Ce système est appelé le système décimal (déci signifie dix).
• Il existe cependant d'autres formes de numération qui fonctionnent
en utilisant un nombre de symboles distincts.
– Exemple :
• système binaire (bi: deux),
• le système octal (oct: huit),
• le système hexadécimal (hexa: seize).
• En fait, on peut utiliser n'importe quel nombre de symboles
différents (pas nécessairement des chiffres).
• Dans un système de numération : le nombre de symboles distincts
est appelé la base du système de numération.
3
1 . Le système décimal
• On utilise dix symboles différents:
{0,1,2,3,4,5,6,7,8,9}
• N’importe quelle combinaison des symboles { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ,
9 } nous donne un nombre.
2334567
Poids faible
Poids fort
345 , 567
Partie fractionnelle
Partie entière 4
Développement en polynôme d’un nombre
dans le système décimal
• Soit le nombre 1978, ce nombre peut être écrit sous la forme suivante :
6
2 . Système binaire ( système à base 2 ):
exemple illustratif
• Dans le système binaire, pour exprimer n’importe quelle
valeur on utilise uniquement 2 symboles : { 0 , 1}
La base
( 1101)2
Un bit
( 1 1 0 1)2
Le bits du poids forts Le bits du poids faible
. Un nombre dans la base 2 peut être écrit aussi sous la forme polynomial
(1110)2 1* 23 1* 2 2 1* 21 0 * 20 (14)10
(1110,101)2 1* 23 1* 2 2 1* 21 0 * 20 1* 2 1 0 * 2 2 1* 2 3 (14,625)10
7
Comptage en binaire
Binaire Décimal
000 0
.Sur 2 bits : 001 1
010 2
Binaire Décimal
011 3
00 0 100 4
01 1 101 5
10 2 110 6
11 3 111 7
4 combinaisons= 22
8 combinaisons= 23 8
Le système octal ( base 8 )
• Exemple 1 :
(127)8 1* 82 2 * 81 7 * 80
(127,65)8 1* 82 2 * 81 7 * 80 6 * 81 5 * 8 2
Exemple 2 :
Le nombre (1289) n’existe pas dans la base 8 puisque les symboles 8 et 9
n’appartiennent pas à la base .
9
Le système hexadécimal ( base 16 )
Décimal Hexadécimal
0 0
1 1
• On utilise seize (16) symboles
2 2
différents: 3 3
4 4
5 5
(17)16 1*161 7 *160 6 6
7 7
(AB)16 A *16 B *16 10 *16 11*1
1 0 1
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F 10
Résumé
11
3. Conversion d’une base X à la base 10
Exemple :
(1101)2 1* 23 1* 2 2 0 * 21 1* 20 (13)10
(1A7)16 1*162 A *161 7 *160 1*162 10 *161 7 *160 256 160 7 (423)10
(1101,101)2 1* 23 1* 2 2 0 * 21 1* 20 1* 2 1 0 * 2 2 1* 2 3 (13,625)10
(43,2)5 4 * 51 3 * 50 2 * 51 20 3 0,4 (23,4)10
12
Exercice
13
Conversion de la base 10 à la base 2
Le principe consiste à faire des divisions successives du nombre sur
2 , et prendre le reste des divisions dans l’ordre inverse.
35 2
Exemple 1 : (35)10=(?)2 1 17 2
1
8 2
0 4 2
Après division : 0 2 2
on obtient : (35)10=(100011)2
0 1 2
1 0
14
Conversion de la base 10 à la base 2 : cas d’un
nombre réel
• Un nombre réel est constitué de deux parties : la partie entière et la
partie fractionnelle.
• La partie entière est transformée en effectuant des divisions
successives.
• La partie fractionnelle est transformée en effectuant des
multiplications successives par 2 .
(0,625)=(0,101)2
Donc 35,625=(100011,101)2
15
• Exemple 2: (0,6)10=(?)2
0,6 * 2 = 1,2
0,2 * 2 = 0,4 (0,6)= (0,1001)2
0,4 * 2 = 0,8
0,8 * 2 = 1,6
Remarque :
Le nombre de bits après la virgule va déterminer la précision .
Exercice :
Effectuer les transformations suivantes :
(23,65)=(? )2
(18,190)=(?)2
16
Conversion du décimal à une base X
Exemple : 35 3
35 = (?)3 2 3
11
2
3 3
35=(1022)3 0 1 3
1 0
43 16
43 8
8 11 2 16
3 5
2 0
5 0
(2B)16
(53)8
18
Conversion d’une base b1 à une base b2
?
b1 b2
Développement
en polynôme Divisions successives
10
19
Exemple : ( 34)5=(?)7
19 7
(19)10=(25)7
( 34)5=(25)7 5 2 7
2 0
(43)6=(?)5=(?)8
(2A)16=(?)9
20
Conversion : binaire octal
Octal Binaire
. En octal chaque, symbole de la base s’écrit sur 3 0 000
bits en binaire. 1 001
. L’idée de base est de replacer chaque symbole 2 010
dans la base octal par sa valeur en binaire sur 3 3 011
bits ( faire des éclatement sur 3 bits ). 4 100
5 101
Exemples : 6 110
(345)8=(011 100 101)2 7 111
(65,76)8=(110 101, 111 110)2
(35,34)8=(011 101 , 011 100)2
Remarque :
le remplacement se fait de droit à gauche pour la partie entière
et de gauche à droite pour la partie fractionnelle .
21
Conversion : Octal binaire
Exemple :
Remarque :
le regroupement se fait de droit à gauche pour la partie entière
et de gauche à droite pour la partie fractionnelle .
22
Conversion : hexadécimal binaire
Décimal Hexadécimal
0 0
1 1
2 2
. En Hexa chaque symbole de la base s’écrit sur 4 bits. 3 3
. L’idée de base est de faire des regroupements de 4 bits à partir du poids faible.
Exemple :
(11001010100110)2=(0011 0010 1010 0110)2=(32A6)16
(110010100,10101)2= (0001 1001 0100,1010 1000)2=(194,A8)16
24
4. Opérations arithmétiques en binaire
0 0 1 1
+ + + +
0 1 0 1
0 1 1 1 0
1 1
1 1 0 0 0 1 1
+
1 0 0 0 1 0 1 1
1 1 1 0 1 1 1 0
25
Opérations arithmétiques en octal
1 1
4 3 6 5
+
4 5 1
5 8 11 6
0 3
4 8 6 5
+
7 A 5 1
12 18 11 6
C En hexa 11 s’écrit B
En hexa 18 s’écrit 12
B
2
28
5. Quel est le système utilisé dans les
dispositifs numériques ?
. Les machines numériques utilisent le système binaire.
. Dans le système binaire : uniquement 2 symboles sont utilisés : 0 et 1.
. C’est facile de représenter ces deux symboles dans les machines numériques.
. Le 0 et le 1 sont représentés par deux tensions .
5v
Binaire Tension Binaire : 1
(logique ) 2,8 v
Inutilisée
0 0V
0,8 v
1 5V
Binaire : 0
0v
29
Chapitre 2 : Représentation de l’information
dans la machine
• Introduction
• Représentation des nombres négatifs
– Signe / valeur absolue
– Complément à 1
– Complément à 2
• Représentation des nombres réels
– Virgule fixe
– Virgule flottante
• Le codage BCD et EXCESS3
• Représentation des caractères
Introduction
Information
Instructions Données
Caractère Numérique
Entiers
Non signés
Signés
Réels
1. Représentation des nombres entiers
• Il existe deux types d’entiers :
– les entiers non signés ( positifs )
– et les entiers signés ( positifs ou négatifs )
• Problème : Comment indiquer à la machine qu’un
nombre est négatif ou positif ?
• Si on travail sur n bits , alors le bit du poids fort est utilisé pour
indiquer le signe :
1 : signe négatif
0 : signe positif
• Les autres bits ( n -1 ) désignent la valeur absolue du nombre.
1 001 0 001
L’idéal est d’utiliser un seul circuit pour faire les deux opérations,
puisque a- b =a + ( -b )
1.2 Représentation en complément à un
( complément restreint )
Exemple :
Soit N=1010 sur 4 bits donc son complément à un de N :
N’= (24 - 1)-N
N’=(16-1 )-(1010)2= (15 ) - (1010)2 = (1111)2 – (1010)2 = 0101
1 0 1 0
+
0 1 0 1
1 1 1 1
Remarque 1 :
1 0 1 0 0 1 0 1 0
0 1 0 1 1 0 1 0 1
Remarque 2
•On remarque que dans cette représentation le zéro possède aussi une
double représentation ( +0 et – 0 ) .
• Sur 3 bits on remarque que les valeurs sont comprises
entre -3 et +3
-3 ≤ N ≤ +3
- ( 4-1 ) ≤ N ≤ + (4 -1 )
-(22 -1) ≤ N ≤ +(22-1 )
-(2 (3 -1) -1) ≤ N ≤ +(2 (3 -1) -1 )
a + 2 n = a modulo 2n
+
1 0 0 1
1 0 0 0 0
1 1 0 0 1
CA2(01000101)= CA1(01000101)+ 1
CA1(01000101)= (10111010)
CA2(01000101)=(10111010)+ 1 = (10111011)
• Remarque 1 :
Pour trouver le compétemment à 2 d’un nombre : il faut parcourir les
bits de ce nombre à partir du poids faible et garder tous les bits
avant le premier 1 et inverser les autres bits qui viennent après.
0 1 0 0 0 1 0 1 1 1 0 1 0 1 0 0
1 0 1 1 1 0 1 1 0 0 1 0 1 1 0 0
Remarque 2
-4 ≤ N ≤ +3
- 4 ≤ N ≤ + (4 -1 )
- 22 ≤ N ≤ +(22-1 )
-2 (3 -1) ≤ N ≤ (2 (3 -1) -1 )
0 1 0 0 1
0 1 0 0 1 +
+ +9
+9 1 1 1 0 0
0 0 1 0 0 -4
+4
+5
+ 13 1 0 0 1 0 1
0 1 1 0 1
(01101)2= ( 13)10
Le résultat est positif
(00101)2= ( 5)10
1 0 1 1 1 1 0 1 1 1
-9 + -9 +
1 1 1 0 0 0 1 0 0 1
-4 +9
- 13 +0
1 1 0 0 1 1 1 0 0 0 0 0
Report Report
= - 13 (00000)2= ( 0)10
La retenue et le débordement
• On dit qu’il y a une retenue si une opération arithmétique
génère un report .
• On dit qu’il y a un débordement (Over Flow ) ou
dépassement de capacité: si le résultat de l’opération sur
n bits et faux .
– Le nombre de bits utilisés est insuffisant pour contenir le résultat
– Autrement dit le résultat dépasse l’intervalle des valeurs sur les
n bits utilisés.
Cas de débordement
0 1 1 0
0 1 0 0 1 1 0 1 1 1
+9 + +
-9
0 1 0 0 0 1 1 0 0 0
+8 -8
+ 17 1 0 0 0 1 - 17
0 1 0 1 1
Négatif
Positif
• Exemple :
15,6 = 0,156 * 10+2
- ( 110,101)2 = - (0,110101)2 * 2+3
(0,00101)2= ( 0,101)2 * 2-2
Remarque :
on dit que la mantisse est normalisée si le premier chiffre
après la virgule est différent de 0 et le premier chiffre
avant la virgule est égale à 0.
• Dans cette représentation sur n bits :
– La mantisse est sous la forme signe/valeur absolue
• 1 bit pour le signe
• et k bits pour la valeur.
– L’exposant ( positif ou négatif ) est représenté sur p
bits .
0 1 0 1 1 1 1 0 1 0 0 0 0
1 bit 4 bits 8 bits
- (15,01)8 = - (001101,000001)2= - 0,1101000001 * 24
Signe mantisse : négatif ( 1)
Mantisse normalisée : 0,1101000001
Exposant = 4 , en complément à deux il garde la même valeur ( 0100)
On remarque que la mantisse est sur 10 bits (1101 0000 01), et sur la
machine seulement 8 bits sont utilisés pour la mantisse.
Dans ce cas on va prendre les 8 premiers bits de la mantisse
1 0 1 0 0 1 1 0 1 0 0 0 0
1 bit 4 bits 8 bits
Remarque :
si la mantisse est sur k bits et si elle est représenté sur la machine
sur k’ bits tel que k> k’ , alors la mantisse sera tronquée : on va prendre
uniquement k’ bits perdre dans la précision .
L’ Exposant décalé ( biaisé )
• en complément à 2, l’intervalle des valeurs qu’on peut représenter sur
p bits :
- 2 (p -1) ≤ N ≤ 2 (p -1) -1
Si on rajoute la valeur 2 (p -1) à tout les terme de cette inégalité :
0 ≤ N + 2 (p -1) ≤ 2p-1
0 0011 1 1 0 1 0 0 0 0 0 0 0
1 1100 1 1 0 1 0 0 0 0 0 1 0
1 bit 4 bits 11 bits
Opérations arithmétiques en virgule flottante
0 0001 111010
1 bit 4 bits 6 bits
Exercice
Donner la représentation des deux nombres N1= (-0,014)8 et
N2=(0,14)8 sur la machine suivante :
Calculer N2-N1 ?.
Avant de représenter les deux nombres on doit calculer le biais (décalage)
B = 2 5-1 = 24 = 16
N1 = (-0,014) 8 = (-0,000001100) 2= (-0,1100) 2 . 2 - 5
ExpB= -5 + 16 = 11 = (01011)2
N2 = (0,14)8 = (0,001100)2= (0,1100)2. 2 -2
ExpB = -2 + 16 = 14 = (01110) 2
Donc on va avoir la représentation suivante pour N1 et N2:
Exposant biaisé = 14
Exposant réel = Exposant biaisé – Biais
Exposant réel = 14 – 16 = -2
1 2 9 5 6 2
1
1. Introduction
A
F(A,B)
Circuit
B
3
2. Algèbre de Boole
• George Boole est un mathématicien anglais ( 1815-1864).
• Ces travaux ont été utilisés pour faire l’étude des systèmes
qui possèdent deux états s’exclus mutuellement :
– Le système peut être uniquement dans deux états E1 et
E2 tel que E1 est l’opposé de E2.
– Le système ne peut pas être dans l’état E1 et E2 en même
temps
• Remarque :
On peut utiliser les conventions suivantes :
Exemple :
Logique positive :
lampe allumée : 1
lampe éteinte : 0
Logique négative
lampe allumée : 0
lampe éteinte : 1 6
3.2. Variable logique ( booléenne )
• Une variable logique ( booléenne ) est une variable qui
peut prendre soit la valeur 0 ou 1 .
• Généralement elle est exprimée par un seul caractère
alphabétique en majuscule ( A , B, S , …)
• Exemple :
F(A)= Non A = A
( lire : A barre )
0 1
1 0
10
4.2 ET ( AND )
• Le ET est un opérateur binaire ( deux variables) , à
pour rôle de réaliser le Produit logique entre deux
variables booléennes.
• Le ET fait la conjonction entre deux variables.
A B A.B
0 0 0
0 1 0
1 0 0
1 1 1
11
4.3 OU ( OR )
• Le OU est un opérateur binaire ( deux variables) , à pour
rôle de réaliser la somme logique entre deux variables
logiques.
• Le OU fait la disjonction entre deux variables.
• Le OU est défini par F(A,B)= A + B ( il ne faut pas
confondre avec la somme arithmétique )
A B A+B
0 0 0
0 1 1
1 0 1
1 1 1
12
Remarques
• Dans la définition des opérateurs ET , OU , nous avons
juste donner la définition de base avec deux variables
logiques.
13
4.4 Précédence des opérateurs ( priorité des opérateurs )
• Pour évaluer une expression logique ( fonction logique) :
– on commence par évaluer les sous expressions entre les
parenthèses.
– puis le complément ( NON ) ,
– en suite le produit logique ( ET )
– enfin la somme logique ( OU)
Exemple :
F(A, B, C) ( A . B) . ( C B) A.B.C
si on veut calculer F(0,1,1) alors :
F(0,1,1) (0.1)(1 1) 0.1.1
F(0,1,1) (0 ) (1 ) 0.0.1
F(0,1,1) 1.1 0.0.1
F(0,1,1) 1 0
F(0,1,1) 1
Exercice :
Trouver la table de vérité de la fonction précédente ? 14
Solution
•Pour trouver la table de vérité , il faut trouver la valeur de la fonction F
pour chaque combinaisons des trois variables A, B , C
•3 variables 2 3 = 8 combinaisons
F(A, B, C) (A . B) . ( C B) A.B.C A B C F
0 0 0 0
F(0,0,0) ( 0. 0) .(0 0) 0 . 0 .0 0 0 0 1 1
F(0,0,1) ( 0. 0) .(1 0) 0 . 0 .1 1
0 1 0 1
F(0,1,0) ( 0.1) .(0 1) 0 . 1 .0 1
0 1 1 1
F(0,1,1) ( 0.1) .(1 1) 0 . 1 .1 1
1 0 0 0
F(1,0,0) ( 1. 0) .(0 0) 1 . 0 .0 0
1 0 1 1
F(1,0,1) ( 1. 0) .(1 0) 1 . 0 .1 1
F(1,1,0) ( 1.1) .(0 1) 1 . 1 .0 0 1 1 0 0
•L’opérateur NON
A A
A A 1
A. A 0
16
•L’opérateur ET
17
• L’opérateur OU
( A B) C A ( B C ) A B C Associativité
A B B A Commutativité
A A A Idempotence
A0 A Elément neutre
A 1 1 Elément absorbant
18
•Distributivité
A . ( B C ) ( A . B ) ( A . C ) Distributivité du ET sur le OU
A ( B . C ) (A B).(A C) Distributivité du OU sur le ET
19
5. Dualité de l’algèbre de Boole
• Exemple :
A 1 1 A . 0 0
A A 1 A . A 0
20
6. Théorème de DE-MORGANE
AB A . B
• Le produit logique complimenté de deux variables est
égale au somme logique des compléments des deux
variables.
A.B A B 21
6.1 Généralisation du Théorème DE-
MORGANE à N variables
A.B.C...... A B C ..........
A B C .......... . A.B.C......
22
7. Autres opérateurs logiques
7.1 OU exclusif ( XOR)
F ( A, B) A B
A B A.B A.B
23
7.2 NAND ( NON ET )
F(A, B) A . B
F ( A, B) A B
24
7.3 NOR ( NON OU )
F(A, B) A B
F ( A, B) A B
25
7.4 NAND et NOR sont des opérateurs
universels
26
7.4.1 Réalisation des opérateurs de base
avec des NOR
A AA AA
A B A B A B (A B) (A B)
A.B A.B A B A B (A A) (B B)
27
Exercice
28
7.4.3 Propriétés des opérateurs NAND et
NOR
A 0 1 A0 A
A 1 A A 1 0
A B B A A B B A
( A B) C A ( B C ) ( A B) C A ( B C )
29
8. Portes logiques
Une porte logique est un circuit électronique élémentaire qui
Permet de réaliser la fonction d’un opérateur logique de base .
A A
Inverseur
A A
A.B A+B
B Porte ET B Porte OU
30
A A
A B A B
A
A B
B Porte XOR
Remarque :
•Les portes ET , OU , NAND , NOR peuvent avoir plus
que deux entrées
•Il n’existe pas de OU exclusif à plus de deux entrées
31
8.1 Schéma d’un circuit logique ( Logigramme)
Exemple1
B F
F ( A, B, C) A.B B.C
32
Exemple 2
F(A, B, C, D) (A B ) . ( B C D ) .A
A
B
D
33
Exercice 1
• Donner le logigramme des fonctions suivantes :
34
Exercice 2 : Donner l’équation de F ?
B
F
D
35
Définition textuelle d’une fonction
logique , table de vérité , formes
algébriques , simplification
algébrique, table de Karnaugh
36
1. Définition textuelle d’une fonction logique
37
Exemple : définition textuelle du fonctionnement
d’un système
numérique
39
Si on reprend l’exemple de la serrure :
40
S=F(A,B,C)
F(A,B,C)= 1 si au mois deux clés sont introduites
F(A,B,C)=0 si non .
A
S=F(A,B,C)
B Circuit
C
Remarque :
Il est important de préciser aussi le niveau logique avec lequel on travail
( logique positive ou négative ).
41
2. Table de vérité ( Rappel )
42
2. Table de vérité ( Exemple )
A B C S
0 0 0 0 A B C : max terme
0 0 1 0 A B C : max terme
0 1 0 0 A B C : max terme
0 1 1 1 A .B.C : min terme
1 0 0 0 A B C : max terme
1 0 1 1 A .B.C : min terme
1 1 0 1 A .B.C : min terme
1 1 1 1 A .B.C : min terme
43
2.3 Extraction de la fonction logique à partir
de la T.V
F ( A, B, C) A . B . C A . B . C A . B . C A . B . C
F(A, B, C) ( A B C) (A B C)(A B C) (A B C)
44
3. Forme canonique d’une fonction logique
• Exemple :
• Exemple :
F ( A, B, C) A . B . C A . B . C A . B . C A . B . C
F(A, B, C) ( A B C) (A B C)(A B C) (A B C)
48
Exemple :
1. F(A, B) A B
A (B B) B( A A )
AB A B AB AB
AB A B AB
2. F(A, B, C) AB C
AB(C C) C( A A )
ABC AB C AC AC
ABC AB C AC(B B) AC (B B)
ABC AB C ABC A BC ABC A BC
ABC AB C A BC A B C A B C 49
Remarque 2
• Il existe une autre représentation des formes canoniques
d’une fonction , cette représentation est appelée forme
numérique.
• R : pour indiquer la forme disjonctive
• P : pour indiquer la forme conjonctive.
A B F
0 0 0
0 1 1
1 0 1
1 1 0
52
Exercice 2
A B C S
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
53
Exercice 3
Question :
a./ Déduire une table de vérité pour le problème,
b./ Donner les équations de S, E,
c./ En déduire l’équation de N,
54
4. Simplification des fonctions
logiques
55
4. Simplification des fonctions logiques
56
5. Méthode algébrique
• Le principe consiste à appliquer les règles de l’algèbre de
Boole afin d’éliminer des variables ou des termes.
• Mais il n’y a pas une démarche bien spécifique.
• Voici quelques règles les plus utilisées :
A.B A.B B
A A.B A
A A.B A B
( A B) ( A B) A
A . ( A B) A
A . ( A B) A . B 57
5.1 Règles de simplification
• Règles 1 : regrouper des termes à l’aide des règles
précédentes
• Exemple
58
• Règles 2 : Rajouter un terme déjà existant à une expression
• Exemple :
A B C ABC A BC ABC
ABC ABC ABC A BC ABC ABC
BC AC AB
59
• Règles 3 : il est possible de supprimer un terme
superflu ( un terme en plus ), c’est-à-dire déjà
inclus dans la réunion des autres termes.
• Exemple 1 :
F(A, B, C) A B BC AC AB BC AC ( B B)
AB BC ACB A BC
AB ( 1 C) BC (1 A)
AB BC
60
Exemple 2 : il existe aussi la forme conjonctive du terme
superflu
F(A, B, C) (A B) . (B C) . (A C)
(A B) . (B C) . (A C B.B)
(A B) . (B C) . (A C B) .(A C B)
(A B) . (A C B) . (B C) .(A C B)
(A B) . (B C)
61
• Règles 4 : il est préférable de simplifier la forme
canonique ayant le nombre de termes minimum.
• Exemple :
F ( A, B, C ) R ( 2,3,4,5,6,7)
F(A, B, C) R( 0,1) A . B . C A . B . C
A . B (C C)
A.B A B
F(A, B, C) F(A, B, C) A B A B
62
Exercice
63
6. Simplification par la table
de Karnaugh
64
6.1. Les termes adjacents
•Examinons l’expression suivante :
A.B A.B
AB A B A( B B ) A
66
6.1 Description de la table de karnaugh
67
A AB
B 0 1 C 00 01 11 10
0 0
1 1
68
Tableau à 4 variables
AB
CD 00 01 11 10
00
01
11
10
69
Tableau à 5 variables
AB AB
CD 00 01 11 10 CD 00 01 11 10
00 00
01 01
11 11
10 10
U=0 U= 1
70
Dans un tableau de karnaugh , chaque case possède un certain
nombre de cases adjacentes.
AB AB
C 00 01 11 10 CD 00 01 11 10
0 00
1 01
11
71
6.2 Passage de la table de vérité à la table de Karnaugh
72
Exemple :
A B C S
0 0 0 0
AB
0 0 1 0 C 00 01 11 10
0 1 0 0 0 1
0 1 1 1
1 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
73
6.3 Passage de la forme canonique à la table de
Karnaugh
74
Exemple
AB
C 00 01 11 10
F1(A, B, C) (1,2,5,7) 0 1
1 1 1 1
AB
C 00 01 11 10
F2(A, B, C) (0,2,3,6) 0 0 0 0
1 0
75
6.4 Méthode de simplification (Exemple : 3 variables )
AB
C 00 01 11 10
0 1 ABC ABC AB
1 1 1 1
76
•Puisque il existent encore des cases qui sont en dehors d’un
regroupement on refait la même procédure : former des
regroupements.
•Une case peut appartenir à plusieurs regroupements
AB
C 00 01 11 10
0 1 ABC ABC AB
1 1 1 1 ABC ABC AC
77
•On s’arrête lorsque il y a plus de 1 en dehors des regroupements
•La fonction final est égale à la réunion ( somme ) des termes après
simplification.
AB
C 00 01 11 10
0 1 ABC ABC AB
1 1 1 1 ABC ABC AC
ABC ABC BC
F ( A, B, C ) AB AC BC
78
Donc , en résumé pour simplifier une fonction par la table de
karnaugh il faut suivre les étapes suivantes :
AB
C 00 01 11 10
0 1
1 1 1 1 1
F ( A, B, C ) C AB
80
Exemple 2 : 4 variables
AB
CD 00 01 11 10
00 1
01 1 1 1 1
11
10 1
AB
CD 00 01 11 10
00 1 1
01 1 1 1
11 1
10 1 1
F ( A, B, C, D) AB B D BCD 82
Exemple 4 : 5 variables
AB AB
CD 00 01 11 10 CD 00 01 11 10
00 1 00 1
01 1 1 01 1 1
11 1 1 11 1 1
10 1 10 1 1
U=0 U= 1
AB
CD 00 01 11 10
AB
C 00 01 11 10 00 1 1 1
0 1 1 1 01
1 1 1 1 11
10 1 1 1 1
84
6.5 Cas d’une fonction non totalement définie
AB 0 1 1 0 1
CD 0 1 1 1 1
00 01 11 10
1 0 0 0 0
00 1 1 0 0 1 X
1 0 1 0 1
01 1 X X 1 0 1 1 X
1 1 0 0 1
11 1 1 X X 1 1 0 1 X
10 1 1 1 0 1
1 1 1 1 1 1 1 X 86
• Il est possible d’utiliser les X dans des regroupements :
– Soit les prendre comme étant des 1
– Ou les prendre comme étant des 0
• Il ne faut pas former des regroupement qui contient uniquement des X
AB
CD
00 01 11 10
00 1
01 1 X X
11 1 1 X X
10 1 1 1
AB 87
AB
CD
00 01 11 10
00 1
01 1 X X
11 1 1 X X
10 1 1 1
AB CD
88
AB
CD
00 01 11 10
00 1
01 1 X X
11 1 1 X X
10 1 1 1
AB CD BD
89
AB
CD
00 01 11 10
00 1
01 1 X X
11 1 1 X X
10 1 1 1
AB CD BD AC
90
AB
CD
00 01 11 10
00 1
01 1 X X
11 1 1 X X
10 1 1 1
AB CD BD AC BC
91
Exercice 1
AB
CD 00 01 11 10
00 1 X
01 1 X 1
11 1 X 1
10 X 1 X
92
Exercice 2
93
La figure 1 représente un réservoir alimenté par deux vannes V1 et V2.
On distingue trois niveaux : Sécurité, Moyen, Haut:
- lorsque le niveau de liquide est inférieur ou égale à Sécurité, V1 et
V2 sont ouvertes.
- lorsque le niveau du liquide est inférieur ou égal à Moyen mais
supérieur à Sécurité, seule V1 est ouverte.
- lorsque le niveau du liquide est supérieur à Moyen mais inférieur à
Haut, seule V2 est ouverte.
- lorsque le niveau de liquide a atteint le niveau Haut, les deux
vannes sont fermées.
V1 V2
Haut
Moyenne
Sécurité
94
Chapitre 4 : Les circuits combinatoires
Objectifs
• Apprendre la structure de quelques circuits
combinatoires souvent utilisés ( demi additionneur ,
additionneur complet,……..).
1
1. Les Circuits combinatoires
• 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)
E1 S1
S2
E2 Circuit
..
.. combinatoire
En Sm
Schéma Bloc
1. Demi Additionneur
2. Additionneur complet
3. Comparateur
4. Multiplexeur
5. Demultiplexeur
6. Encodeur
7. Décodeur
3
2. 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 sotie on va avoir la somme S et la retenu R ( Carry).
A S
B
DA
R
0 0 0 0
R A.B
0 1 0 1
S A.B A.B A B
1 0 0 1
1 1 1 0 5
R A.B
S A B
A S
B
6
3. L’additionneur complet
• En binaire lorsque on fait une addition il faut
tenir en compte de la retenue entrante.
r4 r3 r2 r1 r0= 0
ri-1
a4 a3 a2 a1
+ ai
b4 b3 b2 b1
+ bi
r4 s4 s3 s2 s1
ri s i
7
3.1 Additionneur complet 1 bit
• 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.
– ri-1 : le retenue entrante sur un bit.
• Il possède deux sorties :
– Si : la somme
– Ri la retenue sortante
ai Si
Additionneur
bi
complet
Ri
ri-1
8
ai bi ri-1 ri si
Table de vérité d’un additionneur 0 0 0 0 0
complet sur 1 bit
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Ri Ai Bi Ri 1 Ai B i Ri 1 Ai Bi R i 1 Ai Bi Ri 1
Ri Ri 1.( Ai .Bi Ai .B i ) Ai Bi ( R i 1 i Ri 1 )
Ri Ri 1.( Ai Bi ) Ai Bi
10
3.3 Schéma d’un additionneur complet
R i A i .Bi R i 1.(Bi A i )
Si A i Bi R i 1
Ai
Bi
Si
Ri-1
Ri
11
3.4 En utilisant des Demi Additionneurs
R i A i .Bi R i 1.(Bi A i )
Si A i Bi R i 1
Si on p ose X A i Bi et Y A i Bi
On obtient :
R i Y R i 1.X
Si X R i 1
et si on p ose Z X R i 1 et T R i 1.X
On obtient :
Ri Y T
Si Z
T
Demi Add
RI-1
Z SI 13
3.4 Additionneur sur 4 bits
• Un additionneur sur 4 bits est un circuit qui permet de faire l’addition
de deux nombres A et B de 4 bits chacun
– A(a3a2a1a0)
– B(b3b2b1b0)
En plus il tient en compte de la retenu entrante
• Il faut trouver une solution plus facile et plus efficace pour concevoir
ce circuit ?
14
•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.
r3 r2 r1 r0= 0
a4 a3 a2 a1
+ b4 b3 b2 b1
r4 s 4 r 3 s 3 r2 s 2 r1 s 1
r4 s4 s3 s2 s1 Résultat final
15
3.4.1 Additionneur 4 bits ( schéma )
R0=0
A4 B4 A3 B3 A2 B2 A1 B1
R3 R2 R1
R4 S4 S3 S2 S1
16
Exercice
17
4. Le Comparateur
• 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
– B : sur un bit
• Il possède 3 sorties fi
A
– fe : égalité ( A=B) Comparateur fe
– fi : inférieur ( A < B) B 1 bit
fs
– fs : supérieur (A > B)
18
4.1 Comparateur sur un bit
A B fs fe fi
0 0 0 1 0
fs A.B
fi AB
0 1 0 0 1
fe AB AB A B fs fi
1 0 1 0 0
1 1 0 1 0
19
Schéma d’un comparateur dur un bit
fs A.B
fi AB
fe fs fi
A fs
fe
B fi
20
4.2 Comparateur 2 bits
A1
fi
A2
Comparateur fe
B1 2 bits
B2 fs
21
A2 A1 B2 B1 fs fe fi
1. A=B si
0 0 0 0 0 1 0
A2=B2 et A1=B1 0 0 0 1 0 0 1
0 0 1 0 0 0 1
fe ( A2 B2).( A1 B1) 0 0 1 1 0 0 1
0 1 0 0 1 0 0
0 1 0 1 0 1 0
2. A>B si
0 1 1 0 0 0 1
A2 > B2 ou (A2=B2 et A1>B1) 0 1 1 1 0 0 1
1 0 0 0 1 0 0
fs A2.B2 ( A2 B2).( A1.B1) 1 0 0 1 1 0 0
1 0 1 0 0 1 0
3. A<B si 1 0 1 1 0 0 1
A2 < B2 ou (A2=B2 et A1<B1) 1 1 0 0 1 0 0
1 1 0 1 1 0 0
1 1 1 0 1 0 0
fi A2.B2 ( A2 B2).( A1.B1)
1 1 1 1 0 1 022
4.2.2 comparateur 2 bits avec des comparateurs 1 bit
a2 b2 a1 b1
23
1. A=B si
A2=B2 et A1=B1
3. A<B si
A2 < B2 ou (A2=B2 et A1<B1)
fs fe fi
25
4.2.3 Comparateur avec des entrées de
mise en cascade
• On remarque que :
– Si A2 >B2 alors A > B
– Si A2<B2 alors A < B
A2>B2 X X X 1 0 0
Comp Es ( >)
Eg ( =)
A2<B2 X X X 0 0 1 Ei ( <)
fs fe fi
1 0 0 1 0 0
A2=B1 0 1 0 0 1 0
fs= (A2>B2) ou (A2=B2).Es
0 0 1 0 0 1 fi= ( A2<B2) ou (A2=B2).Ei
fe=(A2=B2).Eg
27
a2 b2 a1 b1
‘0’
Comp Comp
Es Es
Eg Eg ‘1’
fs2 fe2 fi2 fs1 fe1 fi1
Ei Ei
28
Exercice
29
5. Le Multiplexeur
• 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
– N entrées de sélection ( commandes)
Em ......... E3 E1 E0
C0
C1 Mux 2n 1 V
Cn-1
S
30
5.1 Multiplexeur 2 1
V C0 S
0 X 0
E1 E0
1 0 E0 C0
Mux 2 1 V
1 1 E1
S V .(C0 .E 0 C0 .E1)
31
5.2 Multiplexeur 4 1
C1 C0 S
0 0 E0
E3 E2 E1 E0
0 1 E1 C0
C1 Mux 4 1
1 0 E2
1 1 E3
S
S C1.C 0.( E 0) C1.C 0.( E1) C1.C 0.( E 2) C1.C 0.( E3)
32
5.3 Multiplexeur 81
C2 C1 C0 S
0 0 0 E0
0 0 1 E1
0 1 0 E2 E7 E6 E5 E4 E3 E2 E1 E0
C0
0 1 1 E3 C1 Mux 8 1
1 0 0 E4 C2
1 0 1 E5
1 1 0 E6
1 1 1 E7
ai bi ri-1 ri ai bi ri-1 Si
0 0 0 0
0 0 0 0
0 0 1 1
0 0 1 0
0 1 0 1
0 1 0 0
0 1 1 0
0 1 1 1
1 0 0 1
1 0 0 0
1 0 1 1 1 0 1 0
1 1 0 1 1 1 0 0
1 1 1 1 1 1 1 1
34
Réalisation de la fonction de la somme
S i Ai .B i .R i 1 (0) Ai .Bi .Ri 1 (1) Ai .Bi .R i 1 (1) Ai .Bi .Ri 1 (0) Ai .B i .R i 1 (1) Ai .B i .Ri 1 (0)
Ai .Bi .R i 1 (0) Ai .Bi .Ri 1 (1)
On pose :
C2=Ai
C1=Bi
C0=Ri-1
E0=0, E1=1, E2=1, E3=0, E4=1, E5=0, E6=0, E7=1
35
Réalisation de la fonction de la retenue
On pose :
C2=Ai
C1=Bi
C0=Ri-1
E0=0, E1=0, E2=0, E3=1, E4=0, E5=1, E6=1, E7=1
36
Réalisation d’un additionneur complet avec des
multiplexeurs 81
‘1’
‘1’
‘0’
‘0’
ri-1 E7 E6 E5 E4 E3 E2 E1 E0
C0 ri-1 E7 E6 E5 E4 E3 E2 E1 E0
Mux 8 1 C0
bi C1
bi C1 Mux 8 1
ai C2
ai C2
Ri
Si
37
Exercice
38
6. Demultiplexeurs
• Il joue le rôle inverse d’un multiplexeurs, 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
– N entrées de sélection ( commandes)
C0 DeMux 1 4
C1
S3 S2 S1 S0
39
6.1 Demultiplexeur 14
C1 C0 S3 S2 S1 S0
S 0 C1.C 0.( I )
S1 C1.C 0.( I )
0 0 0 0 0 i
S 2 C1.C 0.( I )
0 1 0 0 i 0
S 3 C1.C 0.( I )
1 0 0 i 0 0
I
1 1 i 0 0 0
C0 DeMux 1 4
C1
S3 S2 S1 S0
40
7. Le décodeur binaire
• 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
S0
A S1
S2
B S3
S4
C
S5
S6
S7
Un décodeur 38 41
V
Décodeur 24
V A B S0 S1 S2 S3
S0
A
0 X X 0 0 0 0 S1
B
S2
1 0 0 1 0 0 0
S3
V
1 0 1 0 1 0 0
1 1 0 0 0 1 0
S 0 ( A.B ).V
1 1 1 0 0 0 1
S1 ( A.B ).V
S 2 ( A.B ).V
42
S 3 ( A.B ).V
Décodeur 38 A
S0
S1
S2
B S3
S4
C
S5
S6
S7
A B C S0 S1 S2 S3 S4 S5 S6 S7
0 0 0 1 0 0 0 0 0 0 0 V
0 0 1 0 1 0 0 0 0 0 0
S 0 A.B.C
0 1 0 0 0 1 0 0 0 0 0
S1 A.B.C
0 1 1 0 0 0 1 0 0 0 0
S 2 A.B.C
1 0 0 0 0 0 0 1 0 0 0 S 3 A.B.C
1 0 1 0 0 0 0 0 1 0 0 S 4 A.B.C
1 1 0 0 0 0 0 0 0 1 0 S 5 A.B.C
1 1 1 0 0 0 0 0 0 0 1 S 6 A.B.C
43
S 7 A.B.C
Réalisation d’un additionneur complet
avec des décodeurs binaire 38
S i Ai .Bi .Ri 1 Ai .Bi .R i 1 Ai .B i .R i 1 Ai .Bi .Ri 1
0 0 1 0 1 0 1 0 0 1 1 1
Ri Ai Bi Ri 1 Ai B i Ri 1 Ai Bi R i 1 . Ai Bi Ri 1
0 1 1 1 0 1 1 1 0 1 1 1
Ri S 3 S 5 S 6 S 7
S i S1 S 2 S 4 S 7 44
8. L’encodeur binaire
I0
I1 x
Encodeur 42
y
I2
I3
45
L’encodeur binaire ( 42)
I0 I1 I2 I3 x y
0 0 0 0 0 0 I0
I1 x
1 x x x 0 0 y
I2
I3
0 1 x x 0 1
0 0 1 x 1 0
X I 0.I1.( I 2 I 3)
0 0 0 1 1 1
Y I 0.( I1 .I 2.I 3)
46
9. Le transcodeur
E1 S1
E2 S2
transcodeur ..
..
En Sm
47
Exemple : Transcodeur BCD/EXESS3
A B C D X Y Z T
0 0 0 0 0 0 1 1
0 0 0 1 0 1 0 0
0 0 1 0 0 1 0 1
0 0 1 1 0 1 1 0
0 1 0 0 0 1 1 1
0 1 0 1 1 0 0 0
0 1 1 0 1 0 0 1
0 1 1 1 1 0 1 0
1 0 0 0 1 0 1 1
1 0 0 1 1 1 0 0
1 0 1 0 x x x x
1 0 1 1 x x x x
1 1 0 0 x x x x
1 1 0 1 x x x x
1 1 1 0 x x x x
1 1 1 1 x x x x 48
L’UNITE ARITHMETIQUE ET LOGIQUE (UAL)
Définition
L’UAL est un circuit combinatoire capable d’exécuter
des opérations arithmétiques et logiques suivant un
Code de choix de l’opération.
Représentation symbolique
A,B: opérandes (sur n bits)
S = f(A,B) : résultat (sur n bits)
C: code opération (sur m bits d’où 2m opérations
Possibles)
Exemple de circuit
Le circuit intégré 74181 est une unité arithmétique et logique 4 bits
(n=4, m=4)
49
50
51
Chapitre 5 : Les circuits séquentiels
•Introduction
•Notion d’horloge (système synchrone et système asynchrone)
•Les bascules
–T
– RS
– RST
– D et D latch
– JK
•Les registres
•Les compteurs/decompteurs
1
1.Introduction
Un circuit combinatoire est un circuit numérique dont
les sorties dépendent uniquement des entrées:
S f (E)
L’état du système ne dépend pas de l’état interne du
système.
Pas de mémoration de l’état du système.
2
2.Les circuits séquentiels
Un circuit séquentiel est un circuit numérique (logique) dont
l’état à l’instant t+1 est une fonction des entrées en même
instant t+1 et de l’état précédente du système ( l’instant t)
St1 f (E, St )
Circuit
E séquentiel S
S f (E,S)
3
Exemple d’un circuit séquentiel
Circuit
C séquentiel L
C L L+
0 X L Mémoire
1 0 1 basculement
1 1 0 basculement
4
3.Système synchrone( Notion de l’horloge)
Une horloge est une variable logique qui passe successivement de 0 à 1 et
de 1 à 0 d’une façon périodique.
Cette variable est utilisée souvent comme une entrée des circuits
séquentiels le circuit est dit synchrone.
L’horloge est notée par h ou ck ( clock).
1 1 1 1 1 1 1
h 0 0 0 0 0 0 0
E0
Circuit séquentiel S1
E1
synchrone S2
H
5
L’horloge
Niveau Haut: 1
1
0 0
Niveau Bas : 0
Front
Front
descendant La période T
montant
La période T est en
seconde
Fréquence F f 1
T
E
7
4. Les systèmes Asynchrones
E0
Circuit séquentiel S1
E1
asynchrone S2
E2
8
5.Les bascules ( flip-flops)
E0
E1 Q
…… Une bascule Q F(Ei
,Q)
E2 Q
R Q
Une bascule
S RS
Q
R S Q- Q+
0 0 0 0
R S Q+ Etat mémoire
0 0 1 1
0 0 Q- 0 1 0 1
Remise à 1
0 1 1 0 1 1 1
1 0 0 1 0 0 0
Remise à 0
1 0 1 0
1 1 X
1 1 0 X
État interdite
1 1 1 X 10
Chronogramme d’une bascule RS
mémoire
11
Structure interne d’une bascule RS
Q S R.Q
Q R S .Q
Q S R.Q S R.Q S ( R Q) ( S S ) ((R R) Q)
Q R S .Q R S .Q R ( S Q) ( R R) ((S S ) Q)
Q
S Q
Q
R
12
5.3 Les bascules RST
T R S Q+
0 X X Q
R Q 1 0 0 Q
Une bascule
S RST
Q 1 0 1 1
T
1 1 0 0
1 1 1 X
13
5.3 Les bascules T
Q T Q+
Une bascule
T T
Q 0 Q
1
Q
14
5.4 Les bascules D latch
D
Q h D Q+
Une bascule
D latch Q
h 0 0 Q-
1 0 0
D
Q 1 1 1
Une bascule
D latch
h Q
Si h=1 Q+=D
Sur niveau bas 15
Chronogramme d’une bascule D latch (niveau haut )
16
Exercice
Transformer une bascule RST pour quelles agisse comme une
bascule D-latch ?
T R S Q+
0 X X Q
1 0 0 Q T= h
S= D
1 0 1 1
R= D
1 1 0 0
1 1 1 X
17
5.6 Les bascules D
0/1 0 Q- Q
D Une bascule
h D
0/1 1 Q- Q
0 0
1 1
Q
D Une bascule
h D
Q
18
Sur front descendant
Chronogramme d’une bascule D
1
D 0
Q 0
19
5.7 Les bascules J.K en mode synchrone
h J K Q+
0/1 x x Q-
J Q
0 0 Q-
h Bascule JK
0 1 0 Q
K
1 0 1
1 1 Q
20
Chronogramme d’une bascule J.K
0 1 0
J
K 0 0 0
Q
21
Les bascules J.K en mode asynchrone
Deux entrées Pr ( preset ) et cl ( clear) asynchrone
Plus prioritaire que l’horloge
Pr et Cl fonctionne avec la logique negative.
J Pr Q
Sur front montant h Bascule JK
Q
K Cl
J Pr
Q
Sur front descendant h Bascule JK
Q
K Cl 22
Table de vérité d’une bascule J.K
Pr Cl h J K Q+
Mode 0 0 X X X X État interdit
Asynchrone
0 1 X X X 1 Remise à 1
1 0 X X X 0 Remise à 0
Mode 1 1 0/1 x x Q- Etat mémoire
Synchrone
1 1 0 0 Q- Etat mémoire
1 1 0 1 0 Remise à 0
1 1 1 0 1 Remise à 1
1 1 1 1 Q Basculement
23
Exercice
h J K Q+
0/1 x x Q-
J D
0 0 Q-
K D
0 1 0
h h1
1 0 1
1 1 Q
24
Table de transition d’une bascule JK
On connait les valeurs des sorties , comment determiner les
valeurs des entrées JK ?
Q Q+ J K
0 1 1 X Remise à 1 ou basculement
1 0 X 1 Remise à 0 ou basculement
25
II.SYNTHESE DES SYSTEMES SEQUENTIELS, TABLES DE TRANSITION DES
BASCULES.
Les méthodes de synthèse permettent d'écrire les équations logiques des entrées d'une bascule à
partir de sa table de transition.
26
III.LES COMPTEURS
III-1.Définition
Un compteur est un assemblage de bascules et de systèmes combinatoires ayant une seule
entrée : l’horloge.
On peut définir un compteur comme étant un système séquentiel dont les sorties indiquent le
nombres d’impulsion qui ont été applique sur son entrée horloge.
Les compteurs peuvent être soit synchrones ou asynchrones.
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
6) APPLICATION DES BASCULES
Diviseur de fréquence
application des bascules : Division de la fréquence d'une forme d'onde périodique. Appliquer onde
impulsionnelle à l'entrée HORLOGE d'une bascule J-K connectée en mode de basculement (J = K = 1)
Bascule change d'état à chaque front déclencheur du signal d'horloge (ici front +).
⇒ Sortie Q -> onde rectangulaire de fréquence égale à ½ celle du signal d'horloge
42
Exp. 2 bascules J-K utilisées pour diviser la fréquence d’horloge par 4.
La fréquence à la sortie QA est divisée par 2 à l’aide de la bascule A
Appliquer une onde impulsionnelle à l'entrée HORLOGE d'une bascule J-K connectée en mode de basculement
(J = K = 1).
43
Exp.: Développez la forme d'onde de sortie (f sor) du circuit à la figure ci-dessous lorsqu'une forme d'onde
rectangulaire de 8 kHz est appliquée à l'entrée HORLOGE de la bascule A (déclenchement par front positif)
Solution :
Les 3 bascules sont connectées afin de diviser la fréquence du signal d'entrée par 8 (23 = 8). Forme d'onde
fsor illustrée à la figure ci-jointe. Comme il s'agit de bascules à déclenchement par front positif, les sorties
varient lors des fronts positif.
Une impulsion de sortie est produite à toutes les 8 impulsions d'entrée ; la fréquence de sortie est donc 1
kHz comme illustré ci-dessus.
44
Exp. Compteur modulo N=4
Les deux bascules J-K à déclenchement par front négative (–) (état initial à 0).
Après impulsion 1, QA = 1 et QB = 0 -
Après impulsion 2, QA = 0 et QB = 1 -
- Après impulsion 3, QA = 1 et QB = 1.
48
1. Définition
• Une bascule est l’élément de base de la logique
séquentielle.
• Une bascule permet de mémoriser un seul bit.
• Un registre est ensemble un ordonné de n bascules.
• Un registre permet de mémoriser ( sauvegarder) une
information sur n bits.
• Exemple :
49
2. Type de registres
• Il existe plusieurs types de registres :
– Registre à entrées parallèles et sorties parallèles
(Registre à chargement parallèle ).
– Registre à entrée série et sortie série
– Registre à entrée série et sortie parallèle.
– Registre à entrée parallèle et sortie série.
– Registre à décalage circulaire.
50
2.1 Registre à entrées parallèles et sorties parallèles
(Registre à chargement parallèle ).
51
2.2 Registre à entrée série et sortie série
52
registre à entrée série à droite et à sortie
série à gauche.
53
Registre à entrée série et sortie parallèle.
54
Registre à entrée parallèle et sortie série.
55
2.5 Registre à décalage circulaire
56
Exercice
57
Registre programmable
58
Registre programmable ( table de vérité)
X 0 0 QA QB QC QD Mémoire
0 1 Eg QA QB QC Décalage à droite
1 0 QB QC QD Ed Décalage à gauche
1 1 A B C D Chargement Synchrone
59
Exercice
60
Les Bus
61
Représentation simplifié d’un bus sur 8
bits
62
Bus Unidirectionnel et Bidirectionnel
• Bus Unidirectionnel : Ce type de bus assurent un transport de
l'information dans un seul sens.
• Le bus bidirectionnel : Le bus bidirectionnel assure le transfert de
l'information dans les deux sens.
Bus Unidirectionnel
Le bus bidirectionnel
63
Application des Bus : interconnections
des registres
64
Le tampon trois états( Tristate )
65
Inverseur à trois états
66
Registre à trois états
• Les sorties sont dotés de tampons à trois états.
• Si S=0 alors les Qi sont dans l’état haute impédance.
A) Introduction.
La méthode d'huffman est une méthode de synthèse des systèmes séquentiels qui oblige à faire
une étude complète du système à réaliser et fournit un moyen systématique de réalisation avec un
minimum de variables internes (bascules).
Cette méthode a beaucoup perdu de son importance depuis l'apparition des microprocesseurs et
d'autre méthode d'analyse (GRAFCET). Cependant pour les systèmes séquentiels rapides (les
systèmes micro sont lents), elle est utile pour la conception de petits sous ensembles, lorsque la
solution n'est pas apparente, et que l'emploi des autres méthodes serait trop lourd.
B) Analyse et synthèse à partir d'un exemple.
Recherche d'un système séquentiel pour automatisme ferroviaire (modèle réduit).
On désire que la locomotive passe 2 fois sur la voie A puis 1 fois sur la voie B, et recommence (2
fois sur la voie A etc. ...).
b
2 aiguillages M et N permettent
Voie B de passer sur les voies A ou B
Si les actionneurs M et N
1 1 sont à 1, les aiguillages
M N s'orientent vers la voie B. Si M
0 0 = N= 0 => voie A.
voie A
2 capteurs a et b délivrent un 1
lorsque la locomotive passe
dessus.
a
Diagramme de fluence.
10/00 00/00 10/10 00/10 01/01 00/01
1 2 3 4 5 6
Remarque importante: Dans la méthode d'huffman, on suppose que 2 entrées ne peuvent varier
simultanément (les transitions d'entrée (01)->(10) sont interdites).
Dans l'exemple présent, cette condition est toujours remplie (s'il n'y a qu'une locomotive).
On constate que le système est bien séquentiel (et non combinatoire) à la présence dans une même
colonne, de plusieurs phases stables (ex: pour ab=00, on trouve les étapes N°2, N°4 et N°6, alors
que l'état des sorties M et N diffèrent. Il est donc impossible d'écrire une équation logique de M et
N en fonction de a et b).
Remarque: Il peut se produire que l'on ait introduit plusieurs phases stables équivalentes, sans
s'en rendre compte au cours de l'analyse. Deux phases seront équivalentes si:
Elles sont dans la même colonne (même vecteur d'entrée).
Les états des sorties sont les mêmes.
Les mêmes transitions d'entrées mènent aux mêmes phases ou à des phases équivalentes.
Il faut détecter ces phases équivalentes afin de n'en garder qu'une (cela permet de limiter le
nombre d'étapes et donc de simplifier d'autant le système séquentiel). Dans l'exemple proposé, il
n'y a pas de phases équivalentes (les étapes dans les mêmes colonnes n'ont pas les mêmes états en
sortie.).
Matrice réduite
Dans cette matrice les sorties ne doivent
ab pas être représentées
00 01 11 10
2 1
lignes 3 et 4 fusionnées
2 3
4 5 3
6 5 1 lignes 5 et 6 fusionnées
Lorsque deux lignes fusionnent, les états stables sont représentés en priorité, certains états
instables ne sont donc plus nécessaires, car ils correspondent à l'état stable de même numéro.
B-4) Codage des lignes.
Il est indispensable d'ajouter des variables internes pour différentier les lignes. Ici la matrice
réduite comporte 4 lignes, il faut donc deux variables internes pour coder ces 4 lignes. Appelons
y1 et y2 les deux variables internes supplémentaires. Il est alors possible en attribuant à chaque
ligne, une combinaison de y1 et y2, de traduire chaque étape par une relation en logique
combinatoire de a, b, y1 et y2.
On utilisera des lettres minuscules pour les variables d'entrée, et des majuscules pour les
grandeurs de sortie. Nous aurons donc ici 4 variables d'entrée a, b, y1, y2, et il faudra réaliser les
4 grandeurs de sortie M, N, Y1 et Y2.
Remarque: y1 et y2 correspondent respectivement à Y1 et Y2, mais aux temps de propagations
près des portes logiques et/ou des bascules.
Matrice réduite
ab
00 01 11 10
y1 y2 Pour la construction des
00 2 1 matrices d'excitation et des
01 2 3 matrices de sortie, voir Explication
11 4 5 3
10 6 5 1
Matrices d'excitation de Y1 et Y2
Y1 ab Y2 ab
00 01 11 10 00 01 11 10
y1 y2 y1 y2
00 0 0 00 1 0
01 0 1 01 1 1
11 1 1 1 11 1 0 1
10 1 1 0 10 0 0 0
Equations de Y1 et Y2
Y1 ab Y2 ab
00 01 11 10 00 01 11 10
y1 y2 y1 y2
00 0 0 00 1 0
01 0 1 01 1 1
11 1 1 1 11 1 0 1
10 1 1 0 10 0 0 0
Les matrices de sortie sont construites à partir de la matrice des phases et de la matrice réduite.
On écrit une matrice (tableau de Karnaugh) pour chaque sortie. Prenons le cas de la sortie M en
exemple.
Pour les états stables il faut prendre l'état spécifié dans la matrice des phases.
Pour les états instables (ils ne durent que pendant des temps très brefs = temps de
propagations) l'état peut en général être quelconque, mais parfois pour éviter des problèmes
d'aléas ou d'états transitoires parasites, on préfère imposer soit l'état de l'étape stable de départ,
ou celui de l'étape stable d'arrivée.
Matrices de sortie
M ab N ab
00 01 11 10 00 01 11 10
y1 y2 y1 y2
00 X 0 00 X 0
01 0 X 01 0 X
11 1 X 1 11 0 X 0
10 0 0 X 10 1 1 X
M=y1.y2 N=y1.y2
Le système peut donc être réalisé après avoir simplifié les équations à l'aide des règles de l'algèbre
de Boole. Ex: en transformant l'équation de Y2 de la façon suivante.
Schéma structurel
&
a >1 Y1
>1 M
&
&
>1 N
Y2 &
b >1 >1
>1 Y2
Matrices de transition de Y1 et Y2
TY1 ab TY2 ab
00 01 11 10 00 01 11 10
y1 y2 y1 y2
0 0 t00 t00 0 0 t01 t00
0 1 t00 t01 0 1 t11 t11
1 1 t11 t11 t11 1 1 t11 t10 t11
1 0 t11 t11 t10 1 0 t00 t00 t00
En utilisant les tables de transitions des bascules, on obtient alors une matrice d'excitation et les
équations des entrées de la bascule. Dans l'exemple, le système étant asynchrone, on choisit
d'utiliser des bascules RS. Il suffit alors d'utiliser la table des transitions de la bascule RS, pour
obtenir le tableau de Karnaugh des entrées R et S (voir tableau de Karnaugh de R1, S1, R2, S2).
R1=y2.a S1=y2.a
Matrices d'excitation de Y2
R2 ab S2 ab
00 01 11 10 00 01 11 10
y1 y2 y1 y2
00 0 X 00 1 0
01 0 0 01 X X
11 0 1 0 11 X 0 X
10 X X X 10 0 0 0
R2=b S2=y1.a
Les équations sont alors plus simples. Ici il y aura toujours 3 boîtiers (1 pour les bascules, 1
boîtier de 4 portes ET à deux entrées et 1 boîtier de NOR en transformant l'équation de S2).
Remarque: pour les bascules RS, il faut disposer des sorties complémentées, on prend alors
souvent des bascules D ou JK avec entrées asynchrones Set et Reset (attention les autres entrées
doivent être invalidées et non pas laissées en l'air).
Il suffit alors d'affecter chaque variable d'entrée à un fil d'adresse (ici y1=A3, y2= A2, a= A1, b=
A0), et d'affecter chaque grandeur de sortie à une sortie de la mémoire (ici Q3 = Y1, Q2 = Y1,
Q1= M et Q0 = N). Après avoir écrit les adresses obtenues en hexadécimal dans l'ordre, ainsi que
les données, il n'y a plus qu'à programmer la mémoire.
Ce mode de réalisation permet d'utiliser un grand nombre de variables d'entrée (ex: 11 entrées
pour une EPROM 2716, y compris les variables internes), mais les sorties sont limitées au nombre
de sortie de la mémoire (souvent 8, y compris les variables internes).
La réalisation de la carte (typon) a l'avantage d'être très simple par rapport à son équivalent en
logique combinatoire ou même en logique séquentielle.
EPROM 2716
A10 Q7
à à
Q4 C1
A4 Y1 R1
Q3
gnd
y1 A3 Y2 R2 gnd
y2 Q2
A2 C2
a M
A1 Q1 gnd
b A0 N
Q0
Remarque: Les circuits RC (R1 C1 et R2 C2) permettent de maîtriser les retards, sinon seuls les
temps de propagations limitent la vitesse d'évolution de la séquence. Il faut alors vérifier la bonne
évolution de la séquence.
EPROM 2716 H
A10 Q7 C1
à à
Q4 Y1
A4 Q3 1D Q
y1 gnd
A3 Y2
y2 Q2
A2
a M
A1 Q1
b A0 N
Q0
PARTIE COMMANDE
Pré-Actionneur
Visualisation Consigne
Opérateur
PARTIE DIALOGUE
Le Grafcet
Cahier des charges
Définitions : C’est un document où sont spécifiées toutes les
fonctions, toutes les valeurs des grandeurs physiques et tous les
modes d’utilisation du matériel.
Les niveaux :
– niveau 1 : spécifications fonctionnelles. Les tâches à réaliser par
le système sont décrites sans préjuger de la technologie.
– niveau 2 : spécifications technologiques et opérationnelles. La
technologie des capteurs et actionneurs est spécifiée ainsi que les
différents modes de fonctionnement et les conditions de sécurité.
– niveau 3 : documentations relatives au système (utilisation,
entretien, dépannage).
– autre niveau : Clauses juridiques, commerciales et financières.
Le Grafcet
Représentation du fonctionnement d’un automatisme
Le langage naturel : les fonctions de l’automatisme sont énumérées
textuellement au moyen du langage quotidien qui est interprétable de
différentes manières selon les individus. Ceci engendre souvent des
cahier des charges ambigus et difficiles à exploiter.
Le langage à contact ou le diagramme en échelle (Ladder) : ils sont
basés sur la représentation électrique des systèmes.
Le langage booléen : il utilise les logigrammes.
Le langage temporel : il utilise les chronogrammes.
Les organigrammes : ils sont plus facilement applicables à
l’informatique.
Le GEMMA : il permet de spécifier les différents modes de
fonctionnement d’un système.
Les réseaux de Pétri : ils sont bien adaptés à l’étude des systèmes
complexes.
Analyse fonctionnelle : SADT.
Le Grafcet
Le Grafcet : défini en France en 1977, le Grafcet est un outil
graphique qui permet de décrire le cahier des charges d’un
automatisme séquentiel. Il est également directement exploitable pour
l’implantation technologique. C’est donc à la fois :
– un langage de spécification d’un automatisme (Grafcet de
spécification),
– un langage d’implémentation (Grafcet de réalisation).
Le Grafcet
Exemple : automatisation d’une perceuse
Cahier des charges :
• Le foret tourne (R) toujours sur
lui-même en descente (D) et en
M montée (M).
• Les contacts h, b et m sont à 1
lorsqu’ils sont enclenchés.
h • Les contacts de fin de course h
et b sont enclenchés par le
passage de la came solidaire de
D
b la perceuse.
• Le cycle démarre lorsque l’on
appuie sur le bouton poussoir m
R et que le contact h est
m
enclenché par la came.
Pièce
Le Grafcet
Organigramme :
M m=1
h=1
h
D=1, R=1
D
b b=1
D=0, M=1
m
R
Pièce
h=1
Le Grafcet
Grafcet :
M 0
m h
h
1 D R
D b
b
2 M R
m h
R
Pièce
Le Grafcet
Les éléments du Grafcet
Les éléments de base
étape initiale
m h réceptivité
1 D R action
b
transition
2 M R
1 7 8
5 6 7
5
(1)
étape
étapen°n°55inactive
active
transition
transition
non
validée
validée
transition
transition non
(1)(1) validée
validée
Le Grafcet
Les réceptivités : associées à chaque transition, elles expriment les
conditions nécessaire pour passer d’une ou plusieurs étapes à une ou
plusieurs autres étapes. Une transition peut être :
– vraie si la condition correspondante est vérifiée.
– fausse si la condition correspondante n’est pas vérifiée.
5 5 5 5 5 5
Bouton m
m ab c=12 T>200°C X11
enclenché
6 6 6 6 6 6
Le Grafcet
Franchissement d’une transition : une transition peut être :
– franchissable si elle est validée et si la réceptivité associée est
vraie. Lors de son franchissement, toutes les étapes précédent la
transition sont désactivées et toutes les étapes suivant la
transition sont activées.
– non franchissable si la transition n’est pas validée ou si la
réceptivité est fausse.
5 étape n° 5 inactive
active
transition non
validée
validée transition non
a=1
0 a
réceptivité vraie
fausse franchissable
6 étape n° 6 active
inactive
Le Grafcet
Les arcs (liaisons) orientés : dans un Grafcet, il y a toujours
alternance entre étapes et transitions. Les arcs orientés relient les
étapes aux transitions et les transitions aux étapes. Un Grafcet se lit
de haut en bas et les liaisons descendantes ne sont pas fléchées.
Toute autre orientation doit être renseignée par une flèche indiquent
le sens de la liaison.
m h
1 D R
2 M R
h
Le Grafcet
Les temporisations
Une variable de temporisation δ est une variable logique dont le mode
d’évaluation permet de prendre en compte le temps.
En général, δ est égale à 1 dès qu’un délais de q secondes s’est
écoulé après le changement d’état de 0 à 1 d’une variable d’entrée E
(temporisation à l’appel). δ s’écrit alors :
δ=t/E/q
chronogramme :
x
t
t/x/T0 T0 T0
symbole :
x %TMi t/x/T0
ti / x / T0
Le Grafcet
Autres éléments du Grafcet
La séquence unique
– Elle est composée d’une suite d’étapes pouvant être activées les
unes après les autres.
– Chaque étape n’est suivie que d’une seule transition et chaque
transition n’est validée que par une seule étape.
– La séquence est dite active si au moins une étape est active. Elle
est dite inactive si toute les étapes sont inactives
r1
r2
r3
Le Grafcet
– Exemple : Alimentation d’une machine outil
po OP RG RD
pf FP d g m
av ar
Tapis A AV AR
h
a MB
DB
Tapis C
b
c
Le Grafcet
Conditions initiales
po
d
ar
h
Le Grafcet
1/ Appui sur m.
m
Le Grafcet
2/ Nous attendons une pièce en a.
a
Le Grafcet
3/ Nous avançons le bras jusqu’à ce que le bras soit en avant.
av
AV
Le Grafcet
4/ Nous fermons la pince jusqu’à ce que la pince soit fermée.
pf FP
Le Grafcet
5/ Nous rentrons le bras jusqu’à ce que le bras soit en arrière.
ar
AR
Le Grafcet
6/ Rotation du bras vers la gauche.
RG
g
Le Grafcet
7/ Nous descendons le bras jusqu’à ce que le bras soit en bas.
DB
b
Le Grafcet
8/ Nous attendons que le tapis C soit vide.
c
Le Grafcet
9/ Avance du bras jusqu’à ce que le bras soit en avant.
av
AV
Le Grafcet
10/ Nous ouvrons la pince jusqu’à ce que la pince soit ouverte.
po OP
Le Grafcet
11/ Retour en position initiales (attention, il faut décomposer les actions).
po
d
ar
h
Le Grafcet
– Question : Réalisez le Grafcet niveau 1 correspondant au cahier
des charges. 0
h∙ar∙d∙po∙m
1
2 AV
av
3 FP
pf
4 AR
ar
Le Grafcet
1
a
2 AV
av
3 FP
pf
4 AR
ar
5 RG
g
Le Grafcet
2 AV
av
3 FP
pf
4 AR
ar
5 RG
6 DB
b
Le Grafcet
3 FP
pf
4 AR
ar
5 RG
6 DB
7
c
Le Grafcet
4 AR
ar
5 RG
6 DB
8 AV
av
Le Grafcet
5 RG
g
6 DB
8 AV
av
9 OP
po
Le Grafcet
6 DB
b
7
8 AV
av
9 OP
po
10 AR
ar
Le Grafcet
7
c
8 AV
av
9 OP
po
10 AR
ar
11 MB
h
Le Grafcet
8 AV
av
9 OP
po
10 AR
ar
11 MB
12 RD
d
Le Grafcet
0
h∙ar∙d∙po∙m
2 AV
av
3 FP
pf
4 AR
ar
Le Grafcet
– Grafcet final :
0
h∙ar∙d∙po∙m
1
a
2 AV
av
3 FP
pf
4 AR
ar
5 RG
g
6 DB
b
7
c
8 AV
av
9 OP
po
10 AR
ar
11 MB
h
12 RD
d
Le Grafcet
Les divergences et convergences en OU :
– C’est une sélection de séquence selon certaines conditions
données par les réceptivités associées aux transitions.
– Une divergence en OU commence toujours par des
transitions et une convergence en OU se termine toujours
par des transitions.
4 5 6 7
r1 r2 r3
r1 r2 r3
5 6 7 8
divergence en OU convergence en OU
G D
A g B1
a AG AD b1
m1 d
m2
B2
b2
Le Grafcet
1/ L’opérateur appui sur m2.
A B1
m2
B2
Le Grafcet
2/ Nous positionnons l’aiguillage à droite.
A B1
AD
d
B2
Le Grafcet
3/ Nous emmenons le chariot en b2.
A B1
B2
b2
Le Grafcet
4/ L’opérateur appuie sur m2 pour renvoyer le chariot en a.
A B1
m2
B2
Le Grafcet
5/ Retour du chariot en a.
A B1
a
B2
Le Grafcet
– Question : Réalisez le Grafcet niveau 1 correspondant au cahier
des charges. 0
a∙m1 a∙m2
1 AG 5 AD
g d
2 D 6 D
b1 b2
3 7
m1 m2
4 G 8 G
a a
Le Grafcet
0
a∙m1 a∙m2
1 AG 2 AD
g d
3 D
b1 + b2
m1∙b1 + m2∙b2
5 G
a
Le Grafcet
– Exemple : Reprise de séquence
a2 G2 D2 b2 m
po OP M
h pf FP
c1
D
a1 G1 D1 b1
c2
v p
Le Grafcet
1/ Appui sur m.
m
Le Grafcet
2/ Descente de la pince jusqu’en c2.
c2
Le Grafcet
3/ fermeture de la de la pince.
pf FP
Le Grafcet
4/ Montée de la de la pince jusqu’en h.
M
h
Le Grafcet
5/ Déplacement de la pince jusqu’en b2.
D2 b2
Le Grafcet
6/ Descente de la pince jusqu’en c1.
c1
D
Le Grafcet
7/ Ouverture de la pince.
po OP
Le Grafcet
8/ Montée de la pince jusqu’en h.
M
h
Le Grafcet
9/ Déplacement de la pince jusqu’en a2.
a2 G2
Le Grafcet
10/ Descente de la pince jusqu’en c2.
c2
Le Grafcet
11/ fermeture de la de la pince.
pf FP
Le Grafcet
12/ Montée de la de la pince jusqu’en h.
M
h
Le Grafcet
13/ Déplacement de la pince jusqu’en b2.
D2 b2
Le Grafcet
14/ Descente de la pince jusqu’en c1.
c1
D
Le Grafcet
15/ Ouverture de la pince.
po OP
p
Le Grafcet
16/ Montée de la pince jusqu’en h.
M
h
Le Grafcet
17/ Déplacement de la pince jusqu’en a2.
a2 G2
Le Grafcet
18/ Déplacement du chariot jusqu’en b1.
D1 b1
Le Grafcet
19/ Attente du chariot vide.
v
Le Grafcet
20/ Déplacement du chariot jusqu’en a1.
a1 G1
Le Grafcet
– Question : Réalisez le Grafcet niveau 1 correspondant au cahier
des charges. 0
a1∙a2∙h∙po.v∙m
1 D
c2
2 FP
pf
3 M
4 D2
b2
Le Grafcet
1 D
c2
2 FP
pf
3 M
4 D2
b2
5 D
c1
Le Grafcet
2 FP
pf
3 M
4 D2
b2
5 D
c1
6 OP
po
Le Grafcet
3 M
h
4 D2
b2
5 D
c1
6 OP
po
7 M
h
Le Grafcet
4 D2
b2
5 D
c1
6 OP
po
7 M
8 G2
a2
Le Grafcet
5 D
c1
6 OP
po
7 M
8 G2
a2
p p
Le Grafcet
0
a1∙a2∙h∙po.v∙m
1 D
c2
2 FP
pf
3 M
4 D2
b2
Le Grafcet
5 D
c1
6 OP
po
7 M
8 G2
a2
p p
Le Grafcet
6 OP
po
7 M
8 G2
a2
p p
10 D1
b1
Le Grafcet
7 M
h
8 G2
a2
p p
10 D1
b1
11
v
Le Grafcet
8 G2
a2
9
p p
10 D1
b1
11
12 G1
a1
Le Grafcet
0
a1∙a2∙h∙po.v∙m
1 D
c2
2 FP
pf
3 M
4 D2
b2
Le Grafcet
– Grafcet final
0
a1∙a2∙h∙po.v∙m
1 D
c2
2 FP
pf
3 M
h
4 D2
b2
5 D
c1
6 OP
po
7 M
h
8 G2
a2
9
p p
10 D1
b1
11
v
12 G1
a1
Le Grafcet
Les divergences et convergences en ET (parallélisme structural) :
– Le but est de permettre l’exécution simultanée de plusieurs
séquences en même temps.
– Une divergence en ET commence toujours par des étapes et
une convergence en ET se termine toujours par des étapes.
7 4 5 6
r1
r1
8 9 10 7
divergence en ET convergence en ET
Le Grafcet
– Exemple : Transport aérien
D2 c
Co=1 C
G2
Co=0 Cabine 2
D1
m b1 b2
G1 B OP2 po2
Cabine 1 FP2 pf2
a
A
OP1 po1
FP1 pf1
Le Grafcet
1/ Conditions initiales et appui sur m.
A
Le Grafcet
2/ Fermeture des portes des deux cabines.
B
FP2 pf2
FP1 pf1
Le Grafcet
3/ Déplacement des deux cabines vers la station intermédiaire B.
C
G2
D1
b1 b2
B
A
Le Grafcet
4/ Ouverture des portes des cabines arrivés en B.
B OP2 po2
A
OP1 po1
Le Grafcet
5/ Attente de la fin de la temporisation de durée T0.
A
Le Grafcet
6/ Fermeture des portes des deux cabines.
B
FP2 pf2
FP1 pf1
Le Grafcet
7/ Déplacement des deux cabines vers leur station de départ.
D2 c
C
G1 B
a
A
Le Grafcet
8/ Ouverture des portes des deux cabines.
B OP2 po2
A
OP1 po1
Le Grafcet
9/ Arrêt si Co=0 ou attente de la fin de la temporisation
de durée T1 avant de démarrer un nouveau cycle si Co=1.
Co=1 C
A
Le Grafcet
– Question : Réalisez le Grafcet
0 niveau 1 correspondant au cahier
des charges.
a∙c∙po1∙po2∙m
1 FP1 2 FP2
pf1 pf2
3 D1 4 G2
b1 b2
5 OP1 6 OP2
po1 po2
7 8
t / b1∙b2 / T0
Le Grafcet
1 FP1 2 FP2
pf1 pf2
3 D1 4 G2
b1 b2
5 OP1 6 OP2
po1 po2
7 8
t / b1∙b2 / T0
9 FP1 10 FP2
pf1 pf2
Le Grafcet
3 D1 4 G2
b1 b2
5 OP1 6 OP2
po1 po2
7 8
t / b1∙b2 / T0
9 FP1 10 FP2
pf1 pf2
11 G1 12 D2
a c
Le Grafcet
5 OP1 6 OP2
po1 po2
7 8
t / b1∙b2 / T0
9 FP1 10 FP2
pf1 pf2
11 G1 12 D2
a c
13 OP1 14 OP2
po1 po2
Le Grafcet
7 8
t / b1∙b2 / T0
9 FP1 10 FP2
pf1 pf2
11 G1 12 D2
a c
13 OP1 14 OP2
po1 po2
15 16
=1
Le Grafcet
9 FP1 10 FP2
pf1 pf2
11 G1 12 D2
a c
13 OP1 14 OP2
po1 po2
15 16
=1
17
Co = 0 Co = 1
Le Grafcet
0
a∙c∙po1∙po2∙m
1 FP1 2 FP2
pf1 pf2
3 D1 4 G2
b1 b2
5 OP1 6 OP2
po1 po2
7 8
t / b1∙b2 / T0
Le Grafcet
9 FP1 10 FP2
pf1 pf2
11 G1 12 D2
a c
13 OP1 14 OP2
po1 po2
15 16
=1
17
Co = 0 Co = 1
Le Grafcet
11 G1 12 D2
a c
13 OP1 14 OP2
po1 po2
15 16
=1
17
Co = 0 Co = 1
18
t / X18 / T1
Le Grafcet
0
a∙c∙po1∙po2∙m
1 FP1 2 FP2
pf1 pf2
3 D1 4 G2
b1 b2
5 OP1 6 OP2
po1 po2
7 8
t / b1∙b2 / T0
Le Grafcet
– Grafcet final
0
a∙c∙po1∙po2∙m
1 FP1 2 FP2
pf1 pf2
3 D1 4 G2
b1 b2
5 OP1 6 OP2
po1 po2
7 8
t / b1∙b2 / T0
9 FP1 10 FP2
pf1 pf2
11 G1 12 D2
a c
13 OP1 14 OP2
po1 po2
15 16
=1
17
Co = 0 Co = 1
18
t / X18 / T1
Les Réseaux de Petri
(RdP en abrégé)
Master-SEER-RDP
4.1. Origine et domaines d'application
Master-SEER-RDP
4.1. RdP : origine et domaines d'application
Origine :
Idées de départ de Carl Adam Petri (thèse en 1962) :
– Un ensemble d'automates à états finis qui communiquent
Master-SEER-RDP
4.1. RdP : origine et domaines d'application
Domaines d'application :
– Systèmes de production, Autom. Prog. Ind., Grafcet
• Evaluation des performances, simulation à événements discrets
Master-SEER-RDP
4.2. Présentation informelle du
formalisme…
Master-SEER-RDP
4.2. RdP : présentation informelle
Master-SEER-RDP
4.2. RdP : présentation informelle
Démarche générale
Master-SEER-RDP
Master-SEER-RDP
4.2. RdP : présentation informelle
Concepts de base
– Condition
• Une condition est un prédicat ou une description logique d'un état du système.
• Une condition est vraie ou fausse.
• Un état du système peut être décrit comme un ensemble de conditions.
– Evénement
• Les événements sont des actions se déroulant dans le système.
• Le déclenchement d'un événement dépend de l'état du système.
Master-SEER-RDP
4.2. RdP : présentation informelle
Concepts de base
– Condition = Place P
– Evénement = Transition t
P
t1 t2
P1 P2
Master-SEER-RDP
4.2. RdP : présentation informelle
Concepts de base
P P
vrai faux
Remarque : on peut avoir un nombre quelconque non borné de jetons dans une
place
Master-SEER-RDP
4.2. RdP : présentation informelle
Concepts de base
– Condition de franchissement d'une transition = satisfaction de toutes les places
préconditions de la transition
P2 P2'
P1 P1'
t1 t1'
non franchissable franchissable
P P
avant franchissement
t t après franchissement
P2 P1 P2
P1
Master-SEER-RDP
4.2. RdP : présentation informelle
Modélisation de systèmes avec ressources
– Pour certains systèmes, il est plus juste de raisonner en termes d'ensemble de ressources,
au sens large, qu'en termes de conditions-événements.
=> un jeton = une ressource
– Le nombre de jetons contenus dans une place reflète le nombre de ressources qu'elle
possède.
– Les jetons d'une place n'ont pas d'identité individuelle, autrement dit ils sont
indiscernables.
– Ces ressources sont consommées et produites par les événements du système.
– Les arcs entrants d'une transition peuvent être valués par un entier quelconque (non nul)
=> valuation = nombre de jeton nécessaires dans la place pour franchir la transition
=> si k est la valuation d'un arc d'une place P vers une transition T, le tir de la transition T retire k
jetons dans la place P
– Les arcs sortants d'une transition peuvent être valués par un entier quelconque (non nul)
=> valuation = nombre de jeton produits dans la place située après la transition
=> si k est la valuation d'un arc d'une transition T vers une place P, le tir de la transition T dépose k
jetons dans la place P
– Par défaut, les arcs sont valués par 1.
Master-SEER-RDP
4.2. RdP : présentation informelle
Concepts de base
– Exemples
3 3 P2'
P2 2
P1 2 P1'
t1 t1'
non franchissable franchissable
avant franchissement P P
2 2
t t après franchissement
3 3
P2 P1 P2
P1
Master-SEER-RDP
4.2. RdP : présentation informelle
Schémas particuliers
a b a b
b
indétermisme a ou b
Master-SEER-RDP
4.2. RdP : présentation informelle
T0
• Notions complémentaires
– Une transition-puit est une transition
P1
ayant une sortie vide.
P2
– Une transition-source est une
transition ayant une entrée vide. 2
– Une boucle est un circuit constitué T1
d'une seule place et d'une seule
P3
transition.
P4
– Un RdP sans boucle est dit pur
T2
2
– Exemple : P5
Master-SEER-RDP
4.2. RdP : présentation informelle
fourchette fourchette
gauche pense droite
mange
1 philosophe
Master-SEER-RDP
4.2. RdP : présentation informelle
Master-SEER-RDP
4.3. La formalisation
Master-SEER-RDP
4.3. RdP : formalisation
Master-SEER-RDP
4.3.1. Formalisation : les bases
Master-SEER-RDP
4.3.1. Formalisation : les bases
Master-SEER-RDP
4.3.1. Formalisation : les bases
M:PN
Notation matricielle:
– Transitions en colonnes
– Places en lignes
– Marquage = vecteur colonne
Master-SEER-RDP
4.3.2. Formalisation : propriétés dynamiques
Master-SEER-RDP
4.3.2. Formalisation : propriétés dynamiques
2
Pre(., t1) = 0 < M0
• après le franchissement de t1
M = M0 - Pre(., t1) + Post(., t1)
2 1 1
2 1 0 5 0 1
= 3 - 0 + 0
0 6 4 7 3 0
0 0
2 2 5 5
= - + =
3 0 7 10
Master-SEER-RDP
4.3.2. Formalisation : propriétés dynamiques
Master-SEER-RDP
4.3.2. Formalisation : propriétés dynamiques
Dynamique (sémantique) d'un RdP : séquence de transitions
T1 T2 T3 T4
est une séquence de
transitions
franchissables
Master-SEER-RDP
4.3.2. Formalisation : propriétés dynamiques
De plus
Mn = M + C . VsT
où Vs est le vecteur caractéristique de la séquence de transitions
s = t1 t2 ... tn
tel que Vs(t) donne le nombre d'occurrences de la transition t dans s
On note
M —s Mn
Master-SEER-RDP
4.3.2. Formalisation : propriétés dynamiques
Equation d'état
Mf = M + C . VsT
Remarque :
s = s1 . s2 => Vs = Vs1 + Vs2
Vs1 = Vs2 => M + C . Vs1T = M + C . Vs2T même si s1s2
Master-SEER-RDP
4.3.2. Formalisation : propriétés dynamiques
Dynamique (sémantique) d'un RdP : séquence de transitions
Exemple :
Master-SEER-RDP
4.3.2. Formalisation : propriétés dynamiques
Remarques importantes :
<T1, T2, T3, T2>, <T3, T1, T2, T2>, <T3, T2, T2, T1>,
<T1, T3, T2, T2>, <T1, T2, T2, T3>, …
Master-SEER-RDP
4.3.2. Formalisation : propriétés dynamiques
Remarques importantes :
T1 T2 T3 T4
P1 P2 P3 P4 P5
Master-SEER-RDP
4.3.2. Formalisation : propriétés dynamiques
Aperçu (incomplet et approximatif) des raisonnements faisables sur un RdP
– Le rôle de l'équation d'état est de matérialiser, en termes de jetons, l'évolution du RdP.
Elle représente l'outil qui va permettre de calculer le résultat du franchissement de
transitions. En tant que tel, elle est nécessaire. Il faut toutefois l'utiliser correctement, en
pas à pas.
Pb Pb Pb
L'équation d'état appliquée à une séquence réduite à une transition fournit le nombre de
jetons qui restent après « exécution » de cette transition.
=> Si ce nombre est négatif, alors la transition n'est pas franchissable.
(Attention : réciproque fausse)
Master-SEER-RDP
4.3.2. Formalisation : propriétés dynamiques
Aperçu… des raisonnements faisables…
– L'équation d'état peut également servir à autre chose. Il est possible de calculer
le marquage initial nécessaire pour franchir une séquence donnée et arriver à
un marquage donné. Le travail se fait, dans ce cas-là, « à l'envers ».
M0 = Mf - C . VsT
Eq. Eq. Eq.
M0 M1 M2 Mf
Etat Etat Etat
Pb Pb Pb P1
– Exemple : P2
Quel marquage initial pour le marquage final
2
Mf= [2, 5, 1, 4, 0] et la séquence <T1, T2, T2>
T1
=> calcul de M2
P3
x 2 0 -1 3 P4
y 5 -2 0 5
0
M2 = z = 1 - 1 -1
1 => M2 = 2
T2
t 4 0 -1 5 2
u 0 0 2 -2 Impossible : P5
Mf inaccessible
par T2
Master-SEER-RDP
4.3.2. Formalisation : propriétés dynamiques
P1
Aperçu… des raisonnements faisables… P2
– Autre Exemple : 2
Quel marquage initial pour le marquage final T1
Mf= [2, 5, 1, 4, 5] et la séquence <T1, T2, T2> P3
P4
2 0 -1 3
=> calcul de M2
5 -2 0 5
0 T2
M2 = 1 - 1 -1 = 2 2
1
4 0 -1 5 P5
5 0 2 3
=> calcul de M1 3 0 -1 4
5 -2 0 5
0
M1 = 2 - 1 -1 = 3
1
5 0 -1 6
3 0 2 1
=> calcul de M0 4
4 0 -1
5 -2 0 7
1
M0 = 3 - 1 -1 = 2
0
6 0 -1 6
1 0 2 1
Master-SEER-RDP
4.3.2. Formalisation : propriétés dynamiques
Aperçu… des raisonnements faisables…
M0 + C . VsT > 0
Pb Pb Pb
Master-SEER-RDP
4.3.2. Formalisation : propriétés dynamiques
P1
Aperçu… des raisonnements faisables… P2
– Exemple : 2
Quel marquage initial minimal permettant le franchissement T1
de la séquence <T1, T2, T2> P3
=> calcul des contraintes sur M2 P4
x 0 -1 0 x 1
y -2 0 0 y 0 T2
0 2
M2 = z + 1 -1 > 0 => z > 1
1 P5
t 0 -1 0 t 1
u 0 2 0 u 0
Master-SEER-RDP
4.3.2. Formalisation : propriétés dynamiques
Marquage accessible et graphe de marquage
Exemple :
Master-SEER-RDP
4.3.2. Formalisation : propriétés structurelles
Exemple
Graphe de marquage :
Idle1 Idle2
1 (Idle1
0
d1 d2 1 Idle2
f1 f2
Busy1 Res Busy2 0
1 Res)
f1 f2
Master-SEER-RDP
4.3.2. Formalisation : propriétés dynamiques
Marquage accessible et graphe de marquage
Exemple :
Master-SEER-RDP
4.3.2. Formalisation : propriétés dynamiques
Propriétés des RdP
– Place et RdP k-bornés
• Une place est dite k-bornée pour un marquage initial si sa marque ne
dépasse jamais k (binaire si k=1)
• Un RdP est k-borné si toutes les places le sont
• C'est une propriété décidable, grâce à la monotonie
– Transition et RdP vivants
• Une transition est dite quasi-vivante pour un marquage M s'il existe un
marquage accessible à partir de M permettant de la franchir
• Une transition est dite vivante si elle est quasi vivante pour tout marquage
accessible à partir de M0
• Un RdP est dit vivant si toutes ses transitions le sont
– Un RdP ne contient pas de blocage s'il peut continuellement évoluer
– Un RdP est dit réinitialisable si M0 est accessible à partir de tout
marquage accessible à partir de M0
Master-SEER-RDP
4.5. Raffinement (top-down) et composition
Master-SEER-RDP
4.5. Raffinement et composition de RdP
Raffinage :
Principe :
– substituer une transition par un bloc "bien formé"
=> on introduit des détails en conservant les "bonnes" propriétés
=> bloc
Master-SEER-RDP
4.5. Raffinement et composition de RdP
Raffinement :
Blocs bien formés standards :
Master-SEER-RDP
4.5. Raffinement et composition de RdP
Composition asynchrone
Principe : fusion de places
ent1 ent2
a c
p3 p4
p1 p2
b d
Master-SEER-RDP
4.5. Raffinement et composition de RdP
Composition synchrone
Principe : fusion de transitions
ent1 ent2
te
a
b
Master-SEER-RDP
4.5. Raffinement et composition de RdP
5
cellule 2-4
4
1 2
Master-SEER-RDP
4.5. Raffinement et composition de RdP
Zone de mouvement
– Une section : (Mvt)
Sec.libre2
Master-SEER-RDP
4.5. Raffinement et composition de RdP
– Une section :
contrainte : un seul chariot en mouvement dans la section 2-4
=> introduction d'une place « espace »
Espace2
Sec.libre2
Master-SEER-RDP
4.5. Raffinement et composition de RdP
– Une section :
contrainte : un seul chariot en mouvement dans la section 2-4
=> introduction d'une place « espace »
=> fusion des places « Espace » des sections 2 et 4
Sec.libre4
Espace
e.s.2 a.p.2 Porte2 s.s.2
Mvt2
Sec.libre2
Master-SEER-RDP
4.5. Raffinement et composition de RdP
– Réseau de sections :
contrainte : un seul chariot par section
=> fusion des transitions s.s.1 et e.s.2, s.s.3 et e.s.4, s.s.4 et e.s.5
Mvt4
Mvt3 Porte3 Porte4 Mvt5 Porte5
Espace
Mvt1
Sec.libre1 Sec.libre2
Master-SEER-RDP
4.6. Quelques extensions…
Master-SEER-RDP
4.6. Extensions
– Besoin d'avoir une information plus précise sur les jetons transitant
dans le réseau
Master-SEER-RDP
4.6. Extensions : RdP colorés
Master-SEER-RDP
4.6. Extensions : RdP colorés
Master-SEER-RDP
4.6. Extensions : RdP colorés
=> Les propriétés d'un rdP coloré sont les mêmes que celles des rdP
ordinaires,
Master-SEER-RDP
4.6. Extensions : arc inhibiteurs
Master-SEER-RDP
4.6. Extensions : arc inhibiteurs
Arc inhibiteur
– La transition est tirable si et seulement si la place d'entrée est vide.
Master-SEER-RDP
4.7. Conclusion
Master-SEER-RDP
Master-SEER-RDP
Master-SEER-RDP
Master-SEER-RDP
Master-SEER-RDP
Master-SEER-RDP
Master-SEER-RDP
Master-SEER-RDP
Master-SEER-RDP
Master-SEER-RDP
Master-SEER-RDP
• http://grif-workshop.fr/modules/package-
simulation/module-petri/
Master-SEER-RDP
Master-SEER-RDP
Master-SEER-RDP
Master-SEER-RDP
Master-SEER-RDP
Master-SEER-RDP