Het algemene werkingsprincipe van de ADC. Wat is ADC. Bit-gebalanceerde analoog-naar-digitaal-omzetter

Navigatiekaarten kan het meest nodig zijn verschillende situaties... Of je bent verdwaald in het bos, of je zoekt de nodige straat in de stad. Een dienst die je hiermee kan helpen is Google Maps. Het bestaat uit een aantal applicaties. Namelijk: van de site Google maps en Google Transit (programma voor routeplanning). Omdat Google gegevens rechtstreeks van de satelliet verzendt, kunt u met behulp van deze kaarten erachter komen gedetailleerd diagram: route, huisnummers, straatnamen en hoe je te voet of (per auto, bus, fiets) naar je bestemming kunt komen.
Deze service is een uitstekende referentie en bestrijkt vele gebieden van het leven, van reizen tot het plannen van een wandeling of op vakantie gaan.

Verschijning

De kaart voor gebruikers kan op twee manieren worden weergegeven:
  • traditioneel (topografische kaart, analoog van Mercator);
  • satellietbeelden (niet in online mode, maar enige tijd geleden gemaakt).
Volgens de Mercator-projectie is de schaal van de kaarten gemaakt, die constant is: naar de evenaar vanaf de polen neemt deze af en vice versa.
Een gerelateerd project aan Google Maps - Google Planet (komt overeen met de wereldbol) vormt een aanvulling op de dienst van afbeeldingen van de polen van de aarde.

Eigenaardigheden

Niet alle landen maken de locatie van hun eigendommen bekend. Daarom plaatsen op de kaart waar geclassificeerde gebieden zijn gearceerd... Deze omvatten bijvoorbeeld het Witte Huis, het Capitool.

Verschillende percelen hebben verschillende resoluties op de kaart. Hoe lager de bevolkingsdichtheid van een gebied, hoe minder details er over bekend zijn. Sommige plaatsen op de kaart zijn verborgen onder de wolken. Hoewel niet alle objecten per satelliet zijn vastgelegd. Afbeeldingen van sommigen zijn afkomstig van luchtfotografie vanaf een hoogte van 300 meter of meer. Op dergelijke plaatsen bereikt terreindetail hoge waarden.

Service-interface

Google Maps is zeer eenvoudig te beheren. Deze app is gemaakt voor mensen en zo werkt het. Aan de linkerkant is er een knop om het uiterlijk van kaarten te veranderen ( topografische of satellietweergave). En aan de rechterkant van het scherm kan de gebruiker zoomknoppen vinden ( verhogen en verlagen).
Met het systeem kunnen gebruikers het adres of de naam van het object invoeren en informatie ontvangen over de locatie, het adres, de coördinaten, uiterlijke verschijning... Voor sommige zones is de 'wat is er'-herkenningsservice beschikbaar, terwijl Google Maps laat zien welk object (tankstation, museum, winkel, theater) zich daar bevindt.

Google online kaarten zeer veel gebruik van javascript-service. Nieuwe delen van de kaart worden op de pagina weergegeven wanneer de gebruiker deze over het scherm beweegt. Als het adres van een specifiek object is ingevoerd, wordt de pagina opnieuw geladen en wordt de locatie van de gewenste locatie op de kaart weergegeven met een dynamisch rood markeringspictogram.

Zodat de kaart kan worden gehost door de eigenaren van andere sites, heeft Google aangekondigd gratis dienst: API-kaarten (Application Programming Interface) in 2005. Deze kaart kan aan elk deel van de site worden toegevoegd. ze aan dit moment er zijn er wereldwijd meer dan 350 duizend.

Over Google Maps

Vanaf 2011 heeft Google aangekondigd dat het zijn kaartservice voor meer dan 150 miljoen klanten. Dit maakt de dienst een van de grootste en meest ambitieuze internetnavigatiediensten.
Interactieve Google Maps is gratis dienst, met dank aan Google, dat geen advertenties bevat, maar alleen hoogwaardige en geverifieerde informatie biedt over de locatie en het doel van objecten over de hele wereld.

Laten we eens kijken naar de belangrijkste problemen die kunnen worden toegeschreven aan het principe van actie verschillende soorten... Sequentieel tellen, bitsgewijze balanceren - wat gaat er schuil achter deze woorden? Wat is het werkingsprincipe van de ADC van een microcontroller? We zullen deze, evenals een aantal andere kwesties, in het kader van het artikel bespreken. We zullen de eerste drie delen wijden algemene theorie, en vanaf de vierde onderkop zullen we het principe van hun werk bestuderen. je kunt binnen verschillende literatuur voldoen aan de voorwaarden ADC en DAC. Het werkingsprincipe van deze apparaten is iets anders, dus verwar ze niet. Het artikel zal dus van analoge naar digitale vorm overwegen, terwijl de DAC andersom werkt.

Definitie

Laten we, voordat we het werkingsprincipe van de ADC overwegen, eens kijken wat voor soort apparaat het is. Analoog-naar-digitaal-omzetters zijn apparaten die een fysieke hoeveelheid omzetten in een overeenkomstige numerieke weergave. Bijna alles kan fungeren als een initiële parameter - stroom, spanning, capaciteit, weerstand, asrotatiehoek, pulsfrequentie, enzovoort. Maar voor de zekerheid gaan we maar met één transformatie werken. Dit is spanningscode. De keuze voor deze werkvorm is niet toevallig. De ADC (het werkingsprincipe van dit apparaat) en zijn kenmerken hangen immers grotendeels af van welk meetconcept wordt gebruikt. Dit wordt opgevat als het proces van het vergelijken van een bepaalde waarde met een eerder vastgestelde norm.

ADC-kenmerken:

De belangrijkste zijn bitdiepte en conversiefrequentie. De eerste wordt uitgedrukt in bits en de tweede in counts per seconde. Moderne analoog-naar-digitaal-omzetters kunnen een bitbreedte van 24 bits hebben of een conversieratio die oploopt tot GSPS-eenheden. Houd er rekening mee dat de ADC u slechts één van zijn kenmerken tegelijk kan bieden. Hoe hoger hun indicatoren, hoe moeilijker het is om met het apparaat te werken, en het kost zelf meer. Maar gelukkig kun je de nodige bit-indicatoren krijgen door de snelheid van het apparaat op te offeren.

ADC-typen

Het werkingsprincipe verschilt voor verschillende groepen apparaten. We behandelen de volgende soorten:

  1. Directe conversie.
  2. Met consequent inzoomen.
  3. Met parallelle conversie.
  4. Analoog-digitaalomzetter met ladingsbalancering (delta-sigma).
  5. ADC's integreren.

Er zijn veel andere pijplijn- en gecombineerde typen die hun eigen specifieke kenmerken hebben met verschillende architecturen. Maar die voorbeelden die in het kader van het artikel zullen worden overwogen, zijn interessant vanwege het feit dat ze een indicatieve rol spelen in hun niche van apparaten met deze specificiteit. Laten we daarom het werkingsprincipe van de ADC bestuderen, evenals de afhankelijkheid van het fysieke apparaat.

Directe analoog naar digitaal converters

Ze werden erg populair in de jaren 60 en 70 van de vorige eeuw. Ze worden sinds de jaren 80 in de vorm geproduceerd. Dit zijn zeer eenvoudige, zelfs primitieve apparaten die niet kunnen bogen op significante prestaties. Hun bitdiepte is gewoonlijk 6-8 bits, en de snelheid overschrijdt zelden 1 GSPS.

Het werkingsprincipe van dit type ADC is als volgt: het ingangssignaal wordt gelijktijdig toegevoerd aan de positieve ingangen van de comparatoren. Op de negatieve klemmen wordt een spanning van een bepaalde grootte aangelegd. En dan bepaalt het apparaat zijn werkingsmodus. Dit gebeurt dankzij de referentiespanning. Laten we zeggen dat we een apparaat hebben met 8 vergelijkers. Wanneer ½ van de referentiespanning wordt toegepast, zullen er slechts 4 worden ingeschakeld. Het wordt gevormd door de prioriteits-encoder en vastgesteld door het uitvoerregister. Wat betreft de voor- en nadelen, kunnen we zeggen dat je met het werk snelle apparaten kunt maken. Maar om de benodigde bitdiepte te krijgen moet je flink zweten.

De algemene formule voor het aantal vergelijkers ziet er als volgt uit: 2 ^ N. Onder N moet u het aantal cijfers invullen. Het eerder besproken voorbeeld kan opnieuw worden gebruikt: 2 ^ 3 = 8. In totaal zijn 8 comparatoren nodig om het derde cijfer te verkrijgen. Dit is het werkingsprincipe van de ADC's, die als eerste zijn gemaakt. Niet erg handig, dus kwamen er later andere architecturen bij.

Opeenvolgende benadering analoog naar digitaal converters

Hier wordt het "weeg"-algoritme gebruikt. In verkorte vorm worden apparaten die deze techniek gebruiken eenvoudigweg sequentiële ADC's genoemd. Het werkingsprincipe is als volgt: het apparaat meet de waarde van het ingangssignaal en vergelijkt het met de getallen die volgens een bepaalde methode worden gegenereerd:

  1. Stelt de helft van de mogelijke referentiespanning in.
  2. Als het signaal de waardelimiet van punt # 1 heeft overschreden, wordt het vergeleken met het getal dat in het midden tussen de resterende waarde ligt. Dus in ons geval zal het ¾ van de referentiespanning zijn. Als het referentiesignaal deze indicator niet haalt, wordt de vergelijking met het andere deel van het interval volgens hetzelfde principe uitgevoerd. V dit voorbeeld dit is ¼ van de spanningsreferentie.
  3. Stap 2 moet N keer worden herhaald, wat ons N bits van het resultaat oplevert. Dit komt door het H-aantal vergelijkingen dat wordt gemaakt.

Dit werkingsprincipe maakt het mogelijk om apparaten te verkrijgen met een relatief hoge conversieratio, die opeenvolgende benaderings-ADC's zijn. Het werkingsprincipe is, zoals u kunt zien, eenvoudig en deze apparaten zijn uitstekend geschikt voor verschillende gevallen.

Parallel analoog naar digitaal converters

Ze werken als seriële apparaten. De berekeningsformule is (2 ^ H) -1. Voor het eerder besproken geval hebben we (2 ^ 3) -1 comparatoren nodig. Voor werk wordt een bepaalde reeks van deze apparaten gebruikt, die elk de ingangs- en individuele referentiespanning kunnen vergelijken. Parallelle A/D-converters zijn redelijk snelle apparaten. Maar het constructieprincipe van deze apparaten is zodanig dat er aanzienlijk vermogen nodig is om hun prestaties te behouden. Daarom is het onpraktisch om ze met batterijvoeding te gebruiken.

Bit-gebalanceerde analoog-naar-digitaal-omzetter

Het werkt op dezelfde manier als: vorig apparaat... Daarom, om de werking van de ADC uit te leggen, zal het werkingsprincipe voor beginners letterlijk op de vingers van één hand worden beschouwd. Deze apparaten zijn gebaseerd op het fenomeen dichotomie. Met andere woorden, er wordt een sequentiële vergelijking van de gemeten waarde met een bepaald onderdeel uitgevoerd. maximale waarde... Waarden in ½, 1/8, 1/16 enzovoort kunnen worden genomen. Daarom kan de analoog-naar-digitaal omzetter het hele proces in N iteraties voltooien ( opeenvolgende stappen). Bovendien is H gelijk aan de bitdiepte van de ADC (kijk naar de eerder gegeven formules). We hebben dus een aanzienlijke tijdwinst, als de snelheid van de technologie vooral belangrijk is. Ondanks hun aanzienlijke snelheid hebben deze apparaten ook een lage statische fout.

Laad gebalanceerde A/D-converters (Sigma Delta)

Dit is het meest interessante type apparaat, niet in de laatste plaats vanwege het werkingsprincipe. Het bestaat uit het vergelijken van de ingangsspanning met die van de integrator. Pulsen met negatieve of positieve polariteit worden naar de ingang gevoerd (het hangt allemaal af van het resultaat van de vorige bewerking). We kunnen dus zeggen dat zo'n analoog-naar-digitaal-omzetter een eenvoudig volgsysteem is. Maar dit is slechts ter vergelijking, zodat u de ADC kunt begrijpen. Het werkingsprincipe is systemisch, maar voor de effectieve werking van deze analoog-naar-digitaal-omzetter is het niet voldoende. Het eindresultaat is een eindeloze stroom van enen en nullen die door het digitale laagdoorlaatfilter gaan. Hieruit wordt een bepaalde bitreeks gevormd. Er zijn ADC-converters van de eerste en tweede orde.

Analoog-naar-digitaal converters integreren

Dit is het laatste speciale geval dat in het kader van het artikel wordt behandeld. Verder zullen we het werkingsprincipe van deze apparaten beschrijven, maar op een algemeen niveau. Deze ADC is een push-pull integratie analoog-naar-digitaal converter. Voldoen aan vergelijkbaar apparaat kan in een digitale multimeter. En dit is niet verwonderlijk, omdat ze een hoge nauwkeurigheid bieden en tegelijkertijd interferentie goed onderdrukken.

Laten we ons nu concentreren op hoe het werkt. Het bestaat uit het feit dat het ingangssignaal de condensator voor een vaste tijd oplaadt. Meestal is deze periode de eenheid van de netfrequentie die het apparaat van stroom voorziet (50 Hz of 60 Hz). Het kan ook meerdere zijn. Zo wordt hoogfrequente interferentie onderdrukt. Tegelijkertijd wordt de invloed van onstabiele spanning genivelleerd netwerkbron het verkrijgen van elektriciteit voor de nauwkeurigheid van het resultaat.

Wanneer de oplaadtijd van de A / D-omzetter eindigt, begint de condensator met een bepaalde vaste snelheid te ontladen. De interne teller van het apparaat telt het aantal klokpulsen dat tijdens dit proces wordt gegenereerd. Dus hoe langer het tijdsinterval, hoe belangrijker de indicatoren.

ADC's van push-pull-integratie hebben een hoge nauwkeurigheid en hierdoor, naast een relatief eenvoudige constructiestructuur, worden ze uitgevoerd als microschakelingen. Het grootste nadeel van dit werkingsprincipe is de afhankelijkheid van de netwerkindicator. Onthoud dat de mogelijkheden ervan zijn gekoppeld aan de lengte van de frequentieperiode van de voeding.

Dit is hoe een dual-integratie ADC werkt. Werkingsprincipe dit apparaat hoewel vrij complex, biedt het: kwalitatieve indicatoren... In sommige gevallen is dit gewoon nodig.

We kiezen de AOC met het principe van werk dat we nodig hebben

Laten we zeggen dat we een specifieke taak voor de boeg hebben. Welk apparaat kiezen om aan al onze behoeften te voldoen? Laten we het eerst hebben over resolutie en nauwkeurigheid. Ze zijn heel vaak verward, hoewel ze in de praktijk zeer zwak afhankelijk zijn van een van de andere. Houd er rekening mee dat een 12-bits A/D-converter minder nauwkeurig kan zijn dan een 8-bits. In dit geval is de resolutie een maat voor hoeveel segmenten kunnen worden geëxtraheerd uit het ingangsbereik van het gemeten signaal. Dus 8-bit ADC's hebben 2 8 = 256 van dergelijke eenheden.

Nauwkeurigheid is de totale afwijking van het verkregen conversieresultaat van de ideale waarde, die bij een gegeven ingangsspanning zou moeten zijn. Dat wil zeggen, de eerste parameter kenmerkt de potentiële mogelijkheden van de ADC, en de tweede laat zien wat we in de praktijk hebben. Daarom kan een eenvoudiger type voor ons geschikt zijn (bijvoorbeeld directe analoog-naar-digitaal-omzetters), die vanwege de hoge nauwkeurigheid aan de behoeften zullen voldoen.

Om een ​​idee te hebben van wat er nodig is, moet je eerst berekenen fysieke parameters en bouw wiskundige formule interacties. Statische en dynamische fouten zijn daarin belangrijk, omdat ze bij het gebruik van verschillende componenten en principes voor het bouwen van een apparaat de kenmerken ervan op verschillende manieren zullen beïnvloeden. Meer gedetailleerde informatie kan gevonden worden in technische documentatie aangeboden door de fabrikant van elk specifiek apparaat.

Voorbeeld

Laten we eens kijken naar de SC9711 ADC. Het werkingsprincipe van dit apparaat is complex vanwege de grootte en mogelijkheden. Trouwens, over de laatste gesproken, moet worden opgemerkt dat ze echt divers zijn. De frequentie van mogelijk werk varieert dus van 10 Hz tot 10 MHz. Met andere woorden, het kan 10 miljoen samples per seconde doen! En het apparaat zelf is niet iets integraal, maar heeft een modulaire bouwstructuur. Maar het wordt in de regel gebruikt in een complexe techniek, waar het nodig is om mee te werken grote hoeveelheid signalen.

Conclusie

Zoals u kunt zien, zijn ADC's gebaseerd op: verschillende principes werk. Dit stelt ons in staat om apparaten te selecteren die voldoen aan de opkomende behoeften en stelt ons tegelijkertijd in staat om verstandig over de beschikbare fondsen te beschikken.

Dit artikel bespreekt de basisvragen met betrekking tot het werkingsprincipe van de ADC verschillende soorten... Tegelijkertijd bleven enkele belangrijke theoretische berekeningen met betrekking tot de wiskundige beschrijving van analoog-naar-digitaal-conversie buiten het bestek van het artikel, maar er worden links gegeven waarmee de geïnteresseerde lezer een diepere overweging kan vinden theoretische aspecten ADC-operatie. Het artikel houdt zich dus meer bezig met het begrijpen van de algemene principes van ADC-werking dan met een theoretische analyse van hun werk.

Invoering

Laten we als uitgangspunt de conversie van analoog naar digitaal definiëren. Analoog-naar-digitaal-conversie is het proces waarbij een fysieke invoergrootheid wordt omgezet in zijn numerieke weergave. Een analoog-naar-digitaal-omzetter is een apparaat dat deze conversie uitvoert. Formeel kan de invoerwaarde van de ADC elke zijn fysieke hoeveelheid- spanning, stroom, weerstand, capaciteit, pulsherhalingsfrequentie, asrotatiehoek, enz. Voor de zekerheid bedoelen we in wat volgt onder de ADC echter uitsluitend spanning-naar-code-omzetters.


Het concept van analoog-naar-digitaal conversie hangt nauw samen met het concept van meten. Meting verwijst naar het proces van het vergelijken van de gemeten waarde met een bepaalde norm; bij analoog-naar-digitaal conversie wordt de ingangswaarde vergeleken met een bepaalde referentiewaarde (in de regel met een referentiespanning). Zo kan A/D-conversie worden gezien als een meting van de waarde van een ingangssignaal en zijn alle metrologische concepten zoals meetfouten daarop van toepassing.

Hoofdkenmerken van ADC

De ADC heeft veel kenmerken, waarvan de belangrijkste de conversiefrequentie en bitdiepte zijn. De conversieratio wordt meestal uitgedrukt in samples per seconde (SPS) en de bitdiepte in bits. Moderne ADC's kunnen maximaal 24 bits breed zijn en hebben een conversieratio tot GSPS-eenheden (uiteraard niet tegelijkertijd). Hoe hoger de snelheid en bitdiepte, hoe moeilijker het is om de vereiste eigenschappen te verkrijgen, hoe duurder en complexer de converter. Conversiesnelheid en bitdiepte zijn op een bepaalde manier aan elkaar gerelateerd, en we kunnen de effectieve conversiebitdiepte vergroten door snelheid op te offeren.

ADC-typen

Er zijn veel soorten ADC's, maar voor de doeleinden van dit artikel zullen we ons beperken tot alleen de volgende typen:

  • ADC parallelle conversie (directe conversie, flash ADC)
  • Opeenvolgende Benadering ADC (SAR ADC)
  • delta sigma ADC (lading gebalanceerde ADC)
Er zijn ook andere typen ADC's, waaronder pijplijn- en gecombineerde typen, bestaande uit meerdere ADC's met (in het algemeen) andere architectuur... De bovenstaande ADC-architecturen zijn echter het meest indicatief vanwege het feit dat elke architectuur een bepaalde niche in het totale bitsnelheidbereik inneemt.

De ADC's van directe (parallelle) conversie hebben de hoogste snelheid en de laagste bitdiepte. De parallelle conversie-ADC TLC5540 van Texas Instruments heeft bijvoorbeeld een snelheid van 40 MSPS met een bitbreedte van slechts 8 bits. ADC's van dit type kunnen conversiepercentages hebben tot 1 GSPS. Hier kan worden opgemerkt dat ADC's met pijplijn nog betere prestaties leveren, maar ze zijn een combinatie van verschillende ADC's met lagere prestaties en hun overweging valt buiten het bestek van dit artikel.

De middelste nis in de rij met bitsnelheden wordt ingenomen door opeenvolgende benaderings-ADC's. Typische waarden zijn 12-18 bits bij een conversieratio van 100KSPS-1MSPS.

De grootste nauwkeurigheid wordt bereikt door sigma-delta ADC's met een capaciteit tot 24 bits inclusief en een snelheid van SPS-eenheden tot KSPS-eenheden.

Een ander type ADC dat in het recente verleden is gebruikt, is de integrerende ADC. Integrerende ADC's worden nu grotendeels vervangen door andere soorten ADC's, maar kunnen worden aangetroffen in oudere instrumenten.

ADC directe conversie

Directe conversie ADC's werden wijdverbreid in 1960-1970 en werden geproduceerd in de vorm geïntegreerde schakelingen in 1980. Ze worden vaak gebruikt in "pipelined" ADC's (ze worden in dit artikel niet besproken) en hebben een capaciteit van 6-8 bits met een snelheid tot 1 GSPS.

De architectuur van de directe conversie-ADC wordt getoond in Fig. 1

Rijst. 1. structureel schema ADC directe conversie

Het werkingsprincipe van de ADC is uiterst eenvoudig: het ingangssignaal wordt gelijktijdig naar alle "plus"-ingangen van de comparatoren gevoerd en een aantal spanningen verkregen uit de referentiespanning door te delen door weerstanden R worden toegevoerd aan de "min"-ingangen Voor het circuit in Fig. 1 ziet deze rij er als volgt uit: (1/16, 3/16, 5/16, 7/16, 9/16, 11/16, 13/16) Uref, waarbij Uref de ADC-referentiespanning is.

Laat de spanning gelijk aan 1/2 Uref worden toegepast op de ADC-ingang. Dan zullen de eerste 4 comparatoren werken (als je vanaf de onderkant telt), en logische eenheden verschijnen aan hun uitgangen. De prioriteits-encoder vormt een "kolom" van eenheden binaire code, die wordt vastgelegd door het uitvoerregister.

Nu worden de voor- en nadelen van zo'n converter duidelijk. Alle comparators werken parallel, de vertragingstijd van het circuit is gelijk aan de vertragingstijd in één comparator plus de vertragingstijd in de encoder. De comparator en encoder kunnen zeer snel worden gemaakt, waardoor de hele schakeling een zeer hoge snelheid heeft.

Maar om N bits te krijgen, zijn 2 ^ N comparatoren nodig (en de complexiteit van de encoder groeit ook als 2 ^ N). Het schema in afb. 1. bevat 8 comparators en heeft 3 bits, om 8 bits te verkrijgen heb je 256 comparatoren nodig, voor 10 bits - 1.024 comparatoren, voor een 24-bit ADC zouden ze meer dan 16 miljoen nodig hebben. De techniek heeft echter nog niet zulke hoogten bereikt.

Opeenvolgende benadering ADC

Een Opeenvolgend Approximation Register (SAR) analoog-naar-digitaal omzetter meet de grootte van een ingangssignaal door een reeks opeenvolgende "wegingen" uit te voeren, dat wil zeggen door de grootte van de ingangsspanning te vergelijken met een aantal waarden die als volgt worden gegenereerd :

1. bij de eerste stap wordt aan de uitgang van de ingebouwde digitaal-naar-analoogomzetter een waarde gelijk aan 1/2Uref ingesteld (hierna gaan we ervan uit dat het signaal in het bereik (0 - Uref) ligt.

2. als het signaal groter is dan deze waarde, wordt het vergeleken met de spanning die in het midden van het resterende interval ligt, d.w.z. in in dit geval, 3 / 4Uref. Als het signaal minder is niveau instellen, dan wordt de volgende vergelijking gemaakt met minder dan de helft van het resterende interval (d.w.z. met het 1/4Uref-niveau).

3. Stap 2 wordt N keer herhaald. Dus N vergelijkingen ("wegingen") genereren N bits van het resultaat.

Rijst. 2. Blokschema van de opeenvolgende benadering ADC.

De SAR ADC bestaat dus uit de volgende eenheden:

1. Vergelijker. Het vergelijkt de ingangswaarde en de huidige waarde van de "gewichts" -spanning (in Fig. 2. gemarkeerd met een driehoek).

2. Digitaal-analoogomzetter(Digitaal naar analoog converter, DAC). Het genereert een "gewicht" spanningswaarde op basis van de ingevoerde digitale code.

3. Register van opeenvolgende benaderingen (Successive Approximation Register, SAR). Het implementeert het opeenvolgende benaderingsalgoritme en genereert de huidige waarde van de code die aan de DAC-ingang wordt geleverd. Op zijn naam, allemaal gegeven architectuur ADC.

4. Sample-hold-schema (Sample / Hold, S / H). Voor de werking van deze ADC is het van fundamenteel belang dat de ingangsspanning constant blijft gedurende de conversiecyclus. "echte" signalen hebben echter de neiging om in de loop van de tijd te veranderen. De sample-and-hold-schakeling "onthoudt" de huidige waarde van het analoge signaal en houdt deze ongewijzigd gedurende de gehele bedrijfscyclus van het apparaat.

Het voordeel van het apparaat is relatief: hoge snelheid conversie: de conversietijd van een N-bit ADC is N klokcycli. De nauwkeurigheid van de conversie wordt beperkt door de nauwkeurigheid van de interne DAC en kan 16-18 bits zijn (nu verschijnen 24-bit SAR ADC's, bijvoorbeeld de AD7766 en AD7767).

Delta Sigma ADC

Ten slotte is het meest interessante type ADC de sigma-delta ADC, in de literatuur soms aangeduid als een lading-gebalanceerde ADC. Het blokschema van een sigma-delta ADC wordt getoond in Fig. 3.

Afb. 3. Blokschema van een sigma-delta ADC.

Het werkingsprincipe van deze ADC is iets complexer dan dat van andere typen ADC. De essentie is dat de ingangsspanning wordt vergeleken met de spanningswaarde die door de integrator is verzameld. Afhankelijk van het vergelijkingsresultaat worden pulsen met positieve of negatieve polariteit aan de ingang van de integrator toegevoerd. Deze ADC is dus een eenvoudig volgsysteem: de spanning aan de uitgang van de integrator "volgt" de ingangsspanning (Fig. 4). Het resultaat van deze schakeling is een stroom van nullen en enen aan de uitgang van de comparator, die vervolgens door een digitaal laagdoorlaatfilter wordt gevoerd, wat resulteert in een N-bits resultaat. LPF in afb. 3. Gecombineerd met een "decimator", een apparaat dat de herhalingssnelheid van samples vermindert door ze te "decimeren".

Rijst. 4. Sigma-delta ADC als volgsysteem

Omwille van de ernst van de presentatie moet worden gezegd dat in Fig. 3 is een blokschema van een eerste orde sigma-delta ADC. Een tweede-orde sigma-delta ADC heeft twee integrators en twee lussen feedback, maar wordt hier niet behandeld. Geïnteresseerden in dit onderwerp kunnen verwijzen naar.

In afb. 5 toont de signalen in de ADC op een nulniveau aan de ingang (boven) en op het niveau Vref/2 (onder).

Rijst. 5. Signalen in de ADC op verschillende signaalniveaus aan de ingang.

Nu, zonder in complex te duiken wiskundige analyse Laten we proberen te begrijpen waarom sigma-delta ADC's een zeer lage ruisvloer hebben.

Beschouw het blokschema van de sigma-deltamodulator getoond in Fig. 3, en geef het in deze vorm weer (Fig. 6):

Rijst. 6. Blokschema van de sigma-delta modulator

Hier wordt de comparator weergegeven als een opteller die het continue gewenste signaal en de kwantiseringsruis optelt.

Laat de integrator hebben overdrachtsfunctie 1 / s. Vervolgens, door het bruikbare signaal weer te geven als X (s), de uitvoer van de sigma-deltamodulator als Y (s), en de kwantiseringsruis als E (s), verkrijgen we de ADC-overdrachtsfunctie:

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

Dat wil zeggen, in feite is de sigma-deltamodulator een filter lage frequenties(1 / (s + 1)) voor het bruikbare signaal en het filter hoge frequenties(s / (s + 1)) voor ruis, waarbij beide filters dezelfde afsnijfrequentie hebben. De ruis geconcentreerd in het hoogfrequente gebied van het spectrum wordt gemakkelijk verwijderd door het digitale laagdoorlaatfilter, dat zich achter de modulator bevindt.

Rijst. 7. Het fenomeen "verplaatsing" van ruis in het hoogfrequente deel van het spectrum

Het moet echter duidelijk zijn dat dit een extreem vereenvoudigde uitleg is van het ruisvormingsfenomeen in een sigma-delta ADC.

Het belangrijkste voordeel van een sigma-delta ADC is dus: hoge nauwkeurigheid vanwege het extreem lage niveau van zijn eigen ruis. Om een ​​hoge nauwkeurigheid te bereiken, is het echter noodzakelijk dat de afsnijfrequentie van het digitale filter zo laag mogelijk is, vele malen lager dan de werkfrequentie van de sigma-deltamodulator. Daarom hebben sigma-delta ADC's: lage snelheid transformatie.

Ze kunnen worden gebruikt in de audiotechniek, maar worden vooral gebruikt in de industriële automatisering voor het converteren van sensorsignalen, in meetinstrumenten en in andere toepassingen waar een hoge nauwkeurigheid vereist is. maar geen hoge snelheid vereist.

Een beetje geschiedenis

De oudste ADC-referentie in de geschiedenis is waarschijnlijk het Paul M. Rainey-patent, "Facsimile Telegraph System", U.S. Patent 1.608.527, ingediend op 20 juli 1921, uitgegeven op 30 november 1926. Het apparaat dat in het patent wordt afgebeeld, is eigenlijk een 5-bit ADC met directe conversie.

Rijst. 8. Eerste patent voor ADC

Rijst. 9. ADC directe conversie (1975)

Het apparaat dat in de afbeelding wordt getoond, is een MOD-4100 ADC met directe conversie van Computer Labs, 1975, geassembleerd op basis van discrete comparatoren. Er zijn 16 comparators (ze bevinden zich in een halve cirkel, om de signaalvoortplantingsvertraging voor elke comparator gelijk te maken), daarom heeft de ADC een capaciteit van slechts 4 bits. Conversiesnelheid 100 MSPS, stroomverbruik 14 watt.

De volgende afbeelding toont een geavanceerde versie van de ADC voor directe conversie.

Rijst. 10. ADC directe conversie (1970)

Een VHS-630 uit 1970, vervaardigd door Computer Labs, had 64 comparators, had 6 bits, 30 MSPS en verbruikte 100 watt (de versie van de VHS-675 uit 1975 had 75 MSPS en 130 watt).

Literatuur

W. Kester. ADC-architecturen I: de Flash-converter. Analoge apparaten, MT-020 Zelfstudie.

Momenteel worden analoog-naar-digitaalomzetters (ADC's) steeds vaker gebruikt in het ontwerpen van amateurradio's. Dit komt door de komst van betaalbare ADC-chips en de voordelen van: digitale verwerking analoge signalen. Met behulp van de ADC kunt u eenvoudig converteren Persoonlijke computer(PC) naar elke virtuele meter. En elektronisch onderdeel zo'n apparaat kan heel eenvoudig zijn en alle signaalverwerking zal in software worden gedaan.

Het in het artikel beschreven apparaat is ontworpen om een ​​analoog signaal om te zetten in een digitale zescijferige code en kan dienen als prefix voor een pc. De toepassingsgebieden zijn zeer divers - van virtueel meetinstrumenten naar verschillende geluidsopnamesystemen.

Op de pagina's van het tijdschrift "Radio" zijn herhaaldelijk ontwerpen gepubliceerd op basis van het ADC. Ze gebruikten echter vooral microschakelingen met een binair-decimale outputcode of een code voor indicatoren met zeven elementen. Deze benadering is niet handig voor het invoeren van informatie op een pc.

In het apparaat dat onder de aandacht van de lezers wordt aangeboden, wordt de KR1107PV1-microschakeling gebruikt, een snelle parallelle zes-bit ADC. Het is ontworpen om spanning in het bereik van -2 ... 0 V om te zetten in een van de mogelijke parallelle leescodes: binaire code (vooruit en achteruit) en twee-complementcode (vooruit en achteruit). Deze microschakeling is gekozen omdat deze enerzijds beschikbaar is voor een breed scala aan radioamateurs en relatief goedkoop is en anderzijds een hoge snelheid heeft (de maximale conversiefrequentie is 20 MHz, de tijd van één conversie is niet meer dan 100 NS).

Het schematische diagram van het apparaat wordt getoond in Fig. 1.

Als basis werd de aanbevolen schakeling voor het inschakelen van de KR1107PV1A genomen, die aanzienlijk werd vereenvoudigd zonder een merkbare verslechtering van de conversienauwkeurigheid. cabriolet analoog signaal via socket 1 van de XS1-aansluiting en de weerstand R4 wordt naar de inverterende ingang van de op-amp DA1 gevoerd. Een dergelijke opname wordt gebruikt omdat het vaker nodig is om de spanning met positieve polariteit te digitaliseren, en de ADC-microschakeling converteert de spanning in het bereik van 0 tot -2 V. De nulspanning wordt verwijderd uit de trimmer R1-schuifregelaar. Weerstanden R5 en R4 bepalen de vereiste op-amp gain. Het versterkte analoge signaal wordt via weerstanden R7-R9 naar pinnen 10, 13, 15 van de ADC geleid.

De DA2 ADC wordt bestuurd door de klokpulsen die van de pc komen (via pin 8 van de XS2-aansluiting) naar pin 4. De codering wordt uitgevoerd na het passeren van de klokpulsuitschakeling en het resultaat dat tijdens de conversie wordt verkregen, wordt overgebracht naar het uitgangsregister gelijktijdig met het volgende klokpulsfront. Hierdoor kunnen de flanken van de klokpuls het volgende monster maken, d.w.z. op het moment dat het resultaat van het n-de monster aan de uitgang van DA2 staat, wordt het (n + 2)-de monster aan de ingang gemaakt. De digitale code wordt genomen van de uitgangen D1 - D6 en uitgevoerd naar de XS2-bus.

Opgemerkt moet worden dat de aanduiding van de uitgangen van de microschakeling tegengesteld is aan hun gewicht: de D1-uitgang komt overeen met de meest significante bit en D6 - de minst significante. Het type code (direct, invers, additioneel) aan de uitgangen van de microschakeling wordt bepaald door de signaalniveaus aan de ingangen C1 en C2 van de microschakeling. Hun verbinding met de +5 V-bus komt overeen met de voeding van een hoog niveau en met de gemeenschappelijke draad - een laag niveau. Het vereiste type code aan de uitgang van de microschakeling wordt ingesteld door een combinatie van signaalniveaus op de ingangen C1 en C2 in overeenstemming met de tabel. 1.

ADC KR1107PV1A vereist een bipolaire voeding met spanningen van +5 en -6 V. Daarnaast zijn twee referentiespanningen vereist. Ze definiëren het bereik van de te digitaliseren spanningen. In dit geval wordt een van deze spanningen (Uobp1) als nul beschouwd (pin 16 van de microschakeling is verbonden met een gemeenschappelijke draad), en de tweede (Uobp2) is gelijk aan -2 V, wat, in overeenstemming met, bepaalt het bereik ingangsspanningen ADC 0 ... - 2 V. Een voorbeeldspanning van -2 V wordt verwijderd van de schuifregelaar van de trimmerweerstand R6, die is aangesloten op het voedingsspanningscircuit met negatieve polariteit. Condensatoren C1 - C5 worden gebruikt om interferentie te elimineren.

Bij het monteren van het apparaat worden MLT-, OMLT-weerstanden, oxide- en keramische condensatoren van elk type gebruikt. Trimmerweerstand R1 - ook van elk type, R6 - bij voorkeur draadgewonden multi-turn, bijvoorbeeld SP5-1V, SP5-14, SP5-15, SP5-2, enz. OU DA1 - bijna elke, in staat om te werken op verlaagde voedingsspanningen, bijvoorbeeld KR140UD7. Uitbreiden frequentiebereik u kunt de operationele versterker K574UDZ gebruiken, waarbij de eenheidsversterkingsfrequentie 10 MHz is.

Het apparaat wordt gevoed door een bipolaire gestabiliseerde bron die uitgangsspanningen levert van +5 V bij een stroomsterkte van 35 ... 40 mA en -6 V bij een stroomsterkte van 200 mA

Voordat de ADC voor de eerste keer wordt ingeschakeld, wordt de motor van de weerstand R6 in de middelste stand gezet. Zet de stroom aan, meet de voorbeeldspanning op pin 9 van de DA2-microschakeling en stel deze zo nauwkeurig mogelijk in op -2 V. De vereiste nulpuntverschuiving wordt bereikt trimweerstand R1. U kunt de nulpositie in het weekend regelen digitale code of constante spanning op de analoge ingangen van de ADC (pinnen 10, 13, 15 DA2). Op dit punt kan de instelling als voltooid worden beschouwd.

De ADC is verbonden met de pc via de interface (Fig. 2) die is geïnstalleerd in een vrije ISA-connector op het moederbord.

De interfacekaart bevat vier I/O-poorten met ZE0N-ZEZN-adressen. Elementen DD1.1-DD1.3 en DD2 vormen een adresdecoder. Signalen van de pc-adresbus worden ontvangen op hun ingangen en als er een ZE0H-ZEZN-combinatie op verschijnt, wordt er een lage toelaatbare spanning gevormd op de DD2-uitgang. De signalen die het poortnummer bepalen in de adresruimte van poorten komen overeen met de twee minst significante bits van de adresbus en worden toegevoerd aan de DD4-decoder. Het ontvangt ook permissieve signalen via de AEN-bus (dit betekent dat er in deze cyclus geen directe toegang tot het geheugen is) en signalen IOW, IOR, wat overeenkomt met schrijven naar en lezen van een extern apparaat. Het signaal van pin 15 van de decoder wordt naar ingang E van de DD7-busdriver gevoerd en maakt gegevensoverdracht van de ADC naar de databus mogelijk.

Het signaal dat verschijnt op pin 14 van de DD4-decoder dient om de DA2 ADC te klokken, op pin 13 om de DD6.1-trigger te resetten en op pin 12 om de toevoer van informatie naar de databus mogelijk te maken. De trigger is ontworpen om de ADC te synchroniseren met een extern apparaat dat synchronisatiepulsen of een gereed-signaal kan genereren. Een kloksignaal van een extern apparaat wordt via pin 1 van de XS2-aansluiting naar de klokingang van de trigger geleid. De toestand van de laatste wordt door het programma gelezen. Indien gevonden hoog niveau op pin 5 van DD6.1 betekent dit dat er een synchronisatiepuls is ontvangen van een extern apparaat. Nadat de flip-flop-toestand is gelezen, moet deze worden gereset om zich voor te bereiden op de volgende klokpuls.

Een paar woorden over het doel van poorten. De poort met het adres ЗЕ0Н is bedoeld voor het lezen van gegevens van de ADC (bits D0-D5 bevatten de waarde van het gedigitaliseerde signaal), met het adres ЗЕ1Н - voor het leveren van een klokpuls aan de ADC (wanneer een byte naar deze poort wordt geschreven , de conversie van het analoge signaal naar digitaal begint). De ZE2H-poort wordt gebruikt om de DD6.1-synchronisatietrigger te resetten na het lezen van de status. Een reset vindt plaats wanneer een byte naar deze poort wordt geschreven. Ten slotte is de ZESN-poort voor het lezen van de flip-flop-status, die wordt weergegeven door bit 5 van de byte die van deze poort wordt gelezen. De trigger is nodig om korte synchronisatiepulsen op te vangen. Als bij het lezen van de ZEZN-poort een hoog logisch niveau wordt gedetecteerd aan de directe uitgang van de flip-flop (bit D5 = 1), dan stuurt het programma dit terug naar de begintoestand door een byte naar de ZE2H-poort te schrijven.

Een programma voor het lezen van gegevens van een ADC, geschreven in Pascal, wordt weergegeven in de tabel. 2.

Het is handig om als basis van het ontwerp te gebruiken defect bord extensies voor het ISA-slot. Alle "hoge" elementen (condensatoren, connectoren) worden eruit verwijderd en de gedrukte geleiders die naar de contactvlakken gaan van het onderdeel dat in de sleuf is gestoken, worden afgesneden (XP1-stekker in Fig. 2). De onderdelen zijn gemonteerd op een kleine printplaat, die met standaards aan de uitbreidingskaart is bevestigd. De klemmen van het apparaat worden met korte delen van de montagedraad verbonden met de contacten van de XP1-stekker. De pintoewijzingen van het ISA-slot zijn te vinden in.

Concluderend merken we op dat in de meeste gevallen zes bits voldoende zijn om een ​​analoog signaal weer te geven. Als een ADC met een ingangsspanningsinterval van 0 ... 2 V wordt gebruikt om een ​​spanning van 2 V te meten, zal de fout niet groter zijn dan 0,03 V (of 1,5%). Bij het meten van een spanning van 0,2 V neemt de fout toe tot 15%. Om de meetnauwkeurigheid te verbeteren, kunt u een ADC met een grotere capaciteit gebruiken of de gemeten spanning versterken tot een waarde die dicht bij de bovengrens van het interval ligt (wijzig bijvoorbeeld de verhouding van de weerstanden van weerstanden R5 en R4). Met de waarden aangegeven in het diagram (zie Fig. 1), digitaliseert het apparaat ingangsspanningen in het bereik van 0 ... 0,5 V en kan het werken met een consumentenmicrofoon.

Indien om redenen van nauwkeurigheid van "digitalisering" zwakke signalen een hogere bitdiepte vereist is, kan de KR1107PV1A-microschakeling worden vervangen door een 8-bit K1107PV2-converter (uiteraard rekening houdend met de verschillen in "pinout" en stroomverbruik).

Literatuur

  1. Biryukov S. Thermometer "Huis - Straat". - Radio, 2000, nr. 3, p. 32, 33.
  2. Novachenko I.V., Petukhov V.M., Bludov I.P., Yurovsky A.V. Microschakelingen voor huishoudelijke radioapparatuur. Directory. - M.: KUBK, 1995.
  3. Danilin N. S, Ulitenko V. P., Kripak A. A. Richtlijnen voor probleemoplossing en reparatie van IBM pc-computers. - M.: Uitgeverij van normen, 1992.

Zie andere artikelen sectie.

Het gebeurde zo dat de belangrijkste MC waarmee ik constant werk en waaraan ik de overgrote meerderheid van de taken doe, is ATtiny2313- het is populair, en, belangrijker nog, het is goedkoopste controller van de hele lijn AVR met het aantal benen meer dan 8. Ik nam ze in het aantal van ongeveer driehonderd voor 18, chtol, roebel ding. Maar hier is het - het heeft geen ADC... Helemaal niet. En toen was hij nodig - je moet het signaal van de sensor meten. Hinderlaag. Schakel niet over naar een meer gevulde vanwege dergelijke rommel. ATtiny26- het kost meer en vijgen waar je bij ons kunt kopen, en wat te doen met die doorbraak? ATtiny2313 wat is er al gekocht? Ik heb mijn hersens gebruikt...

Waarom niet knoeien? ADC seriematige vergelijking? Natuurlijk zullen de snelheid en nauwkeurigheid geen fontein zijn, maar zonder het type MK te veranderen en met slechts twee cent details van de extra bodykit, krijg ik een volwaardige, zij het remmende, 8-bit ADC die volledig voldoet aan mijn bescheiden verzoeken!

Hoe een seriële vergelijking ADC werkt.
Wat hebben we in? ATtiny2313 analoog? Rechts - . Nu is het voldoende om het gemeten signaal toe te passen op de ingang en het methodisch te vergelijken met de referentiespanning, waarbij de waarde van de referentiespanning lineair wordt gewijzigd. Bij welke van de referentiespanningen de comparator wordt getriggerd, is het gemeten signaal + / _ ongeveer gelijk aan de stap van het wijzigen van de referentie.

Het blijft om een ​​​​wisselende referentiespanning te krijgen, en wat kun je, uit een puur digitale uitgang van de controller, een analoog signaal halen? PWM! Heb het eerder geïntegreerd. Voor integratie gebruiken we het eenvoudigste RC-filter. Onze condensator integreert de lading en de weerstand laat de poort niet doodgaan wanneer de condensor wordt opgeladen. Het resultaat van het door een dergelijk filter laten lopen van de PWM zal een redelijk stabiele constante spanning zijn.

Het blijft alleen om de filterbeoordelingen te schatten. Afsnijfrequentie - de frequentie van waaruit het filter de variabele component begint te dempen, in het L-vormige RC-filter is gelijk aan het omgekeerde van zijn tijdconstante w = 1 / RC... Ik heb de condensor aangezet 0.33E-6 F en weerstand aan 470 Oh, het bleek dat w = 6447 rad / s... Voor zover hoekfrequentie we hebben nergens gerust, dan delen we het door 2pi = 6.28 we hebben ongeveer een kilohertz, 1026,6 Hz, om precies te zijn. keer frequentie PWM en we kunnen gemakkelijk tientallen kilohertz hebben, dan zal de output zo'n soepele constante zijn, met onbeduidende pulsaties.

Nu wikkelen we deze toppen bij de ingang van de comparator, op de tweede starten we ons gemeten signaal en beginnen we plezier te hebben met de code. Het bleek hier zo'n schema, geassembleerd, als. Hier echter niet ATTiny2313, maar Mega8 die een ADC heeft, maar we zullen het bestaan ​​ervan voorlopig vergeten. Ons filter is getekend met rode lijnen.

De code zal eenvoudig zijn, om niet te storen, zal ik afzonderlijke bronnen in de vorm van bestanden opmaken:

  • - Hoofdbestand
  • - Onderbreek vectortabel
  • - Initialisatie van de periferie
  • en - Macro's en macro's

ik zal alleen commentaar geven hoofdfunctie Calc.
Bij het aanroepen van een procedure Calc ons eerste ding:

  1. De analoge comparator is geconfigureerd en, belangrijker nog, zijn interrupts worden geactiveerd.
  2. Vervolgens wordt de initiële scanwaarde 255 in het scanregister (R21) geladen.
  3. Vervolgens wordt deze waarde in het PWM-vergelijkingsregister gegooid OCR1AL... PWM was vooraf, in de sectie init.asm geconfigureerd en gelanceerd, zodat onmiddellijk aan zijn uitgang een signaal met een duty cycle verschijnt (duty cycle is de verhouding van de signaalduur tot de periode van dit signaal) 1, d.w.z. in feite, terwijl het er maar één is.
  4. We wachten een tijdje in de vertragingsfunctie totdat het voorbijgaande proces is beëindigd (de condensator kan zijn spanning niet onmiddellijk veranderen)
  5. Verlaag de waarde van het scanregister (dat, wanneer geladen in OCR1AL zal de inschakelduur met 1/255 verminderen), controleer of deze nul is geworden. Zo niet, ga dan naar stap 3.
Het resultaat is een sequentiële afname van de signaalbelastingscyclus van 1 naar 0, met een stap van 1/255 , die na het filter wordt omgezet in een afnemende spanning. En aangezien ik in de hoofdprocedure heb Calc cyclisch wordt aangeroepen, staat de zaag aan de ingang van de comparator.

Zoals je kunt zien, is er een snee aan de bovenkant. Dit komt door het feit dat de maximale spanning die de MK-poot kan afgeven, rekening houdend met de druppels op alle weerstanden, in de orde van 4,7 volt is, en ik kan ze alle 5 van de hoofdpotentiometer losschroeven. Nou, ook de toppen zijn een beetje overweldigd. Als u de frequentie verlaagt, wordt het bereik iets groter.

Zo, met een beetje vindingrijkheid, plus twee extra details. totaalbedrag in één roebel en een dozijn regels code heb ik een hoop deeg bespaard =)