Principiul general de funcționare al ADC. Convertoare analog-digital și digital-analogic. (ADC) și (DAC) Conversie analog-digitală

Convertoarele analog-digitale sunt proiectate pentru a converti un semnal analogic (de obicei tensiune) în formă digitală (o secvență de valori digitale de tensiune măsurate la intervale regulate). Unul dintre cei mai importanți parametri ai convertoarelor analog-digitale este adâncimea de biți a datelor de ieșire. Acest parametru oferă raportul semnal-zgomot al conversiei și, în cele din urmă, intervalul dinamic al semnalului digital. Ei încearcă să mărească adâncimea de biți ADC pentru a crește raportul semnal-zgomot. Raportul semnal-zgomot al unui convertor analog-digital poate fi determinat prin următoarea formulă:

SN=N× 6 + 3,5 (dB)

Unde N— numărul de biți binari la ieșirea ADC.

Un parametru la fel de important al ADC este timpul necesar pentru a primi următorul eșantion de semnal digital la ieșire. Obținerea atât a unei viteze mari de conversie, cât și a unei adâncimi mari de biți este o sarcină foarte dificilă, pentru care au fost dezvoltate un număr mare de tipuri de convertoare analog-digitale. Să luăm în considerare principalele lor caracteristici și domenii de aplicare.

Cele mai rapide tipuri de ADC sunt. Aceste tipuri de ADC necesită fluxuri mari de date pentru a fi transmise, deci sunt transmise în paralel. Astfel, ADC-urile paralele au un număr mare de pini externi. Ca rezultat, dimensiunile cipurilor ADC paralele sunt destul de mari. O altă caracteristică a ADC-urilor paralele este consumul lor semnificativ de curent. Dezavantajele enumerate ale acestui tip de ADC sunt prețul de plătit pentru viteza mare de conversie a unui semnal analogic într-o formă digitală a reprezentării acestuia. Viteza de conversie în ADC-uri paralele atinge 500 de milioane de mostre pe secundă (500 MSPS). Conform teoremei lui Kotelnikov, frecvența maximă a semnalului de intrare poate ajunge la 250 MHz. Un exemplu este cipul AD6641-500 de la Analog Devices sau cipul ISLA214P50 de la Intersil.

Pentru a obține viteze de conversie și mai mari, se utilizează o conexiune paralelă a mai multor ADC-uri paralele care funcționează la rândul lor. În același timp, pentru a asigura transferul de date către cipul de procesare, este necesară utilizarea mai multor magistrale paralele (câte una pentru fiecare ADC). Un exemplu de acest tip de convertoare analog-digitale este cipul Maxim MAX109 ADC, care oferă viteze de conversie de până la 2,2 GSPS.

Un tip de ADC ceva mai economic sunt. În aceste tipuri de ADC-uri, convertoarele digital-analogic sunt implicate în procesul de conversie analog-digital. Viteza mare de trimitere a mostrelor de semnal analogic la ieșire este realizată prin procesarea conductei. Ca rezultat, pentru FWG-uri seriale-paralele, viteza de conversie și viteza de ieșire a următoarei mostre digitale nu coincid. Ca exemplu, putem numi microcircuitele AD6645 și AD9430 de la Analog Devices.

Cel mai comun tip de ADC este în prezent. În ciuda faptului că în aceste tipuri de convertoare analog-digitale, procesarea datelor în conductă este imposibilă, ceea ce înseamnă că timpul de conversie și perioada de ieșire a datelor la ieșirea ADC coincid, acest tip de ADC are o viteză suficientă pentru a funcționa într-un gamă largă de sarcini.

În prezent, eșantionarea semnalului de eșantionare și menținere (S&H) și conversia de la tensiune în binar (eșantioane de semnal digital) sunt efectuate pe un singur cip. O diagramă tipică a circuitului pentru conectarea unui ADC cu ieșire paralelă este prezentată în Figura 1.


Figura 1. Schema de conectare pentru ADC-ul paralel ADC0804

În acest circuit, pentru a începe conversia analog-digitală, microprocesorul sau circuitul logic programabil trebuie să furnizeze un semnal de pornire a conversiei (în acest circuit, acesta este semnalul WR). Odată ce conversia este completă, cipul ADC emite un semnal de pregătire a datelor INTR și microprocesorul poate citi codul binar corespunzător tensiunii de intrare. Când convertiți un semnal conform teoremei lui Kotelnikov, frecvența de eșantionare f d intră în intrarea WR și stabilitatea acestuia este asigurată de microprocesor.

Trebuie remarcat faptul că atunci când se prelucrează semnale de joasă frecvență, este adesea necesar să se efectueze simultan atât conversia A/D, cât și conversia D/A. În unele cazuri, este necesar să combinați mai multe canale analogice într-un singur cip, de exemplu, procesarea sunetului stereo. În plus, în aceste tipuri de microcircuite includ filtre de joasă frecvență sau trece-bandă și amplificatoare operaționale, ceea ce le permite să furnizeze un semnal direct de la ieșirea microfonului la intrarea lor și de la ieșire la telefon. Acest tip de cipuri ADC/DAC a primit un nume special - codecuri.

Literatură:

  1. Analod-Digital Conversion, Walt Kester editor, Analog Devices, 2004. - 1138 p.
  2. Mixed-Signal and DSP Design Techniques ISBN_0750676116, Walt Kester editor, Analog Devices, 2004. - 424 p.
  3. High Speed ​​​​System Application, editor Walt Kester, Analog Devices, 2006. - 360 p.

Împreună cu articolul „Tipuri de convertoare analog-digitale (ADC)” citiți:

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ă înțeleg valorile pe care le va produce ADC.

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 poate recunoaște imaginile și poate determina 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 de muncă, așa că dacă am greșit undeva, îmi cer scuze)))


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 vecine 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).

Majoritatea senzorilor și actuatoarelor din sistemele automate funcționează cu semnale analogice. Pentru a introduce astfel de semnale într-un computer, acestea trebuie convertite în formă digitală, adică discretizează după nivel și timp. ADC-urile rezolvă această problemă. Problema inversă, adică Conversia unui semnal cuantificat (digital) într-unul continuu este decisă de DAC.

ADC-urile și DAC-urile sunt principalele dispozitive de intrare/ieșire pentru informații în sistemele digitale concepute pentru a procesa informații analogice sau a controla orice proces tehnologic.

Cele mai importante caracteristici ale ADC și DAC:

1) Tip de valoare analogică care este introdusă în ADC și ieșită în DAC (tensiune, curent, interval de timp, fază, frecvență, mișcare unghiulară și liniară, iluminare, presiune, temperatură etc.). Cele mai utilizate convertoare sunt cele la care valoarea analogică de intrare (ieșire) este tensiunea, deoarece Majoritatea cantităților analogice sunt relativ ușor de convertit în tensiune.

2) Rezoluția și acuratețea conversiei (rezoluția este determinată de numărul de biți binari ai codului sau de numărul posibil de niveluri ale semnalului analogic, acuratețea este determinată de cea mai mare abatere a semnalului analogic de la semnalul digital și invers).

3) Performanță, determinată de intervalul de timp din momentul în care semnalul de sondare (pornire) este trimis până când semnalul de ieșire atinge o valoare constantă (unități de microsecunde, zeci de nanosecunde)

Orice convertor are părți digitale și analogice. În digital, semnalele digitale sunt codificate și decodificate, stocate, numărate, comparate digital și sunt generate semnale de control logic. Pentru aceasta se folosesc: decodoare, multiplexoare, registre, contoare, comparatoare digitale, elemente logice.

În partea analogică a convertorului se efectuează operații: amplificare, comparare, comutare, adăugare și scădere de semnale analogice. Pentru aceasta se folosesc elemente analogice: amplificatoare operaționale, comparatoare analogice, comutatoare și comutatoare, matrice rezistive etc.

Convertoarele sunt realizate sub formă de circuite integrate digitale și analogice sau LSI.

Ele sunt construite pe baza reprezentării oricărui număr binar X ca sumă de puteri a doi.


Circuit de conversie număr binar pe patru biți

Х=Х3*2 3 +Х2*2 2 +X1*2 1 +Х0 *2 0

Într-o tensiune proporţională cu aceasta.

X i =0 sau 1. Pentru op-amp

K= –U out /U op =R oc /R

R este rezistența totală a ramurilor conectate în paralel în care comutatoarele X au fost închise.


U op =U c – tensiune de referință furnizată la intrarea amplificatorului operațional prin R.

R oc – rezistența OS.

Х=8Х3+4Х2+2Х1+1Х0, U out =U op *R oc /R o (8X3+4X2+2X1+lX0)

U out =(–U op *R oc /R o)*Х; –U o p *R oc /R 0 =K – coeficient de proporționalitate, pentru fiecare circuit valoarea este constantă.

- pentru schema noastră.

Pentru a crește numărul de cifre, este necesar să creșteți numărul de rezistențe (R o /16; R o /32 etc.), dacă rezistențele diferă de 1000 de ori, precizia scade.

Pentru a elimina acest dezavantaj în DAC-urile multi-biți, coeficienții de ponderare ai fiecărei etape sunt stabiliți prin diviziunea secvențială a tensiunii de referință folosind o matrice rezistivă. (R-2R)



Pe acest principiu a fost construit circuitul unui DAC integrat pe 10 biți de tip K572PA1, realizat folosind tehnologia CMOS.

Avantaje: consum redus de energie, viteză mare (nu mai mult de 5 µs), precizie bună.

Pentru fiecare rezistor 2R, 2 tranzistoare MOS, conectate 1 și 0 (prin invertor). Chiar (în=1) conexiuni de la iesire 1

Conexiuni impare (in=0), out. 2

Conform metodei de conversie, acestea sunt împărțite în serie, paralele și serie-paralel.

ÎN ADC-uri seriale Conversia unei valori analogice într-un cod digital are loc în trepte (pași), apropiindu-se succesiv de tensiunea măsurată.

Avantaj: simplitate; dezavantaj: performanță scăzută.

În paralel ADC-uri tensiunea de intrare este comparată simultan cu tensiunile de referință X–. În acest caz, rezultatul se obține într-un singur pas, dar sunt necesare costuri mari de hardware.

Performanţă; dezavantaj: câte tensiuni de referință, atâtea comparatoare.

Tensiune de intrare Starea comparatorului Număr dublu
Uc, U 7 6 5 4 3 2 1 2 1 0
U c<0,5 0 0 0 0 0 0 0 0 0 0
U c ≤U c<1,5 0 0 0 0 0 0 1 0 0 1
1,5≤U c<2,5 0 0 0 0 0 1 1 0 1 0
2,5≤U c<3,5 0 0 0 0 1 1 1 0 1 1
3,5≤U c<4,5 0 0 0 1 1 1 1 1 0 0
4,5≤U c<5,5 0 0 1 1 1 1 1 1 0 1
5,5≤U c<6,5 0 1 1 1 1 1 1 1 1 0
6,5≤U c 1 1 1 1 1 1 1 1 1 1


Procesul de conversie a unui semnal continuu într-un cod constă în cuantizare și codificare.

Cuantizarea este reprezentarea unei mărimi continue sub forma unui număr finit de valori discrete (de exemplu, niveluri potențiale), iar codificarea este traducerea combinațiilor de valori discrete în numere binare pentru procesarea informațiilor într-un computer.

Dintre dispozitivele de intrare care convertesc cantitățile analogice în codurile corespunzătoare ale combinațiilor de numere binare, sunt de interes dispozitivele de tipul numărului de tensiune.

Luați în considerare:



bc = t∙tg α =>

Tensiunea de intrare este convertită într-o valoare intermediară „interval de timp”, care la rândul său este convertită într-un cod digital (sistem de codificare în timp).

Tensiunea de intrare Uin este comparată cu o tensiune în dinte de ferăstrău Up variind conform unei legi liniare.

Segmentele b 1 c 1, b 2 c 2, b 3 c 3 reprezintă o valoare discretă a tensiunii de intrare. Intervalul de la începutul comparației până la momentul egalității tensiunilor U în = U p este catetul unui triunghi cu unghi de înclinare α. Toate cele trei triunghiuri sunt similare, prin urmare tan α = const. Prin urmare, putem spune că segmentele bc pe o anumită scară sunt proporționale cu intervalul de timp corespunzător t. Prin urmare, măsurarea valorilor discrete de tensiune poate fi înlocuită cu măsurarea intervalelor de timp proporționale, înlocuite cu un număr binar.

GSI – generator de impulsuri de ceas;

Și – schema de coincidență (înmulțire logică);

Sch – contor;

T – declanșare;

DI – senzor de puls;

GPI – generator de impulsuri dinți de ferăstrău;

= – circuit de comparație sau comparator;

GSI generează o serie de impulsuri de o anumită frecvență, care determină frecvența de conversie, impulsurile sunt furnizate la intrarea contorului printr-un circuit AND, care este controlat de un declanșator; Când declanșatorul este în stare zero, ieșirea circuitului AND este 0 și nu sunt primite impulsuri la intrarea contorului. Începutul intervalului de timp este format de pulsul de control UI, care setează declanșatorul la 1 și determină începutul numărării impulsurilor în contor.

Sus
Uin
GSI
Sfârșitul intervalului de timp este stabilit de impulsul de control UI2, care setează declanșatorul la 0 și oprește fluxul de impulsuri de la GSI la contor. Circuitul de comparație (comparatorul analogic) compară tensiunea convertită Uin cu tensiunea de referință Up generată de GPI.

În momentul în care ambele tensiuni coincid, o unitate la ieșirea comparatorului generează un impuls UI2, care setează declanșatorul la 0, definind sfârșitul intervalului de timp.

Numărul de impulsuri transmise contorului este un cod proporțional cu valoarea discretă a tensiunii convertite.

Precizia conversiei este determinată de precizia comparării tensiunilor și de poziția impulsului de control față de impulsuri. GSI.

PRELEZA 3

Convertoare digital-analogic și analog-digital.

Abreviere comună pentru DAC și ADC. În literatura engleză sunt folosiți termenii DAC și ADC.

Convertoare digital-analogic servesc la convertirea informațiilor din formă digitală într-un semnal analogic. DAC-urile sunt utilizate pe scară largă în diferite dispozitive de automatizare pentru conectarea calculatoarelor digitale cu elemente și sisteme analogice.

DAC-urile sunt construite în principal după două principii:

    cântărire - cu însumarea curenților sau tensiunilor ponderate, când fiecare bit al cuvântului de intrare aduce o contribuție corespunzătoare ponderii sale binare la valoarea totală a semnalului analog recepționat; astfel de DAC-uri sunt numite și paralele sau multibiți.

    Sigma-Delta, bazat pe principiul de funcționare al ADC-urilor inverse (principiul de funcționare este complex, nu va fi discutat aici).

Principiul de funcționare al cântăririi DAC constă în însumarea semnalelor analogice proporționale cu greutățile biților codului digital de intrare, cu coeficienți egali cu zero sau unu în funcție de valoarea bitului de cod corespunzător.

DAC-ul convertește codul binar digital Q 4 Q 3 Q 2 Q 1 într-o valoare analogică, de obicei tensiunea U out. . Fiecare bit al codului binar are o anumită greutate a celui de-al i-lea bit de două ori mai mult decât greutatea celui de-al (i-1)-lea. Funcționarea DAC poate fi descrisă prin următoarea formulă:

U afară =e*(Q 1 1+Q 2 *2+Q 3 *4+Q 4 *8+…),

unde e este tensiunea corespunzătoare ponderii cifrei cel mai puțin semnificative, Q i este valoarea cifrei i-a a codului binar (0 sau 1).

De exemplu, numărul 1001 îi corespunde

Uafară=е*(1*1+0*2+0*4+1*8)=9*e.

O diagramă simplificată a implementării DAC este prezentată în Fig. 1. În circuit, cheia i-a este închisă când Q i =1, iar când Q i =0 este deschisă. Rezistoarele sunt selectate astfel încât R>>Rн.

Principiul de funcționare al ADC consta in masurarea nivelului semnalului de intrare si producerea rezultatului in forma digitala. Ca urmare a funcționării ADC, un semnal analogic continuu este convertit într-unul pulsat, cu măsurarea simultană a amplitudinii fiecărui impuls. Interior DAC convertește valoarea digitală a amplitudinii în impulsuri de tensiune sau curent de mărimea necesară, pe care integratorul (filtrul analogic) aflat în spatele acestuia le transformă într-un semnal analogic continuu. Pentru ca ADC să funcționeze corect, semnalul de intrare nu trebuie să se schimbe în timpul conversiei, scop în care un circuit de eșantionare și reținere este de obicei plasat la intrarea sa, captând nivelul semnalului instantaneu și menținându-l pe toată durata conversiei. Un circuit similar poate fi instalat și la ieșirea ADC, suprimând influența proceselor tranzitorii din interiorul ADC asupra parametrilor semnalului de ieșire

Există în principal trei tipuri de ADC-uri utilizate:

    paralel - semnalul de intrare este comparat simultan cu nivelurile de referință printr-un set de circuite de comparație (comparatoare), care formează o valoare binară la ieșire.

    aproximare succesivă – în care, folosind un DAC auxiliar, se generează un semnal de referință și se compară cu intrarea. Semnalul de referință este modificat secvenţial conform principiului de înjumătăţire. Acest lucru permite ca conversia să fie finalizată într-un număr de cicluri de ceas egal cu capacitatea de biți a convertorului, indiferent de mărimea semnalului de intrare.

    cu măsurarea intervalului de timp - se folosesc diverse principii pentru a converti nivelurile în intervale de timp proporționale, a căror durată este măsurată cu ajutorul unui generator de ceas de înaltă frecvență. Uneori numit și numărare ADC-uri.