Académique Documents
Professionnel Documents
Culture Documents
TD Seq PDF
TD Seq PDF
Exercice n°1 :
Pour commander une lampe à l'aide d'un bouton poussoir unique, on se propose
de réaliser un circuit à une entrée notée B (le bouton poussoir), et une sortie notée
L (la lampe) tel que :
• la lampe s'allume en appuyant sur le bouton si elle était éteinte et reste
allumée lorsqu'on lache le bouton ;
• la lampe s'éteint en appuyant sur le bouton si elle était allumée et elle reste
éteinte lorsqu'on lache le bouton.
Pour cela, on procèdera par étapes :
a) Ecrire le graphe des phases ;
b) Ecrire la matrice des phases ;
c) Ecrire le tableau des sorties ;
d) Attribuer des variables auxiliaires et ecrire la matrice des excitations ;
e) Calculer les expressions booléennes des excitations ;
f) Calculer l'expression booléenne de la sortie ;
g) Réaliser le circuit ;
h) Faire le chronogramme.
a) b) c)
0 B
1 état 0 1 état L
0 1 Bouton appuyé
1 1 2 1 0
0 4 2 1 Lampe allumée 2 3 2 2 1
1 0 3 3 4 3 1
3
1 4 1 4 4 0
Graphe des Phases Matrice des Phases Matrice de Sortie
f) g)
B
y1y2 0 1
L1
00 0 1*
01 1* 1 B1
11 1 0*
Montage à comportement instable
10 0* 0
L = Y2
L2
B2
output L2
M/A
a)
Arrêté
0
Appui
Bouton
Marche
1 Mise en
Fonction
00 01 11
états 10 P
À 10
- ÀÀ 5 * 2 0
11 Appui simultané…
…Arrêt relaché 10 10 …Arrêt relaché
- 4 * 3 - 1
0 ± 00 01 10 00
®1 ® * 5 ® 2 1
Appui simultané… 11 01 01 …Marche relaché
…Marche relaché
¯¯ 5 * 2 1
Arrêt °
0
01
Appui ¯ Fonctionne
° 1 °6 * 0
Bouton
Arrêt 1
Graphe des phases
± * 5 ± 2 0
Matrice des phases et sortie
d)
À ® - M/A
00 01 11 10
b a À°± 2
a
b ¯ 5 ®-
° ± ¯ Matrice des phases réduite
g)
M
P
input M
output (P)
À-®°À°À-¯-¯°À°±-¯-¯°À
a b a b a b a
1
Y1 y1
Y1 = y1y2 + Ck + y3
2 ∆t1
Y2 = y1 + y2y3
Y2 y2 Q
5 ∆t2 Y3 = y1 + Ck + y2y3
Ck
6 Q = y2
Q
Y3 ∆t3 y3
3 Q = y2 + y3
4
1 0 ¬0 1
±0 0 - Ck
1 1
°1 1
®
1 Q
1 0 1
¯ Chronogramme de fonctionnement
Exercice n°2 :
S 1
S1
2 $ 3
S2
4 $
Y1 Y2 = Q
CK
R1 R2
R 5 6 7 8
Y1=S1.y1.R1=S1+y1.R1=S.Ck+y1.R.Ck
Y1=S.Ck+y1.R+y1.Ck
Y2=S2.y2.R2=S2+y2.R2=y1.S.Ck.R.Ck+y2.S.Ck.R.Ck.y1.R.Ck
Y2=y1.(S+Ck).(R+Ck)+y2.(S.Ck+R.Ck+y1.R.Ck)
Y2=y1.(S.R+Ck.(S+R)+Ck)+y2.(S.Ck+R.Ck+y1.R.Ck)
00 00 00 - 00 10 - 00 00 0
1 2 3 8 7
01 00 00 - 00 11 - 01 12 00 1
11 11 11 - 11 11 - 01 11 1
4 5 6 10 9
10 11 11 - 11 10 - 00 11 0
11
0 Set
110 11 010
110
0 Â 1 É 010 Å1
010 110 100 110
010
000 100
000
000 100
0 À 100 Æ0 1 È 000 Ã1
000 000
100
001 001
101 100 101
001
0 Á 101 Ç0 Ä1
Q=0 Q=1
001 12 101
Ck=0 Ck=0
1 Reset
Ck Ck
S S
Q Q
K
Y2 = D
J $
Y1 $
CK
x1 x2
x1=y1+CK.y2.K+CK.x2.J
x2=y2+CK.(y1+CK.y2.K+CK.x2.J)=y2+y1.CK
Donc x1=y1+CK.y2.K+CK.y2.J
Y1=x1+J.x2.CK+y2.K.CK=y1.(CK+y2+K).(CK+y2+J)+J.y2.CK+y2.K.CK
=y1.CK(1+J+K)+y1.y2.J+y1.J.K+y1.y2.K+CK.(J.y2+K.y2)
=y1.CK+J.(y1.y2+y1.K)+y1.y2.K+CK.(J.y2+K.y2)
Y2=x2+y1.CK=y2.(y1+CK)+y1.CK=y1.y2+CK.y2+CK.y1
CK J K
00 00 00 10 10 00 00 00 00 0
9 10 4 3 2 1
01 11 01 01 11 00 00 00 00 1
14 16
11 11 01 01 11 11 11 11 11 1
11 12 8 7 6 5
10 00 00 10 10 11 11 11 11 0
15 13
110 100
110 5
010 11
000
001
000
010
12 14
001
011
010
16 011
Q=0
110 101
011 15
001
011
010
13 10
001
000
010
000
9 001
111
011 010
100 000
101
100 1
101
100
110
4 2
101
111
110
3 111
X et Y sont deux moteurs alimentés par les relais de même nom. Quand X
est alimenté, le chariot C se déplace de A vers B, quand Y est alimenté, le
chariot C se déplace en sens inverse. A et B sont des relais de fin de
course. M est un capteur situé sur le point médian du parcours. Il sera actif
pendant toute la durée du passage du chariot au dessus de ce point. Le
chariot B comprend en outre deux flèches lumineuses G et D éteintes
lorsque le chariot est au repos et qui sont allumées grâce aux commandes
de même nom dès que le chariot est en mouvement. On désire construire le
circuit séquentiel tel que lorsque l'on appuie sur le bouton de mise en
marche S, le chariot, qui est supposé au repos en A, effectue un aller-retour
A-B-A. Pendant ce trajet, les flèches indiquent en permanence la direction
de M* , à l'exception du laps de temps pendant lequel le chariot passe au
dessus du point médian M, auquel cas les flèches seront toutes les deux
allumées.
Dans un premier temps, on simplifiera le problème en ignorant le capteur
M et les flèches G et D
1) Enumérer les entrées et les sorties du système.
2) Tracer le graphe des phases, puis la table de fluence primitive du
système.
3) Tracer la table réduite et en déduire les équations des variables
auxiliaires et des sorties du système.
CORRECTION
A] Problème simplifié :
* Entre A et M, D est allumée, entre M et B, G est allumée. D et G sont simultanément allumées pendant
toute la durée du passage du chariot au dessus du point M, c'est à dire tant que le capteur M est dans
l'état 1.
Graphe d'états :
Matrice d'états :
D’où le schéma :
B] Problème complet
YXGD
0000 0101 0101 0101 0111
1 1010 2 0010 3 0000 5 0100 6
SMAB
1000 0000 0000
Graphe d'états :
0010 4 0110 7
0101 0001
Etat suivant
E.P. Sortie
0010 1010 1000 0000 0100 0101 0001
1 1 2 0000
2 3 2 0101
3 3 4 5 0101
Matrice d'états : 4 4 5 0101
5 5 6 0101
6 7 6 0111
7 7 8 0110
8 9 8 1010
9 9 10 1010
10 11 10 1011
11 1 11 1001
Y = y2 . A
Y1 = y1 .M + y2 .M X = y2
On trouve finalement : et les sorties
Y2 = y 2 . B + S G = M + y1
D = M + y1 .(y 2 + A )
D
S G
S 1
0 1
X
G
M 1 M
0
0
Y1
Y
Y2
A
1
A 1
0
B
B 1
Y2 Y
0
TD n°4
Exercice n°9 : Réaliser un compteur synchrone modulo 10 à l'aide de
bascules JK
0 EP ES
9 1 0 0000 0001
1 0001 0010
2 0010 0011
8 2
3 0011 0100
4 0100 0101
5 0101 0110
7 3
6 0110 0111
7 0111 1000
6 4 8 1000 1001
5 9 1001 0000
TA = AD+BCD
JA = BCD JB = CD JC = AD JC = 1
TB = CD
KA = D KB = CD KC = D KC = 1 TC = AD
TD 4 Logique séquentielle - J. Guizol TD = 1 page 1
D'où le montage :
BCD
CD A
¬A.D
C
Vcc
Compteur modulo 10
…et le chronogramme :
|0 |500 |1000 |1500 |2000
input clock
output A
output B
output C
output D
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0…
7 5
6
EP ES
RAZ Inc. 1 Inc. 2 Inc. 3 Inc. 4
0 0000 0000 0001 0010 0011 0100
1 0001 0000 0010 0011 0100 0101 MN
2 0010 0000 0011 0100 0101 0110 Inc. 1 01
3 0011 0000 0100 0101 0110 0111 Inc. 2 10
4 0100 0000 0101 0110 0111 1000 Inc. 3 11
5 0101 0000 0110 0111 1000 1001 Inc. 4 00
6 0110 0000 0111 1000 1001 1010 Codage choisi
7 0111 0000 1000 1001 1010 1011
8 1000 0000 1001 1010 1011 0000
9 1001 0000 1010 1011 0000 0001
10 1010 0000 1011 0000 0001 0010
11 1011 0000 0000 0001 0010 0011
N 0 1 N 0 1
CD CD CD CD
M AB 00 01 11 10 AB 00 01 11 10 M AB 00 01 11 10 AB 00 01 11 10
00 k k k k 00 k k k k 00 Jk Jk Jk Jk 00 k k Jk k
0 01 Jk Jk Jk Jk 01 k k Jk k 0 01 Kj Kj Kj Kj 01 j j Kj j
11 11 11 11
* * * * * * * * * * * * * * * *
10 Kj Kj Kj Kj 10 j j Kj j 10 k k k k 10 k k k k
CD CD CD CD
AB 00 01 11 10 AB 00 01 11 10 AB 00 01 11 10 AB 00 01 11 10
00 k k k k 00 k k k k 00 k k Jk Jk 00 k Jk Jk Jk
1 01 k k Jk Jk 01 k Jk Jk Jk 1 01 j j Kj Kj 01 j Kj Kj Kj
11 11 11 11
* * * * * * * * * * * * * * * *
10 j j Kj Kj 10 j Kj Kj Kj 10 k k k k 10 k k k k
KA = CD+CM+MN+DMN KB = KA
JA = B.K A J A = A.K B
TD 4 Logique séquentielle - J. Guizol page 3
N 0 1 N 0 1
CD CD CD CD
M AB 00 01 11 10 AB 00 01 11 10 M AB 00 01 11 10 AB 00 01 11 10
00 k k j j 00 k Jk Kj j 00 k j j k 00 Jk Kj Kj Jk
0 01 k k j j 01 k Jk Kj j 0 01 k j j k 01 Jk Kj Kj Jk
11 11 11 11
* * * * * * * * * * * * * * * *
10 k k j j 10 k Jk Kj j 10 k j j k 10 Jk Kj Kj Jk
CD CD CD CD
AB 00 01 11 10 AB 00 01 11 10 AB 00 01 11 10 AB 00 01 11 10
00 Jk Jk Kj Kj 00 Jk k j Kj 00 k j j k 00 Jk Kj Kj Jk
1 01 Jk Jk Kj Kj 01 Jk k j Kj 1 01 k j j k 01 Jk Kj Kj Jk
11 11 11 11
* * * * * * * * * * * * * * * *
10 Jk Jk Kj Kj 10 Jk k j Kj 10 k j j k 10 Jk Kj Kj Jk
K C = DM+MN+DMN K D = JD = N
JC = KC
D'où le montage :
M N RAZ
Compteur binaire
J Q J Q J Q J Q
A B C D
K Q K Q K Q K Q
Questions :
JA = 1 et KA = 1
JC = QA.QD = QA.QD
KC = QA.QB = QA.QB
JD = QC .(QA.QB) = QA.QB.QC
KD = QA
2) J’ai nommé les divers états par leur valeur décimale. Le cycle le plus long traverse
les états suivants :
9 ➙ 8 ➙ 7 ➙ 6 ➙ 5 ➙ 4 ➙ 3 ➙ 2 ➙ 1 ➙ 0 ➙ 9… soit 10 étapes.
Tous les états ne sont pas représentés dans ce cycles !
On a aussi des états d’entrée qui nécessitent des étapes supplémentaires avant de
rejoindre le cycle:
10 ➙ 5 ➙ 4 ➙ 3 ➙ 2…, 14 ➙ 5 ➙ 4 ➙ 3 ➙ 2…, 12 ➙ 3 ➙ 2… (1 étape),
11 ➙ 10 ➙ 5 ➙ 4 ➙ 3…, 15 ➙ 14 ➙ 5 ➙ 4 ➙ 3…, 13 ➙ 12 ➙ 3 ➙ 2… (2 étapes)
Le but de la question 3 est de forcer à rejoindre le cycle dès qu’une entrée
supplémentaire I est activée.
JA = I et KA = 1
JB = (QA.QC + QA.QD).I
KB = QA.I + I
JC = (QA.QD).I
KC = (QA.QB) + I
JD = (QA.QB.QC).I
KD = QA.I + I
Je vous conseille de chercher une autre solution en supposant, par exemple, que l’entrée
dans le cycle s’opère non plus par 0, mais, par exemple, par 5.
00/0 11/1
11/0
10/1
1 00/1
2 10/0
x1x2 x1x2
00 01 11 10 A 00 01 11 10
SA = x1.x2
1 1 1 2 1 0 0 0 1 0
RA = x1.x2
2 1 2 2 2 1 0 1 1 1
Matrice de sortie :
x1x2
A 00 01 11 10
0 0 1 0 1 Z = A ⊕ x1 ⊕ x2
1 1 0 1 0
TD 6 Logique séquentielle - J. Guizol page 1
D'où le montage…
x1
Z
x2
Ck
…et le chronogramme :
|0 |500 |1000
input Ck
input x1
input x2
output Z
00 x1x2
10 01
00 01 11 10 z
0 1 11 3 0 1 1 2 3 2 0
2 1 2 3 2 1
01 10
Etats sans 11 Etats avec 3 2 3 4 3 0
retenue 00 00 11 retenue
01
4 2 3 4 3 1
10
1 1
2 00 4 Affectation "bestiale" :
10 01 11
1 → 00 ; 2 → 01 ; 3 → 11 ; 4 → 10
x1x2 x1x2 x1x2 x1x2
AB 00 01 11 10 AB 00 01 11 10 AB 00 01 11 10 AB 00 01 11 10
00 00 01 11 01 00 r r S r 00 r S S S 00 0 1 0 1
01 00 01 11 01 01 r r S r 01 R s s s 01 0 1 0 1
11 01 11 10 11 11 R s s s 11 s s R s 11 1 0 1 0
10 01 11 10 11 10 R s s s 10 S S r S 10 1 0 1 0
A B Z
SA = x1.x2 SB = x1.x2+A.x1+A.x2 Z = x1 ⊕ x2 ⊕ A
RA = x1.x2 RB = A.x1.x2+A.x1.x2
où l'on s'aperçoit que la bascule B est inutile puisque A = fA(x1,x2) et Z = fZ(A,x1,x2)
En fait, une affectation plus judicieuse des variables nous aurait permis de déterminer cela
plus rapidement. On a dans la matrice une PPS triviale {1,2};{3,4}. Introduisons une variable
booléenne, A servant à coder le bloc {1,2} par 0 et {3,4} par 1. La matrice devient :
x1x2 x1x2 x1x2 x1x2
A 00 01 11 10 A 00 01 11 10 A 00 01 11 10 A 00 01 11 10
0 0 0 1 0 0 r r S r 0 1 2 3 2 0 0 1 0 1
1 0 1 1 1 1 R s s s 1 2 3 4 3 1 1 0 1 0
matrice de correspondance matrice de sortie
SA = x1.x2
RA = x1.x2 Z = x1 ⊕ x2 ⊕ A
x1
A
x2
x1x2
00 01 11 10
x1x2
A 00 01 11 10 1 0 1 0 1
0 0 0 1 0 2 0 1 0 1
1 0 1 1 1 3 1 0 1 0
4 1 0 1 0
A A=0 A=1
B 0 1 x1x2
0 1 4 B 00 01 11 10 00 01 11 10
0 0 1 0 1 1 0 1 0
1 2 3
1 0 1 0 1 1 0 1 0
A=0 A=1
x1x2
SB = x1 ⊕ x2 ⊕ A B 00 01 11 10 00 01 11 10
RB = S B 0 r S r S S r S r
1 R s R s s R s R
B
x1 A
x2
00 0 1 1 1 00 0 1 1 1
01 1 0 1 1 01 0 0 0 1
11 1 0 1 0 11 1 0 1 1
10 1 1 1 1 10 0 0 1 1
Machine M1 Machine M2
TB = A + B + X = A.B.X TD = C + D + X
CD
AB 00 01 11 10
00 * 1 *
Matrice de sortie : 01 1 * * S = A.C + B.D
11 * * 1
10 * * *
TD 7 Logique séquentielle - J. Guizol page 2
Montage :
Machine M1
C
X
S
CK
Machine M2
Chronogramme :
|0 |250 |500 |750 |1000 |1250
input CK
input X
output A
output B
output C
output D
output S
1 2 5 2 1 3 6 4 7 4 7 5 2
TD 7 Logique séquentielle - J. Guizol page 3
Comme dans l’exercice précédent, considérons une PGS. En l’ocurrence, la
seule envisageable est {1,2,3,5}, états pour lesquels la sortie vaut 0 et {4,6,7}
où la sortie vaut 1.Par ailleurs, supposons que nous n’ayons trouvé que la
première PPS {{1,4},{2,7},{3,6},{5}}.
On constate que ces deux partitions sont orthogonales.
En gardant le même codage en AB que précédemment pour le PPS, nommons
M la partition {1,2,3,5} et N, la partition {4,6,7}.
C X=0 X=1
AB 0 1 0 1
00
01 T TC = A.X + A.B.X.C
11 T T
10 - T -
Réalisation avec une bascule T
X B
Machine PPS
CK
S
C
Machine PGS
1
0/0 1/0
2 3
0/0 1/0 0/0 1/0
4 5 6 7
0/0 1/0 0/0 1/0 0/0 1/0 0/0 1/0
8 9 10 11 12 13 14 15
1/1 1/0 1/0 1/0 1/1 1/0 1/1 1/0
0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
1
14 1 1 1 0 ✘✘✘✘✘✘✘✘ ✘ 14
15 1 1 1 0 ✘✘✘✘✘✘✘✘ ✘ 15
14 14-15
13 13-14-15
12 Idem
1 11-13-14-15
10 10-11-13-14-15
9 9-10-11-13-14-15
8 8-12 | 9-10-11-13-14-15
7 Idem
6 Idem
5 5-7 | 8-12 | 9-10-11-13-14-15
4 4-6 | 5-7 | 8-12 | 9-10-11-13-14-15
3 Idem
2 2-3 | 4-6 | 5-7 | 8-12 | 9-10-11-13-14-15 0 1 0 1
1 Idem 1 2 2 0 0
2 4 5 0 0
4 8 9 0 0
5 9 9 0 0
8 1 1 1 1
Matrice simplifiée 9 1 1 1 0
0 1 0 1
{1,4,5} {2,8,9} {2,9} A B B
{2,8,9} {1,4} {1,5} B A A
Compteur modulo 2
PPS2={{4,5},{8,9},{1},{2}}
0 1 0 1
{4,5} {8,9} {9} A B B
{8,9} {1} {1} B C C
{1} {2} {2} C D D
{2} {4} {5} D A A
Compteur modulo 4
PPS1.PPS2={{4,5},{8,9},{1},{2}} ≠ Ø
On constate bien que dans le cadre de notre système le bit poids faible est
sans importance car quelle que soit sa valeur, ce sont les bits de poids
supérieur qui permettront d'évaluer la sortie (1,3,7 et 9 répondent à la
contrainte).
X1 X2
00 01 10 11
On choisit de coder les 4 états P 1 1 1 1
atteints dans chaque branche
de la façon suivante : Q 2 2 2 2
R 4 5 4 5
S 8 9 9 9
TD 8 Logique séquentielle - J. Guizol page 3
Déterminons donc la machine chargée de régler les transitions d'états
entre P, Q, R et S codés respectivement 00, 01, 10 et 11 et
représentant respectivement les classe {1}, {2}, {4,5} et {8,9}.
X 0 1
X1X2 00 01 10 11 00 01 10 11
P Q Q Q Q Q Q Q Q
Q R R R R R R R R Compteur modulo 4
R S S S S S S S S
S P P P P P P P P
X1X2
0 1 Sortie :
AB 00 01 10 11 00 01 10 11
P 00 S=XAB+X 1X2AB=(X+X1X2)AB
Q 01
La sortie reste à zéro tant que
R 10 l'on n'a pas reconnu le 4ème bit
S 11 1 1 1 1 1
X X2 X1
A
Compt.
mod 4
Ck B S
XA XA
BC 00 01 11 10 BC 00 01 11 10
X
A 0 1 00 0 0 1 0 00 0 1 1 0
0 1 1 01 0 0 0 1 01 0 1 1 0
1 1 1 11 0 1 1 0 11 0 1 1 0
10 - - - - 10 - - - -
TA = 1 TB = B. A + X.(CA + B. A.C) TC = A
D'où le circuit :
U4
SW1 U2 U3
U5
1 U7
T Q
0 PROBE1
U1 U9 C
R U10
1
U11
T Q U8
U6
CR
T Q
CR
CLK1
100
1/1
❶
1/0 ❷ 0/1 1/1
0/1
110
1/0 010 0/1
1/0
111 ❸ 1/0 1/0
0/1 ❼ 001
❹
0/1 101 ➑
0/1 1/0 ➏ 0/1
011
➎
E.S. Sortie
E.P.
0 1 0 1
✗ 2
1 1 2 1 1 ✗ 7-5
3-4 3
2 7 3 1 0 ✗ 7-5
3-4 4
3 5 4 1 0 ✗ 7-8 5-8 5-8
5
3-6 4-6 4-6
4 5 4 1 0
5 8 6 1 0 ✗ 7-5
3-4
7-5
3-4
7-8
3-6 6
6 7 3 1 0 ✗ 7-8
3-6
5-8
4-6
5-8
4-6
7-8
3-6 7
7 8 6 1 0 ✗ ✗ ✗ ✗ ✗ ✗ 8
8 1 2 1 1
7
6
5 5-7 Simplification :
4 4-6 | 5-7 {1,8},{5,7},{2,3,4,6}
3 3-4 | 3-6 | 4-6 | 5-7
P Q R
2 2-3 | 2-4 | 2-6 | 3-4 | 3-6 | 4-6 | 5-7
1 1-8 | 2-3 | 2-4 | 2-6 | 3-4 | 3-6 | 4-6 | 5-7
X
S
Ck
… et le chronogramme :
|0 |500 |1000 |1500 |2000
input Ck
input X
output S
valeurs
interprêtées 0 0 0 0 8 12 6 11 5 10 13 6 3 9 12 …
{P,Q,R}
X1 0 1
x1x2
x
0 1
{P,Q} {R} 00 1 1
01 1 0
X2 0 1 0 1
11 1 0
{P} {R} {Q} {R}
10 1 0
Matrice de sortie
X 0 1 0 1 0 1 0 1
Sortie 1 1 1 0 1 0 1 0 S = X + X1.X2