Ce sunt ADC-urile (convertoare analog-digitale) și cum funcționează?

Recomandări cheie

  • ADC-urile sunt utilizate pe scară largă pentru a converti semnale analogice, cum ar fi sunetul și lumina, în valori digitale care pot fi utilizate în diverse aplicații.
  • Frecvența de eșantionare a unui ADC determină numărul de citiri efectuate pe secundă, cu rate de eșantionare mai mari permițând o reprezentare mai precisă a semnalului.
  • Rata de biți a unui ADC afectează calitatea eșantionului obținut, cu mai mulți biți rezultând măsurători mai fine și mai precise. Diferite tipuri de ADC-uri oferă diferite compromisuri în ceea ce privește viteza, precizia și consumul de energie.

Convertoarele analog-digitale (ADC) sunt incredibil de utile pentru a transforma fenomenele din lumea reală în valori pe care le putem folosi în proiecte de programare. Dar cum poate un ADC să convertească semnale analogice în cele digitale pe care le putem folosi oriunde?

La ce sunt folosite ADC-urile?

Veți găsi ADC-uri aproape peste tot. Sunt pe telefonul tău, transformându-ți vocea într-un șir de valori binare. Sunt în mașina ta și măsoară rotația roților tale. Sunt în osciloscoape, ajutând la captarea semnalelor și la reprezentarea lor. Cu toate acestea, locul în care majoritatea oamenilor le-au folosit este lumea video și audio, unde introducerea luminii și a sunetului într-un spațiu digital este fundamentală.

Ce este o rată de eșantionare? Cum afectează rata de eșantionare un ADC?

Una dintre cele mai critice valori ale unui ADC este rata de eșantionare: numărul de citiri efectuate în fiecare secundă.

Un osciloscop de ultimă generație ar putea lua zece miliarde de mostre pe secundă. Micul ADC curajos MCP3008 poate lua două sute de mii relativ modeste. În lumea audio, o frecvență de eșantionare de 44.100 pe secundă (44,1 kHz) este tipică.

Cu cât luăm mai multe mostre, cu atât putem reprezenta mai exact un semnal. Uneori, acest lucru este esențial; uneori, nu este. Să presupunem că construim o bancă de fader (conceput să controleze electronicele, așa cum ați vedea pe un birou de iluminat sau audio) cu câteva zeci de potențiometre. În acest caz, este puțin probabil ca valorile pe care trebuie să le măsurăm să se schimbe de milioane de ori pe secundă, deoarece degetele noastre nu se pot mișca atât de repede. Avem nevoie doar de suficiente mostre pentru ca rezultatul să fie neted și receptiv.

  Cum să dezactivați vibrația pe iPhone

Ce este Bitrate? Bitrate afectează calitatea unui ADC?

Ar trebui să ne gândim și la calitatea eșantionului pe care îl primim. Acest lucru este determinat în mare măsură de bitrate, care ne spune câte stări on-off putem folosi pentru a reprezenta digital tensiunea. Cu cât avem mai mulți biți, cu atât mai multe valori posibile putem înregistra în orice probă dată și cu atât rezultatul final este mai neted și mai precis.

Am scris despre binar și despre cum funcționează, așa că, dacă nu sunteți sigur, acesta este un loc bun pentru a începe. De câte biți avem nevoie? Din nou, depinde de ceea ce încercăm să realizăm. Uneori, s-ar putea să fim limitați de protocolul pe care îl folosim. De exemplu, protocolul MIDI 1.0 este limitat la valori de șapte biți (și ocazional de paisprezece biți). În alte cazuri, factorul limitativ ar putea fi percepția umană. Dacă fidelitatea crescută nu produce nicio îmbunătățire perceptibilă a rezultatului, s-ar putea să nu merite.

Cum îmbunătățește multiplexarea calitatea ADC?

Cipurile ADC populare, cum ar fi ADS1115 si MCP3008 oferă multe intrări. Dar sub capotă, ele conțin într-adevăr doar un singur ADC. Acest lucru este posibil datorită multiplexerelor încorporate în aceste dispozitive. Multiplexoarele sunt absolut peste tot în lumea electronicelor și telecomunicațiilor. Sunt comutatoare digitale care acționează ca control al traficului pentru ADC. ADC-ul poate eșantiona un canal, apoi următorul și apoi următorul. Deci, dacă aveți opt canale și o frecvență de eșantionare de 200.000, puteți roti prin toate, luând 25.000 de mostre pe canal.

Ce tipuri de ADC există?

ADC-urile funcționează în diferite moduri, în funcție de costul și capacitățile necesare.

Un ADC Flash funcționează printr-un divizor de tensiune foarte complex. Un banc de rezistențe împarte tensiunea de referință în trepte, care sunt apoi testate în raport cu intrarea printr-un banc de comparatoare. ADC-urile flash sunt fulgerătoare, dar sunt limitate când vine vorba de adâncimea de biți din cauza numărului de comparatori necesari. De asemenea, au foame de putere din același motiv.

Un ADC subranging încearcă să compenseze aceste slăbiciuni prin împărțirea muncii între două unități separate: una pentru a calcula aproximativ tensiunea și apoi o a doua pentru a o rezolva cu precizie. Împărțind lucrurile, putem reduce numărul de comparatori. Unele ADC-uri subranging vor împărți munca în trei etape, cu corectarea erorilor integrată pe parcurs.

  6 cele mai bune vizualizatoare Visio pentru a vizualiza formatul VSD

SAR (Registrul de aproximare succesivă) ADC-urile își fac munca printr-un fel de căutare binară. Să presupunem că avem opt biți de completat. SAR va începe de la 10000000, care este valoarea de mijloc (00000000 fiind partea de jos și 11111111 fiind cea de sus). Dacă tensiunea depășește acest punct de mijloc, SAR va păstra cifra din stânga ca 1; dacă nu, SAR va seta cifra din stânga la 0. Putem repeta procesul cu următoarea cifră și așa mai departe recursiv. Acest lucru va face ca valoarea ghicită să se miște treptat către valoarea reală:

În acest fel, restrângem în mod continuu căutarea, împărțind posibilitățile în jumătate și întrebând dacă rezultatul este mai mare sau mai mic decât punctul de mijloc. În acest caz, valoarea este undeva între 0 și 255; după câteva iterații, ADC a stabilit că este în jur de 77.

Convertoarele Sigma-delta sunt probabil cele mai greu de înțeles. Sunt folosite pentru aplicații muzicale și de măsurare a semnalului de înaltă precizie. Ele funcționează prin supraeșantionarea unui semnal și rafinarea rezultatului folosind filtrare și matematică diabolic de complicate. Acest proces reduce efectiv rata de eșantionare, sporind în același timp precizia. Aceste ADC-uri sunt grozave atunci când zgomotul și precizia contează mai mult decât viteza.

În cele din urmă, avem ADC-uri integratoare, care sunt chiar mai lente decât cele sigma-delta. Ele funcționează cu ajutorul unui condensator, a cărui rată de încărcare poate fi utilizată pentru a determina tensiunea de intrare. Frecvența de eșantionare aici este adesea sincronizată cu frecvența sursei de alimentare, care poate fi folosită pentru a menține zgomotul la un minim absolut.

Ce este teoria Nyquist-Shannon?

Să presupunem că vrem să descriem un semnal analogic digital. Pentru a face acest lucru, avem nevoie de cel puțin două puncte pentru fiecare ciclu dat: unul în partea de sus și unul în jos. Astfel, frecvența noastră de eșantionare trebuie să fie de cel puțin două ori mai mare frecvență pe care ne așteptăm să o măsurăm.

Aceasta este cunoscută sub numele de frecvența Nyquist, după fizicianul suedez-american Harry Nyquist. Teoria poartă numele lui Nyquist și Claude Shannon (un matematician și criptograf preeminent), dar nu după Edmund Whittaker, care a venit cu ideea înaintea unuia dintre ei.

Oricine îi atribuim teoriei, este o problemă cu ea. Este imposibil să știi în avans când vor ajunge partea de sus și de jos a unei forme de undă. Ce se întâmplă dacă ne luăm mostrele la jumătatea formei de undă de intrare? Observați cum o schimbare a semnalului de intrare ar putea aplatiza complet rezultatul capturat:

  Cum să găsești pe cineva pe LinkedIn după adresa de e-mail

Sau chiar halucinați noi forme de undă care nici măcar nu existau înainte:

Aceste halucinații sunt cunoscute ca pseudonime.

Problema cu aliasing

Probabil că veți fi familiarizat cu iluzia „roata căruței” care apare uneori când un obiect care se învârte este filmat. Roțile unei mașini sau palele unui elicopter par să se întoarcă înapoi – doar foarte încet. În unele cazuri, lamele s-ar putea opri complet (cu rezultate sincer ciudate – vezi videoclipul de mai jos!).

În timp ce jucați un joc video mai vechi, este posibil să fi observat și că liniile paralele produc uneori artefacte ciudate de deformare. Gardurile, scările și saritorii cu dungi încep să arate într-adevăr foarte ciudat. Sau cum rămâne cu acele sunete ciudate de șuierat pe care le primești uneori când asculți pe cineva vorbind printr-o conexiune digitală de proastă calitate? Este o distorsiune, dar un anumit tip de distorsiune. Ce-i cu toate acele frecvențe urâte care ies din zgomot? Dacă asculți conținut bogat armonic, cum ar fi o trusă de tobe, efectul este și mai evident, mai ales în high-end.

Dacă înțelegeți cauza uneia dintre acestea, sunteți pe cale să le înțelegeți pe toate. În cazul roții vagonului, rata fixă ​​a cadrelor înseamnă că nu putem surprinde mișcarea corect. Dacă ceva se rotește cu 350° la fiecare cadru, este firesc să percepem că de fapt este mișcat înapoi cu 10°. Cu alte cuvinte, nu există suficiente informații pentru a reprezenta fidel ceea ce se întâmplă. Mostrele pe care le luăm sunt nealiniate cu ceea ce încercăm să măsurăm.

Aceasta nu este o problemă unică pentru conversia analog-digitală. În multe dintre aceste cazuri, convertim un tip de semnal digital în altul.

Deci, care este soluția? Sunt câteva. Am putea aplica un filtru special pentru a face față acestor artefacte, ceea ce fac multe ADC-uri sub capotă. Sau, putem lua multe, mult mai multe mostre decât avem nevoie. Cu cât luăm mai multe mostre, cu atât imaginea noastră asupra valului devine mai precisă:

Eșantion cu o calitate mai mare pentru cele mai bune rezultate

Dacă vi se pare interesant acest gen de lucruri, vestea bună este că abia ne-am băgat degetul în acest subiect. Există adâncimi de analizat aici: ADC-urile sunt extrem de complicate.

Dar din punctul de vedere al utilizatorului final sau al pasionatului mediu de Arduino, sunt și foarte simple. Tensiunile intră, iar numerele ies. Așadar, orice doriți să măsurați – fie că este vorba de conținutul de umiditate al unui petic de pământ, de oscilațiile unei casete vocale umane sau de un flux de fotoni care se refractează printr-o lentilă – sunt șanse mari să existe un ADC care va face loc de munca.