AUTOMATE FINITE. 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. escrierea funcţionării se face prin organigrame sau prin forme de undă.. 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= ( X, Y,, λδ, ) unde entităţile componente au următoarea semnificaţie: { } { } X = x, x,..., x n - mulţimea configuraţiilor binare de intrare, Y = y y y r,,..., - mulţimea configuraţiilor binare de ieşire, = { q q q p },,..., - mulţimea configuraţiilor binare de stare, λ : X - funcţia de tranziţie a stărilor, δ : X Y - funcţia de tranziţie a ieşirilor. atorită faptului că mulţimile X, Y şi 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. 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. X CLC MEMORIE Y Fig. 3. Structura generală a unui automat finit
Sistemele logice secvenţiale la care tranziţiile au loc periodic, simultan cu un impuls 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 fi asincrone, dar în acest caz trebuie făcută o codificare atentă a stărilor, conform principiului dependenţei reduse faţă de o variabilă. Vom studia două exemple de proiectare a unor automate cu stări finite cu număr mic de stări şi o singură variabilă de intrare. Memoria este realizată în ambele cazuri cu circuite bistabile de tip, ceea ce diferă fiind modul de implementare a circuitelor logice combinaţionale (CLC). În primul caz se folosesc multiplexoare (circuite integrate MSI), iar în cel de-al doilea caz memorii(circuite integrate LSI). 3.. Să se proiecteze un automat finit cu o intrare (notată cu X) şi două ieşiri (notate cu Y şi Y), descris de organigrama de mai jos, folosind bistabili de tip şi multiplexoare cu 4 căi de intrare. A C Y= Y= Y / = Y= Y = Y= X B Y = Y = Y = Y = X Fig. 3. Organigrama care descrie funcţionarea automatului finit Pornind de la organigramă se construieşte tabelul tranziţiilor: X + + d Fig. 3.3 Tabelul tranziţiilor Y Y Simbolul d poate fi sau logic(don' t care). S-a folosit această notaţie pentru a evita confuzia cu semnalul de intrare notat cu X. Implementarea memoriei se face cu doi bistabili de tip care comută sincron. Circuitul logic combinaţional are intrările X, şi, şi trebuie să genereze la ieşire funcţiile binare + = şi + =. Nu este necesară minimizarea funcţiilor binare şi pentru că toţi termenii canonici sunt disponibili la ieşirile multiplexoarelor.
X A9 A8 A7 A6 A5 A4 A3 A A A PROM O O O3 O4 Y Y Fig. 3.6 Schema logică a automatului implementat cu memorie PROM 4. Modul de lucru 4.. Primul panou logic pe care îl studiem este cel care implementează automatul finit în varianta cu bistabile de tip şi multiplexoare. El conţine 4 circuite integrate CMOS: MMC 43, MMC 45( buc.) şi MMC 4. MMC 43 conţine cele bistabile, MMC 45 conţine câte multiplexoare, iar din cele 4 porţi ŞI- NU ale circuitului MMC 4 sunt folosite pentru generarea manuală a semnalului de, prin apăsarea butonului cu revenire de pe panou. Biţii de stare şi de ieşire sunt vizualizaţi prin intermediul a 4 LE-uri. Starea logic este semnalizată prin aprinderea LE-ului corespunzător, iar cea de logic prin stingerea lui. Montajul se alimentează cu orice tensiune continuă cuprinsă între 5 şi 5Vcc, după conectarea corectă a cordoanelor de alimentare la sursă şi a intrării X la una din cele borne ale sursei ( logic sau logic). Se verifică funcţionarea corectă a montajului prin urmărirea tuturor tranziţiilor posibile din organigramă sau tabel. 4.. Al doilea panou logic implementează automatul finit în varianta cu bistabile de tip şi memorie. in motive de versatilitate s-a înlocuit memoria PROM cu o memorie RAM statică de aceeaşi capacitate, de tipul MMN 4. Placa mai conţine circuitele MMC 43, MMC 4 şi MMC 466, ultimul având în structură 4 comutatoare CMOS necesare pentru înscrierea, respectiv citirea datelor din memorie. Vizualizarea stării şi a ieşirii se face tot cu ajutorul a 4 LE-uri. Montajul se alimentează cu tensiunea de 5 Vcc, datorită prezenţei lui MMN 4. e fapt, tensiunea sursei este de circa 5,6-5,7 V datorită diodei serie de protecţie la alimentare inversă. in acest motiv se măsoară cu voltmetrul tensiunea de 5 Vcc între catodul diodei de protecţie şi masă. upă alimentarea corectă se introduc în memorie datele necesare. În acest scop, pentru a asigura adresa de start a memoriei la cuplarea alimentării (A = A = A = ), comutatorul S are pârghia înspre comutatoarele S şi S3(în jos), iar comutatorul S3 în dreapta (vezi fig. 4.). Intrarea X este conectată la masă. Cele 4 comutatoare notate cu S sunt destinate introducerii celor 4 biţi pe cuvânt în memorie. acă pârghia este în jos, bitul corespunzător este pe logic, iar dacă este în sus, pe logic. upă fixarea cuvântului dorit prin poziţionarea celor 4 3
LEURI S ( IN ATE) S (WE) S3 () Fig. 4. Amplasarea comutatoarelor şi a LE-urilor pe panou comutatoare, acesta este introdus în memorie prin ridicarea şi coborârea înapoi a pârghiei comutatorului S (activarea şi dezactivarea semnalului WE - WRITE ENABLE ). Pe urmă se modifică adresa pentru introducerea unui nou cuvânt prin acţionarea în cele două sensuri a comutatorului S3 (pentru a genera cele fronturi ale semnalului de ceas - CLOCK ). Pentru introducerea datelor în memorie urmărim harta memoriei din figura 3.5. Ieşirile O O4 devin acum I/O I/O4, iar datele se introduc de la comutatoarele S, 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 S pe poziţiile b) se fixează comutatoarele S pe poziţiile se mută X pe logic (borna de +5Vcc) c) se fixează comutatoarele S pe poziţiile d) se fixează comutatoarele S pe poziţiile se mută X pe logic (borna de masă) e) se fixează comutatoarele S pe poziţiile se mută X pe logic (borna de +5Vcc) f ) se fixează comutatoarele S pe poziţiile se mută X pe logic (borna de masă) in acest moment datele sunt stocate în memorie şi se poate verifica funcţionarea corectă a automatului urmărind tranziţiile din organigramă. Întreruperea alimentării duce la pierderea informaţiei din memorie şi se impune repetarea operaţiilor de scriere a celor 6 cuvinte în RAM. 4
4.3. Comparaţi cele două implementări prezentate. Ce avantaje şi dezavantaje prezintă fiecare din cele două soluţii? Propuneţi şi alte modalităţi de realizare a automatului. 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 în orice moment de timp, nu numai pe frontul activ al semnalului )? Alegeţi o altă codificare a stărilor şi arătaţi sub formă tabelară harta memoriei precum şi operaţiunile necesare pentru înscrierea datelor în memorie. 5. Probleme rezolvate 5.. Se consideră automatul finit descris de organigrama din figură. Să se implementeze circuitul folosind bistabili de tip şi: a) număr minim de porţi b) multiplexoare cu 4 căi de intrare c) memorie ROM de 3 cuvinte a câte 4 biţi d) un circuit combinaţional format din memorie ROM de 4 cuvinte a câte 4 biţi şi multiplexoare. Reprezentaţi harta memoriei. A X B C X X3 X4 Fig. 5. Organigrama care descrie funcţionarea automatului finit din problema 5. Rezolvare: Construim tabelul tranziţiilor: + + X X X 3 X 4 x x x x x x x x x x x x x x x x x x x x x x x x Fig. 5. Tabelul tranziţiilor pentru organigrama din figura 5. a) Pentru implementarea cu porţi este necesară minimizarea funcţiilor binare + = şi =. Folosim diagramele Veitch-Karnaugh condensate. + 5
x 4 x x 4 x x 3 x x x 4 x 3 x x x 4 3 MUX 3 MUX W W a b 5.3 Soluţiile problemei pentru punctele a şi b Fig. x x 3 x 4 x A4 O A3 O A ROM O A A O3 OE A4 O A3 O A ROM O A A O3 OE O A O ROM O A O3 OE x x x 4 x 3 3 MUX W MUX MUX A A O O O O3 c d g. 5.4 Soluţiile problemei pentru punctele c şi d Fi Evident că, fiind o problemă de sinteză, există şi alte soluţii. e exemplu, la punctul c se putea utiliza un singur cip de memorie ROM de tipul 3 4 şi două multiplexoare cu câte intrări. Ar fi fost mai avantajoasă această implementare? e ce? 5.. Să se proiecteze un sistem numeric care să asigure funcţionarea automată a barierelor la trecerea peste calea ferată. Sistemul are intrări, x şi x, date de stările unor contacte amplasate de o parte şi de alta a şoselei. Ieşirea y comandă închiderea barierelor. Rezolvare: Presupunem că atunci când contactele sunt închise avem logic pe intrări, iar comanda de închidere a barierelor se dă pentru logic la ieşire. Fig. 5.5 Sistemul are 9 stări distincte, numerotate de la la 8 6
+, y +, y x x, 4, -,, - 7,,, 3, 3, 3, - - 4 5, 4, 8, - 5 5, 6, 6, - - 6, 7 3, 7, - 8 - - 8, 6, x x, 4, -, = =7, 3, 7,, 3= 6, 3, - 6, 4= 5= 8 5, 4, 8, 6, Codificarea binară a stărilor:, = = 7, 3 = 6, 4 = 5 = 8 Fig. 5.6 Tabelul tranziţiilor. Reducerea şi codificarea stărilor upă minimizare se obţin: = xx + x +, = xx + x + şi y = +. Sistemul este secvenţial sincron, cu comportament asincron. 5.3. Un sistem secvenţial are 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 acestei secvenţe ieşirea capătă valoarea logică atât timp cât intrările sunt identice. Să se proiecteze sistemul. Rezolvare: Fig. 5.7 Sistemul are 5 stări distincte, numerotate de la la 5 +, y x x,,,, 3,, 3,, 3 4,, 4,, 4 5,, 5,, 5 5,, 5,, Sistemul are 4 stări distincte. Alegem următoarele coduri binare 3 4 = 5 Fig. 5.8 Tabelul tranziţiilor. Reducerea şi codificarea stărilor upă minimizarea funcţiilor binare + = şi + = obţinem următoarele expresii: x x ( ) = +, = x x şi y = x x. Problema se putea rezolva mai simplu, dacă observam de la început că x = x înseamnă x x = şi obţineam un sistem cu o singură intrare x = x x. Sistemul este secvenţial sincron, cu comportament asincron. 7