Ce sunt DAC și ADC? Tipuri de convertoare analog-digital (ADC) Convertor analog-digital pe 8 biți

Ce sunt DAC și ADC? Tipuri de convertoare analog-digital (ADC) Convertor analog-digital pe 8 biți

Convertoare analog-digitale (ADC) – acesta este un dispozitiv cu ajutorul căruia are loc procesul de conversie a unei mărimi fizice de intrare într-o reprezentare numerică. Cantitatea de intrare poate fi curent, tensiune, rezistență, capacitate.

ADC este strâns legat de conceptul de măsurare, care se referă la procesul de comparare cu un standard al mărimii de intrare măsurate. Adică, conversia analog-digitală este considerată ca o măsurare a valorii semnalului de intrare și, în consecință, i se pot aplica conceptele de eroare de măsurare.

ADC-ul are o serie de caracteristici, principalele fiind adâncimea de biți și frecvența de conversie. Adâncimea de biți este exprimată în biți, iar frecvența de conversie este exprimată în mostre pe secundă. Cu cât capacitatea și viteza de biți sunt mai mari, cu atât este mai dificil să dobândești caracteristicile necesare și cu atât convertorul este mai complex și mai scump.

Principiul ADC, compoziția și diagramele structurale depind în mare măsură de metoda de conversie.

Clasificare

În prezent, sunt cunoscute un număr mare de metode de conversie a codului de tensiune. Aceste metode diferă semnificativ unele de altele în ceea ce privește acuratețea potențială, viteza de conversie și complexitatea implementării hardware. În fig. 2 prezintă clasificarea ADC-urilor prin metode de conversie.

Dintre tipurile de convertoare analog-digitale, cele mai populare sunt:

1. Conversie paralelă ADC. Au adâncime redusă de biți și performanță ridicată. Principiul de funcționare este că semnalul de intrare este furnizat intrărilor „pozitive” ale comparatoarelor, iar un număr de tensiuni sunt furnizate celor „negative”. Comparatoarele funcționează în paralel, timpul de întârziere al circuitului este suma timpului de întârziere dintr-un comparator și timpul de întârziere din encoder. Pe baza acestui lucru, codificatorul și comparatorul pot fi realizate rapid, iar circuitul va atinge performanțe ridicate.
2. ADC de aproximare succesivă. Măsoară mărimea semnalului de intrare efectuând o serie de „ponderări” sau comparații ale valorilor tensiunii de intrare și a unui număr de valori. Caracterizat prin viteza mare de conversie și limitat de precizia DAC-ului intern.

3. ADC cu echilibrare de încărcare. Principiul de funcționare este de a compara tensiunea de intrare cu valoarea tensiunii acumulată de integrator. Impulsurile sunt furnizate la intrarea integratorului de polaritate negativă sau pozitivă, pe baza rezultatului comparației. Ca rezultat, tensiunea de ieșire „urmărește” tensiunea de intrare. Caracterizat prin precizie ridicată și niveluri scăzute de zgomot.

Conversia analog-digitală este utilizată oriunde un semnal analogic trebuie să fie recepționat și procesat în formă digitală.

  • ADC este o parte integrantă a unui voltmetru și multimetru digital.
  • ADC-urile video speciale sunt utilizate în tunerele TV computerizate, plăcile de intrare video și camerele video pentru digitizarea semnalelor video. Intrările audio pentru microfon și linie ale computerelor sunt conectate la un ADC audio.
  • ADC-urile sunt parte integrantă a sistemelor de achiziție de date.
  • ADC-urile de aproximare succesive cu o capacitate de 8-12 biți și ADC-urile sigma-delta cu o capacitate de 16-24 de biți sunt încorporate în microcontrolere cu un singur cip.
  • Sunt necesare ADC-uri foarte rapide în osciloscoapele digitale (se folosesc ADC-uri paralele și de conductă)
  • Cântarele moderne folosesc ADC-uri cu o rezoluție de până la 24 de biți, care convertesc semnalul direct de la senzorul de extensometru (ADC sigma-delta).
  • ADC-urile fac parte din modemurile radio și alte dispozitive de transmisie de date radio, unde sunt utilizate împreună cu un procesor DSP ca demodulator.
  • ADC-urile ultra-rapide sunt utilizate în sistemele de antene ale stațiilor de bază (în așa-numitele antene SMART) și în rețele de antene radar.

34. Convertoare digital-analogic, scop, structură, principiu de funcționare.

Convertor digital-analogic (DAC) - un dispozitiv pentru conversia unui cod digital (de obicei binar) într-un semnal analogic (curent, tensiune sau sarcină). Convertoarele digital-analogic sunt interfața dintre lumea digitală discretă și semnalele analogice.

Un convertor analog-digital (ADC) efectuează operația inversă.

Un DAC audio primește de obicei un semnal digital modulat prin cod de impuls ca intrare. Sarcina de a converti diferite formate comprimate în PCM este realizată de codecurile respective.

DAC aplicat ori de câte ori este necesară convertirea unui semnal dintr-o reprezentare digitală în una analogică, de exemplu, în CD playere (CD audio).

Convertoarele digital-analogic (DAC) și convertoarele analog-digital (ADC) sunt utilizate în principal pentru a interfața dispozitivele și sistemele digitale cu semnale analogice externe cu lumea reală. În acest caz, ADC-ul convertește semnalele analogice în semnale digitale de intrare care sunt transmise dispozitivelor digitale pentru procesare sau stocare ulterioară, iar DAC-ul convertește semnalele digitale de ieșire ale dispozitivelor digitale în semnale analogice.

Microcircuite specializate produse de multe companii interne și străine sunt de obicei folosite ca DAC și ADC.

Cip DAC poate fi reprezentat ca un bloc (Fig. 13) cu mai multe intrări digitale și o intrare analogică, precum și o ieșire analogică.

Orez. 13. Cip DAC

Codul de n biți N este furnizat intrărilor digitale ale DAC, iar tensiunea de referință U op este furnizată intrării analogice (o altă desemnare comună este U REF). Semnalul de ieșire este tensiunea U out (o altă desemnare este U O) sau curentul I out (o altă desemnare este I O). În acest caz, curentul de ieșire sau tensiunea de ieșire este proporțională cu codul de intrare și tensiunea de referință. Pentru unele microcircuite, tensiunea de referință trebuie să aibă un nivel strict specificat, pentru altele, este posibil să-și schimbe valoarea în limite largi, inclusiv schimbarea polarității (pozitiv în negativ și invers). Un DAC cu o gamă mare de tensiuni de referință se numește DAC de multiplicare deoarece poate fi utilizat cu ușurință pentru a multiplica codul de intrare cu orice tensiune de referință.

Esența conversiei unui cod digital de intrare într-un semnal analogic de ieșire este destul de simplă. Constă în însumarea mai multor curenți (după numărul de biți ai codului de intrare), fiecare următor fiind de două ori mai mare decât cel anterior. Pentru a obține acești curenți, se folosesc fie surse de curent tranzistor, fie matrici rezistive comutate prin comutatoare cu tranzistori.

Ca exemplu, Fig. 14 prezintă o conversie digital-analogică pe 4 biți (n = 4) bazată pe o matrice rezistivă R–2R și comutatoare (în realitate, se folosesc comutatoare pe bază de tranzistori). Poziția dreaptă a tastei corespunde unuia din acest bit al codului de intrare N (biții D0…D3). Amplificatorul operațional poate fi fie încorporat (în cazul unui DAC cu ieșire în tensiune), fie extern (în cazul unui DAC cu ieșire în curent).

Orez. 14. Conversie digital-analogică pe 4 biți

Primul comutator (stânga în figură) comută un curent cu valoarea U REF /2R, al doilea comutator - curent U REF /4R, al treilea - curent U REF /8R, al patrulea - curent U REF /16R. Adică, curenții comutați de tastele adiacente diferă la jumătate, la fel ca și greutățile biților codului binar. Curenții comutați de toate comutatoarele sunt însumați și transformați într-o tensiune de ieșire folosind un amplificator operațional cu rezistență R OS = R în circuitul de feedback negativ.



Când fiecare comutator este în poziția corectă (unul în bitul corespunzător al codului de intrare DAC), curentul comutat de această tastă este furnizat pentru însumare. Când comutatorul este în poziția stângă (zero în bitul corespunzător al codului de intrare DAC), curentul comutat de această tastă nu este furnizat pentru însumare.

Curentul total I O de la toate comutatoarele creează o tensiune la ieșirea amplificatorului operațional U O =I O R OS =I OR. Adică, contribuția primei chei (cel mai semnificativ bit al codului) la tensiunea de ieșire este U REF /2, a doua - U REF /4, a treia - U REF /8, a patra - U REF /16 . Astfel, cu codul de intrare N = 0000, tensiunea de ieșire a circuitului va fi zero, iar cu codul de intrare N = 1111 va fi egală cu –15U REF /16.

În general, tensiunea de ieșire a DAC la R OS = R va fi legată de codul de intrare N și tensiunea de referință U REF printr-o formulă simplă

U OUT = –N U REF 2 -n

unde n este numărul de biți ai codului de intrare. Unele cipuri DAC oferă capacitatea de a funcționa în modul bipolar, în care tensiunea de ieșire nu se schimbă de la zero la U REF, ci de la –U REF la +U REF. În acest caz, semnalul de ieșire al DAC U OUT este înmulțit cu 2 și deplasat cu valoarea U REF. Relația dintre codul de intrare N și tensiunea de ieșire U OUT va fi următoarea:

U OUT =U REF (1–N 2 1–n)

cipuri ADC efectuează o funcție direct opusă celei unui DAC - transformă semnalul analogic de intrare într-o secvență de coduri digitale. În general, un cip ADC poate fi reprezentat ca un bloc care are o intrare analogică, una sau două intrări pentru furnizarea unei tensiuni de referință (de referință), precum și ieșiri digitale pentru emiterea unui cod corespunzător valorii curente a semnalului analogic ( Fig. 15).

Adesea, cipul ADC are, de asemenea, o intrare pentru furnizarea unui semnal de ceas CLK, un semnal de activare CS și un semnal care indică disponibilitatea codului digital de ieșire RDY. Microcircuitul este alimentat cu una sau două tensiuni de alimentare și un fir comun.

Orez. 15. Cip ADC

În prezent, au fost dezvoltate multe metode diferite de conversie analog-digitală, de exemplu, metode de numărare secvenţială, echilibrare pe biţi, integrare dublă; cu conversie tensiune în frecvență, conversie paralelă. Circuitele convertoare construite pe baza metodelor enumerate pot conține sau nu un DAC.

Sistem ADC de numărare în serie este prezentat în Fig.16, a După cum se poate observa din grafic, timpul de conversie de acest tip este variabil și depinde de semnalul analog de intrare, cu toate acestea, ciclul de funcționare al întregului dispozitiv este constant și egal cu,, unde. T0- perioada generatorului de impulsuri de referință, n-capacitatea de biți a contorului și a ADC-ului însuși. Funcționarea unui astfel de ADC nu necesită sincronizare, ceea ce simplifică foarte mult construcția unui circuit de control. Din momentul în care semnalul „Start” ajunge la ieșirea ADC cu o frecvență de 1/ Tp codurile digitale ale modificării rezultatului conversiei (frecvența 1/ Tp- parametru care determină frecvența maximă de urmărire admisă a semnalului de intrare).

Cele mai importante caracteristici ale ADC-urilor sunt precizia, viteza și costul lor. Precizia este legată de adâncimea de biți ADC. Faptul este că semnalul analogic de la intrarea ADC se transformă într-un cod digital binar la ieșire, adică. Un ADC este un contor de magnitudine a semnalului analogic cu o precizie de jumătate din cifra cea mai puțin semnificativă. Prin urmare, să zicem, un ADC pe 8 biți oferă o precizie de conversie nu mai mare decât valoarea maximă posibilă. Un ADC pe 10 biți oferă o precizie de conversie nu mai mare de , un ADC pe 14 biți oferă o precizie mai mare de , iar un ADC pe 16 biți nu oferă o precizie mai mare de la valoarea maximă posibilă.

Performanța unui ADC este caracterizată de perioada de timp necesară pentru a efectua o conversie sau de numărul de conversii posibile pe unitatea de timp (frecvența de conversie).

În mod obișnuit, cu cât este mai mare precizia (capacitatea de biți) a unui ADC, cu atât performanța acestuia este mai mică și cu cât precizia și performanța sunt mai mari, cu atât costul ADC-ului este mai mare. Prin urmare, atunci când proiectați un senzor inteligent, este necesar să îi selectați corect parametrii.

ADC-urile sunt acum construite conform diferitelor principii de circuit și sunt produse atât sub formă de circuite integrate individuale, cât și ca unități de circuite mai complexe (de exemplu, microcontrolere).

Convertor digital-analogic. .

Aceste dispozitive sunt „conductoare” între analogicŞi digital lumi de electricitate.

Concluzia este că senzorii, motoarele, luminile și multe alte dispozitive folosesc semnal analogic, adică, de exemplu, o tensiune cu un nivel de la 0V la 12V, în timp ce FPGA-urile digitale, microcontrolerele și cipurile necesită niveluri constante de tensiune, de exemplu 0V și 5V, reprezentând 0 și 1 logic respectiv.

Exemplul 1. DAC

Să ne imaginăm că ni se dă sarcina de a controla luminozitatea unui LED:

  • 10 niveluri (gradații) Luminozitatea LED-urilor
  • tensiune maximă prin LED 9V
  • controlat cu un microcontroler și două butoane „+1 nivel de luminozitate”, „-1 nivel de luminozitate”

Deci, LED-ul funcționează la o tensiune de la 0 la 9V. Nu este greu de ghicit că 10 gradări de luminozitate sunt 10 niveluri de tensiune pe care le aplicăm LED-ului - 0V, 1V, ..., 9V

Microcontrolerul emite tensiune fie 0V, fie 5V. Dar nu 1B, 3B, 4B sau 9B. Dar microcontrolerul are multe logic pini la care ne putem conecta DAC y si convertit logica in semnal analogic.

U convertor digital-analogic există, de exemplu, 4 pini de intrare pentru conectarea semnalelor logice și 2 pini pentru ieșire analogic tensiune de la 0 la 15V - bornele „+” și „-“.

Iată treaba ta DAC a: când ne hrănim cu toate cele 4 picioare logic 1, apoi nivelul de tensiune analogic semnalul de ieșire este maxim( 15V în cazul nostru), când furnizăm 0 - minim, adică 0V

Acum vine partea distractivă. La fiecare pin de intrare DAC dar există o „greutate” pentru semnalul de ieșire. De exemplu, pinul de sus „cântărește” 8V (adică dacă aplicăm 1 logic doar la primul pin, atunci vom obține 8V la ieșire), următorul de mai jos este 4B, următorul este 2B, iar ultimul de mai jos este 1B. Acum adăugați aceste numere și obțineți 15V.

Trebuie să obținem nivelurile 0B, 1B, 2B, 3B, 4B, 5B, 6B, 7B, 8B și 9B.

Aceasta înseamnă că intrările DAC trebuie să trimiteți codurile în conformitate cu următorul tabel

Tensiune la analogic Ieșire 0V 1B 2B 3B 4B 5V 6V 7V 8V 9V
Intrare 1, greutate 8V 0 0 0 0 0 0 0 0 1 1
Intrare 1, greutate 4V 0 0 0 0 1 1 1 1 0 0
Intrare 1, greutate 2V 0 0 1 1 0 0 1 1 0 0
Intrare 1, greutate 1V 0 1 0 1 0 1 0 1 0 1

Butoanele „+1 nivel de luminozitate”, „-1 nivel de luminozitate” vor adăuga sau scădea 1 unitate din ieșire digital semnal de microcontroler. Acest semnal va fi trimis la intrări DAC. Ieșire DAC va fi conectat la LED. Misiune îndeplinită!

Exemplul 2. ADC

Convertor analog-digitalfuncționează pe principiul invers. Aplicăm un nivel de tensiune în schimbare la intrare, iar la ieșire obținem logica (biți) +5V și 0V sau 1 și 0 logic

Să stabilim sarcina de a lua citiri de la senzorul de temperatură:

  • senzorul arata temperatura de la 0C la 30C
  • la 0C senzorul iese 0V, la 30C iese 15V
  • semnalul trebuie primit de microcontroler în formă digitală (logic 1 și 0, tensiune +5V și 0V)

ADC are doi pini de intrare pentru recepția unui semnal analog de tensiune, de exemplu, de la 0 la 15V și, în cazul nostru, 4 pini pentru ieșire semnal logic digital. Adică un semnal de cod paralel pe patru biți.


Conectam ieșirea de la senzorul nostru la intrarea analogică ADC, și ieșirea digitală pe patru biți de la ADC conectați la microcontroler. Și primim deja citiri de la senzor în formă digitală pe microfon. Datele din proces vor corespunde tabelului de mai jos.

APC- Asta O taxa C digital P convertor În limba engleză ADC (O impozit la- D digital C onvertor). Adică un dispozitiv special care îl convertește în digital.

ADC este utilizat în tehnologia digitală. În special, aproape toate cele moderne au un ADC încorporat.

După cum probabil știți deja, microprocesoarele (cum ar fi procesoarele computerelor) nu înțeleg nimic mai mult decât numerele binare. Rezultă că microprocesorul (care stă la baza oricărui microcontroler) nu poate procesa direct un semnal analogic.

ADC-ul unui microcontroler măsoară de obicei doar tensiunea în intervalul de la 0 la tensiunea de alimentare a microcontrolerului.

Caracteristicile ADC

Există diferite ADC-uri cu caracteristici diferite. Caracteristica principală este adâncimea de biți. Cu toate acestea, există și altele. De exemplu, tipul de semnal analogic care poate fi conectat la intrarea ADC.

Toate aceste caracteristici sunt descrise în documentația pentru ADC (dacă este proiectat ca un cip separat) sau în documentația pentru microcontroler (dacă ADC-ul este încorporat în microcontroler).

Pe lângă capacitatea de biți, despre care am discutat deja, mai putem numi câteva caracteristici de bază.

Bit cel mai puțin semnificativ (LSB). Aceasta este cea mai mică tensiune de intrare care poate fi măsurată de ADC. Determinat prin formula:

1 LSB = Uop / 2 R

Unde Uop este tensiunea de referință (indicată în specificațiile ADC). De exemplu, cu o tensiune de referință de 1 V și o lățime de biți de 8 biți, obținem:

1 LSB = 1 / 2 8 = 1 / 256 = 0,004 V

Neliniaritate integrală - neliniaritate integrală a codului de ieșire ADC. Este clar că orice transformare introduce distorsiuni. Și această caracteristică determină neliniaritatea valorii de ieșire, adică abaterea valorii de ieșire ADC de la valoarea liniară ideală. Această caracteristică este măsurată în LSB.

Cu alte cuvinte, această caracteristică determină cât de „curbă” poate fi o linie pe graficul semnalului de ieșire, care în mod ideal ar trebui să fie dreaptă (vezi figura).

Precizie absolută. De asemenea, măsurat în LSB. Cu alte cuvinte, aceasta este eroarea de măsurare. De exemplu, dacă această caracteristică este +/- 2 LSB și LSB = 0,05 V, atunci aceasta înseamnă că eroarea de măsurare poate ajunge la +/- 2 * 0,05 = +/- 0,1 V.

ADC-ul are și alte caracteristici. Dar pentru început, acest lucru este mai mult decât suficient.

Conexiune ADC

Permiteți-mi să vă reamintesc că în esență există două tipuri: curent și tensiune. În plus, semnalele pot avea o gamă standard de valori și una non-standard. Intervalele standard de valori ale semnalului analogic sunt descrise în GOST (de exemplu, GOST 26.011-80 și GOST R 51841-2001). Dar, dacă dispozitivul dvs. folosește un fel de senzor de casă, atunci semnalul poate diferi de cel standard (deși vă sfătuiesc să alegeți un semnal standard în orice caz - pentru compatibilitatea cu senzorii standard și alte dispozitive).

ADC-urile măsoară în primul rând tensiunea.

Voi încerca să vorbesc despre (în termeni generali) cum să conectez un senzor analogic la un ADC și apoi cum să rezolv valorile pe care ADC-ul le va produce.

Deci, să presupunem că vrem să măsurăm temperatura în intervalul -40...+50 de grade folosind un senzor special cu o ieșire standard de 0...1V. Sa zicem ca avem un senzor care poate masura temperatura in intervalul -50...+150 de grade.

Dacă un senzor de temperatură are o ieșire standard, atunci, de regulă, tensiunea (sau curentul) la ieșirea senzorului variază liniar. Adică, putem determina cu ușurință ce tensiune va fi la ieșirea senzorului la o anumită temperatură.

Ce este legea liniară? Acesta este momentul în care intervalul de valori de pe grafic arată ca o linie dreaptă (a se vedea figura). Știind că o temperatură de la -50 la +150 dă o tensiune la ieșirea senzorului care variază în funcție de o lege liniară, noi, așa cum am spus deja, putem calcula această tensiune pentru orice valoare a temperaturii dintr-un interval dat.

În general, pentru a converti un interval de temperatură într-un interval de tensiune în cazul nostru, trebuie să comparăm cumva două scale, dintre care una este un interval de temperatură, iar cealaltă este un interval de tensiune.

Puteți determina vizual tensiunea în funcție de temperatură folosind graficul (vezi figura de mai sus). Dar microcontrolerul nu are ochi (deși, bineînțeles, poți să te distrezi și să creezi un dispozitiv pe un microcontroler care să recunoască imaginile și să determine valoarea temperaturii din tensiunea de pe grafic, dar să lăsăm acest divertisment pe seama fanilor roboticii )))

În primul rând, determinăm intervalul de temperatură. Avem de la -50 la 150, adică 201 de grade (nu uitați de zero).

Și gama de tensiuni măsurate este de la 0 la 1 V.

Adică, trebuie să strângem intervalul de la 0 la 200 (201 în total) în scara de la 0 la 1.

Găsirea factorului de conversie:

K = U / Td = 1 / 200 = 0,005 (1)

Adică, atunci când temperatura se schimbă cu 1 grad, tensiunea de la ieșirea senzorului se va modifica cu 0,005 V. Aici Td este intervalul de temperatură. Nu valorile temperaturii, ci numărul de unități de măsură (în cazul nostru, grade) pe scara de temperatură, în comparație cu scala de tensiune (nu luăm în considerare zero pentru simplitate, deoarece există și un zero în domeniul de tensiune ).

Verificăm caracteristicile ADC-ului microcontrolerului pe care intenționăm să-l folosim. Valoarea LSB nu trebuie să fie mai mare de K (mai mult de 0,005 în cazul nostru, mai precis, acest lucru este acceptabil dacă sunteți mulțumit cu o eroare de mai mult de 1 unitate de măsură - mai mult de 1 grad în cazul nostru).

În esență, K este volți pe grad, adică așa am aflat după ce valoare se schimbă tensiunea când temperatura se schimbă cu 1 grad.

Acum avem toate datele necesare pentru a converti valoarea de ieșire ADC într-o valoare a temperaturii în programul microcontrolerului.

Ne amintim că am schimbat intervalul de temperatură cu 50 de grade. Acest lucru trebuie luat în considerare la transformarea valorii de ieșire ADC în temperatură.

Și formula va fi așa:

T = (U / K) - 50 (2)

De exemplu, dacă ieșirea ADC este de 0,5 V, atunci

T = (U / K) - 50 = (0,5 / 0,005) - 50 = 100 - 50 = 50 de grade

Acum trebuie să determinăm discretitatea, adică precizia dorită de măsurare.

După cum vă amintiți, eroarea absolută poate fi de mai multe LSB. În plus, există și o distorsiune neliniară, care este de obicei egală cu 0,5 LSB. Adică, eroarea totală a ADC poate ajunge la 2-3 LSB.

In cazul nostru este:

Sus = 3 LSB * 0,005 = 0,015 V

Sau 3 grade.

Dacă în cazul dvs. totul nu este atât de neted, atunci din nou folosim formula derivată din (1):

Td = Sus / K = 0,015 / 0,005 = 3

Dacă ți se potrivește o eroare de 3 grade, atunci nu trebuie să schimbi nimic. Ei bine, dacă nu, atunci va trebui să selectați un ADC cu o capacitate de biți mai mare sau să găsiți un alt senzor (cu o gamă diferită de temperatură sau cu o tensiune de ieșire diferită).

De exemplu, dacă reușiți să găsiți un senzor cu un interval de -40...+50, așa cum ne-am dorit, și cu aceeași ieșire 0...1V, atunci

K = 1 / 90 = 0,01

Atunci eroarea absolută va fi:

Td = Sus / K = 0,015 / 0,01 = 1,5 grade.

Acest lucru este deja mai mult sau mai puțin acceptabil. Ei bine, dacă aveți un senzor cu o ieșire de 0...5V (și acesta este un semnal standard), atunci

K = 5 / 90 = 0,05

Și eroarea absolută va fi:

Td = Sus / K = 0,015 / 0,05 = 0,3 grade.

Acest lucru nu este absolut nimic.

Dar! Rețineți că aici ne uităm doar la eroarea ADC. Dar senzorul în sine are și o eroare de care trebuie luată în considerare.

Dar toate acestea sunt deja din domeniul electronicii și al metrologiei, așa că voi termina acest articol aici.

Și la sfârșit, pentru orice eventualitate, voi da formula pentru convertirea temperaturii înapoi în tensiune:

U = K * (Tv + 50) = 0,005 * (150 + 50) = 1

P.S. Am scris acest articol după o zi grea la muncă, așa că dacă am greșit undeva, îmi cer scuze)))


Acest articol discută principalele probleme privind principiul de funcționare a diferitelor tipuri de ADC-uri. În același timp, unele calcule teoretice importante privind descrierea matematică a conversiei analog-digitale au fost lăsate în afara domeniului articolului, dar sunt furnizate link-uri unde cititorul interesat poate găsi o analiză mai aprofundată a aspectelor teoretice ale funcţionarea ADC. Astfel, articolul se preocupă mai mult de înțelegerea principiilor generale de funcționare a ADC-urilor decât de o analiză teoretică a funcționării lor.

Introducere

Ca punct de plecare, să definim conversia analog-digitală. Conversia analog-digitală este procesul de conversie a unei mărimi fizice de intrare în reprezentarea sa numerică. Un convertor analog-digital este un dispozitiv care realizează o astfel de conversie. În mod formal, valoarea de intrare a ADC poate fi orice mărime fizică - tensiune, curent, rezistență, capacitate, rată de repetare a impulsului, unghi de rotație a arborelui etc. Cu toate acestea, pentru certitudine, în cele ce urmează, prin ADC vom înțelege exclusiv convertoare tensiune-cod.


Conceptul de conversie analog-digitală este strâns legat de conceptul de măsurare. Prin măsurare înțelegem procesul de comparare a valorii măsurate cu un anumit standard în timpul conversiei analog-digitale, valoarea de intrare este comparată cu o anumită valoare de referință (de obicei, o tensiune de referință); Astfel, conversia analog-digitală poate fi considerată ca o măsurare a valorii semnalului de intrare și i se aplică toate conceptele de metrologie, cum ar fi erorile de măsurare.

Principalele caracteristici ale ADC

ADC-ul are multe caracteristici, principalele fiind frecvența de conversie și adâncimea de biți. Frecvența de conversie este de obicei exprimată în mostre pe secundă (SPS), iar adâncimea de biți este în biți. ADC-urile moderne pot avea o lățime de biți de până la 24 de biți și o viteză de conversie de până la unități GSPS (desigur, nu în același timp). Cu cât viteza și capacitatea de biți sunt mai mari, cu atât este mai dificilă obținerea caracteristicilor necesare, cu atât convertorul este mai scump și mai complex. Viteza de conversie și adâncimea de biți sunt legate între ele într-un anumit fel și putem crește adâncimea efectivă de biți de conversie prin sacrificarea vitezei.

Tipuri de ADC-uri

Există multe tipuri de ADC, dar în scopul acestui articol ne vom limita la a lua în considerare doar următoarele tipuri:

  • Conversie paralelă ADC (conversie directă, ADC flash)
  • ADC de aproximare succesivă (SAR ADC)
  • ADC delta-sigma (ADC cu încărcare echilibrată)
Există, de asemenea, alte tipuri de ADC-uri, inclusiv tipuri pipeline și combinate, constând din mai multe ADC-uri cu arhitecturi (în general) diferite. Cu toate acestea, arhitecturile ADC enumerate mai sus sunt cele mai reprezentative datorită faptului că fiecare arhitectură ocupă o nișă specifică în intervalul general de biți de viteză.

ADC-urile de conversie directă (paralelă) au cea mai mare viteză și cea mai mică adâncime de biți. De exemplu, ADC-ul paralel TLC5540 de la Texas Instruments are o viteză de 40MSPS cu doar 8 biți. ADC-urile de acest tip pot avea o viteză de conversie de până la 1 GSPS. Se poate remarca aici că ADC-urile pipeline au o viteză și mai mare, dar sunt o combinație de mai multe ADC-uri cu viteză mai mică și luarea în considerare a acestora depășește scopul acestui articol.

Nișa de mijloc în seria de viteză de biți este ocupată de ADC-uri succesive de aproximare. Valorile tipice sunt 12-18 biți cu o frecvență de conversie de 100KSPS-1MSPS.

Cea mai mare precizie este obținută de ADC-urile sigma-delta cu o lățime de biți de până la 24 de biți inclusiv și o viteză de la unități SPS la unități KSPS.

Un alt tip de ADC care și-a găsit utilizare în trecutul recent este ADC-ul de integrare. ADC-urile de integrare au fost aproape complet înlocuite de alte tipuri de ADC, dar pot fi găsite în instrumentele de măsură mai vechi.

Conversie directă ADC

ADC-urile cu conversie directă s-au răspândit în anii 1960 și 1970 și au început să fie produse ca circuite integrate în anii 1980. Ele sunt adesea folosite ca parte a ADC-urilor „pipeline” (nu sunt discutate în acest articol) și au o capacitate de 6-8 biți la o viteză de până la 1 GSPS.

Arhitectura ADC cu conversie directă este prezentată în Fig. 1

Orez. 1. Schema bloc a ADC cu conversie directă

Principiul de funcționare al ADC este extrem de simplu: semnalul de intrare este furnizat simultan la toate intrările „pozitive” ale comparatoarelor, iar la cele „negative” sunt furnizate o serie de tensiuni, obținute din tensiunea de referință prin împărțirea acestora cu rezistențe R. Pentru circuitul din fig. 1 acest rând va fi astfel: (1/16, 3/16, 5/16, 7/16, 9/16, 11/16, 13/16) Uref, unde Uref este tensiunea de referință ADC.

Lasă o tensiune egală cu 1/2 Uref să fie aplicată la intrarea ADC. Atunci primele 4 comparatoare vor funcționa (dacă numărați de mai jos), iar la ieșirile lor vor apărea cele logice. Codificatorul prioritar va forma un cod binar dintr-o „coloană” de unele, care este capturat în registrul de ieșire.

Acum, avantajele și dezavantajele unui astfel de convertor devin clare. Toate comparatoarele funcționează în paralel, timpul de întârziere al circuitului este egal cu timpul de întârziere dintr-un comparator plus timpul de întârziere din encoder. Comparatorul și codificatorul pot fi realizate foarte rapid, ca urmare întregul circuit are performanțe foarte ridicate.

Dar pentru a obține N biți, sunt necesari 2^N comparatori (și complexitatea codificatorului crește, de asemenea, cu 2^N). Schema din fig. 1. conține 8 comparatoare și are 3 biți, pentru a obține 8 biți ai nevoie de 256 de comparatoare, pentru 10 biți - 1024 de comparatoare, pentru un ADC de 24 de biți ar avea nevoie de peste 16 milioane Totuși, tehnologia nu a atins încă astfel de înălțimi.

ADC de aproximare succesivă

Un convertor analog-digital de registru de aproximare succesiv (SAR) măsoară mărimea semnalului de intrare prin efectuarea unei serii de „ponderări” secvențiale, adică comparații ale valorii tensiunii de intrare cu o serie de valori generate după cum urmează:

1. în primul pas, ieșirea convertorului digital-analogic încorporat este setată la o valoare egală cu 1/2Uref (în continuare presupunem că semnalul este în intervalul (0 – Uref).

2. dacă semnalul este mai mare decât această valoare, atunci este comparat cu tensiunea situată la mijlocul intervalului rămas, adică, în acest caz, 3/4Uref. Dacă semnalul este mai mic decât nivelul setat, atunci următoarea comparație se va face cu mai puțin de jumătate din intervalul rămas (adică cu un nivel de 1/4Uref).

3. Pasul 2 se repetă de N ori. Astfel, N comparații („ponderări”) produc N biți ai rezultatului.

Orez. 2. Schema bloc a unui ADC de aproximare succesivă.

Astfel, ADC de aproximare succesivă constă din următoarele noduri:

1. Comparator. Acesta compară valoarea de intrare și valoarea curentă a tensiunii de „ponderare” (în Fig. 2, indicată printr-un triunghi).

2. Convertor digital în analog (DAC). Acesta generează o „greutate” de tensiune pe baza codului digital primit la intrare.

3. Registrul de aproximare succesivă (SAR). Implementează un algoritm de aproximare succesivă, generând valoarea curentă a codului alimentat la intrarea DAC. Întreaga arhitectură ADC poartă numele acesteia.

4. Schema Sample/Hold (Sample/Hold, S/H). Pentru funcționarea acestui ADC, este esențial important ca tensiunea de intrare să rămână constantă pe tot parcursul ciclului de conversie. Cu toate acestea, semnalele „reale” tind să se schimbe în timp. Circuitul de eșantionare și menținere „îți amintește” valoarea curentă a semnalului analogic și o menține neschimbată pe parcursul întregului ciclu de funcționare al dispozitivului.

Avantajul dispozitivului este viteza de conversie relativ mare: timpul de conversie al unui ADC de N biți este de N cicluri de ceas. Precizia conversiei este limitată de precizia DAC-ului intern și poate fi de 16-18 biți (ADC-urile SAR de 24 de biți au început să apară acum, de exemplu, AD7766 și AD7767).

ADC Delta-Sigma

În cele din urmă, cel mai interesant tip de ADC este ADC sigma-delta, uneori numit în literatură ADC cu sarcină echilibrată. Diagrama bloc a ADC sigma-delta este prezentată în Fig. 3.

Fig.3. Diagrama bloc a unui ADC sigma-delta.

Principiul de funcționare al acestui ADC este ceva mai complex decât cel al altor tipuri de ADC. Esența sa este că tensiunea de intrare este comparată cu valoarea tensiunii acumulată de integrator. Impulsurile de polaritate pozitivă sau negativă sunt furnizate la intrarea integratorului, în funcție de rezultatul comparației. Astfel, acest ADC este un sistem simplu de urmărire: tensiunea de la ieșirea integratorului „urmărește” tensiunea de intrare (Fig. 4). Rezultatul acestui circuit este un flux de zerouri și unu la ieșirea comparatorului, care este apoi trecut printr-un filtru digital trece-jos, rezultând un rezultat de N biți. LPF din fig. 3. Combinat cu un „decimator”, un dispozitiv care reduce frecvența citirilor prin „decimarea” acestora.

Orez. 4. Sigma-delta ADC ca sistem de urmărire

Din motive de rigoare a prezentării, trebuie spus că în Fig. Figura 3 prezintă o diagramă bloc a unui ADC sigma-delta de ordinul întâi. ADC sigma-delta de ordinul doi are doi integratori și două bucle de feedback, dar nu va fi discutat aici. Cei interesați de acest subiect se pot referi la.

În fig. Figura 5 prezintă semnalele din ADC la nivelul de intrare zero (sus) și la nivelul Vref/2 (jos).

Orez. 5. Semnale în ADC la diferite niveluri de semnal de intrare.

Acum, fără să ne aprofundăm în analize matematice complexe, să încercăm să înțelegem de ce ADC-urile sigma-delta au un nivel de zgomot foarte scăzut.

Să luăm în considerare schema bloc a modulatorului sigma-delta prezentat în Fig. 3 și prezentați-l sub această formă (Fig. 6):

Orez. 6. Schema bloc a unui modulator sigma-delta

Aici comparatorul este reprezentat ca un sumator care adaugă semnalul dorit continuu și zgomotul de cuantizare.

Fie ca integratorul să aibă o funcție de transfer 1/s. Apoi, reprezentând semnalul util ca X(s), ieșirea modulatorului sigma-delta ca Y(s) și zgomotul de cuantizare ca E(s), obținem funcția de transfer ADC:

Y(s) = X(s)/(s+1) + E(s)s/(s+1)

Adică, de fapt, modulatorul sigma-delta este un filtru trece-jos (1/(s+1)) pentru semnalul util și un filtru trece-înalt (s/(s+1)) pentru zgomot, ambele filtre având aceeași frecvență de tăiere. Zgomotul concentrat în regiunea de înaltă frecvență a spectrului este ușor îndepărtat de un filtru digital trece-jos, care este situat după modulator.

Orez. 7. Fenomenul de „deplasare” a zgomotului în partea de înaltă frecvență a spectrului

Cu toate acestea, trebuie înțeles că aceasta este o explicație extrem de simplificată a fenomenului de modelare a zgomotului într-un ADC sigma-delta.

Așadar, principalul avantaj al ADC sigma-delta este precizia sa ridicată, datorită nivelului extrem de scăzut al propriului zgomot. Cu toate acestea, pentru a obține o precizie ridicată, este necesar ca frecvența de tăiere a filtrului digital să fie cât mai mică posibil, de multe ori mai mică decât frecvența de funcționare a modulatorului sigma-delta. Prin urmare, ADC-urile sigma-delta au o viteză scăzută de conversie.

Ele pot fi utilizate în ingineria audio, dar utilizarea lor principală este în automatizarea industrială pentru conversia semnalelor senzorilor, în instrumente de măsură și în alte aplicații în care este necesară o precizie ridicată. dar viteza mare nu este necesară.

Puțină istorie

Cea mai veche mențiune a unui ADC din istorie este probabil brevetul Paul M. Rainey, „Facsimile Telegraph System”, U.S. Brevet 1.608.527, depus la 20 iulie 1921, eliberat la 30 noiembrie 1926. Dispozitivul descris în brevet este de fapt un ADC cu conversie directă de 5 biți.

Orez. 8. Primul brevet pentru ADC

Orez. 9. Conversie directă ADC (1975)

Dispozitivul prezentat în figură este un ADC MOD-4100 cu conversie directă fabricat de Computer Labs, fabricat în 1975, asamblat folosind comparatoare discrete. Există 16 comparatoare (acestea sunt amplasate într-un semicerc pentru a egaliza întârzierea de propagare a semnalului către fiecare comparator), prin urmare, ADC-ul are o lățime de doar 4 biți. Viteza de conversie 100 MSPS, consum de energie 14 wați.

Următoarea figură prezintă o versiune avansată a ADC cu conversie directă.

Orez. 10. Conversie directă ADC (1970)

VHS-630 din 1970, fabricat de Computer Labs, conținea 64 de comparatoare, avea 6 biți, 30MSPS și consuma 100 wați (versiunea din 1975 VHS-675 avea 75 MSPS și consuma 130 wați).

Literatură

W. Kester. Arhitecturi ADC I: Convertorul Flash. Analog Devices, MT-020 Tutorial.

vederi