ADC: t ovat ratkaisevan tärkeitä kaikenlaisten analogisten signaalien muuntamisessa digitaalisiksi, mutta miten ne itse asiassa toimivat?

Key Takeaways

  • ADC: itä käytetään laajasti analogisten signaalien, kuten äänen ja valon, muuntamiseen digitaalisiksi arvoiksi, joita voidaan käyttää erilaisissa sovelluksissa.
  • ADC: n näytteenottotaajuus määrittää sekunnissa otettujen lukemien määrän, ja korkeammat näytteenottotaajuudet mahdollistavat tarkemman signaalin esityksen.
  • ADC: n bittinopeus vaikuttaa saadun näytteen laatuun, ja enemmän bittejä johtaa tasaisempiin ja tarkempiin mittauksiin. Erityyppiset ADC: t tarjoavat erilaisia ​​kompromisseja nopeuden, tarkkuuden ja virrankulutuksen suhteen.

Analogi-digitaalimuuntimet (ADC: t) ovat uskomattoman hyödyllisiä muuntaessaan reaalimaailman ilmiöitä arvoiksi, joita voimme käyttää ohjelmointiprojekteissa. Mutta kuinka ADC voi muuntaa analogiset signaalit digitaalisiksi, joita voimme käyttää missä tahansa?

Mihin ADC: itä käytetään?

Löydät ADC: itä melkein kaikkialta. Ne ovat puhelimessasi ja muuttavat äänesi binääriarvojen sarjaksi. Ne ovat autossasi ja mittaavat pyörien pyörimisnopeutta. Ne ovat oskilloskoopeissa ja auttavat sieppaamaan signaaleja ja edustamaan niitä. Kuitenkin paikka, jossa useimmat ihmiset ovat käyttäneet niitä, on videon ja äänen maailma, jossa valon ja äänen saaminen digitaaliseen tilaan on olennaista.

instagram viewer

Mikä on näytetaajuus? Kuinka näytteenottotaajuus vaikuttaa ADC: hen?

Yksi ADC: n kriittisimmistä otsikkomittareista on näytetaajuus: sekunnissa otettavien lukemien määrä.

Erittäin korkealuokkainen oskilloskooppi voi ottaa kymmenen miljardia näytettä sekunnissa. Näppärä pieni MCP3008 ADC kestää suhteellisen vaatimattomat kaksisataatuhatta. Äänimaailmassa tyypillinen näytteenottotaajuus on 44 100 sekunnissa (44,1 kHz).

Mitä enemmän näytteitä otamme, sitä tarkemmin voimme esittää signaalin. Joskus tämä on välttämätöntä; joskus ei ole. Oletetaan, että rakennamme fader-pankkia (suunniteltu ohjaamaan elektroniikkaa, kuten näkisi valaistus- tai äänipöydällä) muutamalla kymmenellä potentiometrillä. Tässä tapauksessa arvot, jotka meidän on mitattava, eivät todennäköisesti muutu miljoonia kertoja sekunnissa, koska sormemme eivät voi liikkua niin nopeasti. Tarvitsemme vain tarpeeksi näytteitä, jotta tulos olisi tasainen ja reagoiva.

Mikä on bittinopeus? Vaikuttaako bittinopeus ADC: n laatuun?

Meidän pitäisi myös miettiä saamamme näytteen laatua. Tämä määräytyy suurelta osin bittinopeudella, joka kertoo kuinka monta on-off-tilaa voimme käyttää jännitteen digitaaliseen esittämiseen. Mitä enemmän bittejä meillä on, sitä enemmän mahdollisia arvoja voimme tallentaa mihin tahansa näytteeseen ja sitä tasaisempi ja tarkempi lopputulos.

Olemme kirjoittaneet binääristä ja sen toiminnasta, joten jos olet epävarma, se on hyvä paikka aloittaa. Kuinka monta bittiä tarvitsemme? Se taas riippuu siitä, mitä yritämme saada aikaan. Joskus käyttämämme protokolla saattaa rajoittaa meitä. Esimerkiksi MIDI 1.0 -protokolla on rajoitettu seitsenbittisiin (ja joskus neljätoistabittisiin) arvoihin. Muissa tapauksissa rajoittava tekijä voi olla ihmisen havainto. Jos lisääntynyt tarkkuus ei tuota havaittavaa parannusta tulokseen, se ei ehkä ole kannattavaa.

Kuinka multipleksointi parantaa ADC: n laatua?

Suositut ADC-sirut, kuten ADS1115 ja MCP3008 tarjoavat monia syötteitä. Mutta konepellin alla ne sisältävät todella vain yhden ADC: n. Tämä on mahdollista näiden laitteiden sisäänrakennettujen multiplekserien ansiosta. Multipleksereita on ehdottomasti kaikkialla elektroniikan ja tietoliikenteen maailmassa. Ne ovat digitaalisia kytkimiä, jotka toimivat ADC: n liikenteenohjauksena. ADC saattaa ottaa näytteitä yhdestä kanavasta, sitten seuraavasta ja sitten seuraavasta. Joten jos sinulla on kahdeksan kanavaa ja näytteenottotaajuus 200 000, voit kiertää niitä kaikkia ja ottaa 25 000 näytettä per kanava.

Millaisia ​​ADC-tyyppejä on olemassa?

ADC: t toimivat eri tavoin riippuen kustannuksista ja vaadituista ominaisuuksista.

A Flash ADC toimii erittäin monimutkaisen jännitteenjakajan kautta. Vastuspankki jakaa referenssijännitteen lisäyksiin, jotka sitten testataan tuloa vastaan ​​vertailijaryhmän kautta. Flash-ADC: t ovat salamannopeita, mutta niiden bittisyvyydet ovat rajalliset tarvittavien vertailulaitteiden määrän vuoksi. He ovat myös vallanhimoisia samasta syystä.

A Subranging ADC pyrkii kompensoimaan näitä heikkouksia jakamalla työn kahden erillisen yksikön kesken: toinen laskee jännitteen karkeasti ja toinen määrittää sen tarkasti. Jakamalla asiat osiin voimme vähentää vertailijoiden määrää. Jotkut alajaottavat ADC: t jakavat työn kolmeen vaiheeseen, ja virheenkorjaus on sisäänrakennettu matkan varrella.

SAR (Peräkkäinen lähentämisrekisteri) ADC: t tekevät työnsä kautta eräänlainen binäärihaku. Oletetaan, että meillä on kahdeksan bittiä täytettävänä. SAR alkaa arvosta 10000000, joka on keskiarvo (00000000 on alin ja 11111111 on ylin). Jos jännite ylittää tämän keskipisteen, SAR pitää vasemmanpuoleisen numeron 1:nä; jos ei, SAR asettaa vasemmanpuoleisimman numeron nollaan. Voimme toistaa prosessin seuraavalla numerolla ja niin edelleen rekursiivisesti. Tämä saa arvatun arvon siirtymään asteittain kohti todellista arvoa:

Tällä tavalla rajaamme jatkuvasti hakua, jaamme mahdollisuudet puoliksi ja kysymme, onko tulos korkeampi vai alempi kuin keskipiste. Tässä tapauksessa arvo on jossain välillä 0 - 255; muutaman iteroinnin jälkeen ADC on päättänyt, että se on noin 77.

Sigma-delta muuntimet ovat luultavasti vaikeimpia ymmärtää. Niitä käytetään korkean tarkkuuden musiikillisiin ja signaalinmittaussovelluksiin. Ne toimivat ylinäytteisttämällä signaalia ja tarkentamalla tulosta käyttämällä pirun monimutkaista suodatusta ja matematiikkaa. Tämä prosessi vähentää tehokkaasti näytetaajuutta ja lisää samalla tarkkuutta. Nämä ADC: t ovat mahtavia, kun melu ja tarkkuus ovat tärkeämpiä kuin nopeus.

Lopulta meillä on ADC: iden integrointi, jotka ovat jopa hitaampia kuin sigma-delta. Ne toimivat kondensaattorin avulla, jonka latausnopeudella voidaan määrittää tulojännite. Näytteenottotaajuus tässä on usein synkronoitu virtalähteen taajuuden kanssa, jota voidaan käyttää pitämään kohina ehdottoman minimissä.

Mikä on Nyquist-Shannonin teoria?

Oletetaan, että haluamme kuvata analogista signaalia digitaalisesti. Tätä varten tarvitsemme vähintään kaksi pistettä jokaiselle syklille: yksi ylhäällä ja yksi alareunassa. Näytteenottotaajuutemme on siis oltava vähintään kaksi kertaa suurin mittaava taajuus.

Tämä tunnetaan Nyquistin taajuutena ruotsalais-amerikkalaisen fyysikon Harry Nyquistin mukaan. Teoria on nimetty Nyquistin ja Claude Shannonin (etuisa matemaatikko ja kryptografi) mukaan, mutta ei Edmund Whittakerin mukaan, joka keksi idean ennen kumpaakaan.

Kenelle uskomme teorian, siinä on ongelma. On mahdotonta tietää etukäteen, milloin aaltomuodon ylä- ja alareuna saapuu. Entä jos otamme näytteemme saapuvan aaltomuodon puolivälissä? Tarkkaile, kuinka siirtymä saapuvassa signaalissa voi tasoittaa kaapatun tuloksemme kokonaan:

Tai jopa hallusinoida uusia aaltomuotoja, joita ei edes ollut aiemmin:

Nämä hallusinaatiot tunnetaan nimellä aliaksia.

Aliasoinnin ongelma

Luultavasti tunnet "vaunun pyörän" illuusion, joka joskus ilmenee, kun pyörivää esinettä kuvataan. Auton pyörät tai helikopterin terät näyttävät kääntyvän taaksepäin – vain hyvin hitaasti. Joissakin tapauksissa terät voivat pysähtyä kokonaan (rehellisesti sanottuna outoilla tuloksilla – katso alla oleva video!).

Pelatessasi vanhempaa videopeliä olet ehkä myös huomannut, että rinnakkaiset viivat tuottavat joskus outoja vääntyviä esineitä. Aidat, portaat ja raidalliset neulepuserot alkavat näyttää todella omituisilta. Tai entä ne oudot viheltävät äänet, joita kuulet joskus, kun kuuntelet jonkun puhuvan huonolaatuisen digitaalisen yhteyden kautta? Se on vääristymää, mutta tietynlaista vääristymää. Mitä kaikkea noista melusta nousevista rumista taajuuksista johtuu? Jos kuuntelet harmonisesti täyteläistä sisältöä, kuten rumpusettiä, vaikutus on vieläkin selvempi – varsinkin huippuluokan.

Jos ymmärrät yhden syyn, olet matkalla ymmärtämään ne kaikki. Vaunupyörän tapauksessa kiinteä kuvanopeus tarkoittaa, että emme pysty kuvaamaan liikettä kunnolla. Jos jotain kääntyy 350° jokaisessa kuvassa, on luonnollista havaita, että sitä on todella siirretty 10° taaksepäin. Toisin sanoen, ei ole tarpeeksi tietoa kuvaamaan todenmukaisesti, mitä tapahtuu. Otamamme näytteet eivät vastaa sitä, mitä yritämme mitata.

Tämä ei ole vain analogia-digitaalimuunnosongelma. Monissa näistä tapauksista muunnamme yhdenlaista digitaalista signaalia toiseksi.

Joten mikä on ratkaisu? On useita. Voisimme käyttää erityistä suodatinta käsittelemään näitä esineitä, mitä monet ADC: t tekevät konepellin alla. Tai voimme ottaa monta, monta enemmän näytteitä kuin tarvitsemme. Mitä enemmän näytteitä otamme, sitä tarkempi kuvamme aallosta tulee:

Laadukkaampi näyte saadaksesi parhaat tulokset

Jos pidät tämänkaltaisesta aiheesta mielenkiintoista, hyvä uutinen on, että olemme tuskin upottaneet varpaamme tähän aiheeseen. Tässä on syvyyttä: ADC: t ovat erittäin monimutkaisia.

Mutta loppukäyttäjän tai tavallisen Arduino-harrastajan näkökulmasta ne ovat myös hyvin yksinkertaisia. Jännitteet tulevat sisään ja numerot tulevat ulos. Joten mitä tahansa yrität mitata – olipa se sitten maaperän kosteuspitoisuutta tai maaperän värähtelyjä. ihmisäänilaatikko tai linssin läpi taittuva fotonivirta – on todennäköistä, että on olemassa ADC, joka tekee Job.