Datorteknik Tomas Nordström Föreläsning 12 Mer I/O För utveckling av verksamhet, produkter och livskvalitet. 1
I/O del 2: A/D och D/A omvandling; Seriella gränssnitt Vi har redan stött på parallell portar där vi kan styra digitala portar (dvs ett antal av kretsens ben), men det finns fler typer av in/ut-enheter: Omvandling av analog signal till digital signal (A/D omvandling; ADC analog-digital conversion) Omvandling av digital signal till analog signal (AD/A omvandling; DAC analog-digital conversion) Kommunikation över seriella gränssnitt Delar av denna presentation är lånad ifrån: A/D D/A omvandling; Mätteknik för F Christian Antfolk, LTH 2
A/D och D/A omvandling Omvandling mellan analog signal och digital signal Exempel på var det används: Ljud och tal Musik lagras digitalt på CD eller komprimerat på mp3 Telefon Video VGA Digital TV DVD Mätvärden från sensorer Industri (ex. temperatur, ljusstyrka, tryck, töjning) Medicin (ultraljud, MR-kamera, tomografi) 3
Varför vill vi ha en digital signal? Lättare att använda datorer för beräkningar Lättare att hantera och lagra information Mindre störningskänslig Lättare att konstruera system Påverkas inte av omgivningen Lättare att modifiera system 4
Tillämpningar Telefonljud 8 bitar och 8 ks/s Audio CD 16 bitar och 44.1 ks/s Digitala oscilloscope 12 bitar och 100 MS/s - 2GS/s 5
Repetition? Operationsförstärkaren Den ideala operationsförstärkarens egenskaper är: oändlig förstärkning G vid likspänning och växelspänning oavsett frekvens oändlig bandbredd (oändligt snabb) oändlig inimpedans (ingen ström genom + och -) ingen utimpedans (kan driva ström) 0V in=0v ut Verkliga operationsförstärkare har egenskaper som mer eller mindre liknar de ideala: hög förstärkning, minst 100 000 gånger vid likspänning V = ( V V )G out + hög inimpedans, ofta över 1 MΩ låg utimpedans, under 100 Ω begränsad bandbredd, förstärkningen avtar med ökande frekvens och eller amplitud http://sv.wikipedia.org/wiki/analog_teknik 6
Repetition? Komparatorn De flesta AD omvandlare använder sig av en komparator som en del i omvandlingsprocessen En komparator jämför två spänningsnivåer A och B Om A > B => ger komparatorn logisk hög signal, tex 1 Om A < B => ger komparatorn logisk låg signal, tex 0 En komparator kan implementeras med en enkel OP-förstärkare utan återkoppling. 7
Repetition? Den inverterande förstärkaren 8
I några AD-omvandlare används en integrator Utsignalen från en integrator beror på tiden och insignalen En integrator kan implementeras med en OPförstärkare och en kondensator Spänningen över kondensatorn kommer att vara lika med utspänningen (Motståndet 10R finns där för att möjliggöra upprepade integrationer då C laddas ur genom detta motstånd. Motståndet får gärna vara ännu större så att det inte stör integrationen men 10R brukar räcka.) 9
AD-omvandlare Analog to Digital Converters Flash omvandlare (parallell) Successiv approximation (SAR) Integrerande omvandlare Delta-Sigma omvandlare Pipelined Finns en uppsjö av andra tekniker men dessa behandlas inte i denna kurs 10
AD-omvandlare Flash Vin jämförs med noggranna spänningsnivåer uppdelade i jämna steg Komparatorernas utgångar bildar en termometer kod som i grindnätet omvandlas till binärkod Snabb men dyr Ex. MAX104 från maxim-ic. ±5V, 1Gsps, 8-Bit ADC with On-Chip 2.2GHz Track/Hold Amplifier 11
AD-Omvandlare Successiv approximation (SAR) Successiv intervallhalvering Antalet approximationer motsvarar bitlängden för A/D omvandlaren Ex. AD7484: 14-Bit, 3 MSPS SAR ADC 12
AD-Omvandlare Pipelined ADC Ett antal mindre flash AD-omvandlare i en pipeline där varje steg sedan subtraherar den detekterade nivån. En av de mer populära omvandlarna för området några få MS/s till mer än 100 MS/s med en upplösning på 8-16 bitar. Figure shows a block diagram of a 12-bit pipelined ADC. Figure. Pipelined ADC with four 3-bit stages (each stage resolves two bits). 13
AD-Omvandlare Integrerande omvandlare Kondensatorn i integratorn laddas upp under av Ux en bestämd tid TREF som bestäms av klockpulsgeneratorn UREF används för att ladda ur kondensatorn och tiden Tx mäts I en räknarkrets UREF, TX och TREF används sedan för att räkna ut UX 1 RC T REF U x dt = 1 RC 0 T X 0 U REFdt U x T REF = U REF T X U x = U REF T REF T X U x = 1.0 1000 345 = 0.345V Ex. TLC7135 4 1/2-Digit Precision Analog-to- Digital Converters från Analog Devices 14
Pulsdensitetsmodulering Vi kan låta densiteten av ettor representera ett analogt värde 0101101111111111111101101010010000000000000100010011011101111111111111011010100100000000000000100101 Kan också se detta som en pulsviddsmodulering (bredden på ettpulsen representerar ett analogt värde) 15
AD-Omvandlare Delta-modulator Principle of the delta PWM. The output signal (blue) is compared with the limits (green). These limits correspond to the reference signal (red), offset by a given value. Every time the output signal reaches one of the limits, the PWM signal changes state. A PDM bitstream is encoded from an analog signal through the process of delta-sigma modulation. This process uses a one bit quantizer that produces either a 1 or 0 depending on the amplitude of the analog signal. A 1 or 0 corresponds to a signal that is all the way up or all the way down, respectively. Because in the real world analog signals are rarely all the way in one direction there is a quantization error, the difference between the 1 or 0 and the actual amplitude it represents. This error is fed back negatively in the ΔΣ process loop. In this way every error successively influences every other quantization measurement and its error. This has the effect of averaging out the quantization error. 16
AD-Omvandlare Delta-Sigma modulator Delta-modulator (Analog -> PWM) Digitalt filter (PWM -> Multinivåsampel ) Decimeringsfilter (Multinivåsampel hög -> låg samplighastighet) Tittade på <http://www.youtube.com/watch?v=cfr6ambl--c> Mer info på <http://en.wikipedia.org/wiki/sigma_delta> 17
AD-omvandlare En jämförelse 18
AD-omvandlare en annan jämförelse 19
Sample and Hold (S/H) krets Används för att spänningen konstant på ingången till en AD-omvandlare 20
Felkällor Kvantiseringsosäkerhet Skalfaktorosäkerhet Lineariseringsosäkerhet Nollpunktsosäkerhet Mätupplösning 21
Felkällor Kvantiseringsosäkerhet +/- 1/2 LSB Ex. en 8-bitare omvandlare med 5 Volts mätområde ger en upplösning på 5/2 8 = 19.5 mv I en 8-bitars omvandlare måste spänningsförändringen i insignalen vara minst 19.5 mv för att märkas 22
Sampling Samplingsteorem: Samplingsfrekvensen fs måste vara minst två gånger så stor som den största frekvenskomponenten f i signalen man samplar. f s > 2 f 23
Vikning (aliasing) 24
Vikning (aliasing) För att undvika vikning har man ett lågpassfilter på ingången till omvandlaren Filtrets brytfrekvens ska vara mindre än eller lika med fs/2 Tittade på < http://www.youtube.com/watch?v=fy9djggcwzi> 25
DA Omvandlare Digital to Analog Converters DA Omvandlare Viktade resistorer R-2R stege 26
DA-omvandling Viktade resistorer 27
DA-omvandling R-2R stege Endast ett resistorvärde behövs. 2R får genom att seriekoppla två resistorer Se gärna <http://www.youtube.com/ watch?v=fpb1qrw9gmi> för att förstå hur detta funkar! 28
Sammanfattning AD och DA-omvandling Olika metoder för analog till digital omvandling Prestandakriterier (snabbhet, upplösning, momentan-/medelvärde) för olika Olika kategorier av fel som förekommer i ADomvandlare Sample and Hold kretsen Samplingsteoremet vikning aliasing Olika metoder för digital till analog omvandling 29
Kommunikation med omvärlden Seriell dataöverföring Data kan överföras mellan en dator och en yttre enhet genom att sända en bit i taget. I varje ända av ledningen mellan datorn och den yttre enheten måste det finnas ett gränssnitt, som på den sändande sidan kan omvandla data på parallell form till en ström av bitar. På den mottagande sidan ska bitströmmen tas emot och sammanställas till data på parallell form igen. Fördel med seriell överföring: I princip behövs bara en enda ledning (och jord) mellan dator och yttre enhet 30
Seriell dataöverföring Universal asynchronous receiver/transmitter (UART) Vid seriell dataöverföring sker överföringen bit för bit. Tar längre tid att överföra data seriellt jämfört med parallellt. Fördel: Behöver i princip minimum tre ledningar för full duplex (Tx,Rx och GND). Kabelkostnaden mindre. Kan ha längre ledningar än vid motsvarande parallell överföring. Typiska värden på kabellängden: för parallell överföring < 5 m för seriell överföring < 15 m Metoden går ut på att sändaren "visar upp en bit" under en viss tid på ledningen. Sändare och mottagare har kommit överens om tiden som biten ligger ute. De har också kommit överens om hur nollor resp ettor ska representeras. Vanligt är 12 V för en nolla och -12 V för en etta (RS-232). 31
Start- och stoppbitar Sändare och mottagare kan aldrig hålla exakt samma hastighet. För att förhindra felavläsningar synkroniseras mottagare och sändare med jämna mellanrum. Man låter ett visst antal bitar (t ex 7) bilda en bitgrupp, som inramas med start- och stopp bitar. startbiten synkroniserar mottagare och sändare inför överföringen av en bitgrupp. stoppbiten talar om för mottagaren att bitgruppen är slut. För att kunna överföra bokstäver, siffror och andra tecken kodar man dessa i en binärkod, ASCII-koden. Varje tecken har en speciell kod. Med sju bitar kan alla tecken representeras. Ex tecknet F, ASCII-kod 46h= 1000110b 32
33
Start- och stoppbitar forts. Sändning Sändaren håller ledningen till mottagaren på logisk hög nivå när inget tecken hållet på att sändas. När en bitgrupp ska sändas lägger sändaren först ut en startbit, en nolla, för att informera mottagaren om att en bitgrupp ska sändas. Därefter lägger sändaren ut bitarna en i taget med början på den minst signifikanta biten. Sist lägger sändaren ut en stoppbit, en logisk etta. Detta är principen för asynkron seriell dataöverföring. Med asynkron menas att sändaren kan starta överföringen av en bitgrupp utan att först fråga mottagaren om den är redo. Ett nytt tecken kan alltså komma när som helst efter det att stoppbiten kommit. 34
Paritetsbit Ibland skickas ytterligare en bit med, en paritets bit. Det är en bit som hjälper mottagaren att upptäcka om det blivit något fel i överföringen. Paritetsbiten sänds efter den sista biten i bitgruppen, precis före stoppbiten. Sändare och mottagare kommer överens om att använda antingen udda eller jämn paritet. Udda paritet betyder att antalet ettor i bitgruppen inklusive paritetsbiten ska vara udda. Jämn paritet betyder att antalet ettor ska vara jämnt. Överföring av tecknet F med ASCII-koden 1000110b. Udda paritet. 35
Överfäringshastigheten Överfäringshastigheten kan anges med två olika enheter: baud och bitar per sekund (bps). Baud [bå d] är en måttenhet för symbolhastighet som används vid signalöverföring. 1 baud innebär 1 signalelement, symbol, per sekund. En sådan symbol kan innehålla olika mycket information**. När det gäller asynkron seriell kommunikation anger man överföringshastigheten med baud. standardvärden är 300, 600, 1200, 2400, 4800, 9600, 19200 och 38400 baud. ** Genom att använda fasmodulering med tolv olika fasvinklar (30 intervall) där fyra av dem dessutom kan ha två olika amplitudvärden (amplitudmodulering) kan ett modem uppnå 9600 bit/sekund trots att symbolhastigheten bara är 2400 baud. 36
Synkron seriell dataöverföring Vid asynkron seriell överföring synkroniseras sändare och mottagare innan varje tecken sänds m.h.a. startbiten. Vid sändning av ett tecken behövs ca tio bitar. Ca 30 procent av tiden vid en överföring går alltså förlorad. En effektivare metod är att först synkronisera sändare och mottagare och sedan skicka ett stort block av data. Inga starteller stoppbitar behövs då för varje tecken, eftersom mottagaren vet att varje sjubitsgrupp efter synkroniseringen är ett tecken. När data inte sänds håller sändaren ledningen på en logisk etta. För att indikera start av överföringen skickar sändaren ett eller flera speciella synkroniseringstecken. Mottagaren använder dessa för att ställa in sin interna klocka så att sändare och mottagare är i fas. Efter det kan mottagning ske. Synkron seriell överföring används då höga hastigheter önskas. 37
Sammanfattning Seriell Kommunikation UART - Universal asynchronous receiver/ transmitter Vid seriell dataöverföring sker överföringen bit för bit. Fördel: Behöver i princip minimum tre ledningar för full duplex (Tx,Rx och GND). Kabelkostnaden mindre och man kan ha längre ledningar än vid motsvarande parallell överföring. Startbit, Dataord (typ. 7 bitar), Paritet, Stopbit ASCII Baud och bit/s 38