Sunteți pe pagina 1din 58

Capitolul 2.

SISTEME DE ACHIZIJIE A DATELOR - structuri specifice

2.1. S istem e de a ch izifie de date (SAD) m onocanal

Cea mai simpla varianta a unui sistem de achizi|ie de date monocanal este cea ia
care marimea de intrare este o tensiune continua, cu valoarea in domeniui tensiunii de
intrare a convertorului analog-digital. Schema bloc a acestui sistem, cu conversie directa,
este prezentata in Fig. 1. Cuvantul binar ce reprezinta rezultatul conversiei este transmis
catre microprocesor. Acesta, la randul sau, genereaza semnalul de start pentru procesul
urmator de conversie §i asigura semnalele necesare functionary convertorului analog-
digital.

Fig-1- SAD monocanai, cu conversie directa. Fig-2. SAD monocanal, cu amplificator.

In situajia in care tensiunea de intrare este de vaioare scazuta, apare necesitatea


introducerii unui amplificator, de in s tru m e n ta l sau de izolare, pentru ca semnalul sa fie
adus in domeniui convertorului (Fig.2).
Se poate incerca a se utiliza acest tip de SAD §i pentru tensiuni variabile, de joasa
frecvenja, care necesita o rata scazuta de conversie.

Fig.3. SAD monocanal cu CEM.

Cre§terea vitezei de varia^ie a tensiunii de convertit impune introducerea unui circuit


de e§antionare-memorare (CEM) la intrarea convertorului analog-digital (Fig.3). Intre doua
conversii succesive, CEM urmare§te variatiile tensiunii de intrare. Inainte de startul
conversiei analog-digitale, CEM este trecut in starea de memorare, furnizand la ie§ire
valoarea momentana a tensiunii de intrare, corespunzatoare sfar§itului etapei de urmarire.
Starea de memorare dureaza pe intregul timp de conversie al CAD.
Introducerea circuitului de e§antionare-memorare nu afecteaza exactitatea CAD,
indiferent de rapiditatea cu care se modifica semnalul de intrare.
2.2. Sisteme de achizifie de date (SAD) multicanal

In majoritatea sistemelor de tip industrial este necesar a se achizitiona mai multe


marimi specifice procesuiui urmarit. Sistemul de achizi|ie de date se realizeaza pe baza
unei multiplexari temporale, elementul ce realizeaza aceasta functie fiind circuitul
multiplexor analogic, Acesta este o components electronica ce cuprinde "n" intrerupatoare
analogice, ale caror ie§iri sunt conectate impreuna, pentru a furniza o ie§ire unica a
multiplexorului. Astfel, este posibila utilizarea unui singur CAD pentru toate intrarile
analogice (Fig. 13.25). Diferitele surse de semnal analogic sunt multiplexate la intrarea
circuitului de e§antionare §\ memorare, care retine, de fiecare data, valoarea unui e§antion,
in vederea conversiei. Comutarea fiecarui canal are loc pe durata cat circuitul de
e§antionare §i memorare al canalului precedent se gase§te in starea de memorare §i
tensiunea sa este supusa conversiei. La sfar§itul procesuiui de conversie, circuitul de
e§antionare §i memorare este comandat in starea de e§antionare, in vederea prelucrarii
semnalului din canalul urmator, deja comutat.

Fig-4. Structura unui sistem de masurare multicanal


cu multiplexare temporala.

Din Fig.4 se remarca functiile unitatii centrale, care asigura: semnalul de comanda a
circuitului de memorare, semnalul de inhere a conversiei CAD, semnalele de adresare,
secventiala sau aleatoare, a canalului pentru multiplexor. Sistemul cu multiplexor analogic,
care permite accesul secvential al semnalelor, are dezavantajul unei viteze reduse de
masurare, solutia fiind, in schimb, cea mai ieftina.
0 schema ce prezinta mai multe detalii ale unui sistem de achizitie de date de a
tip, condus de un microprocesor, este prezentata in Fig 5. Microprocesorul este
acompaniat de circuitele uzuale: interfete I/O, memorie ROM, memorie RAM, circuite
timer. Interactiunea cu utilizatorul se face prin dispozitive de intrare (tastatura, mouse) §i
prin dispozitive de ie§ire (monitor, imprimanta). Aceste dispozitive pot fi prezente
intotdeauna sau numai la punerea in functiune. Alte dispozitive apar in configurate doar
daca sunt necesare:
- memorie externa;
- modem;
- placa de retea.
trad. 1 -5 cond.1 - m icroprocesor GDA 1 u.a. 1
- CD A 2 - ua. 2
trad. 2 c o n d .2
MUX DEMUX
a n a lo g ic
digital
CDA n

trad.n c o n d .n utilizatori
ROM €
digitali

memorie monitor modem p la c a de


im prim anta
externa retea
tastatura

Fig-5. Sistem de achizifie de date cu microprocesor,


cu multiplexare temporala.

Microprocesorul trebuie sa asigure:


- semnalele de adresare pentru MUX §\ DEMUX;
- semnalele de comanda pentru circuitul de e§antionare §i memorare;
- semnalele de start conversie pentru convertoarele CAD.
Exista insa numeroase aplicajii la care datele trebuiesc achizitionate simultan din
toate punctele de masura §i intr-un timp relativ scurt. Sistemul de achizitie dedate care
raspunde acestor cerinfe este prezentat in Fig.6.

Fig-6. Sistem de achizitie sincrona de date.

In arhitectura sistemului se remarca amplasarea, pe fiecare canal de intrare, a cate


unui circuit de e§antionare si memorare, in amonte fata de multiplexor. Comanda pentru
trecerea in starea de memorare este data simultan pentru toate circuitele de e§antionare §\
memorare, dupa care ie§irile acestora sunt multiplexate la intrarea CAD. Timpul de
a§teptare, in vederea conectarii la intrarea CAD, este cu atat mai lung cu cat numarul de
canale este mai ridicat; din aceasta cauza, circuitele de e§antionare §i memorare trebuie
sa prezinte o viteza redusa de alterare a tensiunii memorate.
Daca semnalul de la intrare evolueaza rapid In timp, cele doua sisteme de achizitie
precedente, care se bazeaza pe utilizarea unui singur CAD pentru conversie, nu mai sunt
utilizabile. In consecinta, pentru marirea vitezei de masurare, se utilizeaza arhitectura de
sistem prezentata in Fig.7, care prezinta cate un CAD pentru fiecare canal, precedat de
blocul de condijionare a semnalului §i de circuitul de e§antionare §i memorare. Inform ape
digitale sunt aplicate unui multiplexor digital, care selecteaza datele primare §i le transmite
secvential pe magistrala sistemului de calcul.

Registry
CEM CAD tHTTipnn
I I ‘ MUX

CEM CAD
Registry A
tampon
=3 V d
T" TT i
S
i
t
CEM CAD
Rjtgiatru
tampon
A
V
T TT

Fig-7. SAD cu multiplexarea ie§irilor CAD.

Avantajele acestei structuri de sistem sunt urmatoarele: pot fi utilizate convertoare


CAD mai lente §i deci mai ieftine, chiar daca se dore§te o viteza mare de achizitie,
imunitate la perturbajii datorita conversiei locale §i transmisiei sub forma digitala,
posibilitatea separarii galvanice a unei surse de semnal, Tmpreuna cu convertorul analog-
digital aferent, fa|a de restul sistemului.
Componente specifice sistemelor de achizitie de date

4. Circuite de e§antionare §i memorare - In cazul conversiei analog-digitale este


necesar ca semnalul de masurat sa nu-§i modifice valoarea pe intervalul de timp
cat dureaza conversia. Din acest motiv au aparut circuite de e§antionare §i
memorare (CEM), care prelucreaza cate un e§antion din semnal §i asigura
memorarea valorii acestuia pana la sfar§itul procesuiui de conversie. Din punct de
vedere functional, un CEM poate fi reprezentat ca in Fig.20.a; in Fig.20.b sunt
reprezentate formele de unda la intrarea §i ie§irea circuitului, corespunzator celor
doua stari posibile: de e§antionare §i de memorare.
U /' + EsanT. E s a n t.

hfenj
ui
— u CEM

uc

a)
Fig.20. Circuit de csantionarc si memorare:
a) reprezentare functionala: b) diagrama semnalelor.

Procesul de e§antionare §i memorare poate fi urmarit pe baza schemei echivalente a unui


CEM (Fig.21). Cand comutatorul K este inchis, corespunzator starii de e§antionare,
tensiunea la bomele condensatorului urmare§te tensiunea de intrare. La comanda de
memorare, comutatorul K trece in stare deschisa §i tensiunea de ie§ire ramane la valoarea
din momentul respectiv. Trebuie precizat ca se poate vorbi de extragerea unui e§antion
daca starea inchisa a comutatorului K dureaza relativ pu^in. In cazul in care comutatorul
K ramane in stare inchisa un interval de timp lung, func^ia indeplinita este de urmarire §i
memorare.

M
K
Fig-21. CEM cu comutator si condensator.

1 1

Un exemplu de e§antionare periodica a unui semnal analogic este prezentat in


Fig.22, e§antioanele fiind prelevate la intervale egale de timp Te.

Fig.22. Esantionarea periodica a unui


semnal analogic.
Ansamblul x e(t) al e§antioanelor prelevate cu perioada Te din semnalul analogic x(t),
poate fi reprezentat matematic prin produsul dintre semnalul analogic §i funcjia pieptene,
notata <5Te(0, reprezentata printr-o suita de impulsuri.
+00
X e ( t ) = x ( t ) ■8 T e ( f ) = x ( t )
k = -co
Presupunand ca marimea analogica x(t) are, in domeniui frecvenja, spectrul X(f) limitat
de o frecvenja/max, atunci spectrul semnalului e§antionat X e ( f ) arata c ain Fig.23

In situa^ia circuitelor de e§antionare §i memorare, care sunt formate dintr-un


intrerupator §i un condensator ce men^ine pe durata intreruperii valoarea prelevata a
e§antionului, impulsurile Dirac anterioare devin, de fapt, mici dreptunghiuri de la^ime r
(Fig. 13.8). Reprezentarea grafica, in domeniui frecven^a, a cel or doua spectre de
frecvenja X(f) §i X e(f) este prezentata in Fig.24. Se observa ca spectrul este deformat,
deoarece este multiplicat de o funcjie de tipul (sin x)/x.

Fig.24. Esantionarca cu memorare


pe durata r.

In cazul in care r = Te, semnalul e§antionat x e(t) §i spectrul sau X e(f) arata ca in Fig.25
Deformarea spectrului X(f) este datorata termenului :
sin 7fTQ
Fig.25 Spectrul de frccvcnta al semnalului x(t)

Fig.26 Spectrele X(J) §i X e(f).


csantionat si memorat cu r= 7c .

Pentm a mic§ora deformarea trebuie scazuta durata '/e ; in practica se ia '/e = 1/20 F e
min , unde F e min este frecven^a de e§antionare minima impusa de teorema lui
Shannon:
Un semnal x(t) avand spectrul de frecvenfe de tip trece-jos, limitat de o frecvenfa
/max , este caracterizat in intregime prin sirul esantioanelor sale prelevate la intervale
regulate, cu o perioada Te daca :

fe ~ ) 2 / max
Te
Alegerea frecvenjei de e§antionare trebuie corelata cu rezolu^ia convertorului
analog-digital. De exemplu, in cazul unui semnal sinusoidal u(t) = 10sin2;rl00^,
utilizand un convertor de 10 bi{i, cu rezolu^ia q = 10/1024 = 0,01 V §i {inand cont ca
viteza maxima de variable a semnalului este:
d ii'
max 10 • 2 ;r-100 [ V ! s\
dt max
fa{a de frecven^a minima de e§antionare, data de teorema lui Shannon ,/m in = 2- 100=
200 Hz
din condi^ia de corelare rezulta :
1 0 -2 - 100 ■%
fe > = 6,28 • 10 Hz
0,02

adica o frecvenja de e§antionare de circa 3.000 ori mai mare decat cea indicata de
teorema lui Shannon.
Analizand starile din timpul functionarii unui CEM se desprind unele probleme ce
apar la utilizarea in practica:
- Pe timpul e§antionarii este necesara incarcarea rapida a condensatorului; pentru
aceasta este necesara o sursa de semnal cu rezi sterna interna cat mai mica;
- Pe timpul memorarii este necesar ca semnalul memorat sa nu se altereze prea
repede; pentru aceasta este necesar ca dupa condensator sa urmeze un circuit cu rezi sterna
foarte mare de intrare;
- La momentul trecerii de la o stare la cealalta, trebuie mic§orata amplitudinea
regimului tranzitoriu datorat comutajiei.
Jinand cont de posibilitajile multiple de realizare §i interconectare a elementelor
unui CEM, au fost elaborate mai multe tipuri de circuite cu memorare analogica, din care
se realizeaza doua variante de baza: circuite neinversoare (cu condensatorul conectat la
masa) §i circuite inversoare (cu condensatorul conectat in bucla de reac^ie).
Circuitul neinversor practic de e§antionare-memorare confine, la intrarea §i ie§irea
grupului comutator-condensator, doua repetoare de tensiune pentru adaptarea
rezisten^elor (Fig.27) iar comutatorul K este realizat in mod obi§nuit cu tranzistor cu efect
de camp. Circuitul este rapid dar pu^in precis, caci erorile datorate imperfectiunilor
amplificatoarelor, plasate in cascada, se aduna.

v u n v y u v n iu a it i Fig.28 CEM cu doua AO


conectat ca repetor conectate in bucla de rcactic.

In situa^ia unor frecven^e joase §i daca precizia este mai importanta decat viteza, cele
doua amplificatoare se pot include in bucla de reac^ie (Fig.28), rezultand un sistem mai
lent dar mai precis. Comutatoarele asigura realizarea fazelor de e§antionare-memorare §i
tensiunea de reac^ie pentru amplificatorul de intrare, pe durata starii de memorare.
Schema celui de al doilea tip de CEM, inversor sau integrator, este prezentata in
Fig.29 Prezinta avantajul ca amplificatorul lucreaza fara semnal de mod comun; totodata,
cheia tranzistorizata func^ionand aproape de potentialul masei, curentul ei rezidual este
minim.
R.

Fig.29 CEM cu
integrator.

UC Circuit de
comanda

5. Multiplexoare §i demultiplexoare - Arhitectura unui sistem de achizi^ii de


date depinde de tehnica de calcul folosita §i de in te rfe re de intrare §i ie§ire ce
sunt disponibile. In principiu, calculatorul nu prelucreaza simultan decat un singur
semnal, de aceea este necesar sa fie conectat succesiv, dupa o succesiune bine
definita, la fiecare canal de masura. Aceasta este func^ia multiplexorului (MUX).
In acela§i timp, toate rezultatele fumizate de calculator, in mod secvenjial pe
aceea§i ie§ire, trebuiesc dirijate spre destinatari cu ajutorul unui demultiplexor
(DEMUX).
M ultiplexorul analogic (Fig.30) este o components electronica ce confine o
baterie de comutatoare analogice, cu ie§irile legate impreuna, numarul de comutatoare
determinand numarul de canale de intrare. Comanda de inchidere §i deschidere a
comutatoarelor este efectuata printr-o intrare de selectare a canalului, care este o intrare
logica, con^inand unui sau mai multi bi{i. Cu un bit se pot comanda, de exemplu, doua
ft
canale, cu n bi{i, 2 canale. MUX-urile uzuale au 4, 8 sau 16 canale. Fiecare canal este
comandat prin adresa sa, care este, de fapt, numarul canalului. Adresarea poate fi facuta
fie secven^ial, fie aleator. In ultimul caz, rolul de programator il poate avea doar
microprocesorul, care acceseaza direct fiecare canal, in timp ce la modul sec venial
fiecare canal este adresat intr-o ordine bine definita, unui dupa altul.

Fig.30. Multiplexor analogic.

In timpul modificarii adresei, se poate intampla, ca pentru un timp foarte scurt (de
exemplu 0,3 |lx s la dispozitivele CMOS), sa fie inchise simultan doua comutatoare. Este
posibil a se evita aceasta situate prin utilizarea semnalului de “validare” al circuitului de
decodificare, ce blocheaza decodificatorul la fiecare schimbare, pe o durata precizata de
timp (0,5|l x s ).
Multiplexoarele analogice disponibile in prezent au un numar insuficient de
canale pentru sistemele de achizi^ii industriale. Se pot realiza scheme in care se asociaza
mai multe multiplexoare, pentru a spori numarul de canale ale sistemului (Fig.31.a).
Solu^ia din Fig.31.b este preferabila, pentru eliminarea erorii datorate curen^ilor de fuga
ai comutatoarelor ( in acest caz numarul comutatoarelor deschise este mai mic).

a) b)
Fig.31. Crcstcrca numarului de canale:
a) asociere in paralel; b) sub-multiplexare.

La multiplexarea semnal el or de nivel scazut, sub IV, apar o serie de probleme


specifice. Tensiunile de natura termica nu mai pot fi neglijate, impunandu-se diminuarea
lor. Apar §i probleme legate de modul comun, ce conduc la aplicarea diferen^iala a
semnalelor la intrarea multiplexorului §i la utilizarea unui amplificator de masurare, cu
factor ridicat de rejec^ie a modului comun (Fig.32).
Perform an Jele unui circuit de multiplexare depind, in buna masura, de
caracteristicile comutatoarelor utilizate. In multiplexoarele analogice se pot utiliza
comutatoare electromagnetice ( relee “reed”), dar cel mai frecvent se intalnesc
comutatoare realizate cu dispozitive semiconductoare CMOS.

Fig.32. Multiplexor cu intrari difcrcntialc.

Semnale _
de ..
com anda- Validare
t I t ! t
Intrari de date

Fig.33. Schema functionala a multiplexorului digital.

M ultiplexorul digital ( Fig.33) are o func^ionare similara cu cel analogic: pentru a


selectona o intrare, trebuie comandat multiplexorul cu ajutorul unei adrese codate (n
bi^i), iar numarul de intrari poate atinge valoarea N=2W Daca in sistem se utilizeaza mai
multe asemenea circuite de multiplexare, select a unui anumit circuit, la un moment dat,
se realizeaza cu ajutorul semnalului “validare” .
Structura unui circuit de demultiplexare a semnalelor analogice (Fig.34 cuprinde
circuitele de e§antionare §i memorare CEM. Aceste circuite sunt comandate in faza de
“E§antionare” cate unui, in func^ie de semnalul adresa canal, la momentul dat de
semnalul de validare. Utilizarea demultiplexorului analogic pentru un semnal digital
multiplexat necesita, in prealabil, conversia digital-analogica a acestuia.

Fig.34 Structura unui circuit


de demultiplexare analogica.
6. Convertoare digital analogice

6.1. Tipuri de convertoare digital analogice

Posibilitatea integrarii comutatoarelor analogice a permis dezvoltarea


rapida a convertoarelor digital analogice (CD/A). Acestea convertesc un
cod numeric intr-o tensiune sau un curent proportional cu acesta. In
sistemele de achizitie de date pentru masurari, el poate constitui interfata
de iesire a calculatorului numeric permitind restituirea unei marimi
analogice numerizate in prealabil si memorate, pentru a comanda un
proces, o vizualizare, un plotter, etc.

Principalele tipuri de CD/A sint:

■ CD/A cu rezistente ponderate;


■ CD/A cu retea R-2R;
■ CD/A cu curenti ponderati;
■ CD/A cu retea R-2R in scara inversa.

Dintre acestea, cele mai utilizate sub forma integrata sint ultimele trei tipuri,
deoarece primul tip necesita rezistente de precizie intr-o gama foarte larga
de la R-2° la R-2n, unde n este numarul de biti.

6.2. CD/A cu retea de rezistente R-2R

Acest tip de CD/A utilizeaza doua tipuri de rezistente, relativ apropiate ca


valoare. Comutatoarele sint comandate de codul numeric.

Figura 35 CD/A c/e 4 biti cu retea R-2R


Valoarea analogica este suma curentilor insumati de pe intrarea
inversoare a amplificatorului operational, care transforma curentul in
tensiune. Astfel, inchiderea lui K i aduce la amplificatorul operational
curentul h, inchiderea lui K4 duce la curentul h / 8 . Ponderea curentilor
fiind binara, cu MSB la K 1 si LSB la K4 , rezulta:

U _Vc 1 - Uref y ck
0 - Zj k p- '
k=l 2 R 4=12

unde Ck este 0 sau 1 dupa cum comutatorul respectiv este conectat la


masa sau la sursa de referinta.
Exista numeroase variante de CD/A de acest tip, diferenta fiind mai ales in
ceea ce priveste comutatoarele. Dezavantajul major al acestui CD/A este
viteza mica de conversie datorata procesuiui de inversare a curentului prin
rezistenta 2R la comutarea unui bit, care necesita descarcarea si
incarcarea capacitatilor parazite ale comutatorului.

6.3. CD/A cu curenti ponderati

Inconvenientul dispare daca se utilizeaza curenti constanti si circuland in


acelasi sens. Principiul consta deci in a creea curenti ponderati I, 21, 41, 81,
etc. si a insuma acesti curenti in functie de codul numeric.
Alegerea lui I se face astfel incit ponderea curentilor paraziti sa nu se
simta, deci nu prea mic, dar nici prea mare pentru a nu incarca inutil
consumul.

Figura 36 CD/A cu curenti ponderati


Acest tip de CD/A este realizat in general cu tranzistoare bipolare si numai
in varianta integrata, singura capabila sa genereze tensiune V b e identice
prin realizarea de suprafete ale emitatorilor proportionale cu curentii de
colector.
Din aceasta familie fac parte CD/A realizate de diferite firme: Motorola MC
3408, Advanced Micro Devices AM 1408.
Timpii de stabilire dati in catalog sint de 250 ns, la care se adauga
raspunsul amplificatorului operational la treapta de tensiune. Acest tip de
CD/A nu este totusi prea folosit datorita dificultatii de a realiza surse de
curent stabile.

6.4. CD/A cu retea R-2R cu scara inversata

Aceasta familie ocupa la ora actuala un loc important gratie pretului


accesibil si performantelor superioare celor ale montajelor precedente.

Figura 37 CD/A cu retea R-2R in scara inversa

Structura de baza este o retea R-2R, dar curentii in rezistenta R-2R circula
mereu in acelasi sens. Se pot utiliza rezistente de valoare mare fara a
compromite viteza de conversie, ceea ce permite micsorarea erorilor
datorate rezistentelor de fuga (citeva sute de ohmi) a comutatoarelor
analogice.
Se poate arata ca:

I
IA .
- __2_ • T - _A_-
IA .
TI -
Uref
b >A c - ^ j ... iar
2-R

Curentii foarte slabi pot fi influentati de curentii de polarizare ai


amplificatorului de tensiune, de decalajul de offset, etc., de aceea aceste
elemente pot afecta precizia sistemului.
Doua deficiente pot fi semnalate in ceea ce priveste acest tip de CD/A.
Prima se refera la faptul ca eroarea asupra unui curent ponderat
corespunzator unui bit se repercuteaza in acelasi mod in toate conversiile
in care acest bit este utilizat. A doua deficienta se refera la prezenta
parazitilor de comutatie la fiecare schimbare a codului.
Este de fapt imposibil sa se asigure o functionare instantanee si simultana
a tuturor comutatoarelor. Parazitii sint cu atit mai importanti cu cit comuta
un numar mai mare de biti. Circuitele, prin banda de trecere limitata, reduc
aceste zgomote, care in multe cazuri nu deranjeaza. Se poate utiliza si un
circuit de esantionare si memorare dupa CD/A pentru a mentine iesirea
decuplata pe perioada tranzitiei.
Un CD/A de acest tip este AD 7533 al firmei Analog Devices. El poate
converti codul numeric fie intr-o tensiune unipolara 0 + 10 V, fie in tensiune
bipolare -5 V + 5 V.

6.5. Principalele caracteristici ale CD/A

6.5.1. Rezolutia

Este definita ca 1/2n, unde n este numarul de biti. Este legata de cuanta:

Uref
q = ~^~ (0 -1 )
Mai poate fi definita si in procente din scala (FSR).

6.5.2. Precizia (exactitatea)

Este raportul dintre diferenta maxima dintre valoarea citita si cea adevarata
raportata la toata scala. Tine cont de toate erorile aratate mai jos.

6.5.3. Eroarea de decalaj (offset)

Caracterizeaza diferenta dintre tensiunea nula cind N=000....0 si tensiunea


de iesire reala. Ea poate fi de obicei reglata la zero si este exprimata in
procente de scala sau in fractiuni de cuanta.

6.5.4. Eroarea de am plificare (cistig)

Este eroarea dintre valoarea citita si cea ideala la cap de scara, eroarea
initiala (de offset) fiind nula. Se exprima in procente din scala. (FS)
6.5.5. Eroarea de liniaritate

Erorile de offset si de amplificare fiind compensate, eroarea de liniaritate


este diferenta maxima eM intre curba reala si dreapta ideala. Ea se
exprima in procente din scala sau in fractiuni de cuanta.

Figura 39 Eroarea de liniaritate

6.5.6. Linearitatea diferentiala

Tranzitia de la un cod la altul adiacent la un CD/A ideal produce la iesire o


variatie de o cuanta. Pentru un CD/A real, variatia poate fi diferita si sa
aiba valoarea DV.
Eroarea de neliniaritate diferentiala este:
= |AV-q|

6.5.7. Monotonia

Cresterea monotona a codului N trebuie sa atraga o crestere monotona a


tensiunii de iesire VO- In caz contrar avem eroare de monotonie, datorata
numai neliniaritatii diferentiale.
Figura 40 Eroarea de nemonotonie

6.5.8. Timp de stabilire

Pentru o variatie a codului N timpul de stabilire este timpul necesar pentru


ca tensiunea de iesire sa atinga valoarea finala cu o eroare impusa e. In
general se considera variatia de la zero la valoarea maxima.

Figura 41 Definirea timpului de stabilire

6.5.9. Cadenta conversiilor (rata conversiilor)

Este numarul de conversii pe secunda pentru care specificatiile sint


respectate.

6.5.10. Marimi de influenta

- influenta temperaturii este data printr-un coeficient de


temperatura exprimat in ppm/°C;
- influenta derivei pe termen lung este datorata imbatrinirii
componentelor;
Caracteristica cea mai afectata este eroarea de amplificare.
6 .6 . C riterii de alegere ale unui CD/A

Principala caracteristica urmarita este rezolutia convertorului, exprimata


prin numarul de biti ai valorii generate.
Al doilea criteriu important il constituie viteza conversiei, care impune rata
conversiilor. Pentru aplicatii cu variatii lente pot fi alese CD/A mai lente si
mai ieftine.
Un al treilea criteriu il constituie precizia legata de toate tipurile de erori
prezentate si de marimea acestora. In general, precizia este legata si de
rezolutie, pentru ca un CD/A cu un numar mare de biti nu poate avea o
precizie redusa, in acest caz nejustificindu-se rezolutia mare.
Trebuie avute de asemenea in vedere criteriile legate de fiabilitate pentru a
se obtine siguranta in functionare impusa de anumite aplicatii.
Alegerea tipului de CD/A si al firmei producatoare se va baza deci pe o
analiza atenta a raportului performante-cost, cautind sa obtinem
performantele necesare la un pret de cost cit mai rezonabil.
7. Convertoare analog digitale

7.1. Tipuri de CA/D utilizate in sistemele de masurare

Conversia in tensiune continua a marimilor de masurat fiind in general mai


usor de realizat, convertorul analog digital are sarcina de-a efectua
conversia acestei tensiunii in semnal numeric.
Din numeroasele posibilitati existente cele mai frecvent utilizate principii in
sistemele de masurare includ:
- convertorul paralel
- convertorul cu aproximatii succesive
- convertorul tensiune frecventa si tensiune timp cu numararea
impulsurilor
- convertorul cu urmarire

7.2. CA/D paralel (Flash Convertor)

Principiul acestui tip de convertor analog digital consta in compararea


tensiunii de intrare Ux cu un numar n de tensiunii de referinta simultan.
Astfel, pentru cazul unui convertor cu trei biti, schema de principiu este
data in figura 3.1, in care U|_SB=Uref / 7.

Figura 42 CA/D paralel cu 3 biti


De exemplu, daca 5/2 U|_SB < Ux < 7/2 UlSB , comparatoarele 1 , 2 si 3
au iesirea pe “1”, iar celelalte pe “0”. Sistemul logic de iesire decodifica
starea de iesire a comparatoarelor in numarul 3, in binar 11.
Sistemul logic poate fi constituit dintr-o baterie de circuite basculante
urmate de un decodor de prioritate.
Acest tip de convertor analog digital este foarte rapid, timpul sau de
conversie fiind limitat doar de timpul de propagare prin comparatoare si
porti logice. Cu circuite logice ECL, frecventa de ceas poate atinge chiar si
50 + 100 MHz.
In acelasi timp, acest tip de convertor necesita un numar de comparatoare
m Q
egal cu 2 -1 pentru un CA/D cu n biti. Astfel, pentru n= 8 sint necesare 2 -
10
1=255 comparatoare, iar pentru n=10 sint necesare 2 -1=1023
comparatoare.
Daca viteza de conversie nu este esentiala este posibil sa se obtina o
rezolutie mai buna cu ajutorul artificiului prezentat in figura 3.2.

Linie de intirziere

p biti mai sem n ific a tiv i q biti mai pu tin se m nificativi

Figura 43 Imbunatatirea rezolutiei unui CA/D paralel


Astfel, primul CA/D cu p biti face conversia bitilor celor mai semnificativi.
Codul numeric cu “p” biti aplicati unui CD/A va genera tensiunea U’x ,
apropiata de Ux . La un sumator se obtine diferenta Ux - U’x care va fi
convertita de un al doilea CA/D in “q” biti, corespunzatori celor mai putin
semnificative biti ai codului final. Vor rezulta astfel n=p+q biti.
Deoarece Ux este aplicata si la primul CA/D si la sumator, ea trebuie
pastrata constanta pe durata ambilor pasi ai conversiei. De aceea, la
intrare se prevede un circuit de esantionare si memorare care mentine
constanta tensiunea Ux-
Cu acest artificiu se pot obtine timpi de conversie de citeva nanosecunde
pentru o valoare de 4 biti. Se poate spune ca acest tip de CA/D are un
viitor foarte promitator.

Exemplu: Convertorul analog digital CAV-1210


Performante:
■ n= 1 2 biti;
■ Tconv =22.5 ns;
■ frecventa de tact: 10 MHz.

Se pot vedea cele doua etape ale conversiei. De notat ca bitul cel mai
semnificativ (MSB) al lui CA/D2 determina corectia necesara pentru primii
6 biti ai lui CA/D1; in functie de valoarea sa, circuitul lasa sa treaca acesti
primi 6 biti neschimbati sau le adauga 1. Bitii 2^7 ai CA/D2 constituie ultimii
6 biti ai CA/D.

7.3. CA/D cu aproximatii succesive

Principiul de functionare este dat in schema din figura 45.


Figura 45 Schema functionala a convertorului cu aproximatii succesive

Se remarca similitudinea care exista intre acest principiu si masurarea


tensiunilor continue cu ajutorul metodei potentiometrice. Galvanometrul si
operatorul sint inlocuiti de comparatorul de tensiune. Operatorul, care
decide decadele necesare pentru realizarea echilibrului potentiometrului
este inlocuit de CD/A.
Daca pe durata conversiei Ux poate varia se “fixeaza” tensiunea cu un
circuit de esantionare si memorare.
Durata conversiei depinde de numarul de biti ai registrului si ai CD/A si de
frecventa de ceas. S-au obtinut actualmente timpi de conversie de ordinul
microsecundelor.
Tensiunea de convertit se poate scrie:
B, • 2 n~' + B , • 2n~2+.. ,+Bn -2°
U = U • —---------- 2 n
2n
Pentru a obtine coeficientii Bi , .. Bn, aparatul genereaza o serie de
tensiuni pe care le compara cu Ux si rezultatul comparatiei va selecta bitii
pe 0 sau 1 (vezi figura 3.5).
Exemplul urmator ilusteaza functionarea in cazul in care consideram,
pentru simplitate, n=3:
Tact 1. Ux se compara cu Ur /2; Ux > Ur 12 => Bi =1; ( bitul cel mai
semnificativ).
Tact 2. Ux se compara cu — + — : u < — + — =^>b 9 = o
2 4 x 2 4 2
Tact 3. Ux se compara cu
Ur U U U U
B, •— + B, — - H L; U x > — + 0H
- => B, = 1
2 4 8 2 8

Rezulta: u x = — • (io i)2.


Figura 46 Diagrama conversiei la convertorul cu aproximatii succesive
Diferenta dintre Ux si tensiunea U de comparatie nu este anulata, ci
neglijata si este inferioara lui Ur / 2 n.
Aceste familii de convertoare analog digitale sint destul de rapide si ieftine,
de aceea sint utilizate curent in sistemele de achizitii de date rapide. In
aceste situatii este indispensabila asocierea la intrare a unui circuit de
esantionare si memorare (E/M) (AD 582 de exemplu si CA/D AD 571).
Pentru masuratori precise, utilizatorul trebuie sa tina seama de faptul caci
comparatorul de la intrarea CA/D este foarte sensibil la zgomot, precizia
conversiei putind fi compromisa.

Exemple de CA/D compatible cu microprocesoarele

CE CS RW Form at B P O A JP O

iesire c u trei stari

Figura 47 Structura unui CA/D compatibil cu microprocesorul


Organizarea cea mai simpla este cea din figura 3.6, in care se pot deosebi:
- iesire cu trei stari;
- cinci intrari de comanda;
- CS (Chip Select), CE (Chip Enable), R/W (Read / Write);
- Format: cod binar sau complementul lui 2;
- BPO:UPO (bipolar / unipolar range);
Microprocesorul poate initia conversatia cu CA/D punind R/W, CS si CE la
nivel 0. Linia STATUS trece atunci pe 1, ea coborind pe 0 la sfirsit de
conversie.

Exemplul 1: convertorul analog digital AD 670.

Caracteristici:
■ rezolutia: 8 biti;
■ timp de conversie: tc = 1 0 ms;
■ alimentare simpla: +5V.
De remarcat ca acest CA/D utilizeaza o linie de intirziere (Delay Line)
pentru a realiza secventele de timp pentru conversie, aceasta permitind
eliminarea oscilatorului ceasului incorporat pe dispozitiv, care necesita
lantulde circuite basculante ale registrului de decalare.
Secventa conversiei este stabilita prin generarea unui impuls la inceputul
fiecarei conversii. Acest impuls se propaga in lungul liniei de intirziere, ea
generind pe calea sa actiuni adecvate in punctele necesare pentru a
comanda functionarea CD/A (DAC) si fixarea datelor la iesire.

Exemplul 2: convertorul analog digital in tehnologie CMOS AD 7576


Cu o rezolutie de 8 biti, un timp de conversie de 15 ms, punctul de interes
al acestui convertor este interfatarea usoara cu un microprocesor si
consumul foarte scazut (citiva mW). Comparatorul C este conceput pentru
o rezolutie de citiva zeci de mV la intrare in gama 0 ^ 10V (Uref = 10V).
Frecventa oscilatorului ceasului este determinata de rezistente si capacitati
exterioare.
Un avantaj al CA/D cu CMOS este facultatea de-a incorpora numeroase
functii logice, ceea ce explica multitudinea de moduri de interfatare cu
microprocesorul.
Un exemplu semnificativ este furnizat de CA/D AD 7576 (fig. 3.8) capabil
de-a functiona in mod asincron si in mod sincron.
Selectia se face cu ajutorul semnalului MODE:
■ MODE = 1 -- dispozitivul efectueaza conversia numai daca CS si
RD sint activate;
■ MODE = 0 -- conversia se face continuu, comanda CS si RD fiind
utilizate numai pentru a permite accesul la datele de iesire.

La interfatarea cu o memorie lenta, pentru microprocesoare care admit


starea de asteptare (WAIT) < 5ms, microprocesorul da ordinul de
conversie si se opreste pina la citirea rezultatului conversiei. Imediat dupa
comanda conversiei semnalul BUSY cade la nivelul 0 si antreneaza
intrarea READY a microprocesorului la 0 pentru a plasa microprocesorul in
starea WAIT. Atunci cind conversia este terminata (BUSY ia nivelul 1),
microprocesorul termina atunci citirea memoriei. Interesant ca in aceasta
interfata microprocesorul comanda conversia si isi citeste datele cu o
simpla instructiune READ.
c s ^ S__________
— 5 — M 5-
f
RD >
^ .
^ tc o n v ^

BUSY V j
r - „ (6 _
S---- —---- ?

< -------- ---------- s


DATA Im pedanta ridicata ’J j ■v'echile date ’J f noile date ’J flm p . ridicata

Figura 50 Diagrama de timp la interfatarea cu o memorie lenta

7.4. CA/D cu integrare si numarare de impulsuri

Acest procedeu de conversie foarte simplu ofera, cu putine componente, o


precizie foarte buna. In acelasi timp, durata conversiei este mult mai lunga
ca la procedeele anterioare (in jur de 0.1 100 ms). Dar cum cea mai
mare parte din marimile fizice uzuale evolueaza lent, aceste CA/D au un
domeniu de aplicatie foarte larg.
CA/D cele mai raspindite din aceasta familie sint:
- convertorul cu simpla rampa;
- convertorul cu dubla rampa;
- convertorul cu tripla rampa;
- convertorul cu multipla rampa;
- convertorul tensiune-frecventa;

7.4.1. CA/D cu simpla rampa


AB
Ux

CA
+_v-'
Sistem AB
lo gic

r CB
+
P oarta N A fisaj

z e :
O scilator

G en era tor C ircuit de


ram pa co m a n d a

Figura 51 Schema functional a CA/D cu simpla rampa si dubla polaritate


Procedeul consta in a compara o tensiune rampa (liniar crescatoare) din
momentul 0 pina devine egala cu tensiunea Ux de masurat. Numarul de
impulsuri furnizat de un oscilator de precizie in acest interval este

Figura 52 Principiul de functionare al CA/D cu simpla rampa si dubla


polaritate
Daca este necesara masurarea unei tensiuni avind polaritate diferita,
atunci schema unui astfel de convertor trebuie sa aiba un generator de
rampa de la -Uref la Uref si un detector de polaritate care trebuie afisata

In cazul Ux >0:
Ux = — ■
-(tj - t 0) = - ^ — T0 -N
x RC V ' RC

In cazul Ux < 0 :
Sistemul logic va comanda in functie de iesirile comparatoarelor
A B -> + sau AB —» - .

t<to to<t<t t>t1


1
A 0 0 1
B 0 1 1
AB 0 1 0
Cazul U x> 0

t<t2 t2<t<t t>to


0
A 0 1 1
B 0 0 1
AB 0 1 0
Cazul U’x < 0
Precizia acestui CA/D este in general mica, caci ea depinde de precizia si
stabilitatea tensiunii rampa Ur si de oscilator. Pe de alta parte este foarte
sensibil la zgomote. Se poate utiliza un filtru pe intrare sau aplicarea
semnalului util la intrarea unui integrator. Se obtin in acest fel CA/D
tensiune - frecventa.

7.4.2. CA/D tensiune - frecventa

Figura 53 Principiul de functionare al convertorului tensiune frecventa


In acest caz principiul se bazeaza pe conversia tensiunii Ux intr-un semnal
periodic de frecventa fx proportionala cu Ux care se masoara intr-un
interval de timp fixat.
Tensiunea Ux se aplica la intrarea unui integrator, iar la iesirea acestuia se
obtine o rampa cu panta proportionala cu Ux- La atingerea tensiunii de
referinta Ur un comparator basculeaza si descarca foarte rapid
capacitatea C si ciclul reincepe (vezi figurile 3.12 si 3.13).

U rr = ——
R C • U xx Tx = > U X =
x R C U rr f x (0.1)
V /

Un circuit poarta, comandat de o baza de timp, va da acces spre


numarator pulsurilor de frecventa fx pe durata To, astfel ca:
U ,= ^-U ,-N (0 .2 )
-*-0
Un avantaj al acestui principiu este ca se pot elimina parazitii de frecventa
retelei prin integrarea pe un multiplu al perioadei acesteia (To = n -20 ms) a
semnalului de masurat.
Valoarea medie a zgomotului alternativ este astfel nula. CA/D Ux - » fx are
deci o buna rejectie a zgomotelor de retea.
Precizia CA/D ramine dependenta de precizia si stabilitatea integratorului,
a tensiunii de referinta si a frecventei oscilatorului, mai ales pe termen
lung.
Citeva exemple practice sint prezentate in tabelul 3.3.

Tipul Frecventa Eroare de Stabilitatea frecventei


maxima liniaritate (%) cu temperatura (ppm/
(kHz) C)
AD 450 10 0.005 25
AD 537 1 00 0.07 50
AD 650 1000 0.01 1000

Performantele unor CA/D tensiune - frecventa

Exemplul 1: Constructia CA/D AD 537

Acest CA/D simplu de utilizat si ieftin este foarte raspindit. El necesita o


rezistenta si o capacitate pentru realizarea:

Amplificatorul de intrare functioneaza ca un convertor tensiune - curent si


are o deriva termica mica (±1mV/°C), ceea ce permite intrarea directa de la
unele traductoare, cum ar fi termocuple, punti tensometrice, sunturi, etc.
Partea principala a CA/D este un convertor curent - frecventa (lx -» Ux) cu
gama dinamica larga (de la 100 nA la 2 mA) care necesita numai un
condensator exterior.
Figura 55 Schema functional a CA/D Ux /-> fx tip AD 537
Coeficientul de temperatura ( = 300 ppm/°C) este compensat de sursa de
referinta incorporata in integrat. Aceeasi sursa furnizeaza la o iesire o
tensiune precisa de 1V pentru senzori pasivi si la alta iesire o tensiune de
1mV/K pentru utilizarea integratului ca un convertor temperatura-frecventa
sau efectuarea unor corectii dependente de temperatura ambianta.
Etajul de iesire constituit de un tranzistor cu colectorul in gol poate furniza
pina la 20 mA. Aceasta permite cuplarea cu o dioda luminescenta pentru
transmiterea optica a frecventei sau cuplarea a 12 sarcini TTL.
Masa logica poate fi conectata la orice potential intre zero (minusul masei)
si 4V (sub potentialul plusului alimentarii). Aceasta permite interfatarea
usoara cu diferite familii de circuite logice.
El da la iesire impulsuri dreptunghiulare, deci poate fi folosit si ca oscilator
comandat in tensiune (VCO) pentru buclele cu calare pe faza (PLL).
Un CA/D Ux -> fx cu o neliniaritate de 0.01% este compatibil cu un CA/D
de 12 biti cu o liniaritate diferentiala de ± 1/2 bit.
Aceasta permite utilizarea CA/D Ux -» fx in imediata apropiere a
senzorului sau sursei de semnal si transmiterea la distanta mare a
semnalului discretizat (frecventa) pentru a fi prelucrata numeric
(vizualizare, inregistrare, comanda, etc.)
7.4.3. Convertorul cu dubla rampa

Conversia se efectuaza in doua etape:

A. Prima etapa

Tensiunea Ux se aplica la intrarea integratorului un timp t i egal cu Ni


perioade ale ceasului.
I f u u
------- [ U x -dt = ^ - t 1 = ^ - - N 1-T0
R- Cj RC RC
Numarul Ni are in general o valoare rotunda si fixa (de exemplu 1000)
egala cu numarul maxim ce il poate numara numaratorul.

B. A doua etapa

Se comuta intrarea integratorului pe o tensiune de referinta fixa de semn


opus -Ur- Integrarea continua pina cind tensiunea Uo de la iesirea
integratorului se anuleaza.
Numarul de perioade de ceas numarate va fi N:
u„ u u
; ' N r T o ^ u x = ~ ' N
RC RC x Nj

Figura 56 Principiul de function are a CA/D cu dubla rampa


Comparatorul va detecta trecerea prin zero si va opri numararea prin
inchiderea portii. Acest numar N este proportional cu Ux si independent de
R, C si de To.
Aceasta inseamna o buna stabilitate in timp, rejectarea semnalelor
parazite prin alegerea lui T=n Tretea- Singura sursa de erori poate fi Up.
Desi timpul de conversie creste, aceasta metoda da in multe aplicatii
performante satisfacatoare. Se pot realiza precizii mai bune de 10"4,
rezolutii de 1 mV, o liniaritate 0.005% din gama, o stabilitate de etalonare
de citiva ppm/°C, o impedanta de intrare de ordinul GW, rejectie de mod
comun de 150 dB in cc si 100 dB in ca.

CA/D cu dubla panta este pe de departe cel mai folosit in voltmetrele


numerice cu care se masoara si alte marimi fizice convertite in tensiune cu
ajutorul unor senzori adecvati. De aceea trebuie cunoscute limitele si
perfomantele sale.
- Stabilitatea tensiunii de referinta. Ur este asigurata de diode Zenner.
Acestea au rezistenta dinamica minima de 6 .8 V, iar coeficientul de
temperatura (-0.062 %/°C +0.06%/°C) minim, (zero) intre 5.1V si 5.6V.
Se poate adopta si compensarea factorului de temperatura cu diode.
Variatia lui Ur nu depaseste de obicei citiva ppm/°C.
- Imperfectiunile comutatoarelor. Daca se utilizeaza tranzistoare J-FET,
acestea nu au rezistenta in conductie (Ron) nula, iar, pe de alta parte, in
stare deschisa, are curenti foarte slabi de saturatie inversa, intre drena si
grila si intre sursa si grila.
Acestia din urma se pot neglija dar Ron nu pentru ca se adauga la intrarea
integratorului. S-ar putea minimiza aceasta influenta prin cresterea lui R la
intrare, dar atunci curentul devine comparabil cu cel de polarizare al
amaplificatorului operational care va da erori.
Mai importanta este variatia lui Ron cu temperatura (+0.7%/°C) care
contribuie, in principal, la eroarea de fidelitate a aparatului.
- Imperfectiunile integratorului. Doua sint erorile mai importante:
tensiunea de decalaj (offset) si neliniaritatea rampei de integrare.
Fie, de exemplu, Ud tensiunea de decalaj la intrare. Atunci:
u -u
Aceasta tensiune variaza cu temperatura pina la 100 mV/°C. O variatie de
citeva grade ar putea altera astfel bitul cel mai putin semnificativ. La
voltmetrele de mare precizie se compenseaza tensiunea de decalaj cu
schema din figura 58.
Metoda consta in masurarea acestei tensiuni inaintea conversiei, inlocuind
pe C i cu R prin comutatorul K i. Ansamblul AO i si AO 2 constituie un
repetor de tensiune.
Tensiunea astfel masurata este stocata pe Co pina la faza de masurare
propriu-zisa, cind ea se va scadea din tensiunea de decalaj totala egala cu
Ud -RIs , unde Ud este tensiunea de decalaj propriu-zisa, iar Is curentul de
polarizare al lui AO 1 la borna
Neliniaritatea rampei se datoreaza in principal rezistentei de fuga a
condensatorului C 1 si cistigului amplificatorului. O liniaritate de 0 .0 0 1 %
acum este perfect realizabila. C 1 ca si Co trebuie sa fie cu dielectric

Daca rampa pozitiva este egala cu cealalta, efectul de neliniaritate se


compenseaza.
- Im perfectiunile comparatorului. Aceleasi imperfectiuni ca ale
amplificatoarelor le gasim si aid: amplificare finita, tensiune de decalaj
(offset), curenti de polarizare, etc.
Efectul curentului de polarizare poate fi neglijat, rezistenta de iesire a
integratorului fiind practic nula. Amplificarea finita va produce 0 eroare la
nivelul de comparare ca si tensiunea de decalaj. In general, timpul de
basculare si precizia sint de obicei, proprietati inverse.
O solutie de compromis se situeaza la cam la citiva mV tensiune de
decalaj, 30 mV/°C deriva, 100 ns timp de raspuns.
Exemple de integrate realizate pe acest principiu in tehnologia CMOS:
in cod binar:
AD 7550 (Analog Devices) -- 13 biti;
ADC-EK 8B...12B (Datel) - 8 biti 12 biti;
in cod BCD:
ADC 1100 (Analog Devices) -- 3 1/2 digiti;
MC 14433 (Motorola) - 3 1/2 digiti;

7.4.4. C onvertor cu tripla rampa

Prima etapa de la CA/D cu dubla rampa se pastreaza, deci se


inregistreaza Ux pe T i .
Etapa a doua are doua faze.

Prima faza

Cuprinde descarcarea rapida dupa t i la o tensiune mica Us = 100 mV.


Aceasta descarcare rapida se obtine prin inlocuirea rezistentei R cu una
de valoare mult mai mica R’ (de exemplu R/100).
Fie N2 numarul de perioade de ceas din aceasta descarcare.

U - U s = - ^ — ioo-n 2 - t 0 (Error! No text of specified style in document.. 1)


C•R

Figura 59 Principiul de functionare al CA/D cu tripla rampa

Figura 60 Schema functionala a CA/D cu tripla rampa


A doua faza

Incepe atunci cind un detector de mod va sesiza Uo =Us la iesirea


integratorului si atunci va reinlocui R’ cu R la intrarea integratorului.
Aceasta faza de descarcare va fi scurta deoarece Us este foarte mic.
Fie N3 numarul de impulsuri de ceas numarate in aceasta perioada. Cind
Uo =0:
Ur
U ss = — —-n 33 -t 00
C .R

Bilantul celor trei faze va fi:


Ux Ur Ur
— —-N,1 •T0
C . R 0
= — —-100-N22 -T00 + —
C . R c
- • N,3 -T00

U- = i L'( 100' N l+ N j)

In faza a doua descarcarea e mai lenta, pentru a permite o numarare


precisa a ultimelor impulsuri. Timpul poate fi mai scurt decit in CA/D dubla
rampa, conservind in acelasi timp aceeasi rezolutie.
O a doua varianta prevede Us < 0 si dupa atingerea -Us, se schimba atit
R 1 cu R, cit si Ur cu -Ur astfel ca din N2 se vor scadea N3 numarat in
ultima faza.

7.5. Principalele caracteristici ale unui CA/D

Anumite caracteristici sint definite intr-o maniera identica, ca si la CD/A,


cum ar fi:
rezolutia;
precizia;
erorile de decalaj (offset);
erorile de amplificare;
erorile de liniaritate;
viteza conversiei;
marimile de influenta.
Alte caracteristici sint specifice CA/D, incluzind cele de mai jos.

7.5.1. Eroarea de histerezis

Aceasta eroare provine de la comparator, ea nu trebuie sa depaseasca ±


q/2 (q -- cuanta de numerizare).
Figura 61 Caracteristica de transfer

7.5.2. Eroarea de cuantificare

Caracteristica de transfer a CA/D este o functie in trepte de scara.


Cuantificarea introduce o eroare sistematica. Aceasta eroare poate fi
centrata sau decalata.
In cazul unui semnal analogic Ux evoluind sub forma unei rampe de
tensiune eroarea va fi:
e =Uo(t)-Uj (t) (Error! No text of specified style in document..2)
Aceasta eroare este reprezentata in figura Error! No text of specified
style in document..2 1 .
Aceasta eroare este considerata ca un zgomot suprapus peste semnal. Se

poate arata ca valoarea sa efectiva este egala cu la eroarea centrata


Figura 62 Cuantificarea semnalului la iesire

q/2
-q/2
\R N N N K I\N N f\N

Figura 63 Eroare de cuantificare centrata

, > s N \ N \ J\ l^ '

Figura 64 Eroare de cuantificare decalata


Zgomotul de cuantificare apare astfel ca valoarea patratica medie datorata
semnalului de eroare in functie de timp.

7.5.3. Coduri lipsa

Daca o eroare diferentiala de liniaritate este superioara unui LSB se


produce un raspuns nemonoton. Aceasta eroare este cauza codurilor
lipsa.
De exemplu, daca semnalul analogic este usor inferior celui necesar
codului 0 1 0 , atunci el se converteste in 0 0 1 , iar cind este superior lui 0 1 0
se converteste in 011. Codul 010 nu exista deci.
7.5.4. Rejectia semnalelor parazite

Rejectia semnalelor parazite poate fi in anumite aplicatii foarte importanta,


pentru ca acestea pot afecta foarte mult precizia masurarilor.
Se disting doua feluri de zgomote: zgomote “serie” (sursa de zgomot in
serie cu semnalul util) si zgomote “de mod comun” care intervin in cazul
intrarilor flotante.
Rejectia de mod serie va fi analizata in continuare la diferite tipuri de CA/D.
Un exemplu concret se poate gasi la conectarea unui termocuplu cu un
releu cu bobina alimentata la 50 Hz. Aceasta induce o tensiune parazita cu
f=50 Hz in serie cu eo data de termocuplu.
Se defineste ca factor de rejectie de mod serie raportul in dB al valorii de
virf a semnalului parazit ce produce o variatie a semnalului la iesire, pe
valoarea semnalului de intrare analogic care produce aceeasi variatie.
Se poate elimina zgomotul de mai sus cu un filtru care va micsora viteza
de raspuns cu cit el va fi mai eficace.
CA/D care poseda la intrare un circuit integrator (CA/D U -» f, dubla
rampa, tripla rampa) permit reducerea parazitilor alternativi si armonicile
lor, daca perioada de integrara este convenabil aleasa.
In sfirsit, sa luam exemplul masurarii unui semnal continuu “e” peste care
se suprapune o tensiune parazita uzs(t)=Uzssin(wt+j).
Semnalul de intrare la bornele voltmetrului este deci:
u(t)=e+Uzssin(wt+j)
Fie T durata integrarii. Valoarea medie va fi:

Daca T este multiplu de 2p/w, al doilea termen dependent de zgomot va fi nul.


Integrator^ efectueaza deci un filtraj, dar acest filtraj este valabil pentru o
singura frecventa f=w/2p si armonicile sale. Factorul de rejectie mod serie
se poate serie:
co-T
N M R R ( d B ) = 20 lg
cos(<z>T + (p )- cos(cp)
Rejectia este infinita pentru frecvente multiple de 1/T. In practica, semnalul parazit
este in principal tensiunea de 50 Hz a retelei.
Unui din avantajele CA/D cu integrator este rejectia acestor semnale, dar
aceasta face ca timpul minim de conversie sa fie » 20 ms. Daca durata T
nu este un multiplu al perioadei semnalului parazit, defazajul intre perioada
de integrare si semnal da o eroare variabila, dependenta de frecventa si
defazaj.
7.6. C riterii de alegere a CA/D

Criteriile esentiale dupa care se ale CA/D pentru diferite aplicatii sint in
principal trei:
- timpul de conversie,
- precizia de conversie care cuprinde in fapt toate sursele de
erori enumerate mai sus: histerezis, eroarea de cuantificare,
rezolutia (numarul de biti), etc.;
- rejectia zgomotelor,
Se deosebesc astfel citeva situatii distincte in care sint preferate cu
precadere unul sau doua din cele trei caracteristici importante ale CA/D.
1. Aplicatii in care semnalul metrologic variaza lent, nivelul semnalului este
mic, zgomotul in mod serie poate fi improtant, precizia ceruta fiind relativ
mare. In aceasta situatie se prefera CA/D cu integrare, la nivele mari de
zgomote, sau CA/D cu aproximatii succesive, la nivele mici de zgomot.
Uneori se prefera CA/D tensiune - frecventa, mai ales cind semnalul
trebuie transmis la distanta mare de senzor si conversia trebuie facuta la
locul masurarii.
Ca exemple se pot cita:
- domeniul masurarii temperaturilor cu termocuple sau
termorezistente;
- domeniul masurarii presiunilor si fortelor in regim static;
- domeniul masurarilor de debite sau nivele, unde variatiile sint
lente;
- masurarea pH in industria chimica.
2. Aplicatii in care semnalul metrologic variaza in domeniul frecventelor
joase (10 Hz ^ 1 kHz), zgomotele sint de nivel mediu sau mic, precizia
ceruta fiind relativ buna (0.5 ^ 2.5 %).
Pentru aceste aplicatii sint de obicei preferate CA/D cu aproximatii
succesive, care asigura viteze bune de conversie, precizie buna, numarul
de biti alesi fiind un compromis intre viteza (invers proportionala cu
numarul de biti) si precizie.
Exemple de aplicatii se pot cita:
- masurari si achizitii din retele energetice (la f=50 Hz);
- masurari de presiuni in regim dinamic: acceleratii, vibratii,
presiuni, cupluri, etc.
3. Aplicatii in care semnalele variaza cu viteze mari (f > 1 kHz ^ 10 MHz),
zgomotele sint de nivel mic datorita filtrelor trece-banda, precizia ceruta
fiind modesta.
In aceste aplicatii sint preferate CA/D cu conversie directa.
Domeniile de aplicatii: telecomunicatii digitale, televiziunea digitala,
osciloscoape digitale, comunicatii spatiale, etc.
In afara acestor aplicatii tipice se pot intilni o paleta foarte variata de situatii
practice in care trebuie facute compromisuri pentru alegerea solutiei
optime. Aceste compromisuri devin cu atit mai neinsemnate si mai usor de
depasit cu cit performantele componentelor de care se dispune sint mai
bune.
SISTEME CU MICROPROCESOARE
1 . Introducere
Aparatele §i sistemele controlate cu microprocesor au aparut §i s-au perfectionat odata cu aparitia
pe piata a miroproesoarelor (1970 -1980) dupa care (in special dupa 1985) s-au raspandit foarte rapid,
inlocuind aproape complet aparatele §i sistemele de masura §i control numerice clasice (cu logica
cablata), atit in tehnica de laborator cit §i in instrumentatia industrials, mai ales in controlul automat.
Clasificarea sistemelor cu microprocessor
In functie de complexitatea sistemului din care face parte vom avea:
- aparate de masura cu microprocesor - utilizate ca instrumente de laborator sau de teren;
- sisteme de masura cu microprocesor - folosite in complexe de masura §i control in industrie.

1.1 Avantajele fo lo sirii microprocesoarelor in sistemele de masura $i control


Includerea unui microprocesor intr-un sistem de masura §i control da posibilitatea ca manevrele
de operator sa fie preluate (partial sau total) de catre microprocesor §i in plus sa se obtina citeva
avantaje importante:
1. Preluarea comenzilor de operator cum ar fi reglaje de zero §i de cap de scara, selectarea gamelor
asigurind un plus de precizie §i siguranta in exploatare.
2. Autocalibrarea §i compensarea automata a influentei factorilor de clima. De asemenea se
calculeaza abaterile §i se corecteaza rezultatul final al masurarii.
3. Imbunatatirea preciziei prin eliminarea erorilor sistematice (prin autocalibrare, autocorectie).
4. Mic§orarea numarului de componente ale sistemului prin eliminarea componentelor destinate
implementarii logicii cablate.
5. Cre§terea versatilitatii aparatului prin obtinerea unor posibilitati suplimentare de masura pe baza
programelor interne.
6. Cre§terea vitezei de lucru prin automatizarea operatiilor de masurare.
7. Posibilitatea determinarii prin calcul a altor parametrii de semnal (valoare de varf, valoare
medie, valoare efectiva, calculul distorsiunilor, a spectrului de amplitudini, determinarea fazei,
defazajului).
8. Posibilitatea autotestarii prin programe speciale executate de microprocesorul incorporat, la
comanda operatorului sau in cazul aparitiei unei anomalii in functionare. In acest caz se poate declan§a
o procedura de testare §i semnalizare a eventualelor defecte.
Toate aceste avantaje arata clar ca sistemele de masura §i control moderne nu pot exista fara a fi
controlate de catre microprocesoare.

1.2 Microprocesoare : o p rivire generala


In cele ce urmeaza ne vom referi la un microprocesor generic (presupus de 8 biti) §i vom incepe
cu precizarea unor termeni §i notatii utilizate in lucrarile din domeniul microprocesoarelor.

D e fln itii si terminologie


Sistemul de calcul este un echipament care transforma datele de intare in rezultate de ie§ire pe
baza unui algoritm materializat intr-un program. Aceasta definitie reprezinta sensul clasic al notiunii
de calculator.
Sistemele inteligente sunt acele sisteme care pot prelucra informatii incomplete definite sau
aproape complet definite. Astfel de sisteme sunt sistemele fuzzy sau retelele neuronale.
In cazul in care informatiile de prelucrat sunt complet definite atunci avem de-a face cu algoritmi
secventiali. Acest tip de algoritmi a stat la baza constructiei ma§inilor secventiale (Von Newman).
Daca operatiile elementare independente se pot executa paralel (pe mai multe unitati de calcul), avem
de-a face cu algoritmi paraleli.
Incepand cu anii 1970 au aparut tendinte de automatizare a proceselor de productie bazate initial
pe automate numerice cablate (logica cablata) §i apoi pe sisteme cu microprocesoare (logica
programata). De data recenta sunt sistemele bazate pe arhitecturi paralele (sisteme multiprocesor ,
sisteme distribuite).
Arhitectura ma§inii secventiale standard (Von Newman) este urmatoarea:

Unitate
Centrala Memorie

z x

Subsistem de intrare/ie§ire

zx

\7
Om/proces

U n ita te a c e n tr a la (CPU-Central Processing Unit), transforma datele in rezultate pe baza


executiei instructiunilor programului memorat.
M e m o r ia este mediul principal de stocare/regasire a datelor, rezultatelor §i programelor.
S u b s is te m u l d e in t r a r e - ie § ir e este destinat realizarii interfetei om-ma§ina sau proces-ma§ina.
Partea fizica a unui sistem de calcul (componentele electronice) este relative simpla, poate fi
produsa in serie §i este relativ ieftina. Termenul hardware se refera tocmai la aceasta parte
Ceea ce transforma acest echipament ieftin intr-o diversitate de instrumente, controlere
industriale, calculatoare speciale sau de uz general, sunt programele (utilitare sau de aplicatii) §i
sistemele de programe (operare, exploatare), adica software care vor determina hardware-ul de uz
general sa execute ceea ce dorim.
Un alt termen frecvent utilizat este firmware, care desemneaza programe speciale stocate in
memorii nevolatile, al caror rol este de a asigura facilitati de configurare §i testare a echipamentului,
precum §i minima sa functionare. Exemplu biosul de la calculatoarele personale.
Microprocesoarele actuale se produc intr-o gama larga de variante, de la cele de uz general sau
cele destinate aplicatiilor industriale, pana la procesoarele de semnal sau coprocesoarele cu functii bine
precizate. De asemenea, microprocesoarele pot fi:
- microprocesoare monocip (unitatea centrala §i circuitele de suport sunt dispuse in interiorul
aceleia§i capsule de circuit integrat).
- microprocesoare multicip la care unitatea centrala §i circuitele de suport, sunt realizate sub
forma de circuite integrate distincte.
Microprocesoarele pentru aplicatii dedicate mai ales cele destinate mediului industrial sunt
realizate monocip, oferind un plus de comoditate in proiectare §i o fiabilitate sporita. De exemplu,
microprocesorul 80186, al firmei Intel, include aproximativ toate componentele sistemelor cu 8086,
adica unitatea centrala, generatorul de tact, controlerul de magistrala §i cel de intreruperi, controlerul
DMA, contor/timer-ul, logica de decodificare, etc.
Deseori microprocesoarele monocip includ atat memorie de lucru, cat §i interfete de intrare/ie§ire,
adica structura minimala a unui microcalculator, motiv pentru care ele se mai numesc §i
microcalculatoare intr-un singur cip (Single Component Microcomputer). Deoarece aceasta categorie
de microprocesoare sunt destinate mai ales aplicatiilor de control in mediul industrial, ele se intalnesc §i
sub denumirea de microcontrolere.
Microprocesoarele de uz general multicip au fost realizate §i in variante monocip, purtand
numele de microprocesoare inglobate. De exemplu, familiile 80186 sau 80386EX sunt produse de Intel
§i in varianta monocip avand avantajul utilizarii suportului de programe §i exploatare dezvoltat pentru
sistemele de calcul existente curent pe piata (de exemplu calculatoarele personale).

Elemente tehnologice
Microprocesoarele §i circuitele de suport se pot produce in urmatoarele tehnologii:
1 . T e h n o l o g i a b i p o l a r a - permite obtinerea unor viteze de lucru mari, dar cu un consum ridicat
§i cu probleme de climatizare deosebite.
2 . T e h n o l o g i a M O S - a evoluat mult, oferind conditii de obtinere a unor performance de viteza
deosebita, in conditiile unui consum redus §i al unui grad de integrare foarte ridicat. Exista 3 familii
MOS mai importante:
P M O S - se bazeaza pe realizarea tranzistoarelor MOS cu canal p, prin difuzia impuritatilor de tip
p (bor), intr-un substrat de siliciu de tip n , pentru a forma drena §i sursa. Se remarca prin densitate
mare de integrare, insa microprocesorul este relativ lent.
N M O S - se bazeaza pe relizarea tranzistoarelor MOS cu canal n prin difuzia impuritatilor de tip
n (fosfor sau arseniu) intr-un substrat de siliciu de tip p, pentru a forma drena §i sursa. Se obtine o
densitate de componente similara cu cea specifica PMOS, dar asigura o viteza mai mare pentru
circuitele realizate, insa este mult mai scumpa decat tehnologia PMOS.
C M O S - combina ambele tipuri de tranzistoare intr-o structura complementara, rezultatul fiind o
viteza de lucru medie, imunitate mare la zgomote §i un consum extreme de redus.
H M O S - este o tehnologie mai recenta §i a fost utilizata cu succes de firma INTEL la realizarea
noilor sale generatii de microprocesoare §i microcontrolere. Aceasta tehnologie folose§te tranzistoare
cu canal n, proiectate special pentru a lucra la tensiuni joase §i la viteze mari.
C H M O S - este rodul imbinarii performantelor de viteza deosebita ale tehnologiei HMOS, cu
consumul scazut al celei CMOS. Rezultatul a fost remarcabil, astfel incat majoritatea producatorilor de
microprocesoare §i microcontrolere au trecut la aceasta tehnologie.

B it i, o cte ti, cuvinte


9 9

Marea majoritate a echipamentelor numerice folosesc pentru reprezentarea interna a numerelor


sistemul binar, caracterizat de utilizarea a numai 2 cifre: 0 §i 1. Bitul reprezinta cea mai mica unitate de
informatie, echivalenta cu o afirmatie (DA , 1) sau o infirmatie (NU, 0).
Pentru unitati mai mari, cea mai importanta este octetul, obtinut din gruparea a 23 = 8 biti.
Octetul reprezinta unitatea cea mai folosita pentru caracterizarea dimensiunii blocurilor de memorie.
Daca aceasta dimensiune este mare, se pot folosi multiplii acestuia:
Kilooctet = 210 biti
Megaoctet= 220 biti= 210 KB
Gigaoctet = 230 biti = 210MB = 220KB
Un cuvant este un grup de biti ce desemneaza cantitatea maxima de informatie ce poate fi
transferata la un moment dat de un dispozitiv numeric. Cuvantul este materializat prin cai paralele de
comunicatie a informatiei numite magistrale. Numarul de biti al unui cuvant constituie lungimea sa.
Lungimea unui cuvant este una dintre caracteristicile cele mai importante ale unui microprocesor,
deoarece hotara§te precizia datelor §i viteza de prelucrare a acestora.

A lg o ritm i, programe si lim baj marina


Fiind data o problema pentru rezolvarea acesteia trebuie gasita o metoda adecvata - algoritmul.
Un algritm este o secventa de operatii, grupate intr-o succesiune de etape (pa§i) ce permit rezolvarea
problemelor specificate. Pentru a fi inteles de microprocesor, algoritmul trebuie prezentat intr-un limbaj
adecvat, limbaj care consta intr-un set de simboluri §i reguli de sintaxa foarte bine precizate.
Materializarea algoritmului cu ajutorul unui limbaj se face intr-un program ce consta intr-o succesiune
de operatii elementare - instructiuni.
La nivelul cel mai de jos, instructiunile programului se prezinta ca §iruri de biti ce pot fi
transformate cu u§urinta in impulsuri electrice, dar care sunt foarte greu de manevrat de catre
programator. Acest limbaj, singurul inteles de procesor este numit limbaj ma§ina. Din acest motiv, au
fost create programe speciale, care permit utilizarea unor limbaj e mai apropiate de cel uman (limbaj de
asamblare).
Ulterior au fost create o multitudine de limbaj e (BASIC, FORTRAN, C etc) , numite de nivel
ridicat, a caror scop a fost gasirea unei modalitati cat mai accesibile de a programa un microprocesor.

Logica cablata $i logica programata


Logica cablata presupune un automat de control in care secventa de semnale de
sincronizare/coordonare sunt elaborate pe baza unei scheme fixe (de obicei cu porti §i bistabile
interconectate convenabil), imposibil de modificat.
Logica programata se bazeaza pe un automat de control flexibil, capabil sa genereze semnale de
sincronizare/coordonare, pe baza unui program executat de microprocesor. Majoritatea aparaturii
moderne utilizeaza logica programata. Prin simpla modificare a programului, intreaga functionare a
aparatului se poate schimba.

Puterea de calcul $i viteza de lucru a m icroprocesorului


Prin putere de calcul se intelege mai ales capabilitatea de prelucrare numerica a acestuia §i este
determinate de lungimea cuvantului, de arhitectura interna §i viteza de executie a instructiunilor.Viteza
microprocesorului este conditional de 2 factori:
- F r e c v e n ta c e a s u lu i - un tact mai rapid determina un procesor sa execute un program mult mai rapid;
- A r h it e c t u r a in t e r n a - permite cre§terea vitezei de lucru (mentinand frecventa ceasului neschimbata)
pe baza trecerii de la executia strict secventiala a operatiilor, la executia lor paralela, intr-un mod
transparent pentru utilizator, folosind tehnici ca: utilizarea memoriilor CACHE, cre§terea numarului de
magistrale interne ale unitatilor de prelucrare, succesiune pipeline (suprapunerea partiala a operatiilor).
- V ite z a d e e x e c u tie a in s t r u c t iu n ilo r - este dificil de masurat direct. Se define§te de obicei ca durata
de executie a unor instructiuni foarte des folosite sau ca numar mediu de instructiuni executate intr-o
secunda.
- S e t u l d e in s t r u c t iu n i - conditioneaza indirect viteza de calcul. Cu cat modul de codificare a
instructiunilor este mai simplu §i secventa microoperatiilor este mai rapida, cu atat microprocesorul va
avea o viteza de lucru mai mare.
Microprocesoarele cu set complet de instructiuni (CISC) consuma un timp relative ridicat pe
instructiune, dar compenseaza acest lucru printr-o gama diversa de instructiuni.
Spre deosebire de ele, microprocesoarele cu set redus de instructiuni (RISC) sunt optimizate
astfel meat instructiunile sa fie executate foarte rapid, chiar mai multe intr-un singur tact ma§ina .

A rhitectura interna a unui microprocessor


Ca orice unitate centrala a unui sistem de calcul, microprocesorul contine urmatoarele
componente principale:
- unitatea de control CPU ;
- unitatea logico-aritmetica ALU;
- registre interne;
Acestea comunica intre ele prin cai de transfer informatiei numite magistrate, ce leaga intre ele
mai multe dispozitive, dar la un moment dat doar doua dispozitive pot schimba informatie: sursa §i
destinatia. Coordonarea transferurilor pe magistrala se face de catre un dispozitiv master, cele
subordonate fiind slave. Microprocesorul poseda §i o magistrala interna, legata printr-o interfata la
magistrala externa.
Structura interna a unui microprocesor generic este urmatoatea:

Unitatea de control
Asigura sincronizarea §i coordonarea operatiilor din interiorul §i exteriorul microprocesorului. Ca
orice automat secvential sincron, unitatea centrala este guvernata de un semnal de tact (CLK), produs
de un circuit de ceas intern sau extern microprocesorului. In majoritatea cazurilor, oscilatorul, care
asigura tactul, este pilotat cu cuart §i asigura frecvente intre 1 §i 40 MHz (microprocesoarele ce
echipeaza calculatoarele moderne ajung pana la frecvente de ordinal GHz).
In principal, unitatea de control solicita instructiunile stocate in memoria de program, le
decodifica §i pe baza acestora comanda functionarea celorlalte blocuri (ALU, registre etc ) interne
microprocesorului, in vederea executarii corecte a acestora.
Unitatea logico - aritm etica
ALU executa operatiile aritmetice §i logice impuse de instructiunile programului, sub
coordonarea directa a unitatii de control.
Operatiile aritmetice pot fi: adunare §i scadere (de baza - obligatorii), respectiv inmultire,
impartire, ridicare la putere (suplimentare).
Operatiile logice pot fi: NU, §1, SAU (de baza - obligatorii), respectiv SAU - EXCLUSIV,
deplasari, rotiri (suplimentare).
Participant^ la o operatie aritmetica sau logica se numesc operanzi, iar semnul grafic asociat
acesteia se nume§te operator. Daca operatia necesita un singur operand (schimbarea semnului sau
negarea), ea se nume§te operatie unara. Daca operatia necesita 2 operanzi (adunare, §1 logic), ea se
nume§te binara.

Registrele interne
Au rolul de a stoca temporar operanzii §i rezultatele vehiculate prin ALU, pe parcursul uneia sau
mai multor instructiuni. Registrele folosite in mod uzual la calcule se numesc registre generate, iar cele
folosite la operatii speciale (adresarea, manevrarea stivelor) se numesc registre functionale.
Registrele generale pot indeplini mai multe roluri:
- m a n e v r a - pentru stocarearea temporara a unui operand sau a unui rezultat;
- a c u m u l a t o r ( A C C ) - registru folosit in operatiile de adunare pentru cumularea unui §ir de
valori (unui din operanzi se gase§te intr-un registru de lucru, iar celalalt 11 constituie chiar continutul
acumularorului), iar la sfar§it rezultatul se depune tot in acumulator;
- c o n t o r - cu autoincrementare sau cu autodecrementare, ce permite realizarea simpla a buclelor
de program §i parcurgerea §irurilor de date;
- b a z a ( B ) § i in d e x ( X ) - ce permite adresarea §irurilor de valori (vectori), plasate in locatii
succesive de memorie;
- in d ic a t o r d e s tiv a (S P ) - permite adresarea unei zone de memorie (stiva), special creata
pentru a facilita manevrarea datelor, pe principiul ultimul sosit-primul servit (LIFO), prin operatii de
tipul PUSH, POP, precum §i executia subrutinelor sau a tratarii intreruperilor.
Un microprocesor poseda cel putin 2 registre generale (acumulator §i manevra). Majoritatea
microprocesoarelor folosesc seturi de 4 - 16 registre, ce pot prelua unui din rolurile prezentate mai sus.
.Registrele functionale
Indeplinesc sarcini dedicate pentru controlul derularii instructiunilor in microprocesor.
- R e g is t r u l d e s ta r e p r o g r a m (P S ) - contine o serie de informatii ce descriu starea executiei
progarmului (indicatorii de conditie, care reprezinta modul de terminare a unei operatii logico-
aritmetice, utilizata la realizarea salturilor conditionate, precum §i a indicatorilor de semnalare a
evenimentelor speciale §i a modurilor de lucru);
- R e g i s t r u l d e i n s t r u c t i u n i ( IR ) - destinat stocarii instructiunii pe parcursul executiei sale;
- C o n t o r u l d e p r o g r a m (P C ) - indica in permanenta instructiunea curenta (de executat);

Executia in stru ctiu n ilo r si ind ica to rii de conditie


9 9 * 9

Vom considera citirea §i executia unei instructiuni tipice de un cuvant. Pentru aceasta:
-de la adresa continuta in contorul de program (PC) interfata de magistrala cite§te un cuvant, printr-
un ciclu de citire al instructiunii
-continutul locatiei citite este transferat prin magistrala interna in registrul de instructiuni (IR);
-contorul de program este incrementat pentru a indica instructiunea imediat urmatoare;
-imediat ce codul instructiunii este disponibil, in registrul de instructiuni (IR), el este decodificat §i
transformat in semnale de activare a diverselor microoperatii din care este compusa executia propriu-
zisa a instructiunii;
-inca din faza finala a executiei instructiunii, se poate declan§a citirea instructiunii urmatoare;
In cazul instructiunilor de mai multe cuvinte, se fac referiri succesive la memorie.
Multe microoperatii presupun folosirea ALU pentru calcule “ascunse” (calcule de adresa).
Operatiile de calcul produc rezultate ce trebuie testate pentru a lua o decizie. ALU dispune de un set de
bistabili care fac parte integranta din registrul de stare program (PS) §i care memoreaza modul de
finalizare al operatiei executate. Ace§ti bistabili se numesc indicatori de conditie §i ei pot fi testati in
instructiuni de salt conditional
Indicatorii cei mai utilizati sunt prezentati in continuare:
-Z (ZERO) - se seteaza daca rezultatul este nul;
-S (SIGN) - se seteaza daca rezultatul este negativ;
-C (CARRY) - se seteaza daca apare un transport;
-V (OVERFLOW) - se seteaza daca rezultatul unei operatii intre numere cu semn are un semn
incorect (datorita transporturilor nedorite spre pozitia semnului).

Seturi de instructiuni
Instructiunea este o operatie elementara ce se executa de microprocesor in cadrul unui program.
Orice instructiune este identificata pe baza unui cod de operatie ce face parte integranta din corpul
acesteia. Codul de operatie este completat de informatii suplimentare, numite uzual argumente.
Codul operatiei este singura portiune a instructiunii care se decodifica intern §i declan§eaza
secventa de microoperatii din unitatea de comanda (exista instructiuni formate numai din cod).
Lista completa de instructiuni pe care o poate interpreta §i executa un microprocesor se nume§te
set de instructiuni. Instructiunile sunt stocate in memorie sub forma de cuvinte consecutive, care
materializeaza programul existand doua categorii de instructiuni impartite pe baza formatului:
- instructiuni cu format fix - la care lungimea acestora §i structura diverselor campuri
componente este fixa, indiferent de codul instructiunii;
- instructiuni cu format variabil - la care lungimea §i structura campurilor componente este
dependents de codul instructiunii.

Formate uzuale de instructiuni9

CO AO AO AR AI
a) Cod operatie Adresa operand Adresa operand Adresa rezultant Adresa instructiune

CO AO AO AR sau AI
b) Cod operatie Adresa operand Adresa operand Adresa rezultant sau Adresa instructiune

CO AO AO sau AI
c) Cod operatie Adresa operand Adresa operand sau Adresa instructiune

CO AO sau AI
d) Cod operatie Adresa operand sau Adresa instructiune
a) - instructiune cu patru adrese: doua adrese de operanzi, o adresa pentru rezultat §i o adresa
pentru urmatoarea instructiune. Formatul este incomod, datorita numarului mare de argumente, care nu
sunt folosite intotdeauna.
b) - instructiune cu trei adrese: doua adrese de operanzi §i o adresa pentru rezultat sau pentru
urmatoarea instructiune. In acest caz se presupune ca instructiunile sunt plasate in locatii succesive,
astfel ca adresa instructiunii urmatoare este subinteleasa. Instructiunile care nu respecta aceasta
secventa (salturi, apeluri de subrutine), de regula nu sunt instructiuni de calcul §i ca urmare ultimul
camp poate fi folosit pentru adresa urmatoarei instructiuni de executat.
c) - instructiuni cu doua adrese: doua adrese de operand, din care ultima poate fi pentru
urmatoarea instructiune. Rezultatul unei operatii este depus intr-un loc implicit cunoscut (de obicei, in
acumulator).
d) - instructiuni cu o singura adresa: o adresa de operand sau pentru urmatoarea instructiune. In
aceasta situatie atat unui din operanzi, cat §i rezultatul operatiei au un loc prestabilit. Acest format este
cel mai economic.
Microprocesoarele actuale folosesc , de obicei , instructiuni cu format variabil cu una sau cu
doua adrese , deoarece permit o utilizare optima a memoriei de program §i o scurtare semnificativa a
timpului de extragere - decodificare .

Instructiuni de transfer de date


Transfera informatia dintr-un registru (sau locatie de memorie) in alt registru. Operatiile curente
sunt de transfer (incarcare, memorare) §i interschimbare.
Instructiuni aritmetice $i logice
In aceasta categorie intra: adunare (ADD), scadere (SUB), inmultire (MUL), impartire (DIV),
complementare (CPL), test §i comparare, §1 logic (AND), SAU logic (OR), SAU exclusiv (XOR),
negare (NEG), incrementare (INC), decrementare (DEC), deplasari stanga sau dreapta, rotiri stanga
(RL) sau dreapta (RR), §tergerea (CLR) unui registru sau inscrierea unui bit cu o valoare dorita
(SETB/RESB).
Instructiuni de control al programului
Instructiunile din acesta categorie au drept caracteristica faptul ca oricare din ele modifica
derularea secventiala a programului, provocand incarcarea contorului de program cu o valoare dintr-un
camp de adresa al instructiunii curente, sau cu o adresa calculata intr-un pas precedent al programului.
O instructiune de ramificare, numita §i salt, determina parasirea secventei normale a programului,
fara un mecanism de retinere a locului unde s-a intamplat acest lucru. O posibila revenire este lasata
complet in seama programatorului.
Exista doua tipuri de salt:
-salt neconditionat (JMP);
-salt conditionat (JZ, JC), ce are loc doar daca este indeplinita o conditie specificata prin starea
indicatorilor de conditie pozitionati anterior.
Unele microprocesoare au o instructiune, considerata tot de salt, care determina CPU sa ignore
una sau mai multe instructiuni dintr-o secventa (SKIP).
Instructiunile de apel (CALL) §i revenire (RET) din subroutine, realizeaza §i salvarea adresei de
intoarcere (a locului de unde trebuie reluat programul dupa executia subrutinei).
Instructiuni de control al microprocesorului
In acest grup pot fi inscrise unele instructiuni speciale de control:
-oprire (HALT) - ce suspenda executia programului curent pana la aparitia unei cereri de
intrerupere externa;
-nici o operatie (NOP);
-activarea (El) sau dezactivarea (DI) sistemului de intreruperi.
Instructiuni de intrare / ie^ire
Acest grup include doua instructiuni de transfer, cu porturi de intrare/ie§ire, adica citire port (IN)
sau scriere port (OUT).

Tehnici de adresare a memoriei


Din analiza formatelor de instructiuni, am observat ca pentru a defini complet operatia de
executat este nevoie sa cunoa§tem locul unde sunt amplasati operanzii, adica adresele lor. In gene
un operand se poate afla in registre sau in memoria de lucru.
Adresa unui registru se poate codifica pe un numar redus de biti (uzual 3 sau 4 biti),ce
poate face parte chiar din campul destinat codului operatie.
In al doilea caz, adresa locatiei de memorie unde se afla operandul este precizata intr-un camp
separat, ce face parte din corpul instructiunii.
Regasirea unei informatii presupune determinarea adresei utilizand un set de conventii §i metode
de calcul, cunoscute sub numele de tehnici de adresare.
Principalele tehnici de adresare intalnite la majoritatea microprocesoarelor sunt:
A d r e s a r e a im p lic it d

Pleaca de la ideea ca adresa (locul) unui operand este implicit cunoscuta §i definita chiar de
operatia executata, in timp ce al doilea operand se afla intr-un registru de lucru.
Multe instructiuni cu adresare implicita sunt reprezentate pe un singur cuvant, necesitand pentru
extragere o singura referire la memorie.
Ex: ADD r ACC^ACC + r ,
unde r este un registru de lucru;
A d r e s a r e a d ir e c td

Este legata de prezenta unui operand in memorie, in care adresa lui nu mai poate fi implicit
cunoscuta. Corpul instructiunii are un camp explicit pentru adresa. In timpul executiei instructiunii se
mai face o referire suplimentara la memorie, pentru extragerea operandului.
Ex : ADD r , adr r <— r + ( adr ) ,
unde (adr) este continutul locatiei de memorie cu adresa adr.
In cazul instructiunii de forma:
ADD adr ACC <— ACC + ( adr) ,
avem un caz tipic de combinatie a adresarii implicite §i a celei directe.
A d r e s a r e im e d ia td

Presupune aducerea operandului chiar in corpul instructiunii (inlocuindcorpul deadresa cu


operandul). Avantajul consta in economia unor referiri suplimentare la memorie intimpulexecutiei
unei instructiuni, util mai ales la operatii cu constante.
ADD r ,4 r <— r + 4 ,
unde 4 este o constanta plasata in corpul instructiunii.
A d r e s a r e a in d e x a ta

Este principalul mijloc de adresare a §irurilor de date dispuse la adrese consecutive, pornind de la
o adresa de baza. Adresarea indexata utilizeaza un registru special, numit registru de index, in care se
plaseaza numarul de ordine al elementului din §ir, care trebuie prelucrat. In corpul instructiunii sunt
specificate adresa de baza §i adresa registrului de index.
Ex : ADD r , adr [ x ] r <— r + ( adr +x )
A d r e s a r e a b a z a ta

Este folosita ca mijloc alternativ (la adresarea indexata) de acces la §irurile de date. Adresa §irului
este plasata in registru special numit registru de baza, iar indexul face parte din corpul instructiunii.
Adresarea bazata combinata cu adresarea indexata dau un mijloc foarte eficient de acces la
blocurile mari de date.
Ex: ADD r,B[10] r ^ r + (B+10) ,
unde r este registrul de lucru, B este registrul de baza, iar prin (B+10) se intelege continutul
locatiei de memorie cu adresa data de registrul de baza la care s-a adaugat 10.
Inlocuind constanta 10 cu x, adica B[x] se obtine o adresare bazata §i indexata.
A d r e s a r e a in d ir e c t a

Este o modalitate de regasire a informatiei pe baza interpretarii operandului, nu ca o valoare de


calcul ci ca o noua adresa de unde se poate extrage valoarea sa adevarata. Adresarea indirecta permite
partajarea unei date intre mai multe unitati de program, dar §i accesul la §irurile de date.
EX : ADD r , (adr) r <— r+(adr)
Prin (adr) se intelege continutul locatiei de memorie cu adresa adr, la care se afla o noua adresa.
Alte tipuri de adresari:
-adresare relativa - la care calculul adresei se face in raport cu continutul contorului de program;
-adresare cu autoincrementare $i autodecrementare (punere §i extragere din stiva);
-adresare paginata;
De obicei microprocesoarele nu admit combinarea oricarei insructiuni cu orice mod de adresare.
Instructiunile de transfer implementeaza cele mai multe moduri de adresare.

M icroprocesorul si circuitele externe


Un sistem cu microprocesor, in afara de unitatea centrala, cuprinde memoria §i subsistemul de
intrare/ie§ire ce sunt conectate printr-o magistrala externa.
Magistrala externa a unui microprocesor
Realizarea unui sistem cu microprocesor se face in jurul unei magistrate ce serve§te drept cale de
transfer a informatiei. §i in interiorul microprocesorului principalele sale componente sunt dispuse tot
in jurul unei magistrate, numita magistrala interna. In afara microprocesorului, aceasta are drept
corespondent magistrala externa.
Legatura intre cele doua magistrate se face printr-o interfata speciala, al carui rol este de a asigura
atat o separare electrica, un numar relativ redus de terminate externe, dar §i adaptarea la acela§i
protocol de comunicatie intre dispozitive.
Liniile unei magistrate se grupeaza in date (DATA BUS), adrese (AD BUS), comenzi/control
(CMD BUS) §i alimentari.
M a g is t r a la d e d a te ( D A T A B U S ) , permite transferal informatiei bidirectional, fiind compusa
dintr-un numar de linii egal cu lungimea cuvantului microprocesorului. Disciplina de magistrala
impune ca la un moment dat intr-un sistem sa se afle in dialog doar doua dispozitive, unui sursa §i unui
destinatie, sensul de transfer fiind unic §i dictat de cele doua tipuri de operatii de baza admise: citire §i
scriere. Rezulta ca dispozitivele ce se conecteaza impreuna pe aceea§i magistrala de date trebuie sa
dispuna de buffere cu trei stari (3-State) astfel meat sa nu apara conflicte electrice in timpul
transferurilor.
M a g is t r a la d e a d r e s e ( A D B U S ) este unidirectionala (de la microprocesor spre exterior) §i
serve§te la vehicularea adreselor ce permit localizarea in memorie sau intr-un registru de interfata a
informatiei utile.
M a g is t r a la d e c o m e n z i (C M D B U S ) contine semnale unidirectionale, menite sa asigure
coordonarea §i sincronizarea transferurilor cu dispozitivele externe precum memorie §i interfete I/O.
Aceste semnale permit identificarea tipului de operatie de transfer ( R D -citire, W R -scriere), natura
dispozitivului ( M R Q - memorie, I O H O -interfete I/O), precum §i natura informatiei vehiculate (date,
M -instructiuni).
I

Microprocesorul dispune §i de linii speciale pentru generatorul de tact (X I §i X2, pentru


conectarea cuartului sau CLK pentru semnalul de tact extern),precum §i pentru sincronizarea cu
dispozitivele externe (RDY), initializarea (RESET), cereri de intrerupere (INT) §i de magistrala (BRQ
§i BACK). Unele microprocesoare folosesc acelea§i linii pentru adrese §i date, acestea fiind
multiplexate. La inceputul fiecarui transfer, procesorul depune intai adresele (ce pot fi "inghetate" intr-
un registru LATCH) §i apoi folose§te acelea§i linii pentru citirea sau scrierea datelor.
Memoria
Sistemele cu microprocesoare utilizeaza doua tipuri de memorii pentru stocarea datelor si
programelor.
-Memorie numai cu posibilitate de citire care este nevolatila §i care este scrisa de utilizator
(EPROM §i EEPROM), aceasta fiind memoria de program.
-Memorie cu posibilitati de citire/scriere (RAM), care este volatila §i serve§te la stocarea
temporara a informatiilor (date rezultate §i chiar programe), aceasta fiind memoria de lucru.
Microprocesoarele de uz general, de regula multicip, nu dispun de resurse proprii de memorie (cu
exceptia registrelor de lucru ce pot fi considerate memorii RAM foarte rapide dar de capacitate mica).
Multe microprocesoare actuale sunt dotate cu memorie RAM proprie foarte rapida, de capacitate
relativ modesta ( 4 ^ 1 6 KB), al carui rol este de a functiona ca tampon intre CPU §i memoria externa,
mai lenta, dar de mare capacitate. Aceasta memorie, numita memorie CACHE, realizeaza functia de
accelerator, impreuna cu un dispozitiv intern de gestionare, functie ce este complet transparent^ pentru
utilizator.

Subsistemul de intrare/ie^ire
Face legatura intre microprocesor §i periferice prin interfete specializate, numite generic porturi.
In principiu, transferal datelor de la sau catre porturi se face cu instructiuni speciale, numite instructiuni
de intrare/ie§ire. Citirea unui port se face cu o instructiune de intrare (IN), iar scrierea catre un port se
face cu o instructiune de ie§ire (OUT). Utilizatorul are acces la functiile interfetei prin intermediul
registrelor acesteia. Registrele de interfata se grupeaza in trei categorii:
-registre de control, destinate manevrarii interfetei §i perifericului asociat;
-registre de stare, cu ajutorul carora se verifica conditiile §i modul de executie al operatiilor,
precum §i erorile aparute;
-registre de date, prin care se face transferul propriu - zis.
Structura simplificata a unei interfete este prezentata in figura urmatoare:

T ip u ri de Interfete
- in t e r f a t a p a r a le lapermite interconectarea perifericelor cu viteza de lucru ridicata;
-

- in t e r f a t a permite interconectarea perifericelor cu viteza redusa, dar folosind un numar


s e r ia la -

mic de linii (de regula doua sau trei), conform unui standard (RS 232, RS 422, RS 485 etc);
- c o n to r /te m p o r iz a to r . este o interfata speciala folosita ca §i contor sau generator de impulsuri
programabil;
- in t e r f a t a v id e o , permite obtinerea imaginilor grafice ale caracterelor sau curbelor pe un ecran
monitor TV sau cu cristale lichide.

T ra n s fe ru ri, c ic lu ri, stari


Principala utilitate a unei magistrate este transferul informatiei. Pentru aceasta, un microprocesor
trebuie sa precizeze:
-natura operatiei dorite: poate fi citire sau scriere §i este identificata cu ajutorul unor semnale
speciale de pe magistrala de comenzi ( R D sau W R ) ;
-natura dispozitivului implicat in transfer ce poate fi memorie au interfata de intrare/ie§ire ( M R Q
- memorie, I O R Q - interfata I/O);
-adresa locatiei sau registrului dorit (AD BUS);

Transferul are loc pe durata unui ciclu de magistrala. Cum microprocesorul este guvernat de un
semnal de tact precis, rezulta ca §i ciclul de magistrala este corelat cu acest tact. Perioada tactului se
nume§te stare, iar fiecare ciclu are un numar determinat de stari.
Ciclurile de citire/scriere ale microprocesorului sunt date in diagramele urmatoare:
Ciclu de citire
< ---------------------------------- ►
Ti T2 t3

CLK

AD BUS I Adresa stabila


I
MRQ , IRQ /

RD
\ /

DATA BUS ~^Data stabil^~

Ciclu de scriere
< ---------------------------------- ►
Ti T2 t3
A--------^ -------------------- ►
CLK

AD BUS I Adresa stabila


I
M R Q , IRQ
/

WR
a____ r
DATA BUS Data stabila
< >

Intai microprocesorul pune o adresa valida pe liniile AD BUS (locatie de memories sau registru
I/O), apoi activeaza pe rand semnalele care specifica natura dispozitivului ( M R Q sau I O R Q ) §i apoi
operatia dorita ( R D sau W R ) .
In timpul ciclului de citire, microprocesorul a§teapta dispozitivul adresat sa puna pe magistrala de
date un cuvant valid, pe care-1 preia spre sfar§itul ciclului.Daca dispozitivul nu poate raspunde in timp
util, el poate folosi dezactivarea liniei READY, fortand microprocesorul sa a§tepte.
Folosirea liniei READY pentru sincronizarea cu dispozitive lente determina microprocesorul sa
insereze automat o succesiune de stari de a§teptare, acestea sunt introduse in interiorul ciclului,
lungindu-i convenabil durata. Daca dispozitivul adresat nu activeaza linia READY, sistemul se poate
bloca.
A

In tre ru p e ri $i accesul direct la memorie


O problema importanta in orice sistem de calcul este sincronizarea activitatii microprocesorului
cu evenimentele externe. Toate aceste evenimente au un punct comun: sunt asincrone in raport cu
executia programului de catre procesor. Programul trebuie informat printr-un mijloc oarecare ca un
astfel de eveniment s-a produs §i ca trebuie tratat corespunzator (printr-o secventa specifica numita
rutina de tratare).
Exista trei tipuri de mecanisme utilizate pentru tratarea evenimentelor externe:
- a§teptarea (bucla) programata;
- intreruperi;
- accesul direct la memorie.

A § te p ta r e a p r o g r a m a t a

In forma sa cea mai simpla, consta intr-o secventa de program care cite§te in permanenta o
informatie de stare §i testeaza un indicator, pentru a afla daca evenimentele au avut loc.
Procesorul nu executa nici o alta activitate pana ce evenimentul nu s-a produs rezultand timpi
inutilizabili pentru sistem.
I n t r e r u p e r i

Sunt facilitati hardware oferite de microprocesoare, prin care un dispozitiv periferic"atrage


atentia" asupra producerii unor evenimente externe ce reclama o interventie prompta.
Inainte ca o intrerupere sa poata avea loc, este necesar sa se indeplineasca conditiile:
-perifericul in cauza trebuie sa fie capabil sa genereze o intrerupere;
-sistemul trebuie sa posede toate mecanismele hardware de transmitere a semnalului de
intrerupere de la periferic la CPU;
-programul ce se executa de microprocesor trebuie sa contina secvente de cod special destinate
lucrului cu intreruperi (rutine de tratare a intreruperilor);
-perifericul trebuie sa genereze semnalul de intrerupere.
Aparitia unei intreruperi in activitatea curenta a microproesorului determina urmatoarea secventa
de evenimente:
-instructiunea in curs de executie se incheie normal;
-starea interna a procesorului (registrul de stare §i contorul de program) este salvatapentru a
permite mai tarziu reluarea activitatii din locul unde a fost intrerupta;
-microprocesorul incarca noi informatii de stare §i executa un salt de la o rutina de tratare
specifica, ce realizeaza toate actiunile urgente implicate de aparitia evenimentului;
-la sfar§itul rutinei de tratare (marcat cu o instructiune de revenire din intrerupere IRET) se
restaureaza starea procesorului salvata anterior;
-restaurarea este incheiata cu reincarcarea contorului de program cu valoarea salvata §i prin
aceasta, reluarea programului intrerupt.

Observatii
-tratarea intreruperii trebuie sa inlature cauza aparitiei acesteia, astfel secventa de mai sus se
poate repeta;
-daca sosesc noi intreruperi de aceea§i natura, in timpul executiei rutinei de tratare, se poate
ajunge la situatia ca aceasta sa fie restartata recursive, pana la aparitia unor erori sau pierderea
controlului asupra programului;
-procesoarele actuale suporta instructiuni ce permit activarea, respectiv dezactivarea tratarii
intreruperilor. Pe baza acestora se pot elimina intreruperile neprevazute.
Microprocesoarele mai simple sunt dotate cu o singura intare pentru semnale de intrerupere
(INT), dar cele mai multe poseda o intrare suplimentara (NMI), care permite tratarea unor evenimente
imperative, motiv pentru care nu exista nici un mecanism intern de inhibare a acestora
(intreruperi nemascabile).
O problema importanta apare la conectarea intreruperilor de la mai multe periferice. Cum pot fi
luate acestea in considerare daca microprocesorul dispune doar de o singura intrare INT. Raspunsul
este dat de introducerea unui mecanism de multiplexare/arbitrare a cererilor de intrerupere, bazat pe o
logica cu prioritati.
O solutie este folosirea unui controler de intreruperi. Acesta dispune de un codor de prioritati care
determina solicitantul cu cel mai mare nivel de prioritate §i genereaza semnalul de intrerupere catre
procesor. In momentul acceptarii intreruperii, controlerul pune pe magistrala un cuvant de identificare
al perifericului solicitant, astfel incat microprocesorul sa fie capabil sa activeze rutina de tratare
specificata.
O alta solutie este cea in care logica de arbitrare §i multiplexare a fost distribuita chiar in
circuitele de interfata. Fiecare circuit are o intrare de autorizare a intreruperilor (IEI) §i o ie§ire de
semnalizare a activitatii catre perifericul urmator (IEO). Daca IEI=1, atunci perifericul in cauza poate
genera o intrerupere. Daca acela§i periferic se afla in curs de tratare, el va pune IEC)=0. Un dispozitiv
cu IEI=0 este obligat sa transmita IEO=0.
Prioritatea este stabilita pe baza pozitiei fizice a perifericului intr-un lant de prioritati.
Odata generata intreruperea §i acceptata de procesor, perifericul i§i va pune cuvantul de
identificare pe magistrala, pentru a permite activarea rutinei de tratare corecta.

_iz_

Periferic 1

Controler
Periferic 2 1 de
intreruperi

intrerupere nemascabila
Accesul direct la memorie
Permite ca doua procesoare sa partajeze aceea§i magistrala in scopul realizarii accesului la
acelea§i resurse. Unui dintre ele este chiar unitatea centrala a sistemului, iar celalalt este dedicat numai
interceptarii §i arbitrarii cererilor provenite de la periferice, precum §i coordonarii transferurilor
solicitate, fara a mai apela la unitatea centrala.
Acest procesor dedicat - controler pentru acces direct la memorie (DMA) functioneaza in doua moduri:
-modul slave, funtionand ca un circuit de interfata obi§nuit, ce poate fi programat prin instructiuni
I/O, programarea are ca scop precizarea locatiei de memorie de unde incepe transferul §i sensul
transferului;
-modul master - controlerul preia controlul magistralei (dupa ce a primit acceptul CPU) §i
dirijeaza traficul de informatie, generand toate semnalele de control necesare.
Ciclurile DMA se pot intrepatrunde cu cele CPU, mai ales daca rata de transfer a perifericului nu
este prea mare, caz in care executia programului principal este incetinita foarte putin.
Multe controlere DMA sunt capabile sa gestioneze mai multe periferice. Astfel, cererile DMA,
notate DRQ, emise de periferice, ajung la controler, care le arbitreaza §i care solicita apoi eliberarea
temporara a magistralei de catre procesor prin activarea semnalului BREQ.
Procesorul termina ciclul de memorie sau I/O in curs, dupa care se deconecteaza de la magistrala
§i semnalizeaza acest lucru activand linia BACK.
Controlerul DMA preia acum controlul magistralei §i semnalizeaza acest lucru perifericului, prin
smnal de acceptare DACK. La terminarea unui transfer DMA, perifericul dezactiveaza linia DRQ,
controlerul elibereza magistrala, semnalizand acest lucru §i procesorului prin linia BRQ, acesta preia
din nou controlul magistralei §i totul reintra in normal.
DRQ DRQO

DACK DACKO
BREQ BREQ

BACK BACK
DRQ DRQ1

DACK DACK1 Microprocesor

Periferice

Controler DMA

Avantajul imediat al tehnicii de transfer prin acces direct la memorie este ca acesta permite
eliberarea procesorului de sarcina gestionarii directe a intrarilor §i ie§irilor de date din sistem: este
suficient sa programam controlerul DMA pentru citirea unui bloc de date de la un periferic (de
exemplu. CAN), dupa care procesorul este liber sa realizeze o alta activitate ce nu are nevoie de datele
solicitate. Unitatea de transfer a datelor prin DMA este blocul, de aceea la sfar§itul transferului este
considerat a fi epuizarea blocului de date.

S-ar putea să vă placă și