Documente Academic
Documente Profesional
Documente Cultură
INTERFEŢE DE PROCES
- Suport de curs -
CUPRINS
1.1. INTRODUCERE
1
se obţine un sistem de achiziţie a datelor (trebuie precizat că noţiunea de sistem de achiziţie
este ceva mai generală, fiind incluse aici şi alte sisteme numerice de achiziţie care nu se
bazează pe PC). Datorită existenţei funcţiilor de conducere, o denumire mai apropiată de
realitate este cea de sistem de achiziţie şi conducere. Sistemele de achiziţie vor fi abordate pe
larg într-un capitol viitor.
Magistrala
calculatorului
Adaptor de interfaţă
Dispozitiv de cuplare
CALCULATOR Conector
PROCES CONDUS
Fig. 1.1. Calculator cu unitate integrată de interfaţă de proces
2
Procesor Memorie Adaptor de Adaptor de
periferic periferic
Magistrala
calculatorului
Dispozitiv de cuplare
Conector
PROCES CONDUS
Fig. 1.2. Calculator de proces cu „borne active”
Magistrala
calculatorului
PROCES CONDUS
Fig. 1.3. Calculator de proces cu unitate satelit de interfaţă de proces
3
După cum s-a precizat, o unitate de interfaţă este alcătuită din plăci şi module
detaşabile care pot realiza diferite tipuri de cuplare la proces. În principiu, fiecare dintre
aceste plăci sau module asigură funcţii care permit adaptarea sistemului de calcul la proces.
Prin alegerea corespunzătoare a acestor module se realizează aplicaţia concretă de achiziţie şi
conducere. Aceste module flexibile asigură funcţionalitatea interfeţei prin implementarea
următoarelor subsisteme:
- intrări analogice
- ieşiri analogice
- intrări/ieşiri numerice
- numărare, temporizare (generator de intervale de timp)
Indiferent de arhitectura interfeţei de proces, structura generală este cea din Fig. 1.4,
care pune în evidenţă realizarea funcţiilor principale ale interfeţei de proces prin subsistemele
componente.
Calculator
Intrări (sub formă numerică) Ieşiri (sub formă numerică)
Magistrală
T T T
4
Tampoanele T (buffere) păstrează valoarea numerică a comenzii. În unele cazuri
ieşirea CNA (semnal de tip tensiune) este convertită în semnal de curent prin convertoare
tensiune/curent U/I.
Canal
analogic 2
A EER CAN T
Magistrală
EC ETP MUX
BC
Canal
analogic n
Fig. 1.6. Structura sistemului intrărilor analogice
5
Sistemul de interfaţă intrări numerice
Sistemul intrărilor numerice este un subsistem al interfeţelor de proces care are rolul
de a colecta din proces informaţiile de formă numerică (semnale binare cu unul sau mai multe
ranguri, tren de impulsuri) sau cvasinumerică (durată de impuls, frecvenţa impulsurilor).
Structura generală a unui sistem de intrări numerice este ilustrată de Fig. 1.7.
Principalele elemente componente ale sistemului sunt:
• elementul de conectare (EC);
• elementele de tratare primară a informaţiei (ETP) - izolare galvanică, filtrări şi
protecţii
• multiplexorul (MUX) cu ajutorul căruia se selectează un semnal sau un grup de
semnale
• bufferul de conectare la magistrală (T);
• blocul de comandă BC care asigură secvenţializarea corectă a operaţiilor din
sistemul de intrări numerice
T
EC ETP MUX
Magistrală
BC
6
Prin condiţionarea semnalelor se înţelege în sens larg adaptarea dintre traductoare şi
circuitele de conversie analog-numerică. Tipul de condiţionare depinde evident de senzorii
care sunt utilizaţi. De exemplu, un semnal poate avea nivel mic şi necesită o amplificare, sau
poate conţine componente parazite care cer realizarea unei filtrări. Anumite operaţii de
condiţionare de semnal se realizează între circuitele de conversie numeric-analogică şi
elementele de execuţie, precum şi pe partea de intrări/ieşiri numerice. Condiţionarea
semnalelor se realizează prin operaţii cum ar fi:
conversii de semnal (cum ar fi conversia curent/tensiune)
izolare galvanică
amplificare
filtrare
liniarizare
multiplexare
alimentarea senzorilor pasivi
I
R U
4 – 20 mA
500Ω 2 – 10 V
Dacă traductorul furnizează un curent de valoare mică este necesară folosirea unui
convertor curent/tensiune cu amplificator operaţional.
În cazul senzorilor a căror ieşire este de tip rezistenţă (cum ar fi termorezistenţele,
mărci tensorezistive etc.) este necesară conversia variaţiilor rezistenţei în variaţii de tensiune
(Fig. 2.2). Această conversie se poate realiza cu un simplu montaj potenţiometric (Fig. 2.3).
Dacă R este rezistenţa senzorului, tensiunea de ieşire este
RU
Ue = (2.1)
R + R1
7
unde U este tensiunea de alimentare şi R1 este rezistenţa conectată în serie cu rezistenţa
senzorului.
PROCES CALCULATOR
R1
Ue
R
R R2 Ue
R1 R3
8
R1 R3
U e = − U (2.2)
R + R1 R2 + R3
În general, rezistenţa senzorului variază liniar în jurul unui rezistenţe de echilibru R0 în
funcţie de parametrul măsurat:
R = R0 (1 + a) (2.3)
unde a este mult mai mic decât 1, iar semnalul măsurat este aR0 .
Puntea Wheatstone este reglată astfel încât tensiunea de ieşire să fie nulă atunci când
rezistenţa senzorului este egală cu rezistenţa de echilibru, condiţie de anulare care se
realizează pentru R0 = R1 = R2 = R3 . În acest caz, din (2.2), (2.3) obţinem
a a a2
Ue = − ⋅ U ≈ − U − U (2.4)
4 + 2a 4 8
Se observă că prin utilizarea montajului în punte se elimină tensiunea continuă
suprapusă peste semnalul măsurat care era prezentă în cazul montajului potenţiometric,
existând în continuare o uşoară neliniaritate (care poate fi neglijabilă ţinând cont de faptul că
a este foarte mic).
În sistemele industriale, senzorii sau elementele de execuţie pot fi amplasate la
distanţe relativ mari faţă de calculatoarele de proces. Prin urmare este necesară o linie de
transmisie analogică capabilă să transmită semnalul analogic util fără ca acesta să fie alterat.
Pentru astfel de cazuri se evită folosirea semnalului de tensiune, care depinde puternic de
rezistenţa liniei de transmisie, şi se preferă utilizarea surselor de curent, semnalul util fiind
intensitatea curentului. Deoarece CAN-urile utilizează semnal de tensiune, pot fi necesare
două conversii: o conversie tensiune/curent dacă semnalul care provine de la senzor este de
tip tensiune şi o conversie curent/tensiune la intrarea CAN (Fig. 2.5).
CALCULATOR
PROCES Linie
Semnal
Convertor analogică Convertor numeric
Senzor tensiune/ curent/ CAN
curent tensiune
Fig. 2.5
9
Izolarea galvanică constă în eliminarea oricărei conexiuni electrice directe între
circuitele calculatorului şi cele corespunzătoare procesului. Izolarea galvanică se realizează de
regulă cu transformatoare sau optocuploare şi oferă în primul rând posibilitatea de separare
completă a alimentărilor celor două sisteme pentru protejarea circuitelor de nivel mic
împotriva supracurenţilor sau supratensiunilor datorate unei eventuale defectări a unei
componente. Prin aceasta se asigură o protecţie suplimentară pentru operatori şi pentru
evitarea unei defectări în lanţ în sistem.
În cazul în care de exemplu atât sistemul de calcul cât şi traductorul care furnizează
semnalul de la proces sunt legate la pământ, vor apare probleme dacă există diferenţă de
potenţial între cele două împământări, ceea ce conduce la măsurări eronate. Separarea
galvanică permite rezolvarea problemelor de împământare şi legare la nul precum şi
problemele de alimentare a circuitelor de putere şi a celor de nivel mic.
Trebuie luate precauţii suplimentare de protecţie atunci când echipamentele se găsesc
în zone cu pericol de explozie, în anumite cazuri fiind recomandată utilizarea aparaturii
pneumatice. Dacă totuşi se utilizează circuite electrice, acestea trebuie etanşate în cutii
speciale antistatice.
10
Fig. 2.7. Conectarea unui senzor la un amplificator în montaj simetric
Zgomotele parazite care afectează în mod egal cele două fire de legătură între senzor
şi amplificator produc o tensiune de mod comun Umc care poate fi determinată din relaţiile:
U a = U mc + U d / 2
⇒ U mc = (U a + U b ) / 2 (2.5)
U b = U mc − U d / 2
Amplificatoare operaţionale
Amplificatoarele operaţionale sunt în general amplificatoare destinate amplificării
semnalelor de c.c. şi până la frecvenţe de ordinul kHz-lor, cu factor de amplificare mare,
impedanţă de intrare mare şi impedanţă de ieşire mică. Schema bloc generală a unui AO este
prezentată în Fig. 2.8.
+ −
În Fig. 2.8 s-au folosit următoarele notaţii: VCC , VCC : tensiuni de alimentare raportate
la punctul de masă sau punctul de nul; A d : factor de amplificare în circuit deschis;
u d = u 2 − u1 : tensiunea diferenţială de intrare; Z i : impedanţa de intrare; Z e : impedanţa de
ieşire; u e : tensiunea de ieşire.
Ieşirea (tensiunea de ieşire) poate fi exprimată prin următoarea relaţie în domeniul
complex (Laplace):
Y ( s ) = U e ( s ) = A d U d ( s ) + AmcU mc ( s ) + U D ( s ) (2.7)
11
u1 + u 2
unde Amc este amplificarea pe mod comun, u mc = este tensiunea pe mod comun, iar
2
u D este tensiunea de decalaj sau de derivă care apare la ieşirea AO chiar dacă la intrare nu se
aplică nici-un semnal. Pentru anularea tensiunii de derivă se aplică la intrarea AO o tensiune
de semn contrar numită tensiune de offset sau tensiune de decalaj la intrare (Fig. 2.9).
Fig. 2.9
12
Funcţia de transfer realizată cu acest montaj este:
U e ( s)
H ( s) = (2.8)
U 1 ( s)
d
În funcţie de Z2, Z1, Zi şi A = A se poate calcula funcţia de transfer utilizând teoremele
lui Kirchhoff:
I1 = I 2 + I 0 (2.9)
I1 Z1 + I 0 Z i = U 1 (2.10)
I0Zi − I 2Z2 = U e (2.11)
În plus din relaţia (2.7) avem:
U e = A ⋅ U d = A ⋅ (− I 0 Z i ) = − AZ i I 0 (2.12)
Din ecuaţiile (2.9) ÷ (2.12) obţinem:
Zi
I 0 Z i − I 2 Z 2 = − AZ i I 0 ⇒ I 2 = ( A + 1) I 0
Z2
Z
⇒ U 1 = ( I 2 + I 0 ) Z 1 + I 0 Z i = i ( A + 1) Z 1 + Z 1 + Z i I 0
Z2
U1 − AZ iU 1
⇒ I0 = ; U e = − AZ i I 0 =
Z Z
Z 1 i ( A + 1) + Z 1 + Z i Z 1 i ( A + 1) + Z 1 + Z i
Z2 Z2
Obţinem:
U e ( s) AZ i Z 2 ( s) 1
H ( s) = =− =− ⋅
U 1 ( s) Zi Z 1 ( s) 1 Z ( s) Z ( s)
( A + 1) + Z 1 + Z i
Z1 1+ + 2 + 2
Z2 A AZ i ( s ) AZ 1 ( s )
Z (s) 1
H ( s) = − 2 ⋅ (2.13)
Z1 (s) Z (s) Z 2 (s)
1 + 1 + 2 + / A
Z i ( s ) Z 1 ( s )
atunci:
Z 2 (s)
H ideal ( s ) = − (2.15)
Z 1 (s)
Observaţii:
Impedanţa de intrare a AO cu reacţie este: Z ir ( s ) ≈ Z 1 ( s ) ;
Z e (s)
Impedanţa de ieşire a AO cu reacţie este: Z er ( s ) = .
AZ1 ( s )
1+
Z1 ( s ) + Z 2 ( s )
13
Un caz particular al acestei structuri este elementul inversor:
R
Z 1 (s) = Z 2 ( s) = R ⇒ H (s) = − = −1 ⇒ u e (t ) = −u1 (t )
R
2). Structură cu AO cu reacţie paralelă de tensiune în montaj neinversor
Schema de principiu în acest caz este cea din Fig. 2.12.
14
3). Structură cu AO în montaj diferenţial
Această structură apare ca un sistem multivariabil cu două intrări şi o ieşire. Schema
de principiu este prezentată în Fig. 2.14. Relaţia intrare-ieşire este următoarea:
Z 2 ( s)
U e ( s) = ⋅ (U 2 ( s ) − U 1 ( s )) (2.17)
Z 1 ( s)
15
Amplificatoare de instrumentaţie
Amplificatoarele de instrumentaţie (AI) sunt amplificatoare diferenţiale construite pe
baza mai multor AO cu reacţie. Un AI ideal furnizează o tensiune de ieşire care depinde
numai de diferenţa dintre cele două tensiuni de intrare:
u e = K ⋅ (u 2 − u1 ) (2.20)
unde amplificarea K este determinată cu mare precizie şi poate varia într-un domeniu larg.
Un AI practic trebuie să aibă o amplificare care poate fi setată prin intermediul unui
singur rezistor extern şi trebuie să combine impedanţa mare de intrare cu un CMRR mare,
tensiune de offset de intrare mică etc. Un amplificator care utilizează un singur AO în montaj
diferenţial este inadecvat pentru un AI, deoarece pentru obţinerea unei amplificări mari Z1 ar
trebui să fie de valoare mică, ceea ce ar determina o impedanţă de intrare mică şi CMRR mic.
O structură de AI tipică este prezentată în Fig. 2.17, structură în care sunt utilizate trei
AO, două neinversoare şi unul în montaj diferenţial.
R1
_
R2
+ AO1
R2
R0 u1 R1 _
+
_ R2 AO3 ue
+ R2
u2 AO2
16
2.4. OPERAŢIA DE LINIARIZARE
Operaţia de liniarizare sau de compensare a neliniarităţilor presupune introducerea în
lanţul de măsurare a unor elemente care asigură că mărimea de la intrarea sistemului de calcul
are o dependenţă liniară în funcţie de parametrul măsurat.
Liniarizarea este prezentată principial în Fig. 2.18 prin intermediul caracteristicii
statice a unui traductor. Mărimea de ieşire din traductor, în funcţie de mărimea de intrare
(parametrul măsurat), are forma generală:
Ye = f ( X ) = a 0 + a1 X + a 2 X 2 + L + a n X n + L (2.21)
care reprezintă o relaţie de regim staţionar neliniară.
Liniarizarea necesită determinarea unei funcţii inverse care furnizează mărimea
măsurată X în funcţie de mărimea de ieşire Ye.
X = g (Ye ) = b0 + b1Ye + b2 Ye2 + L + bn Yen + L (2.22)
Circuitul de liniarizare furnizează o ieşire Y proporţională cu parametrul măsurat dacă
Y = kX = c 0 + c1Ye + c 2 Ye2 + L + c n Yen + L , cu c i = kbi (2.23)
Y, Ye
Compensare
Y
Ye
Ye +
Y
17
Componentei EN (element neliniar) utilizate pe reacţie i se impune o caracteristică
neliniară definită prin:
I = f (Y ) = a 0 + a1Y + a 2 Y 2 + L + a n Y n + L (2.24)
unde I este curentul, iar Y este mărimea (tensiunea) de ieşire furnizată de circuitul de
liniarizare. Mărimea Ye de la intrarea circuitului de liniarizare este tensiunea furnizată de către
traductor (care este o funcţie neliniară de X – mărimea de intrare în traductor – dată de relaţia
(2.21)).
Deoarece acelaşi curent I trece prin rezistenţa R şi prin elementul neliniar se obţine
relaţia:
Ye
+ f (Y ) = 0 (2.25)
R
care prin inversare conduce la:
Y
Y = g e (2.26)
R
care este relaţia de corecţie dorită pentru compensarea neliniarităţii traductorului.
Tehnicile de liniarizare analogice sunt scumpe şi sunt înlocuite din ce în ce mai mult
de tehnicile numerice sau de software-ul de achiziţie.
Pachete software specializate pentru achiziţia datelor, cum ar fi LabVIEW, NI-DAQ
(National Instruments), MATLAB/DAQ (MathWorks) dispun de biblioteci şi funcţii de
liniarizare şi conversie a semnalelor provenite de la diverse traductoare standardizate –
termocupluri, termorezistenţe, mărci tensorezistive etc.
18
Indiferent de tipul lor (analogice sau numerice), filtrele reduc sau elimină
componentele de frecvenţă nedorită din semnalul prelucrat. În funcţie de domeniul de
frecvenţă în care semnalele sunt lăsate să treacă sau sunt atenuate (rejectate), filtrele por fi
clasificate în patru categorii:
filtre trece jos (FTJ) – lasă să treacă semnalele de frecvenţă joasă şi atenuează
componentele de frecvenţă înaltă;
filtre trece sus (FTS) – lasă să treacă semnalele de frecvenţă înaltă dar atenuează
semnalele de frecvenţă joasă;
filtre trece bandă (FTB) – lasă să treacă semnalele care au frecvenţa într-o anumită
bandă de frecvenţă;
filtre opreşte bandă (FOB) – atenuează semnalele care au frecvenţa într-o anumită
bandă de frecvenţă.
Răspunsul în frecvenţă ideal (caracteristica amplitudine-frecvenţă ideală) pentru aceste
categorii de filtre este prezentat în Fig. 2.20.
Amplitudine Amplitudine Amplitudine Amplitudine
BT BO BO BT BO BT BO BT BO BT
f f f f
ft ft ft1 ft2 ft1 ft2
FTJ FTS FTB FOB
Fig. 2.20. Răspunsul în frecvenţă al filtrelor ideale
FTJ permite trecerea semnalelor care au frecvenţa mai mică decât frecvenţa de tăiere
ft, iar FTS lasă să treacă semnalele cu frecvenţă mai mare decât frecvenţa de tăiere. FTB lasă
să treacă semnalele cu frecvenţa între cele două frecvenţe de tăiere – inferioară ft1, respectiv
superioară ft2. FOB atenuează semnalele care au frecvenţa între cele două frecvenţe de tăiere.
Domeniul de frecvenţă în care filtrul permite trecerea semnalelor se numeşte bandă de trecere
(BT), iar domeniul de frecvenţă în care filtrul nu lasă să treacă semnalele se numeşte bandă de
oprire (BO) sau bandă de blocare. Frecvenţele de tăiere şi benzile de trecere şi de oprire,
alături de alţi parametri, fac parte din specificaţiile de proiectare ale filtrelor.
Filtrele ideale sunt caracterizate de amplitudine unitară (0 dB) în banda de trecere şi de
amplitudine zero ( − ∞ dB) în banda de oprire. În cazul implementărilor practice, reale, aceste
performanţe ale filtrului nu sunt complet realizate. La filtrele ne-ideale, între banda de trecere
şi banda de oprire există o zonă nenulă numită bandă de tranziţie (TR), în care amplitudinea
se modifică gradual de la amplitudinea unitară (0 dB) la amplitudine nulă ( − ∞ dB).
Răspunsul în frecvenţă în cazul filtrelor ne-ideale este prezentat în Fig. 2.21, unde sunt
precizate benzile de trecere, de oprire şi de tranziţie pentru cele patru mari categorii de filtre.
Banda de trecere se defineşte în cazul filtrelor reale ca fiind intervalul de frecvenţă în care
amplitudinea variază de la 0 dB la – 3 dB. Pentru anumite tipuri de filtre, amplitudinea în
banda de trecere poate prezenta mici oscilaţii cunoscute sub numele de ripple (riplu).
Amplitudinea acestor oscilaţii se numeşte ripple al benzii de trecere sau simplu ripple şi este
de fapt diferenţa între amplitudinea reală a filtrului în zona de trecere şi amplitudinea unitară
ideală. Deoarece în practică atenuarea în zona de oprire nu poate fi infinit de mică, în cadrul
proiectării trebuie specificată o limită care trebuie respectată.
Prin urmare, în cazul filtrelor reale apar ca specificaţii de proiectare suplimentare
banda de tranziţie (măsurată în Hz), ripple-ul (dB) şi atenuarea în banda de oprire (dB).
Proiectarea filtrelor poate fi considerată o procedură de aproximare a răspunsului în frecvenţă
al unui filtru ideal cu respectarea unor specificaţii (performanţe) impuse.
19
Amplitudine FTJ Amplitudine FTS
ripple
BT BO atenuarea BO BT
în BO
f f
TR Amplitudine TR
Amplitudine
FTB FOB
BO BT BO BT BO BT
f TR TR f
TR TR
Fig. 2.21. Răspunsul în frecvenţă al filtrelor reale
După cum se observă din analiza Fig. 2.20 şi Fig. 2.21, între filtrele ideale şi cele reale
există o serie de deosebiri. Amplitudinea în banda de trecere şi în banda de oprire în cazul
ideal este plată şi constantă, dar în cazul filtrelor reale apare fenomenul de ripple. Filtrele
ideale nu au bandă de tranziţie, care apare însă la implementarea practică. Proiectarea filtrelor
trebuie să realizeze un compromis pentru obţinerea unor valori ale parametrilor (ripple,
atenuarea în banda de oprire, lăţimea benzii de tranziţie) cât mai apropiate de cazul ideal,
compromis care depinde de structura filtrului şi de algoritmul de proiectare.
20
apare atunci când semnalul eşantionat conţine componente de frecvenţă mai mare decât
jumătate din frecvenţa de eşantionare. Aceste componente pot proveni fie de la semnalul util,
caz în care a fost greşit aleasă frecvenţa de eşantionare (subeşantionare) şi prin urmare trebuie
mărită această frecvenţă, sau provin de la zgomote, caz în care trebuie folosit un filtru.
Fenomenul de aliasing poate fi definit astfel: „atunci când eşantionăm un semnal cu o
frecvenţă de eşantionare f e , dacă k este un număr întreg, nu se poate face distincţie între
valorile eşantionate ale unei sinusoide cu frecvenţa de f 0 Hz şi cele ale unei sinusoide cu
frecvenţa de ( f 0 + kf e ) Hz ”.
Alegerea frecvenţei de eşantionare se face conform teoremei eşantionării (Shannon),
care afirmă că frecvenţa de eşantionare trebuie să fie mai mare sau egală decât dublul celei
mai înalte frecvenţe din semnalul analogic util:
f e ≥ 2B (2.27)
unde B este banda semnalului (frecvenţa cea mai înaltă din spectrul semnalului analogic).
Frecvenţa de eşantionare minimă fN = 2B se numeşte frecvenţă Nyquist.
Din Fig. 2.22 se observă cum spectrul unui semnal continuu este transformat prin
eşantionare într-un spectru discret, care conţine spectrul original plus o infinitate de replici în
ambele direcţii ale spectrului. Spectrul original poate fi reconstituit din cel discret cu ajutorul
unui FTJ. Dacă frecvenţa de eşantionare este mai mare decât frecvenţa Nyquist (ca în cel de-
al doilea grafic) atunci fenomenul de aliasing (de suprapunere sau ambiguitate în frecvenţă)
nu apare. Dacă frecvenţa de eşantionare este sub fN atunci se observă cum apare aliasingul
(cel de-al treilea grafic).
Spectru continuu
X(f)
-B B
Spectru discret
Xe(f)
fe>2B
1/Te
Spectru discret
Xe(f)
fe = 1.5B
1/Te
Aliasing
f
-fe -B -B/2 B/2 B fe
-fe/2 fe/2
Fig. 2.22. Spectrul semnalului analogic şi spectrul discret. Fenomenul de aliasing
21
Prin urmare, alegerea unei frecvenţe de eşantionare corespunzătoare pare să rezolve
aliasingul. Cu toate acestea, dacă peste semnalul analogic util este suprapus un zgomot,
aliasingul apare chiar dacă frecvenţa de eşantionare este corect aleasă. De exemplu vom
presupune că CAN – ul este configurat pentru eşantionarea cu o frecvenţă de 4 Hz a unui
semnal util de tip sinusoidal de 1 Hz. Deoarece frecvenţa de eşantionare este de 4 ori
frecvenţa semnalului analogic, teorema eşantionării este respectată. Dacă avem un semnal
(zgomot) tot de tip sinusoidal de 5 Hz suprapus peste semnalul util atunci, aşa cum se vede
din Fig. 2.23, cele două semnale nu vor putea fi distinse după eşantionare (sinusoida de 1 Hz
va avea aceleaşi eşantioane ca şi cea de 5 Hz la o frecvenţă de eşantionare de 4 Hz).
Acest fenomen se elimină doar cu ajutorul unui FTJ analogic antialiasing (FTJ – AA)
plasat înainte de CAN, aşa cum se poate observa din schema bloc din Fig. 2.24.
f f f
–B B –B B -fe -B B fe
-fe/2 fe/2
FTJ – AA CAN
Semnal continuu original Semnal continuu Semnal discret
filtrat
Fig. 2.24. Schema de conversie cu filtrare antialiasing
Deşi teoretic este suficientă alegerea unei frecvenţe de eşantionare egală cu frecvenţa
Nyquist, în practică se aleg frecvenţe de eşantionare de zeci sau chiar sute de ori mai mari
pentru a obţine o reprezentare cât mai corectă a semnalului analogic. Această afirmaţie este
susţinută de graficele din Fig. 2.25. O frecvenţă de eşantionare mică determină un semnal
eşantionat care are alura unui semnal triunghiular, în timp ce un semnal eşantionat de mare
fidelitate este obţinut la o frecvenţă de eşantionare mare.
22
Fig. 2.25. Alegerea frecvenţei de eşantionare
23
Y ( z ) M −1
H ( z) = = ∑ h( k ) z − k (2.29)
X ( z) k =0
Schema bloc a unui filtru FIR rezultă din relaţiile (2.28), (2.29) şi este prezentată în
Fig. 2.26.
x(n) x(n-1) x(n-2) x(n-3) x(n-M-2) x(n-M+1)
-1
z z-1
z -1
z-1
+
y(n)
Fig. 2.26. Schema bloc a unui filtru FIR
Răspunsul la impuls al unui filtru FIR este ieşirea în domeniul timp a filtrului atunci
când la intrare se aplică un impuls unitar (un „1” urmat de zerouri). Răspunsul la impuls al
filtrelor FIR este identic cu valorile celor M coeficienţi ai filtrului (rezultă din (2.28)). Prin
urmare la filtrele FIR răspunsul la impuls şi coeficienţii filtrului sunt noţiuni echivalente.
Performanţele unui filtru FIR pot fi îmbunătăţite prin modificarea numărului şi
valorilor coeficienţilor. Performanţele sunt de regulă apreciate în funcţie de forma răspunsului
filtrului în domeniul frecvenţă.
Răspunsul în frecvenţă (caracteristica de frecvenţă) al unui filtru FIR se poate calcula
de exemplu cu ajutorul transformării Fourier discrete (DFT) şi prin apelarea unei proprietăţi
bine cunoscute a relaţiei de convoluţie (2.28), şi anume aceea că transformata Fourier discretă
a produsului de convoluţie este produsul transformatelor Fourier discrete:
M −1 DFT →
y ( n) = ∑ h( k ) x ( n − k ) = h( k ) ∗ x ( n) H ( m) ⋅ X ( m) = Y ( m) (2.30)
k =0 ←
Inversa DFT
unde H(m) este transformata Fourier discretă a secvenţei h(k), X(m) este transformata Fourier
discretă a secvenţei de intrare x(n), iar Y(m) este transformata Fourier discretă a ieşirii filtrului
(m este indicele DFT în domeniul frecvenţă).
Răspunsul în frecvenţă este H(m), care este chiar transformata Fourier discretă a
răspunsului la impuls h(k).
Pentru exemplificarea calculului răspunsului în frecvenţă vom considera un filtru FIR
care are M = 5, iar coeficienţii sunt egali h(k) = 0.2, k = 0 …4, adică un filtru FIR tip boxcar.
Prin aplicarea DFT lui h(k), după o completare cu 59 de zerouri, se obţine răspunsul în
frecvenţă H(m), care are modulul (normalizat) şi faza prezentate în Fig. 2.27. Numărul de
puncte în care calculăm DFT este de N = 64 datorită folosirii tehnicii de completare cu zerouri
(zero padding). Cele N puncte se regăsesc în intervalul de frecvenţă 0 ÷ fe , unde fe este
frecvenţa de eşantionare. Transformata Fourier discretă H(m) (care este numită răspuns în
frecvenţă al filtrului) este de tip funcţie sinus cardinal (sinc = sin(x)/x), aşa cum se observă şi
din Fig. 2.27.
Din Fig. 2.27 se observă de asemenea că faza unui filtru FIR este liniară (cu excepţia
discontinuităţilor, care au dimensiunea de π radiani), liniaritate datorată simetriei
coeficienţilor. După cum vom vedea, coeficienţii unui filtru FIR sunt constanţi (adică
invariabili în timp – în caz contrar este vorba de filtre adaptive) dar pot să nu fie egali între ei
ca în exemplul de mai sus (trebuie însă să fie simetrici pentru a avea faza liniară). Trebuie
24
remarcat faptul că filtrele FIR introduc o întârziere care depinde de numărul coeficienţilor
filtrului, întârziere definită ca fiind derivata fazei în funcţie de frecvenţă, adică panta fazei,
pantă care este constantă datorită liniarităţii fazei. Această întârziere în timp este dată de
formula: ( M − 1) /(2 * f e ) pentru M impar, respectiv M /(2 * f e ) pentru M par.
Pentru a analiza mai bine răspunsul în frecvenţă al filtrului, vom face o reprezentare
până la frecvenţa fe / 2 , cu ajutorul unei aplicaţii LabVIEW, fereastra panou a aplicaţiei fiind
prezentată în Fig. 2.28.
h(k)
0.2
k
0 4 63
H (m)
H ϕ (m )
180
135
90
45
m
-45
-90
-135
-180
25
Trebuie făcută aici observaţia că deşi în toate graficele apar linii continue, avem de
fapt secvenţe de numere, adică semnale discrete, care sunt puncte pe graficele respective, atât
în domeniul timp cât şi în domeniul frecvenţă (liniile continue sunt interpolări între aceste
puncte). Forma modulului sugerează caracterul de filtru trece jos datorat operaţiei de mediere
tipică filtrelor FIR. Se observă apariţia lobilor laterali care este de dorit să fie de amplitudine
cât mai mică. Acest lucru se poate realiza prin considerarea altor seturi de coeficienţi h(k),
care să nu aibă valori egale, ştiut fiind că schimbările abrupte ale valorilor coeficienţilor (de la
0 la 0.2 de exemplu) provoacă apariţia lobilor secundari.
În Fig. 2.29 este prezentat cazul în care coeficienţii filtrului sunt
h(0) = 0.03, h(1) = 0.11, h(2) = 0.2, h(3) = 0.11, h(4) = 0.03 . Deşi în această figură nu
mai apar lobii secundari, ei există – sunt doar micşoraţi – şi pot fi vizualizaţi prin efectuarea
unui zoom pe zona de interes sau prin reprezentarea la scară logaritmică. Un efect al
modificării setului de coeficienţi este mărirea lăţimii lobului principal, care are un impact
nedorit asupra capacităţii de filtrare.
Prin urmare este afectată banda de tranziţie a filtrului (transition band), care este
banda de frecvenţă dintre banda de trecere şi banda de oprire ale filtrului. Cu cât banda de
tranziţie este mai îngustă cu atât performanţele filtrului sunt mai bune. Pentru obţinerea unei
benzi de tranziţie mici trebuie folosit un număr mare de coeficienţi M ai filtrului FIR.
Spre deosebire de considerarea unui set de coeficienţi şi analiza răspunsului în
frecvenţă efectuată mai sus, operaţiunea opusă este proiectarea filtrelor FIR, ceea ce
înseamnă obţinerea unui set de coeficienţi astfel încât filtrul să aibă un comportament dorit.
Pentru proiectarea filtrelor FIR se utilizează două metode principale:
- metoda ferestrelor (Window Design Method) (sau metoda seriilor Fourier);
- metoda optimală, numită şi metoda Parks-McClellan (uneori întâlnită şi sub
numele de metoda Remez).
26
Fig. 2.29
Metoda ferestrelor cuprinde trei etape principale. Prima etapă a metodei constă în
precizarea formei dorite a filtrului în domeniul frecvenţă (amplitudine, frecvenţă de tăiere). A
doua etapă a metodei presupune determinarea coeficienţilor din domeniul timp ai filtrului FIR
pe baza informaţiei oferite de răspunsul în frecvenţă. În cea de-a treia etapă, răspunsul la
impuls al filtrului (coeficienţii) astfel obţinut este prelucrat pentru creşterea performanţelor
prin aplicarea unor ferestre temporale.
Metoda ferestrelor este o metodă simplă şi rapidă de proiectare, dar rezultate mai bune
se obţin cu metoda optimală (Parks-McClellan), metodă des utilizată în diverse aplicaţii.
Metoda este implementată sub forma unei rutine (algoritm iterativ) care cere specificaţiile FIR
(bandă de trecere, bandă de oprire etc.). Rezultatele obţinute sunt bune, dar metoda presupune
un consum mare de timp (efort de calcul).
În Fig. 2.30 şi Fig. 2.31 este prezentat răspunsul în frecvenţă al unui FTJ-FIR pentru
cazul în care M = 15 coeficienţi, respectiv M = 31, în comparaţie cu răspunsul unui FTJ ideal.
Din analiza Fig. 2.30 şi 3.31 se poate vedea că în cazul folosirii unui număr mai mare
de coeficienţi răspunsul FTJ-FIR (linie continuă groasă pentru o mai bună vizualizare –
reamintim că, de fapt, este vorba despre puncte discrete) se apropie ceva mai mult de
răspunsul ideal (caracteristica ideală). Banda de tranziţie din jurul frecvenţei de tăiere este cu
atât mai îngustă (şi răspunsul mai abrupt şi mai apropiat de cazul ideal) cu cât M este mai
mare.
O altă observaţie importantă care se poate face este aceea că în banda de trecere a
filtrelor apar oscilaţii ale răspunsului în frecvenţă, aşa-numitele ripples, prezente indiferent de
numărul de coeficienţi utilizat în proiectare. Apariţia ripple-ului este datorată utilizării unei
secvenţe finite de coeficienţi – de fapt setul de coeficienţi se obţine efectuând un produs în
domeniul timp între un set infinit de coeficienţi corespunzător unui filtru ideal (secvenţă
27
infinită dată de funcţia sinus cardinal sinc) şi o fereastră rectangulară (dreptunghiulară) a cărei
lăţime stabileşte lungimea setului, realizând o trunchiere. Schimbările bruşte de la începutul şi
sfârşitul ferestrei rectangulare care „decupează” un număr finit de coeficienţi din secvenţa
infinită determină apariţia oscilaţiilor. Prezenţa acestui ripple poartă numele de fenomenul sau
paradoxul lui Gibbs. Oricât am mări numărul de coeficienţi – deci indiferent de lăţimea
ferestrei rectangulare, fenomenul de ripple nu dispare şi nu se micşorează ca amplitudine,
acest paradox fiind explicat prin faptul că totdeauna setul este finit şi vor exista schimbările
abrupte datorate ferestrei rectangulare şi implicit va exista ripple-ul.
Banda de H (m)
tranziţie
ripple
Răspunsul unui filtru
ideal trece-jos
Răspunsul
pentru M = 15
ft Frecvenţă
Banda de H (m)
tranziţie
ripple
Răspunsul unui filtru
ideal trece-jos
Răspunsul
pentru M = 31
ft Frecvenţă
28
dificultăţile sporite de analiză şi proiectare, scheme bloc complicate, fază neliniară, zgomote
de calcul şi overflow datorate feedback-ului.
În Fig. 2.32 este prezentată amplitudinea răspunsului în frecvenţă al unui filtru IIR
trece jos de ordin 4 comparativ cu răspunsul unui filtru FIR de lungime M = 15. Filtrul FIR
necesită 15 multiplicări pentru fiecare eşantion de ieşire al filtrului, în timp ce filtrul IIR de
ordinul 4 necesită doar 9 multiplicări. În plus, din Fig. 2.32 se observă că ripple-ul din banda
de trecere este mai mic şi banda de tranziţie este mai îngustă la filtrul IIR.
ft Frecvenţă
Forma generală a ecuaţiei cu diferenţe a unui filtru IIR (domeniul timp) de ordin M
este următoarea:
N M
y ( n) = ∑ b( k ) x ( n − k ) + ∑ a ( k ) y ( n − k ) =
k =0 k =1
Y ( z ) = b(0) X ( z ) + b(1) z −1 X ( z ) + L + b( N ) z − N X ( z ) +
+ a(1) z −1Y ( z ) + a(2) z − 2Y ( z ) + L + a( M ) z − M Y ( z ) = (2.32)
N M
= X ( z ) ∑ b( k ) z − k + Y ( z ) ∑ a ( k ) z − k
k =0 k =1
Y ( z) ∑ b( k ) z − k
H ( z) = = k =0 (2.33)
X ( z ) 1 − M a (k ) z − k
∑
k =1
29
Pentru a obţine un filtru IIR stabil trebuie utilizat un set de coeficienţi a(k) astfel încât polii
funcţiei de transfer (2.33) să fie în interiorul cercului unitate din planul complex z (eventual să
existe cel mult poli simpli pe cerc).
Structura generală a unui filtru IIR de ordin M, cu N coeficienţi pe calea directă şi M
coeficienţi pe calea inversă se poate obţine direct din relaţiile (2.31), (2.32) şi poartă numele
de Forma Directă I – Fig. 2.33.
x(n-1) y(n-1)
b(1) a(1)
z-1 z-1
x(n-2) y(n-2)
b(2) a(2)
z-1 z-1
x(n-N) y(n-M)
b(N) a(M)
Structura prezentată mai sus poate fi modificată astfel încât să fie obţinute anumite
avantaje de implementare. Vom considera în continuare că N = M. Din Fig. 2.33 se observă
că filtrul IIR poate fi privit ca o conexiune de două filtre şi anume un filtru care utilizează
coeficienţii b(k) pentru calculul secvenţei c(n) folosind intrarea x(n) şi un al doilea care
foloseşte coeficienţii a(k) pentru calculul lui y(n) utilizând secvenţa c(n). Datorită liniarităţii,
cele două filtre pot fi comutate între ele fără a modifica ieşirea finală y(n). Apare o secvenţă
intermediară notată d(n). Structura care se obţine este redată în Fig. 2.34 şi este echivalentă cu
Forma Directă I. Din analiza acestei structuri intermediare se vede că se poate elimina una din
căile secvenţei d(n) şi prin urmare se poate renunţa la jumătate din blocurile de întârziere z-1,
obţinând o structură simplificată adecvată implementării hardware, structură care se numeşte
Forma Directă II, prezentată în Fig. 2.35.
Proiectarea unui filtru IIR constă în determinarea celor două seturi de coeficienţi de pe
calea directă şi de pe reacţie, astfel încât filtrul obţinut să aibă un comportament dorit, care de
regulă aproximează un răspuns ideal al unui filtru analogic (continuu).
Cele mai utilizate metode de proiectare sunt:
- metoda invarianţei răspunsului la impuls
- metoda transformării biliniare
- metode de proiectare optimizată
30
x(n) d(n) y(n)
+ +
z-1 z-1 b(0)
d(n-1) d(n-1)
a(2) b(2)
z-1 z-1
d(n-N) d(n-N)
a(N) b(N)
z-1 b(0)
d(n-1)
a(2) b(2)
z-1
d(n-N)
a(N) b(N)
Primele două metode utilizează tehnici analitice pentru proiectarea filtrului numeric
care aproximează un filtru analogic. În ambele metode se pleacă de la filtrul analogic prototip
descris prin ecuaţia intrare-ieşire din domeniul complex s obţinută cu ajutorul transformatelor
Laplace. Din această ecuaţie, în etapa următoare se obţine transformata Z a filtrului numeric,
după care aplicând transformarea Z inversă se obţin coeficienţii a(k) şi b(k). Aceşti coeficienţi
sunt utilizaţi la implementarea filtrului IIR cu una din schemele prezentate. De obicei,
structura filtrului analogic folosit ca model în proiectare este aleasă dintre filtrele analogice
des utilizate cum ar fi Butterworth sau Cebâşev.
Metodele de proiectare optimizată sunt utilizate atunci când răspunsul în frecvenţă al
filtrului IIR dorit nu este standard. Pentru că în acest caz nu putem defini cu uşurinţă funcţia
31
de transfer a filtrului numeric, se utilizează algoritmi software, care, pe baza descrierii
răspunsului în frecvenţă dorit, minimizează eroarea dintre acest răspuns şi răspunsul curent al
filtrului. Astfel, coeficienţii filtrului sunt ajustaţi în mod iterativ până la atingerea unei erori
minime sau pentru un număr finit de iteraţii. Majoritatea software-ului comercial de
prelucrare numerică a semnalelor conţine pachete de programe cu subrutine de proiectare a
filtrelor IIR care utilizează metode de optimizare. Datorită disponibilităţii acestor rutine, chiar
şi filtrele standard, simple, sunt proiectate prin aceste metode de optimizare, evitând tehnicile
analitice de proiectare.
Aceste rutine de proiectare necesită informaţii minime despre amplificările şi
frecvenţele filtrului (care, de fapt, impun o anumită formă a răspunsului în frecvenţă), precum
şi despre ordinul acestuia. De exemplu, specificaţiile unui FTJ-IIR pot fi frecvenţa de tăiere
f t şi valoarea amplitudinii la această frecvenţă, banda de tranziţie, atenuarea în banda de
oprire şi valoarea ripple-ului în banda de trecere. Specificaţiile – care sunt totodată parametri
de proiectare – se pot da şi la scară logaritmică (în decibeli) pentru amplificări/ atenuări.
Pentru filtre de alte tipuri (trece-bandă, opreşte-bandă) apar şi alte specificaţii cum ar fi
frecvenţa de tăiere superioară.
32
CAP. 3. CONVERSII NUMERIC-ANALOGICE ŞI
ANALOG-NUMERICE
Informaţiile provenite din lumea fizică reală trebuie convertite într-o formă
compatibilă pentru prelucrarea lor în calculator. De asemenea, semnalele provenite de la
calculator (comenzi în cazul sistemelor de conducere) trebuie convertite într-o formă
corespunzătoare echipamentelor cuplate la calculator.
În Fig. 3.1 este prezentată principial schema de intrare a unor semnale fizice în
calculator. Se observă că după blocul corespunzător senzorilor şi circuitelor de condiţionare a
semnalelor urmează un bloc de conversie analog-numerică, care are ca element principal
convertorul analog-numeric (CAN). Fig. 3.2 ilustrează conversia numeric-analogică, cel mai
important bloc din schemă fiind convertorul numeric-analogic (CNA).
Traductor +
Sistem fizic condiţionare CAN Calculator
semnal
10110110
Condiţionare
Calculator CNA semnal
10110110
33
3.1. CODURI NUMERICE BINARE
34
trebuie codificată separat în echivalentul ei pe 4 biţi. De exemplu, numărul zecimal 8391 este
codificat astfel:
1000 0011 1001 0001
Tabelul 3.1.
Numărul de biţi n 2n r r%
1 2 0.5 50
2 4 0.25 25
3 8 0.125 12.5
4 16 0.0625 6.25
5 32 0.0312 3.12
6 64 0.0156 1.56
7 128 0.0078 0.78
8 256 0.0039 0.39
9 512 0.0019 0.19
10 1024 0.0009 0.09
35
0 0- (0000) 1111 1000 (1000)
-1 -1/8 1111 1110 1001 0111
-2 -2/8 1110 1101 1010 0110
-3 -3/8 1101 1100 1011 01101
-4 -4/8 1100 1011 1100 0100
-5 -5/8 1011 1010 1101 0011
-6 -6/8 1010 1001 1110 0010
-7 -7/8 1001 1000 1111 0001
-8 -8/8 (1000) (0000)
x(n) Semnal
x(t) analogic
CNA Izolare Filtru de Amplificator
Buffer
galvanică netezire de putere
Semnal
numeric
Fig. 3.3. Schema bloc a reconstituirii fizice a semnalelor (organizarea ieşirilor analogice)
Fig. 3.4. Forma semnalului de ieşire din CNA (răspunsul unui extrapolator de ordin zero)
36
La ieşirea CNA (Fig. 3.3) se utilizează un filtru de tip trece jos care are rolul de a
netezi semnalul provenit de la convertor, apoi un amplificator de putere care are rolul
adaptării de nivel şi de putere cu circuitele spre care este transmis semnalul analogic. În unele
cazuri, la ieşirea CNA se dispune un circuit de izolare galvanică.
Tensiune de
referinţă
__
CS
n Buffere Reţea de Ue
+ rezistenţe
D0 n Comutatoare
cu tranzistoare A.O.
Dn
37
R
Registru
MSB 2R
Bit 3
Ue
Bit 2 4R
A.O.
Bit 1 8R
Uref
38
R
„1”
2R
„0” Ue
R
Registru
„1” A.O.
2R
MSB Bit 3
Bit 2 „0”
„1” R
Bit 1 2R
R
„1”
2R
„0”
2R
Uref
39
relativ lentă, este important ca o eventuală variaţie a tensiunii de intrare să nu perturbe
procesul de conversie, şi prin urmare circuitul S/H previne aceste perturbaţii prin menţinerea
constantă a tensiunii de intrare pe durata desfăşurării unei conversii.
Circuitele S/H sunt alcătuite de regulă dintr-un buffer urmat de un comutator
electronic conectat la un condensator. Operaţiunea de eşantionare şi reţinere (sample and
hold) constă în următoarele etape principale:
1. La un moment de eşantionare, comutatorul electronic conectează bufferul şi
condensatorul la semnalul de intrare;
2. Condensatorul se încarcă cu tensiunea de intrare;
3. Sarcina condensatorului este menţinută atâta timp cât CAN-ul converteşte semnalul;
4. Dacă sunt mai multe canale conectate (multiplexate) la un CAN, etapele anterioare
sunt repetate pentru fiecare canal de intrare;
5. Întregul proces este repetat la următorul moment de eşantionare.
Un circuit de intrare analogică utilizat pentru eşantionarea semnalelor conţine de
regulă un multiplexor, un circuit S/H şi un CAN – Fig. 3.8.
BI CE BO
CAN
TN C
comandă
Canale de intrare
Multiplexor
Circuit S/H
Fig. 3.8.
40
Cele mai des utilizate tipuri de CAN funcţionează pe baza principiului compensării
automate. Tensiunii de la intrare i se asociază o valoare numerică, care este după aceea
convertită din nou în formă analogică. Valoarea numerică este ajustată în mod automat, astfel
încât să compenseze eroarea dintre tensiunea de intrare în CAN şi corespondentul analogic al
mărimii numerice de la ieşire. Există mai multe tipuri de CAN, în funcţie de modul de
generare a valorii numerice. Printre tipurile mai des folosite se numără: CAN cu comparare
multiplă, cu aproximări succesive, cu integrare (cu pantă simplă sau cu pantă dublă), cu
conversie intermediară în frecvenţă, CAN cu filtrare digitală etc.
Principalele performanţe ale CAN sunt liniaritatea, precizia, rezoluţia, timpul şi rata de
conversie, domeniul (gama) tensiunii de intrare.
Conversia analog-numerică constă în convertirea unui semnal de intrare continuu într-
o fracţie y prin compararea cu un semnal de referinţă. Mărimea de ieşire numerică din CAN
este o reprezentare codificată a acestei fracţii y. Dacă ieşirea CAN este pe n biţi, atunci
numărul nivelelor de valori discrete de ieşire este de 2n. Prin urmare, pentru a respecta o
corespondenţă, domeniul analogic de intrare trebuie cuantificat în acelaşi număr de nivele.
Fiecare astfel de nivel sau cuantă este o valoare analogică pentru care două coduri adiacente
de ieşire diferă, şi mai este numită dimensiune a bitului LSB:
LSB = D / 2 n
În relaţia de mai sus notaţia LSB este uşor improprie şi reprezintă valoarea analogică a
celui mai puţin semnificativ bit, iar D este domeniul mărimii de intrare (full scale). Toate
valorile analogice de intrare din interiorul unui nivel de dimensiune D / 2 n sunt reprezentate
de acelaşi cod numeric de ieşire. Deoarece semnalul de intrare poate să difere de valoarea
medie a unui astfel de subinterval analogic cu cel mult ± LSB / 2 şi să fie totuşi reprezentat
de acelaşi cod de ieşire, rezultă că există o incertitudine sau eroare de cuantificare de
± LSB / 2 în orice CAN. Efectul acestei erori poate fi redus doar prin creşterea numărului de
biţi ai ieşirii CAN.
Aspectele prezentate mai sus pot fi analizate cu ajutorul caracteristicii statice ideale a
unui CAN pe 3 biţi dată în Fig. 3.9. În acest caz, dimensiunea unui nivel de cuantificare din
mărimea de intrare este de D / 2 3 = D / 8 şi prin urmare domeniul de intrare este împărţit în
8 subintervale distincte de la 0 la (7 / 8) ⋅ D . Trebuie observat faptul că ieşirea maximă, adică
numărul binar 111, corespunde nu domeniului maxim de intrare ci lui (7 / 8) ⋅ D (a se vedea
paragraful de descriere a codurilor binare).
Mărimea numerică
y Cod de ieşire
7/8 111
6/8 110
5/8 101
4/8 100
3/8 011
2/8 010
Mărimea analogică
1/8 001 de intrare
0 000
Nivele cuantificate 0 1/8 2/8 3/8 4/8 5/8 6/8 7/8
(fracţie x D)
Fig. 3.9. Caracteristica statică a unui CAN pe trei biţi
41
CAN-urile au caracteristici statice reale, care diferă de caracteristica ideală prezentată
anterior. Pe aceste caracteristici reale pot fi evidenţiate tipurile de erori care pot apare la un
CAN. Una dintre erori este eroarea de offset (sau eroarea de zero) (Fig. 3.10) care poate fi
definită ca valoarea analogică egală cu intervalul de la origine la intersecţia caracteristicii
reale cu abscisa. O altă eroare este eroarea de câştig sau de pantă (Fig. 3.11) care apare
datorită unei abateri de pantă a caracteristicii. Aceste două erori sunt în general mici şi pot fi
eliminate prin tehnici de ajustare. Ceva mai dificil de eliminat sunt erorile de liniaritate.
Erorile de liniaritate pot fi de două tipuri: eroare totală de liniaritate (deviaţia maximă a
caracteristicii reale de la caracteristica ideală, atunci când erorile de offset şi de câştig sunt
nule) - Fig. 3.12, sau eroare diferenţială (deviaţia unui nivel de la valoarea analogică ideală) –
Fig. 3.13. În cazul în care o neliniaritate de tip diferenţial este mai mare de 1 LSB, atunci
ieşirea are coduri lipsă.
y y
x = ui x = ui
0 D 0 D
Fig. 3.10. Fig. 3.11.
y y
cod lipsă
x = ui x = ui
0 D 0 D
Fig. 3.12. Fig. 3.13.
42
binar de ieşire din CAN. Atunci când este exprimată în volţi se numeşte precizie absolută, dar
de multe ori se exprimă relativ la semnalul analogic, se exprimă în LSB şi se numeşte precizie
relativă. Precizia este dată de suma maximă a tuturor erorilor de conversie, inclusiv a erorii
(incertitudinii) de cuantificare.
Pentru regimul dinamic al CAN se defineşte timpul de conversie t c ca fiind intervalul
de timp dintre startarea operaţiei de conversie şi momentul în care convertorul furnizează
mărimea de ieşire finală. Inversa timpului de conversie este rata de conversie care se măsoară
în conversii/secundă. Utilizarea circuitelor de tip Sample/Hold între intrarea analogică şi CAN
conduce la apariţia unui timp de întârziere suplimentar numit timp de deschidere (aperture
time), de care trebuie să se ţină seama în aprecierea performanţelor.
HBE LBE
Fig. 3.14. Intrări şi ieşiri tipice ale CAN
Prin urmare este necesar un semnal de referinţă Uref stabil şi precis. Sursele de semnal
de referinţă sunt de regulă cuplate cu un buffer (situat uneori chiar pe cipul monolitic).
Semnalul de ieşire. Ieşirea numerică a unui CAN este dată de numărul de biţi (deci de
rezoluţie) şi de tipul de codificare utilizată. Cele mai obişnuite CAN sunt cele cu 8 şi cu 12
biţi. Codul folosit la ieşirea CAN unipolare este de obicei de tip binar natural, sau de tip
zecimal codificat binar în cazul unor aparate de măsurat numerice.
Semnalele de control. Toate CAN au nevoie de un ceas şi de semnale de control
corespunzătoare. Modul de acţiune al semnalelor de control poate fi observat prin analiza unui
ciclu de conversie al CAN, prezentat în Fig. 3.15.
43
START
_____
BUSY/EOC
tc
(OE) HBE
LBE
Ciclu conversie
RAS
Comparator Ieşire
numerică
uc
CNA Uref
44
Un ciclu de conversie începe de la valoarea 000 a mărimii de intrare în CNA, apoi
bitul MSB este făcut 1. Urmează un algoritm de testare care va verifica efectul modificării
câte unui bit. Prin urmare, la primul pas convertorul numeric-analogic va converti valoarea
100 (care corespunde unei estimări iniţiale de jumătate din domeniul de intrare) într-o
tensiune uc care este comparată cu tensiunea de intrare. În funcţie de rezultatul comparaţiei,
bitul MSB este lăsat 1 sau este făcut 0. La pasul al doilea (la următorul tact sau perioadă de
ceas), al doilea bit este făcut 1, urmează conversia în uc şi compararea cu tensiunea de intrare.
Se decide dacă cel de-al doilea bit este 1 sau 0 şi urmează al treilea pas. În cazul exemplului
nostru este vorba de LSB care este făcut 1, se realizează conversia şi comparaţia şi se
stabileşte valoarea finală a LSB şi prin urmare a codului de ieşire care va aproxima cel mai
bine semnalul de intrare. Schema logică a acestui algoritm (cu adăugare) cu toate opţiunile
posibile este prezentată în Fig. 3.17.
111
111
110 110
101
101
100
000 100
011
011
010
010 001
001
000
Fig. 3.17. Schema logică a algoritmului de testare
Deoarece deciziile pentru fiecare bit sunt luate serial, poate fi furnizată o ieşire
numerică serială la ieşirea din comparator.
Ca performanţe, aceste CAN au timpul de conversie independent de mărimea de
intrare (este o sumă dintre timpul de iniţializare şi n ⋅ Tbit − test ) şi este de ordinul 100 nsec – 5
µsec pentru CAN pe 8 biţi şi mai mare pentru CAN pe mai mulţi biţi. Rezoluţia este de 6 – 16
biţi.
CAN cu integrare cu pantă dublă. Tehnica utilizată în cadrul acestor CAN este
ilustrată de schema bloc din Fig. 3.18 şi de diagrama temporală din Fig. 3.19. Tensiunea de
intrare este integrată pe un interval fix de timp T1 care în general corespunde numărului
maxim furnizat de numărătorul din cadrul CAN. La sfârşitul acestui interval, numărătorul este
resetat şi intrarea integratorului este comutată pe tensiunea de referinţă negativă. Ieşirea
integratorului va descreşte liniar până la zero, moment în care numărătorul este oprit şi
integratorul este resetat. Sarcina de pe condensatorul integratorului acumulată în primul
interval T1 trebuie să fie egală cu pierderea de sarcină din al doilea interval T2 şi prin urmare
vom avea:
T2 u i ( mediu )
T1 ⋅ u i ( mediu ) = T2 ⋅ U ref ⇒ = = y
T1 U ref
Fracţia y este raportul celor două intervale de timp şi este de asemenea ieşirea binară a
numărătorului în raport cu numărul maxim furnizat de acest numărător. Prin urmare numărul
45
(ieşirea numărătorului) de la sfârşitul celui de-al doilea interval T2 este chiar cuvântul binar de
ieşire din CAN. Schema prezentată poate fi adaptată la diferite codificări binare.
Tehnica de tip pantă dublă oferă mai multe avantaje, cum ar fi rejecţia foarte bună a
zgomotelor şi faptul că variaţiile în frecvenţa ceasului nu afectează rezoluţia, care este
determinată doar de performanţele componentelor analogice utilizate şi nu de neliniarităţile
diferenţiale ale convertorului. Se poate obţine uşor o rezoluţie bună ajustând dimensiunea
numărătorului şi frecvenţa de ceas. Aceste tipuri de CAN au o rezoluţie foarte bună (12 - 18
biţi). Dezavantajul principal este viteza redusă (timp de conversie mare). Se utilizează în
aplicaţii cum ar fi multimetre numerice, la măsurarea temperaturii etc.
Uref
-1 C
R
ui Reset
CLOCK BC
Tensiune
Timp
T1 T2
CAN de tip paralel (Flash). Conversia de tip paralel sau Flash este cea mai rapidă
tehnică de conversie. Din analiza caracteristicii statice a unui CAN se poate observa că
mărimea de ieşire poate fi determinată dacă se prelucrează ieşirile unor comparatoare care
compară poziţia mărimii de intrare faţă de valorile de frontieră ale subintervalelor în care este
împărţit domeniul de intrare. Sunt necesare 2n – 1 comparatoare, ceea ce limitează rezoluţia
acestor CAN.
Schema de principiu este prezentată în Fig. 3.20. Semnalul de intrare este comparat
simultan cu toate valorile medii ale subintervalelor în care este împărţit domeniul de intrare,
46
prin utilizarea unor comparatoare deplasate ca domeniu unul de altul cu 1 LSB (dimensiunea
analogică a subintervalului). Această deplasare dintre comparatoare este realizată prin
intermediul unei tensiuni de referinţă şi a unei reţele de rezistenţe de precizie. Toate ieşirile
comparatoarelor peste semnalul de intrare vor fi făcute off, iar cele sub semnalul de intrare on.
Deoarece toate comparatoarele îşi schimbă starea simultan, procesul de conversie este realizat
într-un singur pas. Un codificator converteşte ieşirea comparatoarelor într-o descriere binară
pe n biţi. Viteza acestor CAN este foarte mare, timpul de conversie ajungând la ordinul
sutimilor de microsecundă. Dezavantajul este legat de rezoluţie care este de maxim 10 biţi.
Aplicaţiile acestor CAN sunt în domeniul video, radar, osciloscoape numerice.
Uref ui
2n – 1 comparatoare
3R/2
CODIF.
R Ieşire
R/2
47
CAP. 4. PLĂCI DE EXTENSIE. MAGISTRALE ŞI PORTURI
4.1. PLĂCI DE EXTENSIE
Comunicarea dintre sistemele de calcul şi mediul extern este asigurată prin cuplarea la
magistrala PC – ului a aşa-numitelor plăci de extensie sau plăci utilizator. Aceste plăci de extensie
sunt realizate pentru a asigura o mare diversitate de funcţii. În categoria plăcilor de extensie pot fi
incluse:
- plăci de achiziţie de date de uz general;
- plăci de intrare-ieşire numerice (compatibile TTL, cu optocuploare etc.);
- plăci de ieşiri numerice echipate cu relee pentru comanda unor elemente de execuţie;
- plăci pentru extensie de memorie;
- plăci de interfaţă IEEE 488 (GPIB);
- plăci de reţea;
- plăci modem;
- plăci pentru comunicaţia serială (RS-232, RS-485 etc.);
- plăci de achiziţie şi conducere (intrare-ieşire) multifuncţionale;
- plăci pentru interfaţarea unor senzori (de exemplu termocupluri);
- plăci de măsurare specializate (multimetre, frecvenţmetre etc.).
Pentru conectarea unei plăci de extensie, fiecare PC este prevăzut pe placa de bază cu un
număr de conectoare pentru extensii. În aprecierea expandabilităţii unui PC, trebuie avute în vedere,
pe lângă numărul de conectoare, dimensiunile fizice admisibile ale plăcilor de extensie şi puterea
disponibilă de la sursa de alimentare a PC-ului.
Plăcile de extensie sunt conectate prin intermediul magistralei de extensie la placa de bază a
calculatorului. În funcţie de evoluţia tehnologică a echipamentelor, întâlnim mai multe tipuri de
plăci de bază, de magistrale şi de plăci de extensie. Pentru a înţelege şi utiliza mai bine plăcile de
extensie, vom face o scurtă prezentare a plăcilor de bază.
49
Fig. 4.2. Placa de bază AT
Din considerente similare cu cele care au condus la apariţia plăcii mini-AT, a fost creat
modelul mini-ATX (8.2 x 11.2 inci).
În afara acestor modele de bază (XT, AT, ATX) au fost dezvoltate şi alte tipuri de plăci,
cum ar fi modelele LPX, mini-LPX, NLX pentru PC-uri cu profil redus, WTX pentru staţiile de
lucru etc.
4.1.2. Tipuri de plăci de extensie
Deşi teoretic o placă de bază ar putea conţine toate circuitele necesare pentru construirea
unui PC, posibilitatea de adăugare a unor elemente sau de îmbunătăţire a plăcii de bază extinde
conceptul de PC. Capacitatea de extindere transformă PC-ul într-un instrument cu posibilităţi
aproape nelimitate.
Plăcile cu circuite imprimate care se inserează în placa de bază sunt adeseori numite plăci de
extensie. Plăcile de extensie sunt diferenţiate prin standardul pe care îl respectă interfaţa lor sau prin
tipul conectorului. De exemplu, o placă de extensie ISA respectă standardul de magistrală Industry
Standard Architecture, iar o placă PCI respectă standardul Peripheral Component Interconnect.
Alte denumiri întâlnite pentru plăcile de extensie sunt: plăci utilizator, plăci de opţiuni, plăci
fiică etc.
50
Din punct de vedere fizic, placa de extensie este o placă imprimată realizată în tehnologie de
montare pe suprafaţă sau în tehnologii combinate. Un conector de extensie conectează placa de
extensie la placa de bază, iar o bridă de prindere fixează placa în interiorul calculatorului şi
furnizează spaţiu pentru conectoarele periferice.
Standardizarea este esenţială pentru extinderea PC-urilor. Sloturile, conectoarele, montarea,
semnalele şi interfaţa logică sunt strict definite. Plăcile de extensie trebuie să fie compatibile din
punct de vedere fizic, electric şi logic cu plăcile de bază pe care sunt instalate. În primul rând, o
placă de extensie trebuie să încapă în calculator, ceea ce înseamnă că standardele dictează
dimensiunea fizică a plăcilor de extensie. Deoarece între placa de extensie şi cea de bază există
legături electrice, standardizarea se extinde şi asupra conectoarelor electrice, care trebuie să
corespundă ca tip, dimensiuni şi poziţie.
Prototipul plăcilor de extensie a fost placa proiectată pentru PC-ul IBM original din 1981.
Chiar şi cele mai noi calculatoare mai păstrează cel puţin un slot pentru montarea unor astfel de
modele vechi, care se mai numesc şi plăci moştenite şi care respectă standardul ISA.
Plăcile moştenite sunt plăci care respectă standardul Industry Standard Architecture – ISA.
Dimensiunile critice sunt pentru plăcile ISA lungimea maximă a plăcii, înălţimea şi poziţia
conectorului. Plăcile ISA actuale sunt limitate la o lungime maximă de 13.415 inci. Datorită
miniaturizării componentelor, sunt întâlnite des aşa-numitele plăci scurte, care au lungimea mai
mică (placa de extensie nu ajunge la ghidaje).
Din punct de vedere al înălţimii, se întâlnesc plăci ISA de înălţime XT (4.2 inci) (Fig. 4.4) şi
plăci ISA de înălţime AT (4.8 inci) (Fig. 4.5). Standardul EISA acceptă aceste dimensiuni pentru
înălţimea maximă a plăcilor de extensie.
Înălţimea plăcii este importantă, deoarece carcasele proiectate pentru plăci XT nu acceptă
plăci de înălţime AT. Cele mai multe calculatoare moderne bazate pe magistrale PCI nu sunt destul
de înalte pentru plăci de înălţime AT. Prin urmare, prezenţa sloturilor ISA nu garantează
posibilitatea de instalare a oricărei plăci de extensie ISA. Problema compatibilităţii este din ce în ce
mai puţin importantă pe măsură ce importanţa plăcilor ISA se diminuează.
Producătorii de calculatoare şi de sisteme numerice de conducere au adaptat modelul electric
al plăcilor ISA şi au creat un format mai robust, numit PC/104. Plăcile PC/104 diferă de plăcile ISA
obişnuite în principal prin aspecte mecanice (Fig. 4.6).
51
Aceste plăci sunt mai mici şi folosesc un conector diferit. Ca şi plăcile ISA, plăcile PC/104
pot folosi interfeţe pe 8 biţi sau pe 16 biţi. Plăcile cu magistrală de lăţime mai mare au un conector
auxiliar pentru semnalele suplimentare. Plăcile PC/104 au un conector pentru magistrala de 8 biţi pe
64 de pini şi un conector pentru magistrala de 16 biţi pe 40 de pini (în total 104 pini).
În loc să se conecteze la o magistrală, plăcile PC/104 formează o magistrală proprie, prin
suprapunerea conectoarelor. Fiecare placă are atât conectoare mamă cât şi conectoare tată, astfel
încât o placă se poate monta deasupra alteia şi furnizează un nou conector pentru instalarea
următoarei plăci.
Plăci PCI. Standardul PCI defineşte mai multe variante ale plăcii de extensie. Specificaţiile
definesc două seturi de dimensiuni, fiecare cu câte trei moduri de aranjare a conectoarelor (pentru 5
volţi, pentru 3.3 volţi şi pentru ambele tensiuni).
O placă PCI de dimensiuni standard măsoară 12.283 x 4.2 inci. În Fig. 4.7 este prezentată o
placă PCI standard pentru operare la 5 volţi (cea cu operare la 3.3 volţi diferă nu prin dimensiuni ci
prin numărul şi poziţia contactelor). Standardul PCI defineşte şi o placă de extensie scurtă
(dimensiuni 6.875 x 4.2 inci).
Implementarea pe 64 de biţi a plăcilor PCI a extins conectorul de margine pentru includerea
semnalelor suplimentare. În Fig. 4.8 este prezentat conectorul extins care implementează toate
opţiunile (ambele tensiuni de 5 şi 3.3 volţi).
O derivaţie a standardului PCI este reprezentată de plăcile CompactPCI, realizate pe baza
standardului Eurocard. Plăcile CompactPCI sunt de dimensiuni mai mici şi sunt robuste.
Pentru sistemele de calcul de tip notebook au fost dezvoltate plăci de tip PCCard. Aceste
plăci au forma unor cartele de 54 x 85 mm şi 5 mm grosime. Plăcile PCCard respectă standardul
PCMCIA (Personal Computer Memory Card International Association).
53
Din punct de vedere al cuplării plăcilor de extensie la calculator interesează îndeosebi acest
sistem de magistrale I/O la care ne vom referi în continuare.
Din punct de vedere istoric, evoluţia standardelor de magistrală, precum şi performanţele
acestora sunt prezentate sintetic în tabelul 4.1. Performanţele magistralelor sunt reprezentate de
lăţime, de frecvenţa de ceas precum şi de memoria maximă care poate fi adresată, memorie care
depinde de numărul de linii de adresă ale magistralei.
Deoarece standardele ISA/EISA şi PCI sunt cele mai folosite standarde de magistrală, în
continuare vor fi prezentate pe scurt aceste standarde.
54
iar controllerul SCSI (Small Computer System Interface) este tot o interfaţă universală spre medii de
stocare a datelor sau periferice.
Liniile magistralei ISA pot fi grupate în mai multe categorii distincte:
- linii de adresă
- linii de date
- linii de comandă a magistralei
- linii de alimentare
- linii de comandă a ciclurilor
- linii de întrerupere
- linii pentru controlul accesului direct la memorie (DMA)
Micro –
procesor Cache Memorie
RAM
Magistrală rapidă
de memorie
Placă
Controller video
ISA/EISA Magistrală ISA
Magistrală I/O lentă 16 biţi
sau
Standardul ISA lasă în seama utilizatorului sarcina configurării sistemului. Este necesar ca
utilizatorul să se asigure că fiecare placă de extensie primeşte întreruperile, domeniile de adrese,
adresele de porturi şi canalele DMA de care are nevoie. Trebuie verificat dacă cerinţele unei plăci
nu intră în conflict cu alte plăci din sistem. Înainte de conectarea plăcii de extensie trebuie verificată
poziţia jumperelor şi comutatoarelor DIP (Dual Inline Pin) (unele plăci de extensie utilizează
comutatoare DIP care permit selectarea adresei de bază a plăcii). Pentru uşurarea cuplării plăcilor
ISA s-a dezvoltat magistrala ISA Plug and Play care transferă această muncă de configurare către
sistemul de calcul.
Nici-unul din standardele de magistrală ISA/EISA, MCA sau VL Bus nu pot asigura
necesarul de cerinţe pentru microprocesoarele actuale de tip Pentium I - IV. Standardul care asigură
realizarea unor performanţe corespunzătoare este standardul PCI.
Acest standard este compatibil cu standardele mai vechi, asigurând prin arhitectura sa şi o
independenţă de componentele cuplate la magistrală (microprocesoare, controllere, plăci), indiferent
de tipul acestora sau de firma care le produce.
Conectarea unei plăci PCI la sistemul de calcul presupune, spre deosebire de majoritatea
magistralelor mai vechi, ca utilizatorul să nu intervină la setarea hard, deoarece procesorul de pe
aceste plăci, prin regiştrii de configurare va realiza autosetarea optimă, atunci când sunt executate
rutine POST (Power On Self Test). Software-ul va rezolva setările de sistem care mai rămân de
efectuat.
55
Arhitectura PCI propune o magistrală care poate recunoaşte orice protocol utilizat de
standardele anterioare, are o lăţime a magistralei de 32 de biţi şi lucrează la o frecvenţă de 33 MHz.
Rata de transfer la această frecvenţă poate ajunge la 132 MB/sec, iar magistralele PCI de 64 de biţi
la 264 MB/sec. Standardele actuale au ajuns la o frecvenţă de ceas de 66 MHz ceea ce permite la o
lăţime de 64 de biţi o viteză de 528 MB/sec. În Fig. 4.10 este prezentată arhitectura magistralei PCI.
Micro –
procesor Cache Memorie
RAM
Controller
PCI
(PCI Chipset)
Magistrală PCI I/O
Placă
extensie
Fig. 4.10. Arhitectura magistralei PCI
În cazul magistralei PCI, datele şi adresele sunt multiplexate în timp, ceea ce înseamnă că
aceleaşi linii pot fi utilizate atât pentru date, cât şi pentru adrese. Din acest motiv sunt necesare două
tacturi pentru transmisie, unul pentru adresă şi unul pentru date.
Arhitectura PCI permite conectarea a zece periferice fără a apare conflicte de acces, acest
lucru fiind posibil datorită modului în care perifericele lucrează cu memoria, fără intermediul
microprocesorului, totul fiind guvernat de controllerul (controllerele) PCI. Magistrala PCI este total
decuplată de magistrala microprocesorului şi se autoguvernează. În cadrul acestui standard,
microprocesorul şi perifericele capătă statut de magistrală-master sau magistrală-slave. La un
anumit moment, microprocesorul sau orice placă – periferic pot deveni master, o altă placă are rol
de slave, şi toate acestea independent de microprocesor. Microprocesorul este decuplat de la PCI
(dar nu şi deconectat, existând circuite de tip buffer care intră în alcătuirea PCI Chipset), şi prin
urmare se poate ocupa de alte operaţii.
Semnalele de bază ale standardului PCI pot fi grupate în următoarele categorii:
- linii de sistem: includ liniile de ceas şi de resetare;
- linii de date şi de adrese: includ 32 de linii care sunt multiplexate în timp, precum şi alte
linii utilizate pentru interpretarea şi validarea semnalelor de date/adrese;
- linii de control de interfaţă: controlează ciclurile de transfer şi furnizează coordonarea
între surse şi periferice destinaţie (target);
- linii de arbitrare: fiecare PCI master are o pereche de linii de arbitrare conectate la
arbitrul PCI de magistrală;
56
- linii de eroare: sunt folosite pentru controlul parităţii şi pentru alte erori;
În plus, standardul PCI mai defineşte linii opţionale de semnal grupate în următoarele
categorii:
- linii de întrerupere;
- linii suport pentru memoria cache;
- linii de extensie pentru magistrala de 64 de biţi;
- linii de testare.
Datorită caracterului de independenţă faţă de microprocesor, montarea şi configurarea facilă,
de tip Plug and Play, precum şi vitezele mari de lucru, standardul PCI s-a impus la ora actuală pe
aproape toată piaţa.
Echipamentele periferice sunt prevăzute cu unul sau mai multe porturi periferice. Porturile
sunt regiştri de 8, 16 sau mai mulţi biţi folosiţi pentru memorarea temporară a informaţiei. Prin
intermediul lor se realizează transferul de date dintre microprocesor şi echipamentele periferice.
Porturile pot fi de intrare, de ieşire sau bidirecţionale.
Multe microprocesoare sunt dotate cu spaţii suprapuse de adrese pentru memorie, respectiv
pentru intrare/ieşire. Prin urmare o aceeaşi adresă fizică poate să aparţină fie spaţiului memoriei, fie
spaţiului de intrare/ieşire, în funcţie de un semnal de tipul M/ IO furnizat de microprocesor. Spaţiul
de intrare/ieşire care poate fi adresat de un microprocesor este mai mic decât spaţiul memoriei, şi
deci sunt necesare mai puţine linii de adrese. De exemplu, microprocesorul 8086 poate adresa 1
Moctet de memorie şi doar 64 K porturi de 8 biţi (sau 32 K de porturi de 16 biţi) în spaţiul de I/O.
La proiectarea unei plăci utilizator, stabilirea adresei porturilor trebuie să ţină seama de adresele
alocate în acest scop de producătorul calculatorului pentru diferitele echipamente. Aceste adrese
sunt de regulă listate în cartea tehnică a calculatorului sub forma unei hărţi de I/O. De exemplu, la
vechile calculatoare AT, adresele spaţiului I/O sunt cuprinse între 000H şi 3FFH, adică sunt adrese
reprezentate pe 10 biţi. Rezultă numai 1024 de adrese dintr-un total adresabil de 64 K. Altfel spus,
deşi microprocesorul poate adresa 64 K porturi, calculatoarele AT (şi XT) pot adresa doar 1024 de
porturi. Spaţiul de 1024 de porturi este considerat suficient pentru majoritatea aplicaţiilor. Primele
256 de adrese sunt rezervate pentru echipamentele I/O aferente plăcii de bază, iar celelalte 768 sunt
disponibile pentru plăcile utilizator.
Toate transferurile de informaţii şi date între diverse componente ale sistemului de calcul,
care se realizează prin magistrale, se desfăşoară la nivel de bit, octet, cuvânt sau bloc de octeţi.
Aceste transferuri de biţi se pot efectua în două feluri: prin transmisie serială sau prin transmisie
paralelă.
Transmisia paralelă este o transmisie eficientă deoarece se desfăşoară concomitent pentru
cei 8 biţi ai unui octet de exemplu, pe 8 căi distincte. Prin urmare, transferul unui grup de octeţi are
loc cu o viteză foarte mare, dar are dezavantajul unui cost ridicat datorat interfeţei paralele şi
cablului de conectare cu 8 fire (sau mai multe). Transmisia paralelă se utilizează la echipamentele
care vehiculează un volum mare de date într-un timp scurt. Porturile paralele sunt folosite în general
la comunicaţia unidirecţională (nu în sens strict) şi dispun de regulă de 25 de pini. Un exemplu
clasic de utilizare a transmisiei paralele este cel al imprimantelor.
Transmisia serială este mai simplă pentru că nu necesită decât o cale de transmisie, un octet
transmiţându-se bit cu bit. Costurile sunt mici, dar dezavantajul este legat de viteza de transmisie
mică. Porturile seriale sunt folosite la transmisia bidirecţională şi au de regulă 9 pini.
O altă clasificare a transmisiilor de date se poate face după modul în care este folosită linia
de transmisie: transmisie simplă, care se efectuează pe aceeaşi linie, în ambele sensuri, dar nu în
acelaşi timp, respectiv transmisie duplex, în cazul în care componentele care folosesc aceeaşi linie
de transmisie pot utiliza simultan linia în ambele sensuri.
57
Deoarece trebuie introdus un mecanism de separare a logică a octeţilor transmişi, la
construcţia interfeţelor se foloseşte o altă clasificare a transmisiilor:
- transmisia sincronă, în care octeţii se transmit fără biţi fanion şi fără pauze de transmisie
între octeţi;
- transmisia asincronă, la care între octeţii transmişi sunt intercalate pauze sau se folosesc
flag-uri de indicare a începutului sau sfârşitului unui octet.
După ce microprocesorul prelucrează datele, acestea pot fi transmise către un dispozitiv
periferic într-un anumit format digital, fiind necesară o interfaţă care să adapteze semnalul transmis
de către sursă într-un semnal ce poate fi interpretat de dispozitivul periferic destinaţie (target).
Interfeţele standard utilizate pentru transferul sub formă numerică a datelor asigură o
adaptare a acestor formate digitale din punct de vedere al frecvenţelor de tact, al nivelelor de semnal
etc. În continuare vor fi menţionate câteva din cele mai utilizate standarde de interfaţă.
Interfaţa serială asincronă RS 232 C
Interfaţa serială RS-232-C (Reference Standard 232 Revision C) este una din cele mai
uzuale interfeţe seriale, chiar dacă este depăşită din punct de vedere tehnic.
Standardele RS-232-C folosite pentru nivelele de semnal 0 şi 1 sunt în afara intervalului –3
Vcc … +3 Vcc: orice tensiune peste +3 Vcc (până la 25 Vcc) este considerată corespunzătoare unui
bit 0, iar orice tensiune sub – 3 Vcc (până la -25 Vcc) este corespunzătoare unui bit 1. Viteza de
transmisie pentru această interfaţă este de 115 Kbiţi/sec., lungimea cablului de până la 30 metri,
numărul de conductoare folosite în cablu este între 3 şi 9 iar numărul de dispozitive pe port este de
unul singur. Interfaţa serială RS-232 C este prezentată în detaliu în Anexa 1.
Observaţie: În cazul în care este necesară o comunicaţie pe o distanţă mare se utilizează
interfaţa serială performantă RS-485 (până la 1200 m).
Interfaţa serială asincronă UART
Este tot un port serial moştenit. Interfaţa UART (Universal Asynchronous Receive
Transmiter) este bazată pe un registru shift (de deplasare) care permite realizarea unei conversii a
datelor din format serie/paralel în format invers paralel/serie. Un circuit UART are trei părţi: un
modul receptor care primeşte de la periferic un semnal serial şi îl converteşte în paralel, după care îl
depune pe magistrala de date, un modul emiţător care primeşte un semnal paralel de la magistrala
de date şi îl converteşte într-un semnal serial pentru periferic, iar cel de-al treilea modul este un
controller de interfaţă care gestionează activitatea primelor două module.
Portul serial USB
Viteza de transmisie a portului USB (Universal Serial Bus, 1995) este mult mai mare decât
la porturile moştenite: 12 Mbiţi/sec. Numărul de dispozitive care pot fi conectate la un port este de
127, se poate conecta orice fel de dispozitiv, iar mediul de transmisie este un cablu special cu 4 fire.
Modelul USB este gândit ca un sistem ierarhic, cu distribuitoare care se pot conecta la alte
distribuitoare şi aşa mai departe, astfel că se poate ajunge la maxim 127 de dispozitive conectate la
un singur port. Apare o structură arborescentă de conectare. Calculatorul gazdă este de fapt un
distribuitor de bază. Circuitul din calculator care controlează distribuitorul de bază şi restul
sistemului USB este numit controller de magistrală. Pentru o funcţionare corectă este necesară
conectarea corectă a tuturor componentelor, iar software-ul aferent realizează sortările necesare.
Programul care implementează protocolul USB este de fapt cea mai complexă componentă a
standardului USB. Deşi numărul de dispozitive care pot fi conectate este foarte mare, nu sunt
aplicaţii care să necesite mai mult de câteva zeci de conectări. Mai mult, apare şi dezavantajul
lungimii unui cablu USB, care nu poate fi mai mare de 5 m (distribuitoarele pot regenera semnalul,
aşa că prin trecerea prin distribuitoare sistemul USB se poate întinde pe distanţe mai mari).
Interfaţa serială FireWire
Avantajul principal al acestei interfeţe moderne (numită şi IEEE 1394) este viteza care poate
ajunge la 800 Mbiţi/sec. Numărul de dispozitive care se pot conecta la un port este de 16, iar tipul
acestora este în special din categoria dispozitivelor video digitale şi harddiscurilor. Această interfaţă
58
foloseşte (ca şi USB) modul de lucru pe pachete de date. Cu toate că acest mod de lucru impune o
creştere substanţială a operaţiilor software, interfaţa oferă o lărgime de bandă suficient de mare,
care permite de exemplu transportarea simultană a trei semnale video sau a 167 semnale audio la
rata de bază de 100 Mbiţi/sec. IEEE 1394 este un sistem ierarhic realizat din mai multe straturi: un
strat de gestionare a magistralei, un strat de tranzacţii, un strat de legătură şi un strat fizic.
Interfaţa paralelă PIA
Cel mai uzual model de interfaţă paralelă este PIA (Peripheral Interface Adapter). Interfaţa
foloseşte doi regiştri: unul pentru date transmise de la periferic către microprocesor şi celălalt pentru
transferul în celălalt sens. În plus faţă de cei doi regiştri există şi un registru de stare ai cărui biţi
folosiţi ca flag-uri indică microprocesorului starea celor doi regiştri. Toţi aceşti regiştri programabili
sunt cuplaţi la magistrala de date a sistemului, prin aceasta fiind adresate direct de către
microprocesor.
Interfaţa paralelă GPIB (IEEE 488)
Magistrala 488, cunoscută şi sub numele de magistrala Hewlett Packard Instrument Bus sau
GPIB (General Purpose Instrument Bus) oferă posibilitatea interconectării calculatorului personal
cu un număr foarte mare de echipamente de măsurare şi control. În prezent datorită ariei din ce în ce
mai largi de răspândire a echipamentelor cu microprocesoare au fost realizate circuite specializate
care au permis reducerea preţului de cost al interfeţelor bazate pe acest tip de protocol.
Acest tip de conexiune permite ca microprocesorul să realizeze atât supervizarea operaţiilor
de achiziţie de date, cât şi procesarea datelor achiziţionate.
Printre avantajele datorate acestui tip de conexiune se pot enumera:
• Eliminarea operaţiilor manuale repetitive
• Calibrarea şi setarea echipamentului este extrem de simplă şi robustă
• Viteza de măsurare este extrem de mare
• Reducerea erorilor de citire sau de calibrare
• Repetabilitate deosebit de bună
• Posibilitatea construirii unor funcţii adiţionale de prelucrare a informaţiei
În ciuda complexităţii echipamentului, softul sub care operează acest protocol realizează o
interfaţă utilizator deosebit de prietenoasă.
Standardul IEEE 488 dispune de următoarele categorii de structuri:
Receptori - Listeners
Emiţători - Talkers
Receptori/emiţător
Controllere
Receptorii pot recepţiona datele şi semnalele de control de la alte dispozitive conectate la
magistrală, dar nu sunt capabili să genereze date.
Emiţătorii sunt capabili să plaseze date pe magistrală, dar nu pot recepţiona informaţie.
Trebuie remarcat faptul că dacă la un moment dat numai un singur emiţător poate fi activ, pentru a
depune pe magistrală datele, în acelaşi timp mai mulţi receptori pot recepţiona şi prelucra datele.
Aceste două funcţii pot fi combinate într-un singur instrument, care poate să transmită şi să
recepţioneze date. Un instrument de tip multimetru digital este un exemplu de emiţător/receptor
clasic. Prin intermediul magistralei este trimisă informaţia necesară schimbării scalei de măsură sau
a tipului de mărime măsurată, iar acesta transmite spre magistrală informaţia digitizată reprezentând
tensiunea, curentul sau rezistenţa.
Controllerele sunt dispozitive utilizate pentru a superviza fluxul de date prin magistrală şi a
permite procesarea acestora. Controllerul unui sistem IEEE 488 este invariabil un microprocesor.
Semnalele magistralei IEEE 488. Această magistrală dispune de 8 linii bidirecţionale de
date. Prin acestea sunt transferate date, adrese, comenzi şi informaţii de status. Adiţional sunt
utilizate încă 5 linii destinate managementului magistralei, precum şi comunicaţiei.
În Anexa 2 este prezentată arhitectura interfeţei GPIB şi semnalele de bază utilizate.
59
4.4. CANALE DMA. SISTEMUL DE ÎNTRERUPERI
60
Transferul de date este relativ lent datorită timpului consumat cu salvarea, setarea şi
refacerea informaţiilor din regiştri, utilizarea sistemului de întreruperi fiind nerecomandată pentru
aplicaţii la care frecvenţa de eşantionare este mai mare de 5 kHz.
Întreruperile hardware sunt gestionate de către un circuit de tipul 8259 (controller de
întreruperi). Plăcile de extensie au asignate anumite coduri care sunt recunoscute de către
controllerul de întrerupere şi de către microprocesor. Magistrala de întreruperi, adică traseul urmat
de semnalele de întrerupere de la şi către microprocesor, este dotată de regulă cu două controllere
de întreruperi înseriate care au fiecare opt intrări şi o ieşire, cel de-al doilea controller având intrarea
2 conectată la primul controller, prin această tehnică mărindu-se numărul de nivele de întreruperi ce
pot fi folosite. Corespunzător celor 16 intrări vor rezulta 16 nivele de întrerupere, dintre care multe
sunt deja rezervate unor periferice instalate (tastatură, harddisc etc.).
În ceea ce priveşte alegerea nivelelor de întrerupere folosite, trebuie alocate nivele diferite
pentru plăci diferite, pentru a nu intra în conflict diverse cereri simultane ale plăcilor de extensie,
adresate pentru acelaşi nivel de întrerupere.
Pentru sistemele vechi de tip XT şi AT de exemplu, există 8 nivele de priorităţi (IRQ0-
IRQ7), respectiv 16 nivele (IRQ0-IRQ15). Se pot folosi şi canale prealocate în afara celor libere,
atunci când nu folosim perifericul corespunzător acelui nivel (de exemplu IRQ5 – LPT 2). Modul în
care sunt asignate întreruperile în cazul unui sistem AT este prezentat în tabelul 4.2.
Observaţie: Circuitele 82C59A pot fi folosite pentru conectarea în cascadă astfel încât se
poate ajunge la 64 de nivele de întrerupere. Schema unei astfel de conectări este dată în Fig. 4.11.
DMA
Folosirea DMA conduce, după cum se cunoaşte, la creşterea vitezei sistemului prin
degrevarea microprocesorului de controlul transferurilor de date, accesul la memorie fiind efectuat
de placa de extensie. Când ne referim la DMA, ne referim de fapt la transferuri de date şi la
controlul acestora între memorie şi porturile I/O. Activitatea este supravegheată în cazul
transferurilor de tip DMA de către un circuit specializat numit controller DMA. Dacă o setare DMA
a fost realizată greşit, de exemplu acelaşi canal DMA a fost alocat pentru mai multe dispozitive,
placa nou conectată nu va funcţiona sau chiar va bloca sistemul. În funcţie de aplicaţie, se pot folosi
unul sau mai multe canale DMA.
61
8259A Slave
Disp. periferic 0 IRQ0
Disp. periferic 1 IRQ1
IRQ2 INT
IRQ3
IRQ4
IRQ5
IRQ6
Disp. periferic 7 IRQ7
8259A Slave
Disp. periferic 56 IRQ0
Disp. periferic 57 IRQ1
INT
IRQ2
IRQ3
IRQ4
IRQ5
IRQ6
Disp. periferic 63 IRQ7
Fig. 4.11. Utilizarea controllerelor de întreruperi 82C59A
62
Sistemul de operare DOS are capacitatea de a aloca unei aplicaţii un bloc compact de
memorie fizică. Acest lucru permite creşterea vitezei de transfer prin DMA datorită faptului că
paginile de memorie în care sunt transferate datele au lungime maximă (64 k), deci numărul de
reprogramări ale controllerului DMA de tip 8237 este minim. Dezavantajul acestui sistem de
operare este că memoria care poate fi alocată este limitată.
Sistemele de tip Windows folosesc memorie virtuală, care din punct de vedere al aplicaţiei
pare o memorie compactă, dar care în realitate este o colecţie de segmente mici de memorie fizică,
dispersate, cu adrese de start şi cu lungimi diferite. În timpul transferului DMA, controllerul 8237
trebuie reprogramat la începutul fiecărui segment nou care primeşte date, ceea ce conduce la
încetinirea vitezei de transfer.
În cazul folosirii unui controller de tip ASIC MITE, acesta implementează transferul scatter-
gather, care modifică tehnica de transfer: înainte de efectuarea transferului, controllerul este
programat cu adresele de început şi cu mărimile segmentelor de memorie fizică alocate aplicaţiei
respective, segmente care vor primi date. Această pre-programare elimină necesitatea de
reprogramare repetată a procesorului DMA, ceea ce conduce la creşterea vitezei de transfer.
63
CAP. 5. SISTEME DE ACHIZIŢIE ŞI CONDUCERE
64
Sarcina fundamentală a sistemelor de achiziţie şi conducere este măsurarea şi/sau generarea
semnalelor fizice din lumea reală. Diferenţa de bază între diversele opţiuni hardware de realizare a
SAC este metoda de comunicare între hardware-ul de achiziţie şi sistemul de calcul. Din acest punct
de vedere putem clasifica hardware-ul de achiziţie în două categorii principale:
hardware (plăci) de achiziţie de uz general
hardware de achiziţie special (instrumente sau aparate de măsurare speciale)
Echipamentele din prima categorie stau la baza sistemelor de achiziţie de tip instrument
virtual, iar cele din a doua categorie la baza sistemelor de achiziţie cu aparatură de măsură
programabilă şi a sistemelor de achiziţie dedicate.
1. Sisteme de achiziţie a datelor tip instrument virtual (VI – Virtual Instrument). Acest tip de
sistem este obţinut prin conectarea unei plăci de achiziţie la un calculator şi prin utilizarea unor
module exterioare de cuplare.
Plăcile de achiziţie asigură realizarea unor funcţii cum ar fi condiţionarea de semnal,
măsurarea numerică propriu-zisă, conectarea informaţională cu calculatorul. Calculatorul asigură la
rândul său funcţii cum ar fi interfaţarea cu placa de achiziţie, controlul achiziţiei datelor, stocarea
datelor, prelucrări complexe ale informaţiilor.
Plăcile de achiziţie folosite în cadrul sistemelor de achiziţie tip VI pot fi de mai multe tipuri,
care se pot însă încadra în două categorii principale: plăci de achiziţie universale şi plăci de achiziţie
complexe (dedicate).
Plăcile de achiziţie universale asigură prelucrări analogice minime, oferă ieşiri numerice şi
analogice pentru a putea fi folosite în conducerea proceselor (sistemul de achiziţie fiind în acest caz
de tip SAC) şi asigură funcţiile numerice minimale. Plăcile complexe rezolvă în plus cerinţe de
prelucrări speciale, cum ar fi analiza spectrală, regimuri tranzitorii, măsurări de precizie, achiziţii de
tip adaptiv care urmăresc viteza de variaţie a mărimilor analogice etc.
2. Sisteme de achiziţie cu aparatură de măsură programabilă. Aparatura de măsură utilizată
este din categoria multimetrelor, osciloscoapelor digitale, generatoarelor de funcţii, iar cuplarea la
procesul fizic care este măsurat este directă. Standardul de cuplare este de obicei de tip GPIB (IEEE
488). Aceste sisteme implementează de obicei regimuri de achiziţie de tip Data Logger şi uneori de
tip Transient Recorder.
3. Sisteme de achiziţie dedicate. Sunt sisteme de achiziţie configurate pentru procese
industriale complexe sau componente elementare ale unor sisteme distribuite de măsurare şi
monitorizare. De regulă, aceste sisteme de achiziţie sunt impuse de firmele puternice din domeniu
(National Instruments, Analog Devices Tektronix etc.), fiind conturată încadrarea acestor sisteme
dedicate în standardul VXI. VXI (VME eXtensions for Instrumentation) defineşte un protocol
standard de comunicaţie care utilizează comenzi ASCII pentru controlul instrumentelor de măsură,
asemănător cu GPIB.
65
furnizarea rezultatelor finale ale măsurătorilor, lăsând această operaţiune pe seama calculatorului,
mai precis software-ului din calculator. Avantajul unui hardware de achiziţie de uz general conectat
la un PC este că se pot realiza o serie de măsurători de tipuri diferite prin simpla schimbare a
modulelor aplicaţiei software care prelucrează datele, apărând astfel conceptul de instrumentaţie
virtuală. Astfel, în afara controlului, măsurării şi afişării datelor, o aplicaţie dezvoltată de utilizator
pentru un sistem de achiziţie de tip instrument virtual joacă şi rolul de firmware – adică rolul
software-ului built-in necesar pentru prelucrarea datelor şi furnizarea rezultatelor finale, firmware
care există totdeauna în interiorul unui instrument special de măsură.
Această mare flexibilitate oferită de un sistem de achiziţie de uz general necesită totuşi ca
utilizatorul să dezvolte o serie de aplicaţii software pentru fiecare tip de măsurătoare în parte. Pentru
a implementa cât mai rapid un astfel de sistem de achiziţie, există la dispoziţia utilizatorilor
software de aplicaţie cum ar fi LabVIEW, LabWindows, MATLAB/Simulink/DAQ etc.
Hardware-ul de achiziţie special este similar cu hardware-ul de uz general în ceea ce
priveşte modul de conversie a datelor, dar instrumentele speciale au capacităţi de măsurare
(achiziţie) specifice. Firmware-ul rezident în aceste echipamente, necesar pentru prelucrarea datelor
şi furnizarea rezultatelor măsurării, este de regulă de tip built-in şi nu poate fi modificat. De
exemplu, un multimetru numeric nu poate citi datele aşa cum o face un osciloscop numeric. Multe
dintre instrumentele speciale sunt de-sine-stătătoare (independente), altele sunt plasate în exteriorul
calculatorului dar sunt controlate şi monitorizate prin intermediul acestuia. Acestea din urmă au un
protocol specific care este folosit de către calculator pentru a putea comunica cu instrumentul
respectiv. Conexiunea cu calculatorul poate fi serială, Ethernet, GPIB, VXI. Există şi hardware de
achiziţie special care este plasat în interiorul calculatorului, ca în cazul echipamentelor de uz
general. Aceste instrumente speciale se numesc instrumente (aparate) de măsurare speciale bazate
pe calculator – computer-based instruments (sau instrumente de măsurare cu tehnică de calcul
asociată).
Înainte de a putea conecta un hardware de achiziţie de uz general la un semnal fizic, trebuie
utilizat un senzor sau un traductor pentru convertirea semnalului fizic respectiv într-un semnal
electric de tip tensiune sau curent. Deşi hardware-ul de achiziţie – placa plug-in – este considerat
deseori ca fiind întregul sistem de achiziţie, această placă de achiziţie este doar o componentă a
SAC. Spre deosebire de instrumentele de măsurare de-sine-stătătoare, de regulă nu putem conecta
direct semnalele la placa de achiziţie, ci trebuie utilizate dispozitive pentru condiţionarea
semnalelor, descrise în capitolele anterioare. În plus, trebuie utilizat un software adecvat care
controlează achiziţia şi generarea datelor, analizează, prelucrează şi prezintă datele.
În Fig. 5.1 sunt prezentate două configuraţii posibile pentru un sistem care utilizează
hardware de uz general. În prima configuraţie placa de achiziţie de uz general este plasată în
calculator, iar în cea de-a doua configuraţie echipamentul de achiziţie este extern. Dacă este
utilizată această configuraţie cu placă externă, se pot realiza sisteme de achiziţie cu calculatoare
care nu au disponibile sloturi, cum ar fi de exemplu laptop-urile. În acest caz, calculatorul şi
modulul extern de achiziţie comunică prin intermediul porturilor seriale sau paralele. Aceste tipuri
de sisteme sunt utilizate pentru aplicaţii de achiziţie şi conducere de la distanţă (telecomandă).
Observaţie: O a treia configuraţie posibilă este cea a laptop-urilor prevăzute cu magistrală
de tip PCMCIA, care permit plasarea unor plăci de achiziţie în laptop, modul de conectare fiind
similar cu prima configuraţie, permiţând obţinerea unor sisteme de achiziţie portabile şi compacte.
Un rol important în sistemele de achiziţie de uz general este jucat după cum am văzut de
software. Sofware-ul prelucrează datele brute astfel încât să poată fi utilizate şi înţelese. Software-ul
permite obţinerea de grafice, diagrame, rapoarte statistice etc. De asemenea, software-ul controlează
întregul sistem de achiziţie (timpii de achiziţie, precizarea canalelor de achiziţie etc.).
De regulă, software-ul de achiziţie include drivere şi software de aplicaţie. Driverele sunt
unice pentru un anumit echipament sau tip de echipament şi includ o serie de comenzi acceptate de
dispozitivul respectiv. Software-ul de aplicaţie trimite comenzi către drivere, cum ar fi de exemplu
startarea achiziţiei de date de la un termocuplu, afişarea şi analiza datelor achiziţionate. Funcţiile
software-ului de achiziţie vor fi analizate în paragrafele viitoare.
66
Fig. 5.1. Configuraţii ale sistemelor de achiziţie de uz general
67
5.1.3. Sisteme de achiziţie a datelor cu multiplexare temporală
Sistemele de achiziţie a datelor cu multiplexare temporală sunt cele mai răspândite şi se
bazează pe multiplexarea analogică a canalelor de intrări analogice. Semnalele analogice de pe cele
n canale de intrare sunt multiplexate la intrarea circuitului de eşantionare/memorare S/H (sample-
hold), care realizează o eşantionare secvenţială a canalelor de intrare. Structura unui astfel de sistem
este prezentată în Fig. 5.2.
Multiplexor
Intrarea 1 Ieşiri
paralele
Buffer
Circuit S/H CAN
EOC Ieşire
Intrarea n Comandă serială
START
S/H
Canale de intrări
Adresă
analogice Date
canale Unitate centrală cu
microprocesor
Fig. 5.2. Structura circuitelor de intrări analogice ale unui sistem cu multiplexare temporală
Multiplexorul analogic are rolul fundamental de a permite utilizarea unui singur CAN pentru
cele n canale analogice. Multiplexorul conţine n comutatoare electronice, ale căror ieşiri sunt
conectate împreună, furnizând ieşirea multiplexorului. Comanda de închidere sau de deschidere a
comutatoarelor se face prin k intrări de selecţie, unde n = 2 k .
Atunci când sunt necesare mai multe canale de intrări analogice se pot utiliza mai multe
multiplexoare într-o structură de tip arborescent. Un exemplu este în acest sens conectarea la o
placă de achiziţie de tip AT-MIO (National Instruments) a unei plăci multiplexoare de intrări
analogice AMUX-64T pentru extinderea intrărilor de la 16 la 64 de canale single-ended (32
diferenţiale).
Unitatea centrală din Fig. 5.2 trebuie să asigure semnalul de comandă al circuitului S/H,
semnalul de iniţiere a conversiei (START) pentru CAN şi semnalele de selecţie pentru
multiplexorul analogic. Unitatea centrală a acestei structuri poate să nu fie proprie sistemului de
achiziţie, ci să aparţină sistemului de calcul cu care este interfaţată placa de achiziţie.
O astfel de structură asigură un timp de achiziţie t ach pentru un canal compus din timpul de
eşantionare/memorare t S / H , timpul necesar operaţiunii de multiplexare t Mux , timpul de conversie
t C şi din timpul necesar memorării rezultatelor conversiei (necesar citirii datelor de la CAN şi
scrierii în buffer) t mem :
68
5.1.4. Sisteme de achiziţie sincronă a datelor
Sistemele de achiziţie sincronă sunt caracterizate de amplasarea pe fiecare canal de intrare
analogică a câte unui circuit sample-hold, înainte de multiplexorul analogic (Fig. 5.3).
Canale de intrări
analogice Multiplexor
Intrarea 1 Circuit S/H Ieşiri
paralele
Intrarea 2 Circuit S/H
Buffer
CAN
EOC Ieşire
Intrarea n Circuit S/H serială
START
Adresă
Comandă canale Date
Unitate centrală cu
S/H
microprocesor
Fig. 5.3. Structura circuitelor de intrări analogice ale unui sistem de achiziţie sincronă
Comanda pentru trecerea în starea de memorare este dată simultan pentru toate circuitele
S/H (simultaneous sample and hold – SS/H), iar ieşirile acestora sunt multiplexate la intrarea în
CAN.
Pentru o astfel de structură sunt necesare performanţe foarte bune ale circuitelor S/H în ceea
ce priveşte viteza de alterare a tensiunii memorate. În această configuraţie, perioada de eşantionare
va fi dată de relaţia:
Te = t S / H + n ⋅ (t Mux + t C + t mem ) (5.4)
Din relaţia (5.4) se observă că perioada de eşantionare este mai mică decât la structura cu
multiplexare temporală, deşi aceasta rămâne în continuare dependentă de numărul de canale de
intrare.
Timpul t Mux din relaţia (5.5) este corespunzător multiplexorului numeric şi este mult redus
faţă de cazul unui multiplexor analogic.
69
Canale de intrări START EOC
analogice
Intrarea 1
Circuit S/H CAN Buffer
Comandă S/H
Intrarea 2 Circuit S/H Buffer
CAN Multiplexor
Comandă S/H
numeric
START EOC
Intrarea n
Circuit S/H CAN Buffer
Comandă S/H
START EOC
Adrese
Comenzi S/H canale
Unitate centrală cu
Comenzi de START conversie microprocesor
Fig. 5.4. Structura circuitelor de intrări analogice ale unui sistem rapid de achiziţie a datelor
5.1.6. Structura generală a unui sistem de achiziţie şi conducere de tip instrument virtual
În continuare ne vom referi la sistemele de achiziţie de tip instrument virtual (VI). Sistemul
de achiziţie şi conducere poate fi gândit ca un ansamblu software şi hardware care permite
conectarea la lumea fizică reală. Un sistem de achiziţie şi conducere tipic conţine următoarele
componente:
• Hardware-ul de achiziţie de date (placa de achiziţie). Constituie nucleul sistemului de
achiziţie şi principalele funcţii sunt cele de conversie analog-numerică şi de conversie
numeric-analogică.
• Traductoarele (senzorii) şi elementele de execuţie.
• Hardware-ul de condiţionare a semnalelor.
• Calculatorul (PC). Calculatorul furnizează procesorul, ceasul sistemului, magistralele de
transfer al datelor, memorie şi spaţiu pentru stocarea datelor.
• Software. Software-ul de achiziţie permite realizarea schimbului de informaţii între
computer şi placa de achiziţie.
Componentele sistemului de achiziţie şi conducere, precum şi relaţiile de interconectare sunt
prezentate în schema generală din Fig. 5.5
Placa de achiziţie este o placă de extensie care poate fi conectată intern prin instalarea
directă într-un slot de extensie al calculatorului sau poate fi externă, caz în care este conectată la
calculator printr-un cablu extern. Placa de achiziţie este caracterizată (a se vedea capitolul de
interfeţe de proces) prin subsisteme specializate (sistemul intrărilor analogice, sistemul intrărilor
numerice, sistemul ieşirilor analogice, sistemul ieşirilor numerice, sistemul de
numărare/temporizare). Pe placa de achiziţie se află CAN-urile şi CNA-urile necesare diverselor
conversii.
70
Fenomen
(proces) fizic
Traductoare Condiţionare
(Senzori) de semnal
Hardware
(placa de Software de
Calculator
achiziţie) achiziţie
Elemente de Condiţionare
execuţie de semnal
Analiza
datelor
Fenomen
(proces) fizic
71
Utilizator
72
Magistrala sistemului (ISA, PCI, …)
Interfaţă cu
MUX PGA CAN FIFO
magistrala
Conector I/O analogic, numeric
Magistrală internă
Bloc de
comandă
Ieşiri/intrări
numerice
CNA
73
5.2. INTRĂRI ANALOGICE
O dată încadrat semnalul analogic în una din categoriile de mai sus, pentru a putea realiza
achiziţia de date trebuie definite suplimentar câteva caracteristici ale semnalului, cum ar fi modul de
raportare a semnalului la masă sau viteza de variaţie în timp.
Un semnal de tip c.c. poate fi considerat un semnal lent variabil în timp, care poate fi
măsurat prin achiziţia unui singur punct. Totuşi, dacă peste semnalul de tip c.c. este suprapus un
zgomot (care poate fi rapid variabil în timp), trebuie luate anumite măsuri de precauţie pentru ca
rezultatul achiziţiei să nu fie viciat. În cazul semnalelor rapid variabile în timp sau al celor din
domeniul frecvenţă, se foloseşte achiziţia mai multor puncte cu o frecvenţă de eşantionare (rată de
scanare sau de citire) mare. Frecvenţa de eşantionare determină cât de des este realizată conversia
analog-numerică. Cu cât această frecvenţă de citire este mai mare, cu atât este posibilă achiziţia mai
multor puncte (eşantioane) într-un interval de timp dat şi prin urmare se obţine o mai bună
reprezentare a semnalului original. Conform teoremei lui Nyquist, frecvenţa de eşantionare trebuie
să fie de cel puţin două ori mai mare decât frecvenţa maximă a componentelor semnalului care este
eşantionat, dar practic trebuie aleasă o frecvenţă de eşantionare mult mai mare (frecvenţa Nyquist
este suficientă pentru păstrarea informaţiei frecvenţiale despre semnalul original, dar este
insuficientă pentru reconstituirea cu precizie a formei semnalului original în domeniul timp).
Sursele de semnal analogic sunt de două tipuri: raportate (referite) sau ne-raportate la masă,
denumite şi surse flotante.
Surse de semnal flotante (floating signal source)
O sursă de semnal flotantă este o sursă care nu este conectată la sistemul de împământare
sau de masă al clădirii (sursa flotantă poate avea însă un punct de masă izolat) – Fig. 5.9.
Sursele flotante sunt fie surse de tip autonom, care nu sunt raportate la masă sau pământ, fie
surse cu izolare care sunt caracterizate de existenţa unei izolări galvanice între punctele de măsurare
şi reţea (deci izolate faţă de împământarea sau masa reţelei).
74
Exemple reprezentative de surse autonome sunt traductoarele generatoare (care nu sunt
împământate): termocupluri, traductoare electrochimice, piezoelectrice etc. şi sursele cu alimentare
autonomă (de tip baterie, nealimentate din reţea).
Exemple de surse cu izolare tipice sunt transformatoarele de tensiune, generatoarele de
semnal cu alimentare de la reţea prin transformator şi sursă de alimentare etc.
Masa de referinţă a unui semnal flotant trebuie să fie legată la intrarea analogică de masă a
plăcii de achiziţie, pentru a stabili o referinţă pe placă pentru semnal. În caz contrar, semnalul de
intrare măsurat apare ca flotant (variază).
Surse de semnal raportate la masă (ground-referenced signal source)
O sursă de semnal raportată la masă (cu referinţa la masă) este o sursă conectată într-un fel
la sistemul de masă sau împământare al clădirii şi este prin urmare conectată deja la un punct
comun de masă în raport cu placa de achiziţie, presupunând că sistemul de calcul este alimentat de
la acelaşi sistem de alimentare (Fig. 5.10).
Sursele de semnal raportate la masă pot fi clasificate la rândul lor în surse diferenţiale şi
surse asimetrice.
Sursele diferenţiale furnizează un semnal de tip tensiune prin diferenţa tensiunilor de ieşire
ale unor surse echivalente, care, raportate la masă sau împământare, controlează potenţialele
punctelor de măsurare. Exemple tipice sunt punţile tensometrice şi schemele de măsurare a
curentului unor consumatori alimentaţi în c.c.
Sursele asimetrice (single-ended) au unul din punctele de măsurare conectat la masă sau la
împământare. Surse asimetrice sunt de exemplu consumatorii industriali pentru care se măsoară
tensiunea la borne şi termocuplurile cu împământare (prin obiectul a cărui temperatură se măsoară).
Prin urmare, în categoria semnalelor provenite de la sursele raportate la masă intră ieşirile
neizolate ale instrumentelor şi dispozitivelor care sunt alimentate de la reţeaua clădirii, aceeaşi cu
cea care alimentează sistemul calculator-placă.
Diferenţa de potenţial între punctele de masă a două instrumente conectate la aceeaşi reţea
este tipic între 1mV şi 100mV, dar poate fi mult mai mare dacă circuitele de distribuire a puterii nu
sunt realizate corect. Dacă semnalul provenit de la sursa raportată la masă este măsurat incorect,
această diferenţă între punctele de masă apare ca o eroare de măsurare. Pentru a evita apariţia
erorilor, trebuie eliminate diferenţele de potenţial de masă, prin respectarea instrucţiunilor de
conectare.
76
Tabelul 5.2. Configuraţii de intrare recomandate
Tipul semnalului Configuraţie de intrare
(sursei de semnal) recomandată
Raportat la masă (ieşiri DIFF
neizolate, instrumente puse în NRSE
aceeaşi priză)
Flotant (baterii, termocupluri, DIFF cu punte de rezistoare
ieşiri izolate) RSE
77
amplificatorului de instrumentaţie. Un sistem de măsurare diferenţial ideal măsoară doar diferenţa
de potenţial dintre intrarea pozitivă şi cea negativă. Orice tensiune prezentă la intrarea
amplificatorului de instrumentaţie în raport cu masa este numită tensiune de mod comun, iar
sistemul diferenţial ideal rejectează complet (nu măsoară) această tensiune de mod comun – a se
vedea Fig. 5.12.
Fig. 5.12.
Configuraţia NRSE – intrare asimetrică fără referinţă – este folosită pentru surse de semnal
raportate la masă (grounded-referenced signal sources); în acest caz, semnalul extern are propriul
punct de masă de referinţă. În Fig. 5.14 este prezentată o configuraţie de intrare de tip NRSE, în
care AISENSE este referinţa comună pentru măsurători, iar AIGND este masa sistemului. Toate
semnalele de intrare (provenind de la surse de semnal raportate la masă) au aceeaşi referinţă
comună AISENSE.
78
Fig. 5.14. Configuraţie de intrare NRSE (16 canale)
79
În cadrul modului pretrigger datele sunt achiziţionate continuu, înainte şi după primirea
unui semnal trigger. Datele sunt colectate într-un buffer precizat de utilizator până când placa
recepţionează semnalul trigger. După aceasta, sistemul de achiziţie va mai colecta un număr
specificat de eşantioane după care stopează achiziţia. Bufferul este tratat ca un buffer circular, adică
după ce întregul buffer este completat, datele sunt stocate de la început prin suprascrierea datelor
vechi. La terminarea achiziţiei, bufferul conţine eşantioane dinaintea şi după apariţia semnalului
trigger. Numărul de eşantioane salvate în buffer depinde de lungimea acestuia (specificată de
utilizator) şi de numărul specificat de eşantioane de achiziţionat după apariţia semnalului trigger.
Pe lângă aceste variante principale, în funcţie de firmele producătoare de sisteme de
achiziţie s-au dezvoltat tehnici de achiziţie care derivă din acestea, un exemplu fiind modul de
achiziţie de tip double-buffered, dezvoltat de National Instruments, care utilizează o tehnică
asemănătoare cu modul pretrigger, completând bufferul specificat de utilizator în mod continuu.
Spre deosebire de modul pretrigger, aici se apelează la un al doilea buffer, care preia datele vechi
din primul buffer, înainte ca acestea să fie suprascrise.
Din punct de vedere al numărului de eşantioane achiziţionat de către sistemul de achiziţie
pentru o anumită aplicaţie, putem avea achiziţii mono-punct (single-point) şi achiziţii de puncte
multiple (multi-point).
De exemplu, o achiziţie a unui singur eşantion, pe un singur canal (single-channel single-
point) este o operaţie de achiziţie foarte simplă, care nu utilizează buffere. Software-ul de achiziţie
citeşte o singură valoare (un singur eşantion) de la un canal de intrare şi furnizează imediat
sistemului acea valoare. Un exemplu de astfel de achiziţie este monitorizarea periodică a nivelului
unui lichid dintr-un rezervor. Traductorul, care converteşte nivelul într-o tensiune, este conectat
(eventual printr-un circuit de condiţionare a semnalului) la unul dintre canalele de intrare analogică
ale plăcii de achiziţie şi se iniţiază o achiziţie mono-canal mono-punct atunci când se doreşte
cunoaşterea nivelului din rezervor.
Dacă sunt necesare informaţii mono-punct de la mai multe surse (de exemplu se doreşte şi
cunoaşterea temperaturii lichidului din rezervor) se realizează o achiziţie mono-punct dar multi-
canal (multiple-channel, single-point). Software-ul de achiziţie va executa o citire a tuturor
canalelor de intrare specificate şi va furniza câte un eşantion de pe fiecare canal utilizat.
Observaţie: Achiziţia de date se poate realiza sub control software, şi atunci tactul necesar
controlului vitezei de achiziţie este furnizat de către ceasul sistemului de calcul (în acest caz
controlul fiind afectat de posibile întreruperi), sau atunci când este necesară o mai mare precizie,
achiziţia se realizează sub controlul ceasului de pe hardware-ul de achiziţie.
Achiziţiile multiple de date (multi-point) pe un singur canal sau multi-canal se pot realiza fie
prin utilizarea unei structuri software repetitive (de tip buclă) a unei achiziţii single-point, deci fără
utilizarea unui buffer, care este însă o metodă consumatoare de timp şi ineficientă, sau prin
utilizarea metodelor cu bufferare (single-buffer sau double-buffer). Achiziţiile multi-punct
reprezintă de fapt achiziţionarea datelor ca forme de undă (waveforms) – semnale variabile în timp.
80
transferul datelor, bufferul poate fi actualizat cu date noi. Operaţiile single-buffer sunt simplu de
implementat, au avantajul utilizării optime a vitezei hardware-ului de achiziţie şi sunt utile pentru o
gamă largă de aplicaţii. Dezavantajul acestor tehnici este legat de limitarea cantităţii de date care
poate fi transferate în funcţie de limita de memorie disponibilă.
La operaţiile de achiziţie de tip double-buffer, memoria tampon este configurată ca un buffer
circular. Placa de achiziţie completează bufferul circular cu date, iar atunci când bufferul este
complet, placa se întoarce la începutul bufferului şi îl completează din nou cu date. Acest proces
continuă până la întreruperea de către o eroare hardware sau până când este oprit de către software.
Operaţiile de generare a datelor de tip double-buffer se desfăşoară asemănător, fiind utilizat tot un
buffer circular. Spre deosebire de operaţiile single-buffer, tehnicile de tip double-buffer reutilizează
acelaşi buffer şi este posibilă achiziţia sau generarea unui număr teoretic infinit de eşantioane, fără a
avea o memorie de capacitate infinită. Pentru ca această metodă să fie eficientă, trebuie să existe
mijloace corespunzătoare de acces la date pentru actualizarea, stocarea şi procesarea acestora.
Operaţii de achiziţie tip double-buffer
Bufferul necesar pentru achiziţia de date este configurat după cum s-a afirmat ca un buffer
circular. Driverul de achiziţie împarte bufferul în două jumătăţi, permiţând coordonarea accesului la
datele din buffer. Schema de coordonare a accesului este simplă, driverul copiind datele din bufferul
circular în mod secvenţial, întâi prima jumătate, apoi cea de-a doua, într-un buffer suplimentar, de
transfer. Datele din bufferul de transfer pot fi procesate sau stocate atunci când utilizatorul decide
acest lucru. Tehnica de achiziţie este ilustrată în Fig. 5.15.
Operaţia de achiziţie începe atunci când hardware-ul de achiziţie începe să scrie date în
prima jumătate a bufferului circular (Fig. 5.15.a). După ce placa începe să scrie în cea de-a doua
jumătate a bufferului, driverul de achiziţie copiază datele din prima jumătate în bufferul de transfer
(Fig. 5.15.b). Datele din bufferul de transfer pot fi acum stocate pe harddisc sau procesate în funcţie
de aplicaţie. După ce a doua jumătate a bufferului circular a fost completată, hardware-ul de
achiziţie se întoarce la începutul bufferului şi începe să suprascrie date noi peste cele existente.
Acum driverul de achiziţie poate să copieze cea de-a doua jumătate a bufferului circular în bufferul
de transfer (Fig. 5.15.c). Datele din bufferul de transfer vor fi din nou disponibile pentru aplicaţia
concretă care se desfăşoară. Procesul poate fi repetat fără întrerupere pentru producerea unui flux
continuu de date pentru aplicaţia respectivă (Fig. 5.15.d este echivalentă cu Fig. 5.15.b).
81
Tehnica de achiziţie descrisă mai sus poate fi afectată de două tipuri de probleme. Prima
constă în posibilitatea ca hardware-ul de achiziţie să suprascrie datele înainte ca driverul să le
copieze în bufferul de transfer – Fig. 5.16.
Din Fig. 5.16 se observă că placa de achiziţie va suprascrie datele din prima jumătate a
bufferului circular înainte ca driverul să le copieze în bufferul de transfer (Fig. 5.16.a-b-c). În
această situaţie, driverul de achiziţie va trebui să aştepte până când placa va termina suprascrierea
datelor în prima jumătate înainte de a copia datele în bufferul de transfer. Atunci când placa începe
să scrie în a doua jumătate, driverul va face transferul respectiv (Fig. 5.16.d). Driverul va trimite un
mesaj avertizare de tip „suprascriere înainte de copiere”. Acest mesaj avertizează că datele din
bufferul de transfer sunt valide, dar o parte din datele de intrare anterioare au fost pierdute.
A doua problemă poate apare atunci când hardware-ul de achiziţie suprascrie datele în
acelaşi timp în care driverul de achiziţie le transferă în bufferul de transfer – Fig. 5.17.
Operaţia de generare începe prin transferul către ieşire al datelor din prima jumătate a
bufferului circular (Fig. 5.18.a). După ce hardware-ul de achiziţie prin circuitele de ieşire începe
transferul către ieşire al datelor din cea de-a doua jumătate a bufferului circular, driverul poate copia
datele din bufferul de transfer în prima jumătate a bufferului circular (Fig. 5.18.b). Aplicaţia curentă
poate după aceasta să actualizeze datele din bufferul de transfer. După ce circuitele de ieşire
transferă datele din a doua jumătate a bufferului circular, se reia transferul spre exterior al datelor
actualizate din prima jumătate. Driverul poate acum copia datele din bufferul de transfer în a doua
jumătate a bufferului circular (Fig. 5.18.c). Procesul se repetă fără întrerupere şi generează un flux
continuu de date (Fig. 5.18.d este echivalentă cu Fig. 5.18.b).
Ca şi în cazul achiziţiei dublu bufferate, pot apare două probleme. Prima constă în
posibilitatea ca hardware-ul să transfere din nou către ieşire aceleaşi date, din cauză că driverul nu a
reuşit actualizarea la timp a bufferului circular cu date din bufferul de transfer – Fig. 5.19.
Din Fig. 5.19 se observă că driverul nu a copiat la timp datele din bufferul de transfer în
prima jumătate a bufferului circular şi prin urmare placa începe să transfere către ieşire aceleaşi date
ale primei jumătăţi a bufferului circular. Pentru a garanta transferul unor date valide, driverul
aşteaptă până când se termină acest transfer din prima jumătate, Atunci când placa transferă datele
din cea de-a doua jumătate, driverul realizează copierea datelor din bufferul de transfer în prima
jumătate a bufferului circular (Fig. 5.19.d). Într-o astfel de situaţie, driverul de achiziţie va transmite
un mesaj de avertizare de tip „suprascriere înainte de copiere”, pentru a indica faptul că placa a
transferat către ieşire vechile date, fără a exista însă date corupte.
83
Fig. 5.19. Transferul la ieşire al datelor prin double-buffering – suprascriere înainte de copiere
Cea de-a doua problemă se referă la situaţia când placa transferă date către ieşire simultan
cu suprascrierea de date de către driver din bufferul de transfer în aceeaşi jumătate a bufferului
circular – Fig. 5.20.
Din Fig. 5.20.b se observă că driverul de achiziţie începe să transfere date din bufferul de
transfer în prima jumătate a bufferului circular, dar nu reuşeşte să transfere toate datele înainte ca
hardware-ul să înceapă transferul datelor din această primă jumătate spre exterior (Fig. 5.20.c). În
consecinţă, placa poate transfera spre exterior date corupte, alcătuite atât din datele vechi cât şi din
cele noi. Driverul va transmite un mesaj de tip „eroare suprascriere”.
Observaţie: În toate cazurile prezentate, dacă respectivele probleme nu mai apar,
transferurile de date se vor desfăşura în continuare în mod normal.
84
În concluzie metoda de tip double-buffer este o tehnică de achiziţie care permite achiziţia
sau generarea continuă a unei cantităţi foarte mari de date în condiţiile existenţei unei memorii
fizice limitate. Cu toate avantajele sale, metoda este dificil de utilizat atunci când este necesară o
viteză foarte mare de achiziţie sau de generare a datelor. Mai precis, prelucrările de date specifice
operaţiilor de tip double-buffer trebuie realizate cu o viteză cel puţin la fel de mare ca viteza de
scriere sau de citire a datelor de către hardware-ul de achiziţie. Această viteză de procesare a datelor
depinde de sistemul de calcul şi de eficienţa software-ului.
Triggerarea hardware
Sincronizarea hardware permite setarea momentului de start al achiziţiei şi colectarea
datelor de la un anumit moment de timp în raport cu apariţia unui semnal trigger. Există două tipuri
de triggerare hardware: numerică şi analogică.
Triggerarea numerică
Un trigger numeric este de regulă un semnal de tip TTL cu două nivele discrete: nivel înalt
şi nivel jos. Atunci când semnalul trece din nivel înalt în nivel jos apare un front coborâtor
(descrescător sau descendent), iar când trecerea este inversă un front crescător (ascendent).
Achiziţia analogică poate fi startată la apariţia unui front crescător sau descrescător al semnalului
trigger. De exemplu, în Fig. 5.21 achiziţia este startată pe frontul coborâtor al unui semnal trigger
numeric.
Semnal TTL conectat la pini de tip STARTRIG sau EXTTRIG ai
conectorului I/O al plăcii de achiziţie
Front descrescător
În Fig. 5.22 este prezentată o diagramă a modului de achiziţie posttrigger cu utilizarea unui
semnal trigger numeric. În acest exemplu, un dispozitiv extern trimite un trigger hardware-ului de
achiziţie. Imediat după primirea semnalului şi după îndeplinirea condiţiilor de triggerare (de
exemplu apariţia frontului coborâtor al semnalului), placa de achiziţie începe colectarea datelor.
Triggerarea analogică
Semnalul analogic de tip trigger se conectează pe unul din canalele de intrări analogice ale
plăcii de achiziţie. Placa monitorizează canalul semnalului trigger şi aşteaptă îndeplinirea condiţiilor
de triggerare. Placa poate fi configurată să aştepte îndeplinirea unei condiţii pentru semnalul trigger,
cum ar fi de exemplu un anumit nivel al semnalului. După identificarea condiţiei respective care
85
trebuie îndeplinită de către triggerul analogic, placa startează achiziţia. Pentru exemplificare, în Fig.
5.23, un trigger analogic este setat să starteze achiziţia de date pe panta crescătoare a semnalului,
atunci când semnalul atinge valoarea 18 (semnalul trigger analogic poate fi de exemplu o
temperatură, convertită bineînţeles într-o tensiune, dar condiţia de triggerare poate fi exprimată prin
soft şi în unităţi de temperatură).
Date analogice
Dispozitiv Hardware
extern de achiziţie
18
În Fig. 5.24 este prezentată diagrama pentru o achiziţie posttrigger cu un semnal trigger
analogic, similară cu diagrama din Fig. 5.22, corespunzătoare triggerului numeric.
Date analogice
Dispozitiv Hardware
extern de achiziţie
86
Triggerarea software
Triggerarea software presupune simularea unui trigger hardware prin utilizarea unei rutine
software. Această formă de declanşare a achiziţiei este folosită în situaţiile în care nu sunt
disponibile semnale trigger hardware.
Hardware-ul de achiziţie este setat să colecteze date, dar nu le returnează decât atunci când
datele respective îndeplinesc condiţiile de recuperare (conditional retrieval - triggerul software).
Software-ul de achiziţie scanează datele şi realizează o comparaţie a acestora cu condiţiile de
triggerare, dar nu stochează datele decât atunci când acestea îndeplinesc specificaţiile cerute.
În Fig. 5.25 este prezentată o diagramă a evenimentelor care apar în cazul unei triggerări
software. Pointerul de poziţionare citire/căutare parcurge bufferul până când găseşte locaţia la care
datele îndeplinesc condiţiile de triggerare. Offsetul indică locaţia de la care software-ul începe
citirea datelor în raport cu poziţia de citire/căutare. Un offset negativ indică necesitatea unei
achiziţii de tip pretrigger (achiziţie înainte de îndeplinirea condiţiilor de triggerare), iar dacă este
pozitiv o achiziţie de tip posttrigger (achiziţie după îndeplinirea condiţiilor de triggerare).
87
5.3.4. Controlul vitezei de achiziţie a datelor
Hardware-ul de achiziţie utilizează de regulă numărătoarele interne (de pe placă) pentru a
controla viteza (frecvenţa) de achiziţie a datelor. În anumite aplicaţii, atunci când este necesară
achiziţia datelor cu o viteză care depinde de anumite semnale din exterior (de exemplu frecvenţa
unui semnal extern), controlul vitezei de achiziţie se realizează cu o sursă exterioară.
Pentru a înţelege modul în care este controlată viteza de achiziţie a datelor, este necesară
definirea unor termeni.
Prin citire sau scanare (scan) se înţelege o singură citire a fiecărui canal de intrare din lista
de canale specificată de utilizator (care poate cuprinde o parte sau toate canalele de intrare
analogică ale plăcii, fiecare canal având setată o anumită amplificare). Se poate spune că o scanare
reprezintă achiziţia a câte unui eşantion (punct) de la fiecare canal din listă. Prin urmare, numărul de
scanări ne spune câte achiziţii sau citiri se efectuează pentru fiecare canal din lista specificată.
Viteza de scanare, denumită şi frecvenţă sau rată de citire (scan rate), determină de câte ori
pe secundă sunt achiziţionate date de la canalele de intrare. De exemplu, scanarea canalelor de
intrare cu o rată de 10 scanări pe secundă semnifică faptul că sunt luate 10 eşantioane la fiecare
secundă de la toate canalele de intrare din lista specificată. Modul de citire este următorul: întâi se
achiziţionează primul eşantion de la primul canal, apoi primul eşantion de la cel de-al doilea canal
etc., după parcurgerea canalelor din listă se trece la cel de-al doilea eşantion de la primul canal etc.
Cu alte cuvinte, rata de scanare reprezintă numărul de scanări pe secundă, iar inversul acestei rate
este intervalul de scanare sau de citire (care este de 0.1 secunde pentru exemplul anterior). Un
semnal de tact (intern - de pe placă - sau extern), numit tact sau ceas de scanare (scan clock) fixează
mărimea ratei de scanare, care controlează intervalul de scanare. Intervalul de timp între achiziţiile
de la două canale consecutive poartă numele de interval sau perioadă inter-canal (channel interval
sau channel skew), inversa acestui interval fiind rata inter-canal. Trecerea de la un canal la altul în
cadrul unei scanări se face prin urmare într-un interval de timp mai mic decât intervalul de scanare,
iar semnalul de ceas care guvernează trecerea de la un canal la altul poartă numele de tact de canal
(channel clock). În Fig. 5.26 este prezentată relaţia dintre intervalul de scanare şi intervalul inter-
canal pentru o achiziţie multi-canal cu 4 canale de intrare în lista de achiziţie (din cele 8 canale ale
plăcii, de exemplu).
Unele dintre echipamentele de achiziţie dispun atât de semnal de ceas de scanare cât şi de
ceas de canal (Fig. 5.27), în timp ce alte echipamente utilizează doar semnalul de ceas de canal (Fig.
5.28), în acest caz fiind vorba de o scanare repetitivă la intervale egale, numită scanare round-robin.
Trebuie precizat că în cazul echipamentelor de achiziţie cu ambele semnale de ceas, micşorarea
ratei de scanare nu duce şi la modificarea ratei inter-canal.
Canale de intrare
analogică
Canalul 3
Canalul 2
Canalul 1
Canalul 0
Interval de scanare
(echivalentul perioadei de eşantionare Interval inter-canal
pentru semnalul de pe canalul 0) Timp
88
Canal
Canal
Interval inter-canal
Fig. 5.28. Scanarea de tip round-robin (echipamente cu channel clock)
Canalul 3
Canalul 2
Canalul 1
Canalul 0
Interval de scanare
(echivalentul perioadei de eşantionare) Timp
89
5.4. IEŞIRI ANALOGICE
90
Hardware-ul de achiziţie utilizează numărătoarele interne pentru controlul frecvenţei de
actualizare (update rate) a datelor analogice la ieşire. În anumite situaţii, când generarea datelor
depinde de starea unui dispozitiv extern, este necesară o sursă externă pentru controlul frecvenţei de
actualizare (generare). Ca şi în cazul controlului frecvenţei de achiziţie, există un semnal de tact
numit semnal de ceas de actualizare (update clock). Acest semnal de tact controlează frecvenţa de
actualizare, adică frecvenţa cu care se realizează conversiile numeric-analogice. Pentru controlul
extern al acestei frecvenţe, trebuie furnizat un astfel de semnal de tact de tip TTL din exterior, pe
unul din pinii conectorului I/O al plăcii de achiziţie.
Observaţie: Sistemele de achiziţie şi conducere operează în cazul unor aplicaţii cu achiziţia
şi generarea simultană multi-punct (Simultaneous Buffered Waveform Acquisition and Generation)
pe aceeaşi platformă hardware. Achiziţia şi generarea simultană a formelor de undă se realizează
prin utilizarea de semnale de trigger software sau hardware (a se vedea subcapitolul precedent).
Linii de ieşire
Port de ieşire
Registru
Port de intrare
Registru
91
hardware-ul de achiziţie şi diverse instrumente. De exemplu, dacă se doreşte achiziţionarea unei
imagini de la un scanner, etapele parcurse sunt următoarele:
1. Scannerul trimite un impuls către hardware-ul de achiziţie după ce imaginea a fost scanată şi
este gata să transfere datele.
2. Hardware-ul de achiziţie citeşte liniile numerice (8, 16, 32 de biţi …).
3. Hardware-ul de achiziţie trimite un semnal la scanner pentru a-l înştiinţa că liniile numerice
au fost citite.
4. Scannerul trimite un alt semnal (impuls) imediat ce este gata să trimită alte date pe liniile
numerice.
5. După ce hardware-ul de achiziţie recepţionează semnalul de la scanner, citeşte datele.
6. Procesul se repetă până când toate datele au fost transferate.
92
5.6. EXEMPLE DE PLĂCI DE ACHIZIŢIE
Fig. 5.32.
93
Fig. 5.33.
ARTAN permite observarea comportamentului unui tip de regulator într-un proces dat,
observarea efectului saturaţiei mărimii de comandă, schimbarea parametrilor legii de reglare, a
tipului regulatorului, aprecierea stabilităţii sale, a robusteţei la dezacordarea regulatorului faţă de
proces. Sistemul ARTAN este prevăzut şi cu facilitatea de ‘reglare manuală‘, deoarece se poate
’deschide’ bucla şi se poate simula sau se poate obţine în cazul conducerii reale răspunsul
procesului la comenzile date manual de operator. Posibilităţile de utilizare b). şi c). arată că sistemul
PC + ARTAN permite prin intermediul intrărilor/ieşirilor analogice conectarea la lumea reală.
Structuri hardware
Sistemul ARTAN constă după cum am precizat dintr-o placă de achiziţie hard care se
introduce într-un calculator IBM PC, şi un software aferent. ARTAN acceptă mai multe configuraţii
care sunt definite prin intermediul unui program de instalare (INSTAL).
Aceste opţiuni sunt:
1). Coprocesorul matematic - poate fi instalat sau nu în calculator. Dacă este instalat,
perioada minimă de eşantionare în timp real este de 25 ms, dacă nu, este de 200 ms.
2). Placa video (grafică) monocromă sau color.
ARTAN funcţionează cu una din următoarele plăci:
- IBM CGA 640x200 color;
- IBM EGA 640x350 color;
- IBM VGA 640x480 color;
- HERCULES 720x350 monocrom; etc.
Firma constructoare pune la dispoziţia utilizatorului următoarele versiuni ARTAN:
- o placă pentru ARTAN-PC;
- o placă ce conţine în plus intrări/ieşiri analogice pentru ARTAN-PC+
Conectarea intrărilor / ieşirilor analogice (versiunea PC+) se face conform configuraţiilor
prezentate în tabelele următoare:
CONFIGURAŢII POSIBILE
Model X X X X
Proces real X X X
Perturbaţie internă X X X X
Perturbaţie externă X X X
Comandă internă X X X X
Comandă externă X X X
CONEXIUNI
Intrare analogică - 0 V P P Y Y Y
Intrare analogică - 1 U U U P
Ieşire analogică - 0 U P U U U
Ieşire analogică - 1 Y Y Y Y P P
94
Pentru punerea în funcţiune a ARTAN, trebuie în primul rând realizată configurarea
sistemului. Configurarea se face o singură dată şi ea va fi salvată în fişierul INSTAL.DAT. Pentru
definirea acestei configuraţii trebuie executat fişierul INSTAL.EXE şi urmate indicaţiile din meniu.
Adresele funcţiilor de tact şi intrărilor/ieşirilor analogice sunt implicit 768 conform configuraţiei
‘industriale’ (de fabricaţie).
Programul executabil propriu-zis este lansat de fişierul de comandă ARTAN.EXE. Valorile
numerice implicite sunt în fişierul INIT.DAT, dar acest fişier nu poate fi manipulat direct de
operator.
Configurarea plăcii de tact este necesară pentru o bună funcţionare a programului ARTAN.
Placa de tact trebuie implantată într-un slot din PC; ea este configurată să funcţioneze începând cu
adresa 300H (768 în zecimal) până la 317H. Dacă o altă placă utilizează deja această adresă, ea
poate fi modificată cu ajutorul a cinci jumpere (ştrapuri) de adresă (A5 - A9). Prezenţa unui ştrap în
An semnifică An=0. De exemplu A9=29=512; A8=28=256; ....... . Configurarea ‘industrială’ este
A9=A8=1, corespunzător adresei: A9+A8= 512 + 256 = 768 = 300H.
Placa de tact este prezentată schematic în Fig. 5.34.
Placa de achiziţie (intrări şi ieşiri analogice) conţine:
-patru intrări analogice care pot funcţiona între 0-10V sau 4-20mA, fiecare putând fi
configurată independent;
-patru ieşiri analogice în tensiune 0-10 V şi în curent 4-20 mA.
Această placă include în versiunea ARTAN PC+ şi partea de tact. Ea este livrată pentru a
funcţiona de la adresa 300H până la 317H, putând fi configurată de utilizator la o altă adresă.
Racordarea şi configurarea plăcii de achiziţie este prezentată în Fig. 5.35.
95
Fig. 5.35. Placa de intrare/ieşire
Fig. 5.36.
96
Dacă există şi o dinamică a elementului de execuţie, atunci aceasta este conţinută în blocul
de dinamică Y/U.
Dinamica Y/U (Intrare/Ieşire):
Este un bloc liniar care reprezintă comportarea intrare-ieşire. Acest model este reprezentat
sub forma unei funcţiei de transfer continue sau discrete.
În domeniul continuu, se pot simula sisteme:
-de ordinul I
-de ordinul II, de tipul:
-ordinul I + integrator
-ordinul II aperiodic
-ordinul II oscilant
-de ordinul III, eventual cu un zero care permite reprezentarea sistemelor cu fază neminimă.
În discret, putem simula orice funcţie de transfer până la ordinul şase.
Toate aceste funcţii pot fi, în plus, cu element de întârziere. Este bine cunoscut faptul că
funcţiile de transfer continue pot fi introduse, după calcule, sub forma discretizată (eşantionată). În
acest caz, calculele necesare nu sunt întotdeauna simple. Menţionăm că ARTAN poate da
echivalentul în z al acestor funcţii de transfer continue asociate cu un extrapolator de ordinul zero.
Intrarea acestor modele este semnalul U care poate fi:
-ieşirea unui regulator într-o buclă închisă simulată în totalitate;
-furnizat de operator (treaptă, rampă) în circuit deschis;
-furnizat de un regulator analogic exterior.
Dinamica Y/P (Perturbaţie/Ieşire):
Posibilităţile sunt aceleaşi ca în cazul dinamicii Y/U, dar alegerea este independentă.
Perturbaţia este reprezentată (echivalată) la ieşire, dar printr-o alegere adecvată se poate simula o
perturbaţie la intrarea în proces.
Perturbaţia P poate fi:
-deterministă (treaptă, rampă) furnizată de operator
-aleatoare: secvenţă binară, pseudo aleatoare, generată de program
-externă: provenită de la un generator de semnal exterior
Regulatorul. Sunt disponibile cinci tipuri de regulatoare. Pentru lucrul în domeniul continuu,
acestea se limitează la clasicul PID care este considerat aici în forma sa paralelă, şi la o variantă a
acestui regulator în care acţiunea derivatei nu acţionează decât asupra măsurii evitând şocurile la
schimbarea rapidă a referinţei.
Pentru domeniul discret, există trei tipuri de regulatoare (PIR, Z, RST) în plus faţă de
echivalentele discretizate ale celor două PID continue (la care discretizarea nu aduce nici o
posibilitate suplimentară).
Acelaşi tip de abordare este realizabilă pentru sisteme de ordin superior dar nu există o
implementare explicită. Trebuie în acest caz să utilizăm o formă generală de regulator în z, până la
ordinul şapte. Acest regulator calculează comanda la momentul k în funcţie de comenzile
precedente şi de eroarea la momentul k şi momentele precedente. Permite calcularea regulatoarelor,
pentru anumite tipuri de procese, dând performanţe mai bune decât un simplu PID, chiar discretizat.
Dar, datorită structurii sale, acest regulator impune un compromis între performanţele obţinute în
regim de urmărire şi cele obţinute în regim de reglare.
Pentru aceasta s-a introdus forma RST (a se vedea Fig. 5.37), mai generală, care permite
fixarea comportamentului în regim de urmărire independent de comportamentul în regim de reglare.
Acest regulator are particularitatea de a lucra nu numai pe eşantioanele prezente şi trecute ale erorii
dintre referinţă şi măsură, ci şi pe eşantioanele referinţei şi măsurii.
Pentru studiul legilor de reglare tipizate, se poate realiza o simulare a regulatorului singur,
neconectat la un proces. Această posibilitate nu este explicită, dar se poate obţine uşor anulând
amplificarea sistemului reglat.
97
Forma în z Forma RST
HR (z) este o fracţie R,S,T sunt polinoame în z.
raţională în z Dacă R=T regăsim forma în z cu
HR=R/S=T/S
Fig. 5.37.
Descriere software
ARTAN se prezintă sub forma unui ansamblu de pagini-ecran grafice şi alfanumerice, ca de
exemplu:
P1 - introducere
P2 - descriere şi posibilităţi de funcţionare
P3 - configurare
P4 - valori numerice
P5 - simulare + prelucrare
P6 - comparare
P7 - zoom şi analiză
Detalii privind descrierea paginilor ecran şi a softului se găsesc în manualul de utilizare,
precum şi în [Sisteme de reglare automată. Lucrări practice I, C. Marin şi colectivul, Ed. SITECH,
Craiova, 1997], unde este prezentată într-o anexă şi o traducere a manualului de utilizare.
Dialogul operator-sistem se face cu ajutorul tastelor de funcţii F1 la F10, inclusiv pentru
introducerea valorilor numerice. Funcţiile F1, F2 şi F10 se găsesc pe mai multe pagini, utilizarea lor
fiind tot timpul aceeaşi.
98
5.6.2. Placa de achiziţie AT-MIO-16 (National Instruments)
În Fig. 5.38 este prezentată structura generală a unei plăci de achiziţie AT-MIO-16 a firmei
National Instruments. Prelucrarea datelor numerice precum şi gestionarea interfeţelor de
intrări/ieşiri analogice/numerice se face sub controlul pachetelor de programe LabVIEW ale
aceleiaşi firme şi al software-ului (driver) NI-DAQ (National Instruments – Data Acquisition)
pentru DOS/ Windows/ LabWindows. Placa de achiziţii AT-MIO-16 poate fi folosită cu LabVIEW
pentru Windows sau LabWindows pentru DOS, programe inovative ce conţin software pentru
dezvoltare de aplicaţii bazate pe această placă de achiziţii. În timp ce LabVIEW foloseşte
programarea grafică, LabWindows măreşte capacităţile programelor Microsoft C şi QuickBASIC.
Ambele pachete conţin biblioteci extinse pentru achiziţia datelor, controlul instrumentaţiei, analiza
datelor şi reprezentarea grafică a datelor.
În Fig. 5.38, DI sunt dispozitive de intrare (achiziţie) care cuprind intrări numerice de la
traductoare sau senzori de semnale numerice şi intrări analogice dotate cu convertor analog-numeric
(CAN) de la traductoarele sau senzorii de semnale analogice. DO sunt dispozitive de ieşire care
cuprind ieşiri numerice pentru acţionări numerice sau semnalizări şi ieşiri analogice dotate cu
convertoare numeric-analogice (CNA) pentru comenzile analogice. PC reprezintă calculatorul
personal în care se introduce placa de achiziţie, calculator pe care este instalat LabVIEW, iar IU
reprezintă interfaţa utilizator.
În afara legăturilor directe cu procesul fizic ce trebuie condus, este necesară existenţa unor
legături numerice cu alte sisteme, fie sisteme de aceeaşi natură (cum ar fi cazul sistemelor de
conducere distribuite în care se face legătura informaţională între calculatoarele de proces), fie cu
instrumente de măsură (osciloscoape, voltmetre numerice etc.) sau regulatoare numerice. Aceste
legături numerice sunt standardizate, placa fiind prevăzută cu două tipuri: legături seriale RS 232C
şi legături paralele IEEE 488.
Placa AT-MIO-16 poate fi conectată la sistemul SCXI (Signal Conditioning eXtension for
Instrumentation), bazat pe module care permit achiziţia a peste 3000 de tipuri de semnale analogice
de la termocupluri, termorezistenţe, surse de curent, de tensiune etc. precum şi achiziţia/generarea
de semnale numerice de comunicaţie şi control.
Placa AT-MIO-16 asigură tipurile specifice de funcţii ale unei plăci de achiziţie: intrări
analogice, ieşiri analogice, intrări/ieşiri numerice, temporizare (generare de interval de timp) şi
numărare. Placa de achiziţie AT-MIO-16 se conectează pe placa de bază a unui calculator personal.
În Fig. 5.39 este prezentată varianta compatibilă PC-AT (Advanced Technology).
99
Fig. 5.39. Schema bloc a plăcii de achiziţie AT-MIO-16
Placa de achiziţie comunică cu placa de bază a calculatorului prin intermediul Canalului I/O
pentru PC/AT. Circuitul de interfaţă constă dintr-o magistrală de adresă de 24 de biţi, o magistrală
de date de 16 biţi, o magistrală de arbitrare a accesului direct la memorie (DMA), linii de
întrerupere şi câteva semnale de comandă şi control.
RTSI Bus este magistrala RTSI (Real-Time System Integration) cu care se pot interfaţa toate
plăcile din seria National Instruments AT. Interfaţa pentru magistrala RTSI are 7 linii trigger şi o
linie pentru ceasul de sistem şi permite utilizarea mai multor plăci NI din seria AT în acelaşi PC,
plăci care partajează semnalele de pe această magistrală.
Intrările analogice şi circuitele de achiziţie de date manevrează până la 16 canale de intrări
analogice cu amplificare programabilă software şi un CAN pe 12 biţi. Suplimentar, AT-MIO-16
conţine circuite de achiziţie a datelor pentru generarea semnalelor de timp pentru conversiile
analog-numerice multiple şi alte opţiuni avansate. Circuitul pentru intrări analogice constă dintr-un
multiplexor de intrare, circuit de selecţie a modului de multiplexare (16 intrări asimetrice – single-
ended – sau 8 diferenţiale), un amplificator de instrumentaţie cu amplificare programabilă, un
circuit de eşantionare şi reţinere pentru implementarea unui CAN pe 12 biţi şi o stivă FIFO (First In
First Out) de 16 cuvinte pe 16 biţi care stochează rezultatele conversiei. CAN este cu aproximări
succesive şi suportă la intrare 3 game de tensiuni: bipolare, cu valori între -10V...10V, -5V...5V şi
unipolară între 0V...+10V. Convertorul analog-numeric este disponibil în două variante diferite în
raport cu timpul maxim de conversie: 25 µ sec sau 9 µ sec. Achiziţia de date se poate face pe un
singur canal sau pe mai multe canale, când avem de-a face cu aşa numita achiziţie de date scanată.
Ratele (frecvenţele) maxime de achiziţie depind de performanţele CAN şi sunt de 100.000
eşantioane/secundă pentru CAN cu timp maxim de conversie de 9 µ sec sau de 40.000
eşantioane/secundă pentru CAN de 25 µ sec.
Fiecare placă de achiziţie din seria AT-MIO-16 are un nume diferit care scoate în evidenţă
principalele caracteristici constructive. Astfel, avem 4 variante cu numele de AT-MIO-16L/H-9/25.
Codificarea L/H se referă la amplificările programabile pe partea de intrări analogice: cele
codificate cu H (High) sunt prevăzute cu amplificare programabilă setată la 1, 2, 4 sau 8 iar cele
codificate L (Low) sunt prevăzute cu amplificări de 1, 10, 100 sau 500 de ori şi pot fi utilizate la
achiziţia de semnal de nivel scăzut. Codificarea 9/25 se referă la timpul maxim de conversie al
CAN şi anume 9 sau 25 µ sec.
În ceea ce priveşte Circuitul ieşirilor analogice, placa este prevăzută cu două canale de
conversie numeric-analogică pe 12 biţi, fiecare canal fiind prevăzut cu ieşiri unipolare sau bipolare
cu selecţie internă sau externă a tensiunii de referinţă. Pentru fiecare canal de ieşire analogic, CNA
generează un curent proporţional cu tensiunea de intrare de referinţă, multiplicat cu un cod numeric
100
încărcat în prealabil într-un buffer propriu. Acest cod este tocmai numărul care va fi convertit în
semnal analogic. Amplificatoarele operaţionale de la ieşire convertesc acest curent de ieşire al CNA
într-un semnal de tensiune transmis la conectorii de ieşire.
Circuitul pentru intrări/ieşiri numerice este prevăzut cu 8 linii de intrare/ieşire numerice
divizate în două porturi de câte 4 linii fiecare. Ieşirile numerice sunt grupate într-un registru de
ieşire de 8 biţi, câte 4 pentru fiecare port de ieşire. În mod asemănător, avem un registru de intrare
pe 8 biţi. Ambele registre sunt compatibile TTL şi acţionează TSR (Three State Logic, HiZ).
Controllerul de achiziţie date gestionează operaţiile de achiziţie iar Circuitul de generare a
semnalelor de tact (Timing I/O) funcţiile generale de intrare/ieşire. Ambele blocuri funcţionează pe
baza unui circuit de numărare/generare de interval de timp, care conţine 5 numărătoare
programabile pe 16 biţi, compatibile TTL.
Plăcile disponibile în laborator sunt de tip AT-MIO-16H-9:
AT – se referă la compatibilitatea cu placa de bază a calculatoarelor IBM-PC în tehnologie
AT (Advanced Technology).
MIO – abrevierea de la Multifunction Input/Output Board.
16 – se referă la numărul de canale de intrare analogică: 16 canale asimetrice (single-ended)
sau 8 canale diferenţiale.
H – se referă la High-level analog inputs, adică la semnale analogice de intrare de nivel
mare, care nu necesită amplificări programabile mari pe placă (amplificările pot fi: 1, 2, 4, 8).
9 – se referă la timpul minim de achiziţie pe un canal, adică 9 µ sec. Frecvenţa (rata)
maximă de achiziţie este de 100.000 de eşantioane pe secundă.
Placa de achiziţie AT-MIO-16H nu dispune de tehnologie Plug-and-play (specifică
îndeosebi plăcilor PCI - Peripheral Component Interconnect), fiind o placă tip ISA (Industry
Standard Architecture) şi prin urmare este prevăzută cu un comutator DIP (Dual Inline Pin –
permite selectarea adresei de bază a plăcii) şi un set de jumpere care trebuie setate în funcţie de
arhitectura în care este folosită placa. Pentru setarea şi utilizarea plăcii de achiziţie AT-MIO-16H
sunt necesare: placa de achiziţie, driverul NI-DAQ, software-ul de aplicaţie LabVIEW (sau
LabWindows sau LabWindows/CVI) şi un calculator.
Observaţie: Pentru programarea plăcii se poate utiliza şi programarea la nivel de regiştri,
care este însă dificilă, fiind recomandată folosirea NI-DAQ şi a unui soft de aplicaţie.
Placa de achiziţie AT-MIO-16H conţine:
• 16 canale single-ended de intrări analogice în domeniile 0÷5V, 0÷10V sau 8 canale
diferenţiale în domeniile -5V ÷5V, -10÷10V funcţie de configuraţia hardware;
• 2 canale de ieşiri analogice în domeniile 0÷10V, –10 ÷10V;
• 2 porturi numerice I/O pe 4 biţi fiecare;
• 5 numărătoare independente pe 16 biţi;
• un generator de frecvenţă până la 1 MHz;
AT-MIO-16 poate fi instalată în orice slot disponibil de 16 biţi (AT Style - ISA) din
calculator. AT-MIO-16 nu poate lucra dacă este instalat într-un slot expandat pe 8 biţi (PC Style).
101
codifică numărul plăcii de achiziţie şi numărul de grup după configurarea acestuia (prin grup
înţelegând o colecţie de canale de intrare sau de ieşire sau porturi). Conexiunile de tip error se
referă la erorile de execuţie apărute în diferite etape.
În cazul utilizării unor instrumente avansate nu mai sunt necesare conexiunile de tip task ID
şi error.
În continuare va fi prezentată pe scurt biblioteca de instrumente virtuale pentru intrări
analogice. Funcţiile pentru intrări analogice sunt grupate în patru clase sau sub-biblioteci: Easy
Analog Input VIs, Intermediate Analog Input VIs, Analog Input Utilities VIs, şi Advanced Analog
Input Vis (Fig. 5.42).
Biblioteca Easy Analog Input VIs conţine instrumente executabile capabile să realizeze
operaţiuni de bază pentru intrări analogice. Instrumentele din biblioteca Easy Analog Input VIs sunt
construite pe baza VI-urilor din biblioteca Intermediate Analog Input VIs, care la rândul lor sunt
construite pe baza VI-urilor din biblioteca Advanced Analog Input VIs. Un instrument de tip Easy
Analog Input VIs furnizează o interfaţă utilizator convenabilă pentru intrările analogice uzuale,
pentru aplicaţii complexe fiind necesară folosirea instrumentelor din celelalte biblioteci.
102
Instrumentele de nivel intermediar pentru intrări analogice se pot găsi în biblioteca
Intermediate Analog Input VIs. Aceste instrumente sunt construite pe baza instrumentelor
fundamentale din Advanced Analog Input VIs. Instrumentele de nivel intermediar sunt flexibile în
utilizare, asigurând în acelaşi timp majoritatea facilităţilor instrumentelor avansate.
Instrumentele din Analog Input Utilities VIs sunt bazate pe instrumentele de nivel
intermediar şi oferă soluţii simple pentru situaţiile uzuale de folosire a intrărilor analogice.
Instrumentele avansate pentru achiziţia intrărilor analogice sunt grupate în Advanced Analog
Input VIs. Aceste instrumente constituie interfaţa între software-ul de aplicaţie LabVIEW şi
driverele NI-DAQ, fiind la baza celorlalte instrumente din meniul Analog Input.
Atunci când se doreşte realizarea unei aplicaţii pentru achiziţia de date analogice trebuie
ordonate instrumentele virtuale într-o secvenţă logică care conţine etape de configurare a plăcii, de
lansare a achiziţiei, de citire a datelor şi de ştergere a acestora, secvenţă prezentată în Fig. 5.43.
Această secvenţă poate fi realizată prin utilizarea unor VI-uri de nivel intermediar, aşa cum apar în
Fig. 5.43, sau etapele din secvenţă pot fi executate de un singur VI, cum ar fi de exemplu VI-uri din
biblioteca Analog Input Utilities VIs.
Configurare placă
(AI Config.vi)
Lansare achiziţie
(AI Start.vi)
Citire date
(AI Read.vi)
Ştergere date
(AI Clear.vi)
În continuare vor fi descrise câteva VI-uri utile pentru achiziţia de date analogice, şi anume
patru instrumente de nivel intermediar din Intermediate Analog Input VIs şi două instrumente din
Analog Input Utilities VIs. Instrumentele de achiziţie au numeroşi parametri de intrare care permit
realizarea unor aplicaţii precise. În multe cazuri aceşti parametri au valori ce corespund unei
utilizări clasice ale funcţiei. Diferenţa dintre parametrii primari ai instrumentului şi parametrii
secundari este vizualizată pe fereastra de ajutor (help) prin grosimea caracterelor. Parametrii
primari (cei mai importanţi) apar îngroşaţi. Valorile implicite ale parametrilor (default) apar între
paranteze. În Fig. 5.44 – 5.47 sunt prezentate instrumentele intermediare AI Config.vi, AI Start.vi,
AI Read.vi şi AI Clear.vi, cu terminalele de intrare şi de ieşire corespunzătoare. Se observă o serie
de terminale care apar la toate instrumentele virtuale din figurile precizate. În Tabelul 5.3 sunt
descrise pe scurt terminalele comune, cu menţiunea că fiecare VI poate avea terminale de intrare şi
ieşire specifice a căror semnificaţie se desprinde fie din context fie se poate afla apelând la sistemul
de help.
AI Config.vi realizează configurarea unei operaţiuni de intrare analogică pentru un set de
canale de intrare specificat, prin configurarea hardware-ului şi alocarea unei memorii tampon
(buffer) pentru datele analogice.
Tabelul 5.3
Denumire terminal Descriere
device numărul conectorului plăcii de achiziţii de date. Pentru o singură placă
AT-MIO, device = 1
channels (0) descrie canalele de intrare utilizate. Implicit are valoarea 0
task ID in identifică grupul şi tipul operaţiei I/O
task ID out are aceeaşi valoare ca task ID in
error in (no error) descrie erorile care apar înainte de execuţia VI-ului respectiv. Dacă a
apărut o eroare, VI-ul returnează valoarea erorii într-un cluster în error
out. Implicit are valoarea "no error"
error out conţine informaţia despre erori. În cazul în care clusterul error in
indică o eroare, clusterul error out va conţine aceeaşi informaţie. Dacă
nu, error out descrie erorile apărute la execuţia VI-ului respectiv
buffer size (1000 mărimea memoriei tampon alocată pentru stocarea eşantioanelor
scans) (implicit 1000)
number of scans to numărul de citiri care se efectuează (implicit 1000)
acquire
scan rate (scan/sec) frecvenţa de achiziţie (1000 de scanări pe secundă în lipsa precizării).
Este echivalentă cu frecvenţa de eşantionare pe canalul respectiv
voltage data Este un tablou (o matrice) care conţine datele analogice achiziţionate
104
În Fig. 5.48 şi Fig. 5.49 sunt prezentate instrumentele AI Waveform Scan.vi şi AI Continuous
Scan.vi din sub-biblioteca Analog Input Utilities VIs, o parte din terminalele de intrare şi de ieşire
fiind descrise în Tabelul 5.3.
AI Waveform Scan.vi realizează numărul specificat de achiziţii (scanări) la frecvenţa de
eşantionare specificată şi returnează toate datele achiziţionate. Achiziţia poate fi sincronizată.
AI Continuous Scan.vi realizează măsurarea în mod continuu (dar eşantionată în timp) a unui
grup de canale, stochează datele într-un buffer circular şi returnează un număr specificat de date
măsurate la fiecare apelare a VI-ului.
Dacă se urmăreşte achiziţia multi-punct a unui set de date analogice (limitat prin memoria
tampon) se pot utiliza cele patru instrumente intermediare prezentate mai sus, secvenţiate ca în Fig.
5.43, sau se poate utiliza un singur instrument virtual complet, de tip AI Waveform Scan.vi sau AI
Continuous Scan.vi. În Fig. 5.50 este prezentată fereastra diagramă în cazul achiziţiei unor date
analogice utilizând cele patru VI-uri intermediare prezentate anterior, conform secvenţei din Fig.
5.43 (se poate analiza pentru rulare – în prezenţa unei plăci de achiziţie – şi pentru informaţii
suplimentare exemplul Getting Started Analog Input.vi din directorul Examples al LabVIEW). Se
observă că doar o parte din terminalele de intrare şi de ieşire ale instrumentelor virtuale sunt
utilizate, restul fiind lăsate la valorile lor implicite. Datele analogice achiziţionate sunt afişate cu
ajutorul unui indicator grafic de tip Waveform Graph, cu opţiunea Transpose Array activată, fiind
posibilă vizualizarea datelor primite de la mai multe canale (plotare multiplă).
O aplicaţie similară cu cea din Fig. 5.50, dar în care se utilizează un instrument virtual AI
Waveform Scan.vi, este prezentată în Fig. 5.51.
Programele prezentate permit achiziţia multi-punct a unui set de date de o anumită lungime,
după care achiziţia se opreşte. Dacă se doreşte o achiziţie în mod continuu a datelor analogice, este
necesară folosirea unui instrument virtual de repetare, cum ar fi bucla While. Se pot utiliza VI-urile
intermediare sau VI-uri de tipul AI Waveform Scan.vi sau AI Continuous Scan.vi. Un exemplu de
program care realizează achiziţia repetată a unor date analogice, construit în jurul unui instrument
AI Continuous Scan.vi este prezentat în Fig. 5.52. Terminalul de iteraţie al buclei While este legat la
terminalul de iteraţie al VI-ului de achiziţie. Achiziţia este oprită la apăsarea butonului Stop sau la
apariţia unei erori. Condiţia booleană de terminare a achiziţiei este de asemenea conectată la
terminalul clear acquisition al VI-ului (astfel încât să fie true la ultima iteraţie).
105
Fig. 5.50. Achiziţia de date analogice cu VI-uri de nivel intermediar
106
5.6.3. Placa de achiziţie MultiQ-PCI (Quanser Consulting)
Placa de achiziţie MultiQ-PCI este o placă multifuncţională I/O de tip plug and play, pe
magistrală PCI (32 biţi, 33 MHz), realizată de firma Quanser Consulting din Canada. Gestionarea
intrărilor şi ieşirilor analogice şi numerice, precum şi a funcţiilor generale se face sub controlul
softului de timp real WinCon al aceleiaşi firme, care lucrează cu Matlab/Simulink sub Windows.
Placa poate fi gestionată şi sub Linux, sub controlul pachetului software Simulinux Real-Time
Control, asociat cu MATLAB/SIMULINK. Atât WinCon, cât şi Simulinux Real-Time Control
furnizează driverele necesare plăcii, iar MATLAB/SIMULINK are rolul software-ului de achiziţie.
Placa de achiziţie MultiQ-PCI include următoarele funcţii:
• 16 canale de intrări analogice diferenţiale (din care primele 8 se pot configura single-
ended), cu rezoluţie de 14 biţi (16 biţi incluzând semnul), cu domenii posibile -5V
÷5V, -10÷10V;
• 4 canale de ieşiri analogice cu rezoluţie de 13 biţi (14 biţi incluzând semnul),
domeniu -10÷10V;
• 48 de canale numerice I/O;
• 6 numărătoare pe 24 de biţi, grupate în 3 perechi (care oferă şi posibilitatea
conectării plăcii la traductoare incrementale – encodere);
• ceas watchdog pentru controlul magistralei PCI
În Fig. 5.53 este prezentată placa de achiziţie MultiQ-PCI propriu-zisă, cu vizualizarea
conectorilor de cuplare (prin cabluri panglică) la placa-terminal, care este situată în exteriorul
calculatorului şi care permite conectarea cu intrările/ieşirile numerice şi analogice (schema plăcii-
terminal este prezentată în Fig. 5.54).
107
Fig. 5.54. Schema plăcii-terminal
De la
encodere
Bloc
Numărătoare
In 1
Regiştri I/O
Out Intrări/Ieşiri
numerice
Magistrală PCI
In
48
Out
1 +
_
Intrări
A/N
analogice
16 +
_
Out
1
Sense Ieşiri
N/A analogice
4
Circuit
Watchdog
108
Ieşiri analogice
Placa MultiQ-PCI este prevăzută cu 4 ieşiri analogice, în domeniul -10÷10V. Rezoluţia este
de 13 biţi (14 biţi cu bitul de semn). Timpul necesar conversiei numeric-analogice pe un canal este
de 17 µ sec .
Intrări/Ieşiri numerice
Placa de achiziţie conţine 48 de canale de intrări/ieşiri numerice. Dintre acestea, 40 de
canale oferă detecţie de front şi întreruperi la detecţia frontului (coborâtor sau crescător). Ultimele 8
canale I/O numerice sunt simple. Fiecare dintre cele 48 de canale numerice poate funcţiona ca
intrare sau ca ieşire. Pentru scriere sunt utilizaţi 3 regiştri pe 16 biţi, iar pentru citire alţi trei regiştri
pe 16 biţi.
Numărătoare
Placa este prevăzută cu 6 numărătoare pe 24 de biţi, grupate în trei perechi. Numărătoarele
pot fi utilizate individual (stand-alone) sau în pereche, în acest caz formând un numărător pe 48 de
biţi. Fiecare numărător poate fi folosit la diverse sarcini:
- pentru a contoriza impulsurile care provin de la encodere – traductoare numerice
incrementale de poziţie (pe placa-terminal sunt prevăzute 6 intrări pentru encodere, în
mod diferenţial sau single-ended);
- pentru furnizarea unor semnale de ceas (generare interval de timp);
- pentru funcţii generale de numărare, măsurarea frecvenţei etc.
Circuitul watchdog
Placa de achiziţie conţine un circuit care furnizează un semnal de ceas de tip watchdog.
Atunci când din diverse motive controllerul master de magistrală pierde controlul asupra magistralei
PCI, semnalul watchdog al plăcii este utilizat pentru reluarea controlului asupra magistralei.
PC
RTX Windows
(Mediu de timp real) MATLAB/SIMULINK
RealTimeWorkshop
MultiQ- PCI
Visual C++
Proces Utilizator
WinCon TCP/IP WinCon
Client Server
Fig. 5.56. Configuraţia locală de utilizare a aplicaţiei de timp real WinCon (un singur calculator)
109
Spre deosebire de configuraţia locală, în configuraţiile la distanţă, de tip reţea, cu mai multe
calculatoare, WinCon Client şi prin urmare codul de timp real rulează pe o altă platformă
(calculator) decât SIMULINK şi WinCon Server (adică interfaţa utilizator). O configuraţie
minimală de aplicaţie la distanţă este prezentată în Fig. 5.57 şi utilizează 2 calculatoare.
PC 2 PC 1
Windows Windows
RTX MATLAB/SIMULINK
RealTimeWorkshop
MultiQ- PCI
TCP/IP Visual C++
Proces Utilizator
WinCon WinCon
Client Server
Cea mai generală configuraţie de tip reţea este cea din Fig. 5.58, în care sunt utilizate N
calculatoare care controlează şi achiziţionează date de la N-1 procese. Pentru această configuraţie
sunt necesare N-1 plăci MultiQ-PCI. Comunicaţiile între calculatoare sunt realizate prin intermediul
unei reţele (care poate fi locală, Internet, Intranet). Avantajul acestor ultime două configuraţii constă
în eliberarea de alte sarcini a calculatoarelor Client.
PC 2 PC 1
Windows Windows
RTX MATLAB/SIMULINK
RealTimeWorkshop
MultiQ- PCI
PC N
Windows
RTX
MultiQ- PCI
Proces N-1
WinCon
Client
110
BIBLIOGRAFIE
[1] Bălan, T., Şterbeţi, C., Analiză Fourier – Elemente de Teorie şi Probleme, Ed. Sitech, Craiova,
2001.
[2] Bentley, J.P., Principles of Measurements Systems, Longman Scientific & Technical, United
Kingdom, 1988.
[3] Carlson, G.E., Signal and Linear System Analysis, Second Edition, John Wiley & Sons, Inc.,
New York, 1998.
[4] Cartianu, Gh., Săvescu, M., Constantin, I., Stanomir, D., Semnale, Circuite şi Sisteme, Ed.
Didactică şi Pedagogică, Bucureşti, 1980.
[5] Cottet, F., Ciobanu, O., Bazele Programării în LabVIEW, MATRIX ROM, Bucureşti, 1998.
[6] Golovanov, C., Albu, M. (coordonatori), Probleme moderne de măsurare în electroenergetică,
Ed. Tehnică, Bucureşti, 2001.
[7] Iancu, E., Transmisia Datelor, Ed. Reduta, Craiova, 1998.
[8] Ionete, C., Selişteanu, D., Echipamente de Automatizare şi Protecţie, Reprografia Universităţii
din Craiova, 2000.
[9] Jurca, T., Stoiciu, D., Instrumentaţie de măsurare. Structuri şi circuite, Ed. de Vest, Timişoara,
1996.
[10] Lyons, R.G., Understanding Digital Processing, Addison-Wesley Publishing Company, 1997.
[11] Marin, C., Petre, E., Popescu, D., Ionete, C., Selişteanu, D., Teoria Sistemelor. Probleme,
Ediţia a doua, Ed. Sitech, Craiova, 2000.
[12] Marin, C., Popescu, D., Petre, E., Ionete, C., Selişteanu, D., Teoria Sistemelor, Ed.
Universitaria, Craiova, 2001.
[13] Nachtingal, Chester L. (ed.), Instrumentation and Control. Fundamentals and Applications,
John Wiley & Sons, Inc., New York, 1990.
[14] Nussbaumer, H., Informatique industrielle II, Presses Polytechniques Romandes, Lausanne,
1986.
[15] Oppenheim, A.V., Schafer, R.W., Discrete-Time Signal Processing, Second Edition, Prentice
Hall International, 1999.
[16] Porat B., A Course in Digital Signal Processings, John Wiley & Sons, Inc., New York, 1997.
[17] Rosch, L., Totul despre Hardware (ed. II), Ed. Teora, Bucureşti, 2001.
[18] Săvescu, M., Petrescu, T., Ciochină, S., Semnale, Circuite şi Sisteme - Probleme, Ed. Didactică
şi Pedagogică, Bucureşti, 1981.
[19] Selişteanu, D., Ionete, C., Petre, E., Popescu, D., Şendrescu, D., Ghid de programare în
LabVIEW. Aplicaţii pentru prelucrarea semnalelor, Tipografia Universităţii din Craiova, 2003.
[20] Selişteanu, D., Ionete, C., Petre, E., Popescu, D., Şendrescu, D., Aplicaţii LabVIEW pentru
achiziţia şi generarea datelor, Editura SITECH, Craiova, 2004.
[21] Ştefănescu, S., Filtre, Ed. Tehnică, Bucureşti, 1987.
[22] Tompkins, W.J., Webster, J.G.W. (editori), Interfacing Sensors to the IBM PC, Prentice Hall,
SUA, 1988.
[23] Ţăţulescu, M., Instrumentaţie şi tehnici electrice de măsurare, Reprografia Universităţii din
Craiova, 1997.
[24] ***, AT-MIO-16 User Manual, National Instruments, SUA, 1995.
[25] ***, LabVIEW User Guide, National Instruments, SUA, 1996.
[26] ***, LabVIEW Measurements Manual, National Instruments, SUA, 2000.
[27] ***, MATLAB User Guide, The Mathworks Inc., SUA, 2000.
[28] ***, NI-DAQ User Manual, National Instruments, SUA, 2001.
[29] ***, WinCon User Manual, Quanser Consulting, Canada, 2002.
[30] ***, MultiQ PCI User Manual, Quanser Consulting, Canada, 2002.
111