Datorteknik Exempel på stegvis förfining. Signalbehandling med AVR
|
|
- Gustav Isaksson
- för 6 år sedan
- Visningar:
Transkript
1 Datorteknik Exempel på stegvis förfining Signalbehandling med AVR Michael Josefsson Version
2 Innehåll 1 Inledning 3 2 Digitalt filter på ATmega Koppla, löd och provkör delarna 5 4 Få ihop något som funkar 6 5 Förfina 9 6 Bygg på funktionalitet! 14 2
3 1 Inledning Denna text beskriver (på ett ganska löst och översiktligt sätt medges) och diskuterar exempel på en inkrementell konstruktionsstrategi. I detta fall var det osäkert om, eller hur bra, det hela skulle fungera till slut så det var inte möjligt att skriva en initial kravspecifikation. Texten tar fasta på att man lär sig mer om ett problem efter att ha stångats mot det ett tag. Erfarenheten om hårdvaran och problemet bakas sedan under utvecklingen in i konstruktionen: 1 Figur 1.1: All ingenjörsmässig problemlösning handlar om stegvis förfining från en given, än så länge bristfällig, funktion. Texten är skriven i möjligen lite slapp, icke-formell stil. Det är avsiktligt och min förhoppning är att det ger lite inblick i att allt inte är klart genomtänkt från början. Det fanns en idé som jag ville testa, men i övrigt gick det mesta på fritid och ganska lösa boliner. 1 Figuren från 3
4 2 Digitalt filter p a ATmega328 F or att unders oka om det g ar att utf ora digital signalbehandling p a en 8-bitars AVRprocessor vid blott 16 MHz l odde jag ihop ett Arduino-kort med lite enkel kringelektronik. Det handlade om ett ing angssteg med lite f orst arkning, en snabbare digitalomvandlare a n vad ATmega328p har internt, ett efterf oljande l agpassfilter och en audiof orst arkare f or att kunna koppla in h orlurar eller h ogtalare till utsignalen, se figuren nedan. Ljud in Först. Arduino 16 MHz (ATmega328p) D/A LP PA Figur 2.1: Overst visas signalkedjan fr an insignal till h ogtalare. Signalen omvandlas till digitala v arden i den interna A/D-omvandlaren i ATmega328p, behandlas i programvara innan de digitala v ardena p af ors D/A-omvandlare (D/A), l agpassfiltreras (LP) och slutligen f orst arks (PA). Underst visas realiseringen i form av l odda komponenter p a kopparlaminat. Utsignalen ar kraftig nog att h oras (ljudligt!) i en ansluten h ogtalare. 4
5 3 Koppla, löd och provkör delarna Det exakta elektriska schemat är ointressant för oss här. Det viktiga är att beskriva hur uppkopplingen av hårdvara skedde på ett strukturerat sätt, steg för steg med täta prov av funktionerna: I detta fall lödde jag ihop ingångssteget först (längst till höger i figur 2.1) och kontrollerade att att förstärkningen och DC-offset kunde ändras med två potentiometrar som avsett. Förstärkningspotentiometern ersattes slutligen med ett fast motstånd. Sedan monterades Arduinokortet med smältlim och D/A-omvandlaren löddes på plats. Den D/A-omvandlare som används styrs med serieprotokollet SPI så testkod för att skicka ut något på SPI skrevs och att något hände på avsedda utgångar mättes med oscilloskop. Exakt vad som hände brydde jag mig inte om utan räknade kallt med att om rätt saker kom till D/A-omvandlaren skulle något hända på dess utgång. 1 Efter detta kopplades SPI till D/A-omvandlaren. Men en oscilloskopprob på omvandlarens utsignal och en programloop som skickade ut en uppräknad byte från $00 till $FF förväntade jag mig en spänningsramp på oscilloskopet. Efter lite databladsläsning både för processorn och MPC4802 blev det just precis så. Sedan kopplades de rent analoga resterande delarna upp också. Med signalgenerator påfördes efter hand sinusvågor av olika frekvens för att konstatera att LP-filtret fungerade som avsett med en brytfrekvens i storleken några kilohertz och att ljudet hördes i högtalaren. Mot det ritade schemat var enda ändringen att signalen behövde dämpas ordentligt innan volymkontrollen. Lite experimenterande gav att ett 68k motstånd i serie med LP-filtrets utgång blev bra. Lägg märke till detta tillvägagångssätt: Koppla lite, prova att det blev som tänkt, åtgärda eventuellt, koppla lite, prova att det blev som tänkt, åtgärda eventuellt, koppla lite, prova att det blev som tänkt, åtgärda eventuellt, koppla lite, prova att det blev som tänkt, åtgärda eventuellt, koppla lite,... Hela tiden små steg. Vid det här laget visste jag att hela kedjan av hårdvara fungerade som avsett! 1 Detta är ett rätt stort steg och motiveras av erfarenhet. Hade jag var mer noggrann hade jag försökt identifiera att det som hände på SPI-utgångarna verkligen var det som programmet skickade. För att kunna se det på ett oscilloskop skulle programmet behöva skicka exakt samma byte om och om igen. Ingen orimligt steg, men jag hoppade över det den här gången. Väl medveten om att faktiskt behöva göra det (suck!) om det strulade senare. 5
6 4 Få ihop något som funkar Innan några egentliga signalbehandlingsrutiner kunde skrivas behövs ett antal små rutiner för att hantera hårdvaran. Det handlar om att konfigurera in- och utgångar, SPI, AD-omvandlare och interna timers. D/A-omvandlarrutin D/A-omvandlaren är en MCP vilken kräver SPI-kommunikation. Lyckligtvis innehåller ATmega328p hårdvara för SPI så för denna del behövs några I/O-register konfigureras. Som nämnts måste MCP4802:s datablad konsulteras för att reda ut exakt vad som skall skickas till den och ett program måste skrivas för att testa att den är korrekt inkopplad och att vi kan styra den. Det första programmets syfte var att enbart resultera i en subrutin för att skriva till omvandlaren. Efter lite hyfsning nöjde jag mig med nedanstående kod som en fristående subrutin: ; --- DAC MCP48x2 send r16 (0.. FF) ; dac : push r17 swap r16 mov r17, r16 andi r17, $0F ori r17, $10 cbi PORTB,2 ; SS on device low out SPDR, r17 ; send high byte dac1 : in r17, SPSR ; get status sbrs r17, SPIF ; wait jmp dac1 out SPDR, r16 ; send low byte dac2 : in r17, SPSR ; get status sbrs r17, SPIF ; wait jmp dac2 sbi PORTB,2 ; SS on device high pop r17 ret Den uppmärksamma läsaren noterar att några rader återkommer här. Så här tidigt i utvecklingen är jag dock nöjd om det fungerar även om det inte är optimalt. I detta sig
7 4 Få ihop något som funkar nalbehandlingsfall är det väsentligt med snabb kod så jag är inte benägen att onödigtvis slöa ner rutinens körtid. Avbrott Hela samplingsmekanismen är hårdvarustyrd. En intern timer (tmr0) användes för att ge periodiska avbrott med en frekvens av khz / 8 = khz och starta en AD-omvandling. När omvandlingen är klar (efter 13 klockpulser av AD-klockans frekvens) triggas ett adcconversioncomplete-avbrott. Det är i denna avbrottsrutin som det samplade värdet hämtas, eventuellt behandlas och skickas ut till D/A-omvandlaren. För att, enligt rubriken, först få något som funkar ihop, utfördes denna avbrottsrutin på enklaste sätt, det vill sägaden enbart reläade inlästa samplade värden direkt till DAomvandlaren: ; --- ADC conversion complete ; adcconversioncomplete : push r16 lds r16, SREG push r16 lds r16, ADCH ; r16 = call dac ; output channel pop sts pop reti r16 SREG, r16 r16 Notera: Processorn ATmega328p har en del av sina I/O-register på ställen som inte kan nås med in- och out-instruktionerna. Därför används lds och sts som ersättning i denna processor. ATmega16 är väluppfostrad i detta sammanhang så där kan man använda de vanliga I/O-instruktionerna. Nu hade jag något som samplade ljudet från min iphone och skickade ut det. Hädanefter vill jag enbart tillföra förfiningar som inte förstör, efter varje liten ändring laddade jag ner koden till processorn för att konstatera att inget var trasigt Mhz / 256 = 62.5 khz 7
8 4 Få ihop något som funkar En första modifiering var att markera för mig själv var signalbehandlingskoden skulle ligga. Samtidigt ville jag inte frånhända mig möjligheten att återigen kontrollera om hårdvaran fungerade som avsett, så labeln passthru: lades till: ; --- ADC conversion complete ; adcconversioncomplete : push r16 lds r16, SREG push r16 lds r16, ADCH ; r16 = jmp passthru ; ; space for processing code ; passthru : call dac ; output channel pop sts pop reti r16 SREG, r16 r16 Hädanefter kan jag välja att köra signalbehandlingsdelen eller inte genom att kommentera bort raden jmp passthru. Det är överraskande praktiskt att ha sådana kortslutningar av i koden för att snabbt kunna konstatera om hårdvaran fortfarande fungerar. Här var det oftast för att konstatera att sladden mellan ingångssteget och arduinokortet lossnat igen... 8
9 5 Förfina Digital signalbehandling är inte speciellt förlåtande: Man HÖR när något gått snett! Tro mig... Skickar man ut fel byte av misstag, eller om beräkningarna tar för lång tid och avbrottsrutinen avbryter vid fel tid och så vidare, hörs det omedelbart. Så resten av programutveckligen skedde nästan hela tiden med musik i högtalaren som tecken på att senaste versionen av programmet fungerar. Vilket är trevligt på mer än ett sätt. FIR-filter En lämplig förstaövning för att bedöma processorns lämplighet i signalbehandlingssammanhang är att implementera ett FIR-filter. Ett FIR är i princip en medelvärdesbildare av flera samplade invärden. Ett 2-tap FIR-filter leverar för varje nytt inkommet sample medelvärdet av detta och det förra samplet. Här implementerades först ett 5-tap-filter: senaste sample T T T T äldsta sample h0 h1 h2 h3 h4 + utsignal Figur 5.1: Filtrets utsignal beräknas för varje inkommit nytt sample. Om konstanterna h i är lika med 1 genom antalet tap (här 1 5 ) utför FIR-filtret en ren medelvärdesbildning, en sorts lågpassfiltrering. Med fouriertransformering kan koefficienterna beräknas för andra filterfunktioner. Med snabba signalprocessorer är flera hundra tappar möjliga. Samtliga samplevärden är 8-bitars tvåkomplementskodade tal och ligger i en lista i SRAM mellan en startadress $0200 och slutadress $ Buff_Size. Koden för filtret traverserar listan, multiplicerar de lagrade samplevärdena med h 0, h 1,... enligt figuren samt summerar dem i r25:r24. 9
10 5 Förfina Bra program använder pekare. Det ger tidigt en stor flexibilitet och är används pekare från början: XH:HL pekar ut rätt sample i bufferten och ZH:ZL pekar ut korrekt multiplikator ur tabellen fir5tab. Avslutningsvis lagras höga delen av resultatet i SRAM i positionen firout. ; ; --- fir5 5- tap FIR - filter ; ; lastsample (x4 )* h0+ butlast (x3 )* h oldest (x0 )* h4 ; build in r25 : 24. ; store result in firout (8 bit ) fir5 : push r18 push XL clr r24 ; sum = 0 clr r25 ldi ZH, HIGH ( fir5tab *2) ldi ZL, LOW ( fir5tab *2) ldi XL, Buff_ Size ; adress of last ( one beyond lastsample ) fir51 : ld r16, X ; lastsample lpm r18,z+ muls r16, r18 ; r1:r0 add r24,r0 adc r25,r1 dec XL brpl fir51 ; lsl r25 sts firout, r25 pop XL pop r18 ret fir5tab :.db 31,31,31,31,31 Med denna kod genomfördes ett antal tester för att studera filtrets effektivitet men framför allt för att utröna om det är tillräckligt med 8-bitars värden både som samples och konstanter. Och detta hela tiden med hänsyn till tidsåtgång. Prov med 10-bitars sample gav att de extra bitarna inte verkade spela någon roll antingen försvann de i beräkningarna pga avrundningsfel eller så påverkade de ändå inte den 8-bitars D/A-omvandlingen så det bestämdes att hålla kvar 8-bitars sample. Däremot verkade det (och inte helt entydigt här) som att 16-bitars värden var av godo för filterkoefficienterna. Att använda både 10-bitars sample och 16-bitars koefficienter bedömdes ta för lång beräkningstid. 10
11 5 Förfina En modifierad kod för de beslutade 8-bitars sample och 16-bitars konstanter blev till slut: fir5 : push push r18 XL fir51 : clr r22 ; sum = 0 clr r23 clr r24 ldi ZH, HIGH ( firtab *2) ldi ZL, LOW ( firtab *2) ldi XL, Buff_ Size ; adress of last ( one beyond lastsample ) ld r16, X ; lastsample 2 s compl lpm r18,z+ ; r19 : r18 16 bit 2 s compl constant lpm r19,z+ lsl r18 ; extra gain mulsu r16, r18 ; Multiply signed with signed add r22,r0 adc r23,r1 adc r24, zero mul r16, r19 ; Multiply unsigned add r23, r0 ; Add without carry adc r24, zero ; collect carry dec XL brpl fir1 ; lsl r25 sts firout, r23 pop XL pop r18 ret fir5tab :.dw 125,125,125,125,125,125 Där additionen sker löpande i ett 24-bits register som utgörs av r24:r23:r22. Jag är osäker på om r24 någonsin används, det handlar om storleken på fir5tab-värdena, men får stå kvar tills vidare. Bli bekant med problemet Med koden i detta skick utfördes sedan åtskilliga prov med upp till 31 tappars filter enbart för att jag skulle bekanta mig med koden och systemet. Det var lätt att höra vad som verkligen spelade roll och vad som var mindre viktigt. För att inte få för kornigt ljud i högtalaren var det till exempel viktigt att ha så stora variabelvärden som möjligt i alla beräkningar, dock utan att få overflow vid något enstaka 11
12 5 Förfina tillfälle, för då knäpper det obehagligt starkt i högtalaren. Med för små konstanter å andra sidan blir de (konstanterna) alla ungefär lika stora vilket gör dels att alla filter liknar varann och dels att blir utsignalen svag (ibland så svag att den blir 0, det vill säga tysta partier försvinner helt!). fs=62.5/8=7812 Hz Prototype:...0,1, /16=488 Hz F (db) 0 + x 15 tap FIR no window 15 tap FIR triangular window 15 tab FIR fs/4 x+ + x + x BW band pass o o o o o o + I 488 xo x x x + I fs/4 x + x I fs/2 Three Cycle Semi-Log + i i iv v v k 2k I I 5k fs/4 fs/2 f (Hz) Figur 5.2: Uppmätt frekvensgång hos 15-taps FIR-filter med utsignalen normerad till 0 db. Filtret är designat efter ett prototypfilter med så smal bandbredd som möjligt (488 Hz). De faktiska filterkoefficienterna beräknades genom FFT och skalades så att overflow inte uppstod i beräkningarna. Den röda kurvan visar frekvensgången med omodifierade konstanter, den streckade med konstanter viktade med ett triangelfönster. Den blå kurvan är resultatet efter att konstanterna multiplicerats med +1, 0, 1, 0, +1,... vilket enligt teorin skall förflytta hela filtret till samplingsfrekvensen/4, f s /4 Rensa kod och fastställ omgivningarna Under hela denna viktiga experimentperiod ändrades kommentarerna i koden allteftersom så att det alltid betydde rätt sak. Onödiga push/pop togs bort. Överhuvudtaget blev jag efter hand mer och mer bekant med koden och teorin bakom signalbehandlingen. Det känns skönt att teorin bekräftas av experimenten (med undantag för bandpassfiltret ovan. Jag undrar fortfarande om det blev helt rätt?). 12
13 5 Förfina Det kändes efter ett tag jobbigt att ha alla varianter av testade filter: fir5, fir7, fir15 och fir31 i koden varför en enda fir-rutin implementerades. Initialt hade jag felaktigt förutsett att jag skulle behöva nollställa samplebufferten, plocka ut enstaka värden ur densamma och utföra en 16x16 32 bitars multiplikation. De rutiner jag skrivit för detta rensades ut. Annan död kod togs bort och det hela snyggades till så att det blev mer läsbart. Då jag från början var osäker på vilken samplingstakt som var möjlig (egentligen tidsåtgången för beräkningar mellan samplen) provades samplingstakterna f s = 62.5 khz och f s = 62.5/8 = khz. Den senare valdes. Experiment undertogs också med olika hastigheter på ADC-omvandlingens klockfrekvens. Databladet anger 200 khz som högsta frekvens men öppnar även lite diffust för högre frekvenser om försämrad precision kan tillåtas. Det visade sig att 1 MHz fungerar utan hörbar försämring av ljudet. I och med dessa avslutande designbeslut för man betrakta denna första proof of concept - fas som över. Nu finns en grund att bygga vidare på där man vet att den analoga hårdvaran fungerar, kanske inte ner till LSB i D/A-omvandlingen, men tillräckligt bra för att fortsätta utveckla på. Ett korrekt designat mönsterkort ger säkert bättre signaler ifråga om brum och brus och därmed ljudkvalitet. Det blir i vart fall inte sämre. mikrokontrollerns AD-omvandlare och interna timrar fungerar på ett tillfredsställande sätt, SPI likaså. med en samplingsperiod på 1/7812 = 128 µs hinns en hel del beräkningar med. Olika uppmätta ungefärliga tider under projektets gång äro: Macrot. macro bit3 sbi PORTD,3 cbi PORTD,3. endmacro Åtgärd Tidsåtgång µs dac 5 A/D-omvandling 13 FIR 5 tap 9 FIR 7 tap 12 FIR 15 tap 22 FIR 31 tap 42 användes flitigt som skvallersignal för att bestämma dessa tider. Hädanefter handlar allt om att skriva kod! 13
14 6 Bygg på funktionalitet! Bortsett från att implementera filter enligt ovan kan man utföra mycket intressant signalbehandling om insignalen kan delas upp två ortogonala delar, en in-phase- och en out-of-phase-signal. Den senare kallas ofta quadrature-phase varför de brukar förkortas till signalerna I och Q. De kan då ses som vektorer v = I + jq i det komplexa talplanet vilket avsevärt underlättar till exempel studier av signalens faslägen vilket i sig öppnar för avkodning av fasmodulerade signaler. Längden av v, v = I 2 + Q 2, kan beräknas efter kvadrering och rotutdragning eller med cordic 1 -algoritmen. Im Q v I Re Figur 6.1: Insignalen v kan delas upp i I- och Q-komposanter. De rektangulära koordinaterna kan D/A-omvandlas och kopplas till ett xy-kopplat oscilloskop för vidare studium. Den använda omvandlaren MCP4802 har lyckligtvis två utkanaler varför hårdvaran praktiskt taget är förberedd för detta redan. Kvadratursampling Med kvadratursampling menas att sampla med en frekvens som är fyra gånger högre än den önskade bandbredden. Med f s = 7.8 khz kan teoretiskt signaler med frekvensinnehåll upp till f s /4 2 khz behandlas. Metoden är en form av korrelering med en cosinus- och en sinusvåg i de punkter dessa är 0 eller ±1. I praktiken väljer man ut vilka samples som skall adderas (+1), subtraheras ( 1) eller inte ingå (0) i signalerna I och Q. Detta tillvägagångssätt medför att
15 6 Bygg på funktionalitet! dyra multiplikationer inte behöver genomföras. Däremot måste de korrelerade samplen filtreras/medelvärdesbildas innan de används vidare. De båda signalerna I- och Q utgör rektangulära koordinater i det komplexa talplanet. Grafiskt beskrivs kvadratursampling i figuren nedan. * FIR I A/D cos(2pi n/4)= 1, 0, 1, 0,... sin(2pi n/4)= 0, 1, 0, 1,... * FIR Q Figur 6.2: Principschema över kvadratursampling. Samplingen utförs med 4x den önskade bandbredden och respektive kvadratursignal filteras innan de behandlas vidare. Kodmodifieringar Med stegvis förfining som princip måste koden förses med två buffrar (en för I- och en för Q-samplen), två utsignaler (en för vardera filtrerade I- och Q-samplen) och aktivering av den hittills outnyttjade andra D/A-omvandlarkanalen. fir Rutinen modifieras att användas mot valfri buffert. Anropet måste ange mot vilken buffer filtreringen skall ske och vart resultatet skall gå. Här visas koden innan respektive efter de inkrementella förändringarna. Konstanter och minnesupplägg. Före:. equ FIR_ SIZE = 5 ; <-- set this! ; --- dont fiddle below. Automatic dependencies!. equ BUFF_ SIZE = FIR_ SIZE - 1. dseg. org SRAM_ START firout :. byte 1. org $200 Buff :. byte BUFF_ SIZE lastsample :. byte 1 ; last sample from A/ D ; must be at XH: BUFF_ SIZE 15
16 6 Bygg på funktionalitet! Konstanter och minnesupplägg. Efter:. equ FIR_ SIZE = 5 ; <-- set this! ; --- dont fiddle below. Automatic dependencies!. equ BUFF_ SIZE = FIR_ SIZE - 1. dseg. org SRAM_ START OutI :. byte 1 OutQ :. byte 1 ; IN - PHASE buffer. org $200 IBuff :. byte BUFF_ SIZE lastsamplei :. byte 1 ; last sample from A/ D ; must be at XH: BUFF_ SIZE ; QUADRATURE - PHASE buffer. org $300 QBuff :. byte BUFF_ SIZE lastsampleq :. byte 1 ; last sample from A/ D Som synes huvudsakligen en dubblering av buffrar och namngivning av minnesplatser *I och *Q. 16
17 6 Bygg på funktionalitet! Själva filterkoden döptes om till det mer korrekta generiska namnet fir och rensades upp något. För att korta ner framställningen nedan har oväsentlig kod ersatts med :. FIR-filterkod. Före: fir5 : push r18 push XL clr r22 ; sum = 0 clr r23 clr r24 ldi ZH, HIGH ( firtab *2) ldi ZL, LOW ( firtab *2) ldi XL, Buff_ Size ; adress of last ( one beyond lastsample ) fir51 : ld r16, X ; lastsample 2 s compl lpm r18,z+ ; r19 : r18 16 bit 2 s compl constant lpm r19,z+ : brpl fir1 sts firout, r23 pop XL pop r18 ret fir5tab :.dw 125,125,125,125,125 FIR-filterkod. Efter: fir : fir1 : firtab : clr r22 ; sum = 0 clr r23 clr r24 ldi ZH, HIGH ( firtab *2) ldi ZL, LOW ( firtab *2) ldi XL, Buff_ Size ; adress of last ( one beyond lastsample ) ld r16, X ; lastsample 2 s compl lpm r18,z+ ; r19 : r18 16 bit 2 s compl constant lpm r19,z+ : brpl fir1 mov r16, r23 ret.dw 125,125,125,125,125 r16 innehåller nu det beräknade returvärdet. 17
18 6 Bygg på funktionalitet! Anrop av den senare rutinen blir nu någon av nedanstående ; --- filter IN - PHASE sts lastsamplei, r16 ; lastsample contains newest sample ldi XH, HIGH ( IBuff ) ; which buffer to use call fir ; ALWAYS 8- bit result call pushbuff ; push lastsample sts OutI, r16 ; 8 bit ; --- filter QUADRATURE - PHASE sts lastsampleq, r16 ; lastsample contains newest sample ldi XH, HIGH ( QBuff ) ; which buffer to use call fir ; ALWAYS 8- bit result call pushbuff ; push lastsample sts OutQ, r16 ; 8 bit pushbuff är en rutin som skiftar värdena i den utpekade bufferten neråt ett steg och lägger lastsample på buffertens nyaste plats. pushbuff agerar på den buffer XH för tillfället pekar ut. För att komma till dessa anrop och retur av resultatet genomfördes ett antal små steg vilka var för sig inte gjorde koden okörbar: 1. Genomfördes att fir kunde arbeta mot den buffer som angavs (IBuff eller QBuff). 2. Genomfördes att pushbuff kunde arbeta mot den buffer som angavs (IBuff eller QBuff). 3. Genomfördes att lastsamplei användes istället för lastsample. 4. Genomfördes att resultatet lämnades i r16 och sts OutI,r16 lades till efter anropet. 5. Den fungerande IN-PHASE-koden kopierades till QUADRATURE-PHASE-koden. last- SampleI böts mot lastsampleq, samt OutI mot OutQ. 6. De båda kodstyckena provades sedan var för sig för att avslutningsvis konstatera att båda fungerar som avsett. Notera att koden kompilerades och provkördes efter varje punkt ovan. På detta sätt kunde jag vara säker på att koden hela tiden fungerade. Och, viktigast, om den plötsligt inte fungerat skulle det vara lätt att gå tillbaka och ändra till fungerande kod igen; felet uppstod ju i den senaste modifieringen. Felsökningen 2 eliminieras praktiskt taget med denna metod med små ändringar mellan fungerande programversioner. Slutsatsen är att försöka genomföra så försiktiga kodmodifieringar att koden hela tiden är i ett fungerande skick! 2 I betydelsen att man går igenom koden och letar efter möjliga fel. 18
19 6 Bygg på funktionalitet! Vad som menas med försiktiga modifieringar varierar från programmerare till programmerare men behöver inte vara mer än en rad om det känns bekvämast och är möjligt genomförbart. För D/A-omvandlingen behövdes en rutin för omvandlarens kanal A och en för kanal B. Min försiktiga modifiering av dac ovan blev två ingångar, daca och dacb, i huvudsakligen samma rutin: daca : ; --- daca / B MCP48x2 send r16 (0.. FF) swap r16 mov r17, r16 andi r17, $0F ori r17, $10 ; $10 = daca jmp dac0 dacb : swap r16 mov r17, r16 andi r17, $0F ori r17, $90 ; $90 = dacb dac0 : cbi PORTB,2 ; SS on device low out SPDR, r17 ; send high byte dac1 : in r17, SPSR ; get status sbrs r17, SPIF ; wait jmp dac1 out SPDR, r16 ; send low byte dac2 : in r17, SPSR ; get status sbrs r17, SPIF ; wait jmp dac2 sbi PORTB,2 ; SS on device high ret Det kanske går att komprimera denna rutin mer men då på bekostnad av ökad exekveringstid. Den avvägningen lämnas till senare. 19
20 6 Bygg på funktionalitet! Sammanfattning Rubrikerna hittills sammanfattar de olika stegen i en ingenjörsmässig lösningsgång: 1. Bestäm, åtminstone i grova drag, det slutliga systemets funktion. Undvik här att tänka att tänka på hur uppgiften skall lösas, tänk mer på det önskade slutresultatet utseende och funktion. Detta steg kan vara en ensidig skiss eller en mer komplett kravspecifikation. 2. Koppla, löd och provkör delarna. Utan fungerande delsystem kommer det sammansatta kompletta systemet aldrig kunna fungera. Delsystemen måste konstrueras och testas så de utför de önskade funktionerna. 3. Få ihop något som funkar överhuvudtaget. Använd de just konstruerade delsystemen som byggklossar för att bygga ett fungerande system enligt punkt Förfina. Här ägnar man rätt mycket tid att konstatera att funktionen verkligen uppfyller kraven. Med fungerande kod kan man faktorisera, modifiera och förbättra funktionen. Ofta utan att funktionen någon gång upphör! Modifiera koden för generalitet och stabilitet. 5. Bygg på funktionalitet. Med det fungerande och stabila systemet som grundplåt kan man nu stegvis bygga vidare för utökad funktionalitet. Alla stegen 1 4 ovan sker i försiktiga och små steg. Något som kanske inte framkommit tydligt är vikten av att kunna mäta resultat ofta, ofta. Efter varje liten kodförändring mättes resultat upp. I detta fall testades också koden kontinuerligt i och med att ljud hela tiden spelades upp i högtalaren. För övrigt användes oscilloskopet precis hela tiden, det startades vid varje arbetspass och användes till passets slut. 20
A-del motsvarande KS1
MÄLARDALENS HÖGSKOLA Institutionen för elektroteknik Tentamen Mikrodatorteknik CT3760 Datum 2005-10-28 Tid 08.30 12.30 Svar till A- och B-del A-del motsvarande KS1 Uppgift A1. Vad blir resultatet då instruktionen
Effektpedal för elgitarr
EITF11 - Digitala Projekt Effektpedal för elgitarr Handledare: Bertil Lindvall Ivan Rimac (I05) Jimmy Lundberg (I08) 2011-05-10 Contents Bakgrund... 3 Kravspecifikation... 3 Kravspecifikation Effektpedal...
Laboration 5. Temperaturmätning med analog givare. Tekniska gränssnitt 7,5 p. Förutsättningar: Uppgift: Temperatur:+22 C
Namn: Laborationen godkänd: Tekniska gränssnitt 7,5 p Vt 2014 Laboration 5 LTH Ingenjörshögskolan vid Campus Helsingborg Temperaturmätning med analog givare. Syftet med laborationen är att studera analog
Elektronik. Viktor Öwall, Digital ASIC Group, Dept. of Electroscience, Lund University, Sweden-
Analogt och Digital Bertil Larsson Viktor Öwall Analoga och Digitala Signaler Analogt Digitalt 001100101010100000111110000100101010001011100010001000100 t Analogt kontra Digitalt Analogt få komponenter
Datorteknik Hyfsa kod
Datorteknik Hyfsa kod Michael Josefsson Version 0.2 2018 Denna text beskriver hur man kan hyfsa kod till att bli både bättre, mer lättläst och mindre. Som exempel används en del av den kod som behövs för
AD-/DA-omvandlare. Digitala signaler, Sampling och Sample-Hold
AD-/DA-omvandlare Digitala signaler, Sampling och Sample-Hold Analoga och Digitala Signaler Analogt Digitalt 001100101010100000111110000100101010001011100010001000100 t Analogt - Digitalt Analogt få komponenter
Enchipsdatorns gränssnitt mot den analoga omvärlden
Agenda Enchipsdatorns gränssnitt mot den analoga omvärlden Erik Larsson Analog/Digital (AD) omvandling Digital/Analog (DA) omvandling Sampling, upplösning och noggrannhet Laborationsuppgift.5 Motivation.5.5
TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1
Halmstad University School of Information Science, Computer and Electrical Engineering Tomas Nordström, CC-lab TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Datum: 2012-05- 23 Tid och plats: 9:00 13:00 i
Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte
CT3760 Mikrodatorteknik Föreläsning 4 Tisdag 2005-09-06 Stacken I datasammmanhang är en stack ett minnesområde. Det är processorn som använder stacken. För att skapa en stack anger man en adress i stackpekarregistret.
Lösningar till tentamen i EIT070 Datorteknik
Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Torsdagen den 13 mars 2014, klockan 14:00 19:00 i MA:10. Tillåtna hjälpmedel: på tentan utdelad formelsamling,
Enchipsdatorns gränssnitt mot den analoga omvärlden
Enchipsdatorns gränssnitt mot den analoga omvärlden Erik Larsson Analog/Digital (A/D) och Digital/Analog (D/A) omvandling AD omvandling DA omvandling Motivation - -.2.4.6.8 -.2.4.6.8 - -.2.4.6.8 Analog/Digital
A/D D/A omvandling. Lars Wallman. Lunds Universitet / LTH / Institutionen för Mätteknik och Industriell Elektroteknik
A/D D/A omvandling Lars Wallman Innehåll Repetition binära tal Operationsförstärkare Principer för A/D omvandling Parallellomvandlare (Flash) Integrerande (Integrating Dual Slope) Deltapulsmodulation (Delta
CE_O3. Nios II. Inför lab nios2time
IS1200 Exempelsamling till övning CE_O3, 2015 CE_O3. Nios II. Inför lab nios2time 3.1. Logiska operationer (se uppgift 1.2 c) Repetera (eller lär dig) innebörden av de logiska operationerna "bitvis AND",
Resttentamen i Signaler och System Måndagen den 11.januari 2010, kl 14-19
Resttentamen i Signaler och System Måndagen den 11.januari 2010, kl 14-19 Tillåtna hjälpmedel: Valfri miniräknare (utan möjlighet till trådlös kommunkation). Valfri litteratur, inkl. kursböcker, formelsamlingar.
Elektronik. Dataomvandlare
Elektronik Dataomvandlare Johan Wernehag Institutionen för elektro- och informationsteknik Lunds universitet 2 Översikt Analoga och digitala signaler Nyquistteorem Kvantiseringsfel i analog-till-digital
Tentamen i Signaler och kommunikation, ETT080
Inst. för informationsteknologi Tentamen i Signaler och kommunikation, ETT080 2 juni 2006, kl 14 19 Skriv namn och årskurs på alla papper. Börja en ny lösning på ett nytt papper. Använd bara en sida av
Elektronik Dataomvandlare
Elektronik Översikt Analoga och digitala signaler Dataomvandlare Pietro Andreani Institutionen för elektro- och informationsteknik Lunds universitet Nyquistteorem Kvantiseringsfel i analog-till-digital
DIGITALA FILTER DIGITALA FILTER. Tillämpad Fysik Och Elektronik 1
DIGITALA FILTER TILLÄMPAD FYIK OCH ELEKTRONIK, UMEÅ UNIVERITET 1 DIGITALA FILTER Digitala filter förekommer t.ex.: I Photoshop och andra PC-programvaror som filtrerar. I apparater med signalprocessorer,
DIGITALA FILTER. Tillämpad Fysik Och Elektronik 1. Frekvensfunktioner FREKVENSSVAR FÖR ETT TIDSDISKRET SYSTEM. x(n)= Asin(Ωn)
DIGITALA FILTER TILLÄMPAD FYSIK OCH ELEKTRONIK, UMEÅ UNIVERSITET 1 Frekvensfunktioner x(n)= Asin(Ωn) y(n) H(z) TILLÄMPAD FYSIK OCH ELEKTRONIK, UMEÅ UNIVERSITET 2 FREKVENSSVAR FÖR ETT TIDSDISKRET SYSTEM
Ett urval D/A- och A/D-omvandlare
Ett urval D/A- och A/D-omvandlare Om man vill ansluta en mikrodator (eller annan digital krets) till sensorer och givare så är det inga problem så länge givarna själva är digitala. Strömbrytare, reläer
Analogt och Digital. Viktor Öwall. Elektronik
Analogt och Digital Viktor Öwall Analoga och Digitala Signaler Analogt Digitalt 001100101010100000111110000100101010001011100010001000100 t Analogt kontra Digitalt Analogt få komponenter låg effektförbrukning
Granska befintlig kod och kommentarer Testa loopbackfunktionen
Lab 5 I denna laboration ska ni testa på hårdvarunära programmering och realtidsprocessning av ljud. Till er hjälp har ni ett enkelt shield till Arduino. Ett shield är som ett skal som man trycker på Arduino
Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet...
Abstract Syftet var att konstruera en väder station som håller koll på temperaturen. Huvudfunktionen var att få en grafisk visning av temperaturen över ett visst tidsintervall eftersom vi valde den grafiska
Datorteknik TSIU02 Lab 4 Spel v0.3
Datorteknik TSIU02 Lab 4 Spel v0.3 Inledning din mark or tr affar m alet. Som spelplan anv ands en lysdiodmatris om 5x7 tecken. M alet markeras med en t and lysdiod och din mark or med en annan lysdiod.
Analoga och Digitala Signaler. Analogt och Digitalt. Analogt. Digitalt. Analogt få komponenter låg effektförbrukning
Analoga och Digitala Signaler Analogt och Digitalt Analogt 00000000000000000000000000000000000 t Digitalt Analogt kontra Digitalt Analogt å komponenter låg eektörbrukning verkliga signaler Digitalt Hög
Tentamen i Elektronik, ESS010, del 2 den 6 mars 2006 SVAR
Tekniska Högskolan i Lund Institutionen för Elektrovetenskap Tentamen i Elektronik, ESS010, del 2 den 6 mars 2006 SVAR 1 Bandbredd anger maximal frekvens som oscilloskopet kan visa. Signaler nära denna
Elektronik Elektronik 2019
2019 Analogt Digital Erik Lind Viktor Öwall Bertil Larsson 2019 Analogt Digital Hur kommunicerar digitala system (0101010) med analoga signaler v o t? Komplicerat! Kräver kunskap om signalbehandling, analog
Lösningar till tentamen i EIT070 Datorteknik
Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 13 mars 2013, klockan 14:00 19:00 i Vic 2 A-D, 3 A-C. Tillåtna hjälpmedel: på tentan utdelad
Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704
Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704 Svar Svar till uppgifterna lämnas på separat papper. En poäng per uppgift. Max 30 poäng. Bonuspoäng beräknas enligt följande tabell: 6-10 poäng
General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18
F3 Föreläsning i Mikrodatorteknink 2006-08-29 Kärnan i microcontrollern består av ett antal register och en ALU. Till detta kommer också ett antal portar. Det finns 64 st portar. Några är anslutna mot
Ansvarig lärare: Olof Andersson, Telefon 021-101314 (besöker skrivsalen)
MÄLRLENS HÖGSKOL Institutionen för elektroteknik Tentamen Mikrodatorteknik T3760 atum 2005-10-28 Tid 08.30 12.30 nsvarig lärare: Olof ndersson, Telefon 021-101314 (besöker skrivsalen) Om du klarat samtliga
Digitala projekt rapport
Digitala projekt rapport Alexander Westrup, d04aw@student.lth.se Martin Sandgren, d04ms@student.lth.se 4 december 2007 Innehåll 1 Abstract 1 2 Inledning 1 3 Arbetsgång 1 4 Hårdvara 1 4.1 Processor...............................
D/A- och A/D-omvandlarmodul MOD687-31
D/A- och A/D-omvandlarmodul MOD687-31 Allmänt Modulen är helt självförsörjande, det enda du behöver för att komma igång är en 9VAC väggtransformator som du kopplar till jacket J2. När du så småningom vill
LEU240 Mikrodatorsystem Laboration 2: Ett komplett avbrottsstyrt system med in- och utenheter
Institutionen för data- och informationsteknik 2011-11-07 : Ett komplett avbrottsstyrt system med in- och utenheter Inledning Vid resten av kursens labtillfällen så kommer vi att steg för steg bygga upp
Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion.
F5 Föreläsning i Mikrodatorteknink 2006-09-05 Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion. Programräknaren
Elektronik Dataomvandlare
Elektronik Översikt Analoga och digitala signaler Dataomvandlare Pietro Andreani Institutionen för elektro- och informationsteknik Lunds universitet Nyquistteorem Kvantiseringsfel i analog-till-digital
TEMPERATUR OCH VINDMÄTARE MED HÖGTALARFUNKTION
TEMPERATUR OCH VINDMÄTARE MED HÖGTALARFUNKTION Digitala Projekt EITF 11, 18 maj 2015 Grupp 13; Morten Rosén, Henrik Boris-Möller, Christoffer Nordberg Projekthandledare: Bertil Lindvall Innehållsförteckning
Analog till Digitalomvandling
CT3760 Mikrodatorteknik Föreläsning 8 Tisdag 2006-09-21 Analog till Digitalomvandling Vi börjar med det omvända. Digital insignal och analog utsignal. Digital in MSB D/A Analog ut LSB Om man har n bitar
Analog till Digitalomvandling
CT3760 Mikrodatorteknik Föreläsning 8 Tisdag 2005-09-20 Analog till Digitalomvandling Om man har n bitar kan man uttrycka 2 n möjligheter. Det största nummeriska värdet är M = 2 n -1 För tre bitar blir
Laboration 1: Aktiva Filter ( tid: ca 4 tim)
091129/Thomas Munther IDE-sektionen/Högskolan Halmstad Uppgift 1) Laboration 1: Aktiva Filter ( tid: ca 4 tim) Vi skall använda en krets UAF42AP. Det är är ett universellt aktivt filter som kan konfigureras
Elektronik Elektronik 2017
Analogt Digital Erik Lind Viktor Öwall Bertil Larsson AD/DA Laboration flyttad 1 Februari -> 9 Februari 3 Februari -> 16 Februari 7 Februari Labförberedelser i handledningen (nästa vecka) Dugga! Analoga
RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk
RemoteBud Inlämnas: 2005-02-01 Patrik Johnsson, e01pjo Viktor Karlsson, e01vk Abstract Skulle du också vilja styra dina lampor och rulla ner dina persienner med hjälp av din TV-fjärrkontroll? Remotebud
Elektronik. Viktor Öwall, Digital ASIC Group, Dept. of Electroscience, Lund University, Sweden-
Analogt och Digital Bertil Larsson Viktor Öwall Analoga och Digitala Signaler Analogt Digitalt 001100101010100000111110000100101010001011100010001000100 t Analogt kontra Digitalt Analogt få komponenter
PROJEKT LJUD. KOPIERINGSUNDERLAG Martin Blom Skavnes, Staffan Melin och Natur & Kultur Programmera i teknik ISBN
PROJEKT LJUD PROJEKT LJUD s 1 I det här projektet ska du koppla en krets som innehåller en högtalare och skriva ett program som får högtalaren att spela toner och melodier. Materiel Arduino dator kopplingsdäck
Faltningsreverb i realtidsimplementering
Faltningsreverb i realtidsimplementering SMS45 Lp1 26 DSP-system i praktiken Jörgen Anderton - jorand-3@student.ltu.se Henrik Wikner - henwik-1@student.ltu.se Introduktion Digitala reverb kan delas upp
AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser
Namn: Laborationen godkänd: Digitala system 15 hp AVR 3 - datorteknik LTH Ingenjörshögskolan vid Campus Helsingborg Avbrott. Syften med den här laborationen är att introducera avbrott. Avbrott som uppkommer
Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00.
Mikrodatorteknik Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3 7,5 högskolepoäng Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00 Hjälpmedel: Totalt antal poäng på tentamen:
Enchipsdatorer med tillämpningar LABORATION 7, ROBOT
Enchipsdatorer med tillämpningar LABORATION 7, ROBOT Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-05-14 Laboranter: 1 Syfte Denna laboration syftar till att introducera interrupt och watchdog
Apparater på labbet. UMEÅ UNIVERSITET 2004-04-06 Tillämpad fysik och elektronik Elektronik/JH. Personalia: Namn: Kurs: Datum:
UMEÅ UNIVERSITET 2004-04-06 Tillämpad fysik och elektronik Elektronik/JH Apparater på labbet Personalia: Namn: Kurs: Datum: Återlämnad (ej godkänd): Rättningsdatum Kommentarer Godkänd: Rättningsdatum Signatur
Elektronik. Viktor Öwall, Digital ASIC Group, Dept. of Electroscience, Lund University, Sweden-
Analogt och Digital Viktor Öwall Analoga och Digitala Signaler Analogt Digitalt 001100101010100000111110000100101010001011100010001000100 t Analogt kontra Digitalt Analogt få komponenter låg effektförbrukning
AD-DA-omvandlare. Mätteknik. Ville Jalkanen. ville.jalkanen@tfe.umu.se 1
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/
- Digitala ingångar och framförallt utgångar o elektrisk modell
Elektroteknik för MF1016. Föreläsning 8 Mikrokontrollern ansluts till omvärden. - Analoga ingångar, A/D-omvandlare o upplösningen och dess betydelse. o Potentiometer som gasreglage eller volymratt. o Förstärkning
2 Laborationsutrustning
Institutionen för data- och elektroteknik 2002-02-11 1 Inledning Denna laboration syftar till att illustrera ett antal grundbegrepp inom digital signalbehandling samt att närmare studera frekvensanalys
Systemkonstruktion LABORATION REALTIDSPROGRAMMERING
Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Laborationsansvariga: Anders Arvidsson, Björn Lundblad Utskriftsdatum: 2002-10-31 Laboranter: 1 Syfte Denna laboration syftar till att öva användningen
Elektro och Informationsteknik LTH. Laboration 6 A/D- och D/A-omvandling. Elektronik för D ETIA01
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:
Op-förstärkarens grundkopplingar. Del 2, växelspänningsförstärkning.
Op-förstärkarens grundkopplingar. Del 2, växelspänningsförstärkning. I del 1 bekantade vi oss med op-förstärkaren som likspänningsförstärkare. För att kunna arbeta med op-förstärkaren vill vi kunna mäta
Att fånga den akustiska energin
Att fånga den akustiska energin När vi nu har en viss förståelse av vad ljud egentligen är kan vi börja sätta oss in i hur det kan fångas upp och efterhand lagras. När en ljudvåg sprider sig är det inte
Övning2 Datorteknik, HH vt12 - Programmering
Övning2 Datorteknik, HH vt12 - Programmering För denna övning behöver man adresskarta och beskrivning av laborationsplattform. Finns bland föreläsningsanteckning samt i bilaga l till Lab l. Använd även
TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor. Maxpoäng:
TENTAMEN D1/E1/Mek1/Ö1 1400-1800 Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor Maxpoäng: Betyg 3 Betyg 4 Betyg 5 60p 24p 36p 48p Frågor under tentamen: Börje Delistrand tel. +46702986358 Bilaga
PROJEKT STAFFAN STALLEDRÄNG
PROJEKT STAFFAN STALLEDRÄNG PROJEKT STAFFAN STALLEDRÄNG s 1 I det här projektet ska du koppla en krets som innehåller en högtalare och en lysdiod, samt skriva ett program som får högtalaren att spela en
Digitalt eller Analogt
Digitalt eller Analogt digitalt: q 0 255 q 7 q 6 q 5 q 4 q 3 q 2 q 1 q 0 1 ½ ¼ 1/8 1/16 1/32 1/64 1/128 eller analogt? q Digital style Old school Digital Analogomvandlare? b 7 b 6 b 5 b 4 b 3 b 2 b 1 b
Elektronik. Viktor Öwall, Digital ASIC Group, Dept. of Electroscience, Lund University, Sweden-
Analogt och Digital Viktor Öwall Bertil Larsson Analoga och Digitala Signaler Analogt Digitalt 001100101010100000111110000100101010001011100010001000100 t Analogt kontra Digitalt Analogt få komponenter
Digitala Projekt (EITF11)
Digitala Projekt (EITF11) Temperaturgivare med larm Handledare: Bertil Lindvall 2014-05-20 Erik Hellered, I-11 Andreas Sjöblom, I-11 Philip Dahlström, I-11 Table of Contents Inledning... 1 Kravspecifikation...
Grundläggande A/D- och D/A-omvandling. 1 Inledning. 2 Digital/analog(D/A)-omvandling
Grundläggande A/D- och D/A-omvandling. 1 Inledning Datorer nns nu i varje sammanhang. Men eftersom vår värld är analog, behöver vi något sätt att omvandla t.ex. mätvärden till digital form, för att datorn
A/D- och D/A- omvandlare
A/D- och D/A- omvandlare Jan Carlsson 1 Inledning Om vi tänker oss att vi skall reglera en process så ställer vi in ett börvärde, det är det värde som man vill processen skall åstadkomma. Sedan har vi
Digital- och datorteknik, , Per Larsson-Edefors Sida 1
Digitala it elektroniksystem t Professor Per Larsson-Edefors perla@chalmers.se Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 1 Introduktion Konstruktionsalternativ Kretskort med diskreta standardkomponenter.
IKUSI STG Produktöversikt
Produktöversikt Följande moduler finns att tillgå i STG serien: Typ Benämning Art. nr. BAS-120 Basplatta 715201 COF-120 Skåp 715202 SPI-300 Programmeringsenhet 709009 STG-200 Nätdel/kontrollenhet 715200
Analogt och Digital. Viktor Öwall Bertil Larsson
Analogt och Digital Viktor Öwall Bertil Larsson Analoga och Digitala Signaler Analogt Digitalt 001100101010100000111110000100101010001011100010001000100 t Analogt kontra Digitalt Analogt få komponenter
Tentamen i Elektronik - ETIA01
Tentamen i Elektronik - ETIA01 Institutionen för elektro- och informationsteknik LTH, Lund University 2015-10-21 8.00-13.00 Uppgifterna i tentamen ger totalt 60 poäng. Uppgifterna är inte ordnade på något
Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia
Konstruktion av en radiostyrd legobil Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia 1 1.Innehållsförtäckning Rapport Radiostyrd LEGO bil...1 1. Innehållsförtäckning...2 2.0 Inledning...3
Elektro och Informationsteknik LTH Laboration 4 Tidsplan, frekvensplan och impedanser
Elektro och Informationsteknik LTH Laboration 4 Tidsplan, frekvensplan och impedanser Elektronik för D ETIA01 Andrés Alayon Glasunov Palmi Thor Thorbergsson Anders J Johansson Lund Mars 2009 Laboration
Laboration i tidsdiskreta system
Laboration i tidsdiskreta system A. Tips Användbara MATLAB-funktioner: conv Faltning square Skapa en fyrkantvåg wavread Läs in en ljudfil soundsc Spela upp ett ljud ones Skapa en vektor med godtyckligt
Kanalprocessor Ref: 5179
Kanalprocessor Ref: 5179 Svensk...2 15 DigiSmart 5179 måste programmeras med PCT-4.0 VHF/UHF Innehåll Kanalprocessor...2 T-05 serien...3 Montering...3 Anslutningar...4 Handprogrammerare...5 Programmering...
Tenta i Digitalteknik
Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2010-08-27 Skrivtid 9.00-14.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Per Lindgren Tel 070 376 8150 Tillåtna
Spänningsstyrd Oscillator
Spänningsstyrd Oscillator Referat I det här projektet byggs en delkrets till frekvensneddelare för oscilloskop som inte har tillräcklig bandbredd för dagens höga frekvenser. Kretsen som byggs är en spänningsstyrd
Läsinstruktioner. Materiel
Läsinstruktioner Häftet om AD- och DA-omvandlare skrivet av Bertil Larsson Appendix till denna laborationshandledning. Läs igenom resten av handledningen så att ni vet vilka uppgifter som kommer. Gör förberedelseuppgifter
Signalbehandling, förstärkare och filter F9, MF1016
Signalbehandling, förstärkare och filter F9, MF1016 Signalbehandling, inledning Förstärkning o Varför förstärkning. o Modell för en förstärkare. Inresistans och utresistans o Modell för operationsförstärkaren
DIGITALA PROJEKT Väderstation
DIGITALA PROJEKT Väderstation Christian Lindquist, E03 Leonardo Bello, E03 Abstract Almost everybody has some kind of temperature measurement device in their home. The latest in this industry are more
Spektrala Transformer
Spektrala Transformer Tidsdiskreta signaler, kvantisering & sampling Tidsdiskreta signaler Tidskontinuerlig signal Ex: x(t) = sin(ωt) t är ett reellt tal ω har enheten rad/s Tidsdiskret signal Ex: x(n)
Temperaturmätare med lagringsfunktion DIGITALA PROJEKT EITF11 GRUPP 14, ERIK ENFORS, LUDWIG ROSENDAL, CARL MIKAEL WIDMAN
2016 Temperaturmätare med lagringsfunktion DIGITALA PROJEKT EITF11 GRUPP 14, ERIK ENFORS, LUDWIG ROSENDAL, CARL MIKAEL WIDMAN Innehållsförteckning INLEDNING... 3 KRAVSPECIFIKATION AV PROTOTYP... 3 FUNKTIONELLA
DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar
UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Håkan Joëlson, John Berge 203 DIGITALTEKNIK I Laboration DE2 Sekvensnät och sekvenskretsar Namn... Personnummer... Epost-adress... Datum för
Kompletterande räkneuppgifter i Spektrala Transformer Komplex analys, sampling, kvantisering, serier och filter Laura Enflo & Giampiero Salvi
Kompletterande räkneuppgifter i Spektrala Transformer Komplex analys, sampling, kvantisering, serier och filter & Giampiero Salvi Komplex analys Om man endast använder den reella tallinjen är det inte
Spektrala Transformer
Spektrala Transformer Tidsdiskreta signaler, kvantisering & sampling Tidsdiskreta signaler Tidskontinuerlig signal Ex: x(t) = sin(ωt) t är ett reellt tal ω har enheten rad/s Tidsdiskret signal Ex: x(n)
Grundläggande signalbehandling
Beskrivning av en enkel signal Sinussignal (Alla andra typer av signaler och ljud kan skapas genom att sätta samman sinussignaler med olika frekvens, Amplitud och fasvridning) Periodtid T y t U Amplitud
Växtviskaren EITF11 Digitala projekt VT15, I12
Växtviskaren EITF11DigitalaprojektVT15,I12 NathalieLiljebrunn,EbbaRiismark,AnnaNorelius LundsTekniskaHögskola Institutionenförelektro ochinformationsteknik Handledare:BertilLindvall,AndreasJohansson 2015
Umeå universitet Tillämpad fysik och elektronik Ville Jalkanen mfl Laboration Tema OP. Analog elektronik för Elkraft 7.
Laboration Tema OP Analog elektronik för Elkraft 7.5 hp 1 Applikationer med operationsförstärkare Operationsförstärkaren är ett byggblock för analoga konstruktörer. Den går att använda för att förstärka
Mekanisk solros, Digitala projekt(edi021) Kristoer Nordvall, Stefan Windfeldt, Inlämmnad: 4 december 2006
Mekanisk solros, Digitala projekt(edi021) Kristoer Nordvall, d03kn@student.lth.se Stefan Windfeldt, d03sw@student.lth.se Inlämmnad: 4 december 2006 Innehåll 1 Problembeskrivning 3 2 Teknisk beskrivning
Antennförstärkare för UHF-bandet
Antennförstärkare för UHF-bandet Radioprojekt 2004 Elektrovetenskap, LTH Mats Rosborn Henrik Kinzel 27 Februari Referat Den här rapporten beskriver arbetet med konstruktion och utvärdering av en fungerande
'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ
'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ / VQLQJDURFKNRPPHQWDUHU Program: Elektroteknik, mikrodatorsystem Datum: 99-11-02 Tid: 8:00-9:30 Lokal E448 Hjälpmedel: Bilagor: Examinator: Miniräknare, linjal Datablad för
Frekvensplanet och Bode-diagram. Frekvensanalys
Frekvensplanet och Bode-diagram Frekvensanalys Signaler Allt inom elektronik går ut på att manipulera signaler genom signalbehandling (Signal Processing). Analog signalbehandling Kretsteori: Nod-analys,
Datorteknik TSIU02 Lab 2 Morsesändare v0.7
Inledning För att skriva program i något programspråk förenklar det att ha ett strukturerat angreppssätt. I assembler får man strukturen genom omsorgsfull användning av subrutiner. Som exempel på en mer
Elektronik grundkurs Laboration 6: Logikkretsar
Elektronik grundkurs Laboration 6: Logikkretsar Förberedelseuppgifter: 1. Förklara vad som menas med logiskt sving. 2. Förklara vad som menas med störmarginal. 3. Förklara vad som menas med stegfördröjning.
Komponentlista och enkel byggbeskrivning för LTS MM-RIAA
Komponentlista och enkel byggbeskrivning för LTS MM-RIAA Komponenter som finns angivna på mönsterkortet. Beteckning Värde/namn Elfa bestnr R1,R2 75 kω 60-744-21 R3-R6 22 Ω 60-703-61 R7,R8 100 kω 60-745-61
Elektronik 2018 EITA35
Elektronik 218 EITA35 Föreläsning 1 Filter Lågpassfilter Högpassfilter (Allpassfilter) Bodediagram Hambley 296-32 218-1-2 Föreläsning 1, Elektronik 218 1 Laboration 2 Förberedelseuppgifter! (Ingen anmälan
Tentamen i Digitalteknik, EITF65
Elektro- och informationsteknik Tentamen i Digitalteknik, EITF65 3 januari 2018, kl. 14-19 Skriv anonymkod och identifierare, eller personnummer, på alla papper. Börja en ny uppgift på ett nytt papper.
PlantPuppy Räddaren för den som inte kan hålla växterna vid liv
Lunds Tekniska Högskola Elektro- och informationsteknik Digitala Projekt PlantPuppy Räddaren för den som inte kan hålla växterna vid liv Gerda Sidwall Thygesen Sofia Sundbom Zoë Wyon ine14gth@student.lu.se
Nätverkskopplat djävulskap Digitala projekt 2011 EITF40. Erik Lundh E06
Nätverkskopplat djävulskap Digitala projekt 2011 EITF40 Erik Lundh E06 Projektbeskrivning: Målet med projektet är att designa och konstruera en apparat som är avsedd att ersätta en tidigare apparatur,
Det finns en handledning till kortet på hemsidan. AVR STK500.
Laboration 1 (ver 1) Uppgifter: AVR Studio 4.lnk Bli bekant med utvecklingskortet, och AVR studio. Skriva in program för binärräknare. Simulera detta samt ladda ner det till kortet. Förse ovanstående program
Systemkonstruktion SERIEKOMMUNIKATION
Systemkonstruktion SERIEKOMMUNIKATION Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-04-26 Syfte Laborationen syftar till att ge studenten tillfälle att närmare bekanta sig med RS-232-protokollet,
DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...
UMEÅ UNIVERSITET Tillämpad fysik och elektronik 2014 John Berge et al. DIGITAL ELEKTRONIK Laboration DE3 VHDL 1 Namn... Personnummer... Epost-adress... Datum för inlämning... Introduktion Syftet med denna