Sunteți pe pagina 1din 8

Microcontrolere Microcalculatoare

Automate finite
Proiectarea unui automat de vanzare (cu 4 stari)

1.1. Procedur de proiectare a automatelor finite


Pasul 1: nelegerea problemei
Un automat finit este descris n temeni specificai de tipul de comportament al
sau. Este important ca aceast descriere s fie interpretat ntr-o manier cu ct mai
puin ambiguitate. Dac n cazul unui numrtor este suficient s se realizeze o simpl
enumerare a strilor, n cazul automatelor finite, trebuie ncercate diferite secvene de
intrare pentru a ne asigura de nelegerea corect a manierei n care sunt generate
diferitele rezultate la ieire.

Pasul 2: Obinerea unei reprezentri abstracte pentru automatul finit


Odat neleas problema, aceasta trebuie expus ntr-o manier care s necesite
proceduri de implementare ct mai simple pentru un automat finit. O diagram de stare
cu descrierea verbal a strilor este o posibilitate foarte util n acest sens. n exemplele
care urmeaz a fi prezentate, vom utiliza i alte modaliti de reprezentare expuse n
partea teoretic.

Pasul 3: Minimizarea strilor


La Pasul 2 se obine reprezentarea abstract, deseori cu o structur care are prea
multe stri. Deoarece gradul de complexitate a schemei automatului este direct legat de
numrul de stri ale acestuia, se impune a se proceda la o minimizare a strilor bazate pe
observaia c anumite pri pot fi eliminate deoarece comportamentul de intrare/ieire al
acestora este dublat de alte pri ale automatului, echivalente din punct de vedere
funcional.

Pasul 4: Codificarea strilor


n aceast etap se trece de la descrierea verbal a strilor, a intrrilor i ieirilor,
la o codificare binar a acestora necesar implementrii automatului cu circuite integrate
digitale. O alegere bun n codarea strilor deseori conduce la o implementare mai
simpl.

Pasul 5: Alegerea tipurilor de CBB (flip-flop) pentru implementarea strilor


automatului finit
Automatele finite pot fi realizate, folosind ca elemente de memorare, fie circuite
basculante bistabile de tip D active pe front, fie circuite basculante bistabile de tip J-K.
Folosirea bistabilelor de tip J-K reduce numrul porilor logice i mrete numrul
conexiunilor, pe cnd o realizare cu bistabilele de tip D simplific implementarea.
Pasul 6: Implementarea automatului finit
Pentru realizarea practic a automatului avem nevoie de o form optim a
ecuaiilor care descriu automatul. Acestea se vor obine dup o procedur de minimizare
a diagramelor Karnough care descriu automatul (obinute din tabelele de tranziie i cele
de ieire). Aceste ecuaii vor putea fi realizate folosind diferite tipuri de pori logice (de
exemplu o structur SI, SAU pe dou niveluri) i vor reprezenta de fapt circuitul logic
combinaional care prelucreaz informaia ce urmeaz apoi a fi nscris n celulele de
memorie (circuitele basculante bistabile).

1.2. Automatul de vnzare


Automatele de vnzare fac parte din peisajul nostru cotidian (automate de cafea,
de diverse produse preambalate etc.) i reprezint o aplicaie util i spectaculoas a
automatelor finite. Pentru a nelege modul de lucru al unui asemenea automat, vom
considera exemplul unui automat care vinde gum de mestecat.

Modul de funcionare
Automatul de vnzare distribuie un pacheel de gum de mestecat dup ce
primete contravaloarea a 15 ceni n monede. Automatul dispune de o singur fant prin
care se pot introduce monede (de 5 sau 10 ceni), cte una o dat, iar un senzor mecanic
indic controlerului tipul monedei introduse. Pentru simplitatea soluiei, vom proiecta
automatul astfel nct acesta s nu elibereze rest, deci un client care pltete cu dou
monede de 10 ceni va pierde 5 ceni.

nelegerea problemei
Primul pas n proiectarea automatului finit este nelegerea problemei. Vom
ncepe prin desenarea unei scheme bloc (Fig. Error! No text of specified style in
document..1) pentru a nelege i indica care sunt intrrile i ieirile n i din schem.

Fig. Error! No text of specified style in


document..1. Schema bloc a automatului de vnzare

Vom asocia variabila de intrare N (Nickel) cu introducerea unei monede de 5


ceni n fanta aparatului, iar variabila D (Dime) cu introducerea unei monede de 10 ceni.
Automatul va comanda eliberarea produsului dup o perioad de verificare cnd au fost
identificai 15 ceni (sau mai muli) de la ultima resetare.
Este posibil ca specificaiile s nu defineasc n ntregime comportamentul unui
automat finit. Spre exemplu, ce se ntmpl dac cineva introduce o moned de 1 cent n
automat? Sau ce se ntmpl dup ce guma a fost distribuit ctre client? Pentru a nu lsa
astfel de ntrebri fr rspuns, se impune s facem presupuneri rezonabile. De exemplu,
pentru prima ntrebare, vom presupunem c senzorul de monezi va fi astfel conceput
nct s returneze orice moned care nu este recunoscut, lsnd variabilele N i D
neatribuite. Pentru cea de-a doua ntrebare, presupunem c circuitul logic extern reseteaz
automatul dup ce guma a fost distribuit.

Reprezentare abstract
Odat neles comportamentul automatului, se poate trece la etapa urmtoare, o
mapare a specificaiilor ntr-o reprezentare abstract mai uor realizabil. O bun
modalitate pentru a ncepe este identificarea posibilelor secvene de intrare sau a
configuraiilor sistemului care pot servi definirii strilor automatului finit.
Pentru automatul nostru nu este foarte dificil s se identifice toate secvenele
posibile de la intrare care conduc la eliberarea pachetului de gum de mestecat:
trei monede de 5 ceni n secvena: N, N, N;
dou monede de 5 ceni urmate de o moned de 10 ceni: N, N, D;
o moned de 5 ceni urmat de o moned de 10 ceni: N, D;
o moned de 10 ceni urmat de o moned de 5 ceni: D, N;
dou monede de 10 ceni n secvena: D, D.
Diagrama de stare, cu o descriere verbal, care corespunde descrierii de mai sus
este prezentat n Fig. Error! No text of specified style in document..2.

Fig. Error! No text of specified style in document..2.


Diagrama de stare a automatului de vnzare
Spre exemplu, automatul va trece din starea iniial S0 (de repaus) prin strile S1,
S2, S3 (corespunztor introducerii succesive a trei monede de 5 ceni) n starea final S7
corespunztoare eliberrii produsului.

Minimizarea strilor
Diagrama de stare din Fig. Error! No text of specified style in document..2 are
9 stri i se pune problema dac nu cumva am putea obine, prin identificarea unor stri
echivalente, o diagram de stare cu un numr mai mic de stri. De exemplu, strile S4, S5,
S6, S7 i S8 prezint acelai comportament i vor putea fi reduse la o singur stare.
Pentru a reduce numrul de stri chiar mai mult, ne putem gndi la o stare mai
uor de reprezentat pentru a cuantifica suma introdus n aparat pn la un anumit
moment. De exemplu, nu ar trebui s conteze felul n care este reprezentat momentul
recepionrii a 10 ceni (dac s-a realizat prin introducerea unei singure monede de 10
ceni sau a dou de 5 ceni).
O diagram de stare generat n acest fel este reprezentat n Fig. Error! No text of
specified style in document..3.

Fig. Error! No text of specified style in document..3. Diagrama de


stare minimizat a automatului de vnzare

n urma acestui proces de minimizare a strilor a rezultat o diagram optim de


stare cu doar patru stri n comparaie cu cele nou stri ale diagramei precedente.

Codificarea strilor
n acest punct avem un automat finit cu un numr minim de stri, dar
reprezentarea acestora este nc simbolic. Din diagrama de stare prezentat n Fig.
Error! No text of specified style in document..3 putem deduce i o reprezentare
tabelar echivalent (Fig. Error! No text of specified style in document..4).
Starea Intrri Starea Ieire
curent D N urmtoare [Deschis]
0 0 0 0 0
0 1 5 0
1 0 10 0
1 1 X X
5 0 0 0 0
0 1 5 0
1 0 10 0
1 1 X X
10 0 0 0 0
0 1 5 0
1 0 10 0
1 1 X X
15 0 0 15 1
0 1 15 1
1 0 15 1
1 1 X X

Fig. Error! No text of specified style in document..4. Tabelul tranziiilor cu stri


simbolice pentru automatul de vnzare minimizat

Urmtorul pas este codificarea strilor. Cele patru stri vor pute fi codate cu
secvene naturale de doi bii ca mai jos:
0 00
5 01
10 10
15 11
Folosind aceast codificare rezult tabelul codificat al tranziiilor prezentat n Fig.
Error! No text of specified style in document..5.
Starea curent Intrri Starea urmtoare Ieire
Q1 Q0 D N D1 D0 [Deschis]
0 0 0 0 0 0 0
0 1 0 1 0
1 0 1 0 0
1 1 X X X
0 1 0 0 0 1 0
0 1 1 0 0
1 0 1 1 0
1 1 X X X
1 0 0 0 1 0 0
0 1 1 1 0
1 0 1 1 0
1 1 X X X
1 1 0 0 1 1 1
0 1 1 1 1
1 0 1 1 1
1 1 X X X

Fig. Error! No text of specified style in document..5. Tabelul tranziiilor pentru


automatul cu stri codate minimizat

Implementarea
Urmtorul pas este implementarea automatului. Ne propunem s folosim ca
elemente de memorie circuite basculante bistabile de tip D acionate pe frontul anterior al
impulsului de tact. Automatul avnd patru stri, vor fi necesare dou circuite basculante
bistabile pe care le vom nota cu D0 respectiv D1. Pentru deducerea schemei circuitului
logic combinaional de comand a intrrilor acestor elemente de memorie, vom redesena
tabelul de tranziie codificat din Fig. Error! No text of specified style in document..5
sub forma unei diagrame Karnough prezentat n Fig. Error! No text of specified style
in document..6.
D1D0
DN
Q1Q2 00 01 11 10

00 00 01 XX 10

01 01 10 XX 11

11 11 11 XX 11

10 10 11 XX 11


Starea prezent Starea urmtoare

Fig. Error! No text of specified style in document..6. Prezentarea sub forma unei
diagrame Karnough a tabelului de tranziie

Pentru a pune n eviden mai bine cele dou funcii, separm diagrama din Fig.
Error! No text of specified style in document..6 n dou, aa cum se vede n Fig.
Error! No text of specified style in document..7.

D1 D0
DN DN
Q1Q2 00 01 11 10 Q1Q2 00 01 11 10

00 0 0 X 1 00 0 1 X 0

01 0 1 X 1 01 1 0 X 1

11 1 1 X 1 11 1 1 X 1

10 1 1 X 1 10 0 1 X 1

Fig. Error! No text of specified style in document..7. Prezentarea sub forma


diagramelor Karnough a celor dou funcii

n urma unui proces de minimizare (v propunem ca exerciiu acest lucru) se pot


deduce cele dou funcii de tranziie:
D1 D Q1 Q0 N

D0 Q0 N Q1 N Q0 N Q1 D

D N Q1 Q0 2
1
3

1 2 1 2
Out

4
2

PRE
2 3 1 2 5
1 4 D Q
3 3 6

CLR
CLK Q

1
2
1
3

4
2 2
1 3

PRE
3 1 2 5
4 D Q
5 3 6

CLR
CLK Q
2
1
3

1
Clock
2
1
3

Fig. Error! No text of specified style in document..8. Schema automatului cu bistabile


de tip D

Pentru identificarea funciei de control al ieirii automatului vom folosi direct


tabelul strilor codificate din Fig. Error! No text of specified style in document..5 (ca
exerciiu, putei desena i minimiza diagrama Karnaugh pentru funcia ieire):
iesire Q1 Q0
Schema automatului cu bistabile de tip D este prezentat n Fig. Error! No text
of specified style in document..8.

Tem
Pe baza cunotinelor teoretice expuse n partea introductiv a
ndrumarului, v propunem s deducei i s desenai schema circuitului
cu circuite basculante bistabile de tip J-K.

S-ar putea să vă placă și