Convertoare analog-numerice (ADC) Convertoarele analog-numerice sunt circuite electronice (în variantă integrată sau hibridă) care, printr-un algoritm intrinsec de funcţionare, asociază valorilor tensiunii de intrare, numere binare (cuvinte) descrise pe un număr oarecare "n" de biţi. În acest mod, mulţimea continuă a valorilor tensiunii de intrare U i este asociată liniar unei mulţimi discrete finite de valori numerice. Variantele constructiv-funcţionale ale ADC sunt foarte numeroase, fiecare având avantaje pentru diverse aplicaţii. Pentru structurile de măsurare destinate evaluării parametrilor energetici, cel mai frecvent utilizate sunt ADC paralele (flash) şi ADC cu aproximaţii succesive. Mărimi caracteristice - de intrare: se referă la domeniul de variaţie al tensiunii de intrare U i, precizând valoarea sa nominală (de capăt de scală) U in şi semnul său (unipolară sau bipolară). - de ieşire: - rezoluţia este măsura numărului de elemente ale mulţimii valorilor de ieşire pe care ADC le poate asocia cu mărimea de intrare conform caracteristicii sale de transfer. Acest număr se specifică explicit, sub forma N max - numărul maxim de valori distincte ale mărimii de ieşire, sau prin "n" - numărul de ranguri ale mărimii de ieşire. Când codul utilizat pentru descrierea mărimii de ieşire este un cod binar continuu, rezoluţia se precizează prin "n" - numărul de ranguri al mărimii de ieşire (N max = 2 n valori distincte). Dacă ieşirea este în cod BCD, definirea corectă a rezoluţiei se face precizând N max. În acest caz, numărul de biţi "n" nu poate reprezenta o măsură a rezoluţiei deoarece multe ADC utilizează incomplet rangul zecimal cel mai semnificativ. Descrierea de forma (n + 1 / 2 ) a numărului de ranguri semnifică faptul că din cele (n+1) ranguri zecimale ale mărimii de ieşire, începând cu cel mai puţin semnificativ, "n" sunt folosite complet, iar cel mai semnificativ este folosit incomplet (la jumătate). - codul în care este descrisă valoarea numerică de ieşire este o variantă de cod binar, de tip continuu (cod binar complement faţă de 2 (CBC2), cu bitul cel mai semnificativ (MSB) desemnat ca bit de semn, cod binar complement faţă de 1 (CBC1), cod binar deplasat (sau offsetat, CBO), etc.) sau un cod zecimal în reprezentare binară (BCD). Codurile binare sunt economice, utilizând toate combinaţiile posibile ale unui cuvânt binar descris pe "n" biţi. 1/8
Deşi este mai puţin eficient, deoarece din cele 16 combinaţii posibile corespunzătoare unui cuvânt binar de 4 biţi utilizează doar 10, codul BCD permite o decodificare simplă (din binar în zecimal), prin operaţii separate pentru fiecare rang zecimal în parte. Dacă mărimea de ieşire N o are "n" ranguri în cod binar continuu, ponderea relativă a două ranguri adiacente este 2:1; dacă descrierea este zecimală codificată binar pe "m" ranguri, mărimea de ieşire are "4m" biţi organizaţi în "m" grupe de câte 4 (deoarece cifrele zecimale de la 0 la 9 pot fi reprezentate prin cuvinte de 4 biţi), ponderea între biţi fiind 2:1, iar între grupe 10:1. Exemplu: Rangurile adiacente ale unui număr binar în CBC2 au ponderile în raport de 1 / 2 ; dacă se utilizează codul BCD, la ieşirea ADC biţii vor fi grupaţi câte 4, fiecărui grup de 4 biţi corespunzându-i câte o cifră zecimală (digit). CBC2 este folosit de ADC dedicate sistemelor de achiziţia datelor. Descrierea BCD este folosită pentru ADC conţinute în aparate de măsurat sau structuri de măsurare digitale cu sisteme proprii de afişare, conectate direct la ieşirea ADC (de exemplu la multimetre). - de transfer - caracteristica statică de transfer Tensiunea de intrare are o variaţie continuă în domeniul: Di = [0, UiN] iar mărimea de ieşire are doar Nmax valori distincte. Domeniul Di se împarte în Nmax subintervale pentru care se definesc corespondenţe cu câte o valoare a mărimii de ieşire Ni <=> [U i r/2, U i + r/2] (fig.1). Fig.1. Caracteristica statică a ADC ideal Mărimile (U i r / 2 ) şi (U i + r / 2 ) reprezintă valorile tensiunii de intrare pentru care mărimea de ieşire N o oscilează cu factor de umplere 0,5 între valoarea mărimii de ieşire corespunzătoare intrării U i şi valorile sale adiacente, care corespund valorilor tensiunii de intrare: Ui r / 2, respectiv: U i + r / 2. 2/8
În zonele de incertitudine interioare intervalului [U i r,u i + r], mărimea de ieşire N o tranzitează între două valori adiacente (fig.2). Fig.2. Răspunsul convertorului A/D în zonele de tranziţie Pentru descrierea caracteristicii statice de transfer se consideră valoarea mărimii de ieşire corespunzând tensiunii de intrare de valoare egală cu media limitelor intervalului: 1 r r Ui = U i + + Ui 2 (1) 2 2 Funcţia de transfer a unui ADC ideal unipolar este o funcţie scară, mărimea unei trepte corespunzând raportului dintre tensiunea nominală şi numărul de intervale: U r = n = U n (2) N n 2 1 max La un ADC ideal, scara are trepte egale după cele două axe, cu excepţia vecinătăţii originii, faţă de care deschiderea "r" este simetrică (fig.1). Caracteristica statică a ADC real diferă de cea a unui ADC ideal, diferenţele fiind puse în evidenţă de următoarele erori, definite în condiţii normate: - erorile la capetele scalei: - eroarea de zero (offset); - eroarea de câştig (de transfer). Aceste erori pot fi anulate, pentru orice ADC, prin facilităţi constructive (potenţiometre de ajustare a valorilor iniţiale ale offset-ului şi câştigului). - erorile de neliniaritate, care descriu abaterea caracteristicii reale, corectate la extremităţi, faţă de caracteristica ideală. Se definesc două tipuri de erori de neliniaritate : - eroarea de neliniaritate globală, ε n, ca măsură a abaterii maxime a caracteristicii intrareieşire a ADC reale care trece prin punctul (U i, n i ) faţă de caracteristica ideală: ε n = max {abs [U i (n o,k teoretic) U i (n o,k real) ]} (3) 3/8
- eroarea de neliniaritate diferenţială ( nldif ), ca măsură a abaterii diferenţei tensiunilor de intrare corespunzătoare la două mărimi de ieşire succesive faţă de diferenţa ideală "r": nldif = [U i (n o,k ) U i (n o,k+1 )] r (4) ADC este monoton dacă eroarea de neliniaritate îndeplineşte condiţia: ε n < r / 2 (5) Pentru fiecare din erorile de zero, de câştig, de neliniaritate, se definesc erorile de influenţă, în special cele datorate variaţiei temperaturii de funcţionare. Eroarea globală corespunzătoare rezultă prin sumare pătratică a diferitelor categorii de erori, considerate ca fiind necorelate. - timpul de conversie, t conv, definit ca interval de timp scurs între momentul lansării conversiei şi momentul obţinerii valorii finale a mărimii de ieşire n o, sau inversul său, rata de conversie: f conv = 1 / t conv (s) [ conversii / s ] reprezintă principala mărime caracteristică de transfer în regim dinamic. Variante constructive ADC cu aproximări succesive Acest tip de convertor face parte din clasa ADC cu conversie prin comparaţie directă, ca şi ADC cu tensiune de referinţă tip rampă digitală, faţă de care se caracterizează printr-un timp de conversie mult mai redus, deoarece, deşi ambele tipuri de convertor au o funcţionare secvenţială, numărul de paşi în care se realizează conversia este diferit. La ADC cu tensiune de referinţă tip rampă digitală durata conversiei este direct proporţională cu tensiunea de intrare, pe când, la ADC cu aproximări succesive, t conv este constant (n+1 perioade ale semnalului de ceas). Metoda aproximărilor succesive presupune compararea tensiunii de intrare cu o tensiune sintetizată în interiorul convertorului, a cărei valoare evoluează conform algoritmului de înjumătăţire succesivă a domeniului. Principalele elemente structurale ale ADC cu aproximări succesive (fig.3) sunt: - registrul de aproximări succesive (SAR); - convertorul numeric-analogic (DAC); - comparatorul (Comp); - bufferul de ieşire (tri-state). Dacă mărimea de ieşire a ADC este descrisă pe "n" biţi, conversia numerică a tensiunii de intrare U i presupune "n" paşi, care constau în testarea succesivă a tuturor biţilor cuvântului de ieşire. La primul pas, după primirea semnalului de lansare a conversiei (SC) SAR dă valoarea 1 celui mai semnificativ bit (b n ), la care DAC răspunde printr-o tensiune de ieşire: U comp 1 = 0,5 U ref 4/8
Dacă U i >U comp1, atunci valoarea "1" a bitului b n este validată (b n =1) şi se continuă cu testarea bitului următor, b n-1, al cărui aport, la ieşirea DAC are valoarea 0,25U ref. În funcţie de rezultatul comparaţiei, valoarea validată a bitului b n-1 poate fi 0 sau 1, după cum U i > < U comp 2 = 0,75U ref. Fig.3. Structura principială a convertorului A/D cu aproximări succesive La pasul următor este testat bitul b n-2, ş.a.m.d. până la bitul cel mai puţin semnificativ (LSB). Tensiunea de ieşire a DAC cu care se compară tensiunea de intrare U i la pasul "k" are valoarea: U comp k = U ref k j= 1 b j j 2 (6) Pentru tensiuni de intrare bipolare, ieşirea DAC se sumează cu o tensiune egală cu jumătate din tensiunea de referinţă, iar relaţia anterioară devine: k j 1 U compk = Uref bj 2 2 (7) j= 1 Odată cu validarea valorii LSB conversia este finalizată iar ADC emite semnalul "sfârşit de conversie" EOC, semnificând că la ieşirea buffer-ului este disponibil cuvântul de ieşire descris pe "n" biţi care reprezintă imaginea numerică a valorii tensiunii de intrare din momentul conversiei. Observaţii: 1. Pe durata conversiei, tensiunea de intrare trebuie să fie constantă sau să se modifice cu o valoare situată sub valoarea rezoluţiei: U i < r /2 2.Valoarea tensiunii de comparaţie la pasul "n" reprezintă valoarea măsurată prin care se aproximează valoarea reală a tensiunii de intrare U i. 5/8
3. În domeniul nominal şi condiţii normale de funcţionare a ADC, valoarea erorii absolute de aproximare nu poate depăşi jumătate din rezoluţie: 1 1 1 U j U n ref = U n 1 ref (8) 2 + 2 2 Creşterea erorii peste această valoare se poate datora erorilor de influenţă generate de modificarea temperaturii de funcţionare, a tensiunii de referinţă sau a altor condiţii de mediu (zgomote, interferenţe). 4. V o comp, validată de semnalul de tact (CK), poate descrie serial (bit cu bit, începând cu MSB) rezultatul conversiei şi poate fi utilizată ca ieşire serială a ADC. Pe frontul crescător al T 2 se poate citi valoarea MSB (b n ), pe frontul crescător al T 3 - bitul b n-1, iar pe frontul crescător al T n+1, valoarea LSB. Fig.4 prezintă modul în care este generat semnalul de tact (CK) de semnalul SC şi modul în care este generat semnalul EOC din semnalul (CK). Fig.4. Diagrama semnalelor de control al conversiei Avantajul imediat al ADC cu aproximări succesive constă în faptul că ieşirea serială oferă rezultatul conversiei chiar pe durata desfăşurării acesteia, ieşirea serială şi cea paralelă fiind la fel de rapide. Avantajul deosebit al ADC cu aproximări succesive este posibilitatea utilizării lui în structuri de măsurare cu izolare galvanică, având în vedere numărul mic de semnale care trebuie trecute prin bariera de izolare: ADC şi toate blocurile care îl preced pot fi cuplate galvanic cu măsurandul, izolarea blocurilor următoare (controlerul achiziţiei sau sistemele de prelucrare numerică a datelor) faţă de ADC putând fi făcută, pe un număr mic de linii, prin optocuploare pe liniile: EOC, SC, S şi CK, la care se adaugă sursa de alimentare cu izolare (convertor c.c.- c.c.). ADC cu aproximări succesive este singurul tip de ADC care oferă această facilitate, celelalte tipuri presupunând izolare galvanică pe mai mult de 4 linii. O altă facilitate oferită de ADC cu aproximaţii succesive o reprezintă posibilitatea scurtării ciclului de conversie, pe seama scăderii rezoluţiei. În aşa-numitul "ciclu scurtat" se renunţă la evaluarea ultimilor "m" biţi mai puţin semnificativi; timpul de conversie scade cu valoarea corespunzătoare a "m" perioade ale semnalului de tact. 6/8
Variantele de ADC cu aproximaţii succesive încorporate în structuri dedicate măsurării parametrilor energetici din sistemele industriale au n = 8...16 biţi şi t conv = x1... x10µs. ADC cu comparaţie simultană (tip flash) se mai numesc convertoare paralele, au cea mai mare viteză de conversie (t conv <1µs) şi rezoluţii medii (6...12 biţi). Încorporând un număr mare (2 n ) de comparatoare identice, costul lor este încă destul de ridicat. Convertoarele paralele au structura principială reprezentată în fig.5, formată dintr-un divizor rezistiv cu 2 n rezistoare, o reţea de 2 n comparatoare şi un circuit translator de cod. Fig.5. Structura principială a convertoarelor A/D flash Tensiunile U k care reprezintă referinţele comparatoarelor au valorile: U k 2k 1 2k 1 = Uref = U n ref (k=1...n) (9) 2N + 1 2 Tensiunea de intrare se compară simultan cu toate tensiunile de referinţă ale celor 2 n comparatoare, mărimea de intrare în decodificator având forma unui "bar-graph" (lungimea secvenţei de "1" din şirul valorilor logice ale tensiunilor de ieşire ale comparatoarelor este direct proporţională cu tensiunea de intrare). Ultimul comparator (CD) este utilizat pentru semnalizarea depăşirii domeniului nominal (valoarea de capăt de scală, U ref ). O soluţie practică, utilizată frecvent în construcţia ADC-flash cu mărimea de ieşire descrisă pe "n" biţi, este ADC compus prin cascadarea a două convertoare (fig.6). Dacă ADC 1 şi ADC 2 sunt identice, cu mărimea de ieşire descrisă pe n/ 2 biţi, prin această tehnică se obţine un convertor compus de "n" biţi cu doar 2 n/2+1 comparatoare, dar durata conversiei creşte de circa 4 ori faţă de un convertor monolitic de "n" biţi: 7/8
t conv = t conv ADC1 + t conv DAC + t conv ADC2 + t buffcor (10) Fig.6. Structura principială a convertoarelor A/D semi-flash Funcţionarea ADC compus se desfăşoară conform algoritmului conversiei recursive (pe subdomenii), în următoarele etape: - conversia A/D primară, la nivelul ADC 1, prin care se obţine prima parte a cuvântului de ieşire (cei mai semnificativi "k" biţi); eroarea maximă de conversie corespunde celui mai puţin semnificativ bit (bitul "k"): ε = 2 -k U ref (11) - conversia D/A a primei părţi a cuvântului de ieşire cu un convertor numeric analogic (DAC) rapid şi precis, obţinând, la ieşirea acestuia, o tensiune egală cu fracţiunea din U in care a suportat conversia primară; - sumarea algebrică a tensiunii de intrare, U in, cu tensiunea de ieşire a DAC cu semn schimbat, rezultatul constând într-un reziduu de valoare egală cu fracţiunea din U in care nu a fost convertită la nivelul ADC 1 datorită rezoluţiei reduse a acestuia; - conversia numerică a tensiunii de ieşire din sumator, realizată la nivelul ADC 2, având ca rezultat a doua parte a cuvântului de ieşire a convertorului compus (cei mai puţin semnificativi "n-k" biţi). Eroarea de conversie a ADC 1, manifestată la nivelul celui mai puţin semnificativ bit (bitul "k"), afectează substanţial valoarea reziduului tensiunii de intrare; de aceea, cele două părţi ale cuvântului de ieşire din ADC compus sunt prelucrate numeric la nivelul buffer-ului corector, fiind combinate (după un algoritm de corecţie intern) astfel încât să fie eliminate automat erorile posibile de la mijlocul cuvântului de ieşire. Prima parte a cuvântului de ieşire este mai scurtă (k<n-k) corecţia presupunând pierderea unui bit, astfel că, pentru obţinerea unui cuvânt de ieşire de "n" biţi este necesar ca ADC 1 să fie de "k" biţi iar ADC 2 de (n-k+1) biţi. 8/8