ADC sú kľúčové pre konverziu všetkých druhov analógových signálov na digitálne, ale ako vlastne fungujú?

Kľúčové informácie

  • ADC sa široko používajú na konverziu analógových signálov, ako je zvuk a svetlo, na digitálne hodnoty, ktoré možno použiť v rôznych aplikáciách.
  • Vzorkovacia frekvencia ADC určuje počet odčítaní za sekundu, pričom vyššie vzorkovacie frekvencie umožňujú presnejšiu reprezentáciu signálu.
  • Bitová rýchlosť ADC ovplyvňuje kvalitu získanej vzorky, pričom viac bitov vedie k plynulejším a presnejším meraniam. Rôzne typy ADC ponúkajú rôzne kompromisy, pokiaľ ide o rýchlosť, presnosť a spotrebu energie.

Analógovo-digitálne prevodníky (ADC) sú neuveriteľne užitočné na premenu javov v reálnom svete na hodnoty, ktoré môžeme použiť v programovacích projektoch. Ale ako môže ADC konvertovať analógové signály na digitálne, ktoré môžeme použiť kdekoľvek?

Na čo sa používajú ADC?

ADC nájdete takmer všade. Sú vo vašom telefóne a konvertujú váš hlas na reťazec binárnych hodnôt. Sú vo vašom aute a merajú rotáciu vašich kolies. Sú v osciloskopoch, pomáhajú zachytávať signály a reprezentovať ich. Avšak miesto, kde ich väčšina ľudí použije, je svet videa a zvuku, kde je podstatné dostať svetlo a zvuk do digitálneho priestoru.

instagram viewer

Čo je vzorkovacia frekvencia? Ako ovplyvňuje vzorkovacia frekvencia ADC?

Jednou z najdôležitejších metrík nadpisu ADC je vzorkovacia frekvencia: počet odčítaní za sekundu.

Veľmi špičkový osciloskop môže odobrať desať miliárd vzoriek za sekundu. Šikovný malý MCP3008 ADC znesie relatívne skromných dvestotisíc. Vo svete zvuku je typická vzorkovacia frekvencia 44 100 za sekundu (44,1 kHz).

Čím viac vzoriek odoberieme, tým presnejšie dokážeme reprezentovať signál. Niekedy je to nevyhnutné; niekedy nie. Povedzme, že staviame banku stlmovačov (určenú na ovládanie elektroniky, ako by ste ju videli na osvetľovacej alebo zvukovej ploche) s niekoľkými desiatkami potenciometrov. V tomto prípade sa hodnoty, ktoré potrebujeme zmerať, pravdepodobne nezmenia miliónkrát za sekundu, pretože naše prsty sa nedokážu tak rýchlo pohybovať. Potrebujeme len dostatok vzoriek, aby bol výsledok hladký a reagoval.

Čo je bitová rýchlosť? Ovplyvňuje bitová rýchlosť kvalitu ADC?

Mali by sme tiež myslieť na kvalitu vzorky, ktorú dostávame. To je do značnej miery určené bitovou rýchlosťou, ktorá nám hovorí, koľko stavov zapnutia a vypnutia môžeme použiť na digitálne zobrazenie napätia. Čím viac bitov máme, tým viac možných hodnôt môžeme zaznamenať v danej vzorke a tým je konečný výsledok hladší a presnejší.

Písali sme o binárnom systéme a o tom, ako funguje, takže ak si nie ste istí, toto je dobré miesto, kde začať. Koľko bitov potrebujeme? Opäť to závisí od toho, čo sa snažíme dosiahnuť. Niekedy nás môže obmedzovať protokol, ktorý používame. Napríklad protokol MIDI 1.0 je obmedzený na sedembitové (a občas štrnásťbitové) hodnoty. V iných prípadoch môže byť limitujúcim faktorom ľudské vnímanie. Ak zvýšená vernosť neprinesie žiadne viditeľné zlepšenie výsledku, nemusí to byť užitočné.

Ako multiplexovanie zlepšuje kvalitu ADC?

Populárne ADC čipy ako napr ADS1115 a MCP3008 ponúkajú veľa vstupov. Ale pod kapotou obsahujú naozaj len jeden ADC. Je to možné vďaka multiplexorom zabudovaným do týchto zariadení. Multiplexory sú vo svete elektroniky a telekomunikácií úplne všade. Sú to digitálne prepínače, ktoré fungujú ako riadenie prevádzky pre váš ADC. ADC môže vzorkovať jeden kanál, potom ďalší a potom ďalší. Takže, ak máte osem kanálov a vzorkovaciu frekvenciu 200 000, môžete ich prechádzať všetkými, pričom na jeden kanál odoberiete 25 000 vzoriek.

Aké typy ADC existujú?

ADC fungujú rôznymi spôsobmi v závislosti od nákladov a požadovaných možností.

A Flash ADC pracuje cez veľmi zložitý delič napätia. Skupina rezistorov rozdeľuje referenčné napätie na prírastky, ktoré sa potom testujú proti vstupu cez skupinu komparátorov. Flash ADC sú bleskovo rýchle, ale sú obmedzené, pokiaľ ide o bitovú hĺbku, kvôli počtu potrebných komparátorov. Z rovnakého dôvodu sú tiež hladní po moci.

A Rozdelenie ADC sa snaží kompenzovať tieto slabé stránky rozdelením práce medzi dve samostatné jednotky: jedna na približne určenie napätia a druhá na presné určenie. Rozdelením vecí môžeme znížiť počet porovnávačov. Niektoré ADC podriadené rozdelenia rozdelia prácu do troch etáp, pričom počas toho bude zabudovaná oprava chýb.

SAR (Postupný aproximačný register) ADC robia svoju prácu cez druh binárneho vyhľadávania. Predpokladajme, že máme osem bitov na vyplnenie. SAR bude začínať od 10000000, čo je stredná hodnota (00000000 je spodná a 11111111 je horná). Ak napätie presiahne tento stred, SAR zachová číslicu úplne vľavo ako 1; ak nie, SAR nastaví číslicu úplne vľavo na 0. Môžeme opakovať proces s ďalšou číslicou a tak ďalej rekurzívne. To spôsobí, že uhádnutá hodnota sa postupne posunie k skutočnej hodnote:

Týmto spôsobom neustále zužujeme vyhľadávanie, rozdeľujeme možnosti na polovicu a pýtame sa, či je výsledok vyšší alebo nižší ako stred. V tomto prípade je hodnota niekde medzi 0 a 255; po niekoľkých iteráciách ADC zistil, že je to okolo 77.

Sigma-delta prevodníky sú asi najťažšie na pochopenie. Používajú sa na vysoko presné hudobné aplikácie a aplikácie na meranie signálu. Pracujú tak, že prevzorkujú signál a spresnia výsledok pomocou diabolsky komplikovaného filtrovania a matematiky. Tento proces efektívne znižuje vzorkovaciu frekvenciu a zároveň zvyšuje presnosť. Tieto ADC sú skvelé, keď na hluku a presnosti záleží viac ako na rýchlosti.

Nakoniec máme Integrácia ADC, ktoré sú ešte pomalšie ako sigma-delta. Pracujú s pomocou kondenzátora, ktorého rýchlosť nabíjania sa dá použiť na určenie vstupného napätia. Vzorkovacia frekvencia je tu často synchronizovaná s frekvenciou napájania, čo sa dá použiť na udržanie šumu na absolútnom minime.

Čo je teória Nyquista-Shannona?

Povedzme, že chceme opísať analógový signál digitálne. Aby sme to dosiahli, potrebujeme pre každý daný cyklus aspoň dva body: jeden hore a jeden dole. Naša vzorkovacia frekvencia teda musí byť aspoň dvojnásobkom najvyššej frekvencie, ktorú očakávame meranie.

Toto je známe ako Nyquistova frekvencia podľa švédsko-amerického fyzika Harryho Nyquista. Táto teória je pomenovaná po Nyquistovi a Claude Shannonových (poprednom matematikovi a kryptografovi), ale nie po Edmundovi Whittakerovi, ktorý s týmto nápadom prišiel skôr ako jeden z nich.

Komu pripíšeme teóriu, má s ňou problém. Nie je možné vopred vedieť, kedy dorazí horná a spodná časť tvaru vlny. Čo ak vezmeme vzorky uprostred prichádzajúcej vlny? Všimnite si, ako môže posun prichádzajúceho signálu úplne vyrovnať náš zachytený výsledok:

Alebo dokonca halucinujte nové tvary vĺn, ktoré predtým ani neexistovali:

Tieto halucinácie sú známe ako prezývky.

Problém s aliasingom

Pravdepodobne poznáte ilúziu „kolesa vagóna“, ktorá sa niekedy vyskytuje pri natáčaní rotujúceho objektu. Zdá sa, že kolesá na aute alebo lopatky vrtuľníka sa otáčajú dozadu – len veľmi pomaly. V niektorých prípadoch sa čepele môžu úplne zastaviť (s úprimne zvláštnymi výsledkami – pozrite si video nižšie!).

Pri hraní staršej videohry ste si tiež mohli všimnúť, že paralelné čiary niekedy vytvárajú zvláštne deformačné artefakty. Ploty, schodiská a pruhované svetre začínajú skutočne vyzerať veľmi zvláštne. Alebo čo tie zvláštne pískavé zvuky, ktoré sa niekedy ozývajú, keď niekoho počúvate cez nekvalitné digitálne pripojenie? Je to skreslenie, ale zvláštny druh skreslenia. Čo je so všetkými tými škaredými frekvenciami vznikajúcimi z hluku? Ak počúvate harmonicky bohatý obsah, napríklad súpravu bicích, efekt je ešte zrejmejší – najmä vo vyššej kategórii.

Ak pochopíte príčinu jedného z nich, ste na dobrej ceste pochopiť ich všetky. V prípade kolesa vagóna pevná snímková frekvencia znamená, že nedokážeme správne zachytiť pohyb. Ak sa pri každom zábere niečo otočí o 350°, je úplne prirodzené, že si uvedomíte, že sa to v skutočnosti posunulo o 10° dozadu. Inými slovami, nie je dostatok informácií, ktoré by verne reprezentovali to, čo sa deje. Vzorky, ktoré odoberáme, nie sú v súlade s tým, čo sa snažíme merať.

Toto nie je problém, ktorý je jedinečný pre analógovo-digitálnu konverziu. V mnohých z týchto prípadov konvertujeme jeden druh digitálneho signálu na iný.

Takže, aké je riešenie? Je ich viacero. Mohli by sme použiť špeciálny filter na riešenie týchto artefaktov, čo robia mnohé ADC pod kapotou. Alebo môžeme odobrať oveľa, oveľa viac vzoriek, ako potrebujeme. Čím viac vzoriek odoberieme, tým presnejší bude náš obraz vlny:

Vzorka s vyššou kvalitou pre najlepšie výsledky

Ak sa vám zdá niečo takéto zaujímavé, dobrou správou je, že sme sa do tejto témy sotva ponorili. Tu sú hĺbky, na ktoré treba ísť: ADC sú mimoriadne komplikované.

Ale z pohľadu koncového používateľa alebo priemerného nadšenca Arduina sú tiež veľmi jednoduché. Prichádzajú napätia a vychádzajú čísla. Či už chcete merať čokoľvek – či už je to obsah vlhkosti v kúsku pôdy, oscilácie ľudská hlasová schránka alebo prúd fotónov lámajúcich sa cez šošovku – je veľká šanca, že existuje ADC, ktoré prácu.