1 Toate erorile unui circuit de eşantionare-memorare se pot deduce cantitativ din specificaţiile tehnice ale circuitului, cu excepţia erorii generate de timpul de apertură, fiindcă această eroare este dependentă de panta semnalului de intrare din momentul trecerii în starea de memorare. În general, se estimează această eroare, admiţând că ea nu depăşeşte eroarea maximă pentru un semnal sinusoidal de frecvenţă f, egală cu frecvenţa maximă din spectrul semnalului şi cu amplitudinea A, egală cu valoarea maximă admisibilă a semnalului de intrare. În acest caz, dacă: v x =Asin(t) (dv x /dt) max =A, de unde v x =At a. Din relaţia de mai sus, se observă că efectul timpului de apertură este destul de critic. De exemplu, la un timp de apertură t a = 32 ns se produce o eroare de 0,01%, dacă frecvenţa maximă din spectrul semnalului este 10 khz.
2 Conversia AD Măsurarea numerică a unei mărimi electrice presupune conversia mărimii într-o mărime digitală (numerică). Rezultatul conversiei aproximează valoarea mărimii analogice cu o eroare mai mică decât cea mai mică treaptă de cuantizare. Conversia constă în compararea mărimii de intrare cu o mărime de referinţă (de aceeaşi natură), rezultatul fiind un cod numeric. Ecuaţia de funcţionare este: N X / X, N 1 Codurile binare utilizate în conversia A/D sunt: - pentru semnale unipolare: binar natural, binar natural invers, codul BCD, codul Gray. - pentru semnale bipolare: cod binar deplasat, binar deplasat inversat, cod complement faţă de doi, cod binar natural cu semn Clasificarea convertoarelor A/D: in - după metoda de conversie: convertoare A/D directe conversia mărimii analogice se realizează direct, convertoare A/D indirecte conversia mărimii analogice se realizează printr-o mărime intermediară (timp, frecvenţă) care este apoi convertită în mărimea numerică. ref
3 - după succesiunea etapelor de conversie: convertoare programate pentru care conversia decurge într-un timp stabilit de frecvenţa de tact şi numărul etapelor de parcurs şi convertoare neprogramate la care succesiunea etapelor este asincronă, începerea unei etape fiind determinată de terminarea precedentei, timpul de conversie depinzând de valoarea mărimii convertite. - după reacţie: convertoare A/D fără reacţie când nu există comparaţie între mărimea analogică şi mărimea numerică de la ieşire şi convertoare A/D cu reacţie când cele două mărimi analogică de la intrare şi numerică de la ieşire se compară între ele. - după tipul conversiei: convertoare A/D neintegratoare când conversia se realizează asupra valorii instantanee a semnalului preluată prin eşantionare-memorare şi convertoare A/D integratoare când conversia se realizează asupra valorii medii a acestuia.
4 Mărimi caracteristice convertoarelor A/D Convertorul A/D este un circuit care transformă o mărime de intrare analogică (de regulă tensiune, dar poate fi şi curent) într-o mărime de ieşire numerică. Conversia poate fi privit ca o clasificare a mărimii de intrare analogică într-un număr de clase distincte, iar rezultatul este numărul clasei în care a fost încadrat semnalul. Astfel, domeniul maxim în care poate varia mărimea de intrare se împarte într-un număr de intervale (funcţie de n numărul de biţi sunt 2 n intervale) cu limitele (L k, L k+1 ). Mărimii de intrare i se atribuite valoarea k dacă: L k x i Lk 1 Lk x constituie lăţimea clasei. Toate valorile mărimii de intrare ce îndeplinesc relaţia de mai sus, vor fi încadrate în aceeaşi clasă (vor avea aceeaşi valoare). Rezoluţia unui convertor A/D se defineşte ca fiind egală cu variaţia semnalului de intrare necesară pentru a schimba două coduri numerice consecutive la ieşire. Se observă apariţia unei erori principiale de conversie, eroare care se numeşte eroare de cuantizare. L k1
codurile numerice de la ieşire 5 Dacă FR este domeniul maxim de variaţie a mărimii de intrare x i şi n este numărul de biţi pe care se face conversia, atunci se observă că rezoluţia unui convertor A/D este FR r n 2 Rezoluţia se exprimă în unităţi ale mărimii de intrare, în procente din FR sau prin numărul de biţi. Cel mai puţin semnificativ bit (LSB Least Significant Bit) este egal cu rezoluţia (FR/2 n ) sau cu lăţimea unei clase de cuantizare. Cel mai semnificativ bit (MSB Most Significant Bit) este egal cu jumătate din domeniul maxim de variaţie al mărimii de intrare (FR/2). 111 110 101 100 011 010 001 000 0 q +1/2 LSB 0-1/2 LSB diagrama ideală 1 2 3 4 5 6 7 x i [LSB] x i [LSB]
codurile numerice de la ieşire codurile numerice de la ieşire 6 Eroarea de câştig numită şi eroare de capăt de scară, se referă la diferenţa dintre valoarea intrării care produce o deviaţie egală cu capătul de scară şi valoarea ideală a acestuia. Eroarea de offset este definită ca diferenţa dintre punctele de zero de pe caracteristica ideală şi cea reală. Punctul de zero se defineşte ca mijlocul treptei pentru care codul digital este nul. Această eroare afectează toate codurile cu aceeaşi valoare şi poate fi de regulă compensată cu ajutorul unui reglaj de zero. FR real eroarea de câştig FR real 111 110 101 100 011 010 001 000 0 diagrama reală diagrama ideală 1 2 3 4 5 6 7 FR ideal x i [LSB] 111 110 101 100 011 010 001 000 0 diagrama ideală eroarea de offset 1 2 3 4 5 6 7 diagrama reală FR ideal x i [LSB]
codurile numerice de la ieşire codurile numerice de la ieşire 7 Eroarea de neliniaritate diferenţială (DNL) reprezintă cea mai mare diferenţă dintre valoarea reală a treptelor de cuantificare şi valoarea lor ideală. În cazul ideal aceasta este 0. Dacă eroarea de neliniaritate devine mai mare decât 1 LSB caracteristica acestuia poate deveni nemonotonă (lipsesc coduri). Eroarea de neliniaritate integrală (INL) reprezintă abaterea maximă a caracteristicii de transfer reale de la caracteristica ideală. Numele de eroare neliniaritate integrală provine de la faptul că sumarea erorilor diferenţiale de la 0 până la un anumit punct determină valoarea erorii integrale în punctul respectiv. Eroarea absolută totală include erorile de offset, câştig, şi de neliniaritate integrală şi eroarea de cuantizare. 111 110 101 100 011 010 001 diagrama reală 1LSB ideal DNL 000 0 1 2 3 4 5 6 7 111 110 101 100 011 010 diagrama ideală diagrama reală INL 001 x i [LSB] 000 0 1 2 3 4 5 6 7 x i [LSB]
8 Convertoare AD integratoare Sunt în principiu convertoare indirecte deoarece comparaţia dintre mărimea de măsurat şi cea de referinţă se face printr-o mărime intermediară, de regulă timpul sau frecvenţa. Avantajul acestor convertoare îl reprezintă rejecţia care o realizează asupra semnalelor perturbatoare suprapuse peste semnalul util. Dintre această familie fac parte convertoarele cu integrare simplă pantă (sau simplă integrare), convertoarele cu integrare dublă pantă (sau cu dublă integrare), convertoarele cu integrare cu pantă multiplă şi convertoarele tensiune frecvenţă. Cele mai răspândite sunt cel cu dublă pantă datorită raportului performanţe / complexitate şi cel cu pantă multiplă datorită preciziei ridicate.
Convertoare AD integratoare 9 Convertorul cu integrare dublă pantă foloseşte ca mărime intermediară timpul şi este un convertor A/D fără reacţie. Schema bloc a unui astfel de convertor este prezentată în figura următoare. Principalele părţi componente sunt integratorul (AO1, R şi C), comparatorul (AO2), oscilatorul (O), o logică de control (LC), numărătorul (N), un registru de memorare (RM), decodificatorul (D) şi afişorul (A). K 2 U i R C LD K 1 AO 1 -U R U 1 AO 2 LC N RM DEC D O Faza de integrarea tensiunii necunoscute LC comandă comutatorul K 1 pe U i, la intrarea integratorului aplicându-se tensiunea de intrare. Integratorul porneşte din condiţii iniţiale nule iar faza durează un timp bine stabilit. Această durată este determinată de descărcarea numărătorului N, care iniţial a fost încărcat cu capacitatea maximă, până la 0. R Z
10 În această această etapă, tensiunea U 1 la ieşirea integratorului se poate scrie: U i U R 1 RC t 0 C t Ui dt U i, RC 1 unde U i se presupune constantă Presupunând N m capacitatea maximă a numărătorului şi f 0 =1/T 0 frecvenţa oscilatorului, această fază durează: T N m m T 0 iar tensiunea la ieşirea integratorului la sfârşitul acestei faze va fi: Nm T0 U1T m U În momentul în care i RC numărătorul N ajunge la 0, LC comandă comutatorul K 1 pe K 2 poziţia U R. LD K 1 AO 1 -U R U 1 AO 2 LC N RM DEC D R O Z
11 Faza de integrare a referinţei Această fază începe odată cu comutarea lui K 1. În această fază, la intrarea integratorului se aplică tensiunea de referinţă U R. Tensiunea U 1 se poate scrie: Tm t 1 Nm T0 t U1 U1( Tm ) U R dt U i U R RC RC RC U i R C T m Această fază se termină când tensiunea U 1 se anulează. În acest moment LC închide comutatorul K 2 (aduce la 0 ieşirea integratorului), transferă conţinutul numărătorului în RM, şi apoi reset-ează numărătorul N. La sfârşitul acestei faze, N a numărat N impulsuri de perioadă T 0. Astfel putem scrie: U1( Tm N T0 ) 0 N T N T K m 0 2 Ui U R RC RC LD 0 K 1 AO 1 -U R U 1 AO 2 LC N RM DEC D R O Z
12 de unde: N N U m R U i Deci numărul de impulsuri adunat în numărător la sfârşitul celor două etape este proporţional cu tensiunea de la intrare, factorul de proporţionalitate fiind raportul a două constante, deci o constantă. Dacă U i =U R, atunci N=N m, adică tensiunea maximă pe care se poate măsura este chiar tensiunea de referinţă în modul. După ce numărul N a fost memorat şi numărătorul adus la 0 (reset-at), procesul se reia, la sfârşitul fiecărei măsurări, valoarea lui N (adică a tensiunii U i ) fiind actualizată pe afişor. Eroarea de măsurare: U U i U U i R R 1 R N N U U R N U i -U R U 1 -U T m i RC Integrare U x...... Integrare U r t t t N m T 0 NT 0
13 Convertoare AD sigma delta Conversia AD sigma-delta este una dintre cele mai moderne tehnologii. Tensiunea de intrare analogică este conectată la un integrator (I), ce produce o variaţie după o pantă ce depinde de mărimea intrării. Tensiunea rampei este comparată cu potențialul masei de către un comparator (C). Comparatorul este echivalent cu un convertor AD de 1 bit: dacă ieșirea integratorului este pozitivă rezultatul conversiei este 1 logic sau dacă ieşirea este negativă rezultatul este 0 logic. Ieșirea sa este memorată într-un bistabil D ce primeşte un tact cu frecvență ridicată. Ieşirea sa este adusă prin reacţie negativă în integrator după ce a fost convertită în analogic (1 bit DAC - comparator), comandând ieşirea integratorului spre 0. + U in Σ + - Integrator - Oversampler D CLK Q Digital low-pass filter Sample decimator Serial output 1-bit DAC
14 Ieşirea este un şir serial de biți. Dacă intrarea analogică este zero, ieşirea integratorului nu va avea nici o tendință de creştere sau descreştere, cu excepția răspunsului la tensiunea de reacție. Ieșirea va continua să oscileze între 1" și 0", deoarece reacţia duce integratorul în sus şi în jos, încercând să o mențină la zero volți: Dacă aplicăm tensiuni negative integratorul va avea tendinţa să îşi crească ieşirea spre zona pozitivă:
15 Convertoare A/D neintegratoare Convertoarele A/D neintegratoare transformă o mărime analogică într-una analogică direct, fără a utiliza conversii intermediare. Din această categorie fac parte convertoarele A/D: paralel, paralel-serie, cu numărător, cu urmărire şi cu aproximaţii succesive. Convertoare A/D cu aproximatii succesive Convertorul A/D cu aproximaţii succesive este unul din cele mai utilizate convertoare. Aplicaţiile sale sunt legate de sistemele unde este necesară o viteză de conversie relativ mare (100-500 Ksamples/s) şi o rezoluţie ridicată (10, 12 biţi). Pe lângă cele 2 caracteristici de mai sus CA/D cu aproximaţii succesive are o construcţie relativ simplă. Funcţionarea acestui convertor se bazează după cum îi este şi numele, pe metoda aproximaţiilor succesive (înjumătăţirii). Este practic cea mai rapidă metodă de determinare a unei mărimi necunoscute aflată într-o anumita plajă. Metoda foloseşte compararea bit cu bit înjumătăţind intervalul în care aceasta este situată. Schema de bază este următoarea:
16 La comanda START (un impuls pozitiv foarte scurt), logica de control (LC) din registrul de aproximaţii succesive (RAS) reset-ează registrul de deplasare RD, după care încarcă registrul de deplasare (RD) cu 1 logic în poziţia bitului de semnificaţie maximă (MSB). Acesta este scos la ieşirea RAS prin intermediul registrului de ieşire (RI). În aceste condiţii la intrările numerice ale DAC se aplică N 1 = 100...0, deci la ieşirea sa va exista o tensiune u r = U REF /2. Comparatorul COMP compară cele 2 tensiuni u in şi u r. Dacă u in >u r atunci ieşirea COMP va fi în 1 logic şi LC va înscrie în RI, în dreptul MSB, valoarea 1 logic, iar în caz contrar va înscrie 0 şi simultan deplasează 1 logic în RD pe poziţia bitului următor.
17 În acest caz la ieşirea RAS va fi N 2 = a n-1 10...0, iar COMP va compara u in cu: u r =(a n-1 U REF /2 + U REF /4) Dacă u in >u r, LC va stabili a n-2 = 1 în RI, iar în caz contrar a n-2 = 0. La pasul următor pragul de comparaţie va fi: u r =a n-1 U REF /2 + a n-2 U REF /4+U REF /8, etc.
18 Schematic, organigrama de funcţionare pentru convertorul A/D cu aproximaţii succesive este ca în figura următoare: Un avantaj al acestui gen de convertor A/D este timpul de conversie care rămâne constant indiferent de valoarea tensiunii de intrare, şi egal cu n perioade de tact unde n este numărul de biţi.
19 În final valoarea tensiunii u r este: u r = U REF 2 1 a n 1 + U REF 2 2 a n 2 + + U REF 2 n a 0 = U n 1 REF 2 n a i 2 i Capătul de scală al acestui convertor este fixat de DAC şi este: FS = u r max = U n 1 REF 2 n a i 2 i i=0 = 2n 1 2 n U REF = U REF 1LSB Convertoarele cu aproximaţii succesive nu sunt recomandate în aplicaţii de tip histogramă în care se lucrează cu distribuţii de amplitudine (spectroscopie nucleară) datorită neuniformităţii treptelor de cuantificare, fapt ce generează neliniarităţi diferenţiale mari. i=0
20 Convertorul AD paralel Convertorul A/D paralel determină toţi biţii simultan. Pentru aceasta se foloseşte un set de 2 n -1 comparatoare şi o logică de codificare care se complică odată cu creşterea numărului de biţi. Principiul acestui convertor este ilustrat în figura următoare. Comparatoarele vor avea ieşirile în 0 logic dacă u in vor fi mai mari decât tensiunile lor de prag. Presupunând u in (k U REF /2 n,(k+1) U REF /2 n ) atunci comparatoarele până la k vor avea ieşirile în 0 logic, iar celelalte vor fi în 1 logic.
21 Codificatorul realizează codificarea în binar. Timpul de conversie este dat de sumă timpilor de stabilizare a unui comparator şi a timpului de propagare prin codificator. Se ating curent timpi de conversie < 5 ns. Circuitul impune utilizarea unui circuit de eşantionare-memorare care înrăutăţeşte şi el timpul de conversie. Un dezavantaj major îl constituie complexitatea circuitului: 2 n -1 comparatoare şi 2 n rezistenţe plus decodificatorul. Acesta poate fi simplificat utilizând o primă conversie din aşa numitul cod termometric în cod unar (doar o singura ieşire a porţilor XOR este în 1 logic) şi apoi o codificare în cod binar cu funcţii SAU cablat cu diode. Convertoarele A/D paralel sunt limitate la rezoluţii mici. O cale de compromis între complexitate şi viteză este folosirea în combinaţie cu altă metodă.
22 Comparatoarele sunt cu câştig redus (amplificare în buclă deschisă) deoarece sunt de bandă largă trebuind să lucreze cu timpi mici de comutaţie. De asemenea au tensiune de decalaj (offset) redusă, aceasta fiind mai mică decât 1LSB, în caz contrar putând apărea abateri de la codul termometric. Convertorul flash este cel mai simplu din punctul de vedere al funcţionării, dar şi din punct de vedere al vitezei, fiind limitat doar în întârzierile de propagare a comparatoarelor și a logicii de codificare. Din păcate, este cel mai complex pentru un număr dat de biți. De exemplu pentru un convertor de 3 biți sunt necesare șapte comparatoare. O versiune de 4 biți necesită 15 comparatoare. Cu fiecare bit suplimentar, numărul comparatoarelor se dublează. Considerând că 8 biți sunt în general numărul minim pentru orice ADC practic, pentru care sunt necesare 255 de comparatoare, se observă imediat marele dezavantaj. Un avantaj important al convertorului paralel, este capacitatea acestuia de a realiza o iconversie neliniară. Cu rezistențe de valoare egală în rețeaua de divizare, fiecare cod binar consecutiv reprezintă aceeași cuantă de creștere a semnalului analogic, oferind un răspuns liniar. Cu toate acestea, pentru aplicații speciale, valorile rezistenţelor din divizor pot fi neegale, de unde se obţine o conversie neliniară a semnalul de intrare. Nici un alt ADC nu permite o conversie neliniară cu atât de puţine componente.
23 Convertoarele A/D paralel-serie Convertorul A/D paralel-serie utilizează 2 convertoare paralel de n/2 biţi şi un convertor D/A de n/2 biţi. Primul convertor A/D realizează conversia pentru biţii cei mai semnificativi, iar al doilea pentru biţii cei mai puţin semnificativi. Figura următoare prezintă principial un astfel de convertor. Convertoarele D/A şi A/D paralel au aceeaşi referinţă deci acelaşi capăt de scară FS. Tensiunea de intrare u in este introdusă în convertor prin repetorul realizat cu AO 1 şi convertită pe n/2 biţi. Astfel se poate scrie: u in = U REF 2 n 2 n 2 1 i=0 a i 2 i + U, unde U < U REF 2 n 2
24 Ieşirea primului convertor paralel de n-2 biţi (grosier) comandă convertorul DAC, iar la ieşirea sa vom găsi: u in = U REF 2 n 2 a i 2 i Prin intermediul etajului cu AO 2 se aplică CAD 2 un semnal diferenţă dintre intrare şi ieşirea DAC: n 2 1 i=0 u O2 = R 2 R 1 u in u O1 Pentru al doilea convertor paralel putem scrie: u O2 = U REF 2 n 2 n 2 1 i=0 a i 2 i + U, unde U < U REF 2 n 2
25 Înlocuind în ultima relaţie, relaţiile anterioare obţinem: 2 n 2 n 2 1 u in = U REF a i 2 i + R 2 U REF a R i 2 i + R 2 U 1 R 1 i=0 2 n 2 Dacă alegem R 1 /R 2 = 1/2 n/2 obţinem: n 1 u in = U REF 2 n a i 2 i + 1 U 2n i=0 Linia de întârziere are rolul de a decala semnalul de intrare, pentru ca acesta să fie aplicat simultan cu u o1 la intrarea lui AO 2. n 2 1 i=0
amplification 26 În imaginea următoare este prezentat un exemplu de conversie paralel-serie în două etape utilizând convertoare paralel de 2 biți. Primul furnizează 10 pentru biții cei mai semnificativi, iar cel de-al doilea10 pentru cei mai puțin semnificativi biți. Rezultatul final este 1010 pe 4 biți, adică U IN =10(U REF /16). 1 st stage 2 nd stage U REF U REF 11 11 U IN 10 U G=2 n 10 U IN ADC2 01 01 00 00 0 0
27 Valoarea binară de la ieşire se obţine prin medierea şirului de biţi. De exemplu un numărător numără valorile de 1. Există şi variante de convertoare cu mai multe integratoare ce furnizează mai mult de 1 bit, dar un concept comun este cel de supra-eşantionare: valorile furnizate de convertor sunt mediate. Rezultatul final este o creștere efectivă a numărului de biți. Cu alte cuvinte, un ADC pe 1 bit cu supra-eşantionare poate face același lucru ca unul pe 8 biți cu o eșantionare unică, dar la o rată mai mică.
28 Consideraţii privind convertoare AD: Timpul de conversie nu creşte cu numărul de biţi pentru convertoarele paralel, în timp ce pentru celelalte creşte semnificativ (pentru cel cu integrare se dublează cu fiecare bit). Împerecherea componentelor limitează convertorul paralel la circa 8 biţi, fiind necesare operaţii de reglaj şi calibrare. Similare sunt şi cazurile convertoarelor cu aproximaţii succesive, paralel serie. Nu este însă cazul convertoarelor integratoare Dimensiunile, costul şi consumul practic se dublează cu fiecare bit pentru convertorul paralel. Celelalte convertoare fie cresc liniar fie îşi păstrează valorile pentru convertoarele integratoare.
29 Performanţe comparative pentru convertoare AD: Tip convertor Viteză Rezoluţie Imunitate la zgomot Cost Aproximaţii succesive Medie (5MHz) 8-20 biţi Slabă Scăzut Integrator Mică (100-200 măs/sec) 12-18 biţi Bună Scăzut Delta sigma Redusă (<3KHz) 14-24 biţi Bună Mediu Flash/paralel Mare (800MHz) 4-8 biţi Absent Ridicat