laboratorautomate finite

7
1 AUTOMATE FINITE 1. Scopul lucr ă rii Studiul automatelor cu st ă ri finite ce conţ in bistabile care lucreaz ă sincron ş i intr ă ri care se modific ă sincron sau asincron cu semnalul de ceas. Descrierea funcţ ionă rii se face prin organigrame sau prin forme de und ă. 2. Aparate necesare - panouri logice - sursă de alimentare reglabil ă - voltmetru electronic (sau tip MAVO-35) - cordoane de legătură 3. Consideraţii teoretice Un automat cu stări finite se defineşte formal prin cvintuplul ( ) A XYQ = , , , , λδ unde entităţile componente au următoarea semnificaţie: { } X x x x n = 1 2 , ,..., - mulţimea configuraţiilor binare de intrare, { } Y y y y r = 1 2 , ,..., - mulţimea configuraţiilor binare de ieşire, { } Q q q q p = 1 2 , ,..., - mulţimea configuraţiilor binare de stare, λ : X Q Q × - funcţia de tranziţie a stărilor, δ : X Q Y × - funcţia de tranziţie a ieşirilor. Datorită faptului că mulţimile X , Y şi Q sunt finite, circuitul se numeşte automat cu stări finite. Spaţiul timpului nu apare explicit în descrierea de mai sus. El este discret şi este format din mulţimea numerelor întregi care semnifică multiplul de T , unde T este perioada după care se comandă o nouă modificare în circuit. Funcţiile λ şi δ se pot defini şi reprezenta prin tabele de tranziţii, grafuri, sau organigrame. Schema din figura 3.1 reprezintă un automat finit ale cărui ieşiri apar cu întârziere deoarece sunt trecute prin memorie. Ele pot fi obţinute şi imediat de la ieşirea CLC-ului. CLC MEMORIE X Q Y CLK Fig. 3.1 Structura generală a unui automat finit

Upload: stanescu-kosmin

Post on 28-Dec-2015

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LaboratorAutomate Finite

1

AUTOMATE FINITE

1. Scopul lucrăriiStudiul automatelor cu stări finite ce conţin bistabile care lucrează sincron

şi intrări care se modifică sincron sau asincron cu semnalul de ceas. Descriereafuncţionării se face prin organigrame sau prin forme de undă.

2. Aparate necesare- panouri logice- sursă de alimentare reglabilă- voltmetru electronic (sau tip MAVO-35)- cordoane de legătură

3. Consideraţii teoreticeUn automat cu stări finite se defineşte formal prin cvintuplul

( )A X Y Q= , , , ,λ δunde entităţile componente au următoarea semnificaţie:

{ }X x x xn= 1 2, ,..., - mulţimea configuraţiilor binare de intrare,

{ }Y y y yr= 1 2, , ... , - mulţimea configuraţiilor binare de ieşire, { }Q q q q p= 1 2, , ... , -mulţimea configuraţiilor binare de stare,λ : X Q Q× → - funcţia de tranziţie a stărilor,δ : X Q Y× → - funcţia de tranziţie a ieşirilor.

Datorită faptului că mulţimile X , Y şi Q sunt finite, circuitul se numeşte automatcu stări finite. Spaţiul timpului nu apare explicit în descrierea de mai sus. El este discret şieste format din mulţimea numerelor întregi care semnifică multiplul de T , unde T esteperioada după care se comandă o nouă modificare în circuit. Funcţiile λ şi δ se potdefini şi reprezenta prin tabele de tranziţii, grafuri, sau organigrame. Schema din figura3.1 reprezintă un automat finit ale cărui ieşiri apar cu întârziere deoarece sunt trecute prinmemorie. Ele pot fi obţinute şi imediat de la ieşirea CLC-ului.

CLC

MEMORIE

X

Q

Y

CLK

Fig. 3.1 Structura generală a unui automat finit

Page 2: LaboratorAutomate Finite

2

Sistemele logice secvenţiale la care tranziţiile au loc periodic, simultan cu unimpuls de ceas se numesc sincrone. Când tranziţiile au loc la intervale arbitrare de timp,odată cu modificarea semnalelor de intrare, sistemele secvenţiale sunt de tip asincron.Aici ne ocupăm numai de sisteme secvenţiale sincrone. Variabilele de intrare pot fiasincrone, dar în acest caz trebuie făcută o codificare atentă a stărilor, conformprincipiului dependenţei reduse faţă de o variabilă.

Vom studia două exemple de proiectare a unor automate cu stări finite cu numărmic de stări şi o singură variabilă de intrare. Memoria este realizată în ambele cazuri cucircuite bistabile de tip D, ceea ce diferă fiind modul de implementare a circuitelor logicecombinaţionale (CLC). În primul caz se folosesc multiplexoare (circuite integrate MSI),iar în cel de-al doilea caz memorii(circuite integrate LSI).

3.1. Să se proiecteze un automat finit cu o intrare (notată cu X) şi două ieşiri(notate cu Y1 şi Y2), descris de organigrama de mai jos, folosind bistabili de tip D şimultiplexoare cu 4 căi de intrare.

A

B

C

X

X

Y1=1Y2=0Y1 = 1Y2 = 0Y 1 = 1 Y1=1 / Y2=0Y1 = 1Y2 = 0

Y2 = 0Y1 = 0

Y1 = 0Y2 = 1

0 1

0 1

Q1Q200

11

01

Fig. 3.2 Organigrama care descrie funcţionarea automatului finit

Pornind de la organigramă se construieşte tabelul tranziţiilor:

X Q 1 Q2 Q 1+ Q 2

+

0 0 01 0 0d 0 10 1 11 1 1

Y1 Y2

0 11 10 00 11 1

1 01 00 00 10 1

Fig. 3.3 Tabelul tranziţiilor

Simbolul d poate fi 0 sau 1 logic(don' t care). S-a folosit această notaţie pentru aevita confuzia cu semnalul de intrare notat cu X. Implementarea memoriei se face cu doibistabili de tip D care comută sincron. Circuitul logic combinaţional are intrările X, Q1 şiQ2, şi trebuie să genereze la ieşire funcţiile binare Q1

+=D1 şi Q2+=D2. Nu este necesară

minimizarea funcţiilor binare D1 şi D2 pentru că toţi termenii canonici sunt disponibili laieşirile multiplexoarelor.

Page 3: LaboratorAutomate Finite

3

O1

O2

O3

O4

A9A8A7A6A5A4A3

A2

A1

A0

PROM

D Q

D Q

CLK

CLK

Q

Q

X

CLK

1

2Y1

Y2

Fig. 3.6 Schema logică a automatului implementat cu memorie PROM

4. Modul de lucru4.1. Primul panou logic pe care îl studiem este cel care implementează

automatul finit în varianta cu bistabile de tip D şi multiplexoare. El conţine 4 circuiteintegrate CMOS: MMC 4013, MMC 4052(2 buc.) şi MMC 4011. MMC 4013 conţinecele 2 bistabile D, MMC 4052 conţine câte 2 multiplexoare, iar 2 din cele 4 porţi ŞI-NU ale circuitului MMC 4011 sunt folosite pentru generarea manuală a semnalului deCLK, prin apăsarea butonului cu revenire de pe panou. Biţii de stare şi de ieşire suntvizualizaţi prin intermediul a 4 LED-uri. Starea 1 logic este semnalizată prinaprinderea LED-ului corespunzător, iar cea de 0 logic prin stingerea lui. Montajul se alimentează cu orice tensiune continuă cuprinsă între 5 şi15Vcc, după conectarea corectă a cordoanelor de alimentare la sursă şi a intrării X launa din cele 2 borne ale sursei (0 logic sau 1 logic). Se verifică funcţionarea corectă a montajului prin urmărirea tuturor tranziţiilorposibile din organigramă sau tabel.

4.2. Al doilea panou logic implementează automatul finit în varianta cubistabile de tip D şi memorie. Din motive de versatilitate s-a înlocuit memoria PROMcu o memorie RAM statică de aceeaşi capacitate, de tipul MMN 2114. Placa maiconţine circuitele MMC 4013, MMC 4011 şi MMC 4066, ultimul având în structură 4comutatoare CMOS necesare pentru înscrierea, respectiv citirea datelor din memorie.Vizualizarea stării şi a ieşirii se face tot cu ajutorul a 4 LED-uri.

Montajul se alimentează cu tensiunea de 5 Vcc, datorită prezenţei lui MMN2114. De fapt, tensiunea sursei este de circa 5,6 - 5,7 V datorită diodei serie deprotecţie la alimentare inversă. Din acest motiv se măsoară cu voltmetrul tensiuneade 5 Vcc între catodul diodei de protecţie şi masă.

După alimentarea corectă se introduc în memorie datele necesare. În acestscop, pentru a asigura adresa 0 de start a memoriei la cuplarea alimentării (A2= A1 = A0 = 0), comutatorul S2 are pârghia înspre comutatoarele S1 şi S3(în jos), iarcomutatorul S3 în dreapta (vezi fig. 4.1). Intrarea X este conectată la masă.

Cele 4 comutatoare notate cu S1 sunt destinate introducerii celor 4 biţi pecuvânt în memorie. Dacă pârghia este în jos, bitul corespunzător este pe 0 logic, iardacă este în sus, pe 1 logic. După fixarea cuvântului dorit prin poziţionarea celor 4

Page 4: LaboratorAutomate Finite

4

LEDURI

S2S1

( IN DATE)(WE)

S3

(CLK)

Fig. 4.1 Amplasarea comutatoarelor şi a LED-urilor pe panou

comutatoare, acesta este introdus în memorie prin ridicarea şi coborârea înapoi apârghiei comutatorului S2 (activarea şi dezactivarea semnalului WE - WRITEENABLE ). Pe urmă se modifică adresa pentru introducerea unui nou cuvânt prinacţionarea în cele două sensuri a comutatorului S3 (pentru a genera cele 2 fronturi alesemnalului de ceas CLK - CLOCK ). Pentru introducerea datelor în memorie urmărimharta memoriei din figura 3.5. Ieşirile O1…O4 devin acum I/O1…I/O4, iar datele seintroduc de la comutatoarele S1, de la stânga la dreapta, în ordinea dată în tabel.Pentru înscrierea celor 6 cuvinte utile în memorie se parcurg următorii paşi:

a) se fixează comutatoarele S1 pe poziţiile 1001se acţionează în sus şi în jos comutatorul S2 (WE)

se acţionează stânga - dreapta comutatorul S3 (CLK)

b) se fixează comutatoarele S1 pe poziţiile 0000se acţionează în sus şi în jos comutatorul S2 (WE)

se acţionează stânga - dreapta comutatorul S3 (CLK)se mută X pe 1 logic (borna de +5Vcc)

c) se fixează comutatoarele S1 pe poziţiile 1011se acţionează în sus şi în jos comutatorul S2 (WE)

se acţionează stânga - dreapta comutatorul S3 (CLK)

d) se fixează comutatoarele S1 pe poziţiile 0111se acţionează în sus şi în jos comutatorul S2 (WE)

se acţionează stânga - dreapta comutatorul S3 (CLK)se mută X pe 0 logic (borna de masă)

e) se fixează comutatoarele S1 pe poziţiile 0101se acţionează în sus şi în jos comutatorul S2 (WE)

se acţionează stânga - dreapta comutatorul S3 (CLK)se mută X pe 1 logic (borna de +5Vcc)

f ) se fixează comutatoarele S1 pe poziţiile 0000se acţionează în sus şi în jos comutatorul S2 (WE)

se acţionează stânga - dreapta comutatorul S3 (CLK)se mută X pe 0 logic (borna de masă)

Din acest moment datele sunt stocate în memorie şi se poate verificafuncţionarea corectă a automatului urmărind tranziţiile din organigramă. Întrerupereaalimentării duce la pierderea informaţiei din memorie şi se impune repetareaoperaţiilor de scriere a celor 6 cuvinte în RAM.

Page 5: LaboratorAutomate Finite

5

4.3. Comparaţi cele două implementări prezentate. Ce avantaje şi dezavantajeprezintă fiecare din cele două soluţii? Propuneţi şi alte modalităţi de realizare aautomatului.

4.4. Ce înseamnă codificare care urmăreşte principiul dependenţei reduse faţăde o variabilă? În cazul nostru variabila X poate fi asincronă(se poate modifica înorice moment de timp, nu numai pe frontul activ al semnalului CLK)? Alegeţi o altăcodificare a stărilor şi arătaţi sub formă tabelară harta memoriei precum şi operaţiunilenecesare pentru înscrierea datelor în memorie.

5. Probleme rezolvate5.1. Se consideră automatul finit descris de organigrama din figură. Să se

implementeze circuitul folosind bistabili de tip D şi:a) număr minim de porţib) multiplexoare cu 4 căi de intrarec) memorie ROM de 32 cuvinte a câte 4 biţid) un circuit combinaţional format din memorie ROM de 4 cuvinte a câte 4 biţi

şi multiplexoare. Reprezentaţi harta memoriei.

A

B

Q1Q200

11

C

X0 1

1

X0 1

2

01

X 013D

X 014

10

Fig. 5.1 Organigrama care descrie funcţionarea automatului finit din problema 5.1

Rezolvare:Construim tabelul tranziţiilor:

Q 1 Q 2 Q 1+ Q 2

+

0 00 0

1 1

1 0

X4X3X2X1 0 0 0 00 x x x 0 0 0 11 x x xx 0 1x x0x 0 1x x1x 1 1x x 0x 1 1x x 10 1 0x x x1 1 0x x x

0 0

1 1

Fig. 5.2 Tabelul tranziţiilor pentru organigrama din figura 5.1

a) Pentru implementarea cu porţi este necesară minimizarea funcţiilor binareQ D1

+1= şi Q D2

+2= . Folosim diagramele Veitch-Karnaugh condensate.

Page 6: LaboratorAutomate Finite

6

Q1Q1

Q2

Q2

Q1Q1

Q2

Q20 x1

D1 D2

x2 x2x3 0x4x4

a

Q1Q2

21

20

0 1 2 3

WMUX

D1

Q1Q2

21

20

0 1 2 3

WMUX

D2

0 x2 x4 x3 x1 x2 x4 0

b Fig.5.3 Soluţiile problemei pentru punctele a şi b

c

Q2

D1

x1

d

x1 x2

Q1Q2

21

20

0 1 2 3

WMUX

x4 x3

D1

D2

A1

A0

O0

O1

O2

O3OE

ROM

0

1MUX

0

1MUX

Q1

Q2

A4A3A2

A1A0

O0

O1

O2

O3OE

ROM

A4A3A2

A1A0

O0

O1

O2

O3OE

ROM

x2x3x4Q1

D2

A1 A0 O0 O1 O2 O30 00 11 01 1

0 0 0 11 0 1 00 1 0 10 1 0 0

Fig. 5.4 Soluţiile problemei pentru punctele c şi d

Evident că, fiind o problemă de sinteză, există şi alte soluţii. De exemplu, lapunctul c se putea utiliza un singur cip de memorie ROM de tipul 32 4× şi douămultiplexoare cu câte 2 intrări. Ar fi fost mai avantajoasă această implementare? Dece?

5.2. Să se proiecteze un sistem numeric care să asigure funcţionarea automată abarierelor la trecerea peste calea ferată. Sistemul are 2 intrări, x1 şi x2 , date de stărileunor contacte amplasate de o parte şi de alta a şoselei. Ieşirea y comandă închidereabarierelor.

Rezolvare:Presupunem că atunci când contactele sunt închise avem 1 logic pe intrări, iar

comanda de închidere a barierelor se dă pentru 1 logic la ieşire.

Fig. 5.5 Sistemul are 9 stări distincte, numerotate de la 0 la 8

Page 7: LaboratorAutomate Finite

7

Qx1x2

0 0,000 01 11 10

4,1 - 1,11 2,1 1,17,1-2 2,1 3,1 - -3 0,0 3,1 - -4 5,1 4,1 8,1 -5 5,1 - - 6,16 0,0 - - 6,17 - 3,1 7,1 -8 - - 8,1 6,1

Q+, y

Qx1x2

0 0,000 01 11 10

4,1 - 1,1

0,0 3,14 5,1 4,1 8,1

-5

6,16,18

Q+, y

Codificarea binară a stărilor: 0 00 1 = 2 = 7 01 3 = 6 11 4 = 5 = 8 10, , ,

1 2,1 1,17,12 3,17= =3 6== =

Fig. 5.6 Tabelul tranziţiilor. Reducerea şi codificarea stărilorDupă minimizare se obţin: D x x x Q Q Q1 1 2 1 1 1 2= + + , D x x x Q Q Q2 1 2 2 2 1 2= + + şi

y Q Q= +1 2 . Sistemul este secvenţial sincron, cu comportament asincron.

5.3. Un sistem secvenţial are 2 intrări şi o ieşire care detectează orice secvenţăde 4 stări succesive pentru care cele două intrări sunt identice. La detectarea acesteisecvenţe ieşirea capătă valoarea logică 1 atât timp cât intrările sunt identice. Să seproiecteze sistemul.

Rezolvare:

Fig. 5.7 Sistemul are 5 stări distincte, numerotate de la 1 la 5

Qx1x2 00 01 11 10

1 2,02

2,0

Q+, y

1,03,0

1,01,0 3,0 1,0

3 4,0 4,01,0 1,04 5,1 1,0 1,05,15 5,1 1,0 1,05,1

Sistemul are 4 stări distincte.

Alegem următoarele coduri binare1 002 013 11

4 = 5 10

Fig. 5.8 Tabelul tranziţiilor. Reducerea şi codificarea stărilor

După minimizarea funcţiilor binare Q D1 1+ = şi Q D2 2

+ = obţinem următoareleexpresii: ( )D x x Q Q1 1 2 1 2= ⊕ ⋅ + , D x x Q2 1 2 1= ⊕ ⋅ şi y x x Q Q= ⊕ ⋅ ⋅1 2 1 2 .

Problema se putea rezolva mai simplu, dacă observam de la început că x x1 2=

înseamnă x x1 2 1⊕ = şi obţineam un sistem cu o singură intrare x x x= ⊕1 2 . Sistemuleste secvenţial sincron, cu comportament asincron.