Det generelle prinsippet for drift av ADC. Hva er ADC. Bitbalansert analog-til-digital omformer

Navigasjonskart kan være mest nødvendig ulike situasjoner... Enten er du borte i skogen, eller så leter du etter den nødvendige gaten i byen. En tjeneste som kan hjelpe deg med å håndtere dette er Google Maps. Den består av et par applikasjoner. Nemlig: fra siden Google Kart og Google Transit (ruteplanleggingsprogram). På grunn av det faktum at Google overfører data direkte fra satellitten, kan du ved hjelp av disse kartene finne ut detaljert diagram rute, husnummer, gatenavn og hvordan du kan gå eller reise (med bil, buss, sykkel) til målet.
Denne tjenesten er en flott referanse, og dekker mange områder av livet, fra reise til å planlegge en spasertur eller reise på ferie.

Utseende

Kartet for brukere kan vises på to måter:
  • tradisjonelt (topografisk kart, analog av Mercator);
  • satellittbilder (ikke med online-modus, men laget for en tid siden).
I følge Mercator-projeksjonen ble målestokken til kartene skapt, som er konstant: mot ekvator fra polene avtar den og omvendt.
Et relatert prosjekt til Google Maps - Google Planet (tilsvarer kloden) kompletterer tjenesten for bilder av jordens poler.

Egenskaper

Ikke alle land oppgir plasseringen av eiendommene deres. Derfor steder på kartet hvor det er klassifiserte områder skyggelagt... Disse inkluderer for eksempel Det hvite hus, Capitol.

Ulike tomter har ulik oppløsning på kartet. Jo lavere befolkningstetthet et territorium har, jo mindre detaljer er kjent om det. Noen steder på kartet er skjult under skyene. Selv om ikke alle objekter ble fanget opp av satellitt. Bilder av noen av dem ble oppnådd takket være flyfotografering fra en høyde på 300 meter eller mer. På slike steder når terrengdetaljer høye verdier.

Tjenestegrensesnitt

Google Maps er veldig enkelt å administrere. Denne appen er laget for mennesker, og det er slik den fungerer. På venstre side er det en knapp for å bytte utseende på kort ( topografisk eller satellittvisning). Og på høyre side av skjermen kan brukeren finne zoomknappene ( øke og redusere).
Systemet lar brukerne skrive inn adressen eller navnet på objektet og motta informasjon om dets plassering, adresse, koordinater, utseende... For noen soner er gjenkjenningstjenesten «hva er der» tilgjengelig, mens Google Maps vil vise hvilket objekt (bensinstasjon, museum, butikk, teater) som ligger der.

Google online kart veldig mye bruk av javascript-tjenesten. Nye områder av kartet vises på siden når brukeren flytter det rundt på skjermen. Hvis adressen til et spesifikt objekt ble lagt inn, lastes siden inn på nytt og plasseringen til ønsket plassering vises på kartet med et dynamisk rødt markørikon.

Slik at kartet kunne være vert for eierne av andre nettsteder, annonserte Google gratis tjeneste: API-kart (Application Programming Interface) i 2005. Dette kartet kan legges til et hvilket som helst område på nettstedet. De på dette øyeblikket det er over 350 tusen på verdensbasis.

Om Google Maps

Fra og med 2011 har Google annonsert at de leverer sine karttjeneste for over 150 millioner kunder. Dette gjør tjenesten til en av de største og mest ambisiøse Internettnavigasjonstjenestene.
Interaktive Google Maps er gratis tjeneste, med tillatelse fra Google, som ikke inneholder annonser, men bare gir høykvalitets og bekreftet informasjon om plasseringen og formålet til objekter rundt om i verden.

La oss se på hovedutvalget av problemer som kan tilskrives handlingsprinsippet forskjellige typer... Sekvensiell telling, bitvis balansering - hva skjuler seg bak disse ordene? Hva er prinsippet for drift av ADC-en til en mikrokontroller? Disse, samt en rekke andre problemstillinger, vil vi vurdere innenfor rammen av artikkelen. Vi vil vie de tre første delene generell teori, og fra den fjerde underoverskriften vil vi studere prinsippet for deres arbeid. Du kan inn diverse litteratur oppfyller vilkårene ADC og DAC. Prinsippet for drift av disse enhetene er litt annerledes, så ikke forveksle dem. Så artikkelen vil vurdere fra analog til digital form, mens DAC fungerer omvendt.

Definisjon

Før vi vurderer prinsippet til ADC, la oss finne ut hva slags enhet det er. Analog-til-digital-omformere er enheter som konverterer en fysisk mengde til en tilsvarende numerisk representasjon. Nesten alt kan fungere som en innledende parameter - strøm, spenning, kapasitans, motstand, akselrotasjonsvinkel, pulsfrekvens, og så videre. Men for å være sikker, vil vi bare jobbe med én transformasjon. Dette er spenningskode. Valget av dette arbeidsformatet er ikke tilfeldig. Tross alt avhenger ADC (prinsippet for drift av denne enheten) og dens funksjoner i stor grad av hvilket målebegrep som brukes. Dette forstås som prosessen med å sammenligne en viss verdi med en tidligere etablert standard.

ADC-egenskaper

De viktigste er bitdybde og konverteringsfrekvens. Den første er uttrykt i biter og den andre i antall per sekund. Moderne analog-til-digital-omformere kan ha en bitbredde på 24 biter eller en konverteringsrate som går opp til GSPS-enheter. Vær oppmerksom på at ADC bare kan gi deg én av egenskapene om gangen. Jo høyere indikatorene deres er, desto vanskeligere er det å jobbe med enheten, og det koster i seg selv mer. Men heldigvis kan du få de nødvendige bithastighetene ved å ofre enhetens hastighet.

ADC-typer

Driftsprinsippet er forskjellig for forskjellige grupper av enheter. Vi dekker følgende typer:

  1. Direkte konvertering.
  2. Med konsekvent tilnærming.
  3. Med parallell konvertering.
  4. Analog-til-digital omformer med ladningsbalansering (delta-sigma).
  5. Integrering av ADC-er.

Det er mange andre rørledninger og kombinerte typer som har sine egne spesifikke egenskaper med forskjellige arkitekturer. Men de prøvene som vil bli vurdert innenfor rammen av artikkelen er av interesse på grunn av det faktum at de spiller en veiledende rolle i deres nisje av enheter med denne spesifisiteten. La oss derfor studere prinsippet for drift av ADC, så vel som dens avhengighet av den fysiske enheten.

Direkte analog til digital omformere

De ble veldig populære på 60- og 70-tallet av forrige århundre. De har blitt produsert i form siden 80-tallet. Dette er veldig enkle, til og med primitive enheter som ikke kan skryte av betydelig ytelse. Bitdybden deres er vanligvis 6-8 biter, og hastigheten overstiger sjelden 1 GSPS.

Prinsippet for drift av denne typen ADC er som følger: inngangssignalet mates samtidig til de positive inngangene til komparatorene. En spenning av en viss størrelse påføres de negative terminalene. Og deretter bestemmer enheten driftsmodusen. Dette gjøres takket være referansespenningen. La oss si at vi har en enhet med 8 komparatorer. Når ½ av referansespenningen tilføres, vil bare 4 av dem slås på. Den vil bli dannet av en prioritetskoder og fiksert av utgangsregisteret. Når det gjelder fordeler og ulemper, kan vi si at arbeidet lar deg lage høyhastighetsenheter. Men for å få den nødvendige bitdybden må du svette mye.

Den generelle formelen for antall komparatorer ser slik ut: 2 ^ N. Under N må du angi antall sifre. Eksemplet diskutert tidligere kan brukes igjen: 2 ^ 3 = 8. Totalt trengs 8 komparatorer for å få det tredje sifferet. Dette er driftsprinsippet til ADC-ene, som ble opprettet først. Ikke veldig praktisk, så andre arkitekturer dukket opp senere.

Suksessive tilnærming analog til digital omformere

Her brukes "veiing"-algoritmen. I forkortet form kalles enheter som bruker denne teknikken ganske enkelt sekvensielle ADC-er. Driftsprinsippet er som følger: enheten måler verdien av inngangssignalet, og deretter sammenlignes det med tallene som genereres i henhold til en bestemt metode:

  1. Stiller inn halvparten av mulig referansespenning.
  2. Hvis signalet har overskredet verdigrensen fra punkt # 1, sammenlignes det med tallet som ligger midt mellom gjenværende verdi. Så i vårt tilfelle vil det være ¾ av referansespenningen. Hvis referansesignalet faller under denne indikatoren, vil sammenligningen bli utført med den andre delen av intervallet i henhold til samme prinsipp. V dette eksemplet dette er ¼ av spenningsreferansen.
  3. Trinn 2 må gjentas N ganger, noe som vil gi oss N biter av resultatet. Dette er på grunn av H-tallet for sammenligninger.

Dette operasjonsprinsippet gjør det mulig å oppnå enheter med en relativt høy konverteringsfrekvens, som er suksessive tilnærmings-ADC-er. Driftsprinsippet, som du kan se, er enkelt, og disse enhetene er utmerket for forskjellige tilfeller.

Parallelle analog til digital omformere

De fungerer som serielle enheter. Beregningsformelen er (2 ^ H) -1. For tilfellet vurdert tidligere, trenger vi (2 ^ 3) -1 komparatorer. For arbeid brukes en viss rekke av disse enhetene, som hver kan sammenligne inngangen og individuell referansespenning. Parallelle A/D-omformere er ganske raske enheter. Men designprinsippet til disse enhetene er slik at det kreves betydelig kraft for å opprettholde ytelsen. Derfor er det upraktisk å bruke dem med batteristrøm.

Bitbalansert analog-til-digital omformer

Det fungerer på samme måte som forrige enhet... Derfor, for å forklare driften av ADC, vil driftsprinsippet for nybegynnere bli vurdert bokstavelig talt på fingrene. Disse enhetene er basert på fenomenet dikotomi. Med andre ord, en sekvensiell sammenligning av den målte verdien med en viss del av maksimal verdi... Verdier i ½, 1/8, 1/16 og så videre kan tas. Derfor kan analog-til-digital-omformeren fullføre hele prosessen i N iterasjoner ( påfølgende trinn). Dessuten er H lik bitdybden til ADC (se på de tidligere gitte formlene). Dermed har vi en betydelig tidsgevinst, dersom teknologiens hastighet er spesielt viktig. Til tross for deres betydelige hastighet, har disse enhetene også en lav statisk feil.

Ladebalanserte A/D-omformere (Sigma Delta)

Dette er den mest interessante typen enhet, ikke minst på grunn av dets operasjonsprinsipp. Den består i å sammenligne inngangsspenningen med den akkumulert av integratoren. Pulser med negativ eller positiv polaritet mates til inngangen (alt avhenger av resultatet av forrige operasjon). Dermed kan vi si at en slik analog-til-digital-omformer er et enkelt sporingssystem. Men dette er bare som et eksempel for sammenligning, slik at du kan forstå ADC. Driftsprinsippet er systemisk, men for effektiv funksjon av denne analog-til-digital-omformeren er det ikke nok. Sluttresultatet er en endeløs strøm av enere og nuller som går gjennom det digitale lavpassfilteret. En viss bitsekvens dannes fra dem. Det er ADC-omformere av første og andre orden.

Integrering av analog-til-digital-omformere

Dette er den siste spesielle saken som vil bli vurdert innenfor rammen av artikkelen. Deretter vil vi beskrive prinsippet for drift av disse enhetene, men allerede på et generelt nivå. Denne ADC er en push-pull integrering analog-til-digital-omformer. Møte lignende enhet det er mulig i et digitalt multimeter. Og dette er ikke overraskende, fordi de gir høy nøyaktighet og samtidig godt undertrykker interferens.

La oss nå fokusere på hvordan det fungerer. Den består i at inngangssignalet lader kondensatoren for en fast tid. Vanligvis er denne perioden enheten for nettfrekvensen som driver enheten (50 Hz eller 60 Hz). Det kan også være flere. Dermed undertrykkes høyfrekvent interferens. Samtidig utjevnes påvirkningen av ustabil spenning nettverkskilde skaffe elektrisitet for nøyaktigheten av resultatet.

Når ladetiden til A/D-omformeren slutter, begynner kondensatoren å lades ut med en viss fast hastighet. Den interne telleren til enheten teller antall klokkepulser som genereres under denne prosessen. Jo lengre tidsintervallet er, desto viktigere er indikatorene.

ADC-er for push-pull-integrasjon har høy nøyaktighet og på grunn av dette, samt en relativt enkel konstruksjonsstruktur, utføres de som mikrokretser. Den største ulempen med dette operasjonsprinsippet er avhengigheten av nettverksindikatoren. Husk at dens evner er knyttet til lengden på strømforsyningens frekvensperiode.

Dette er hvordan en dobbel-integrert ADC fungerer. Driftsprinsipp denne enheten selv om det er ganske komplekst, gir det kvalitative indikatorer... I noen tilfeller er dette rett og slett nødvendig.

Vi velger AOC med det arbeidsprinsippet vi trenger

La oss si at vi har en spesifikk oppgave foran oss. Hvilken enhet skal du velge slik at den kan tilfredsstille alle våre behov? La oss først snakke om oppløsning og nøyaktighet. De er veldig ofte forvirret, selv om de i praksis er svært svakt avhengige av den ene. Husk at en 12-bits A/D-omformer kan være mindre nøyaktig enn en 8-bits. I dette tilfellet er oppløsningen et mål på hvor mange segmenter som kan trekkes ut fra inngangsområdet til det målte signalet. Så, 8-bits ADC-er har 2 8 = 256 slike enheter.

Nøyaktighet er det totale avviket til det oppnådde konverteringsresultatet fra den ideelle verdien, som bør være ved en gitt inngangsspenning. Det vil si at den første parameteren karakteriserer de potensielle egenskapene til ADC, og den andre viser hva vi har i praksis. Derfor kan en enklere type være egnet for oss (for eksempel direkte analog-til-digital-omformere), som vil tilfredsstille behovene på grunn av høy nøyaktighet.

For å ha en ide om hva som trengs, må du først beregne fysiske parametere og bygge matematisk formel interaksjoner. Statiske og dynamiske feil er viktige i dem, fordi når du bruker forskjellige komponenter og prinsipper for å bygge en enhet, vil de påvirke egenskapene på forskjellige måter. Mer detaljert informasjon finnes i teknisk dokumentasjon tilbys av produsenten av hver enkelt enhet.

Eksempel

La oss ta en titt på SC9711 ADC. Prinsippet for drift av denne enheten er kompleks på grunn av dens størrelse og evner. Forresten, når vi snakker om sistnevnte, bør det bemerkes at de er virkelig forskjellige. Så for eksempel varierer frekvensen til en mulig operasjon fra 10 Hz til 10 MHz. Med andre ord kan den gjøre 10 millioner prøver per sekund! Og selve enheten er ikke noe integrert, men har en modulær konstruksjonsstruktur. Men det brukes som regel i en kompleks teknikk, hvor det er nødvendig å jobbe med stort beløp signaler.

Konklusjon

Som du kan se, er ADC-er basert på ulike prinsipper arbeid. Dette tillater oss å velge enheter som vil tilfredsstille de oppståtte behovene, og vil samtidig tillate oss å disponere de tilgjengelige midlene på en rimelig måte.

Denne artikkelen diskuterer hovedspørsmålene angående prinsippet om drift av ADC forskjellige typer... Samtidig forble noen viktige teoretiske beregninger angående den matematiske beskrivelsen av analog-til-digital konvertering utenfor rammen av artikkelen, men lenker er gitt som den interesserte leser kan finne en dypere vurdering teoretiske aspekter ADC-drift. Dermed er artikkelen mer opptatt av å forstå de generelle prinsippene for ADC-drift enn av en teoretisk analyse av deres arbeid.

Introduksjon

Som et utgangspunkt, la oss definere analog-til-digital konvertering. Analog-til-digital konvertering er prosessen med å konvertere en fysisk inndatamengde til dens numeriske representasjon. En analog-til-digital-omformer er en enhet som utfører denne konverteringen. Formelt sett kan inngangsverdien til ADC være hvilken som helst fysisk mengde- spenning, strøm, motstand, kapasitans, pulsrepetisjonshastighet, akselrotasjonsvinkel, etc. Men for nøyaktighetens skyld vil vi i det følgende, under ADC, utelukkende mene spenning-til-kode-omformere.


Konseptet analog-til-digital konvertering er nært knyttet til begrepet måling. Måling refererer til prosessen med å sammenligne den målte verdien med en viss standard; under analog-til-digital konvertering sammenlignes inngangsverdien med en viss referanseverdi (som regel med en referansespenning). Dermed kan analog-til-digital-konvertering sees på som en måling av verdien av et inngangssignal, og alle begreper innen metrologi, for eksempel målefeil, er anvendelige på det.

Hovedkarakteristika for ADC

ADC har mange egenskaper, hvorav de viktigste er konverteringsfrekvensen og bitdybden. Konverteringshastigheten uttrykkes vanligvis i samples per second (SPS), og bitdybden er i bits. Moderne ADC-er kan være opptil 24 bit brede og ha en konverteringsfrekvens på opptil GSPS-enheter (ikke samtidig, selvfølgelig). Jo høyere hastighet og bitdybde, jo vanskeligere er det å oppnå de nødvendige egenskapene, jo dyrere og mer kompleks blir omformeren. Konverteringshastighet og bitdybde er relatert til hverandre på en bestemt måte, og vi kan øke den effektive konverteringsbitdybden ved å ofre hastighet.

ADC-typer

Det finnes mange typer ADC-er, men for formålet med denne artikkelen vil vi begrense oss til kun å vurdere følgende typer:

  • ADC parallell konvertering (direkte konvertering, flash ADC)
  • Successive Approximation ADC (SAR ADC)
  • delta sigma ADC (ladebalansert ADC)
Det finnes også andre typer ADC-er, inkludert rørledninger og kombinerte typer, som består av flere ADC-er med (generelt) annen arkitektur... Imidlertid er de ovennevnte ADC-arkitekturene de mest veiledende på grunn av det faktum at hver arkitektur opptar en viss nisje i det totale bithastighetsområdet.

ADC-ene for direkte (parallell) konvertering har høyeste hastighet og laveste bitdybde. For eksempel har TLC5540 parallellkonvertering ADC fra Texas Instruments en hastighet på 40MSPS med en bitbredde på bare 8 biter. ADC-er av denne typen kan ha en konverteringsfrekvens på opptil 1 GSPS. Det kan bemerkes her at pipelinede ADC-er har enda høyere ytelse, men de er en kombinasjon av flere ADC-er med lavere ytelse og deres vurdering ligger utenfor rammen av denne artikkelen.

Den midterste nisjen i bithastighetsraden er okkupert av suksessive tilnærmings-ADC-er. Typiske verdier er 12-18 biter med en konverteringsfrekvens på 100KSPS-1MSPS.

Den største nøyaktigheten oppnås av sigma-delta ADC-er med en kapasitet på opptil 24 bit inklusive og en hastighet fra SPS-enheter til KSPS-enheter.

En annen type ADC som har funnet bruk i den siste tiden er den integrerende ADC. Integrerende ADC-er er nå stort sett erstattet av andre typer ADC-er, men kan finnes i eldre instrumentering.

ADC direkte konvertering

Direkte konvertering ADC-er ble utbredt i 1960-1970, og begynte å bli produsert i form integrerte kretser på 1980-tallet. De brukes ofte i "pipelinede" ADC-er (de er ikke vurdert i denne artikkelen), og har en kapasitet på 6-8 biter med en hastighet på opptil 1 GSPS.

Arkitekturen til den direkte konvertering ADC er vist i fig. 1

Ris. 1. Strukturopplegg ADC direkte konvertering

Prinsippet for drift av ADC er ekstremt enkelt: inngangssignalet mates samtidig til alle "pluss"-inngangene til komparatorene, og et antall spenninger mates til "minus", hentet fra referansespenningen ved å dele med motstander R. For kretsen i fig. 1 denne raden vil være slik: (1/16, 3/16, 5/16, 7/16, 9/16, 11/16, 13/16) Uref, der Uref er ADC-referansespenningen.

La spenningen lik 1/2 Uref påføres ADC-inngangen. Deretter vil de første 4 komparatorene fungere (hvis du teller fra bunnen), og logiske enheter vil vises ved utgangene deres. Prioritetskoderen vil danne en "kolonne" av enheter binær kode, som fanges opp av utgangsregisteret.

Nå blir fordelene og ulempene med en slik omformer tydelige. Alle komparatorer opererer parallelt, forsinkelsestiden til kretsen er lik forsinkelsestiden i en komparator pluss forsinkelsestiden i koderen. Komparatoren og koderen kan lages veldig raske, og som et resultat er hele kretsen veldig rask.

Men for å få N biter trengs 2 ^ N komparatorer (og kompleksiteten til koderen vokser også med 2 ^ N). Diagrammet i fig. 1. inneholder 8 komparatorer og har 3 bits, for å få 8 bits trenger du 256 komparatorer, for 10 bits - 1024 komparatorer, for en 24-bits ADC vil det ta mer enn 16 millioner av dem. Teknikken har imidlertid ennå ikke nådd slike høyder.

Suksessiv tilnærming ADC

En Successive Approximation Register (SAR) analog-til-digital-omformer måler størrelsen på inngangssignalet ved å utføre en rekke påfølgende "vektinger", det vil si sammenligninger av inngangsspenningsverdien med en rekke verdier generert som følger:

1. ved det første trinnet settes en verdi lik 1 / 2Uref ved utgangen til den innebygde digital-til-analog-omformeren (heretter antar vi at signalet er i området (0 - Uref).

2.hvis signalet er større enn denne verdien, sammenlignes det med spenningen som ligger i midten av det gjenværende intervallet, dvs. denne saken, 3 / 4Uref. Hvis signalet er mindre angi nivå, så vil den neste sammenligningen gjøres med mindre enn halvparten av det gjenværende intervallet (dvs. med 1/4Uref-nivået).

3. Trinn 2 gjentas N ganger. Dermed genererer N sammenligninger ("vektinger") N biter av resultatet.

Ris. 2. Blokkdiagram av den suksessive tilnærmingen ADC.

Dermed består SAR ADC av følgende enheter:

1. Komparator. Den sammenligner inngangsverdien og gjeldende verdi av "vekt" spenningen (i fig. 2. merket med en trekant).

2. Digital-til-analog omformer(Digital til Analog Converter, DAC). Den genererer en "vekt" spenningsverdi basert på den digitale inngangskoden.

3. Register over suksessive tilnærminger (Successive Approximation Register, SAR). Den implementerer den suksessive tilnærmingsalgoritmen, og genererer gjeldende verdi av koden som leveres til DAC-inngangen. Ved navn, alle sammen gitt arkitektur ADC.

4. Sample-hold system (Sample / Hold, S / H). For driften av denne ADC er det grunnleggende viktig at inngangsspenningen forblir konstant gjennom konverteringssyklusen. Imidlertid har "ekte" signaler en tendens til å endre seg over tid. Sample-og-hold-kretsen "husker" gjeldende verdi av det analoge signalet, og holder den uendret gjennom hele driftssyklusen til enheten.

Fordelen med enheten er relativt høy hastighet konvertering: konverteringstiden for en N-bits ADC er N klokkesykluser. Konverteringsnøyaktigheten er begrenset av nøyaktigheten til den interne DAC-en og kan være 16-18 bits (nå har 24-bits SAR ADC-er, for eksempel AD7766 og AD7767, begynt å dukke opp).

Delta Sigma ADC

Til slutt, den mest interessante typen ADC er sigma-delta ADC, noen ganger referert til i litteraturen som en ladningsbalansert ADC. Blokkskjemaet til en sigma-delta ADC er vist i fig. 3.

Fig. 3. Blokkdiagram av en sigma-delta ADC.

Prinsippet for drift av denne ADC er noe mer kompleks enn for andre typer ADC. Essensen er at inngangsspenningen sammenlignes med spenningsverdien akkumulert av integratoren. Pulser med positiv eller negativ polaritet mates til integratorinngangen, avhengig av sammenligningsresultatet. Dermed er denne ADC et enkelt sporingssystem: spenningen ved utgangen til integratoren "sporer" inngangsspenningen (fig. 4). Resultatet av denne kretsen er en strøm av nuller og enere ved utgangen til komparatoren, som deretter føres gjennom et digitalt lavpassfilter, noe som resulterer i et N-bits resultat. LPF i fig. 3. Kombinert med en "desimator", en enhet som reduserer repetisjonshastigheten til prøver ved å "desimere" dem.

Ris. 4. Sigma-delta ADC som sporingssystem

For strenghetens skyld må det sies at i fig. 3 er et blokkskjema over en førsteordens sigma-delta ADC. En andreordens sigma-delta ADC har to integratorer og to løkker tilbakemelding, men vil ikke bli vurdert her. De som er interessert i dette emnet kan henvise til.

I fig. 5 viser signalene i ADC på et nullnivå ved inngangen (øverst) og på nivået Vref / 2 (nederst).

Ris. 5. Signaler i ADC ved forskjellige signalnivåer ved inngangen.

Nå, uten å fordype seg i kompleks matematisk analyse La oss prøve å forstå hvorfor sigma-delta ADC-er har svært lavt støygulv.

Vurder blokkskjemaet til sigma-delta-modulatoren vist i fig. 3, og representer det i denne formen (fig. 6):

Ris. 6. Blokkdiagram av sigma-delta-modulatoren

Her er komparatoren representert som en adderer som legger til det kontinuerlige ønskede signalet og kvantiseringsstøyen.

La integratoren ha overføringsfunksjon 1 / s. Deretter, som representerer det nyttige signalet som X (s), utgangen fra sigma-delta-modulatoren som Y (s), og kvantiseringsstøyen som E (s), får vi ADC-overføringsfunksjonen:

Y (s) = X (s) / (s + 1) + E (s) s / (s + 1)

Det vil si at sigma-delta-modulatoren er et filter lave frekvenser(1 / (s + 1)) for nyttesignalet og filteret høye frekvenser(s / (s + 1)) for støy, med begge filtrene som har samme grensefrekvens. Støy konsentrert i høyfrekvensområdet av spekteret fjernes enkelt av det digitale lavpassfilteret, som er plassert etter modulatoren.

Ris. 7. Fenomenet "forskyvning" av støy i den høyfrekvente delen av spekteret

Det skal imidlertid forstås at dette er en ekstremt forenklet forklaring på støyformingsfenomenet i en sigma-delta ADC.

Så den største fordelen med en sigma-delta ADC er høy presisjon på grunn av det ekstremt lave nivået av sin egen støy. For å oppnå høy nøyaktighet er det imidlertid nødvendig at grensefrekvensen til det digitale filteret er så lav som mulig, mange ganger mindre enn driftsfrekvensen til sigma-delta-modulatoren. Derfor har sigma-delta ADC-er lav hastighet transformasjon.

De kan brukes i lydteknikk, men brukes hovedsakelig i industriell automasjon for konvertering av sensorsignaler, i måleinstrumenter og i andre applikasjoner der det kreves høy nøyaktighet. men ingen høy hastighet kreves.

Litt historie

Den eldste ADC-referansen i historien er sannsynligvis Paul M. Rainey-patentet, "Facsimile Telegraph System", U.S. Patent 1 608 527, innlevert 20. juli 1921, utstedt 30. november 1926. Enheten som er avbildet i patentet er faktisk en 5-bits direktekonvertering ADC.

Ris. 8. Første patent for ADC

Ris. 9. ADC direkte konvertering (1975)

Enheten vist i figuren er en MOD-4100 direkte konvertering ADC fra Computer Labs, 1975, satt sammen på grunnlag av diskrete komparatorer. Det er 16 komparatorer (de er plassert i en halvsirkel, for å utjevne signalutbredelsesforsinkelsen til hver komparator), derfor har ADC en kapasitet på bare 4 biter. Konverteringshastighet 100 MSPS, strømforbruk 14 watt.

Følgende figur viser en avansert versjon av ADC for direkte konvertering.

Ris. 10. ADC direkte konvertering (1970)

VHS-630 fra 1970, produsert av Computer Labs, hadde 64 komparatorer, hadde 6 bits, 30 MSPS og forbrukte 100 watt (1975-versjonen av VHS-675 hadde 75 MSPS og 130 watt).

Litteratur

W. Kester. ADC Architectures I: Flash Converter. Analoge enheter, MT-020 Opplæring.

For tiden brukes analog-til-digital-omformere (ADC) i økende grad i amatørradiodesign. Dette er på grunn av bruken av rimelige ADC-brikker og fordelene ved digital behandling analoge signaler. ADC kan enkelt konverteres Personlig datamaskin(PC) til en hvilken som helst virtuell måler. Dessuten elektronisk del en slik enhet kan være veldig enkel, og all signalbehandling vil skje i programvare.

Enheten beskrevet i artikkelen er designet for å konvertere et analogt signal til en digital sekssifret kode og kan tjene som et prefiks til en PC. Bruksområdene er svært forskjellige - fra virtuelle måleinstrumenter til ulike lydopptakssystemer.

På sidene til magasinet "Radio" har design basert på ADC blitt publisert gjentatte ganger. Imidlertid brukte de hovedsakelig mikrokretser med en binær-desimal utgangskode eller en kode for syv-elementindikatorer. Denne tilnærmingen er ikke praktisk for å legge inn informasjon på en PC.

I enheten som tilbys lesernes oppmerksomhet, brukes mikrokretsen KR1107PV1, som er en høyhastighets parallell seks-bits ADC. Den er designet for å konvertere spenning i området -2 ... 0 V til en av potensielle kodene for parallelllesing: binær kode (fremover og bakover) og tos komplementkode (fremover og bakover). Denne mikrokretsen ble valgt fordi den for det første er tilgjengelig for et bredt spekter av radioamatører og er relativt billig, og for det andre har den høy hastighet (maksimal konverteringsfrekvens er 20 MHz, tiden for en konvertering er ikke mer enn 100 ns).

Det skjematiske diagrammet av enheten er vist i fig. 1.

Den anbefalte kretsen for å slå på KR1107PV1A ble tatt som grunnlag, som ble betydelig forenklet uten en merkbar forringelse av konverteringsnøyaktigheten. Cabriolet analogt signal gjennom kontakt 1 på XS1-kontakten og motstanden R4 mates til den inverterende inngangen til op-amp DA1. En slik inkludering brukes fordi det oftere er nødvendig å digitalisere spenningen med positiv polaritet, og ADC-mikrokretsen konverterer spenningen i området fra 0 til -2 V. Null-forspenningen fjernes fra trimmeren R1-glidebryteren. Motstandene R5 og R4 bestemmer den nødvendige op-amp-forsterkningen. Det forsterkede analoge signalet mates gjennom motstandene R7-R9 til pinnene 10, 13, 15 på ADC.

DA2 ADC styres av klokkepulsene som kommer fra PC-en (gjennom pinne 8 på XS2-kontakten) til pinne 4. Kodingen utføres etter passering av klokkepulsavskjæringen, og resultatet oppnådd under konverteringen overføres til utgangsregisteret samtidig med neste klokkepulsfront. Dette gjør at kantene på klokkepulsen kan lage den neste prøven, dvs. i det øyeblikket resultatet av den n-te prøven er tilstede ved utgangen til DA2, gjøres den (n + 2) -te prøven ved inngangen . Den digitale koden tas fra utgangene D1 - D6 og sendes ut til XS2-kontakten.

Det skal bemerkes at betegnelsen på utgangene til mikrokretsen er motsatt av vekten deres: D1-utgangen tilsvarer den mest signifikante biten, og D6 - den minst signifikante. Type kode (direkte, invers, ekstra) ved utgangene til mikrokretsen bestemmes av signalnivåene ved inngangene C1 og C2 til mikrokretsen. Tilkoblingen deres til +5 V-bussen tilsvarer en høynivåforsyning, og til den vanlige ledningen - et lavt nivå. Den nødvendige typen kode ved utgangen av mikrokretsen settes av en kombinasjon av signalnivåer ved inngangene C1 og C2 i henhold til tabellen. 1.

ADC KR1107PV1A krever en bipolar forsyning med spenninger på +5 og -6 V. I tillegg kreves det to referansespenninger. De definerer spenningsområdet som skal digitaliseres. I dette tilfellet tas en av disse spenningene (Uobp1) til null (pinne 16 på mikrokretsen er koblet til den felles ledningen), og den andre (Uobp2) er lik -2 V, som i samsvar med bestemmer utvalget inngangsspenninger ADC 0 ...- 2 V. En referansespenning på -2 V fjernes fra glideren til trimmermotstanden R6, som er koblet til den negative forsyningsspenningskretsen. Kondensatorer C1 - C5 brukes for å eliminere interferens.

Ved montering av enheten brukes MLT-, OMLT-motstander, oksid- og keramiske kondensatorer av enhver type. Trimmermotstand R1 - også av hvilken som helst type, R6 - fortrinnsvis trådviklet multiturn, for eksempel SP5-1V, SP5-14, SP5-15, SP5-2, etc. OU DA1 - nesten hvilken som helst, i stand til å operere med redusert forsyning spenninger, for eksempel KR140UD7. Å utvide frekvensområde du kan bruke operasjonsforsterkeren K574UDZ, hvor enhetsforsterkningsfrekvensen er 10 MHz.

Enheten får strøm fra en bipolar stabilisert kilde som gir utgangsspenninger på +5 V ved en strøm på 35 ... 40 mA og -6 V ved en strøm på 200 mA

Før du slår på ADC for første gang, settes motoren til motstanden R6 til midtstilling. Slå på strømmen, mål den eksemplariske spenningen ved pinne 9 på DA2-mikrokretsen og sett den så nøyaktig som mulig lik -2 V. Den nødvendige nullforskyvningen er oppnådd trimmemotstand R1. Du kan kontrollere nullposisjonen i helgen digital kode eller konstant spenning ved de analoge inngangene til ADC (pinner 10, 13, 15 DA2). På dette tidspunktet kan innstillingen anses som fullført.

ADC-en kobles til PC-en gjennom et grensesnitt (fig. 2) installert i en ledig ISA-kontakt på hovedkortet.

Grensesnittkortet inneholder fire I/O-porter med ZE0N-ZEZN-adresser. Elementene DD1.1-DD1.3 og DD2 danner en adressedekoder. Signaler fra PC-adressebussen mottas ved inngangene deres, og hvis en ZE0H-ZEZN-kombinasjon vises på den, dannes det en lav-nivå permissiv spenning ved DD2-utgangen. Signalene som bestemmer portnummeret i adresserommet til portene tilsvarer de to minst signifikante bitene til adressebussen og mates til DD4-dekoderen. Den mottar også aktiveringssignaler via AEN-bussen (dette betyr at det ikke er direkte tilgang til minne i denne syklusen) og signaler IOW, IOR, som tilsvarer skriving til og lesing fra en ekstern enhet. Signalet fra pin 15 på dekoderen mates til inngang E på DD7-bussdriveren og tillater dataoverføring fra ADC til databussen.

Signalet som vises ved pinne 14 på DD4-dekoderen tjener til å klokke DA2 ADC, ved pinne 13 for å tilbakestille DD6.1-utløseren, og ved pinne 12 for å muliggjøre tilførsel av informasjon fra den til databussen. Triggeren er designet for å synkronisere ADC med en ekstern enhet som kan generere synkroniseringspulser eller et klarsignal. Klokkesignalet fra en ekstern enhet mates gjennom pin 1 på XS2-kontakten til klokkeinngangen til utløseren. Tilstanden til sistnevnte leses av programmet. Hvis funnet høy level på pinne 5 på DD6.1 betyr dette at det er mottatt en synkroniseringspuls fra en ekstern enhet. Når tilstanden til flip-flop er lest, må den tilbakestilles for å forberede neste klokkepuls.

Noen få ord om hensikten med havner. Porten med adressen ЗЕ0Н er beregnet for å lese data fra ADC (biter D0-D5 inneholder verdien av det digitaliserte signalet), med adressen ЗЕ1Н - for å levere en klokkepuls til ADC (når en hvilken som helst byte skrives til denne porten , starter konverteringen av det analoge signalet til digitalt). ZE2H-porten brukes til å tilbakestille DD6.1-synkroniseringsutløseren etter å ha lest dens tilstand. En tilbakestilling skjer når en byte skrives til denne porten. Til slutt er ZESN-porten for å lese flip-flop-statusen, som reflekteres av bit 5 av byten som er lest fra denne porten. Utløseren er nødvendig for å fange synkroniseringspulser med kort varighet. Hvis det oppdages et høyt logisk nivå ved avlesning fra ZEZN-porten ved utløserens direkte utgang (bit D5 = 1), returnerer programmet det til den opprinnelige tilstanden ved å skrive hvilken som helst byte til ZE2H-porten.

Et program for å lese data fra en ADC, skrevet i Pascal, er vist i tabell. 2.

Det er praktisk å bruke som grunnlag for designet defekt bord utvidelser for ISA-sporet. Alle "høye" elementer (kondensatorer, kontakter) fjernes fra den, og de trykte lederne som går til kontaktputene til delen som er satt inn i sporet, kuttes (XP1-plugg i fig. 2). Delene er montert på et lite kretskort, som er festet med stativer til utvidelseskortet. Terminalene på enheten er koblet til kontaktene til XP1-pluggen med korte deler av monteringsledningen. Pin-tilordningene til ISA-sporet finner du i.

Avslutningsvis merker vi oss at i de fleste tilfeller er seks bits tilstrekkelig til å representere et analogt signal. Hvis en ADC med et inngangsspenningsintervall på 0 ... 2 V brukes til å måle en spenning på 2 V, vil feilen ikke overstige 0,03 V (eller 1,5%). Ved måling av en spenning på 0,2 V vil feilen øke til 15 %. For å forbedre målenøyaktigheten kan du bruke en ADC med større kapasitet eller forsterke den målte spenningen til en verdi nær den øvre grensen for intervallet (for eksempel endre forholdet mellom motstandene til motstandene R5 og R4). Med karakterene som er angitt i diagrammet (se fig. 1), digitaliserer enheten inngangsspenninger i området 0 ... 0,5 V og er i stand til å arbeide med en forbrukermikrofon.

Hvis, av hensyn til nøyaktigheten av "digitalisering" svake signaler en høyere bitkapasitet kreves, KR1107PV1A-mikrokretsen kan erstattes med en åtte-bits K1107PV2-omformer (selvfølgelig tatt i betraktning forskjellene i "pinout" og strømforbruk).

Litteratur

  1. Biryukov S. Termometer "Hus - Gate". - Radio, 2000, nr. 3, s. 32, 33.
  2. Novachenko I. V., Petukhov V. M., Bludov I. P., Yurovsky A. V. Mikrokretser for husholdningsradioutstyr. Katalog. - M .: KUBK, 1995.
  3. Danilin N. S, Ulitenko V. P., Kripak A. A. Retningslinjer for feilsøking og reparasjon av IBM PC-datamaskiner. - M .: Forlag av standarder, 1992.

Se andre artikler seksjon.

Det har seg slik at den viktigste MC-en som jeg jobber konstant med og som jeg gjør de aller fleste oppgavene på er ATTiny2313– Det er populært, og viktigst av alt, det er det billigste kontroller fra hele linjen AVR med antall ben mer enn 8. Jeg tok dem i antall rundt tre hundre for 18, chtol, rubler ting. Men her er det - den har ingen ADC... Ikke i det hele tatt. Og her var han nødvendig - du må måle signalet fra sensoren. Bakhold. Ikke bytt til en mer fylt en på grunn av slikt søppel. ATTiny26– det koster også mer og fiken hvor du kan kjøpe hos oss, og hva skal man så gjøre med det gjennombruddet ATTiny2313 hva er allerede kjøpt? Jeg brukte hjernen min...

Hvorfor ikke klynge ADC sekvensiell sammenligning? Selvfølgelig vil ikke hastigheten og nøyaktigheten være en fontene, men uten å endre type MK og med bare to øre detaljer av det ekstra kroppssettet, vil jeg få en fullverdig, om enn bremsende, 8-bits ADC som fullt ut tilfredsstiller mine beskjedne forespørsler!

Hvordan en seriell sammenligning ADC fungerer.
Hva har vi i ATTiny2313 analog? Ikke sant - . Nå er det nok å bruke det målte signalet til inngangen og metodisk sammenligne det med referansespenningen, lineært endre verdien av referansespenningen. Ved hvilken av referansespenningene komparatoren utløses, er det målte signalet + / _ omtrent lik trinnet med å endre referansen.

Det gjenstår å få en vekselreferansespenning, og hva, fra en rent digital utgang på kontrolleren, kan du trekke ut et analogt signal? PWM! Har tidligere integrert det. For integrasjon bruker vi det enkleste RC-filteret. Vår kondensator vil integrere ladningen, og motstanden vil ikke la porten dø når kondensatoren lades. Resultatet av å kjøre PWM gjennom et slikt filter vil være en ganske stabil konstant spenning.

Det gjenstår bare å anslå filtervurderingene. Cutoff frekvens - frekvensen som filteret begynner å dempe AC-komponenten fra, i det L-formede RC-filteret er lik den resiproke av dets tidskonstant w = 1 / RC... Jeg festet kondensatoren 0,33E-6 F og motstand på 470 Ohm, det viste seg det w = 6447 rad/s... For så vidt vinkelfrekvens vi gjorde ikke motstand noe sted, så deler vi det med 2pi = 6,28 vi fikk omtrent en kilohertz, 1026,6 Hz, for å være nøyaktig. Tidsfrekvens PWM og vi kan lett ha omtrent titalls kilohertz, da vil utgangen være en slik jevn konstant, med ubetydelige pulsasjoner.

Nå pakker vi denne toppen ved inngangen til komparatoren, på den andre starter vi opp vårt målte signal og begynner å ha det gøy med koden. Resultatet er et slikt diagram, satt sammen som. Her derimot ikke ATTiny2313, men Mega8 som har en ADC, men vi vil glemme dens eksistens for nå. Filteret vårt er tegnet med røde linjer.

Koden vil være enkel, for ikke å plage vil jeg legge ut separate kilder i form av filer:

  • - Hodefil
  • - Avbryt vektortabell
  • - Initialisering av periferien
  • og - Makroer og makroer

Jeg vil bare kommentere hovedfunksjon Beregn.
Når du kaller en prosedyre Beregn vår første ting:

  1. Den analoge komparatoren er konfigurert, og viktigst av alt, dens avbrudd er aktivert.
  2. Deretter blir den innledende skanningsverdien 255 lastet inn i skanningsregisteret (R21).
  3. Deretter blir denne verdien kastet inn i PWM-sammenligningsregisteret OCR1AL... PWM var på forhånd, i seksjonen init.asm konfigurert og kjører, slik at umiddelbart ved utgangen vises et signal med en driftssyklus (duty cycle er forholdet mellom signalets varighet og perioden for dette signalet) 1, det vil si mens det bare er ett.
  4. Vi venter i forsinkelsesfunksjonen en stund på at den forbigående prosessen skal avsluttes (kondensatoren kan ikke umiddelbart endre spenningen)
  5. Reduser verdien av skanneregisteret (som når det er lastet inn i OCR1AL vil redusere driftssyklusen med 1/255), sjekk om den har blitt null. Hvis ikke, gå til trinn 3.
Resultatet vil være en sekvensiell reduksjon i signalets driftssyklus fra 1 til 0, med et trinn på 1/255 , som vil bli konvertert etter filteret til en avtagende spenning. Og, siden i hovedprosedyren har jeg Beregn kalles syklisk, så vil sagen være ved inngangen til komparatoren.

Som du ser er det noe kutt på toppen. Dette skyldes det faktum at den maksimale spenningen som MK-benet kan gi ut, tatt i betraktning fallene på alle motstander, er i størrelsesorden 4,7 volt, og jeg kan skru ut alle 5 fra masterpotensiometeret. Vel, også toppene er overveldet litt. Hvis du senker frekvensen, vil området utvides litt.

Som dette, med litt oppfinnsomhet, pluss to tilleggsdetaljer. totale mengden i en rubel og et dusin linjer med kode, sparte jeg en haug med deig =)