Vous êtes sur la page 1sur 33

Synthèse des machines à états

Christian Dupaty
Académie d’Aix Marseille
Clk (H) Q(n+1)

Bascule D synchrone 0
1
Q
Q

U1(D) U1(D) U1 U1(Q)


Front actif D
D Q
U1(CLK) U1(CLK)
CLK
U1(Q)
Q
DTFF
Machine à états – modèle de Moore
Calcule le Calcule les
Etat antérieur
futur sorties

MÉMOIRE
LOGIQUE D’ETATS LOGIQUE
Entrées Prochain
Sorties
COMBINATOIRE état (N BASCULES D) COMBINATOIRE
ln(etats )
N=
ln(2)

Reset

Horloge
Par exemple pour la machine à café, les états pourraient être :
-Attente de pièce
-Descendre le gobelet
-Verser la poudre de café 5 états donc 3 bascules D
-Verser l’eau chaude
-Indiquer que c’est prêt
Exemple 1 : production de train d’impulsions

Oscillateur 1KHz

&

Horloge
S
200mS
Générateur de train de 2
C ou 3 impulsions
N
Trains d’impulsions
• Si C=1
Si N=0 l’horloge de 200mS est recopiée deux fois sur S
Si N=1 l’horloge de 200mS est recopiée trois fois sur S
Diagramme d’état
/C
S=0 S=h

RESET 0 C
1 01
00

/N

11 3 N
2 10

S=h S=h
Table des transitions des sorties des deux
bascules D représentant les 4 états

états Q1 Q2
/C 0 0 0 C

1 0 1 /N

2 1 0
N
3 1 1
Table d’évolution
Etat courant Entrées Etat futur Sorties
Q1 Q2 C N D1 D2 S
0 0 0 X 0 0 0
0 0 1 X 0 1 0
0 1 X X 1 0 H
1 0 X 1 1 1 H
1 0 X 0 0 0 H
1 1 X X 0 0 H

Le tableau d’évolution permet de définir les équations combinatoires des


entrées des bascules D en fonction de l’état et des variables d’entrées.
Les sorties dépendent de l’état de la machine (et parfois des variables
d’entrées)

D1=/Q1.Q2+Q1./Q2.N S=(Q1+Q2).H
D2=/Q2./Q1.C+Q1./Q2.N
Equations D1, D2 et S
D1=/Q1.Q2+Q1./Q2.N
D2=/Q2./Q1/C+Q1./Q2.N
S=(Q1+Q2).h

U10
U9 S

?
AND_2
OR_2

U4 U7
U3 U6
U1 U2
D Q ? D Q ?
AND_2 AND_3
CLK CLK
OR_2 OR_2
U8
U5 Q Q
N N
DTFF DTFF

AND_3
AND_3

C C

U1(CLK)
Exemple 2 : Serrure codée
• L’accès à un local est protégé par une serrure
codée associée à un automatisme
commandant la gâche électrique de la porte
Combinaison choisie : A,D,C.
E indique l’état ouvert ou fermée de la porte
Contact d’état de la porte (E) G=1 commande l’ouverture de la porte

Touche A Gâche G
Automatisme
Touche D
Touche C
Câblages
VDD VDD VDD VDD VDD

R5
10k

X A D C P

R1 R2 R3 R4
10k 10k 10k 10k

Touches n’intervenants
Touches intervenants Contact de porte
pas dans la séquence
dans la séquence
Diagramme d’état
G=0 G=0
C+X
/A
/C./X./D
RESET 0 A
1
00 01
D
/P A+X

P 3 C
2 /C./A./X

11 G=1 G=0 10
Table des transitions des sorties des
deux bascules D représentant les 4
états
états Q1 Q2
/A 0 0 0 A
C+X
/C./X./D
1 0 1 A+X
D
/C./A./X /P
2 1 0
C
P 3 1 1
Table d’évolution
Etat courant Entrées Etat futur Sorties

Q1 Q2 A D C x P D1 D2 G
0 0 /A X X X X 0 0 0
0 0 A X X X X 0 1 0
0 1 X X 1 X X 0 0 0
0 1 X X X 1 X 0 0 0
0 1 X 1 X X X 1 0 0
0 1 X 0 0 0 X 0 1 0
1 0 0 X 0 0 X 1 0 0
1 0 1 X X X X 0 0 0
1 0 X X X 1 X 0 0 0
1 0 X X 1 X X 1 1 0
1 1 X X X X 1 1 1 1
1 1 X X X X 0 0 0 1
Equations D1, D2 et G
D1= /Q1.Q2.D+Q1./Q2.C+Q1./Q2./C./A./X.P+Q1.Q2.P
D2=/Q1./Q2.A+Q1./Q2.C+/Q1.Q2./C./D./X.P+Q1.Q2.P
G=Q1.Q2

U13
U9
Q1
Q2 Q1
G
P
Q2
?
AND_3 U6
AND_2
U3 A
/Q1
/Q1 /Q2
Q2 U5 U8
AND_3
D U1 U2
AND_3 Q1 U7 Q2
D Q ? C
D Q ?
U4
CLK Q1 CLK
OR_4 OR_4
C /Q2
/Q1 /Q2
Q1 Q Q
AND_3
/Q2
DTFF DTFF
AND_3
U10
U11 /Q2
/Q1 Q1
Q2 C
C D
A X
U1(CLK) NOR_5
X
NOR_5
EXERCICES
Exercice 1 :Portail automatique

• Portail fermé (F)=1 moteur =0 (M=0)


Télécommande (T)=1 ouverture(sens S=1) moteur=1 (M=1)
Portail ouvert (O)=1 moteur =0(M=0)
Télécommande (T)=1 fermeture (sens S=0) moteur=1 (M=1)
Portail fermée (F)=1 moteur =0 (M=0)
• 2ième partie : Amélioration , un coup de point C entraîne un
retour position initiale du mouvement en cours
Diagramme d’état
Version non sécurisée
M=0 M=1
/T S=X S=1
T /0
RESET 0
000
1001
F 0

/F.
3
011 T
2
010
/T

M=1 M=0
S=0 S=X
Table des transitions
états Q1 Q2
/T 0 0 0 T

/O 1 0 1 0
F
/T 2 1 0
T
/F 3 1 1
Equations de D1,D2,M,S
D1=/Q1.Q2.0+Q1./Q2./T+Q1./Q2.T+Q1.Q2./F
D1=/Q1.Q2.0+Q1./Q2+Q1.Q2./F
D1=/Q1.Q2.0+Q1(/Q2+Q2./F)
D1=/Q1.Q2.0+Q1(/Q2+/F)
D1=/Q1.Q2.0+Q1./Q2+Q1./F)

D2=/Q1./Q2.T+/Q1.Q2./0+Q1./Q2.T+Q1.Q2./F
D2=/Q2.T+/Q1.Q2./0+Q1.Q2./F

M=/Q1.Q2+Q1.Q2=Q2
S=/Q1
Portail automatique : schéma U11
Q2
0
0 /Q1
AND_2

F
0
U12
Q2
T
0 Q1
AND_2

U3 U8
U4 U7
/Q1 U1 /Q2 U2
Q2
Q1 Q2
0 D Q ? T D Q ?
AND_3 AND_2
CLK CLK
OR_3 OR_3
/Q1 /Q2
U5 Q ? U9 Q
DTFF DTFF
Q1 Q1
/Q2
/Q2 0
AND_2 NOR_3

U10
U6
/Q1
/Q1 /Q2
F
F
NOR_3
NOR_2
U1(CLK)
Diagramme d’état
Version sécurisée
M=0 M=1
/T S=X S=1
T /0./C
RESET 0
000 /C
1001
C

F
C
4
100 C 0
C
/C
5
101
/F./C
3
011 T
2
010
/T

M=1 M=0
S=0 S=X
Table des transisitons
états Q1 Q2 Q3
/T 0 0 0 0 T

/O./C 1 0 0 1
0
F
/T 2 0 1 0 /C
T C
/F./C 3 0 1 1
C
C
4 1 0 0 /C

C
5 1 0 1
Exercice 2 : Testeur de réflexes
Jeux se pratiquant à deux joueurs, au signal, le premier qui appuie sur sa
touche allume sa LED, le jeu est bloqué jusqu’à l’arrêt du signal.

P SP

A SA
B Testeur de reflexes SB
Testeur de reflexes
/P

P
SP=0 SP=1 SP=1
SA=0 SA=0
SB=0 SB=0
210 SA=1
/P SB=0
A
P
RESET 0
00
101
SP=1
B
311 SA=0
/A./B SB=1
P
/P
Table des transisitons
états Q1 Q2
/P 0 0 0 P
/P
/A./B 1 0 1 A /P
P 2 1 0 B

P 3 1 1
Table d’évolution
Etat Entrées Etat futur Sorties
courant
Q1 Q2 P A B D1 D2 SP SA SB
0 0 1 0 0 0 1 1 0 0
0 1 X 1 0 1 0 1 0 0
0 1 X 0 1 1 1 1 0 0
0 1 X 0 0 0 1 1 0 0
1 0 0 X X 0 0 1 1 0
1 0 1 X X 1 0 1 1 0
1 1 0 X X 0 0 1 0 1
1 1 1 X X 1 1 1 0 1

D1=/Q1.Q2.A+/Q1.Q2.B+Q1./Q2.P+Q1.Q2.P SA=Q1./Q2
D2=/Q1./Q2.P./A./B+/Q1.Q2.B +/Q1.Q2./A +Q1.Q2.P SB=Q1.Q2
Schéma Testeur de reflexes
U13
U3
U4 Q1 U7
/Q1 U1 Q2 U2
Q2 Q1 P Q2
A D Q ? AND_3
D Q ?
AND_3
CLK CLK
OR_3 OR_4
Q
/Q1 Q
/Q2
U5 U8
DTFF DTFF
/Q1 /Q1
Q2 Q2
B B
AND_3 AND_3 U9
U11 Q1 SA
U6
Q1 /Q2
?
Q1 /Q2
AND_2
A
P
NOR_3
AND_2 U10
U14
A /Q1 Q1 SB
0 U12 /Q2
Q2
?
A P
AND_2
AND_4
B B
0 NOR_2

U1(CLK)
P
0
Compteur par 5 ou 6
• Réaliser un compteur binaire par 5 si E=0 et
par 6 si E=1.
Commande moteur pas à pas
• Réaliser une commande de moteur pas à pas
Diviseur de fréquence
• Réaliser un diviseur de fréquence par 1, la
sortie =1 toutes les 7 impulsions de H
Feux tricolores
Codeur Manchester

Vous aimerez peut-être aussi