curs 04

20
CURS 4 Capitolul IV AUTOMATE ASINCRONE 4.1. Analiza automatelor asincrone Analiza = procedura de determinare a funcţiilor pe care un anume automat le poate îndeplini şi eventual depistarea unor anomalii ce pot interveni în funcţionarea lui. x 1 z 1 variabile variabile de intrare de ieşire x n CLC z m y 1 Elem. de memorie Y 1 funcţii variabile secundare secundare CLS (de stare) y s Y s Evoluţia automatului este descrisă printr-un sistem de ecuaţii, ţinând cont de variabilele de intrare, stare, respectiv ieşire, pentru determinarea stării următoare şi a ieşirii. Y i (t) = f i (x 1 (t),… , x n (t), y 1 (t), …, y s (t)) i = 1,s 1

Upload: dianna

Post on 10-Nov-2015

215 views

Category:

Documents


0 download

DESCRIPTION

VHDL

TRANSCRIPT

CURS 4

CURS 4

Capitolul IV

AUTOMATE ASINCRONE

4.1. Analiza automatelor asincrone

Analiza = procedura de determinare a funciilor pe care un anume automat le poate ndeplini i eventual depistarea unor anomalii ce pot interveni n funcionarea lui.

x1

z1variabile

variabile

de intrare

de ieire

xn

CLC

zm

y1

Elem. de memorie

Y1 funcii

variabile

secundare

secundare

CLS

(de stare)

ys

Ys

Evoluia automatului este descris printr-un sistem de ecuaii, innd cont de variabilele de intrare, stare, respectiv ieire, pentru determinarea strii urmtoare i a ieirii.

Yi(t) = fi(x1(t), , xn(t), y1(t), , ys(t))i = 1,s

Zj(t) = gj(x1(t), , xn(t), y1(t), , ys(t))j=1,m

La automatele asincrone se obine:

yi(t+1) = Yi(t)i = 1,s

n evoluia automatelor asincrone un rol important l va avea identificarea strilor stabile i instabile. Problemele deosebite apar datorit strilor instabile.

O stare va fi stabil dac:

Yi(t) = yi(t+1) = yi(t)

La analiza automatelor asincrone, tranziiile dintr-o stare n alta se efectueaz ca rspuns la modificarea variabilelor de intrare. Se presupune c nu se modific alt variabil de intrare pn cnd automatul nu ajunge ntr-o stare stabil. Astfel automatul este determinist.

Automatele asincrone pot funciona n:

mod fundamental variabilele de intrare considerate ca nivel funcioneaz ca mai sus;

mod impuls la un moment dat apare un singur impuls ca intrare.

Etapele analizei

1. Se identific variabilele de intrare, stare i ieire. Se determin funciile secundare Yi i de ieire Zj.

2. Se construiete tabelul funciilor secundare i de ieire.

3. Se construiete tabelul de evoluie al automatului, determinnd strile stabile i instabile.

4. Se verific evoluia automatului pentru stri iniiale i intrri specificate.

Exemplu:

x

z1

z2

z3

z4

Y1

Y2

Etapa 1:

Identificm variabilele:

1 variabil de intrare: x,

2 variabile de stare: y1, y2 4 variabile de ieire: z1, z2, z3, z4.

Funciile secundare i de ieire sunt:

Y1 = xy1 + xy2

Y2 = xy1 + xy2

z1 = y2y1

z2 = y2y1

z3 = y2y1

z4 = y2y1Etapa 2:

Se construiesc tabelul funciilor secundare i tabelul ieirilor:

y1y2 x01y1y2 x01

0000010010001000

0111010101000100

1111101100010001

1000101000100010

Y1Y2

z1z2z3z4Automatul este de tip Moore pentru c ieirile nu depind de intrri.

Etapa 3:

Pentru determinarea strilor stabile i instabile se construiete tabelul de evoluie.

Pentru determinarea strilor stabile se compar valorile variabilelor de stare y1y2 cu cele ale funciilor secundare Y1Y2 i la coincidena lor va fi o stare stabil.

y1y2 x01

000001

011101

111110

100010

Y1Y2y1y2 x01

112

232

334

414

Pentru evidenierea strilor stabile le ncercuim. Din cele 8 stri ale automatului, doar 4 sunt stabile, celelalte 4 fiind instabile.

Etapa 4:

Verificm evoluia automatului pentru stri iniiale i intrri specificate.

y1y2 x01

112

232

334

414

Dac suntem n starea 1 (adic 00), pentru intrarea x = 0, automatul rmne n starea 1, deci starea 1 este stabil. Dac suntem n starea 1, pentru x = 1 automatul trece n starea instabil 2. Durata strii instabile 2 este egal cu cea a duratei procesului de comutaie din circuit. Din starea instabil 2 automatul va trece n starea stabil 2. O tranziie de la o stare instabil la starea stabil corespunztoare este specificat prin notarea celor dou stri cu aceeai cifr.

Pentru a trece de la o stare stabil la alt stare stabil se trece printr-o stare instabil.

Putem reprezenta tranziiile unui automat asincron prin diagrame de timp:

x

Y1

Y2 (t

y1 (t

y2

1 2 2 3 3

4.2. Sinteza automatelor asincrone

Sinteza unui automat asincron (circuit secvenial asincron) cu o anumit comportare (descris n cazul cel mai general prin cuvinte) const n construirea unei scheme logice (reele de comutare) secveniale care s realizeze comportarea cerut.

Etape:

1. Se determin tabelul primar al strilor.

2. Se elimin strile redundante din tabelul primar.

3. Se construiete un tabel al strilor cu un numr minim de stri interne.

4. Se codific strile interne obinndu-se tabelul tranziiilor.

5. Se scriu expresiile minime pentru starea urmtoare i pentru ieiri.

6. Se proiecteaz (deseneaz) schema circuitului pe baza expresiilor obinute.

7. Se verific dac schema obinut funcioneaz corect (dac are hazard, acesta se elimin).

Exemplu:

S se proiecteze un automat asincron cu 2 intrri x1 i x2 i o ieire z, care respect urmtoarele condiii de funcionare:

- ieirea automatului va fi 1 cnd pe ambele intrri x1 i x2 se aplic 1, dar numai cnd x2 se aplic naintea lui x1;

- n acest caz ieirea z se menine 1 att timp ct se menine x2;

- se consider c x1 i x2 nu se pot modifica simultan.

x101000111001011011000100

x200010010011110001101110

z00000000001110000000110

S12131242135652124313561

Etapa 1. Tabelul primar al strilor = matrice ce va conine pe o linie o singur stare stabil i toate tranziiile posibile implicate de aceast stare. Numrul de coloane va fi dat de numrul maxim de combinaii ale variabilelor de intrare. Tabelului primar al strilor i corespunde un tabel al ieirilor pentru fiecare stare stabil determinat a automatului. Schimbnd starea intrrilor, automatul aflat ntr-o stare stabil trece ntr-o stare instabil pe coloana corespunztoare intrrilor, care trebuie s fie stabil pe alt rnd. Deoarece starea prezent pentru un anumit rnd este aceeai cu starea stabil (ncercuit), nu se mai scrie n tabelul primar al strilor starea prezent.

S x1x200011110

113-2

21-42

3135-

4-342

5-652

6165-

S x1x200011110

100x0

20x00

300xx

4x000

5x11x

6x11x

z

Tabelul primar al strilor trebuie completat n totalitate. Pentru locaiile care nu pot fi atinse avem 2 situaii:

stri interzise corespund unor condiii de funcionare interzise, dar care pot s apar. Pentru astfel de situaii interzicerea tranziiilor se reduce la menionarea ieirilor sau la modificarea lor impus;

stri indiferente corespund situaiilor de funcionare care nu pot fi atinse. Coninutul lor este indiferent.

n cazul nostru locaiile necompletate corespund condiiei ca variabilele de intrare s nu comute simultan.

Tabelul ieirilor se completeaz n prima etap cu ieirile corespunztoare strilor stabile. Pentru continuarea completrii tabelului se analizeaz tranziiile dintre strile stabile.

1. i ( j ( j nu modific ieirea ( ieirea automatului trebuie meninut i n starea instabil;

2. i ( j ( j dac se modific ieirea pe durata strii instabile, ieirea poate fi considerat indiferent.

n cazul nostru locaiile indiferente se pot considera cele care corespund trecerii ntre dou stri stabile care presupun modificarea simultan a variabilelor de intrare.

Observaie: Sunt automate care trebuie s evolueze mai rapid sau mai lent; dac se cere o evoluie mai rapid, atunci n starea instabil se pune deja ieirea corespunztoare strii stabile urmtoare (nu se las indiferent); dac evoluia este mai lent atunci se pstreaz n starea instabil ieirea strii stabile anterioare.

Etapa 2. Pentru reducerea costului automatului se face o reducere a liniilor tabelului primar al strilor. Reducerea se obine prin fuzionarea liniilor n condiiile impuse de compatibilitile i acoperirile din teoria automatelor finite.

Fuzionarea a dou linii se face dup urmtoarele reguli:

dou linii pot fuziona dac locaiile corespunztoare fiecrei coloane corespund aceluiai numr de stare stabil sau instabil;

prin fuzionarea unei stri stabile cu una instabil rezult o stare stabil;

prin fuzionarea unei stri stabile sau instabile cu o stare interzis rezult o stare stabil, respectiv instabil.

Observaie: nu se pune problema ieirii, ea fiind cuprins n numrul strii.

Exist urmtoarele combinaii posibile:

ijijki-i-k--

ijijk-j-j-k-

Forma minim obinut dup fuzionare nu este unic.

Etapa 3. Pentru a se obine cea mai bun soluie de minimizare se construiete un poligon al alipirilor. Acest poligon are n noduri strile automatului i se marcheaz prin arce toate alipirile posibile ntre liniile tabelului primar al strilor.

S x1x200011110

113-2

21-42

3135-

4-342

5-652

6165-

1

6

2

5 3

4

Pentru obinerea formei minime se urmrete determinarea de poligoane nchise att interior ct i exterior, cu un numr ct mai mare de laturi. O stare poate s apar o singur dat. Soluii pot fi:

A{1, 3}

{1, 2, 4}

B{2, 4}

sau

{3}

C{5, 6}

{5, 6}

Dac se alege prima soluie se obin urmtoarele tabele ale strilor i ieirilor:

x1x200011110

A{1, 3}1352

B{2, 4}1342

C{5, 6}

1652

x1x200011110

00x0

0000

x11x

z

Etapa 4. Codificarea strilor interne

n tabelul primitiv al strilor codificarea unei stri se realizeaz numai prin variabilele secundare.

n tabelul redus al strilor, pe aceeai linie pot s apar mai multe stri stabile, deci putem avea o evoluie a automatului dintr-o stare stabil n alt stare stabil fr modificarea variabilelor de stare, doar prin modificarea variabilelor de intrare.

Pentru un numr p de stri reduse sunt necesare q variabile de stare:

2q ( p

Restricie: codificarea strilor trebuie fcut pentru a se evita hazardul de tranziie, care poate s apar n cazul modificrii simultane a cel puin 2 variabile secundare.

Definiii:

1. Un eveniment n care se modific mai mult de o variabil secundar se numete curs.

2. Dac starea final a automatului nu depinde de ordinea de modificare a variabilelor secundare cursa este necritic.

3. Dac starea final a automatului depinde de ordinea de modificare a variabilelor secundare cursa este critic i trebuie evitat.

4. Trecerea automatului printr-o succesiune unic de stri instabile se numete ciclu.

5. Codificarea (asignarea) strilor care nu conine curse critice este o codificare (asignare) valid.

Exemplu:

y1y2 x1x200011110

00159

012610

113711

104812

Dac automatul se afl n starea instabil 1, pentru x1x2 = 00 el va evolua pn ajunge n starea stabil 3. n funcie de ordinea de modificare a variabilelor de stare y1y2 avem urmtoarele posibiliti: 1 ( 2 ( 3 dac y2 se modific mai repede ca y1; 1 ( 4 ( 3 dac y1 se modific naintea lui y2; 1 ( 3 dac y1y2 s-ar modifica simultan, ceea ce n realitate este practic imposibil datorit ntrzierilor diferite; cursa este totui necritic, deoarece starea final nu depinde de ordinea n care s-au modificat variabilele secundare y1y2.

Dac x1x2 = 11 i automatul se afl n starea instabil 5, dac y1 se modific naintea lui y2, atunci 5 ( 8 i dac y2 se modific naintea lui y1, atunci 5 ( 6 deci cursa este critic, deoarece se ajunge n stri finale diferite, n funcie de ordinea de modificare a variabilelor secundare (de stare).

Dac x1x2 = 10 i automatul se afl n starea instabil 9, dac y2 se modific naintea lui y1, atunci 9 ( 10 ( 11 i dac y1 se modific naintea lui y2, atunci 9 ( 12 deci cursa este critic.

Pentru evitarea curselor critice trebuie evitate tranziiile de stare la care se modific simultan mai multe variabile de stare.

Observaii:

- dac ntr-o coloan a tabelului redus al strilor exist o singur stare stabil cursa este necritic;

- cnd ntr-o coloan a tabelului redus al strilor exist mai mult de o stare stabil, tranziiile dintre dou stri codificate neadiacent, care conduc la stri stabile, genereaz curse critice.

Pentru o codificare corect ncepem prin a construi un graf al tranziiilor. Acesta va avea n noduri strile alipite (reduse), iar ca laturi arce orientate conform tranziiilor posibile.

x1x200011110

A001352

B011342

C101652

A 00

01B

C 10

Avnd tranziii duble ntre A i B i A i C, dar i tranziie simpl ntre C i B nu putem face nici o codificare cu 2 variabile secundare care s rezolve problema adiacenei.

Cu codificarea fcut poate s apar curs critic la tranziia din C n B, unde se modific ambele variabile de stare. Pe ultima coloan, corespunztoare tranziiei din C n B avem doar o stare stabil, deci cursa nu este critic i putem pstra codificarea fcut.

Tabelul redus al strilor i cel al ieirilor, cu codificarea fcut vor arta astfel:

y1y2 x1x200011110

001352

011342

11----

101652

y1y2 x1x200011110

0000x0

010000

11xxxx

10x11x

Etapa 5. Se determin expresiile minime pentru starea urmtoare i pentru ieire.

y1y2 x1x200011110

0000001001

0100000101

11xxxxxxxx

1000101001

y1y2 x1x200011110

000010

010000

11xxxx

100110

Y1

y1y2 x1x200011110

000001

010011

11xxxx

100001

Y2

Y1 = y1x2 + y2x1x2

Y2 = y2x1 + x1x2

z = y1Etapa 6. Schema logic care rezult conform ecuaiilor de mai sus este:

x1

z

Y1

x2

Y2

Observaie: Dac n etapa a treia se utilizeaz a doua codificare a strilor avem:

x1x200011110

A{1, 2, 4}1342

B{3}135-

C{5, 6}

1652

x1x200011110

0000

00xx

x11x

z

Graful (poligonul) tranziiilor:

A 00

01B

C 10

Pornind din starea 01 (B), dac y2 se modific prima, tranziia este B ( A, iar dac y1 se modific prima, tranziia este B ( C, deci avem o curs critic (starea final a automatului este funcie de modificarea variabilelor de stare; automatul are ieiri diferite).

4.3. Metode pentru evitarea curselor critice

Evitarea curselor critice se poate face prin mai multe metode:

1. Recodificarea strilor

2. Utilizarea combinaiilor de codificare nefolosite

a. asignarea unei stri cu dou combinaii de variabile secundare

b. introducerea unei stri instabile pe coloana corespunztoare cursei critice

3. Introducerea unei variabile secundare suplimentare

4.3.1. Recodificarea strilor

Avem automatul cu tabelul redus al strilor:

y1y2 x1x200011110

A003162

B013162

C113164

D103562

Din starea stabil C = 11 pentru a ajunge n starea stabil A = 00, la modificarea variabilelor de intrare x1x2 din 00 n 01, dac variabila secundar y1 se modific prima se ajunge n starea stabil A = 00, dar dac y2 se modific prima, se ajunge n starea stabil D = 10, deci avem o curs critic.

Se face o reasignare a strilor nct tranziiile critice s implice schimbarea unei singure variabile secundare.

y1y2 x1x200011110

A003162

B013162

C103164

D113562

Din starea stabil C = 10, la modificarea variabilelor de intrare x1x2 din 00 n 01, se ajunge n starea stabil A = 00 prin modificarea unei singure variabile secundare, y1.

4.3.2. Utilizarea combinaiilor de codificare nefolosite

a. Se acord dou coduri pentru aceeai stare.

Pentru automatul:

y1y2 x1x200011110

A001342

B01135-

C101652

A 00

01B

C 10

avem o curs critic dac se pleac din starea stabil B. Vom codifica starea C cu dou coduri, 10 i 11. Avem atunci tabelul:

y1y2 x1x200011110

A001342

B01135-

C111652

C101652

y1y2 x1x200011110

A0000010000

B01000111-

C1100111100

C1000101000

b. Introducerea unei stri instabile.

Vom avea:

y1y2 x1x200011110

A001342

B01135-

11-6*--

C101652

y1y2 x1x200011110

A0000010000

B01000110-

11-11--

C1000101000

Pentru a ajunge din 01 (B) n 10 (C) se foreaz trecerea prin starea instabil 11. Aceast modalitate de evitare a curselor critice conduce la ecuaii mai simple la minimizare.

4.3.3. Introducerea unei variabile de stare suplimentar

Metoda se folosete n situaiile n care sunt utilizate toate combinaiile de codificare i n nici o asignare nu se poate realiza adiacena codificrii strilor.

Considerm automatul cu tabelul redus al strilor i graful de tranziii:

y1y2 x1x200011110

A001246

B011347

C111258

D101356

00 01

A

B

C

D

11 10

Se introduce variabila de stare suplimentar y3 i se face codificare cu 3 variabile de stare y1y2y3. Urmrim realizarea adiacenei ntre strile automatului pentru a evita apariia curselor critice. Vom folosi tabelul:

y1 y2y300011110

0ACCD

1BD

Pentru a gsi o asignare valid punem A n 000 i B, C, D le plasm n 3 celule adiacente. Tranziiile B ( D i D ( C necesit modificarea a dou variabile secundare. Pentru a rezolva situaia se introduc strile intermediare instabile D i C. Cu codificarea: A = 000; B = 100; C = 001; D = 010 vom obine pentru automatul dat:

y1y2y3 x1x200011110

A0001246

C0011258

C0115

D0101356

D1103

111

101

B1001347

Observaie: Se poate face o asignare valid pentru un tabel redus cu 4 linii, cu ajutorul a 3 variabile secundare, prin asignarea a 2 coduri adiacente ale variabilelor secundare pentru fiecare linie din tabel.

Exemplu:

y1 y2y300011110

0ABBC

1ADDC

Se poate arta c pentru orice tabel primar cu 2n linii, o asignare valid poate fi fcut cu 2n-1 variabile secundare, astfel nct s fie posibil tranziia ntre oricare 2 linii ale tabelului.

Pentru un tabel cu 8 linii se folosesc 4 variabile secundare. O asignare posibil este:

ABEE

ABFF

CCGH

DDGH

4.4. Automate asincrone n mod impuls

Exist situaii practice n care un automat primete un singur impuls.

Pentru ca funcionarea acestui automat s fie determinist se impun restriciile:

1. impulsurile trebuie s fie suficient de lungi ca s schimbe starea automatului;

2. impulsurile trebuie s fie suficient de scurte nct s nu mai fie prezente dup schimbarea strii automatului.

La apariia impulsului automatul evolueaz dintr-o stare stabil n alt stare stabil, stri memorate n bistabile (elementele de memorie). Acest mod de funcionare difer de cel fundamental, deoarece automatul n mod impuls este stabil i cnd nu are intrri. Absena impulsurilor nu conine informaie. Din acest motiv numrul de coloane din tabelul de tranziii este egal cu numrul variabilelor de intrare.

Exemplu:

Automat pentru taxe de automobile. Taxa este de 3500 lei. Se accept monede de 500, 1000, 2000. Un sistem electromecanic accept monezile secvenial, chiar dac ele se introduc deodat, genernd impulsuri X5, X10, X20. Automatul produce un nivel de ieire care aprinde un bec verde dac s-au primit 3500 lei. Dup ce a trecut o main automatul se reseteaz cu impulsul de resetare XR i revine n starea iniial. Orice sum mai mare de 3500 lei este credit pentru maina urmtoare.

Soluie:

LeiStare prezentX5X10X20XRz

0ABCEA0

500BCDFA0

1000CDEGA0

1500DEFHA0

2000EFGHA0

2500FGHHA0

3000GHHHA0

(3500HHHHA1

n momentul n care moneda este primit, este luat n considerare.

11