kategorier: Udvalgte artikler » Praktisk elektronik
Antal visninger: 49294
Kommentarer til artiklen: 0

Hvordan konverteres det analoge signal til digitalt

 

I elektronik er signalerne opdelt i: analog, diskret og digital. Til at begynde med er alt det, vi føler, se, høre for det meste, et analogt signal, og hvad en computerprocessor ser er et digitalt signal. Det lyder ikke meget klart, så lad os behandle disse definitioner, og hvordan en type signal konverteres til en anden.

Hvordan konverteres det analoge signal til digitalt

Signaltyper

Ved elektrisk repræsentation er et analogt signal, bedømt efter dets navn, en analog med en reel værdi. For eksempel føler du temperaturen i miljøet konstant i hele dit liv. Der er ingen pauser. På samme tid føler du ikke kun to niveauer af "varm" og "kulde", men et uendeligt antal sensationer, der beskriver denne værdi.

For en person kan “koldt” være anderledes, det er efterårets koldhed og vinterfrost og lette frost, men ikke altid er “koldt” en negativ temperatur, ligesom “varm” ikke altid er en positiv temperatur.

Signaltyper

Det følger, at det analoge signal har to funktioner:

1. Kontinuitet i tiden.

2. Antallet af signalværdier har en tendens til uendelig, dvs. Et analogt signal kan ikke opdeles nøjagtigt i dele eller kalibreres ved at opdele skalaen i specifikke sektioner. Målemetoder - baseret på måleenheden, og deres nøjagtighed afhænger kun af prisen for opdelingen af ​​skalaen, jo mindre den er, jo mere nøjagtig er målingen.


Diskrete signaler - dette er signaler, der er en række af rapporter eller målinger af enhver størrelse. Målingerne af sådanne signaler er ikke kontinuerlige, men periodiske.

Jeg vil prøve at forklare. Hvis du installerede et termometer et eller andet sted, måler det en analog værdi - dette følger af ovenstående. Men du, faktisk efter hans vidnesbyrd, får diskrete oplysninger. Diskret betyder separat.

For eksempel vågnede du op og fandt ud af, hvor mange grader termometeret havde, næste gang du kiggede på det på et termometer ved middagstidspunktet og tredje gang om aftenen. Du ved ikke, hvor hurtigt temperaturen ændrede sig jævnt eller ved et skarpt spring, du kender kun dataene på det tidspunkt, du observerede.


Digitale signaler Er et sæt niveauer, typer 1 og 0, høj og lav, uanset om. Reflektionsdybden af ​​information i digital form er begrænset af bitdybden på en digital enhed (et sæt logik, en mikrokontroller, processor osv.) Det viser sig, at det er ideelt til lagring af boolske data. Som eksempel kan vi nævne følgende: til lagring af data som "Dag" og "Nat" er 1 bit information nok.


bit - dette er minimumsværdien for at repræsentere information i digital form, det kan kun gemme to typer værdier: 1 (logisk enhed, højt niveau) eller 0 (logisk nul, lavt niveau).

Inden for elektronik repræsenteres en smule information i form af et lavspændingsniveau (tæt på 0) og et højspændingsniveau (afhængigt af en bestemt enhed falder ofte sammen med forsyningsspændingen for en given digital knudepunkt. Typiske værdier er 1,7, 3,3,5V, 15V).

Digitale signaler

Alle mellemværdier mellem de accepterede lave og høje niveauer er et overgangsområde og har muligvis ikke en specifik værdi, afhængigt af kredsløbet, både enheden som en helhed og det interne kredsløb i mikrokontrolleren (eller en hvilken som helst anden digital enhed) kan have et andet overgangsniveau, for eksempel i 5 -Volt-logik, spændingsværdierne fra 0 til 0,8V kan tages som nul og fra 2V til 5V som en enhed, mens afstanden mellem 0,8 og 2V er en udefineret zone, faktisk hjælper det med at adskille nul fra enhed.

Jo mere nøjagtige og rummelige værdier du har brug for at gemme, jo flere bits har du brug for, vi giver et eksempel på en tabel med en digital visning af fire værdier for tiden på dagen:

Nat - Morgen - Dag - Aften

Til dette har vi brug for 2 bit:

Eksempel med digital visning af fire værdier for tidspunktet på dagen

Analog til digital konvertering

I det generelle tilfælde er analog-til-digital konvertering processen med at konvertere en fysisk mængde til en digital værdi. Den digitale værdi er et sæt enheder og nuller, der opfattes af behandlingsenheden.

En sådan transformation er nødvendig for interaktion mellem digital teknologi og miljøet.

Da det analoge elektriske signal gentager indgangssignalet i sin form, kan det ikke optages digitalt “som det er”, fordi det har et uendeligt antal værdier. Et eksempel er lydoptagelsesprocessen. Det i sin originale form ser sådan ud:

Primær lyd

Det er summen af ​​bølger med forskellige frekvenser. Hvilket, når de nedbrydes i frekvenser (for flere detaljer, se Fourier-transformationer), på en eller anden måde, kan bringes nærmere et lignende billede:

Lydbølge

Prøv nu at præsentere det i form af et sæt af typen “111100101010100”, det er temmelig svært, er det ikke?

Et andet eksempel på behovet for at konvertere en analog mængde til en digital er dens måling: elektroniske termometre, voltmetre, ammetre og andre måleinstrumenter interagerer med analoge mængder.



Hvordan går konverteringen?

Først skal du se på diagrammet for en typisk konvertering af et analogt signal til digitalt og vice versa. Senere vender vi tilbage til hende.

Analog til digital konvertering

Faktisk er dette en kompleks proces, der består af to hovedstadier:

1. Diskretisering af signalet.

2. Kvantisering efter niveau.

Diskretisering af et signal er bestemmelsen af ​​de tidsintervaller, som signalet måles over. Jo kortere disse huller, desto mere nøjagtige er målingen. Prøveudtagningsperioden (T) er tidsrummet fra begyndelsen af ​​læsning af data til dets slutning. Prøveudtagningshastighed (f) er det gensidige mellem:

fd = 1 / T

Efter at have læst signalet, behandles det og gemmes i hukommelsen.

Det viser sig, at i det tidsrum, hvor signalets aflæsninger læses og behandles, kan det ændre sig, således at den målte værdi forvrænges. Der er en sådan Kotelnikov-sætning, og følgende regel følger heraf:

Samplingsfrekvensen skal være mindst 2 gange større end hyppigheden af ​​det samplede signal.

Dette er et skærmbillede fra Wikipedia med et uddrag fra teorem.

Kotelnikov sætning

For at bestemme den numeriske værdi er kvantisering efter niveau nødvendigt. Kvante er et bestemt interval af målte værdier, der gennemsnit er reduceret til et bestemt antal.

X1 ... X2 = Xy

dvs. signaler fra X1 til X2, betinget sidestilles med en specifik værdi af Xy. Dette ligner divisionsprisen for en pointermåler. Når du foretager aflæsninger, sidestiller du dem ofte med det nærmeste mærke på instrumentets skala.

Så med kvantisering efter niveau, jo mere kvanta, jo mere nøjagtige målinger og jo flere decimaler (hundrededele, tusindedele osv.) Kan de indeholde.

Mere præcist bestemmes antallet af decimaler snarere af ADC's opløsning.

Niveau kvantisering

Billedet viser processen med kvantisering af et signal ved hjælp af en informationsbit som beskrevet ovenfor, når en høj værdi accepteres, når en vis grænse overskrides.

Til højre er kvantiseringen af ​​signalet og en registrering i form af to databits. Som du kan se, er dette signalfragment allerede opdelt i fire værdier. Det viser sig, at et glat analogt signal som et resultat blev til et digitalt "trin" -signal.

Antallet af kvantiseringsniveauer bestemmes af formlen:

Antal kvantiseringsniveauer

Hvor n er antallet af bit, er N kvantiseringsniveauet.

Her er et eksempel på et signal opdelt i et større antal kvanta:

ADC-kvantisering

Dette viser meget tydeligt, at jo oftere signalværdierne tages (jo højere samplingfrekvens), desto mere nøjagtigt måles det.

Konvertering af et analogt signal til digitalt

Dette billede viser konvertering af et analogt signal til en digital form, og til venstre for ordinataksen (lodret akse) er en 8-bit digital optagelse.


Analog til digitale konvertere

En ADC eller en analog-til-digital konverter kan implementeres som en separat enhed eller integreres i mikrocontroller.

Tidligere indeholdt mikrokontrollere, for eksempel MCS-51-familien, ikke en ADC, en ekstern mikrokredsløb blev brugt til dette, og det blev nødvendigt at skrive en subroutine til behandling af værdierne af en ekstern IC.

Analoge input på Arduino Board

Nu er de i de fleste moderne mikrokontrollere, for eksempel AVR AtMEGA328, som er grundlaget for mest populære kredsløbskort Arduino, er det indbygget i MK selv. I Arduino er læsning af analoge data enkel med kommandoen AnalogRead (). Selvom mikroprocessoren, som er installeret i den samme ikke mindre populære Raspberry PI, ikke har den, så ikke alt er så enkelt.

Der er faktisk et stort antal muligheder for analoge til digitale konvertere, som hver har sine egne ulemper og fordele. At beskrive, som inden for denne artikel ikke giver meget mening, da dette er en stor mængde materiale. Overvej kun den generelle struktur for nogle af dem.

Den ældste patenterede ADC-mulighed er Paul M. Raineys patent, "Faksimile-telegrafsystem", U.S. Patent 1.608.527, arkiveret 20. juli 1921, udstedt 30. november 1926. Dette er en 5-bit direkte konvertering ADC. Fra navnet på patentet kommer tanker om, at brugen af ​​denne enhed var forbundet med transmission af data via telegraf.

Første ADC

Hvis vi taler om moderne ADC'er med direkte konvertering, har de følgende skema:

ADC kredsløb

Dette viser, at input er en kæde fra komparatorersom udsender deres signal, når de krydser et eller andet tærskelsignal. Dette er bitdybde og kvantisering. Enhver endda lidt stærk i kredsløb, så denne åbenlyse kendsgerning.

Hvem er ikke stærk, så fungerer inputkredsløbet på denne måde:

Et analogt signal indføres til “+” -indgangen, på én gang. Udgangene med betegnelsen “-” modtager referencespændingen, som dekomponeres ved hjælp af en kæde af modstande (resistiv divider) til et antal referencespændinger. For eksempel ser en serie for denne kæde ud som dette forhold:

Urefi = (1/16, 3/16, 5/16, 7/16, 9/16, 11/16, 13/16) * Uref

I parentes angiver et komma, hvilken del af den samlede referencespænding Uref, der leveres til indgangen til hver indgangsspænding.

dvs. hvert af elementerne har to indgange, når indgangsspændingen signeres «+» overskrider indgangsspændingen med et "-" tegn, vises en logisk enhed ved dens udgang. Når spændingen ved den positive (ikke-inverterende) indgang er mindre end ved den negative (inverterende) indgang, er udgangen nul.

komparator

Spændingen er delt, så indgangsspændingen er opdelt i det ønskede antal cifre. Når spændingen ved indgangen når udgangen fra det tilsvarende element, vises der et signal, forarbejdningskredsløbet udsender det "korrekte" signal i digital form.

En sådan komparator er god til databehandlingshastighed, alle elementer i inputkredsløbet udløses parallelt, hovedforsinkelsen for denne type ADC dannes ud fra komparatorens forsinkelse 1 (de udløses samtidigt) og forsinkelsen er koderen.

Der er imidlertid en stor ulempe ved parallelle kredsløb - dette er behovet for et stort antal komparatorer for at opnå ADC'er med høj opløsning. For at få for eksempel 8 cifre skal du bruge 2 ^ 8 komparatorer, og dette er så mange som 256 stykker. For en ti-bit (i Arduino 10-bit ADC, forresten, men af ​​en anden type), har du brug for 1024 komparatorer. Døm selv passende om en sådan behandlingsmulighed, og hvor det kan være nødvendigt.

Der er andre typer ADC'er:

  • sammenhængende tilnærmelse;

  • delta sigma ADC.

konklusion

Konvertering af et analogt signal til digitalt er nødvendigt for at læse parametre fra analoge sensorer. Der er en separat type digitale sensorer, de er enten integrerede kredsløb, for eksempel DS18b20 - ved dens output er der allerede et digitalt signal, og det kan behandles af alle mikrokontrollere eller mikroprocessorer uden behov for en ADC, eller en analog sensor på et bord, der allerede har sin egen konverter. Hver type sensor har sine fordele og ulemper, såsom støjimmunitet og målefejl.

Viden om konverteringsprincipperne er nødvendig for alle, der arbejder med mikrokontrollere, fordi ikke engang ethvert moderne system har sådanne konvertere indbygget, skal du bruge eksterne mikrokredsløb. For eksempel kan vi nævne et sådant bræt designet specifikt til Raspberry PI GPIO-stikket med præcision ADC på ADS1256.

Se også på elektrohomepro.com:

  • Tilslutning af analoge sensorer til Arduino, læssensorer
  • Hvad er forskellen mellem analoge og digitale sensorer
  • Digital og analog signal: hvad er ligheder og forskelle, fordele og ulemper ...
  • Mest populære sensorer til Arduino
  • Schmitt trigger - generel opfattelse

  •