Documente Academic
Documente Profesional
Documente Cultură
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.
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
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
hfenj
ui
— u CEM
uc
a)
Fig.20. Circuit de csantionarc si memorare:
a) reprezentare functionala: b) diagrama semnalelor.
M
K
Fig-21. CEM cu comutator si condensator.
1 1
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)
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.
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
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.
Semnale _
de ..
com anda- Validare
t I t ! t
Intrari de date
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.
U _Vc 1 - Uref y ck
0 - Zj k p- '
k=l 2 R 4=12
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
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).
Este raportul dintre diferenta maxima dintre valoarea citita si cea adevarata
raportata la toata scala. Tine cont de toate erorile aratate mai jos.
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
6.5.7. Monotonia
Linie de intirziere
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.
CE CS RW Form at B P O A JP O
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.
BUSY V j
r - „ (6 _
S---- —---- ?
CA
+_v-'
Sistem AB
lo gic
r CB
+
P oarta N A fisaj
z e :
O scilator
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 —» - .
U rr = ——
R C • U xx Tx = > U X =
x R C U rr f x (0.1)
V /
A. Prima etapa
B. A doua etapa
Prima faza
U- = i L'( 100' N l+ N j)
q/2
-q/2
\R N N N K I\N N f\N
, > s N \ N \ J\ l^ '
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.
Unitate
Centrala Memorie
z x
Subsistem de intrare/ie§ire
zx
\7
Om/proces
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.
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);
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.
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 .
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
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
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;
-
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.
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
RD
\ /
Ciclu de scriere
< ---------------------------------- ►
Ti T2 t3
A--------^ -------------------- ►
CLK
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
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
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
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.