ADC ir ļoti svarīgi, lai pārveidotu visu veidu analogos signālus ciparu formātā, bet kā tie faktiski darbojas?
Key Takeaways
- ADC plaši izmanto, lai pārveidotu analogos signālus, piemēram, skaņu un gaismu, digitālās vērtībās, ko var izmantot dažādās lietojumprogrammās.
- ADC izlases ātrums nosaka sekundē uzņemto rādījumu skaitu ar augstāku paraugu ņemšanas ātrumu, kas ļauj precīzāk attēlot signālu.
- ADC bitu pārraides ātrums ietekmē iegūtā parauga kvalitāti, jo vairāk bitu nodrošina vienmērīgākus un precīzākus mērījumus. Dažādi ADC veidi piedāvā dažādus kompromisus ātruma, precizitātes un enerģijas patēriņa ziņā.
Analogo-digitālie pārveidotāji (ADC) ir neticami noderīgi, lai pārvērstu reālās pasaules parādības vērtībās, kuras varam izmantot programmēšanas projektos. Bet kā ADC var pārvērst analogos signālus ciparu signālos, kurus mēs varam izmantot jebkur?
Kam tiek izmantoti ADC?
Jūs atradīsiet ADC gandrīz visur. Tie atrodas jūsu tālrunī, pārvēršot jūsu balsi bināro vērtību virknē. Tie atrodas jūsu automašīnā un mēra jūsu riteņu griešanos. Tie atrodas osciloskopos, palīdzot uztvert signālus un tos attēlot. Tomēr lielākā daļa cilvēku tos izmantos video un audio pasaulē, kur gaismas un skaņas nokļūšana digitālajā telpā ir ļoti svarīga.
Kas ir izlases ātrums? Kā parauga frekvence ietekmē ADC?
Viens no vissvarīgākajiem ADC virsraksta rādītājiem ir izlases ātrums: ik sekundi veikto rādījumu skaits.
Ļoti augstas klases osciloskops var ņemt desmit miljardus paraugu sekundē. Plūcīgais mazais MCP3008 ADC var uzņemt salīdzinoši pieticīgus divsimt tūkstošus. Audio pasaulē tipisks izlases ātrums ir 44 100 sekundē (44,1 kHz).
Jo vairāk paraugu ņemam, jo precīzāk varam attēlot signālu. Dažreiz tas ir būtiski; dažreiz tā nav. Pieņemsim, ka mēs veidojam fader banku (paredzēta elektronikas vadībai, kā jūs varētu redzēt uz apgaismojuma vai audio galda) ar dažiem desmitiem potenciometru. Šajā gadījumā vērtības, kas mums jāizmēra, visticamāk, nemainīsies miljoniem reižu sekundē, jo mūsu pirksti nevar tik ātri kustēties. Mums ir nepieciešams pietiekami daudz paraugu, lai rezultāts būtu vienmērīgs un atsaucīgs.
Kas ir bitu pārraides ātrums? Vai bitu pārraides ātrums ietekmē ADC kvalitāti?
Mums vajadzētu arī padomāt par iegūtā parauga kvalitāti. To lielā mērā nosaka bitu pārraides ātrums, kas norāda, cik ieslēgšanas un izslēgšanas stāvokļus varam izmantot, lai digitāli attēlotu spriegumu. Jo vairāk mums ir bitu, jo vairāk iespējamo vērtību mēs varam ierakstīt jebkurā konkrētajā paraugā un vienmērīgāks un precīzāks gala rezultāts.
Mēs esam rakstījuši par bināro sistēmu un to, kā tas darbojas, tādēļ, ja neesat pārliecināts, šī ir laba vieta, kur sākt. Cik bitu mums vajag? Atkal, tas ir atkarīgs no tā, ko mēs cenšamies paveikt. Dažkārt mūs var ierobežot izmantotais protokols. Piemēram, MIDI 1.0 protokols ir ierobežots līdz septiņu bitu (un dažkārt arī četrpadsmit bitu) vērtībām. Citos gadījumos ierobežojošais faktors var būt cilvēka uztvere. Ja palielinātā precizitāte nerada nekādu manāmu rezultātu uzlabošanos, tas var nebūt lietderīgi.
Kā multipleksēšana uzlabo ADC kvalitāti?
Populāras ADC mikroshēmas, piemēram, ADS1115 un MCP3008 piedāvā daudzas ievades. Bet zem pārsega tie patiešām satur tikai vienu ADC. Tas ir iespējams, pateicoties šajās ierīcēs iebūvētajiem multipleksoriem. Multiplekseri ir absolūti visur elektronikas un telekomunikāciju pasaulē. Tie ir digitālie slēdži, kas darbojas kā satiksmes kontrole jūsu ADC. ADC var iztvert vienu kanālu, pēc tam nākamo un tad nākamo. Tātad, ja jums ir astoņi kanāli un izlases ātrums ir 200 000, varat pagriezt tos visus, katrā kanālā ņemot 25 000 paraugu.
Kādi ADC veidi pastāv?
ADC darbojas dažādos veidos atkarībā no nepieciešamajām izmaksām un iespējām.
A Flash ADC darbojas, izmantojot ļoti sarežģītu sprieguma dalītāju. Rezistoru banka sadala atsauces spriegumu pakāpēs, ko pēc tam pārbauda pret ieeju, izmantojot salīdzinājumu banku. Flash ADC ir zibenīgi ātri, taču tie ir ierobežoti, ja runa ir par bitu dziļumu, jo ir nepieciešams daudz salīdzinātāju. Tā paša iemesla dēļ viņi arī ir izsalkuši no varas.
A ADC apakšgrupēšana cenšas kompensēt šīs nepilnības, sadalot darbu starp divām atsevišķām vienībām: vienu, lai aptuveni aprēķinātu spriegumu, un pēc tam otru, lai to precīzi izstrādātu. Sadalot lietas, mēs varam samazināt salīdzinātāju skaitu. Daži apakšgrupas ADC sadalīs darbu trīs posmos ar kļūdu labošanu.
SAR (Secīgās tuvināšanas reģistrs) ADC veic savu darbu, izmantojot sava veida binārā meklēšana. Pieņemsim, ka mums ir jāaizpilda astoņi biti. SAR sāksies no 10000000, kas ir vidējā vērtība (00000000 ir zemākā vērtība un 11111111 ir augstākā). Ja spriegums pārsniedz šo viduspunktu, SAR saglabās galējo kreiso ciparu kā 1; ja tā nenotiek, SAR iestatīs galējo kreiso ciparu uz 0. Mēs varam atkārtot procesu ar nākamo ciparu un tā tālāk rekursīvi. Tādējādi uzminētā vērtība pakāpeniski pārvietosies uz faktisko vērtību:
Tādā veidā mēs nepārtraukti sašaurinām meklēšanu, sadalot iespējas uz pusēm un jautājot, vai rezultāts ir augstāks vai zemāks par viduspunktu. Šajā gadījumā vērtība ir no 0 līdz 255; pēc dažām iterācijām ADC atklāja, ka tas ir aptuveni 77.
Sigma-delta pārveidotājus, iespējams, ir visgrūtāk saprast. Tos izmanto augstas precizitātes mūzikas un signālu mērīšanas lietojumprogrammām. Viņi strādā, pārtverot signālu un uzlabojot rezultātu, izmantojot velnišķīgi sarežģītu filtrēšanu un matemātiku. Šis process efektīvi samazina parauga ātrumu, vienlaikus palielinot precizitāti. Šie ADC ir lieliski, ja troksnis un precizitāte ir svarīgāki par ātrumu.
Beidzot mums ir ADC integrēšana, kas ir pat lēnāki nekā sigma-delta. Tie darbojas ar kondensatora palīdzību, kura uzlādes ātrumu var izmantot, lai noteiktu ieejas spriegumu. Šeit parauga frekvence bieži tiek sinhronizēta ar barošanas avota frekvenci, ko var izmantot, lai troksni samazinātu līdz absolūtam minimumam.
Kas ir Nikvista-Šenonas teorija?
Pieņemsim, ka mēs vēlamies aprakstīt analogo signālu digitāli. Lai to izdarītu, mums ir nepieciešami vismaz divi punkti katram konkrētajam ciklam: viens augšpusē un viens apakšā. Tādējādi mūsu paraugu ņemšanas biežumam ir jābūt vismaz divreiz lielākam par augstāko frekvenci, ko mēs paredzam izmērīt.
Tā ir pazīstama kā Nyquist frekvence pēc zviedru izcelsmes amerikāņu fiziķa Harija Nikvista. Teorija ir nosaukta Nikvista un Kloda Šenona (izcilā matemātiķa un kriptogrāfa) vārdā, bet ne Edmunda Vitekera vārdā, kurš nāca klajā ar šo ideju pirms jebkura no viņiem.
Neatkarīgi no tā, kam mēs piedēvējam teoriju, ar to ir problēma. Nav iespējams iepriekš zināt, kad parādīsies viļņu formas augšdaļa un apakšdaļa. Ko darīt, ja mēs paņemsim savus paraugus ienākošās viļņu formas vidū? Ievērojiet, kā ienākošā signāla maiņa var pilnībā izlīdzināt mūsu uzņemto rezultātu:
Vai pat halucinēt jaunas viļņu formas, kas agrāk pat nepastāvēja:
Šīs halucinācijas ir pazīstamas kā pseidonīmi.
Problēma ar aizstājvārdu
Jūs, iespējams, pazīstat ilūziju "vagona rats", kas dažkārt rodas, filmējot griežamu priekšmetu. Šķiet, ka automašīnas riteņi vai helikoptera asmeņi griežas atpakaļ — tikai ļoti lēni. Dažos gadījumos asmeņi var pilnībā apstāties (ar atklāti dīvainiem rezultātiem — skatiet tālāk esošo videoklipu!).
Spēlējot vecāku videospēli, iespējams, arī pamanījāt, ka paralēlas līnijas dažkārt rada dīvainus deformācijas artefaktus. Žogi, kāpnes un svītraini džemperi patiešām sāk izskatīties ļoti savdabīgi. Vai kā ar tām dīvainajām svilpojošām skaņām, kuras dažkārt dzirdat, klausoties kāda runā, izmantojot sliktas kvalitātes digitālo savienojumu? Tas ir izkropļojums, bet īpašs kropļojuma veids. Kas notiek ar visām šīm neglītajām frekvencēm, kas rodas no trokšņa? Ja klausāties harmoniski bagātīgu saturu, piemēram, bungu komplektu, efekts ir vēl pamanāmāks — īpaši augstākajā līmenī.
Ja saprotat kāda no šiem iemesliem, jūs varat izprast tos visus. Vagona riteņa gadījumā fiksētais kadru ātrums nozīmē, ka mēs nevaram pareizi uztvert kustību. Ja kaut kas pagriežas par 350° katrā kadrā, ir tikai dabiski uztvert, ka tas faktiski ir pārvietots atpakaļ par 10°. Citiem vārdiem sakot, nav pietiekami daudz informācijas, lai patiesi atspoguļotu notiekošo. Mūsu ņemtie paraugi nav saskaņoti ar to, ko cenšamies izmērīt.
Tā nav problēma, kas raksturīga tikai analogajai-digitālajai pārveidei. Daudzos no šiem gadījumiem mēs pārveidojam viena veida digitālo signālu citā.
Tātad, kāds ir risinājums? Ir vairāki. Mēs varētu izmantot īpašu filtru, lai tiktu galā ar šiem artefaktiem, ko daudzi ADC dara zem pārsega. Vai arī mēs varam paņemt daudz, daudz vairāk paraugu, nekā mums nepieciešams. Jo vairāk paraugu ņemam, jo precīzāks kļūst mūsu viļņa attēls:
Labākas kvalitātes paraugs, lai iegūtu labākos rezultātus
Ja jums šāda veida lietas šķiet interesantas, labā ziņa ir tā, ka mēs tik tikko esam iedziļinājušies šajā tēmā. Šeit ir jādomā par dziļumiem: ADC ir ārkārtīgi sarežģīti.
Bet no gala lietotāja vai vidusmēra Arduino entuziasta viedokļa tie ir arī ļoti vienkārši. Spriegumi ienāk, un skaitļi iznāk. Tātad, neatkarīgi no tā, ko vēlaties izmērīt — vai tas ir augsnes laukuma mitruma saturs, cilvēka balss kaste vai fotonu straume, kas laužas caur objektīvu — pastāv liela iespēja, ka pastāv ADC, kas darbs.