Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
|
Sectia de Automatica si Stiinta Calculatoarelor |
Tabela de stare pentru o masina de stare secventiala este reprezentata in figura de mai jos. Se cere sa se :
a) Deseneze organigrama ASM pentru masina de stare.
b) Proiecteze masina de stare utilizandu-se bistabili de tip D. Pentru implementarea Generatorului Noii Starii (G.N.S.) se vor utiliza doar multiplexoare 23 :1, iar pentru implementarea Logicii Combinationale a Iesirilor (L.C.E.) se vor utiliza porti logice. Sa se deseneze o schema de conexiune [electrica] de montaj a masinii de stare complete, aratandu-se clar conexiunile necesare la intrarile de date ale fiecarui multiplexor precum si semnalele aplicate pe intrarile lor de selectie. Se presupune ca toate iesirile sunt instantanee si ca distorsiunile (perturbatiile) semnalelor de iesire pot fi tolerate (cu alte cuvinte, schema nu prezinta hazard).
c) Sa se arate cum ar putea fi proiectat Generatorul Noii Starii (G.N.S.) utilizandu-se multiplexoare 22 :1, daca sunt "admise" portii logice suplimentare pentru a comanda unele din intrarile de date ale multiplexoarelor. Incercati sa minimizati numarul de porti suplimentare. Sa se specifice in mod clar variabilele de stare alese. Sa se aplice pe intrarile de selectie si semnalele aplicate pe intrarile de date pentru fiecare multiplexor 22:1. Nu este necesar sa se deseneze o noua schema de conexine.
d) Proiecteze si sa se implementeze masina de stare descrisa mai sus, utilizandu-se bistabili de tip D si nu FPLA; se va utiliza deasemenea, maparea directa a cailor de legatura, FPLA-ul va fi de capacitate minima. Se va arata modul in care este facuta programarea dispozitivului prin desenarea unei scheme de conexiune pentru FPLA, ca parte a schemei generale a sistemului digital (numeric) pentru masina de stare.
Tabela de stare
Intrari |
Stare Prezenta |
Stare Urmatoare |
Iesiri | ||||||||||||
X |
Y |
Z |
Simbol |
A |
B |
C |
Simbol |
NA |
NB |
NC |
P |
Q |
R |
S |
|
| |||||||||||||||
| |||||||||||||||
Introducere. Notiuni teoretice
Un automat finit interactioneaza cu mediul prin aceea ca la orice moment de timp t este supus unei variabile de intrare x(t) si ca raspuns la o astfel de excitatie ofera la momentul t+Dt sau t+1 un semnal de iesire z(t).
Definirea notiunii de automat secvential (AS) se bazeaza pe introducerea unei alte notiuni si anume notiunea de stare interna care reprezinta informatia ce trebuie pastrata si pe baza careia se poate descrie complet evolutia anterioara a automatului secvential. Existenta memoriei la aceste automate face ca evolutia lor in timp sa fie complet definita prin stari interne succesive in care automatul se poate afla intr-un anumit interval de timp. Avandu-se in vedere structura generala a unui automat finit (Fig. 1):
zЄZ xЄX SLC g(s, x)/g(s) MEM sЄS SLC f(s, x)
Fig. 1
rezulta ca un automat secvential poate fi reprezentat printr-o structura combinationala care sa furnizeze functiile f(s, x), g(s, x) si o structura de memorie care sa defineasca starile evident interne ale automatului.
La un automat secvential se pot pune in evidenta urmatoarele seturi de marimi sau multimi:
Se numeste automat secvential automatul finit la care starea interna influenteaza iesirea in conformitate cu functiile de tranzitie f si g: sau . Structura generala a unui automat secvential este urmatoarea (Fig. 2):
Fig. 2
Exista doua variabile de baza a automatelor secventiale: asincrone si sincrone.
Se numeste asincron acel automat secvential la care comutarile de stare au loc la momente arbitrare de timp.
Se numeste sincron acel automat secvential la care comutarile de stare au loc la momente de timp echidistante. In cazul acestor automate elementele sectiunii de memorie introduc, toate, intarzieri egale. O categorie importanta de automat secvential sincron utilizeaza pentru realizarea sectiunii de memorie automata elemente sincrone. Bistabilii sincroni comuta la momentul de timp determinat in faza cu un semnal de ceas ale carui fronturi pozitive sau negative, trebuie sa fie destul de abrupte in asa fel in cat sa fie mult mai rapide decat timpii de evolutie ai semnalelor pe care-i modifica. Tehnologic este adesea avantajos sa existe intr-un automat secvential sincron mai multe semnale de CLOCK corect defazate(Fig. 3).
QkDk Generator de tact
Fig. 3
Desi variabilele de excitatie se pot modifica la orice moment de timp (deoarece intrarile pot fi si asincrone) comutarea bistabililor de tip are loc in mod sincron pentru toate linile de reactie in momentele de timp asociate fronturilor semnalelor de ceas (semnale provenite de la un generator de tact).
Automatele secventiale sincrone se impart in patru clase: masini de stare de clasa intai, masini de stare de clasa a doua, masini de stare de clasa a treia, masini de stare de clasa a patra. Cele din urma sunt structuri secventiale sincrone cu tranzitie de stare conditionata si iesiri dependente de stare, dar de asemanea conditionate (Fig. 4 si relatiile 2.4).
X(t) f(t) y(t)= f(x(t),y(t)) Logica
combinationala g(LC) Memorie Z(t)
Fig. 4
tЄN
Organigrama ASM (Algorithmic State Machine)
Se numeste masina algoritmica de stare (ASM) un automat secvential sincron realizat ca o masina de stare de clasa a patra. Pentru a se sublinia caracterul stationar al functionarii ASM pe o perioada de tact, sectiunea de memorie a masinii algoritmice de stare va fi numita in continuare registru de stare. Din punct de vedere functional suportul fizic pentru materializarea functiilor caracteristice f si g ale masinii algoritmice de stare va fi Generatorul Noii Stari (GNS), respectiv Logica Combinationala a Iesirilor (LCE), cele doua blocuri avand un caracter combinational. Cu aceste notiuni stuctura combinationala a unui ASM este reprezentat(Fig. 5):
Fig. 5
Procedural sinteza unui automat secvential sincron de tip ASM presupune transpunerea intr-o prima faza a problemei de conducere intr-o organigrama ASM. Organigrama ASM combina elementele transcrierii traditionale prin diagrama de stare pentru un automat secvential schematizand activitatea de procesare a informatiei ca cele de tip calculator, asigurandu-se astfel obtinerea unui instrument eficient de proiectare. Elementele structurale ale descrierii prin organigrama ASM sunt:
a) STAREA este unicul element fundamantal al organigramei care introduce in mod explicit variatia timpului si pe care o asociaza in mod discret etapelor algoritmului de comanda. Simbolul starii poate sa contina o lista de actiuni de iesiri neconditionate. Numele starii este de obicei incercuit si plasat langa simbolul ei. Starii i se asociaza o combinatie de variabile de stare care se numeste "codul starii" si este scris de obicei in binar sau hexazecimal.
b) DECIZIA este elementul de ramificatie al organigramei dependent de una sau mai multe intrarile care sunt testate sunt notate in interiorul simbolului grafic corespunzator. Intrarile intr-o masina algoritmica de stare pot fi asincrone ti sincrone.
c) IESIREA este un element component de control a procesorului si descrie alte iesiri care sunt dependente de una sau mai multe intrari. Iesirile se impart in iesiri conditionate si iesiri neconditionate.
Proiectarea utilizandu-se bistabili de tip D si implementarea cu multiplexoare a G.N.S. si cu porti logice a L.C.E.
Realizarea diagramelor VID prin maparea directa din tabela ASM a functiilor NAsDA, NBsDB si NCsDC, prin includerea in diagrama a variabilelor de intrare X, Y, Z. Se recurge la aceasta metoda deoarece completarea diagramelor Karnough de 6 variabile este anevoioasa.
Modul in care se completeaza diagramele VID:
Daca toate caile de legatura sau conexiunile de stare (dintr-o stare = bloc ASM) dau iesiri in "1" logic, locatia corespunzatoare din diagrama VID se completeaza cu "1" logic.
Daca toate caile de legatura sau conexiunile de stare (dintr-o stare = bloc ASM) dau iesiri in "0" logic, locatia corespunzatoare din diagrama VID se completeaza cu "0" logic.
Daca toate conexiunile de stare dau iesiri diferite, atunci locatia corespunzatoare din diagrama VID este completata cu o variabila sau expresie logica (formula din variabile include in diagrama) si care se obtine luandu-se in considerare valorile variabilelor incluse pentru care iesirea sau functia de iesire considerata are valoarea logica "1" sau "0".
Diagrama de stare:
Diagrama VID pentru functia NA(=DA):
II)Nu avem termenii.
III)
Diagrama VID pentru functia NB(=DB):
II)
III)
Diagrama VID pentru functia NC(=DC):
II)
III)
In continuare trebuie obtinute expresiile iesirilor / functiilor de iesire pentru masina de stare studiata si care sunt realizate de catre Logica Combinationala a Iesirilor (LCE).
Diagrama VID pentru functia de iesire P:
II)
III) Nu avem termeni.
Diagrama VID pentru functia de iesire Q:
II)
III) Nu avem termeni.
Diagrama VID pentru functia de iesire R:
II)
III)
Diagrama VID pentru functia de iesire S:
II)
III)
Conexiunile necesare la intrarile de date si la cele de selectie pentru fiecare multiplexor:
Schema de conexiune a masinii de stare complete, implementarea Generatorului Noii Starii cu multiplexoare 23 :1 si a Logicii Combinationale a Iesirilor cu porti logice :
Proiectarea utilizandu-se bistabili de tip D si implementarea cu multiplexoare a G.N.S. si cu porti logice a L.C.E.
Pentru a realiza implementarea cu MUX-uri 22 :1 trebuie sa introducem o variabila de stare pe intrarile de date pentru a ramane doar cu doua variabile de selectie. Vom alege ca variabile de selectie variabilele A si B, iar C va intra pe intrarile de date impreuna cu X,Y si Z. Pentru a obtine expresiile functiilor NA, NB si NC vom porni de la forma neminimizata obtinuta din diagramele VID de la punctul anterior.
Pentru functia NA:
Pentru termenul al 3-lea si al 4-lea din aceasta suma exista doua variante datorita combinatiilor indiferente care apare si anume: si respectiv si . Pentru a minimiza numarul de porti suplimentare necesare la implementare am facut alegerea de mai sus.
Pentru functia NB:
Analog primului caz avem de-a face cu aceeasi dualitate a termenilor, aici alternativele fiind respectiv . Si in acest caz s-a tinut cont de necesitatea utilizarii a cat mai putine portii logice suplimentare.
Pentru functia NC:
Analog cazului anterior avem de-a face cu aceeasi dualitate a termenilor, aici alternativele fiind respectiv . Si in acest caz s-a tinut cont de necesitatea utilizarii a cat mai putine portii logice suplimentare
Schemele de conexiune pentru fiecare din functiile NA,NB si NC sunt:
Schema completa de conexiunii la implementarea cu MUX 22 :1 este :
Proiectarea si implementarea masinii de stare utilizandu-se bistabili de tip D si FPLA-uri
In ceea ce priveste implementarea cu FPLA-uri avem doua metode si anume folosirea expresiilor minimizate ale functiilor de excitatie respectiv a functiilor de iesire si o alta varianta, utilizandu-se maparea directa a cailor de legatura (conexiunilor de stare). In acest caz vom folosii cea de-a 2-a varianta. Pentru obtinerea expresiilor necesare programarii FPLA-ului se snalizeaza tabela ASM, luandu-se in considerare valorile "1" logic din coloanele functiilor de excitatie NA,NB si NC respectiv a functiilor de iesire P,Q,R si S.
Expresiile care se obtin din tabela ASM sunt:
- pentru functia NA=DA:
- pentru functia NB=DB:
- pentru functia NC=DC:
- pentru functia P:
- pentru functia Q:
- pentru functia R:
- pentru functia S:
Termenii distinctii care rezulta din aceste ecuatii si vor fi folositi in continuare sunt:
Schema care rezulta este urmatoarea:
Bibliografie:
-CURS "Tehnici de proiectare cu circuite logice programabile "
Lector: Conf. dr. ing. Florin MOLDOVEANU
Copyright © 2024 - Toate drepturile rezervate