Elektro och Informationsteknik LTH. Laboration 6 A/D- och D/A-omvandling. Elektronik för D ETIA01

Relevanta dokument
Elektro och Informationsteknik LTH. Laboration 6 A/D- och D/A-omvandling. Elektronik för D ETIA01

Elektro och Informationsteknik LTH. Laboration 5 Operationsförstärkaren. Elektronik för D ETIA01

Elektro och Informationsteknik LTH. Laboration 3 RC- och RL-nät i tidsplanet. Elektronik för D ETIA01

Elektro och Informationsteknik LTH. Laboration 2 Elektronik för D ETIA01

AD-DA-omvandlare. Mätteknik. Ville Jalkanen. 1

Elektro och Informationsteknik LTH Laboration 4 Tidsplan, frekvensplan och impedanser

Effektpedal för elgitarr

Grundläggande A/D- och D/A-omvandling. 1 Inledning. 2 Digital/analog(D/A)-omvandling

Läsinstruktioner. Materiel

Elektronik. Viktor Öwall, Digital ASIC Group, Dept. of Electroscience, Lund University, Sweden-

Digitalt eller Analogt

Elektro och Informationsteknik LTH. Laboration 2 Elektronik för D ETIA01

Pulsmätare med varningsindikatorer

Elektronik grundkurs Laboration 6: Logikkretsar

Apparater på labbet. UMEÅ UNIVERSITET Tillämpad fysik och elektronik Elektronik/JH. Personalia: Namn: Kurs: Datum:

Digitala kretsars dynamiska egenskaper

D/A- och A/D-omvandlarmodul MOD687-31

Tentamen i Elektronik, ESS010, del 2 den 6 mars 2006 SVAR

Laboration 1: Styrning av lysdioder med en spänning

Enchipsdatorns gränssnitt mot den analoga omvärlden

A/D- och D/A- omvandlare

Analog till Digitalomvandling

Laborationskort - ML4

Elektronik grundkurs Laboration 1 Mätteknik

Elektronik Elektronik 2019

DIGITALA PROJEKT Väderstation

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

Signalbehandling, förstärkare och filter F9, MF1016

ELEKTROTEKNIK. Laboration E701. Apparater för laborationer i elektronik

Laboration 5. Temperaturmätning med analog givare. Tekniska gränssnitt 7,5 p. Förutsättningar: Uppgift: Temperatur:+22 C

Du har följande material: 1 Kopplingsdäck 2 LM339 4 komparatorer i vardera kapsel. ( ELFA art.nr datablad finns )

Analog till Digitalomvandling

Elektronik. Viktor Öwall, Digital ASIC Group, Dept. of Electroscience, Lund University, Sweden-

Experiment med schmittrigger

Laborationshandledning för mätteknik

Styrteknik: Grundläggande logiska funktioner D2:1

Laborationsrapport Elektroteknik grundkurs ET1002 Mätteknik

Analogt och Digital. Viktor Öwall. Elektronik

Laborationshandledning

- Digitala ingångar och framförallt utgångar o elektrisk modell

Konstruktion av volt- och amperemeter med DMMM

VÄXELSTRÖM SPÄNNINGSDELNING

Elektronik Dataomvandlare

Tentamen i Elektronik - ETIA01

4 Laboration 4. Brus och termo-emk

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1

LEU240 Mikrodatorsystem Laboration 2: Ett komplett avbrottsstyrt system med in- och utenheter

Laborationshandledning

Elektronik. Dataomvandlare

Ett urval D/A- och A/D-omvandlare

Laborationshandledning för mätteknik

Undersökning av logiknivåer (V I

Laboration II Elektronik

Elektronik Elektronik 2017

VÄXELSTRÖM SPÄNNINGSDELNING

Elektroteknikens grunder Laboration 3. OP-förstärkare

Styrteknik: Binära tal, talsystem och koder D3:1

AD-/DA-omvandlare. Digitala signaler, Sampling och Sample-Hold

Umeå universitet Tillämpad fysik och elektronik Ville Jalkanen mfl Laboration Tema OP. Analog elektronik för Elkraft 7.

Vad är en UART? Universal Asynchronous Receiver Transmitter parallella seriella parallell åttabitars signal mest signifikant bit

Laboration i digitalteknik Datablad

Support Manual HoistLocatel Electronic Locks

Elektronik. Viktor Öwall, Digital ASIC Group, Dept. of Electroscience, Lund University, Sweden-

Lunds Tekniska Högskola EITF11 Digitala projekt. Bandspelaren

Laboration i digitalteknik Datablad

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

DEL-LINJÄRA DIAGRAM I

TSTE20 Elektronik Lab5 : Enkla förstärkarsteg

A/D D/A omvandling. EEM007 - Mätteknik för F 2015 CHRISTIAN ANTFOLK

Digital elektronik. I Båda fallen gäller förstås att tidsförloppet måste bevaras.

Tentamen i Digitalteknik, EITF65

A/D D/A omvandling. Lars Wallman. Lunds Universitet / LTH / Institutionen för Mätteknik och Industriell Elektroteknik

Analoga och Digitala Signaler. Analogt och Digitalt. Analogt. Digitalt. Analogt få komponenter låg effektförbrukning

Enchipsdatorns gränssnitt mot den analoga omvärlden

Mekanisk solros, Digitala projekt(edi021) Kristoer Nordvall, Stefan Windfeldt, Inlämmnad: 4 december 2006

ETE115 Ellära och elektronik, vt 2013 Laboration 1

Sekvensnät. William Sandqvist

Laborationsrapport. Kurs El- och styrteknik för tekniker ET1015. Lab nr. Laborationens namn Lik- och växelström. Kommentarer. Utförd den.

APPARATER PÅ ELEKTRONIKLABBET

GPIO - General Purpose Input Output

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

A/D D/A omvandling Mätteknik för F

Förstärkning Large Signal Voltage Gain A VOL här uttryckt som 8.0 V/μV. Lägg märke till att förstärkningen är beroende av belastningsresistans.

PROJEKT LJUD. KOPIERINGSUNDERLAG Martin Blom Skavnes, Staffan Melin och Natur & Kultur Programmera i teknik ISBN

"Crash Course in Programming"

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

Operationsfo rsta rkarens parametrar

Växtviskaren EITF11 Digitala projekt VT15, I12

Laboration i digitalteknik Introduktion till digitalteknik

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

Strömförsörjning. Laboration i Elektronik 285. Laboration Produktionsanpassad Elektronik konstruktion

Programmera Avant 5 med PC mjukvara

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

Tenta i Digitalteknik

Digitalteknik: CoolRunner-II CPLD Starter Kit

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Projektrapport i Digitala System

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar

LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012

Transkript:

Elektro och Informationsteknik LTH Laboration 6 A/D- och D/A-omvandling Elektronik för D ETIA01 Peter Hammarberg Anders J Johansson Lund April 2008

Mål Efter laborationen skall du ha studerat följande: hur en konternuerlig, analog signal kan representeras med hjälp av en digital bitström. hur val av bitantal påverkar kvantiseringsnivåerna. betydelsen av rätt val av omvandlingsområde vid AD-omvandling. hur man kan göra en enkel D/A-omvandlare varför utsignalen från (enkel) en D/A omvandlare bör lågpassfiltreras Introduktion I denna laboration kommer ni titta närmare på hur anlog- till digitalomvandling (A/D) samt digital till analogomvandling (D/A) går till. Till er hjälp har ni en 8-bitars seriell A/D-omvandlare, TLC549I, från Texas Instrument. Omvandlaren har en intern klocka på 4-MHz och kan genomföra en omvandlig på 17us. Den har även en extern klockingång vilket gör det möjligt att externt styra hur fort det omvandlade värdet ska klockas ut. Arbetsområdet bestäms m.h.a. referensspänningar som kopplas till två av benen (REF+/REF-). För fler detaljer samt pin-konfiguration se datablad. Förberedelseuppgifter 1: Literaturstudier Läs kapitel 7.2 och 9.3 i kursboken (Hambley) samt föreläsningsanteckningar (PowerPointslides). 2: Räkneuppgifter a. Den A/D-omvandlare som vi använder i laborationen har en upplösning på 8 bitar. Om vi antar att det dynamiska omvandlingsområdet väljs mellan 0-5V, vilken är den minsta spänningsförändring som vi kan vi detektera? b. Om vi nu vill kunna detektera en spänningsförändring på 10mV, hur många bitars upplösning bör vår A/D-omvandlare ha? c. Antag nu att vi enbart har tillgång till en 8 bitars A/D-omvandlare, men fortfarande vill kunna detektera en spänningsförändring på 10mV. Hur stort kan det dynamiska område då vara? 3: Förberedande skiss av labbuppkoppling För att laborationen ska flyta så smidigt som möjligt ska ni i denna förberedelseuppgift skissa hur ledningarna ska kopplas för A/D omvandlaren i uppgift 1. Som stöd finns i Appendix A en bild på BoeBot:ens kopplingsplatta. För in potentiometern och övriga komponenter i bilden/skissen och rita in de ledare som ska dras. Det kan vara en fördel att använda olika färger på ledarna, precis som i labbet. Notera att Vss=0V och Vdd=5V.

Uppgifter Uppgift 1: 8-bitars seriell A/D-omvandling I den första deluppgiften ska ni undersöka hur ett analogt spänningsvärde kan representeras av en seriell datasekvens på 8 bitar. Som nämnts i inledningen har ni tillgång till en 8-bitars A/Domvandlare. Ett schema över hur A/D-omvandelaren ska kopplas visas i figur 1 och i tabell 1 listas BoeBot:ens in- och utgångar. Som signalkälla ska ni använda en potentiometer kopplad mellan Vss och Vdd så att ni lätt kan variera spänningen på ingången till A/D-omvandlaren. Referensspänninarna väljs, precis som för matningsspänningarna, till Vdd samt Vss. Figur 1: Schema för uppkopplingen i uppgift 1. Tabell 1: BoeBot:ens ut-/ingångar: P0-P3 Utgångar för parallell data (P0=LSB, P3=MSB) P5 Ljudutgång P6 Utgång för omstart av A/D-omvandlare P7 Ingång för seriell data från A/D-omvandlare P8 Klockutgång P9 Manuell klockingång från switch

Den seriella sekvensen klockas ut bit för bit m.h.a. en switch. För att komma runt problem med kontaktstuds 1 kopplas utsignalen från switchen till en av ingångarna på BoeBot:en. Kontaktstudsen avlägsnas sedan m.h.a. mjukvara (Se Appendix A för programkod) och en ren puls skickas ut på en av utgångarna som sedan kan kopplas till A/D-omv. klockingång. Den programkod som används finns lagrad i minnet på BoeBot:ens mikroprocessor och väljs genom att reset-knappen trycks ner en gång för uppg. 1, två ggr för uppg. 2 o.s.v. En ljudsignal, skickad till P5, bekräftar vilket val som gjorts. När program 1 startas visas den mest signifikanta biten (MSB) direkt på utgången. Genom att trycka på switchen kan sedan en bit i taget klockas ut. När alla åtta bitar har klockats ut ljuder en signal varpå MSB:n för nästa omvandling hamnar på utgången. Genom att koppla en lysdiod till utgången på A/D-omvandlaren kan värdet lätt avläsas. Det kan även vara bra att ha yterligare en lysdiod som visar klockpulsen från BoeBot:en till A/D-omv. På så vis är man säker på att ett nytt värde lästs ut. Notera att man kan låta de två lysdioderna dela på ett strömbegränsningsmotstånd för att spara plats men att detta leder till en minskad sröm och därmed minskad ljusintensitet. Visa detta med Ohms lag. Använd följande komponentvärden: R d = 1kΩ R pd = 10kΩ R pot = 10kΩ Uppgift 1.1 Välj ut fem olika spänningsnivåer, spridda över hela arbetsområdet, som ni vill omvandla. Räkna ut den förväntade bitsekvensen för var och ett av dessa värden. Ställ sedan in dessa olika nivåer på A/D:ns ingång m.h.a. potentiometern och klocka ut resp. bitsekvens. (Observera att senast omvandlade värde ligger kvar i A/D:ns minne och behöver klockas ut innan nästa, nya, värde visas.) Stämmer det beräknade värdet med det uppmätta? Uppgift 1.2 Koppla nu utgången från switchen direkt till A/D:ns klockingång och prova att klocka fram en bitsekvens. Vad händer och varför? 1 Kontaktstuds uppstår p.g.a. att membranet i switchen studsar mot kontaktytan vliket leder till att ett tryck på kanppen ger upphov till ett antal kortare pulser.

Uppgift 2: 4-bitars parallell A/D-omvandling Ni ska nu titta närmare på hur den binära sekvensen i uppg.1 kan representeras m.h.a en parallell bitström. I detta fall kommer vi titta närmare på fallet när vi har fyra bitar tillgängliga på utgången av vårt system. För att åstadkomma den önskade parallella sekvensen låter vi BoeBot:en klocka in de åtta bitarna till minnet och sedan placeras fyra av dessa på utgångarna P0-P3 (där P3 är MSB). BoeBot:en gör m.a.o. en seriell- till parallellomvandling (S/P-omv.) av bitsekvensen från A/D- omvandlaren. Denna process upprepas varje gång switchen trycks ned. Tryck två ggr på reset-knappen för att starta programmet som gör S/P-omvandligen. I figur 2 visas kopplingsschemat, där vi återigen låter lysdioderna dela på ett strömbegränsningsmotstånd för att spara plats. Notera att ni kan lämna kvar uppkopplingen från föregående uppgift tillsammans med den nya. På så vis kan ni lätt jämgöra de två resultaten. Figur 2: Schema för uppgift 2. Fyra bitars parallell A/D-omvandling Uppgift 2.1 Ta reda på vilka fyra bitar som är placerade på utgångarna P0-P3.

Uppgift 3: 4-bitars D/A-omvandling I denna uppgift ska ni studera en enkel D/A-omvandlare i form av en R-2R-stege. I figur 3 visas kopplingsschemat för A/D samt för D/A-omvandlaren. R-2R-stegen kopplas med fördel upp på en separat kopplingsbräda. Välj R=10kΩ. När program 3 startas styr BoeBot:en A/D-omvandlaren så att insignalen samplas kontinuerligt och de fyra mest signafikanta bitarna placeras på utgångarna P0-P3. Dessa kopplas sedan till de olika ingångarna på D/A-omvandlaren varpå den omvandlade spänningen Vout kan mätas. Insignalen till A/D-omvandlaren skall vara en växelspänning som hämtas från en signalgenerator. Amplituden ställs in så att hela arbetsområdet utnyttjas, vilket innebär att en DC-offset behövs för att signalen under hela perioden skall kunna omvandlas. Börja med att titta på en låg frekvens, 10 Hz. Figur 3: Schema för uppgift 3. Uppgift 3.1 Titta på utsignalen V out med hjälp av ett oscilloskop och jämför den med insignalen till systemet. Beskriv vad du ser. Ungefär vilket samplingsfrekvens har vi? Uppgift 3.2 Kom på ett sätt att göra utsignalen mjukare. (Ledtråd: Tänk filter!) Uppgift 3.3 Ändra frekvensen på insignalen till att vara strax under halva samplingsfrekvensen. Ni bör nu se två signaler med samma frekvens. Öka nu långsamt frekvensen till dubbla samplingsfrekvensen. Jämför in och utsignalen under tiden. Vad händer och varför?

Uppgift 4: Ett 2-bitars optiskt styrsystem I den sista uppgiften ska ni koppla upp ett primitivt digitalt styrsystem till BoeBot:en. Systemet använder sig av en fotoresistor 2 för att känna av ljusintesiteten och beroende på denna utförs olika manövrar. Genom att skugga BoeBot:en mer eller mindre kan man alltså styra dess väg. I figur 4 visas kopplingsschemst för systemet. På ingången till A/D-omvandlaren kopplas en fotoresistor i serie med en potensiometer, som används för att kalibrera spänningen på ingången. Spänningen på ingången kommer därför att variera beroende på fotoresistorns resistans p.g.a. spännigsdelning. Figur 4: Schema för uppgift 4. Signalen på ingången samplas och den binära sekvensen läses av av BoeBot:en. De två mest signifikanta av de åtta bitarna bestämmer sedan vilken manöver som skall utföras. Värdet på de två bitarna visas på utgångarna P3 (MSB) och P2 och i tabell 2 kan ni se vilken manöver som utförs beroende på dess värden. (Notera att de fyra mest signifikanta bitarna visas på P3-P0 men att endast två används för styrning. De övriga två bitarna kan vara användbara vid kalibreringen.) Tabell 2: P3 P2 Manöver 1 1 Sväng höger 1 0 Kör rakt fram 0 1 Sväng vänster 0 0 Stanna 2 En fotoresistor är en komponent som har som egenskap att dess resistans beror på infallande ljus. Vid stark belysning är resistansen låg och i mörker hög.

Uppgift 3.1 Innan styrsysteman kan testas måste det kalibreras m.h.a. potentiometern. Ställ in potentiometers värde så att både P3 och P2 är höga vid normal belysning. Testa sedan att ni kan nå de andra nivåerna i tabell 2 genom att skugga fotoresistorn. Notera att nivån [0 0] kan vara svår att komma ner till och kan därför ses som ett undantag. Ni kan nu prova att styra BoeBot:en. Lycka till!

Appendix A Kopplingsplattan på BoeBot:en med swith, A/D-omvandlare, potentiometer samt högtalare.

Appendix B: '=============================================================== 'File... Lab6_ETIA01_2008.bs2 'Purpose... Code for laboratory work (part 6) in ETIA01, 2008 'Author... Peter Hammarberg, LU 'Started... 2 April 2008 'Uppdated.. ' {$STAMP BS2} ' {$PBASIC 2.5} '================================================================ '------------------[Program Description]------------------------- 'This program is used for generating the I/O signals for 'performing AD conversion using the TLC549I 8-bit serial AD 'converter. 'This program also performs serial to parallel conversion using 'the microprocessor in the BoeBot. 'The program/lab contain four parts ' 'Part 1: 'Clocking the serial bits manually. BoeBot filter out ripples 'from the input of a switch. The output is a single pulse ' 'Part 2: 'Serial to parallel conversion. For each push on a switch 8 bits 'are read from TLC549I. The four most significant bits are given as 'outputs. ' 'Part 3: 'Again, serial to parallel conversion is done, but now the clocking 'is performed by the BoeBot at a rate of about R=80 Bytes/sek ' ' 'Part 4: 'In this part the output of the AD is read by the BoeBot. The voltage 'level at the input of the AD-converter is set by a photo-resistor. 'By changing the light on the photoresistor the BoeBot performs 'different tasks. 'Pin configuration on the BoeBot: 'P0-P3: Parallel output (LSB)-(MSB) 'P5: Sound 'P6: AD reset 'P7: Serial data input 'P8: Clock output 'P9: Manual clock input '------------------[Variable Declaration]---------------------------- bitcounter VAR Word 'Used for counting the 8 bits in Case 1 i VAR Word 'Used for chosing sub-program bit_0 VAR Bit '(LSB) bit_1 VAR Bit bit_2 VAR Bit bit_3 VAR Bit '(MSB) k VAR Word 'loop variable DIRA=15 'Set P0-P3 as outputs '--------------------[EEPROM Data]--------------------------- DATA@576, 0 'Reset counter for sub-program '------------------------------- 'Part 1: 'Clocking the serial bits manually. BoeBot filter out ripples 'from the input of a switch. The output is a single pulse CASE 0 'First case DEBUG "Case 1", CR PULSOUT 6, 10000 DO 'Infinite loop 000 bitcounter = 1 'Bit counter DO WHILE (bitcounter < 8) 'Reading the 8 bits IF (IN9 = 1) THEN 'If button pushed... PULSOUT 8, 10000 'Clock pulse out (1000*2us) PAUSE 500 'Wait 500ms bitcounter = bitcounter + 1 'Increase the counter ENDIF LOOP 000 FREQOUT 5, 500, 3000 PULSOUT 8, 1000 'Clock out one mor bit before reset PULSOUT 6, 10000 'Reset AD LOOP '------------------------------- 'Part 2: 'Serial to parallel conversion. For each push on a switch 8 bits 'are read from TLC549I. The four most significant bits are given as 'outputs. CASE 1 DEBUG "Case 2", CR 00 PULSOUT 6, 100 DO 'Infinite loop IF (IN9 = 1) THEN 'If button pushed... bit_3=in7 'Read 1st bit (MSB) 'Clock next bit bit_2=in7 'Read 2nd bit 'Clock next bit bit_1=in7 'Read 3rd bit 'Clock next bit bit_0=in7 'Read 4th bit (LSB) 'Clock out the remaining bits 0 PULSOUT 6, 100 '==================[Program starts here]================================ READ 576,i WRITE 576,i+1 'Increase with number of "resets" 000 'Wait for pushing reset button WRITE 576,0 'Reset counter/memory before running program SELECT i 'Different sub-programs chosen depending on 'the number of times reset button was pushed ENDIF LOOP OUT0=bit_0 'Set outputs (LSB) OUT1=bit_1 OUT2=bit_2 OUT3=bit_3 '(MSB)

'------------------------------- 'Part 3: 'Again, serial to parallel conversion is done, but now the clocking 'is performed by the BoeBot at a rate of about R=80 Bytes/sek (Parallel output) CASE 2 DEBUG "Case 3",CR 00 00 PULSOUT 6, 100 DO 'Infinite loop bit_3=in7 'Read 1st bit (MSB) 'Clock next bit bit_2=in7 'Read 2nd bit 'Clock next bit bit_1=in7 'Read 3rd bit 'Clock next bit bit_0=in7 'Read 4th bit (LSB) LOOP 'Clock out the remaining bits PULSOUT 6, 100 'Reset AD-converter OUT0=bit_0 'Set outputs (LSB) OUT1=bit_1 OUT2=bit_2 OUT3=bit_3 '(MSB) '------------------------------- 'Part 4: 'In this part the output of the AD is read by the BoeBot. The voltage 'level at the input of the AD-converter is set by a photo-resistor. 'By changing the light on the photoresistor the BoeBot performs 'different tasks. CASE 3 DEBUG "Case 4",CR 00 00 00 PULSOUT 6, 10000 DO DEBUG "START", CR bit_3=in7 'Read 1st bit (MSB) 'Clock next bit bit_2=in7 'Read 2nd bit 'Clock next bit bit_1=in7 'Read 3rd bit LOOP ENDSELECT END 'Clock next bit bit_0=in7 'Read 4th bit (LSB) 'Clock out the remaining bits PULSOUT 6, 100 'Reset AD-converter 'Output to the LEDs for control purposes only OUT0=bit_0 'Set outputs (LSB) OUT1=bit_1 OUT2=bit_2 OUT3=bit_3 '(MSB) IF (bit_3=1) AND (bit_2=1) THEN 'Turn left DEBUG "Turn Left", CR FOR k = 1 TO 5 PULSOUT 13,850 PULSOUT 12,850 PAUSE 20 NEXT ELSEIF (BIT_3=1) AND (bit_2=0) THEN 'Go forward DEBUG "Forward", CR FOR k = 1 TO 5 PULSOUT 13,850 PULSOUT 12,650 PAUSE 20 NEXT ELSEIF (BIT_3=0) AND (bit_2=1) THEN 'Turn right DEBUG "Turn Right", CR FOR k = 1 TO 5 PULSOUT 13,650 PULSOUT 12,650 PAUSE 20 NEXT ELSE 'STOP PAUSE 300 ENDIF