AD-DA-omvandlare Mätteknik Ville Jalkanen ville.jalkanen@tfe.umu.se
Inledning Analog-digital (AD)-omvandling Digital-analog (DA)-omvandling Varför AD-omvandling? analog, tidskontinuerlig signal Givare/ förstärkare Mätinstrument/ Dator (digital) Om vi vill läsa in en signal till en dator måste den omvandlas (kvantifieras) från att vara en analog (tidskontinuerlig) signal till att vara en digital (och tidsdiskret) signal. tiden & signalnivån måste diskretiseras ville.jalkanen@tfe.umu.se 2
Sampel, sampling och samplingsfrekvens Mätinstrumentet/datorn behöver en AD-omvandlare som tar sampel (dvs mätvärden) av signalen vid bestämda tidpunkter. Därmed kan vi bilda en tidsdiskret signal. Avståndet mellan varje sampel är sampeltidsintervallet T S Mätinstrumentet samplar signalen Sampel = stickprov Diskret tid t = nt S Tidsdiskret signal n =,, 2, 3, 4, 5,... ville.jalkanen@tfe.umu.se 3
x(t) x(t) x(t) x(t) x(t) Hur fort vi samplar (dvs tar enskilda sampel) är avgörande för hur den diskreta signalen kommer att se ut. Desto snabbare vi samplar (mindre tid mellan varje sampel) desto fler mätpunkter kan vi få under viss tid. Samplingsfrekvensen ges av f S = T S (dvs vår samplingshastighet) Ex. Sampla en periodisk signal x t med frekvensen f = 5 Hz. (simulerad med Matlab) Om vi samplar med f S =.25f = 62.5 Hz får vi en samplad signal (blå circlar ihopknutna av den blå linjen) dvs den stämmer inte överens med den ursprungliga analoga signalen (röd kurva). -.5..5.2 t (s) -.5..5.2 t (s) f S =.25f = 62.5 Hz Om vi ökar samplingsfrekvensen... -.5..5.2 t (s) -.5..5.2 t (s) -.5..5.2 t (s) f S = 4f = 2 Hz f S = f = 5 Hz f S = 3f = 5 Hz ville.jalkanen@tfe.umu.se 4
Samplingsteoremet Det går att visa att man måste sampla med minst två gånger den högsta frekvensen i mätsignalen för att erhålla rätt frekvensinnehåll i den diskretiserade signalen och kunna återskapa den. Vill man få en bättre överensstämmelse bör man givetvis sampla ännu snabbare. ville.jalkanen@tfe.umu.se 5
Diskretisering av signalnivån Även den analoga signalnivån (spänningen) måste diskretiseras för att kunna behandlas av datorn. Detta utförs av Analog-till-digital (AD)-omvandlaren. Önskar göra omvandlingen: Sampel heltal ( binärt tal) Diskretiseringen bestäms av antalet bitar som det digitala/binära talet representeras med. En bit kan anta två värden, eller. Antalet bitar bestäms av AD-omvandlaren. Analogt sampel A in AD n-bitar U ref Heltal D ut (på binär form) Ett digitalt tal på 4-bitar motsvaras av ett heltal, te.x. = (*2 3 +*2 2 +*2 +*2 ) = (*2 3 +*2 2 +*2 +*2 ) = 2 (*2 3 +*2 2 +*2 +*2 ) = 3 (*2 3 +*2 2 +*2 +*2 )... = 5 (*2 3 +*2 2 +*2 +*2 ) Med 4 bitar kan man få 6 (=2 4 ) olika tillstånd/heltal (,, 2, 3,..., 5). Det analoga sampelvärdet motsvaras av ett heltal (som kan göras om till binärt). ville.jalkanen@tfe.umu.se 6
U ref och n-bitar U ref Analogt sampel A in AD n-bitar Heltal D ut på binär form U ref : Det spänningsintervall som det analoga sampelvärdet väntas ligga inom. T.ex U ref = 5V ger ett intervall till 5 V. n-bitar: Antalet bitar som bestämmer antalet olika heltal/nivåer (2 n ) som spänningsintervallet delas in i. T.ex. Om n = 8 bitar, så har vi 2 8 = 256 nivåer (heltalen,, 2, 3,..., 255) Exempel: Med en 2-bitars AD-omvandlare kan referensspänningen delas upp i 2 2 = 496 diskreta nivåer. Det betyder att om vi vill diskretisera V-intervall med 2-bitar, så kommer varje enskild bit att representera /496 =.244 V. Den minsta mätbara spänningen, dvs upplösningen blir.244 V. ville.jalkanen@tfe.umu.se 7
Principen för AD-omvandling AD-omvandlare ska omvandla en analog spänning till ett heltal. AD-omvandlaren delar upp U ref i 2 n nivåer. Således blir upplösningen U = U ref. 2 n Ex. Om U ref = 5V och n = 8 får vi U = 9.53mV. Det analoga sampelvärdet (A in ) omvandlas till ett heltal (D ut ) som är en avrundning till närmaste heltal av uttrycket D ut = A in U = A in U ref 2 n (Minsta mätbara spänningen) Pga avrundningen: Alla sampel i intervallet D ut U ± 2 Uresulterar i samma heltal D ut. A in D ut 2 U =.5 LSB 2 ΔU 2 ΔU A = DΔU D I datorn kan vi räkna ut värdet DΔU ville.jalkanen@tfe.umu.se 8
Exempel: Utsignalen som funktion av insignalen för 8-bitars ADomvandlare. X-axeln är skalad i U D ut Notera intervallen början och slutet. A in / U Exempel: 3-bitars AD-omvandling då U ref = 5V U = 5 =.625 V 23 ville.jalkanen@tfe.umu.se 9
Metoder att realisera AD-omvandling Dual slope (integrerande AD) Successiv approximation Flash AD (parallell AD) ΣΔ-omvandling ( sigma-delta ) ville.jalkanen@tfe.umu.se
DA-omvandling Används inom AD-omvandling R-2R-stege (dominerande inom DA-teknik) (Andra: Viktade resistanser, PWM (pulse width modulation)) Omvandla ett heltal (D in ) till en analog utspänning (A ut ) ville.jalkanen@tfe.umu.se
R-2R-stege Tre binära ingångar (3 bitar), dvs det binära talet (heltalet) bestämmer switcharnas tillstånd (S 2 S S ). S = leder ström till OPn, S = leder strömmen till jord. Till höger om punkterna A, B, C har man totala resistansen 2R till jord. A: Anta I leder genom ena grenen samma ner till S (samma resistans) totalt 2I in B: 2I i vardera gren (pga samma resistans) totalt 4I in till B C: 4I i vardera gren (pga samma resistans) totalt 8I = I ref in till C Totala resistansen till jord = R U ref = I ref R = 8I R I = U ref 8R I tot är summan av strömmarna till OP:n. Vi har U ut = I tot R S 2 S S U ut 8 U ref Elektronisk till-till-switch 2 8 U ref 3 8 U ref 4 8 U ref 5 8 U ref 6 8 U ref 7 8 U ref ville.jalkanen@tfe.umu.se 2
R-2R-stege Från tabellen ser vi att ett uttryck för utsignalen för 3 binära ingångar, dvs 3 bitars DA-omvandlare (omvandlar ett heltal,, 2,..., 7 till analog utspänning) U ut = D in U ref 2 3 I det generella fallet för n stycken binära ingångar (n-bitars DA-omvandlare) A ut = D in U ref 2 n = D inδu där ΔU är upplösningen (spänningsändringen på utgången då det binära talet/heltalet ändras ett steg). Heltalet D in =,, 2,, 2 n omvandlas till an analog utspänning. Kvantiseringsbrus: Skillanden mellan det analoga sampelvärdet A in in till AD-omvandlaren och den analoga utspänningen A ut (som är en punktskattning av A in, och följer likformiga fördelningen) från DA-omvandlaren. Kvantiseringsbruset sätter en gräns på hur små signaler/variationer vi kan detektera. ville.jalkanen@tfe.umu.se 3
Dual slope (Integrerande AD) En kondensator (i integratorn) laddas upp/ur av A in respektive U ref. Integratorn ger en rampformad utsignal. komparator Klar. Räknaren stoppas Uppladdningstiden (fas ) är konstant (pga binärräknarens klock-hastighet & n-bitar). Integratons utsignal (lutningen) beror på A in. Binärräknaren börjar om när den räknat klart samt skickar over-flow signal och urladdning påbörjas. Integratorns ramp blir positiv (fas 2 inleds). Räknar tills komparatorn går hög (dvs U I > ) klar! Långsam men noggrann. Antal bitar bestäms av Binärräknaren. låg A in hög A in Fas 2 Urladdningshastigheten (lutningen) är konstant (pga U ref ) urladdningstiden beror på kondensatorns uppladdning (startvärde dvs A in ). Binärräknaren stannar när integratorn når noll. Binärräknarens värde anger urladdningstiden dvs A in Vi har AD-omvandlat A in till ett heltal ville.jalkanen@tfe.umu.se 4
En enkel AD-omvandlare Består av en komparator och en DA-omvandlare där komparatorn jämför A in med utspänningen från DA-omvandlaren. En binärräknare räknar upp tills komparatorn går låg dvs då DA ut > A in Nackdel: Många jämförelser. I värsta fall görs 2 n jämförelser. I medeltal görs 2 n. A in DA ut Antalet jämförelser kan reduceras med metoden successiv approximation. ville.jalkanen@tfe.umu.se 5
Successiv approximation En komparator jämför A in med utspänning från DA-omvandlare Heltalet från DA ändras successivt (alla bitar testas MSB först, LSB sist) tills utsignalen är så nära A in som möjligt. Biten sätts till och sparas om komparatorn är hög (DA ut < A in ), om den är låg (DA ut > A in ), så sätts biten till och nästa bit testas. A in DA ut U = U ref = 5 2 n 24 =.325 V (= LSB) Snabb, n stycken jämförelser för en n-bitars AD. A in heltalet = 8 = 4 = 6 = 7 = 7 Maximala avvikelsen kan bli LSB! Vi vill ha maximalt.5 LSB. Använd en tilläggsregel: Om felet är större än.5 LSB, addera till AD-omvandlarens utsignal. ville.jalkanen@tfe.umu.se 6
Flash AD (parallell AD) Hög = eller låg = A in jämförs med en del av U ref med 2 n komparatorer i en n-bitars flash AD. Antalet nollor (från komparatorerna) är heltalet som omvandlas till binärt (D ut ) i dekodern. Vi har AD-omvandlat A in. 3 nollor ger heltalet 3 Som motsvaras av 3 U =.875 V med maximalt ±.5 LSB fel. Mycket snabb (parallella jämförelser dvs alla bitar omvandlas samtidigt). Dyr pga många komparatorer dvs antalet bitar måste begränsas....antalet komparatorer kan reduceras! U = U ref = 5 =.625 V 2 n 2 3 ville.jalkanen@tfe.umu.se 7
Halvflash AD Två stycken n 2 -bitars (hel)flash AD reducerar antalet kompratorer till 2 2n 2 Exempel: 8 bitars halvflash AD dvs två 4 bitars helflash AD 2 2 4 = 3 komparatorer 8 bitars helflash AD 2 8 = 255 komparatorer U = U ref 2 n 2 = U ref 6 avvikelsen kan vara ± 2 U Grov uppdelning U 2 = U ref2 2 n 2 = U ref 2 n 2 2 n 2 = U ref 2 n = U ref 256 U ref2 = U = U ref 2 n 2 Fin uppdelning ville.jalkanen@tfe.umu.se 8
Sample & Hold Signalen som ska AD-omvandlas måste vara konstant under omvandlingstiden Ej uppfyllt för högfrekventa signaler, långsamma AD-omvandlare Signalen måste frysas mha Sample & Hold (S/H)-steg En S/H-puls styr när sampling (hög puls) och hold (låg puls) sker. Under samplingstiden (S/H = hög) laddas kondensatorn upp till A in därefter sker AD-omvandlingen under hold -tiden (S/H = låg). A in hålls konstant (laddas inte ur pga OP:ns höga inimpedans) Proceduren upprepas under nästa samplingstid, dvs konsdensatorn laddas Sample&Hold används i flerkanaliga AD-omvandlare Alla ingångar förses med Sample&Hold-steg. När S/H-pulsen kommer, fryses insignalerna (samtidigt) varefter var och en av kanalerna omvandlas i tur och ordning mha multiplexer ville.jalkanen@tfe.umu.se 9