Az ADC-k kulcsfontosságúak mindenféle analóg jel digitálissá alakításához, de hogyan működnek valójában?

Kulcs elvitelek

  • Az ADC-ket széles körben használják az analóg jelek, például a hang és a fény digitális értékekké alakítására, amelyek különféle alkalmazásokban használhatók.
  • Az ADC mintavételezési gyakorisága határozza meg a másodpercenkénti leolvasások számát, a magasabb mintavételi gyakoriság pedig pontosabb jelábrázolást tesz lehetővé.
  • Az ADC bitsebessége befolyásolja a kapott minta minőségét, több bit simább és pontosabb mérést eredményez. A különböző típusú ADC-k különböző kompromisszumokat kínálnak a sebesség, a pontosság és az energiafogyasztás tekintetében.

Az analóg-digitális konverterek (ADC-k) hihetetlenül hasznosak a valós jelenségek programozási projektekben használható értékekké alakításában. De hogyan alakíthatja át az ADC az analóg jeleket digitálissá, amelyet bárhol használhatunk?

Mire használhatók az ADC-k?

Szinte mindenhol találsz ADC-ket. A telefonján vannak, és a hangját bináris értékek sorozatává alakítják. Az autódban vannak, és mérik a kerekek forgását. Oszcilloszkópokban vannak, és segítenek a jelek rögzítésében és ábrázolásában. Mégis, a legtöbben a videó és a hang világa használják őket, ahol alapvető fontosságú, hogy a fény és a hang a digitális térbe kerüljön.

Mi az a mintavételi arány? Hogyan befolyásolja a mintavételezési sebesség az ADC-t?

Az ADC egyik legkritikusabb főmutatója a mintavételezési gyakoriság: a másodpercenkénti leolvasások száma.

Egy nagyon csúcskategóriás oszcilloszkóp akár tízmilliárd mintát is vehet másodpercenként. A finnyás kis MCP3008 ADC viszonylag szerény kétszázezret bír. Az audio világban a másodpercenkénti 44 100 (44,1 kHz) mintavételi frekvencia jellemző.

Minél több mintát veszünk, annál pontosabban tudunk jelet ábrázolni. Néha ez elengedhetetlen; néha nem az. Tegyük fel, hogy építünk egy fader bankot (elektronika vezérlésére tervezték, mint ahogy egy világítási vagy audioasztalon látni lehet) néhány tucat potenciométerrel. Ebben az esetben a mérendő értékek nem valószínű, hogy másodpercenként milliószor változnak, mivel az ujjaink nem tudnak olyan gyorsan mozogni. Csak elegendő mintára van szükségünk ahhoz, hogy az eredmény sima és érzékeny legyen.

Mi az a bitráta? Befolyásolja-e a bitráta az ADC minőségét?

Gondolnunk kell a beszerzett minta minőségére is. Ezt nagymértékben meghatározza a bitráta, amely megmondja, hogy hány be- és kikapcsolt állapotot használhatunk a feszültség digitális ábrázolására. Minél több bitünk van, annál több lehetséges értéket tudunk rögzíteni egy adott mintában, és annál simább és pontosabb a végeredmény.

Írtunk a binárisról és annak működéséről, tehát ha nem biztos benne, ez egy jó hely a kezdéshez. Hány bitre van szükségünk? Ez megint csak attól függ, hogy mit akarunk elérni. Néha korlátozhat bennünket az általunk használt protokoll. Például a MIDI 1.0 protokoll hét bites (és esetenként tizennégy bites) értékekre korlátozódik. Más esetekben a korlátozó tényező az emberi észlelés lehet. Ha a megnövekedett hűség nem hoz észrevehető javulást az eredményben, akkor lehet, hogy nem érdemes.

Hogyan javítja a multiplexelés az ADC minőségét?

Népszerű ADC chipek, mint a ADS1115 és a MCP3008 számos bemenetet kínálnak. De a motorháztető alatt valójában csak egyetlen ADC található. Ez az eszközökbe épített multiplexerek miatt lehetséges. A multiplexerek abszolút mindenhol megtalálhatók az elektronika és a távközlés világában. Ezek digitális kapcsolók, amelyek forgalomszabályozásként működnek az ADC számára. Az ADC mintavételezhet egy csatornát, majd a következőt, majd a következőt. Tehát, ha nyolc csatornája van, és a mintavételi gyakorisága 200 000, akkor mindegyiket forgathatja, és csatornánként 25 000 mintát vesz.

Milyen típusú ADC-k léteznek?

Az ADC-k különféle módon működnek, a szükséges költségektől és képességektől függően.

A Flash ADC nagyon összetett feszültségosztón keresztül működik. Az ellenállások csoportja felosztja a referenciafeszültséget lépésekre, amelyeket azután a bemenettel összehasonlítva tesztelnek egy komparátorban. A Flash ADC-k villámgyorsak, de a bitmélység tekintetében korlátozottak a szükséges összehasonlítók száma miatt. Ugyanezen okból energiaéhesek is.

A ADC alásorolása Ezeket a gyengeségeket úgy kívánja ellensúlyozni, hogy a munkát két különálló egység között osztja fel: az egyik a feszültség durván kiszámításához, a másik pedig a precíz kidolgozáshoz. A dolgok felosztásával csökkenthetjük az összehasonlítók számát. Néhány alcsoportos ADC három szakaszra osztja a munkát, miközben a hibajavítást is beépítik.

SAR (Egymást követő közelítési nyilvántartás) Az ADC-k ezen keresztül végzik munkájukat egyfajta bináris keresés. Tegyük fel, hogy nyolc bitet kell kitöltenünk. A SAR 10000000-től indul, ami a középső érték (00000000 az alsó és 11111111 a felső érték). Ha a feszültség meghaladja ezt a felezőpontot, a SAR a bal szélső számjegyet 1-ben tartja; ha nem, a SAR a bal szélső számjegyet 0-ra állítja. A folyamatot megismételhetjük a következő számjeggyel és így tovább rekurzív módon. Ez azt eredményezi, hogy a kitalált érték fokozatosan a tényleges érték felé mozdul el:

Ily módon folyamatosan szűkítjük a keresést, kettéosztjuk a lehetőségeket, és megkérdezzük, hogy az eredmény magasabb vagy alacsonyabb a középpontnál. Ebben az esetben az érték valahol 0 és 255 között van; néhány iteráció után az ADC úgy döntött, hogy 77 körül van.

Szigma-delta az átalakítókat talán a legnehezebb megérteni. Nagy pontosságú zenei és jelmérési alkalmazásokhoz használják őket. Úgy működnek, hogy túlmintavételeznek egy jelet, és ördögien bonyolult szűréssel és matematikával finomítják az eredményt. Ez az eljárás hatékonyan csökkenti a mintavételi sebességet, miközben növeli a pontosságot. Ezek az ADC-k nagyszerűek, ha a zaj és a pontosság fontosabb, mint a sebesség.

Végül megvan ADC-k integrálása, amelyek még a szigma-deltánál is lassabbak. Kondenzátor segítségével dolgoznak, melynek töltési sebessége alapján meghatározható a bemeneti feszültség. A mintavételezési frekvenciát itt gyakran szinkronizálják a tápfeszültség frekvenciájával, amivel a zaj abszolút minimumon tartható.

Mi az a Nyquist-Shannon elmélet?

Tegyük fel, hogy egy analóg jelet szeretnénk digitálisan leírni. Ehhez minden adott ciklushoz legalább két pontra van szükségünk: egy felül és egy alul. Így a mintavételezési gyakoriságunknak legalább kétszerese kell legyen annak a legmagasabb frekvenciának, amelyet mérni várunk.

Ezt Harry Nyquist svéd-amerikai fizikus után Nyquist-frekvenciának nevezik. Az elmélet Nyquist és Claude Shannon (egy kiváló matematikus és kriptográfus) nevéhez fűződik, de nem Edmund Whittaker nevéhez fűződik, aki előtte állt elő az ötlettel.

Akárkinek is köszönhetjük az elméletet, van vele egy probléma. Lehetetlen előre tudni, mikor érkezik meg egy hullámforma teteje és alja. Mi van, ha a mintáinkat a bejövő hullámforma felénél vesszük? Figyelje meg, hogy a bejövő jel eltolódása hogyan lapíthatja el teljesen a rögzített eredményt:

Vagy hallucinálni olyan új hullámformákat, amelyek korábban nem is léteztek:

Ezek a hallucinációk az úgynevezett álnevek.

Az aliasing problémája

Valószínűleg ismeri a "kocsikerék" illúzióját, amely néha előfordul, amikor egy forgó tárgyat filmeznek. Az autó kerekei vagy a helikopter lapátjai hátrafelé forognak – csak nagyon lassan. Egyes esetekben a pengék teljesen leállhatnak (őszintén szólva furcsa eredményekkel – nézze meg az alábbi videót!).

Régebbi videojátékok lejátszása közben azt is észrevehetted, hogy a párhuzamos vonalak néha furcsa vetemedést okoznak. A kerítések, lépcsők és csíkos jumperek kezdenek igazán különösnek tűnni. Vagy mi a helyzet azokkal a furcsa sípoló hangokkal, amelyeket néha hallasz, amikor valaki rossz minőségű digitális kapcsolaton keresztül beszél? Ez torzítás, de a torzítás egy sajátos fajtája. Mi van azzal a sok csúnya frekvenciával, ami a zajból fakad? Ha harmonikusan gazdag tartalmat hallgat, például egy dobfelszerelést, a hatás még szembetűnőbb – különösen a csúcskategóriában.

Ha megérti ezek közül az egyik okát, már úton van afelé, hogy megértse mindegyiket. A kocsikerék esetében a rögzített képkockaszám azt jelenti, hogy nem tudjuk megfelelően rögzíteni a mozgást. Ha valami képkockánként 350°-kal elfordul, természetes, hogy azt észleljük, hogy valójában 10°-kal hátrafelé mozdult el. Más szóval, nincs elég információ ahhoz, hogy hűen ábrázolja, mi történik. Az általunk vett minták nincsenek összhangban azzal, amit mérni próbálunk.

Ez nem az analóg-digitális átalakításra jellemző probléma. Sok esetben az egyik típusú digitális jelet egy másikra alakítjuk át.

Szóval, mi a megoldás? Több is van. Speciális szűrőt alkalmazhatunk ezeknek a műtermékeknek a kezelésére, amit sok ADC csinál a motorháztető alatt. Vagy sokkal-sokkal több mintát vehetünk, mint amennyire szükségünk van. Minél több mintát veszünk, annál pontosabb képet kapunk a hullámról:

Minta jobb minőségben a legjobb eredmény érdekében

Ha érdekesnek találja ezt a fajta dolgot, a jó hír az, hogy alig merítettünk bele ebbe a témába. Van itt valami mélység: az ADC-k rendkívül bonyolultak.

De a végfelhasználó vagy az átlagos Arduino-rajongó szemszögéből ezek is nagyon egyszerűek. A feszültségek bemennek, és a számok jönnek ki. Tehát bármit is meg akar mérni – legyen az egy talajfolt nedvességtartalma, vagy egy emberi hangdoboz, vagy egy lencsén keresztül megtörő fotonfolyam – jó eséllyel van egy ADC, amely munka.