4. 4
Proiectarea Microsistemelor Digitale
Conţinut:
Introducere
Unitatea centrală
Conectarea memoriilor
Conectarea porturilor de intrare/ ieşire
Circuite specializate programabile
DMA
Sistemul de întreruperi
Aplicaţii
Microprocesoare moderne
5. 5
Proiectarea Microsistemelor Digitale
Bibliografie:
B. B. Brey, The Intel Microprocessors: Architecture, Programming and Interfacing;
Prentice Hall, 2009
J. L. Antonakos, The Intel microprocesors family: hardware and software
principles and applications; Thomson Delmar, 2007
M. Popa, Proiectarea microsistemelor digitale; Orizonturi Universitare, Timişoara,
2003
M. Popa, Sisteme cu microprocesoare; Orizonturi Universitare, Timişoara, 2003
6. 6
Proiectarea Microsistemelor Digitale
Obiectivele cursului:
Disciplina î i propune:
ș
cunoaşterea definiţiei, caracteristicilor, structurii şi
funcţionării unui microsistem digital;
studiul problemelor tipice care apar la proiectarea
unui microsistem digital bazat pe un microprocesor
didactic precum şi a soluţiilor tipice;
studiul unor aplicaţii tipice;
dobândirea de cunoştinţe în vederea proiectării unui
microsistem digital, bazat pe microprocesor, cu o
structură tipică.
7. 7
Proiectarea Microsistemelor Digitale
1. Introducere
1.1. Circuite logice
Sunt circuite care lucrează cu nivele de tensiune, la intrare i ie ire,
ș ș
corespunzătoare celor 2 nivele logice: 0 i 1;
ș
Există 2 tipuri de circuite logice:
Combina ionale;
ț
Secven iale.
ț
Circuite combina ionale:
ț
Sunt acele circuite logice care nu au elemente de memorie sau legături de reac ie
ț
între ie iri i intrări; ie irile acestor circuite reac ionează doar la modificarea
ș ș ș ț
intrărilor fără a ine seama de starea circuitului;
ț
Circuitele combina ionale sunt descrise prin ecua ii logice în care apar variabilele
ț ț
de intrare dar nu i timpul:
ș
8. 8
Proiectarea Microsistemelor Digitale
Circuite secven iale
ț
Circuite la care ie irile depind de intrări dar i de starea curentă a circuitului, care,
ș ș
la rândul ei, depinde de nivelul intrărilor la momente de timp anterioare; in
ț
seama, în func ionarea lor, de istoria intrărilor; sunt circuite cu memorare fiindcă
ț
ie irile depind de intrările la momente de timp anterioare;
ș
Există 2 tipuri de circuite secven iale:
ț
Asincrone: la care ie irile se modifică atunci când se modifică intrările, inând seama i
ș ț ș
de starea circuitului;
Sincrone: la care ie irile se pot modifica numai la momente de timp bine determinate,
ș
indicate prin intermediul unui semnal dedicat, numit tact (sau clock); forma unui semnal
de tact:
10. 10
Proiectarea Microsistemelor Digitale
Por i
ț cu 3 stări:
Ie irea: 1 logic, 0 logic, stare de înaltă impedan ă;
ș ț
Starea de înaltă impedan ă: circuitul nu încarcă linia, ca i cum nu ar
ț ș
exista;
Simbol:
IN OUT VAL = 1, OUT = IN
VAL = 0, OUT = a 3-a stare
VAL
IN OUT VAL = 1, OUT = a 3-a stare
VAL = 0, OUT = IN
VAL
Avantaj: permite legarea ie irilor a mai multor circuite împreună;
ș
12. 12
Proiectarea Microsistemelor Digitale
Fie următoarea schemă:
(NU este permisă!)
Sunt posibile situa iile:
ț
trece curent mare prin cele 2 etaje de ie ire;
ș
este limitat doar de rezisten a de sus (130
ț Ω);
urmarea: unul sau ambele circuite se încălzesc
i nu va/vor mai func iona;
ș ț
14. 14
Proiectarea Microsistemelor Digitale
Fie schemele:
IN1 OUT VAL1 = 1, VAL2 = 0 → OUT = IN1
VAL1 VAL1 = 0, VAL2 = 1 → OUT = IN2
VAL1 = 0, VAL2 = 0 → OUT = a 3-a stare
VAL1 = 1, VAL2 = 1 → interzis;
IN2
VAL2
IN1 OUT VAL1 = 1, VAL2 = 0 → interzis
VAL1 VAL1 = 0, VAL2 = 1 → OUT = a 3-a stare
VAL1 = 0, VAL2 = 0 → OUT = IN2
IN2 VAL1 = 1, VAL2 = 1 → OUT = IN1
VAL2
15. 15
Proiectarea Microsistemelor Digitale
Codificatorul
Este circuitul combina ional care transformă modul de reprezentare a informa iei
ț ț
din sistemul de numera ie extern, accesibil, operatorului, în sistemul de numera ie
ț ț
intern, binar, al unui sistem de calcul;
Schema bloc:
Ex.: să se proiecteze un codificator zecimal – binar:
18. 18
Proiectarea Microsistemelor Digitale
Decodificatorul
Este circuitul combina ional care asociază fiecărei combina ii de la intrare o ie ire,
ț ț ș
în sensul că acea ie ire este diferită de celelalte (activă la 1 în timp ce toate
ș
celelalte sunt active la 0 sau activă la 0 în timp ce toate celelalte sunt active la 1);
Se folose te atunci când o anumită combina ie de cod trebuie transformată în un
ș ț
semnal de comandă pe o anumită linie;
Schema bloc:
Ex.: să se proiecteze un decodificator 3 → 8:
19. 19
Proiectarea Microsistemelor Digitale
Există mai multe decodificatoare integrate:
Au ie irile active la 0 logic spre deosebire de cele proiectate i realizate cu por i care pot
ș ș ț
avea ie irile active la 1 sau la 0
ș
Majoritatea au i intrări de validare care trebuie să fie la 0 pentru ca circuitul să lucreze;
ș
Pot fi combinate pentru a ob ine decodificatoare cu mai multe ie iri; de ex. 2
ț ș
decodificatoare integrate care au fiecare câte 8 ie iri pot fi combinate pentru a ob ine un
ș ț
decodificator cu 16 ie iri;
ș
Circuitul decodificator binar – zecimal 74x42:
Este un decodificator 4 → 10:
20. 20
Proiectarea Microsistemelor Digitale
Circuitul decodificator binar – hexazecimal 74x154:
Este un decodificator 4 → 16;
/G1 i /G2 sunt intrări de validare;
ș
22. 22
Proiectarea Microsistemelor Digitale
Circuitul decodificator dual 74x139:
Este un decodificator 2 x 2 → 4;
Cele 2 jumătă i sunt independente;
ț
Fiecare jumătate are o intrare de validare;
23. 23
Proiectarea Microsistemelor Digitale
Circuitul decodificator 74x138:
Este un decodificator 3 → 8:
Să se proiecteze un decodificator 4 → 16 utilizând două circuite decodificator 74x138
24. 24
Proiectarea Microsistemelor Digitale
Multiplexorul (Selectorul)
Este un comutator digital; el conectează mai multe intrări la o unică ie ire în
ș
conformitate cu o anumită ordine dorită;
Are mai multe intrări de date, mai multe intrări de selec ie i o singură ie ire;
ț ș ș
combina ia de pe liniile de selec ie alege una dintre intrări care trece la ie ire;
ț ț ș
Schema bloc:
Să se proiecteze un multiplexor 4 → 1; va avea 4 intrări de date, o ie ire i va
ș ș
necesita 2 intrări de selec ie;
ț
27. 27
Proiectarea Microsistemelor Digitale
Circuitul multiplexor 74x153:
Este un multiplexor dual 2 x 4 → 1;
Are o intrare de validare pentru fiecare sec iune;
ț
28. 28
Proiectarea Microsistemelor Digitale
Demultiplexorul (Distribuitorul)
Demultiplexorul este un comutator digital; el conectează o unică intrare la mai
multe ie iri în conformitate cu o anumită ordine dorită;
ș
Are o intrare de date, mai multe intrări de selec ie i mai multe ie iri; combina ia de
ț ș ș ț
pe liniile de selec ie alege ie irea la care trece unica intrare
ț ș ;
Schema bloc:
Să se proiecteze un demultiplexor 1 → 4; va avea 1 intrare de date, 4 ie iri i va
ș ș
necesita 2 intrări de selec ie;
ț
Circuitele integrate decodificator pot fi folosite ca demultiplexoare;
Expandarea multiplexoarelor i demultiplexoarelor;
ș
29. 29
Proiectarea Microsistemelor Digitale
Comparatorul
Este circuitul combina ional care determină raportul existent între 2 numere
ț
binare, A i B, i indică una din următoarele situa ii: A = B, A > B sau A < B;
ș ș ț
Este util în aplica ii aritmetice sau de scanare a unei anumite configura ii în un ir
ț ț ș
sau bloc;
Schema bloc:
Să se proiecteze un comparator pe 4 ranguri care să indice egalitatea a 2
combina ii de la intrările A0 – A3 i B0 – B3;
ț ș
Să se proiecteze un comparator complet pe 4 ranguri; va avea ie irile EGAL, A >
ș
B i A < B;
ș
30. 30
Proiectarea Microsistemelor Digitale
Circuite integrate comparator:
Majoritatea au posibilitatea de conectare în cascadă astfel încât să se poată realiza
comparatoare cu un număr mai mare de intrări decât numărul de intrări al unui circuit
comparator;
Un asemenea circuit va avea intrări de comparat, intrări de cascadare care permit
conectarea circuitului în un lan de comparatoare i ie iri;
ț ș ș
Circuitul comparator 74x85
Este un comparator pe 4 ranguri, cu 3 intrări de cascadare i 3 ie iri;
ș ș
Schema bloc:
36. 36
Proiectarea Microsistemelor Digitale
Aplica ii ale bistabilelor: divizarea frecven ei unui semnal, sincronizarea;
ț ț
Circuite integrate care con in bistabile:
ț
74x74: con ine 2 bistabile D, active pe frontul anterior al impulsului de tact; simbolul unui
ț
bistabil este:
74x76: con ine 2 bistabile JK, active pe frontul posterior al impulsului de tact; simbolul
ț
unui bistabil este:
37. 37
Proiectarea Microsistemelor Digitale
Registrul
Ansamblu ordonat de bistabile i circuite de comandă;
ș
Circuite integrate care con in bistabile:
ț
74x175: con ine 4 bistabile de tip D, cu tact comun, activ pe frontul anterior i cu intrare
ț ș
de tergere:
ș
Schema: Simbolul:
40. 40
Proiectarea Microsistemelor Digitale
Registre de deplasare
Opera ii: deplasare la stânga, la dreapta, rotire la stânga, la dreapta, încărcare
ț
paralelă; registrul universal asigură toate opera iile fără conexiuni externe;
ț
Circuitul integrat registru 74x95:
Este un registru pe 4 ranguri, de tip paralel in – paralel out, i cu posibilitatea de a
ș
deplasa informa ia la dreapta;
ț
Simbolul:
A – D sunt intrările paralele, QA - QD sunt ie irile paralele, DS este intrarea serială,
ș
intrarea MOD alege între deplasare la dreapta, MOD = 0, i încărcare paralelă, MOD = 1,
ș
iar T1 i T2 sunt intrări pentru impulsuri de tact: impulsurile pe T1 provoacă deplasarea la
ș
dreapta iar cele de pe T2 provoacă încărcarea paralelă a informa iei; impulsurile de pe
ț
intrările T1 i T2 sunt active pe frontul posterior;
ș
41. 41
Proiectarea Microsistemelor Digitale
Aplica ii ale registrelor: deplasarea i rotirea informa iei, implementarea înmul irii i
ț ș ț ț ș
împăr irii;
ț
Detector de cod
Este o aplica ie a unui registru de tip serial in – serial out;
ț
Circuitul detectează un anumit cod, format secven ial, ac ionând asupra unei
ț ț
minitastaturi i, la apari ia codului, va genera un impuls care va putea fi folosit, de
ș ț
exemplu, la deschiderea unei u i; schema:
ș
42. 42
Proiectarea Microsistemelor Digitale
Pentru a se activa ie irea este necesară introducerea codului în succesiunea indicată de
ș
conexiuni; codul corespunzător schemei este 3140;
La fiecare ac ionare a unei taste, se generează un impuls la ie irea corespunzătoare a
ț ș
tastaturii;
Se observă că dacă se ac ionează una din tastele 2, 5, 6, 7, 8 sau 9, în orice ordine,
ț
registrul va fi resetat (anulat);
Dacă se ac ionează tasta 3, va apare 1 logic la ie irea QA ;
ț ș
Dacă urmează ac ionarea tastei 1, 1 logic de la intrarea bistabilului B se va transmite la
ț
ie irea sa, QB ;
ș
Dacă urmează ac ionarea tastei 4, 1 logic de la intrarea bistabilului C se va transmite la
ț
ie irea sa, QC ;
ș
La final, dacă urmează ac ionarea tastei 1, 1 logic de la intrarea bistabilului D se va
ț
transmite la ie irea sa, QD care este i ie irea întregului circuit; acest impuls va putea
ș ș ș
comanda o yală electromagnetică sau/ i va putea fi monitorizat de sistemul de
ș
securitate;
Ac ionarea oricărei alte taste numerice, oricând, va anula registrul ca urmare este
ț
necesară reintroducerea întregului cod corect;
Dezactivarea ie irii poate fi făcută oricând, prin ac ionarea unei taste care nu corespunde
ș ț
codului;
Schemă simplă dar nu permite modificarea codului.
43. 43
Proiectarea Microsistemelor Digitale
Numărătorul
Constituie o clasă particulară a circuitelor secven iale fără intrări, ale căror modele
ț
matematice se numesc automate finite autonome;
Tranzi iile acestor circuite se fac la comanda impulsului de tact după o anumită
ț
lege, numai pe baza stării prezente a acestora;
Modul de func ionare al numărătorului este complet specificat prin secven a de
ț ț
numărare care reprezintă succesiunea de stări binare a acestuia;
2 roluri: numărarea unei succesiuni de impulsuri, divizarea frecven ei unui semnal;
ț
Numărătoarele se clasifică după următoarele criterii:
Felul de codificare a informa iei: decadic, octal, binar, modulo n etc.; prin acest criteriu
ț
distinc ia se face în func ie de numărul de stări al numărătorului;
ț ț
Sincronismul bistabilelor: sincrone i asincrone;
ș
Sensul numărării: directe, inverse i reversibile;
ș
Orice numărător porne te ciclul de numărare dintr-o stare ini ială; aceasta poate fi
ș ț
0 pe toate bistabilele, 1 pe toate bistabilele sau orice altă valoare; pentru
încărcarea stării ini iale există circuite combina ionale dedicate.
ț ț
44. 44
Proiectarea Microsistemelor Digitale
Numărătoare asincrone: se ob in înlăn uind mai multe bistabile, ie irea unuia fiind
ț ț ș
conectată la intrarea de tact a următorului;
Avantaje: schema simplă, u or scalabil;
ș
Dezavantaje: întârziere variabilă cu numărul bistabilelor, întârziere mare care duce la
limitarea frecven ei tactului;
ț
Circuitul integrat numărător asincron 74x93
Este un numărător asincron care poate lucra ca numărător mod 16 sau ca numărător
mod 8 i numărător mod 2; schema internă este:
ș
45. 45
Proiectarea Microsistemelor Digitale
Simbolul circuitului este:
Se observă că numărătorul trece din o stare în alta pe frontul posterior al impulsului (sau
impulsurilor) de tact;
Dacă la intrările R01 i R02 există simultan 1 logic, numărătorul va fi for at în starea
ș ț
ini ială 0000; dacă pe cel pu in una dintre ele este 0 logic, numărătorul va parcurge
ț ț
secven a proprie de stări;
ț
Dacă impulsul de tact se leagă la intrarea CLKA , la ie irea QA se ob ine un semnal cu
ș ț
frecven a pe jumătate fa ă de cea a semnalului de intrare (numărător mod 2);
ț ț
Dacă impulsul de tact se leagă la intrarea CLKB , bistabilele B, C i D vor func iona ca
ș ț
un numărător mod 8;
46. 46
Proiectarea Microsistemelor Digitale
Numărătoare sincrone: sunt numărătoare la care impulsul de tact este aplicat
simultan la toate bistabilele, ca urmare acestea se modifică simultan, în
conformitate cu tabelul stărilor;
Avantaje: întârziere fixă dată de întârzierea pe un rang;
Dezavantaje: schemă mai complicată;
Circuitul integrat 74x193
Este un numărător binar, sincron, mod 16, reversibil i cu preâncărcare;
ș
Simbolul:
47. 47
Proiectarea Microsistemelor Digitale
Dacă se aduce 1 la intrarea CLR, circuitul va fi ters, adică va avea 0 în toate bistabilele;
ș
Dacă se aduce 0 la intrarea /LOAD, circuitul va fi încărcat cu combina ia de la intrările A,
ț
B, C, D;
Dacă se dore te ca circuitul să numere, trebuie adus impuls de tact la intrarea Up sau
ș
Down, func ie de direc ia de numărare dorită; intrarea de tact nefolosită trebuie legată la
ț ț
1 logic;
Circuitul generează:
Un impuls Ia ie irea Carry, activ la 0 logic, atunci când apare depă irea capacită ii sale adică la
ș ș ț
trecerea din starea 1111 în starea 0000 când numără în sus;
Un impuls la ie irea Borrow, activ la 0 logic, atunci când apare trecerea din starea 0000 în starea
ș
1111 când numărătorul numără în jos;
Datorită existen ei ie irilor Carry i Borrow i a intrării /LOAD, se pot ob ine scheme mai
ț ș ș ș ț
simple pentru divizoare cu diferite constante; ex.: divizor la 5:
48. 48
Proiectarea Microsistemelor Digitale
1.1.3 Proiectarea automatelor finite
Majoritatea aplica iilor cer o parte de execu ie i una de comandă;
ț ț ș
Partea de comandă este aceea care asigură execu ia secven ială a
ț ț
aplica iei, ia decizii în func ie de intrări i generează semnale de
ț ț ș
comandă către blocurile de execu ie sau, eventual, către alte păr i de
ț ț
comandă;
Partea de comandă poate fi implementată cu un automat finit;
Pentru proiectarea unui automat finit se parcurg pa ii:
ș
Se specifică, în cuvinte, comportarea circuitului; se consideră printr-o succesiune
de stări; o stare este definită prin opera iile pe care le execută automatul la un
ț
moment dat; opera iile simultane se execută în aceea i stare; într-o stare
ț ș
automatul poate să ia o decizie, pe baza unei intrări, să genereze un semnal de
ie ire sau să treacă într-o altă stare; trecerea dintr-o stare în alta se face la
ș
momentele stabilite de un semnal de tact;
Se caută ca numărul de stări să fie minim;
49. 49
Proiectarea Microsistemelor Digitale
Se stabile te modul de reprezentare al înlăn uirii stărilor: cu tabele sau cu
ș ț
diagrame (în continuare se va folosi varianta cu diagrame);
Se alege un set de variabile de stare i se asignează variabilele stărilor
ș
automatului; numărul variabilelor depinde de numărul stărilor conform rela iei:
ț
2numărul variabilelor-1
≤ numărul stărilor ≤ 2numărul variabilelor
Se alege tipul de bistabil; bistabilele vor fi suportul fizic pentru stările automatului;
numărul de bistabile este egal cu numărul de variabile;
Se codifică variabilele de stare;
Se verifică dacă nu apare hazard (se reaminte te că hazardul apare dacă la
ș
tranzi ia din o stare în alta se modifică mai mult de o variabilă de stare); dacă
ț
apare hazard i dacă acesta deranjează trebuie eliminat prin introducerea de stări
ș
suplimentare; ca urmare automatul nu va mai avea număr minim de stări i este
ș
posibil ca i numărul de bistabile să crească dar este eliminat hazardul (atunci
ș
când este necesar);
Se construiesc tabelele de excita ie pentru secven a de stări ob inută;
ț ț ț
Se ob in ecua iile intrărilor bistabilelor pornind de la tabelele de excita ie i
ț ț ț ș
minimizându-le;
Similar se ob in i ecua iile ie irilor;
ț ș ț ș
Se desenează schema
50. 50
Proiectarea Microsistemelor Digitale
Avantaje i dezavantaje ale proiectării cu automate finite
ș
Avantaje: este o metodă generală;
Dezavantaje:
Solu ia poate fi lentă: tranzi iile automatului se fac sub controlul unui tact extern i
ț ț ș
frecven a acestuia va limita viteza automatului;
ț
Dacă numărul de stări este mare, schema va fi complexă;
Alternativa: utilizarea microcontrolerelor.