Documente Academic
Documente Profesional
Documente Cultură
o o
Presupunnd c mrimea analogic x(t) are, n domeniul frecven, spectrul X(f) limitat
de o frecven f
max
, atunci spectrul semnalului eantionat X f
e
( ) arat ca n Fig.23
Fig.23. Spectrele de frecven X(f) i X
e
(f).
In situaia circuitelor de eantionare i memorare, care sunt formate dintr-un
ntreruptor i un condensator ce menine pe durata ntreruperii valoarea prelevat a
eantionului, impulsurile Dirac anterioare devin, de fapt, mici dreptunghiuri de lime t
(Fig.13.8). Reprezentarea grafic, n domeniul frecven, a celor dou spectre de
frecven X(f) i X
e
(f) este prezentat n Fig.24. Se observ c spectrul este deformat,
deoarece este multiplicat de o funcie de tipul (sin x)/x.
In cazul n care t = Te, semnalul eantionat x
e
(t) i spectrul su X
e
(f) arat ca n Fig.25
Deformarea spectrului X(f) este datorat termenului :
T
fT
fT
e
sin
e
e
t
t
Fig.24. Eantionarea cu memorare
pe durata t.
Fig.25 Spectrul de frecven al semnalului x(t)
Fig.26 Spectrele X(f) i X
e
(f).
eantionat i memorat cu t = Te .
Pentru a micora deformarea trebuie sczut durata T
e
; n practic se ia T
e
= 1/20 F
e
min
, unde F
e min
este frecvena de eantionare minim impus de teorema lui
Shannon:
Un semnal x(t) avnd spectrul de frecvene de tip trece-jos, limitat de o frecven
f
max
, este caracterizat n ntregime prin irul eantioanelor sale prelevate la intervale
regulate, cu o perioad Te dac :
f
Te
f
e
=
1
2
max
)
Alegerea frecvenei de eantionare trebuie corelat cu rezoluia convertorului
analog-digital. De exemplu, n cazul unui semnal sinusoidal u t t ( ) sin =10 2 100 t ,
utiliznd un convertor de 10 bii, cu rezoluia q = 10/1024 = 0,01 V i innd cont c
viteza maxim de variaie a semnalului este:
| |
v
du
dt
V s
max
max
= = /
|
\
|
.
|
10 2 100 t
fa de frecvena minim de eantionare, dat de teorema lui Shannon , f
min
= 2 100=
200 Hz
din condiia de corelare rezult :
f
e
= ,28 Hz >
10 2 100
0,02
6 10
5
t
adic o frecven de eantionare de circa 3.000 ori mai mare dect cea indicat de
teorema lui Shannon.
Analiznd strile din timpul funcionrii unui CEM se desprind unele probleme ce
apar la utilizarea n practic:
- Pe timpul eantionrii este necesar ncrcarea rapid a condensatorului; pentru
aceasta este necesar o surs de semnal cu rezistena intern ct mai mic;
- Pe timpul memorrii este necesar ca semnalul memorat s nu se altereze prea
repede; pentru aceasta este necesar ca dup condensator s urmeze un circuit cu rezisten
foarte mare de intrare;
- La momentul trecerii de la o stare la cealalt, trebuie micorat amplitudinea
regimului tranzitoriu datorat comutaiei.
innd cont de posibilitile multiple de realizare i interconectare a elementelor
unui CEM, au fost elaborate mai multe tipuri de circuite cu memorare analogic, din care
se realizeaz dou variante de baz: circuite neinversoare (cu condensatorul conectat la
mas) i circuite inversoare (cu condensatorul conectat n bucla de reacie).
Circuitul neinversor practic de eantionare-memorare conine, la intrarea i ieirea
grupului comutator-condensator, dou repetoare de tensiune pentru adaptarea
rezistenelor (Fig.27) iar comutatorul K este realizat n mod obinuit cu tranzistor cu efect
de cmp. Circuitul este rapid dar puin precis, cci erorile datorate imperfeciunilor
amplificatoarelor, plasate n cascad, se adun.
Fig.27. CEM cu AO de intrare i AO Fig.28 CEM cu dou AO
conectat ca repetor conectate n bucl de reacie.
In situaia unor frecvene joase i dac precizia este mai important dect viteza, cele
dou amplificatoare se pot include n bucla de reacie (Fig.28), rezultnd un sistem mai
lent dar mai precis. Comutatoarele asigur realizarea fazelor de eantionare-memorare i
tensiunea de reacie pentru amplificatorul de intrare, pe durata strii de memorare.
Schema celui de al doilea tip de CEM, inversor sau integrator, este prezentat n
Fig.29 Prezint avantajul c amplificatorul lucreaz fr semnal de mod comun; totodat,
cheia tranzistorizat funcionnd aproape de potenialul masei, curentul ei rezidual este
minim.
5. Multiplexoare i demultiplexoare - Arhitectura unui sistem de achiziii de
date depinde de tehnica de calcul folosit i de interfeele de intrare i ieire ce
sunt disponibile. In principiu, calculatorul nu prelucreaz simultan dect un singur
semnal, de aceea este necesar s fie conectat succesiv, dup o succesiune bine
definit, la fiecare canal de msur. Aceasta este funcia multiplexorului (MUX).
In acelai timp, toate rezultatele furnizate de calculator, n mod secvenial pe
aceeai ieire, trebuiesc dirijate spre destinatari cu ajutorul unui demultiplexor
(DEMUX).
Multiplexorul analogic (Fig.30) este o component electronic ce conine o
baterie de comutatoare analogice, cu ieirile legate mpreun, numrul de comutatoare
determinnd numrul de canale de intrare. Comanda de nchidere i deschidere a
comutatoarelor este efectuat printr-o intrare de selectare a canalului, care este o intrare
logic, coninnd unul sau mai multi bii. Cu un bit se pot comanda, de exemplu, dou
canale, cu n bii, 2
n
canale. MUX-urile uzuale au 4, 8 sau 16 canale. Fiecare canal este
comandat prin adresa sa, care este, de fapt, numrul canalului. Adresarea poate fi fcut
fie secvenial, fie aleator. In ultimul caz, rolul de programator l poate avea doar
microprocesorul, care acceseaz direct fiecare canal, n timp ce la modul secvenial
fiecare canal este adresat ntr-o ordine bine definit, unul dup altul.
In timpul modificrii adresei, se poate ntmpla, ca pentru un timp foarte scurt (de
exemplu 0,3s la dispozitivele CMOS), s fie nchise simultan dou comutatoare. Este
posibil a se evita aceast situaie prin utilizarea semnalului de validare al circuitului de
decodificare, ce blocheaz decodificatorul la fiecare schimbare, pe o durat precizat de
timp (0,5s).
Multiplexoarele analogice disponibile n prezent au un numr insuficient de
canale pentru sistemele de achiziii industriale. Se pot realiza scheme n care se asociaz
mai multe multiplexoare, pentru a spori numrul de canale ale sistemului (Fig.31.a).
Fig.29 CEM cu
integrator.
Fig.30. Multiplexor analogic.
Soluia din Fig.31.b este preferabil, pentru eliminarea erorii datorate curenilor de fug
ai comutatoarelor ( n acest caz numrul comutatoarelor deschise este mai mic).
a) b)
Fig.31. Creterea numrului de canale:
a) asociere n paralel; b) sub-multiplexare.
La multiplexarea semnalelor de nivel sczut, sub 1V, apar o serie de probleme
specifice. Tensiunile de natur termic nu mai pot fi neglijate, mpunndu-se diminuarea
lor. Apar i probleme legate de modul comun, ce conduc la aplicarea diferenial a
semnalelor la intrarea multiplexorului i la utilizarea unui amplificator de msurare, cu
factor ridicat de rejecie a modului comun (Fig.32).
Performanele unui circuit de multiplexare depind, n bun msur, de
caracteristicile comutatoarelor utilizate. In multiplexoarele analogice se pot utiliza
comutatoare electromagnetice ( relee reed), dar cel mai frecvent se ntlnesc
comutatoare realizate cu dispozitive semiconductoare CMOS.
Fig.32. Multiplexor cu intrri difereniale.
Fig.33. Schema funcional a multiplexorului digital.
Multiplexorul digital ( Fig.33) are o funcionare similar cu cel analogic: pentru a
seleciona o intrare, trebuie comandat multiplexorul cu ajutorul unei adrese codate (n
bii), iar numrul de intrri poate atinge valoarea N=2
n
. Dac n sistem se utilizeaz mai
multe asemenea circuite de multiplexare, selecia unui anumit circuit, la un moment dat,
se realizeaz cu ajutorul semnalului validare.
Structura unui circuit de demultiplexare a semnalelor analogice (Fig.34 cuprinde
circuitele de eantionare i memorare CEM. Aceste circuite sunt comandate n faza de
Eantionare cte unul, n funcie de semnalul adres canal, la momentul dat de
semnalul de validare. Utilizarea demultiplexorului analogic pentru un semnal digital
multiplexat necesit, n prealabil, conversia digital-analogic a acestuia.
Fig.34 Structura unui circuit
de demultiplexare analogic.
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 R2
0
la R2
n
, 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 de 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
1
aduce la amplificatorul operational
curentul I
1
, inchiderea lui K
4
duce la curentul I
1
/8. Ponderea curentilor
fiind binara, cu MSB la K
1
si LSB la K
4
, rezulta:
U C
0 k
k 1
I
U
R
C
k
ref
k
k
k
2 2
1
4 4
unde C
k
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 procesului 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, 2I, 4I, 8I,
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
BE
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
I
I
I
B
A
C
A
2 4
; ;
... iar
I
Uref
R
A
2
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/2
n
, unde n este numarul de biti. Este legata de cuanta:
q
Uref
n
2
(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 amplificare (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)
Figura 38 Eroarea de amplificare
6.5.5. Eroarea de liniaritate
Erorile de offset si de amplificare fiind compensate, eroarea de liniaritate
este diferenta maxima e
M
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:
d
V q
6.5.7. Monotonia
Cresterea monotona a codului N trebuie sa atraga o crestere monotona a
tensiunii de iesire V
O
. 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. Criterii 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 U
x
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
LSB
=U
ref
/ 7.
Figura 42 CA/D paralel cu 3 biti
De exemplu, daca 5/2 U
LSB
< U
x
< 7/2 U
LSB
, 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
egal cu 2
n
-1 pentru un CA/D cu n biti. Astfel, pentru n=8 sint necesare 2
8
-
1=255 comparatoare, iar pentru n=10 sint necesare 2
10
-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.
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 U
x
. La un sumator se obtine diferenta U
x
- 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 U
x
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 U
x
.
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=12 biti;
T
conv
=22.5 ns;
frecventa de tact: 10 MHz.
Figura 44 Schema bloc a convertorului analog digital CAV-1210
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 27 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 U
x
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:
U U
B B B
x r
n n
n
n
=
+ + +
1
1
2
2 0
2 2 2
2
...
Pentru a obtine coeficientii B
1
, .. B
n
, aparatul genereaza o serie de
tensiuni pe care le compara cu U
x
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. U
x
se compara cu U
r
/2; U
x
> U
r
/2 B
1
=1; ( bitul cel mai
semnificativ).
Tact 2. U
x
se compara cu
Ur U
U
Ur U
B
r
x
r
2 4 2 4
0
2
+ < + = ;
Tact 3. U
x
se compara cu
B
Ur
B
U U
U
U U
B
r r
x
r r
1 2 3
2 4 8 2
0
8
1 + + > + + = ;
Rezulta: U
Ur
x
=
2
101
3
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 U
r
/ 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 compatibile cu microprocesoarele
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=10 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.
Figura 48 Schema bloc a CA/D AD 670
Exemplul 2: convertorul analog digital in tehnologie CMOS AD 7576
Figura 49 Schema bloc a CA/D 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 (U
ref
= 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) s 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.
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
Figura 51 Schema functionala 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 U
x
de masurat. Numarul de
impulsuri furnizat de un oscilator de precizie in acest interval este
proportional cu U
x
.
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 -U
ref
la U
ref
si un detector de polaritate care trebuie afisata
In cazul U
x
>0:
( ) U
U
R C
t t
U
R C
T N
x
r r
=
1 0 0
In cazul U
x
< 0:
( ) U
U
R C
t t
U
R C
T N
x
r r '
' =
0 2 0
Sistemul logic va comanda in functie de iesirile comparatoarelor
AB+ sau AB.
t<t
0
t
0
<t<t
1
t>t
1
A 0 0 1
B 0 1 1
AB 0 1 0
Cazul U
x
> 0
t<t
2
t
2
<t<t
0
t>t
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 U
r
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 U
x
intr-un semnal
periodic de frecventa f
x
proportionala cu U
x
care se masoara intr-un
interval de timp fixat.
Tensiunea U
x
se aplica la intrarea unui integrator, iar la iesirea acestuia se
obtine o rampa cu panta proportionala cu U
x
. La atingerea tensiunii de
referinta U
r
un comparator basculeaza si descarca foarte rapid
capacitatea C si ciclul reincepe (vezi figurile 3.12 si 3.13).
Figura 54 Schema functionala a convertorului tensiune frecventa
U
R C
U T U R C U f
r x x x r x
=
=
1
(0.1)
Un circuit poarta, comandat de o baza de timp, va da acces spre
numarator pulsurilor de frecventa f
x
pe durata T
0
, astfel ca:
U
R C
T
U N
x r
=
0
(0.2)
Un avantaj al acestui principiu este ca se pot elimina parazitii de frecventa
retelei prin integrarea pe un multiplu al perioadei acesteia (T
0
= n20 ms) a
semnalului de masurat.
Valoarea medie a zgomotului alternativ este astfel nula. CA/D U
x
f
x
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
maxima
(kHz)
Eroare de
liniaritate (%)
Stabilitatea frecventei
cu temperatura (ppm/
C)
AD 450 10 0.005 25
AD 537 100 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:
f
U
R C
x
x
=
10
(0.3)
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 (I
x
U
x
) cu
gama dinamica larga (de la 100 nA la 2 mA) care necesita numai un
condensator exterior.
Figura 55 Schema functionala a CA/D U
x
f
x
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 U
x
f
x
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 U
x
f
x
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 U
x
se aplica la intrarea integratorului un timp t
1
egal cu N
1
perioade ale ceasului.
1
0
1 1 0
1
R C
U dt
U
R C
t
U
R C
N T
x
t
x x
}
Numarul N
1
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 -U
r
. Integrarea continua pina cind tensiunea U
0
de la iesirea
integratorului se anuleaza.
Numarul de perioade de ceas numarate va fi N:
U
R C
N T
U
R C
N T U
U
N
N
x r
x
r
=
1 0 0
1
Figura 56 Principiul de functionare 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 U
x
si independent de
R, C si de T
0
.
Aceasta inseamna o buna stabilitate in timp, rejectarea semnalelor
parazite prin alegerea lui T=nT
retea
. Singura sursa de erori poate fi U
r
.
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.
Figura 57 Schema functionala a CA/D cu dubla rampa
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. U
r
este asigurata de diode Zenner.
Acestea au rezistenta dinamica minima de 6.8V, 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 U
r
nu depaseste de obicei citiva ppm/C.
- Imperfectiunile comutatoarelor. Daca se utilizeaza tranzistoare J-FET,
acestea nu au rezistenta in conductie (R
0N
) 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 R
0N
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 R
0N
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, U
d
tensiunea de decalaj la intrare. Atunci:
( ) U U
U U
N
N
x d
r d
+ =
1
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
1
cu R prin comutatorul K
1
. Ansamblul AO
1
si AO
2
constituie un
repetor de tensiune.
Tensiunea astfel masurata este stocata pe C
0
pina la faza de masurare
propriu-zisa, cind ea se va scadea din tensiunea de decalaj totala egala cu
U
d
-RI
s
, unde U
d
este tensiunea de decalaj propriu-zisa, iar I
s
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.001%
acum este perfect realizabila. C
1
ca si C
0
trebuie sa fie cu dielectric
polistiren sau teflon.
Figura 58 Compensarea tensiunii de decalaj la CA/D dubla rampa
Daca rampa pozitiva este egala cu cealalta, efectul de neliniaritate se
compenseaza.
- Imperfectiunile comparatorului. Aceleasi imperfectiuni ca ale
amplificatoarelor le gasim si aici: 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 o 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. Convertor cu tripla rampa
Prima etapa de la CA/D cu dubla rampa se pastreaza, deci se
inregistreaza U
x
pe T
1
.
Etapa a doua are doua faze.
Prima faza
Cuprinde descarcarea rapida dupa t
1
la o tensiune mica U
s
= 100 mV.
Aceasta descarcare rapida se obtine prin inlocuirea rezistentei R cu una
de valoare mult mai mica R (de exemplu R/100).
Fie N
2
numarul de perioade de ceas din aceasta descarcare.
U U
U
C R
N T
s
r
=
100
2 0
(Error! No text of specified style in document..1)
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 U
0
=U
s
la iesirea
integratorului si atunci va reinlocui R cu R la intrarea integratorului.
Aceasta faza de descarcare va fi scurta deoarece U
s
este foarte mic.
Fie N
3
numarul de impulsuri de ceas numarate in aceasta perioada. Cind
U
0
=0:
U
U
C R
N T
s
r
=
3 0
Bilantul celor trei faze va fi:
U
C R
N T
U
C R
N T
U
C R
N T
x r r
1 0 2 0 3 0
100
( ) U
U
N
N N
x
r
= +
1
2 3
100
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 U
s
<0 si dupa atingerea -U
s
, se schimba atit
R
1
cu R, cit si U
r
cu -U
r
astfel ca din N
2
se vor scadea N
3
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 U
x
evoluind sub forma unei rampe de
tensiune eroarea va fi:
e =U
0
(t)-U
i
(t) (Error! No text of specified style in document..2)
Aceasta eroare este reprezentata in figura Error! No text of specified
style in document..21.
Aceasta eroare este considerata ca un zgomot suprapus peste semnal. Se
poate arata ca valoarea sa efectiva este egala cu
q
2
12
la eroarea centrata
si
q
2
3
la eroarea decalata.
Figura 62 Cuantificarea semnalului la iesire
Figura 63 Eroare de cuantificare centrata
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 010, atunci el se converteste in 001, iar cind este superior lui 010
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 e
0
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 u
zs
(t)=U
zs
sin(wt+j).
Semnalul de intrare la bornele voltmetrului este deci:
u(t)=e+U
zs
sin(wt+j)
Fie T durata integrarii. Valoarea medie va fi:
( )
| |
~
sin U
T
e U t dt
zs
T
= + +
}
1
0
e
( ) ( )
| |
~
cos cos U e
U
t
T
zs
=
+
e
e
Daca T este multiplu de 2p/w, al doilea termen dependent de zgomot va fi nul.
Integratorul 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 scrie:
( ) ( )
NMRR dB
T
T
( ) lg
cos cos
=
+
20
e
e
Rejectia este infinita pentru frecvente multiple de 1/T. In practica, semnalul parazit
este in principal tensiunea de 50 Hz a retelei.
Unul 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. Criterii 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.
8.3.1 Rolul driverelor in aplicatii
Driverul este interfata software intre sistemul de operare al calculatorului
(in general Windows) si orice periferic al sistemului, in cazul de fata placa de
achizitie, instrumentul GPIB sau orice interfata de comunicatie atasata
computerului. Driverul faciliteaza modalitatea de programare a perifericelor
protejand oarecum programatorul de complexitatea hardware a acestora. Toate
comenzile de la si in spre hardware se executa in ultima instanta prin intermediul
driverelor. De aceea, aceste drivere sunt elemente cheie atat in dezvoltarea cat
si in implementarea aplicatiilor software.
Fig 3.5 Structura software a interfatei API
Sa prezentam mai in detaliu rolul driverului. Ca si un driver pentru printer
sau pentru un mouse si driverul pentru achizitia de date este esential pentru
operatiunile hardware. Subsistmele din cadrul pc-ului care trebuiesc apelate de
oricare dintre perferice, ca memoria RAM sau adrese de I/O sunt protejate de
sistemul de operare (OS). Un utilizator nu poate comunica direct cu aceste
susbsisteme, dar poate apela la serviciile unui driver care actioneaza ca un
mediator intre aplicatia softaware si kernel-ul sistemului de operare. (kernel-ul
este un set de programe de sistem care implementeaza functiile primare ale
acestui sistem).
Aceasta arhitectura structurata pe layere este foarte robusta , portabila,
usor de intretinut si flexibila si ofera si alte facilitati necesare. Sa ne imaginam ca
sistemul de operare nu ar preveni accesul direct in zonele lui sensibile si ca
utilizatorul ar trebui sa-si scrie propriile protocoale pentru a avea acces la
functiile hardware. Asemenea sisteme sunt intolerabile. Odinioara, sistemele pre-
Windows se comportau destul de mult in acest mod. Majoritatea programelor
scrise pentru DOS includeau drivere specializate pentru mouse, video,
imprimanta sau alte instrumente specializate, drivere destinate special acelor
aplicatii.
8.3.1.1 Dezvoltarea driverelor
Un driver Windows pentru un periferic este scris in Microsoft Visual C/C++
si are o extensie speciala al nucleului sistemului de operare. De obicei acest
driver (in mod normal este un fisier cu extensia .SYS) este un cod executabil
care se incarca in memoria RAM a calculatorului. Aceste drivere primesc din
partea sistemului mai multa atentie, flexibilitate si acces neconditionat la
resursele sistemului. De asemenea, aceste drivere trebuie sa respecte anumite
reguli specifice pentru interfatarea cu restul sistemului de operare. Ultimele
specificatii in domeniu vin de la Microsoft prin Windows Driver Model (WDM)
care reprezinta modul de codare binara al acestor drivere pentru compatibilitatea
cu Windows98 si 2000.
Executia proceselor multitasking, multithreading si multiprocessing in
interiorul procesorului afecteaza buna executia a driverelor. De aceea, un driver
trebuie macar minimal sa opereze cu cele mai obisnuite scenarii multitasking
care pot afecta buna executie a acestuia. Un calculator in mod normal are multe
drivere care ruleaza in fundal (pentru video, mouse, tastatura, retea) si care in
mod ideal ar trebui sa coexiste impreuna, sa fie robuste (protectie la blocaje) si
aibe un consum minim de memorie si de timp de procesare.
Dezvoltarea unui driver calitativ este o adevarata incercare din cauza
interrelationarii sensibile dintre el si sistemul de operare si varietatii de sarcini
multitasking la care este fortat a opera. Pentru dezvoltarea unui bun driver este
necesara cunoasterea foarte buna hardware-ului si a sistemului de operare.
Multe din cauzele blocarii sistemului Windows se afla in conflictele impredictbile
dintre drivere.
8.3.1.2 Evolutia de la DOS la Windows
Inlocuirea sistemelor DOS de catre Windows, complexitatea din ce in ce
mai sporita a acestora au dus la cerinte din ce in ce mai mari din partea
dezvoltarii de software. Sub DOS, programarea unui periferic era relativ simplu.
Un program dat, de obicei avea control deplin asupra calculatorului si nu avea de
indeplinit decat o singura sarcina la un moment dat. Accesul direct la spatiul I/O
se realiza simplu prin simple linii de cod scrise in C (inp sau outp) sau Basic
(peek si poke).
De la implementarea serviciilor multitasking sub Windows, Microsoft a
trebuit sa stabileasca un nou set de reguli pentru administrarea comunicatiilor cu
perifericele. Un driver nu mai este un simplu program .EXE care se incarca pur
si simplu in memorie
Driverul a devenit mult decat atat devenind un pachet de fisiere gen .INF,
.SYS, .VXD, .DLL, .EXE, .LIB spre exemplu. Acestea necesita un procedeu
special de instalare care poate merge pana la modificarea registrilor sistemului
Windows si la implementarea serviciilor de Plug-and-Play. Acest procedeu nu
este doar o simpla copierea a fisierelor pe hardisk; el este un algoritm care
selecteza fisierele functie de versiunea de Windows instalat (Windows95..XP).
Cand Windows-ul este upgradat de la o versiune la alta, acest lucru poate afecta
cu usurinta instalarea driverelor.
O aplicatie de testare si masurare poate simultan achizitiona date de la
multiple instrumente, controla un proces, afisa cateva grafice, salva rezultatele
intr-o baza de date si in acelasi timp sa fie disponibila pe Internet. Cu cat sunt
mai mari cerintele aplicatiei de testare cu atat va creste complexitatea sistemului
de operare si al driverelor.
8.3.2 Interfata aplicatiei de program (API)
In timpul dezvoltarii unui program, programatorul interactioneaza cu
interfata aplicatiei de program. Aceasta interfata simplifica mult sarcina
programatorului, facand transparenta comunicatia intre driver si aplicatia
respectiva. Aceasta interfata API actioneaza ca un liant intre driverul perifericului
propriu zis si aplicatie asfel incat utilizatorul final foarte rar comunica direct cu
perifericul. De aceea, este foarte important pentru un dezvoltator de drivere sa
cunoasca modul in care utilizatorul final va programa perifericul inainte de a
construi fundatia pentru acest driver sub API.
Interfata API este in mod normal parte integranta a pachetului cu drivere.
In general este prima componenta creata atunci cand se realizeaza un driver.
Controalele ActiveX sunt un exemplu obisnuit de interfata API, controale ce joaca
un rol semnificativ in dezvoltarea programelor pentru achizitiile de date. Alte tipuri
de interfete API sunt obiectele COM, DLL-urile, librariile pentru Visual Basic si
Visual C/C++.
8.3.2.1 Rolul interfatei API.
Din chiar denumirea ei, rezulta ca aceasta interfata poate fi un factor
major in obtinerea de rezultate de la o aplicatie de achizitie de date. De exemplu,
stocarea datelor pe disc la o frecventa de 100 kHz necesita nu numai un
echipament cu viteza mare de achizitie ci si instrumente API eficiente pentru a
transfera aceste date pe hardisc cu eficienta. In mod similar, inregistrarea
temperaturii cu acuratete nu inseamna numai tehnici de masurare bune si
senzori pentru jonctiunea rece ci si un algoritm de compensare a acestei
jonctiuni reci in interfata API. Ideal, produsul soft suporta in mod automat
posibilitatile hardware ale echipamentelor. In final, atat dezvoltatorii de drivere
cat si programatorii ce utilizeaza aceste drivere trebuie sa acorde atentia
cuvenita posibilitatilor oferite de API si de posibilele ei limitari.
8.3.2.2 Independenta interfatei API de modificarile hardware ce pot
apare
Aceasta independenta este o calitate foarte importanta a interfatei API si
in special a controalelor ActiveX. Aceasta calitate are potentialul de a creste
durata de viata a aplicatiei software. Data fiind viteza uluitoare de schimbare a
tehnologiilor PC si de degradarea magistralelor de comunicatie, aceasta
independenta devine si o problema de cost. De exemplu, sa luam in considerare
tranzitia actuala de la RS-232 la USB si FireWire. Gradul de portabilitate al
interfatei API va hotara daca aplicatia software va trebui rescrisa la fiecare
upgradare hardware aparuta.
8.3.2.3 Controalele ActiveX
Desi un driver trebuie schimbat la fiecare modificare hardware aparuta,
totusi interfata API cu care utilizatorul vine in contact vizual nu are nevoie de
aceasta schimare, in special daca este bazata pe ActiveX.
ActiveX este un set de reguli ce guverneaza modul in care diferite aplicatii
sau componente software interactioneaza si schimba informatii intr-un mediu
Windows.
O componenta ActiveX (cunoscuta si sub numele de OLE sau control
OCX) este un element din interfata grafica cu utilizatorul, element care
beneficiaza de standardul impus in tehnologia Windows pentru transferul
informatiilor si de modularitatea functionala a acestora. Controalele ActiveX se
bazeaza pe tehnologia COM (Component Object Model), care este o tehnologie
ce permite construirea de aplicatii din componente software deja prelucrate.
Interfata API si, in particular, tehnologia COM, standardizeaza
mecanismul de comunicatie intre aplicatia software si driverele sistemului de
achizitie. Scopul este de a aduce o interfata deschisa si interoperabila cu
sistemul de achizitie, interfata independenta de a acest sistem de achizitie.
8.3.2.4 Structura unui obiect COM
Acesta este un set de obiecte software care ofera un rezumat al functiilor
generale ale unui sistem de achizitie de date. Ofera functii pentru Analog Input,
Analog Output, Digital Input, Digital Output si pentru Counter/Timer. Ierarhizarea
acestor obiecte este prezentata mai jos, dupa cum urmeaza:
Managerul general al sistemelor standard de achizitie de date
Acesta este interfata sofware utilizator. Aceasta poate cuprinde toate
driverele sistemului de achizitie instalate in PC. Permite aplicatiei software sa
gaseasca mai usor toate driverele instalate si selectarea celui potrivit. Aceasta
interfata utilizator nu este specifica unui anumit produs sau producator. Obiectul
Manager este disponibil oricarui utilizator si este public. Prin acest obiect,
utilizatorul poate apela urmatorul nivel ierarhic din cadrul driverului
Driverele sistemului de achizitie
Fiecare producator de sisteme de achizitie furnizeaza unul sau mai multe
drivere pentru sistemul de achizitie. Aceste drivere la instalare se inregistreaza in
registrii, declarand ca ei se ocupa de functionalitatea sistemuui de achizitie. Ele
realizeaza interfatarea cu hardware-ul propriu fiecarui sistem de achizitie de
date. Prin intermediul lor, utilizatorul apeleaza urmatorul nivel ierarhic din cadrul
aplicatiei:
Subsistemele sistemului de achizitie de date
Fiecare placa de achizitie poate avea una sau mai multe din urmatoarele
facilitati (subsisteme): Analog Input, Analog Output, Digital Input, Digital Output si
Counter/Timer. Fiecare dintre aceste subsisteme are obiecte COM cu metode si
proprietati specifice, care pot fi folosite de aplicatia software pentru a interactiona
cu hardware-ul.
Un pic mai sus era prezentata modalitatea de programare a iesirii digitale
DO, utilizand linii de program. Acelasi port digital de iesire, utilizand tehnologia
COM, se programeaza astfel:
Compania Comands
Data Translation DPortOut( )
Computer Boards, Inc DPortOut( )
Keithley DPortOut( )
National Instruments DPortOut( )
All other ODAA compliant
vendors
DPortOut( )
Printre avantajele tehnologiei COM putem enumera: integrare usoara,
scalabilitate, reutilizare a codului, compatibilitatea cu diferite platforme de lucru si
help sensibil la context. In general, COM este viitorul in dezvoltarea software-ului
pe platforme Microsoft. Aproape toate noile functionalitati adaugate Windows-ului
vin sub forma de componente COM.
In concluzie, standardul COM ofera o mai buna fundatie pe termen lung .
Asigura aplicatiile software pentru achizitiile de date o mai buna tehnologie
cladita pe structura COM
8.3.2.5 Beneficiul adus de controalele ActiveX
Marele avantaj adus de aceste controale ActiveX, este utilizarea unui
singur si simplu obiect pentru inlocuirea a multor linii de program pentru functii
obisnuite. Acest lucru permite programatorilor sa creeze obiecte reutilizabile care
pot fi interschimbate fara a fi nevoie de a rescrie intreaga aplicatie. Aceasta
interschimbabilitate reduce costul dezvoltarii aplicatiei si extinde durata de viata a
acesteia.
Pentru exemplu, sa luam o aplicatie scrisa initial pentru o placa cu 16
canale, 100 kHz analogic. Aceasta aplicatie poate fi folosita pentru o placa de 64
canale, 300 kHz doar prin simpla inlocuire a controlului ActiveX care descrie
caracteristicile si functionalitatea placii de achizitie.
Urmatoarele trei linii de cod utilizeaza trei diferite controale ActiveX.
ActiveX1 achizitioneaza date de la placa de achizitie, ActiveX2 realizeaza analiza
acestor date si ActiveX3 traseaza aceste date pe un grafic.
Data()=ActiveX1.Acquire_Data( Channels() )
Analysis()=ActiveX2.Spectrum( Data() )
ActiveX3.Chart( Data(), Analysis() )
Sau intuitivitatea marita a programelor care folosesc metoda obiect(COM)
fata de cea procedurala:
Modelul procedural
'1st parameter indicates the subsystem
Call DigitalSubystemDigitize(1, 1E6, 1024, 12)
Call DigitalSubystemDigitize(1, 10E6, 1024, 12)
Modelul bazat obiect
With driver.AnalogIn(1)
.FrecvAchiz = 1E6
.Buffer = 1024
.NumBits = 12
Call .Digitize()
.FrecvAchiz = 10E6
Call .Digitize()
End With
S-a considerat obiectul ipotetic Digitize care are nevoie de setarea
proprietatii FrecvAchiz la 1Msample/s, a marimii Buffer la 1024 de esantioane
si a propietatiiNumBits la 12 biti. Metoda este apelata fara parametri
pentru ca ei au fost transmisi prin intermediul proprietatilor. Proprietatea
FrecvAchiz poate fi modificata cu usurinta la 10M Samples/sec prin reapelarea
metodei. La stilul procedural, reapelarea functiei necesita intotdeauna prezenta
parametrilor.
Citirea codului la metoda obiect este mult mai usor de citit, pentru ca putem
asocia cu usurinta valoarea 1E6 cu frecventa de achizitie. Acest lucru nu este
atat de vizibil la metoda procedurala.
In plus, obiectele isi salveaza starea curenta a tuturor proprietatilor, astfel
incat nu este nevoie de reprogramarea acestora la fiecare reapelare a acestui
obiect.
Acest cod arata simpletea programarii prin folosirea controalelor ActiveX.
In aceasta arhitectura deschisa, fiecare control ActiveX este o entitate
independenta, entitate ce poate fi furnizata de mai mult de un singur producator.
Producatorii de aparatura de testare si masurare si terte parti au dezvoltat
mii de controale ActiveX, care beneficiaza de puternicul sprijin al sistemelor de
dezvoltare deschise. Spre exemplu, DriverLINX este pachetul de drivere
standard pentru achizitie de date pentru echipamentele de achizitie Keithley.
Arhitectura sa se bazeaza pe tehnologia COM; de aceea este independenta de
echipamentele de achizitie si functioneaza cu oricare dintre aceste echipamente.
In timp ce este normal pentru un producator de echipamente de testare si
masurare sa mentina aceasi interfata driver pentru toate produsele sale,
reutilizarea soft-ului este o problema atunci cand folosim multipli producatori de
echipamente.
8.4 Structura FIFO si problema umplerii buferului de date (Buffer Overrun
Issues)
Structura FIFO (first-in, first-out) este un bloc tampon de memorie
temporara aflat practic pe orice echipament de achizitie de date. Aceasta
opereaza dupa principiul primul venit-primul plecat, si serveste in special la
pastrarea datelor inainte de a fi cerute de driver. Cand un esantion este citit din
stiva, spatiul golit poate fi utilizat pentru data urmatoare. Pentru eficientizarea
stocarii datelor, o stiva tipica FIFO semnalizeaza driverului atunci cand este pe
jumatate plina. Dupa aceasta semnalizare driverul pune in functiune serviciul de
tratare al intreruperilor (ISR-interrupt service routine) pentru a citi datele dupa
care asteapta urmatoarea semnlizare.
Fig 3.6 Structura de operare a stivei FIFO
Aceste stive au fost construite pentru a compensa latenta sistemului de
operare si pentru a preveni pierderea datelor. De exemplu, cand un program
scrie datele pe harddisc, stiva FIFO mentine fluxul secvential al datelor
achizitionate pana cand acestea sunt scrise pe disc. Putem spune ca este o
cursa intre golirea datelor din stiva pe hard si umplerea ei de catre procesul de
achizitie. In mod ideal, pentru evitarea fenomenului de umplerea al stivei,
procesul de golire al acesteia trebuie sa fie mai rapid decat cel de umplere. Cand
stiva se umple se genereaza eroarea de buffer overrun, datele nou venite
neavand loc in stiva se pierd.
8.4.1 Rolul DMA (Direct Memory Acces)
Accesul direct la memorie insemna realizarea unor operatiuni de
intrare/iesire catre memorie fara interventia procesorului. Acest lucru permite
transferului de date sa se execute de la echipamentul de achizitie de date direct
catre memorie.
In timpul acestor transferuri, procesorul poate fi folosit la alte sarcini, fara
a afecta in vreun fel viteza de transfer a acestor date. In mod obisnuit, un set
complet de date este achizitonat prin initierea a mai multor tranzactii DMA de
cate 64kbytes. La sfrsitul fiecarei tranzactii DMA, este generata o intrerupere si
intra in actiune driverul corespunzator. Prin inlantuirea mai multor secvente DMA,
se eficientizeaza procesul de transfer, micsorandu-se numarul de intreruperi.
Exista doua tipuri de arhitecturi DMA: Bus Master DMA, folosita de magistrala
PCI si System DMA, folosita de magistrala ISA.
Cu Bus Master DMA, tot controlul necesar initierii unui transfer DMA se
gaseste in magistrala PCI. La celalalta metoda System DMA , o parte din
circuitele necesare se gasesc pe placa de baza, impartite de toate perifericele
ISA. Prima metoda este mult mai eficienta din cauza vitezei de lucru mai mari la
care lucreaza magistrala ISA.
In ambele cazuri, accesul direct la memorie necesita o coordonare stricta
intre software si hardware.
8.4.2 Citirea continua a porturilor si generarea bazata eveniment
Intr-un sistem bazat pe citirea continua, calculatorul verifica perifericele
pentru a vedea daca ele sunt gata sa trimita sau sa primeasca date. In contextul
achizitiei de date, acest lucru inseamna in mod normal scrierea sau citirea unei
date de la port de I/O. In sisteme de calcul bazate pe mediul Windows, timpul
dintre doua citiri consecutive al acestor periferice este programat de Windows,
asa incat el este nedeterminat. Cu alte cuvinte, momentul in timp la care
Windows-ul va initia o operatiune de I/O nu poate fi cunoscut cu precizie. Acest
moment depinde de multi factori ca: viteza procesorului, sistemul de operare,
limbajul de programare si optimizarea codului.
Prin comparatie, un sistem de achizitie de date determinist, este unul care
colecteaza date discrete si care este in relatie directa cauza-efect cu fenomenul
fizic pe care il masoara.
In mod tipic, achizitia de date in fundal folosindu-se tehnica DMA de
transfer a datelor este sub controlul echipamentului de achizitie de date. Acesta
anunta utilizatorul aplicatiei cand aceasta sarcina s-a incheiat. Timpul dintre
achizitia secventiala a esantioanelor este independent de sistemul Windows.
In timpul transferarii unui bloc de date, electronica din echipamentul de
achizitie de date anunta printr-o intrupere procesorul. Driverul aplicatiei se ocupa
de aceste intreruperi, transferand datele in memoria de sistem a aplicatiei. Cand
operatia de transfer este incheiata, driverul anunta cu un mesaj sau cu un
eveniment sistemul Windows care raspunde acestuia prin manipularea datelor.
Evenimentele si mesajele sunt procesele folosite de Windows pentru a distribui
informatia intre procese si aplicatii, astfel incat sa poata functiona cu succes
procesele multitasking.
O aplicatie care citeste tot timpul un port I/O este simplu de scris. Aceasta
metoda se preteaza aplicatiilor lente sau care nu sunt critice din punctul de
vedere al timpului de raspuns precum programarea in trepte a unei surse de
alimentare sau citirea tensiunii citite de un nanovoltmetru.
Pentru aplicatiile care necesita rate mari de achizitie, programarea bazata
pe evenimente este mai indicata. Aceasta depinde intr-o mai mica masura de
sistemul de operare, micsorandu-se problemele de latenta.
9. Gestionarea proceselor de timp real
Istoric
Inainte de implementarea computerelor, controlul proceselor era realizat
prin relee, comutatoare si fire. Cand era nevoie de o anumita memorare, se
foloseau relee latch. Informatia era stocata pe suport magnetic. Acesta consta
intr-un cilindru din material paramagnetic, pe care se depuneau piste dintr-un
strat magnetic. Un set de bobine stergeau sau inregistrau pulsuri magnetice pe
acele piste. Cilindrul era rotit cu ajutorul unui motor (Fig3.1). La viteza normala
de rotatie, cilindrul se rotea odata la 2 minute. Citirea pulsurilor se realiza cu
relee reed.
Fig 3.1 Cilindrul memorie al calculatorului
Primul proces controlat cu ajutorul calculatorului
Primul proces controlat de calculator s-a inregistrat in 1975, la firma
Progress Electronics, Co. of Portland, Oregon, proces de sortare a cherestelei.
Acesta utiliza un procesor National Semiconductor IMP -16 . Programul era scris
direct in cod masina si ars intr-o memorie ROM. Acest lucru se intampla inainte
ca IBM-PC sa poata rula cod compilat. Toate placile de interfata si cele de I/O
erau la comanda. Sistemul a fost incapsulat intr-o cutie mare iar toate firele au
fost trase pana la acest punct central.(vezi fig. 3.7)
Acest microsistem de proces a fost repede inlocuit de minicomputere.
Acestea erau Computer Automation LSI-2. Majoritatea operau cu memorie de 16
pana la 32 K de memorie pe suport magnetic. Programul era scris in limbaj de
asmablare, creat de un sistem de operare pe banda magnetica. Mai tarziu i s-a
atasat si un floppy disc de 128 Kb.
Fig 3.7 Unul din primele sisteme cu microprocesor. Panoul frontal
Comutatoarele vechilor cilindri-memorie au fost inlocuiti mici pini care se
introduceau in gaurile din panou.
Astazi, calculatorul de proces arata ca in poza de mai jos.
Dulapul metalic cuprinde de obicei partea de forta a aplicatiei. Aceasta
este de obicei separata prin optocuploare de calculator pentru a preveni
eventualele descarcari electrice. Calculatorul primeste date via RS 422 s.a
Fig.3.8 Sistem modern de testare si masurare
Implementarea sistemelor PLC (Controlere Logice Programabile)
Cam in timpul cand calculatoarele isi dovedeau utilitatea in controlarea
proceselor, inginerii de control si-au dat seama ca se pot inlocui releele
electromecanice cu tranzistori. Unul dintre ei a pus cap la cap niste porti logice si
niste memorii pe care le-a denumit Programable Logic Controller. Desi
arhitectura seamana cu cea a unui computer, au decis ca structura sa poarte un
nou nume.
La putin timp dupa introducerea lor, aceste PLC-uri au fost aplicate pe
scala larga in fabricile de automobile inlocuind vechile panouri cu relee, fiind doar
necesara programarea lor. Au memorie mai mica decat a cea a calculatoarelor
si nu au un sistem de intreruperi care este absolut necesar pentru aplicatii de
timp real.
In general, PLC nu sunt destinate unui anumite sarcini. Ele inlocuiesc cu
succes panourile cu relee. La inceput, tendinta a fost aceea de a se scapa de
programarea dificila a calculatoarelor si de costurile pe care le implica angajarea
programatorilor. Totusi programarea in limbaj masina si fara subrutine, cu un
numar limitat de instructiuni ducea la crearea unui program urias, care nu de
multe ori se bloca. Novicii programatori in PLC scriau program gigantice care
rulau prea incet sau nu raspundeau destul de rapid pe echipamente de mare
viteza. Acest lucru au readus calculatoarele, datorita puterii superioare de calcul,
in locul de frunte al conducerii proceselor.
Astazi sistemele moderne PLC au microprocesoare care se ocupa de
adresarea portilor logice si in plus au fost introduse servicii de multitasking si
intreruperi. Acesta este probabil motivul pentru care Allen-Bradley a acaparat
cea mai mare parte din piata de PLC-uri. Singurul minus ar fi acela al memoriei
limitata la 96Kb
Explozia pe scara larga a obiectelor OLE usureaza mult munca de setare
a PLC-ului din mediul Windows
Sistem modern bazat pe PLC
Sistemele moderne PLC utilizeaza procesoare Allen-Bradley 5/40E iar
interfatarea cu calculatorul se realizeaza prin Ethernet.
Fig 3.9 Sistem modern de control de proces bazat pe PLC
Coordonarea sistemului de operare cu aplicatia de timp real
Un programator poate folosi in avantajul sau evenimentele si mesajele
Windows utilizand instrumente specifice limbajelor Visual Basic sau Visual C/++
in dezvoltarea de aplicatii deterministe care ruleaza rapid si pot gestiona procese
de timp real.
Decat sa testeze intr-una daca esantionul respectiv este gata de colectare,
programul poate utiliza procesorul pentru alte sarcini.
Aceasta coordonare stransa intre disponibilitatea datelor si timpul de
executie al procesorului fac dintr-o aplicatie bazata eveniment una portabila pe
diferite platforme de lucru.
Echipamentul pentru aplicatii de timp real sub Windows este de
importanta majora. Programarea bazata eveniment poate fi necesara dar acest
lucru s-ar putea ca nu intotdeauna sa fie si suficient pentru anumite aplicatii de
timp real. Desi denumirea ar putea genera confuzie, totusi termenul de timp real
tinde a fi unul relativ, care variaza functie de tipul de aplicatie si de
echipamentele folosite. In unele aplicatii, utilizatorul poate considera un timp de
raspuns de 100 de milisecunde ca un raspuns in timp real. In alte conditii, s-ar
putea ca o microsecunda sa fie considerata drept raspuns in timp real. In
general, sistemele de operare Windows nu sunt pretabile a fi folosite pentru
aplicatii de timp real.
Aceste aplicatii tind a lucra mai bine pe sisteme de operare dedicate
ruland cu procesoare de constructie speciala. Acest lucru inseamna instrumente
sau sisteme de achizitie de date echipate cu procesoare digitale de prelucrare a
semnalelor (DSP). Acesta realizeaza multe din functiile pe care altminteri ar fi
trebuit efectuate de procesorul calculatorului.
Aceste procesoare speciale elimina complet problemele asociate cu
rularea in fundal a diferite procese Windows, procese ce nu sunt sub controlul
programatorului.
Aceste procese de fundal utilizeaza destul de mult procesorul si serviciul de
intreruperi, astfel incat aplicatia este obligata sa imparta resursele sistemului
impreuna cu aceste procese. Unele aplicatii vor merge mult mai bine intr-un
mediu DOS, cu atat mai mult cu cat daca si software-ul si hardware-ul au fost
proiectate special pentru acest sistem de operare.
Un sistem pe care ruleaza o aplicatie de timp real, necesita din partea
procesorului o atentie neconditionata. Marea majoritate a sistemelor de operare
sunt de timp real intr-o oarecare masura, pentru ca raspund la evenimentele
generate de tastatura sau mouse. Adevaratele sisteme de timp real raspund la
multiple intrari, raspunzandu-le functie de prioritatea asociata fiecarei intrari.
Sistemele de timp real care raspund intotdeauna in mod determinist si raspunsul
este garantat intr-o anumita perioada de timp sunt numite hard real-time system
Windows 3.1 este un exemplu de sistem de operare de timp real soft.
Orice proces Windows 3.1 poate intra intra intr-o bucla neintrerupta si capta
toata puterea de calcul a procesorului. Unicul mod de lucru multi-tasking apare la
cooperarea tuturor programelor. Acestea, periodic, trebuie sa iasa din bucla
pentru a oferi timp de procesare si celorlalte aplicatii.
Sub Windows 95 si NT, oarecum s-a imbunatatit acest lucru, utilizandu-se
un multitasking preemtiv. Un proces Windows nu poate opri sistemul prin intrarea
intr-o bucla infinita. Se poate utiliza CTRL+ALT+DEL pentru a opri acel task.
Oricum, Windows 95 si NT nu sunt sisteme hard de timp real. Adevaratele
sisteme hard de timp real au multiple nivele de prioritate care pot fi asignate
proceselor ce ruleaza. Windows-ul NT are doar un nivel de prioritate, numit de
timp real ( de fapt, are mai multe, dar nu sunt utilizabile, fiind folosite de sistemul
de operare). Ofera si alte nivele de prioritate scazuta, procesele fiind asociate
automat cu unul dintre aceste nivele de prioritate, depinzand de puterea de
calcul a procesorului. Faptul ca sunt doar cateva nivele de prioritate de timp real
si altele care nu sunt deterministe in adevaratul sens al cuvantului, scoate
indiscutabil, sistemul NT din gama celor de timp real. Un inginer software trebuie
sa caute prin driverul de NT si sa lucreze direct cu intreruperile pentru a crea un
sistem de timp real determinist.
O problema si mai mare sub NT este faptul ca programele pe 32 de biti nu
pot realiza aplicatii directe de I/O. Daca un program doreste sa lucreze cu un
aparat, el trebuie sa o faca prin intermediul unui driver. Nu se poate scrie direct
un program in C++ si sa accesam direct registrii placii. Si acest lucru din cauza
securitatii, care nu permite acest lucru. Astfel ca nu este de ajuns faptul ca
trebuie pacalite aplicatiile de Win32, dar mai trebuie si conceput cate o
interfata driver pentru fiecare device in parte. Majoritatea acestora vor fi dedicate
acestui Windows NT si nu pot fi folosite sub Windows95 si 3.1.
Un remediu pentru folosirea calculatorului drept platforma de lucru pentru
sisteme de timp real, este utilizarea sistemului DOS imbunatatit . Prin folosirea
unor tabele de intreruperi protejate se pot crea procese de timp real. Cei 640K
DOS sunt totusi insuficienti pentru majoritatea sistemelor astazi, astfel ca se
utilizeaza tehnologia DPMI pentru extinderea programelor in modul de operare
pe 16 biti protejat. Aceasta tehnologie se numeste Client-Server Protected Mode
DOS
o Arhitectura Client-Server Protected Mode DOS
Arhitectura client-server permite sistemului DOS sa faca ceea ce stie mai
bine, adica executie de programe in timp real. Pentru aceste programe este
necesara o simpla interfata utilizator. Prin tehnologia client-server, datele rulate
in aceste programe, sunt aproape instantaneu disponibile oricarei aplicatii
Windows 95 sau NT. In general, datele vehiculate, ocupa in jur de 256K. Aceste
date pot fi trimise din DOS spre Windows in aproximativ 2 secunde. Cand
aplicatia Windows doreste modificarea anumitor parametrii ai aplicatiei DOS, se
trimite un mic pachet de date in aplicatie.
Limitarile acestei tehnologii se datoreaza in special, memoriei de mod real
DOS si de modul de folosire a acestei memorii de clientii Windows. In mod
normal, cam doua aplicatii Windows folosesc accesul la aceasta memorie. Alt
factor care limiteaza aceasta metoda este legat de gradul de optimizare al
driverelor care gestioneaza accesul la memoria de timp real.
In concluzie,constructia fiecarui sistem de operare (Windows, DOS, Linux,
etc) incearca sa acopere cat mai multe situatii critice, dar concluzia finala este ca
fiecare sistem este optimizat pentru un anumit fel de procese. Un programator de
aplicatii de achizitii de date trebuie sa ia in consideratie aceste aspecte. Alegerea
finala in final va fi un compromis intre flexibilitate, functionalitate, usurinta de
utilizare si robustete.
o Gestionarea vitezei de executie a programelor
Viteza de executie este o problema in majoritatea aplicatiilor de testare,
astfel incat un programator trebuie sa caute sa foloseasca tehnici de programare
care sa accelereze viteza de executie mentinand in acelasi timp acuratetea. In
mod particular, programatorul trebuie sa evite o astfel de eroare care poate
apare atunci cand se utilizeaza un pc mult mai rapid decat instrumentul care ii
este atasat. In aceasta situatie , se poate crea falsa impresie ca sistemul este
mai rapid decat este in realitate, ceea ce poate conduce la obtinerea de date
eronate. Acest lucru survine datorita faptului ca aplicatia software poate sufoca
hardware-ul. In anumite situatii, driverul aplicatiei rezolva aceste probleme; in
altele, programatorul trebuie sa ajusteze aplicatia, dupa cum se arata in
urmatorul exemplu.
Intr-o aplicatie tipica de calibrare, programul comanda calibratorul sa
genereze o anumita tensiune de excitare pe un anumit aparat de testat, inainte
de a-i masura raspunsul.Atat calibratorul cat si aparatul de testat au nevoie de un
anumit timp de stabilizare, adesea exprimat in secunde, inainte de a se comanda
prin program inceputul masuratorii. Daca timpul total de stabilizare nu este bine
socotit, programul achizitioneaza valori eronate iar calibrarea este inutila.
In mod normal, programatorii introduc timpi de asteptare., astfel incat
problema efectelor tranzitorii dispare.
Preferabil in locul introducerii unor timpi de asteptare, programatorul poate
crea un algoritm care se foloseste de o reactie sau un semnal din partea
calibratorului (sa-i spunem semnalul de instrument ready) pentru a sti cand a
fost atins palierul de tensiune respectiv. Starea acestui steag-semnal
determina executia unei masuratori asupra aparatului de testat. De asemenea, si
instrumentul care executa masurarea poate genera un semnal care sa marcheze
sfarsitul achizitiei. Aceasta abordare a programarii are ca rezultat, in final, o
folosire mai eficienta a resurselor calculatorului.
10. Structura protoalelor TCP/IP
10.1 Tipuri de retele
O retea de calculatoare reprezinta un sistem de comunicatii ale carui
terminale sunt reprezentate de calculatoare. De obicei, aceste terminale se
numesc gazde (hosturi). Aceste hosturi pot fi de diverse categorii: pot fi servere
de date, de tiparire sau terminale simple. In general, server-ul de orice tip
deserveste alte hosturi iar terminalele reprezinta iesirile user-ilor. Tipul de
calculator sau performantele acestuia nu intereseaza la acest nivel, toate
calculatoarele fiind tratate egal.
Conectarea calculatoarelor apropiate, aflate intr-un spatiu relativ restrans, intr-o
retea formeaza cea mai simpla tipologie de retea, numita LAN ( Local Area
Network). Distantele maxime suportate de cablatura pentru aceste tipuri de retele
sunt de ordinul a 50-100m.
Din punct de vedere al conectarii, retelele LAN pot fi de doua tipuri:
ethernet sau token ring.
Acest tip de retele este conectat in mod normal prin cablu coaxial. Viteza de
lucru normala este de ordinul a 5-10 MB/s.
Fig 3.10 Topologii de retele
O alta categorie de retele este WAN ( Wide Area Network). Acest tip de
retele conecteaza calculatoare din diferite puncte de pe glob. Marile corporatii
multinationale folosesc acest tip de retele.Conectarea calculatoarelor se
realizeaza in principiu prin satelit sau prin fibre optice, cu o viteza pana la 150
MB/s. Pentru securizarea comunicarii se pot folosi linii inchiriate de telefonie, la o
viteza de 14.4 kB/s.
Hibridele realizate intre LAN si WAN poarta numele de retea MAN ( Metropolitan
Area Network ). De obicei, o asemenea retea deserveste serviciile unui mare
oras. Functionarea se moduleaza dupa cerintele unei retele LAN iar de cele mai
multe ori transmisia este realizata prin fibra optica, ajungandu-se la o viteza de
lucru de aproximativ 100 MB/s. In functie de natura oparatorilor pe care reteaua ii
deserveste transmisia se poate realiza printr-o multitudine de alte mijloace: linie
telefonica ( prin dial-up )viteza de pana la 32kB/s, linie telefonica dedicata, cablu
coaxial, transmisii radio, cablu TV.
Legatura dintre doua retele poarta numele de Internetwork. Doua retele sunt
legate in momentul in care un calculator dintr-o retea comunica cu un calculator
din alta retea. Legarea acestor doua calculatoare poarta numele de gateway.
Avantaje si dezavantaje ale retelelor tip LAN si WAN.
Retelele tip LAN sunt mult mai fiabile, presupunand o comunicatie in care
teoretic nu se pot strecura erori de comunicatie. Daca insa acestea apar, este
mai greu sa fie detectate si raportate iar sistemul incepe sa nu mai functioneze
corect. Retelele WAN pot transmite erori in mesajele schimbate dar acestea pot
fi mai usor detectate.
Din punct de vedere al protocoalelor de transmisie, retelele LAN
functioneaza unitar pe un singur protocol de transmisie. Retelele WAN pot folosi
o multitudine de protocoale de comunicatii, problemele care apar sunt date de
conversia dintre diversele protocoale.
Retelele tip LAN permit transmisia rapida a informatiei, mult mai usor
decat retelele WAN. In schimb retelele WAN se comporta mult mai bine la
prelucrarea mesajului, aceasta fiind realizata foarte rapid, intr-o fractiune din
timpul necesar transmisiei.
10.2 Protocoale de comunicatii pe Internet.
Un protocol de comunicatii este un set de reguli si conventii ce se
stabilesc intre participantii la o comunicatie in vederea bunei desfasurari a
acesteia. Un protocol este deci independent de tipul de mesaje sau de continutul
acestora. Un protocol se poate stabili intre un emitent si un receptor. Gestionarea
comunicatiei se bazeaza pe ierarhizarea acesteia, numita si familie de
protocoale.
Ierarhizarea la nivelul n in cadrul unei familii de protocoale se realizeaza
pe 3 directii : orizontala comunicatii intre protocoale de acelasi nivel, superioara
la n+1 si inferioara la n-1.
Vom incepe prezentarea familiilor de protocoale cu protocoalele OSI ( Open
System Interconnection). Acestea au 7 nivele de comunicatii:
nivel fizic; ( physical layer ) conexiuni mecanice si electronice;
nivel de legatura de date; ( data link layer) fixeaza o transmisie fara erori in
jurul unei linii de comunicatii;
nivel retea; ( network layer ) fixeaza si controleaza fluxul de informatii intre
capetele retelei.
nivel transport; ( transport layer )
nivel sesiune; ( session layer ) gestioneaza dialogul intre aplicatii sau
utilizatori
nivel prezentare; ( presentation layer ) sintaxe comune intre aplicatii si
utilizatori ;
nivel aplicatie; ( application layer ) aplicatii comune la nivel utilizator
Fig 3.11 Ierarhizarea OSI
OSI reprezinta deci un model de arhitectura de retea elaborat de catre ISO (
International Standards Organisation ) in perioada 1977 1994.
Protocoalele folosite in practica sunt destul de numeroase, printre cele mai
utilizate putem aminti:
XNS (Xerox Network System)
TCP/IP (Transmision Control Protocol)
SNA (System Network Architecture IBM)
UUCP ( Unix/Unix Copy)
Aceste protocoale sau familii de protocoale sunt organizate pe 4 nivele in
general, avand la baza modelul OSI descris mai sus. Exista posibilitatea ca un
nivel al unei anumite familii de protocoale sa inglobeze mai multe nivele OSI.
Ceea ce este important de retinut este faptul ca protocoalele respective sunt
organizate pe acelasi principiu ca si OSI.
10.3. Operatii in cadrul protocoalelor
Pentru a putea preciza ce fel de operatii se executa in cadrul protocoalelor de
comunicatii trebuie sa precizam mai intai intelesul catorva termeni tehnici si
sensul in care sunt utilizati in continuare:
a. repetor este un ansamblu de echipamente electronice care copiaza
semnalul electronic primit de la un segment de retea la urmatorul . Copierea
presupune si existenta unui zgomot. Acest tip de dispozitiv exista cu
precadere in retelele Ethernet. Aceste dispozitive sunt utilizate la nivelul1.
b. bridge muta asa numitele frames intre doua retele vecine. Transferul se
efectueaza odata cu verificarile si validarea continutului transferat. Existenta
sa este confirmata in cadrul nivelului 2 de comunicare.
c. router muta pachete de la o retea la alta si ia decizii cu privire la traseul
urmat de pachetul respectiv pentru a ajunge la destinatie. Acest router
functioneaza in cadrul nivelului 3.
10.3.1 Incapsulare, multiplexare, fragmentare, comutare.
Acestea sunt operatiile folosite in comunicatii de catre diferitele familii de
protocoale. Operatiile respective actioneaza pe perechi, una dintre ele la plecare
de la emitorul informatiilor iar cealalta la sosire, la receptorul informatiilor.
Incapsularea se refera la completarea datelor transmise, la fiecare nivel
dintr-o familie de protocoale, cu o serie de informatii care vor fi folosite de catre
protocol pentru validarea transmisiei la nivelul respectiv. Operatia se desfasoara
incepand cu nivelele superioare catre cele inferioare.
Decapsularea reprezinta operatia inversa utilizata la receptarea datelor.
Suplimentele de informatie adaugate la ncapsulare sunt asamblate in vederea
realizarii validarii informatiei primite de la partenerul de pe acelasi nivel. In urma
validarii sunt eliminate iar informatia ca atare este transmisa la nivelele
superioare.
Multiplexarea este operatia de combinare a mai multor segmente de
informatie intr-unul singur. Pentru ca legaturile sa poata fi refacute fiecare
segment de informatie trebuie sa contina o adresa de provenienta a informatiei
Demultiplexarea este operatia inversa prin care segmentul rezultant de
informatie trebuie dezasamblat in elementele sale componente repartizate
destinatarilor corespunzatori.
Fragmentarea este utilizata in cazul aparitiei unei limitari superioare a
lungimii unui pachet informational. Familiile de protocoale permit acesata limitare
prin intermediul unei constante numite MTU ( Maximum Transmision Unit). In
cazul in care lungimea mesajului transmis depaseste MTU, atunci are loc acesta
fragmentare.Informatia este impartita in fragmente de MTU octeti ca lungime
transmisi separat. In prealabil, in fata fiecarui fragment se inscrie o adresa de
identificare care contine doua informatii importante numarul de fragmente si
pozitia respectivului fragment. Fragmentele fiind transmise separat este posibil
ca ruta lor sa difere sau mai mult ordinea sosirii lor sa fie una aleatoare.
Reasamblarea este operatia inversa fragmentarii si ea se realizeaza
numai in urma sosirii tuturor fragmentelor, pe baza indicativilor de identificare
transmisi. Fragmentarea/reasamblarea se pot aplica nu numai intre sursa si
destinatie ci si pe portiuni intermediare . Acest set de operatii este posibil la orice
nivel de comunicatii in cadrul unei familii de protocoale.
Principalul avantaj al acestor operatii este ca permite transmisia unor
mesaje oricat de lungi, dar prelucrarea informatiei este mai greoaie, timpul de
transmisie fiind marit substantial.
Tehnica de transfer a informatiilor pe Internet difera in mod fundamental
de alte tipuri de comunicatii. Intre sursa informatiior si destinatia acestora nu se
stabileste o cale unica, stabila si predeterminata. Interconectarea calculatoarelor
permite ca acestea sa imparta intre ele legaturile de comunicatie, astfel incat
calea pe care o urmeaza mesajele sa se schimbe in permanenta. Fiecare pachet
de informatie se strecoara pe propriul sau drum incercand rutarea pe tronsoane
cat mai libere. Din loc in loc, la anumite gateway-uri, se realizeaza o regrupare a
mesajelor aflate in dependenta ( temporala sau cauzala ) , dupa care transferul
este continuat catre destinatie. Aceasta tehnica se numeste comutare de
pachete.
10.3.2 Controlul erorilor.
Tehnicile de transfer de date prin Internet presupun deci o serie de
operatii destul de complexe in care se pot strecura diferite erori. Aceste erori pot
fi de doua feluri. Datele pot fi corupte sau pierdute. Procedurile de control al
erorilor pot fi foarte sofisticate. Pentru o relativa siguranta a controlului se
obisnuieste ca destinatia sa trimita emitatorului un mesaj de confirmare a primirii,
ACK. Daca acest mesaj nu este transmis intr-un interval timeout de timp, atunci
mesajul este considerat pierdut.
Verificare integritatii mesajului se realizeaza prin mai multe operatii
sume de control ( checksum )
biti de paritate
control de paritate incrucisat
coduri ciclice polinomiale
Rutarea
In momentul in care un pachet de informatie soseste intr-un nod de retea, intr-un
host sau gateway, apar patru posibilitati:
1. Host-ul de destinatie sa fie direct conectat la nod sau este in aceeasi
retea ethernet. Pachetul va fi trimis direct la destinatie.
2. Pachetul sosit contine adresa urmatorului nod, ceea ce se numeste
rutare sursa. Calea pe care o urmeaza pachetul este predefinita si
procedeul este utilizat in retele token-ring sau de catre administratori
pentru teste.
3. Nodul curent cunoaste ruta pe care pachetul trebuie sa o parcurga,
pentru ca se cunoaste adresa sursei.
4. Nici una din situatiile precedente nu se intalneste. In acest caz
trebuiesc luate decizii in nodul curent. Acest caz este cel mai frecvent
intalnit si de aici decurg patru optiuni:
4.1. Rutare statica : decizia este luata pe baza unor informatii
precalculate
4.2. Rutare dinamica izolata: decizia se ia in functie de
incarcarea momentana a retelei locale. Analiza se face pe
baza fluxului de informatie prin nodul respectiv
4.3. Rutare dinamica centralizata: decizia se ia pe baza
informatiilor la nivel general despre situatia retelei si poate fi
folosita numai daca host-urile care compun reteaua transmit
un raport referitor la starea lor continuu catre nod
4.4. Rutare dinamica distribuita: decizia este luatape baza
analizei locale si globale . Odata ce un gateway obtine o
informatie globala isi schimba automat informatiile de stare.
10.4 Familia de protocoale TCP/IP
TCP/IP a aparut in mediile Unix ca o extensie UUCP ( Unix to Unix Copy)
la sfarsitul anilor 70. In jurul anului 1968 in SUA se formeaza ARPA ( Advanced
Defence Projects Agency ) ce avea printre obiective crearea unei ARPANET
care sa lege intre ele diferite institutii universitare, militare si centre de cercetare.
In Septembrie 1980 ARPA/DARPA a lansat un proiect pentru a dezvolta
familia de protocoale TCP/IP. Sistemul de operare a fost implementat la Berkeley
University si lansat in functiune in toamna lui 1983. Din acel moment retelele
locale tip Ethernet au luat o mare amploare iar dezvoltarea lor a fost foarte
rapida. Impreuna cu acest sistem a fost pus la punct un sistem de socluri (
socket ), sistem utilizat de majoritatea aplicatiilor de retea, inclusiv retele Unix
sau Windows, Windows NT.
Avantaje ale familiei de protocoale TCP/IP:
este independenta de vanzator;
nu este protejata prin copyright;
este utilizabila pe orice tip de calculator;
se poate utiliza in retele de orice tip: LAN, WAN sau MAN;
are un mare numar de utilizatori;
Practic toate calculatoarele conectate la Internet folosesc familia de protocoale
TCP/IP.
10.4.2 Structura TCP/IP
Familia TCP/IP are o parte relativ stabila in cadrul nivelelor retea si
transport. Nivelul legaturilor de date este controlat mai mult de driver-ele placilor
de retea si de cele ale retelelor iar nivelul aplicatiilor este foarte dinamic, tot
timpul aparand aplicatii noi construite pe baza protocolalelor TCP/IP. Vom
explica mai jos in ordinea nivelelor functionarea TCP/IP.
- Nivelul legaturii de date
Tendinta actuala alegaturii de date o reprezinta inlocuirea legaturilor mai
vechi, lente, cu altele mai noi , mult mai rapide. In acelasi timp, o buna parte a
legaturilor raman cele initiale, functionand la viteze scazute dar fiind prezente
peste tot si probabil ca vor mai rezista inca multa vreme. Este deci foarte posibil
sa intalnim alaturat linii telefonice inchiriate la 57.6 Kbs si retele de fibre optice la
1.544MBs. Marea majoritate a sistemelor ce utilizeaza TCP/IP sunt retele
Ethernet lucrand la viteze mici, sub 10Mbs, in general. Exista insa si retele fast
ethernet cu viteze de pana la 100 MB/s sau retele token ring. Se pot realiza de
asemenea retele prin interfata seriala, tip RS 232 la viteze de pana la 19200b/s,
legaturi asincrone prin SLIP (Serial Line Internet Protocol ) sau PPP ( Point to
Point Protocol), care permite legarea atat pe legaturi seriale asincrone, cat si pe
legaturi seriale sincrone. In afara acestor legaturi fizice exista o multitudine de
variante wireless, prin unde radio, satelit sau laseri.
A. Nivelul retea IP
IP asigura transmisia unor pachete prin intermediul unor adrese unice, specifice
fiecarui nod, numite adrese Internet. Caracteristica esentiala a IP este ca
trateaza fiecare pachet ca pe o entitate separata, fara legatura cu alte pachete.
Entitatile de transmisie se numesc datagrame IP iar componenta IP este
intermediarul intre cadrele de la nivelul legaturii de date si mesajele nivelului
transport.
Dezavantajele IP la nivel de retea sunt reprezentate de faptul ca
realizeaza livrarea datelor utilizand un serviciu fara conexiune. Acest nivel
considera fiecare datagrame ca fiind independenta, asocierile dintre diferite
pachete fiind tratate la nivelele superioare. Nivelul IP este considerat nefiabil
deoarece el nu garanteaza faptul ca datagramele ajung sau nu la destinatie si
nici daca continutul lor este corect. In consecinta, verificarea completa a
corectitudinii datelor cade in sarcina nivelelor superioare. Totusi nivelul IP
calculeaza is verifica o suma de control a propriilor sale antete, care contin
printre altele, adresa calculatorului sursa si a celui destinatie pentru a asigura
propria corectitudine de lucru.
Daca un antet IP este gasit eronat, intregul pachet va fi anulat, cu
presupunerea ca nivelul urmator va sesiza eroarea si va transmite pachetul din
nou.
Nivelul IP este nivelul responsabil cu rutarea pachetelor in Internet, si de
asemenea este responsabil cu eventuala fragmentare a datelor. De exemplu,
daca un gateway primeste spre transmitere un pachet care este prea mare
pentru urmatoarea retea de parcurs, depaseste valoarea MTU a retelei, nivelul IP
este acela care imparte datagrama in fragmente si le transmite ca datagrame
independente.
Nivelul IP ofera o forma rudimentara de control al fluxului de date. Daca
pachetele ajung la destinatie intr-un ritm prea rapid si o parte din ele trebuiesc
anulate, modulul IP ransmite un mesaj ICMP ( Internet Control Message
Protocol) catre sursa originala, cu informatia ca datele sosesc prea repede.
ICMP este implementat la nivelul sistemului de operare. El furnizeaza mesaje de
eroare si control pentru IP. Principalele lui functii sunt:
testeaza accesibilitatea la un nod al retelei;
raporteaza problemele legate de transmisia datelor;
sincronizeaza ceasurile intre nodurile retelei;
obtine adresele Internet si ale mastilor de retea;
In general ICMP transmite un mesaj catre IP in una din urmatoarele
situatii:
cand un pachet nu ajunge la destinatie;
cand un host/gateway nu poate trimite mai departe un pachet;
cand un gateway poate determina un host sa-si redirectioneza traficul pe o
ruta mai scurta;
B. Nivelul transport UDP si TCP
Acest nivel se refera la serviciile UDP sau TCP. User Datagram Protocol,
UDP reprezinta o modalitate de transfer nefiabil, dar cu mare viteza de
transmisie. Faptul ca este nefiabil implica doua aspecte:
a. nu se asigura certitudinea livrarii;
b. nu exista mecansime care sa detecteze pierderea sau duplicarea
pachetului;
TCP ( Transmission Control Protocol ) asigura transferul fiabil al datelor
intre sursa si destinatie. El asigura integritatea datelor transmise, mecanisme de
protectie la pierderea sau duplicarea pachetelor, pastrarea numarului de
secventa. Dimensiunea mesajelor nu este limitata. Viteza de transfer este mai
redusa, pentru ca software-ul de protocol face o serie de verificari pe care UDP
nu le face. Principalele caracteristici ale TCP sunt:
transferul de date se realizeaza in flux continuu, prin impachetarea in
segmente transmise succesiv in retea;
se asigura siguranta transmisiei, prin recuperatea pachetelor transmise cu
erori, piedute, duplicate sau cu numar de secventa eronat. Este stabilit un
interval maxim de timp, time-out, in care ACK-ul de la destinatie trebuie sa
ajunga inapoi la sursa, altfel pachetul este considerat pierdut si retransmis;
se asigura controlul fluxului de dateastfel: la primirea unui ACK se indica
intervalul in care se poate efectua o noua transmisie dupa ultimul segment
receptionat corect;
realizarea multiplexarii permite ca mai multe procese sa fie rulate simultan,
ceea ce inseamna ca la interfata fizica se poate lucra in mai multe moduri in
paralel;
exista un control al conexiunii, numit circuit virtual, ce functioneaza similar cu
o conexiune telefonica. Pentru stabilirea acestui circuit virtual se realizeaza o
negociere intre sursa si destinatie.
Se poate acum face o scurta comparatie intre protocoalele descrise mai sus:
Protocol IP UDP TCP
Orientare
conexiune
nu nu da
Limitarea lungimii
mesaj
da da nu
Checksum nu da da
Raspuns la validare nu nu da
Timeout si
retransmitere
nu nu da
Detectare duplicare nu nu da
Secventiere nu nu da
Control flux de date nu nu da
Se observa ca TCP este cel mai complex dintre cele trei protocoale,
avand caracteristici specializate mult mai vaste decat IP sau UDP. El se ocupa
de validarea datelor, siguranta transferului, raspunsuri la validare, tehnici time-
out sau controlul fluxului.
UDP ofera numai doua facilitati suplimentare fata de IP: permite scrierea
unor numere de porturi si realizeaza o suma de control pentru verificarea
integritatii unei datagrame UDP.
10.5 Porturi de comunicatii
Putem defini un port al unei aplicatii ca fiind un capat al unui canal de
comunicatii.O aceeasi interfata de retea poate fi folosita simultan de catre mai
multe aplicatii, fiecare ditre acestea avand alocat cate un port. In acest mod,
pachetele receptionate la nivel fizic vor fi distribuite catre aplicatia careia ii sunt
destinate. Portuile sunt reprezentate de numere intregui pe 16 biti. O parte dintre
aceste porturi sunt rezervate aplicatiilor particulare ale sistemului de operare sau
ale pachetului TCP/IP: FTP 21, timeserver 37, TFTP 69, gophef 70, finger 79,
login 513, talk 517.
10.5.1 Aplicatii
Puterea pachetului TCP/IP consta exact in numarul mare de aplicatii ce pot fi
dezvoltate, indiferent de sistemul de operare. Lista acestor aplicatii este extrem
de vasta, ea imbogatindu-se permanent cu noi si noi aplicatii.
FTP ( File Transfer Protocol ) este un program utilizat pentru a transfera fisiere
de pe un calculator pe altul Ofera un set complet de comenzi interne pentru
transferul fisierelor: pe host-ul local sau pe unul aflat la distanta. De asemenea
se ofera o serie de optiuni precum: autentificarea utilizatorului, conversia datelor,
listarea continutului directoarelor. Se utilizeaza protocoale TCP in urma carora
utilizatorul este interogat asupra drepturilor sale ( nume, parola ) de catre srever
iar datele pot fi transferate in ambele directii. FTP poate transfera fisiere binare
sau text.
TFTP ( Trivial FTP ) este un protocol mai simplu decat FTP. El permite trensferul
fisierului intre client si server dar nu permite autentificarea utilizatorului, listarea
continutului directoarelor sau schimbarea directorului curent. El foloseste
serviciile UDP de pe nivelul transport.
TELNET permite deschiderea unei sesiuni pe terminal pentru conectarea la un
sistem aflat la distanta. In momentul realizarii conexiunii, Telnet-ul transfera
caracterele tastate catre server-ul indepartat. Ca si FTP, Telnet utilizeaza
protocoale TCP.
SMTP ( Simple mail transfer protocol ) reprezinta cel mai simplu protocol de
transfer a postei electroniceintre hosturi diferite.
RCP, Rlogin la origine comenzi operationale in retelele Unix, ulterior fiind
integrate si in alte tipuri de retele. RCP este analogul FTP, permitand copierea
unor fisiere iar Rlogin analogul Telnet, deschizabd o sesiune de lucru pe un
terminal indepartat.
POP ( Post Office Protocol ) este un serviciu de manipulare a postei electronice
pe masini client non- Unix.
NFS ( Network File System ) este un serviciu prin intermediul caruia mai multe
masinilegate intr-o retea locala isi pun la dispozitie in comun sistemele de fisiere,
acestea fiind vazute de catre utilizator ca un tot unitar, fiind gestionate ca o unica
baza de date.
10.6. Adrese Internet
Adresele Internet reprezinta cheia navigarii si utilizarii Internetului. In mod
normal, fiecare server conectat la Internet are o adresa a sa unica. Vom vedea
ce tipuri de adrese se pot folosi. Pentru accesarea unei anumite adrese nu exista
un server general, supra-serverul, ci actiunea se petrece la nivel inferior prin
distribuirea deciziilor si partajarea informatiilor.
Pentru evitarea conflictelor de adresare, hosturi sau servere care sa aiba
aceleasi adrese exista mai multe solutii, puse la punct prin continua monitorizare
a Internetului. Reamintim aici rolul unor organizatii gen ISOC sau IAB care
incearca unificarea tehnologiei schimbului de informatie la nivel mondial.
La inceputul aparitiei Internetului existau mai multe tipuri de adrese Internet,
dar majoritatea lor nu s-au pastrat. La ora actuala exista doua tipuri de
specificare a unei adrese Internet:
a. Prin siruri de numere specificarea numerica;
b. Prin siruri de nume specificarea de domenii;
Desi ambele figureaza ca si adrese Internet, vom conveni asupra urmatoarei
conventii de denumire:
- Adrese IP pentru specificarea numerica ( pachetele IP retin aceste
adrese numerice )
Adrese Internet pentru specificarea prin nume de domenii.
10.6.4. Adrese IP. Clase de adrese
Adresa IP folosita de pachetul TCP/IP este un numar intreg si pozitiv,
reprezentat pe 32 de biti, avand un numar maxim de posibilitati de 2
32
numere
diferite.
Fig 3.12 Structura unei adrese IP
La ora actuala exista 4 clase de adrese : A, B, C, D. Dintre cele 4 clase, ultima
este pastrata libera si este nefolosita. Cei 32 de biti care constituie totalul
numarului de identificare sunt repartizati in fiecare categorie separat, in functie
de clasa adresei.
Structura claselor A, B, C de adrese este prezentata mai jos:
Fig.3.13 Structura claselor de adrese
In acelasi mod adresele de clasa D incep ca prima combinatie de biti 0111,
ceilalti 28 de biti fiind rezervati.
Se poate observa ca pentru fiecare tip de clasa de adresa exista un numar limita
de retele si un numar finit de hosturi in fiecare retea. Pentru fiecare clasa aceste
limitari ar fi:
Clasa A : 2
7
retele a cate 2
24
-1 hosturi fiecare
Clasa B : 2
14
retele a cate 2
16
-1 hosturi fiecare
Clasa C : 2
21
retele a cate 2
8
-1 hosturi fiecare
Aceste limitari sunt suficiente pentru dezvoltarea actuala a Internetului,
dar pe viitor vor deveni insuficiente. Peste cativa ani aceste limitarui vor trebui
rezolvate, datorinda expansiunii Internetului si realizarii transmisiilor mass-media
tot pe canale Internet. O varianta de rezolvare a problemei este de a modifica
structurile de pe 32 de biti pe 48 de biti, odata cu scrierea unui nou set de
protocoale TCP/IP.
Organismul care atribuie grupele de retele sau clasele de retele este NIC (
Network Information Center ). Acestia atribuie numai clasa de adresa si campul
retea, campurile subretea si host fiind gestionate de administratorul retelei.
Atribuirea clasei de retea se face in functie de marimea si specificul retelei . Cele
de clasa A au fost preferate in primii ani ai dezvoltarii Internet, astazi, fiind foarte
greu atribuite de catre NIC.
Majoritatea adreselor atribuite in ziua de azi sunt adrese tip C, iar daca o
adresa nu este suficienta se atribuie mai multe adrese de acest tip.
Recunoasterea unei asemenea adrese este destul de simpla, daca se obtine
reprezentarea ei externa, de genul: 193.226.55.12 O asemenea adresa se poate
scrie in binar ca fiind:
110 000011110001000101000 00100101
si deci este de clasa C. Adresele sub forma esterna la care primul numar este
mai mic decat 127 sunt adrese clasa A, cele intre 128 si 191 apartin clasei B,
intre 192 si 223 apartin clasei C, iar 224-255 clasei D.
10.6.4. Subretele si masti de retea
In cazul in care adresele se repartizeaza uniform fiecare retea primeste o
adresa numerica IP, ceea ce duce la crearea unor tabele de rutare extrem de
vaste, presupunand un efort destul de mare in ceea ce priveste operatiile din
cadrul protocoalelor. Se constata practic faptul ca adresarea prin Internet a fost
gandita pentru un numar relativ mic de retele, fara sa se ia in considerare
proliferarea retelelor LAN. Da aceea, solutia adoptata mult mai tarziu a constat in
divizarea retelelor globale in sub-retele, care la randul lor sa se divida in zub-
zone cu alte subretele sau hosturi. In acest caz rutarea este distribuita pe mai
multe servere, fiecare avand in subordine un numar mai mic de adrese.
In cazul in care apar tot mai multe subretele ale unei singure retele este
destul de greu de creat diferenta intre un host al unei subretele si subreteaua
imediat urmatoare. De aceea in asemenea cazuri se construiesc asa numitele
masti de retea. Daca presupunem o adresa de clasa C oarecare 200. 200.18.xxx
, hosturile si subretelele care se includ in aceasta retea pot fi gestionati de catre
administratorul retelei. Acesta poate construi o masca de retea punand bitii
corespunzatori clasei, retelei si subretelei la valoarea 1 si bitii corespunzatori
campurilor host la valoarea 0. In acest caz subreteaua respectiva va putea fi mai
usor identificata iar masca va fi in scriere externa 255.255.255.192.
10.6.3. Adrese speciale
Nu toate combinatiile rezultate in IP pot fi considerate ca adrese externe.
De exemplu, pentru orice host adresa
127.0.0.1
desemneaza hostul in sine. Interfata de retea foloseste aceasta adresare pentru
a-si trimite mesaje in cadrul testarii ierarhiei in retea sau a protocoalelor de
conexiune.
Exista de asemenea adrese de transfer general sau de broadcast: o
asemenea adresa se poate obtine punand in campul de adresa toti bitii pe
valoarea 1 . rezultatul acestei adresari este ca hostul va trimite un mesaj la toate
hosturile din subretelele conectate in mod direct la acel server.
Daca toti bitii din adresa de host sunt pe valoarea 0, se va trimite un
mesaj la toate hosturile din subreteaua respectiva. O cerere lansata de adresa
200.200.10.0 va fi deci transmisa la toate hosturile intre 200.200.10.1 si
200.200.10.254, char daca aceste pozitii sunt sau nu ocupate cu hosturi reale.
Corespondenta adrese IP hosturi este foarte simpla. In general unui host i
se atribuie o anumita adresa IP. Exista insa host-uri care au mai multe adresa IP,
deci se pot accesa prin mai multe cai. In asemenea cazuri unui host i se atribuie
atatea adrese IP cate placi de retea are inglobate in el hostul respectiv.
Asemenea hosturi pot fi nodurile de retea sau diversele ramificatii ale retelelor.
10.6.4. Adresarea pe domenii. Servere de domenii
Adresarea prin specificarea de domenii este un pas inainte fata de adresarea
in forma IP, datorita faptului ca utilizatorul are in fata o forma mai comoda, mai
sugestiva si mai elastica de adresare.Corespondenta intre specificarea de
subdomenii si adresele IP este realizata de catre protocolul de aplicatie DNS (
Domain Name Server )
Acest sistem de adresare este similar intr-o buna masura celui postal. Spre
exemplu, adresa Internet a departamentului de Masuri Electrice este:
www.electro.masuri.pub.ro
ceea ce inseamna ca aflate pe server-ul electro (server de domeniu, de la
denumirea facultatii) sunt incluse in subdomeniul masuri ( de la denumirea
departamentului) din subdomeniul pub ( Universitatea Politehnica Bucuresti )din
subdomeniul ro ( Romania).
Se poate observa ierarhizarea acestor subdomenii in cadrul domeniilor, de
la cel particular in stanga la cel mai general in dreapta. Modul lor de organizare
tine de competentele administratorului respectivului domeniu. Astfel, reteaua
educationala din Romania, RoEduNet a decis ca domeniul alocat Politehnicii din
Bucuresti sa poarte numele de pub, administratorul pub a decis de comun acord
Facultatea de Electrotehnica asupra subdomeniului sau, electro, s.a.m.d. In
general adresele Internet din afara Statelor Unite au la sfarsit specificata tara de
apartenenta, sub forma unui cod de doua litere .
Adresele generate in SUA au un domeniu bine precizat de obicei, deci la pozitia
cea mai din dreapta va fi un grup de litere ce nu va indica tara ci tipul domeniului:
Com Comercial
Edu Institutii, Educational
Gov- Institutii guvernamentale
Int Institutii Internationale
Mil Institutii militare
Net resurse Internet
Org- organizatii, neguvernamentale, non-profit, etc.
TENDINE MODERNE N REALIZAREA
SISTEMELOR DE ACHIZIIE A DATELOR - SAD
11.1. STRUCTURI CARE FOLOSESC INSTRUMENTE DE MSURARE
Necesitatea tot mai stringent de cretere a capacitii de msurare,
testare i control a produciei, a impus crearea unei noi generaii de
echipamente destinate sistemelor automate de testare i de achiziie a datelor.
Utilizarea unui nou sistem de testare avnd la baz un multimetru digital
performant, DMM, i un sistem de comutare/multiplexare a devenit o tendin
din ce n ce mai evident n ultima perioad, 3-4 ani, mai ales n cazul
proiectelor caracterizate prin:
- numrul mare de canale de msurare ale sistemului;
- o mare varietate a tipului semnalelor de intrare;
- precizie mare de msurare;
- creterea vitezei de transfer a datelor spre unitatea de calcul.
Prima generatie DMM/Switching System
Iniial, proiectanii unor astfel de sisteme au ncercat utilizarea a dou
echipamente diferite, unul de tip DMM i unul de tip sistem de
comutare/multiplexare (Switching System), fiecare avnd structuri i moduri de
funcionare independente.
Munca de proiectare i efortul de integrare constituiau etape dificile, mai
ales atunci cnd specificaiile de realizare impuneau performane deosebite
privind modul de realizare a msurrilor i a prelucrrii datelor achiziionate.
A doua generaie DMM/Switching System
Cerinele tot mai mari privind creterea preciziei de msurare, a vitezei de
achiziie a datelor, a posibilitii de a stoca datele achiziionate, inclusiv cele
prelucrate local la nivelul Echipamentelor de testare automat (Automated
Structur de tip:
Multimetru Digital performant cu Sistem
de Multiplexare (DMM/Switching System)
Test Equipment - ATE) i a celor de achiziie a datelor (SAD) a condus la
apariia celei de a doua generaii de echipamente de tip DMM/Switching
System. Aceasta este caracterizat de o structur care include multimetre
digitale prevzute cu unul sau dou sloturi pentru o cartel de tip matrice de
comutare sau multiplexor. Se remarc n acest moment pe piaa mondial
produsele firmelor Keithley i Fluke din SUA.
Aceast nou generaie de echipamente, prezent pe pia, ofer
utilizatorilor:
foarte bun integrare a funciilor de multimetru;
sistem de comutare pentru un numr de 10 sau maxim 20 de canale;
Totui, prin comparaie cu dimensiunile atinse de structurile specifice
sistemelor de achiziie a datelor bazate pe PC i interfee de proces n ceea
ce privete numrul de canale i viteza de achiziie, utilizarea generaiei a
doua de DMM/Switching Systems este limitat datorit numrului restrns
de canale de msurare.
A treia generaie DMM/Switching System
Acesta generatie a dus la:
creterea semnificativ a numrului de canale de msurare
integrarea sistemului de comutare/multiplexare ntr-un spaiu ct
mai restrns.
Primul pas n dezvoltarea acestei soluii a fost fcut de firma KEITHLEY
Instruments, SUA, prin lansarea primului produs din noua serie Integra, modelul
2700.
Modelul 2700 (maxim 80 canale), a constituit punctul de lansare a noii
generaii de sisteme, iar noul sistem KEITHLEY Integra 2750 integreaza ntr-un
singur produs funciile realizate de:
DMM performant;
structuri de comutare/multiplexare - pentru 200 canale de msur;
faciliti de control a sistemului;
Noua generaie de echipamente este, de asemenea, conectabil la un PC
pentru integrare n soluiile - Echipamentelor de Testare Automat (ATE).
Implementarea unor funcii de prelucrare la nivelul echipamentului elimin o
parte din prelucrrile primare la nivelul PC, micornd timpul de prelucrare i
interpretare a datelor la nivelul sistemului ATE sau a celui de achiziie i de
prelucrare a datelor.
Exist un numr de cerine comune care se refer la precizia msurrilor,
viteza de achiziie mare, numrul extins de mrimi msurate i compatibilitatea
cu alte instrumente.
11.2. TEHNOLOGII INTERNET N ACHIZIIA I PRELUCRAREA
DATELOR EXPERIMENTALE
Protocoale de comunicatii pe Internet
Un protocol de comunicatii este un set de reguli si conventii ce se stabilesc
intre participantii la o comunicatie in vederea bunei desfasurari a acesteia;
Prezentarea familiilor de protocoale OSI ( Open System Interconnection).
Acestea au 7 nivele de comunicatii:
nivel fizic; ( physical layer ) conexiuni mecanice si electronice;
nivel de legatura de date; ( data link layer) fixeaza o transmisie fara erori in
jurul unei linii de comunicatii;
nivel retea; ( network layer ) fixeaza si controleaza fluxul de informatii intre
capetele retelei.
nivel transport; ( transport layer )
nivel sesiune; ( session layer ) gestioneaza dialogul intre aplicatii sau
utilizatori
nivel prezentare; ( presentation layer ) sintaxe comune intre aplicatii si
utilizatori ;
nivel aplicatie; ( application layer ) aplicatii comune la nivel utilizator
TCP ( Transmission Control Protocol ) asigura transferul fiabil al datelor intre
sursa si destinatie;
FTP ( File Transfer Protocol ) este un program utilizat pentru a transfera
fisiere de pe un calculator pe altul;
11.2.1. Soluii bazate pe module de interfa
11.2.1.1. Soluii noi pentru arhitectura sistemelor de achiziie de date
NECESITATEA INTEGRARII SUPORTULUI HARDWARE SI SOFTWARE
Structura clasic a unui SAD a rmas n lumea aplicaiilor particulare
rigide. Integrarea unui SAD presupune colaborarea cu:
- productorul de hardware, pentru procurarea placii sau a structurii de
baz pentru unitatea de calcul;
- cu dezvoltatorul de software destinat acestei categorii de aplicaii;
- programatorul, care va trebui s implementeze un program specific,
pe echipamentul dedicat, pentru a rezolva o aplicaie particular.
Tendina actual de globalizare a transferului de informaii, sub form de
date i/sau imagini, impune o noua soluie care folosete experiena i
cunotinele legate de realizarea unui SAD. Aceast soluie realizeaz:
INTEGRAREA SUPORTULUI SOFTWARE I A SUPORTULUI HARDWARE NTR-UN
SINGUR PACHET, OFERINDU-SE UTILIZATORULUI UN ECHIPAMENT COMPLET DE
ACHIZIIE DE DATE.
11.2.1.2. Instrumente de achiziie de date bazate pe web
Una dintre ultimele soluii de SAD ofer integrarea la nivelul unui singur
produs a trei componente (hardware, software i aplicaie). Astfel, n acest
produs se mpacheteaz, ntr-o singur resurs hardware:
- sistemul de operare n reea
- browser-ul web
- elemente necesare pentru interconectarea dispozitivului electronic la
o reea Internet sau la o reea local Ethernet.
Aplicaiile de achiziie a datelor bazate pe reele Internet i reele web,
WSAD, introduc tehnologia Internet la nivelul structurii unui echipament destinat
Aceast metodologie de integrare a sistemului SAD necesit
existena unor conexiuni ntre productori, lucru ce nu asigur un
timp de rspuns bun; schimbul de informaii dintre productorii de
hardware i software i programator este de multe ori dificil de
realizat i are implicaii negative asupra realizrii obiectivului final.
Salt important n dezvoltarea sistemelor de achiziie a datelor
achiziiei de date (fig 11.1). n acest caz apar dou noi componente: sistemul
de operare n reea i browser-ul web, care ofer unui WSAD adresabilitate
imediat la nivelul reelei Internet sau Ethernet. Acest nou produs WSAD,
disponibil la nivelul unei reele, constituie o soluie deosebit de performant
pentru realizarea noilor structuri informatice ale sistemelor industriale de testare
i automatizare.
Fig. 11.1. Structur general pentru un echipament din familia WSAD
Un prim produs din categoria WSAD a fost lansat pe pia de firma
Capital Equipment Corporation, CEC, din SUA. Aceasta a dezvoltat un SAD, n
colaborare cu firma NetSilicon, SUA, productor de procesoare specializate,
prin includerea unei platforme software, integrate la nivel hardware, sub forma a
dou produse: NET i Works networking platform. Construind pe seama acestei
soluii o structur integrat care include server-ul web, CEC a creat un
echipament de achiziia a datelor numit webDAQ/100.
Echipamentul webDAQ/100 ofer utilizatorilor un instrument pentru
achiziia datelor bazat pe Internet, care:
- nu necesit dezvoltare de drivere la nivelul interfeei hardware;
- nu ridic probleme privind sistemul de operare de timp real i limbajul de
programare;
- i este alocat o adres de Internet (adres IP) cu o securitate normal
incluznd firewalls, reea privat Internet-VPN i alte sisteme de acces;
- poate fi accesat de la un calculator cu conexiune la reea i un browser
web;
- au propriul server web i interfa de proces;
11.2.1.3. Avantajele soluiei WSAD
Produsul de tip WSAD ofer n domeniul sistemelor de achiziie a datelor
o soluie de tip conecteaz-l, pornete-l.
Un sistem de tip WSAD elimin operaiile de instalare i configurare
software a resurselor hardware. Reeaua Internet asigur un loc de ntlnire
extrem de accesibil tuturor aplicaiilor i nltur n mod esenial orice fel de
problem privind locul de amplasare al echipamentului i a relaiei sale n raport
cu utilizatorul. Dnd fiecrui sistem WSAD propria adres de IP, conectarea
utilizatorilor la resursele sale depinde numai de existena unui browser web i
de o conexiune adecvat la reeaua Internet.
Echipamentul webDAQ/100 ofer beneficiarului:
libertatea s foloseasc aproape orice browser, Netscape, Explorer
etc.
orice sistem de operare, Windows 2000, XP, Linux sau Unix.
Deoarece procesorul NetSilicon folosete limbajul Java-script, se
poate folosi pentru comunicare orice standard, incluznd HTTP (
Hyper Text Transfer Protocol ), FTP ( File Transfer Protocol ) sau e-
mail.
CONECTAREA LA INTERNET FURNIZEAZ MEDIUL PERFECT
PENTRU UN SISTEM DESTINAT ACHIZIIEI DE DATE.
Efortul realizatorului sau integratorului de aplicaii este sensibil redus
deoarece:
echipamentul WSAD are un server ncorporat
funcioneaz n reele internaionale i nu necesit un cod sau
software pentru configurarea i instalarea echipamentului.
Implementarea acestei structuri la nivelul platformei industriale
conduce la cretere capacitii sistemului de achiziie a datelor i la
optimizarea modalitilor prin care datele sunt achiziionate, colectate,
transferate, prelucrate i utilizate n interiorul sau exteriorul acesteia.
Pentru configurarea unui echipament WSAD sunt avute n vedere
urmtoarele elemente:
- dimensiunea memoriei. Aceasta poate avea valori de la 4MB pn la
64/128 MB. Chiar n cazul unei memorii a UC de dimensiune mic, 4MB,
aplicaia de achiziie de date pentru aceste echipamente nu necesit, n
general, un transfer continuu de date ctre un calculator. O memorie mare, 64
MB sau 128 MB, se utilizeaz cnd fenomenele care vor fi studiate sunt rapide
i neperiodice, iar timpul de transfer a datelor ctre un alt sistem de calcul este
mare. n afara necesitii unui software extins i a abilitii de a expune
msurtorile printr-un program separat (Excel sau un server FTP), cu o
memorie 4 MB se pot rezolva uor toate cerinele impuse unui SAD. Serverul
web incorporat permite, de asemenea, transmiterea de date prin e-mail, date
care pot fi stocate oriunde este necesar. n orice caz, dac se dorete
extinderea memoriei la 128 MB acest lucru se poate realiza foarte simplu.
- viteza de eantionare. Viteza de eantionare local a datelor poate
avea valori, n cazul unui echipament de tip webDAQ/100, de pn la 500 kHz
pentru 32 canale de intrare. Soluia WSAD necesit adaptarea vitezei de
achiziie pentru fiecare canal de intrare. n funcie de aplicaii, viteza poate fi
sau nu un criteriu de alegere a unui sistem WSAD. De exemplu, citirea unor
temperaturii necesit viteze de eantionare mai mari de 1 KHz i mai ales o
tratare individual a fiecrui canal.
11.2.2. Soluii bazate pe instrumentaie cu interfa Ethernet
11.2.2.1. Consideraii generale
n cadrul primelor ncercri de realizare a SISTEMELOR DE MSURARE
I CONTROL DISTRIBUITE, inginerii au ntmpinat dificulti semnificative.
Modulele pentru achiziia datelor, sistemele externe de tip SAD i instrumentele
emulate cu diverse module montate ntr-un rack extern microcalculatorului au
fost amplasate relativ aproape de sistemele computerizate la care erau
conectate, asemenea senzorilor i surselor de semnal care trebuiau
monitorizate. Soluiile tipice de achiziie a datelor au pornit de la un prim
standard industrial adoptat n 1986 care prevedea o rezoluie de 12 bii i
oferea rezoluii de msurare limitate. n prezent, chiar dac se pot aborda,
relativ uor, module de conversie a semnalelor cu 16 bii rezoluie, soluiile
rezultate pot fi uneori foarte scumpe, iar eficiena produciei sczut.
Intreprinderile, birourile i, n general, toate procesele au devenit
conectabile prin intermediul reelelor locale i a Internetului care promite
utilizatorului distan virtual nelimitat. Conectarea instrumentaiei de
msurare existent la reeaua unei entiti economice, utiliznd module de
conversie RS-232 sau GPIB la Ethernet, poate prea o soluie evident, dar i
aceast abordare are, la rndul ei, limitri.
Utilizarea convertoarelor de semnal pentru cuplarea la standardul
Ethernet a instrumentelor reprezint un alt nivel de integrare, dar implic un
pre de cost relativ mare (1000 $/ convertor) pentru fiecare instrument GPIB,
RS-232 sau locaie de testare.
n prezent, integrarea unei interfee Ethernet, direct n instrumentaie, se
impune ca o nou arhitectur preferat pentru implementarea unui bus de
comunicaie destinat sistemelor de achiziie a datelor.
11.2.2.2.Tendine actuale n arhitectura PC-urilor
Un stimulent pentru adoptarea soluiilor pentru achiziia datelor bazate pe
instrumente cu faciliti Ethernet integrate il constituie dezvoltrile actuale de la
nivelul soluiilor constructive ale PC-urilor.
Potrivit unor puncte de vedere ale principalilor factori de decizie n
industria calculatoarelor, n viitorul nu prea ndeprtat, PC-urile nu vor mai
conine sloturi de extensie a configuraiei i toate comunicaiile cu sistemul se
vor efectua pe bus-uri externe. Vechile sisteme SAD i arhitecturi PC vor
continua s fie utilizate deoarece n toate sectoarele industriale exist astfel de
sisteme care sunt funcionale. Totui, instalaiile noi vor fi realizate cu noile PC-
uri.
Principalele soluii pentru a nlocui bus-urile externe actuale (GPIB, tip
paralel, i RS-232, tip serie) sunt:
USB (Universal Serial Bus ) : Viteza de transfer: 12Mbps pentru standardul
1.1. & 480Mb/s pentru USB 2.0;
IEEE-1394 (FireWire)& iLINK: Viteza de transfer: 200 Mbps 1 GBps
- n acest caz sunt necesare echipamente suplimentare de tip hub pentru
a lega mpreun numeroasele segmente de cablu cu scopul de a se ajunge la
distane mai mari ntre echipamente. Numrul total de segmente de cablu care
Ambele soluii ofer o vitez mare de lucru, dar limiteaz
distana dintre componentele sistemului la aproximativ 15 m
pot fi conectate cu ajutorul hub-urilor este de 127 pentru USB i 63 pentru
FireWire.
O soluie ideal de bus ar trebui s ofere distane mai mari de
comunicare ntre componente, o implementare mai uoar i un cost sczut.
Interfaa Ethernet satisface acum toate aceste necesiti precum i alte nevoi
ale sistemelor de testare i msurare, n cea mai performant manier. Ea este
folosit pe scar foarte mare deoarece este foarte rapid, ieftin i este
capabil de comunicaii la distane mari.
Deoarece interfaa Ethernet a devenit acum un lucru comun n toate
mediile de afaceri, este aproape sigur c n viitorul apropiat PC-urile vor
conine, de asemenea, porturi Ethernet incorporate, ceea ce va avea influen
asupra preului conectrii prin portul Ethernet al unui PC la un alt PC sau
echipament.
11.2.2.3. Sincronizare i control
Un aspect al SAD, strns legat de sistemul de operare pe care ruleaz
aplicaia, este rspunsul acestuia la mecanismele externe de declanare a
achiziiei de date i la alte tipuri de stimuli. Sistemele n care poate fi garantat
un timp maxim de rspuns n raport cu apariia sau declanarea unui eveniment
sunt numite deterministe.
Sistemul de operare Microsoft Windows este un sistem care gestioneaz
mesaje i parcurge o list de evenimente cu un timp de tratare nepredictiv.
Acest lucru nseamn c nu poate fi garantat valoarea timpului de rspuns la o
intrerupere. Astfel, nu este asigurat o mare performan n abordarea
determinist a unui fenomen sau a unui algoritm de tratare n timp real a unei
secvene dintr-un anumit proces.
Pentru acele aplicaii care necesit un timp de rspuns de ordinul
minutelor sau chiar al secundelor, sistemul de operare Microsoft Windows s-ar
putea s funcioneze corect. n cazul aplicaiilor cu secvene bazate pe algoritmi
cu timp critic care ntmpin ntrzieri mari sau imprevizibile, n ceea ce
privete durata execuiei sau a timpului de rspuns al sistemului, sistemul de
operare Microsoft Windows poate cdea sau poate bloca execuia aplicaiei.
n mod clasic, soluia de realizare a aplicaiilor destinate controlului n
timp real, cu sistemul de operare Windows, este echiparea plcilor de interfa
interne ale SAD sau sistemelor SAD externe cu un microprocesor propriu intern
al crui hardware sincronizat poate opera independent de unitatea central a
unui PC.
Acest structur devine i mai necesar pentru SAD care ncorporeaz
subsisteme bazate pe interfaa de comunicaie Ethernet, deoarece reelele
nsele sunt, de asemenea, tipic sau puternic nedeterministe.
Folosind interfaa Ethernet blocurile mai mari de date se pot transfera mai
eficient dect cele mai mici. De aceea n structura instrumentelor care folosesc
interfaa de comunicaie Ethernet este de dorit un buffer de memorie cu o
dimensiune mai mare. Prin funcia de stocare local a datelor, specific
echipamentelor de tip data-logger, se pot memora local datele, n mod
autonom, fr a fi nevoie de intervenii frecvente ale PC-ului pentru conectarea
la reea n vederea transferului de date.
De asemenea, sunt necesare o baz de timp i o unitate local de
procesare deoarece, fr sprijinul continuu al unitii centrale de control,
sistemul SAD are un rol mai mare n asigurarea funciilor logice, a celor de
tratare a evenimentelor i a altor funcii de control.
n cazul multor programe, execuia acestora depinde de limite de alarm
preprogramate i semnale analogice cu funcii de trigger, de tip nivel sau pant,
pentru a permite notificarea automat n momente critice.
n sistemele bazate pe interfaa de comunicaii Ethernet, instrumentele
trebuie s-i asume mai mult din funcia de executant sau furnizor pentru
aceste servicii.
11.2.2.4. Avantajele standardului Ethernet
A. VITEZA DE COMUNICATIE
Protocoalele de comunicaie implementate de standardul Ethernet din
generaia actual transfer date cu viteze de 10 Mbits/s i 100 Mbits/s. O vitez
de transfer de 100 Mbits/s este aproximativ egal cu 10 Mbytes/s, care este de
10 ori mai rapid dect rata de transfer pe bus-ul GPIB. Sunt dezvoltate i
standarde Ethernet speciale care transmit pn la 1 Gbit/s i 10 Gbits/s. Exist
n prezent informaii preliminare privind unele protocoale pe standardul Ethernet
chiar mai rapide, cu toate c, n acest caz, va fi nevoie de un nou hardware de
interfa.
Viteza maxim de transfer a datelor pentru bus-ul GPIB nu va depi
probabil valoarea de 1 Mbyte/s. O ncercare de a adopta o versiune GPIB mai
rapid nu a fost posibil deoarece productorii i utilizatorii nu au dorit s
renune la robusteea standardului de tip bus GPIB pentru o cretere modest
de vitez.
B.CONEXIUNE SIMPL I CONVENABIL; LUNGIMEA CONEXIUNII
Cablurile, conectorii, sistemele de conectare i alte componente destinate
realizrii unui sistem distribuit sunt deja disponibile i permit legarea prin fire a
componentelor locale sau a celor deprtate ntr-un timp relativ scurt. La nivelul
multor ntreprinderi sunt deja realizate reele locale, astfel nct reelele largi de
instrumente sau SAD distribuite pot fi implementate fr a avea nevoie de
construirea unei infrastructuri de reele complet nou sau foarte diferit.
C. INDEPENDENA PLATFORMELOR
Avnd un sistem de msurare care comunic direct printr-un port
Ethernet, o mare parte a problemelor privind compatibilitatea sistemului de
interfaare este eliminat. Dac utilizatorul poate conecta hardware-ul SAD la
un sistem cu un port Ethernet incorporat, completarea sistemului devine un
exerciiu n dezvoltarea unor programe care pot transmite comenzi i primi date
de la procesul sau fenomenul studiat sau condus.
11.2.2.5.Conectarea direct a calculatorului la instrumentul Ethernet.
O conexiune direct a calculatorului la SAD este cea mai simpl dintre
toate schemele bazate pe interfaa Ethernet i este similar topologiei obinuite
din reelele GPIB sau RS-232. Sunt posibile conectri directe ntre echipamente
pe distane de pn la 100 m (fig. 11.2).
Fig. 11.2. Conectare PC direct la instrumentul Ethernet
11.2.2.6. Conectare PC prin Hub direct la instrumentele Ethernet
Adugarea unui hub n structura sistemului (fig.11.3) permite
calculatorului de control al achiziiei s acceseze alte resurse din reeaua
Ethernet n afara celor specifice sistemelor SAD. Distana maxim dintre
echipamente se mrete la 200 m (100 m la i de la hub).
Fig. 11.3. Conectarea PC prin Hub direct la instrumentele Ethernet
11.2.2.7. Conectarea PC prin LAN la instrumentele Ethernet
O structur de sistem distribuit geografic ideal pentru o reea SAD
instalat la
Fig. 11.4. PC prin LAN sau Internet la instrumente Ethernet
nivelul unei ntreprinderi este prezentat n figura 11.4. Mai multe sisteme SAD
pot fi distribuite n zone diferite ale unitii de producie sau platformei
industriale pentru colectarea i tranferul datelor, prin reea, la un calculator
central. Distana maxim dintre echipamente este limitat de mrimea reelei.
11.2.2.8. Conectarea PC prin Internet sau FO la instrumentele Ethernet
Prin folosirea Media-convertoarelor semnalul electric al unei conexiuni
UTP traditionale Cat5 este convertit in semnal optic care este apoi transferat
prin Fibra optica single-mode pe distante de zeci de km. In acest fel
perturbatiile aparute intre zona de achizitie si cea de prelucrare sunt practic
eliminate. O data cu scaderea drastica a preturilor din zona transmisiilor pe
fibra optica folosirea acesteia pentru SAD a devenit tot mai intalnita.
O distan nelimitat pentru componentele unui SAD distribuit poate fi
realizat prin folosirea Internetului n locul LAN-ului local (figura 11.4).
Instrumentele cu interfa Ethernet ncorporat pot fi configurate, programate
sau interogate de oriunde din lume unde este posibil accesul la Internet.
Canalul de comunicaie va trebui s fie controlat astfel nct s permit accesul
la adresele IP situate n afara reelelor locale
11.2.2.9. Conectarea PC cu interfee Ethernet multiple
Un alt exemplu de topologie, specific reelelor care ncorporeaz
instrumente cu interfa Ethernet, const n folosirea a dou sau mai multe plci
de interfa de reea ntr-un singur PC (fig.11.5). Acest aranjament creeaz o
subreea separat, destinat instrumentelor de msurare conectate direct prin
interfaa Ethernet. Acest tip de reea izoleaz procesul de achiziie a datelor de
celelalte informaii de pe reeaua general a intreprinderii. Astfel, utilizatorii care
nu au nevoie s acceseze datele de la instrumentele de msurare, conectate
direct prin interfaa Ethernet, nu pot comunica cu aceste instrumentele n mod
necontrolat.
Fig. 11.5. PC cu dou interfee de reea Ethernet
11.2.2.10. Concluzii
Noua realizare pe plan mondial n domeniul instrumentaiei i al
sistemelor SAD, achiziia datelor bazat pe DMM i interfa de comunicaie
Ethernet, exemplificat prin sistemul KEITHLEY 2700, ca prima realizare din
aceast categorie de echipamente la nivel mondial, deschide posibiliti foarte
interesante n ceea ce privete obinerea unui cost minim privind construirea
unor sisteme SAD distribuite, performante din punct de vedere al preciziei de
msurare. Aceste sisteme pot colecta date de oriunde din lume i pot transfera
rezultatele la un computer central, sau orice alt resurs de calcul desemnat
s comunice cu aceste echipamente. De asemnea, prin utilizarea acestei soluii
pot rezulta beneficii auxiliare precum integritatea msurrii, elasticitatea,
programarea simplificat i platforme de calcul sau calculatoare independente.
ACUM UTILIZATORII ACESTOR SISTEME POT BENEFICIA DE
INSTRUMENTE PERFORMANTE, CU REZOLUII DE MSURARE MARI,
NUMR MARE DE CANALE, EXPANDABILITATE I INTELIGEN LOCAL
N CADRUL SISTEMULUI SAD CARE POATE FI DISTRIBUIT GEOGRAFIC
PE DISTANE MARI, CHIAR LA DIMENSIUNE PLANETAR.