Projektrapport Datatekniskt Projekt - DAT290

Relevanta dokument
Projektrapport Datatekniskt Projekt - DAT290

Projektspecikation DAT290 Datatekniskt Projekt - Grupp 8

TEMPERATUR OCH VINDMÄTARE MED HÖGTALARFUNKTION

DIGITALA PROJEKT Väderstation

Digitala projekt rapport

Effektpedal för elgitarr

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

Temperaturmätare med lagringsfunktion DIGITALA PROJEKT EITF11 GRUPP 14, ERIK ENFORS, LUDWIG ROSENDAL, CARL MIKAEL WIDMAN

LARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall

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

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

Digital Projekt EDI 021 Konstruktion av talande nummerpresentatör VT1 2004

RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk

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

Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet...

Pulsmätare med varningsindikatorer

Laboration 1: Styrning av lysdioder med en spänning

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

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

Innehåll. 1 Inledning 3

Projektrapport i Digitala System

Rapport Digitala Projekt EITF11 Grupp 4 Axel Sundberg, Jakob Wennerström Gille Handledare: Bertil Lindvall

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

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

Digitalteknik: CoolRunner-II CPLD Starter Kit

Projekt EITA15. Väckarklocka. LTH Ingenjörshögskolan vid Campus Helsingborg Datateknik

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: (OS)

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

PlantPuppy Räddaren för den som inte kan hålla växterna vid liv

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

TETRIS. LTH, Campus Helsingborg EITA15 Digitala System

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

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

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

Digitala projekt - Radiostyrd bil

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

Elektronik. Dataomvandlare

Digitala Projekt (EITF11)

Tentamen i Digitalteknik, EIT020

Pipelining i Intel 80486

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

Nätverkskopplat djävulskap Digitala projekt 2011 EITF40. Erik Lundh E06

Laborationskort - ML4

A/D- och D/A- omvandlare

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

Snake. Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola,

Datakommunikation med IR-ljus.

PROGRAMMERING AV MCU LABORATION6. Laborationens syfte

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

Formula Blue. Digitala Projekt 8p. Jesper Ferm E02 Carl Hakenäs E04

The Intelligent Timer

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

Elektronik Dataomvandlare

KALKYLATOR LABORATION4. Laborationens syfte

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

Växtviskaren EITF11 Digitala projekt VT15, I12

Enchipsdatorns gränssnitt mot den analoga omvärlden

Analogt och Digital. Viktor Öwall. Elektronik

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

ANVÄNDAR MANUAL. SESAM 800 RX MC Manager

Vad är kommunikation? Vad är datorkommunikation? Dataöverföring; Inledning

Digitala Projekt Konstruktion av Tamagocchi. Av: Oskar Andersson D05 & Danial Rehman D05

Digital- och datorteknik

Föreläsning 2. Operativsystem och programmering

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser

DEPARTMENT OF INFORMATION TECHNOLOGY. Digitala Projekt. Redovisning av Projekt - Grupp 14

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Anders Arvidsson ROBOTBESKRIVNING. Roboten på bilden är extrautrustad

GPIO - General Purpose Input Output

LARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall

Lunds Tekniska Högskola EITF11 Digitala projekt. Bandspelaren

LUNDS TEKNISKA HÖGSKOLA. Väderstation. Digitala Projekt, EITF11. Martin Olofsson, I08 & Fredrik Oher, I08 Vt 2012

Conreg. Översikt T-Logg T-LOGG. System för insamling, bearbetning, visning och lagring av tjockleksdata 1 (14)

LiTH Lab1: Asynkron seriell dataöverföring via optisk länk Laboration 1. Asynkron seriell dataöverföring via optisk länk

Tentamen i Digitalteknik, EITF65

Laboration - Operationsfo rsta rkare

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

Enchipsdatorns gränssnitt mot den analoga omvärlden

32 Bitar Blir 64 Sammanfattning

Moment 1 - Analog elektronik. Föreläsning 4 Operationsförstärkare

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

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

F5 Introduktion till digitalteknik

Programmera Avant 5 med PC mjukvara

The Secure Light. Digitala Projekt EITF11. Hanna Tinglöf, I-12 Anna Horvath, I-12 Filippa Österlin, I-12. Handledare: Bertil Lindvall

2 Laborationsutrustning

Ansvarig lärare: Olof Andersson, Telefon (besöker skrivsalen)

Goda råd till de som ska utföra ett liknande projekt (från KMM 2016)

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.

Systemkonstruktion SERIEKOMMUNIKATION

Spänningsstyrd Oscillator

Digitala Projekt(EITF40) - Larm

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: Tid: 14:00-18:00.

MINIX NEO A2 Användarguide

Faltningsreverb i realtidsimplementering

Elektronik Dataomvandlare

Digitalt Projekt: Radiostyrd Bil

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

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

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

Transkript:

Projektrapport Datatekniskt Projekt - DAT290 Grupp 8 Dzenan Bazdarevic, Hannes Häggander Morhaf Alaraj, Max Hansson, William Hughes Andreas Hagesjö, Tobias Eliasson, Jan Qvick Granskad Godkänd Namn Datum Grupp 8 8 Oktober, 2013

Abstract The following text describes the development of the Gr8Sampler: a device designed to store sound data from an analog electrical source in ash memory and replay it. It is to be controlled via a GUI programmed in C Sharp that can be run on a Windows machine. Through the GUI, Gr8Sampler can be set to echo received sound with a delay and/or store it in memory. All parts have been tested and implemented in compliance with the project directive, resulting in a fully functional prototype. The conclusions this report draws are twofold. Firstly, the project has been a success as Gr8Sampler fulls its purpose in that it can record and play sound as well as communicate with a PC. Secondly: with little modication, the Gr8Sampler would be able to record sound les and deliver them to the PC for editing or play les sent from the PC. In doing so it provides a foundation from which more far more complex and useful sound processing systems can be developed. Följande text beskriver utvecklingen av Gr8Sampler: ett system designat för att lagra ljuddata från en analog elektrisk källa i FLASH-minne och även spela upp det. Den skall styras via en GUI programmerad i C Sharp som kan köras på en Windows-maskin. Igenom GUI:t kan Gr8Sampler ställas in till att eka mottaget ljud med en delay och/eller lagra det i minnet. Alla delsystem har testats och implementerats enligt projektdirektivet, med en fullt funktionell prototyp som. Slutsatserna som dras i denna rapport är två. För det första har projektets mål uppfyllts då prototypen kan spela in och upp ljud inklusive kommunicera med en PC. För det andra : med små modikationer skulle Gr8Sampler kunna spela in ljudler och skicka dem till PC:n för behandling eller spela upp ler skickade från datorn. Detta innebär att grunden lagts för utvecklingen av långt mer komplexa och användbara ljudbehandlingssystem.

Innehåll 1 Introduktion 1 1.1 Syfte.................................. 1 1.2 Mål.................................. 1 1.3 Metodik................................ 2 1.3.1 Subgrupper.......................... 2 1.3.2 Möten och arbetstider.................... 2 1.3.3 Intern kommunikation.................... 2 1.3.4 Fildelning........................... 2 2 Teknisk beskrivning 4 2.1 Teori.................................. 4 2.1.1 SPI (Serial Peripheral Interface Bus)............ 4 2.1.2 SCI (Serial Communication Interface)........... 5 2.2 Krav.................................. 7 2.2.1 Tillägg 1............................ 7 2.3 Bakgrund............................... 7 2.3.1 Given information...................... 7 2.3.2 Given hårdvara och tillhörande manualer......... 8 2.3.3 Given mjukvara och tillhörande manualer......... 9 2.3.4 Given information om dokumentation........... 9 2.3.5 Given C-kod för HCS12................... 9 2.3.6 Ej redan tillgängliga resurser................ 10 2.3.7 Ej given hårdvara...................... 10 2.3.8 Ej given mjukvara...................... 10 2.4 Översikt................................ 11 2.4.1 Komponenter......................... 11 2.5 Delsystem............................... 12 2.5.1 AD- Omvandlare....................... 12

2.5.2 Förstärkarkrets........................ 12 2.5.3 Användargränssnitt..................... 12 2.5.4 Översikt av gränssnitt.................... 12 3 Resultat och diskussion 13 3.1 Resultat................................ 13 3.1.1 Förstärkarkrets och lågpasslter.............. 13 3.1.2 AD-omvandlare........................ 13 3.1.3 SH (Sample and Hold).................... 14 3.1.4 SPI-kommunikation samt DA-omvandlare......... 14 3.1.5 SCI-kommunikation mellan HC12 och GUI........ 14 3.1.6 Ekofunktionen........................ 14 3.1.7 Grundsystemet........................ 14 3.2 Veriering............................... 15 3.2.1 Förstärkarkrets och lågpasslter.............. 15 3.2.2 AD-omvandlare........................ 15 3.2.3 SH (Sample and Hold).................... 15 3.2.4 SPI-kommunikation samt DA-omvandlare......... 15 3.2.5 SCI-kommunikation mellan HC12 och GUI........ 15 3.2.6 Ekofunktionen........................ 16 3.2.7 Grundsystemet........................ 16 3.3 Utfall av tester............................ 16 3.3.1 Förstärkarkrets och lågpasslter.............. 16 3.3.2 AD-omvandlare........................ 17 3.3.3 SH (Sample and Hold).................... 17 3.3.4 SPI-kommunikation samt DA-omvandlare......... 17 3.3.5 SCI-kommunikation mellan HC12 och GUI........ 17 3.3.6 Ekofunktionen........................ 17 3.3.7 Grunsystemet......................... 17 3.4 Diskussion av resultat och slutsats................. 17

1 Introduktion 1.1 Syfte Produkten skall öka tillgängligheten och möjligheten för kunden att snabbt, enkelt samt billigt kunna sampla ljud. Signalbehandlingen att lägga till ett eko på ljudet ingår alltid och kan användas godtyckligt. Eftersom att systemet är uppbyggt av hårdvara och mjukvara som är enkel att hantera, kan kunden med fördel själv konstruera tillägg utefter egna behov. Det kan t. ex. vara att lagra ljud för senare uppspelning eller ladda in ljud från en PC. Allt som krävs av systemet, är att kunden har erfarenhet nog att kunna använda samt förstå: Dokumentation: Datablad Manualer Programmeringsspråk: C C# Hårdvara: Kortet HCS12 PC med ett Windows-operativsystem Ett ytterligare erbjudande till kunden, är att den får specialbeställa ljudsystemet med egna krav på vilka tillägg som behövs. Om dessa tillägg redan har färdigutvecklats inom företaget och kan direkt säljas till kunden, blir priset relativt lågt. Om tilläggen inte redan nns, utan ska utvecklas på beställning, höjs priset beroende på den tid det tar att utveckla de nya tilläggen. 1.2 Mål Målet som skall uppnås är att konstruera ett ljudsystem. Det skall kunna sampla analogt ljud, för att sedan omvandla detta till digital form. Slutligen konverteras ljudet till en analog signal som därefter skall spelas upp. Utöver detta skall ett tillägg (specicerade och listade i projektdirektivet[1]) implementeras. Detta tillägg innebär att modiera den AD-konverterade signalen med hjälp av C#- och C-programmering, för att skapa ett eko. 1

1.3 Metodik 1.3.1 Subgrupper För att arbeta optimalt valde gruppen att dela upp projektet i fyra olika delar. Nedanför anges kort information om dessa subgrupper. Mer information om gruppernas områden kommer senare i rapporten. <INSERT REFERNCE HERE> 1. Signalbehandling Tog snittprovsvärden av buertern med hjälp av en moduloklocka. 2. Hårdvara Skapade en krets för signalbehandling av insignalen till och från hårdvaran. 3. Graskt användargränssnitt Producerade ett graskt användargränssnitt (GUI) för lättare användning av systemet. 4. Kommunikation med hårdvara Hanterade kommunikationen mellan GUI't och hårdvaran 1.3.2 Möten och arbetstider Gruppen genomförde regelbundna möten varje onsdag i 2 timmar. Under dessa möten uppdaterades gruppmedlemmarna om framsteg inom de olika arbetsområdena. Detta ansågs viktigt för att alla i gruppen skulle ha en översikt i vilken fas projektet befann sig i och vid behov omdirigera våra resurser till de områden som låg efter i planeringen eller områden som krävde större arbetskraft. Projektgruppen tittade även igenom kommande inlämningar under dessa möten för att dela upp arbetet på bästa sätt. 1.3.3 Intern kommunikation Under projektets gång har gruppen tagit kontakt med hjälp av en SMS-grupp samt en Facebook-grupp där generella frågor ställdes och grundlig information utgavs, till exempel vart dessa möten hölls vid specialfall eller vart de andra gruppmedlemmarna arbetade. 1.3.4 Fildelning Projektgruppen använde versionshanteringsprogrammet Git där projektgruppen lade upp dokument och kod för att alla skulle ha tillgång till dessa resurser under projektet. För mindre dokument (till exempel individuella bidrag till arbeten som senare sammanställdes) som alla skulle ha lätt att hitta och läsa, använde sig projektgruppen av Pingpongs loggbok samt Facebooks lsystem. Gruppen ansåg det 2

lättare att upptäcka nya dokument i dessa medier till skillnad från Git då alla i gruppen använde dessa tjänster dagligen och kom därför i kontakt med informationen snabbare. Men allt som laddades upp till Facebook samt loggboken låg även upplagt på Git som säkerhetskopior. 3

2 Teknisk beskrivning 2.1 Teori Nedan följer en lite mer djupgående beskrivning av element som kommer nämnas senare i rapporten 2.1.1 SPI (Serial Peripheral Interface Bus) SPI kommer att användas som gränssnitt mellan FLASH-minnet och processorn, samt processorn och DA-omvandlaren. Det är seriellt, asynkront samt full-duplext. Master SCLK MOSI MISO SS Slave SCLK MOSI MISO SS Figur 1: Förenklad bild av SPI Beskrivning av signaler: Genom SCLK (Serial Clock), generarar Master klockcyklar med en frekvens som är mindre-än eller lika-med den maximala frekvensen som Slave tillåter. Det kan variera men det brukar sträcka sig mellan det minimala 10 khz och det maximala 100 MHz. MOSI (Master Out Slave In) används av Master för att skicka data till Slave. MISO (Master In Slave Out) används av Slave för att skicka data till Master. SS (Slave Select) används av Master för att aktivera- och inaktivera anslutna Slave-enheter. För att aktivera en Slave-enhet, sätts dess motsvarande SS-signal som aktiv låg, innan data kan skickas till den. När datan har skickats, sätts SS till hög igen för att inaktivera den. Men om man endast har en Slave-enhet, låter man oftast SS-signalen förbli låg. Följande procedur genomförs när Master och Slave kommunicerar: 1. Master bestämmer frekvensen för genereringen av klockcyklar genom SCLK. Dessutom sätter Master CPOL och CPHA. CPOL styr om klockan börjar räkna med bit 1 eller bit 0. CPHA bestämmer om data ska tas emot och skickas vid positiv- eller negativ ank. Tabellen nedan beskriver vad som sker beroende på hur dessa bitar sätts. 4

Mode CPOL CPHA 0 0 0 Klockans startbit: 0, data tas emot vid positiv ank. 1 0 1 Klockans startbit: 0, data tas emot vid negativ ank. 2 1 0 Klockans startbit: 1, data tas emot vid negativ ank. 3 1 1 Klockans startbit: 1, data tas emot vid positiv ank. 2. Master sätter rätt SS-signal till låg för att aktivera den Slave-enhet, som den ska kommunicera med. Endast en SS-signal får sättas till låg samtidigt. Detta betyder att Master endast kan kommunicera med en Slave i taget. 3. Master börjar generara klockcyklar efter den frekvens som tidigare satts. För varje klockcykel, skickar Master och Slave 1-bit till varandra genom MOSI och MISO. Oftast skickas en byte i taget dvs. utbytet av data sker under åtta efterföljande klockcyklar. Men SPI kan även användas med er bitar. 4. Master inaktiverar Slave-enheten som den kommunicerat med, genom att återställa dess motsvarande SS-signal till hög. Master och Slave har var sitt register som är kopplade till MOSI och MISO. Dessa register är skift-register. Registren skiftar in den minst signikanta biten medan de skiftar ut den mest signikanta. Nedan nns det en bild som beskriver detta. Master Slave MOSI 0 1 2 3 45 6 7 MISO 0 1 2 3 45 6 7 Figur 2: Förenklad bild av ett skiftregister 2.1.2 SCI (Serial Communication Interface) Gränssnittet som möjliggör kommunikationen mellan HCS12 och PC är SCI. Det är ett asynkront seriellt gränssnitt som kan ta emot och skicka data. Data tas emot genom receiver-ingången medan det skickas ut från transmitter-utgången. För att använda SCI i C-kod, använder man dess två interrupt-funktioner. Den som används beror på vilken SCI-port man använder. Det nns en port 0 och en annan port 1. Interrupt-funktionen anropas beroende på om SCI:n tar emot eller skickar data. Om SCI skickar data, anropas interrupt-funktionen när transmitter-data-registret har kopierat sin byte till SCI-data-registret. Samtidigt sätts aggan TDRE (Transmitter Data Register Empty) till 1. TDRE nollställs när man från C-programmet laddar transmitter-data-registret med en ny byte. Om SCI tar emot data, anropas interrupt-funktionen när receiver-dataregistret har kopierat sin byte till SCI-data-registret. Samtidigt sätts aggan RDRF (Receiver Data Register Full) till 1. Denna nollställs genom att läsa SCI-data-registret. 5

I SCI-kabelns ena ände sitter en Seriell-till-USB adapter så att man kan ansluta till USB-porten på PC:n, som HCS12 ska kommunicera med. Programmet som kommunicerar med SCI från PC:n är skrivs i C#. Anledningen är att C#:s färdiga bibliotek lämpar sig för kommunikation med USB. Det används för att hitta-, ansluta till- samt kommunicera med USB-porten som SCI:n är kopplad till. Grundsystem med AD-och DA-omvandlare för att sampla och spela upp ljud. PC-interface för kommunikation mellan dator och ljudsystemet. Signalmanipuleringfunktion. Lagringsfunktion av det samplade ljudet. 6

2.2 Krav Krav är de förutsättningar som krävs för att systemet skall vara funktionsdugligt. Samplingsfrekvens: 20 khz. Signalspann: +-2 volt. Lagringskapacitet i ashminne: 1 Msampel. Systemet skall i första hand kunna sampla och spela upp ljud. Ljudsignalen skall A/D-omvandlas, DA-omvandlas och sedan spelas upp som en analog signal. Samplingen skall kunna startas och stoppas med hjälp av ett seriellt PCinterface. 2.2.1 Tillägg 1 Före D/A-omvandlingen skall en digital behandlig av signalen ske. Signalbehandligs parametrar skall kunna ändrar via ett seriellt PC-interface. 2.3 Bakgrund 2.3.1 Given information Gruppen hade tillgång till hårdvarumanualer. Guider för den hårdvara samt mjukvara som förbestämt skulle användas. Dessutom fanns det mallar och krav för den dokumentation som skulle skrivas. Dessa manualer, guider och mallar omfattade följande: HCS12 Periferienheter till HCS12 Gränssnitt till HCS12 Språket C PTB (Pioneers Test Bench) XCC 7

2.3.2 Given hårdvara och tillhörande manualer Nedan listas hårdvaran som de tillgängliga manualerna beskriver. HCS12 Register Minnen Interrupts Utgångar Ingångar Periferienheter till HCS12 FLASH-minne A/D-omvandlare DA-omvandlare Gränssnitt till HCS12 SCI (Serial Communication Interface) SPI (Serial Peripheral Interface) 8

2.3.3 Given mjukvara och tillhörande manualer Nedan listas mjukvaran som manualerna beskriver. För utveckling av C-programmet: PTB (Pioneers Test Bench) XCC C För dokumentationshantering: Git LaTex PingPong 2.3.4 Given information om dokumentation Nedan listas dokumentationer som krävs och som ges exempel på. Loggar Mötesprotokoll Projektspecikation Projektrapport Oppositionsrapport Presentation 2.3.5 Given C-kod för HCS12 Gruppen har redan tillgång till en del av den C-kod som kommer att behövas för C-programmet som ska köras i HCS12. De tillgängliga lerna är C-ler och header-ler. Listan nedan visar dessa: C-ler: irq_tabell_dat290.c för funktionsprototyper till interrupt-funktioner. main.c för start samt öde av C-programmet. header-ler: generic_handler_dat290.h för att ange vilka interrupts som vi vill hantera. HCS12_DG.h för denitioner till register i HCS12. reg_macro.h för denitioner till de funktioner som används för att läsa samt skriva till register. 9

2.3.6 Ej redan tillgängliga resurser Det fanns ytterligare delar som var tvungen att konstrueras av gruppen. Det första var den elektroniska signalkorrektionen av den inkommande analoga signalen. Det andra var det graska användargränssnittet. Alla som ansvarade för signalkorrektionen och användargränssnittet, var tvungna att hitta information själva om hur dessa skulle konstrueras, implementeras samt integreras med ljudsystemet. 2.3.7 Ej given hårdvara Den hårdvara som helt saknades, är den förstärkande signalkorrektionen av den inkommande analoga signalen. Den korrigerades med en elektronisk koppling innan den når AD-omvandlaren. 2.3.8 Ej given mjukvara För att skapa vektoriserade bilder, använde vi Adobe Illustrator för de som används i projektspecikationen och rapporten. De skulle vektoriseras för att behålla en bra bildkvalitet. Vid programmering i C#, användes IDE:n (Integrated Development Environment) Microsoft Visual Studio. Det hade passande verktyg just för utveckling av graska användargränssnitt. Dessutom fungerade det bra med C#-biblioteket. 10

2.4 Översikt Grundsystemet Första tillägget PC Andra tillägget PC Förstärkarkrets AD HCS12 SPI DA OUTPUT PC FLASH Figur 3: Förenklad bild av systemet Systemet i sin helhet bestod till att börja med av en förstärkarkrets som med hjälp av operationsförstärkare justerade signalen, så att den skulle vara kompatibel med HC12's AD-omvandlare. För att minimera signalstörningar hade vi konstruerat ett lågpasslter som ltrerade bort höga frekvenser. Efter omvandlingen av signalen kommer processorn att skicka informationen över gränssnittet SPI till en externa DA-omvandlaren, samt spara det digitala värdet i minnet för att senare kunna användas för att skapa ett eko. I DA-omvandlaren kommer informationen sedan omvandlas tillbaka till en analog signal. Efter omvandlingen behandlas signalen av ytterligare ett lågpasslter, signalen spelas sedan upp genom en högtalare. I samband med uppspelningen kan även informationen sparas i ett FLASH-minne för senare användning. 2.4.1 Komponenter Komponenterna nedan har använts för att koppla samman delsystemen: Processor HCS12. Enchipsdator MC12S med tillhörande kort. Flashminne. A/D-omvandlare. DA-omvandlare. Operationsförstärkare. 11

2.5 Delsystem Nedan följer en kort beskrivning av delsystemen. 2.5.1 AD- Omvandlare AD-omvandlaren består av en intern krets i MC12S. A/D-omvandlarens uppgift är att omvandla en analog signal till ett digitalt värde, i detta fall 8-bitar som sedan sparas i ett dataregister. Denna information kan sedan läsas och modieras för att kunna användas i andra delsystem. 2.5.2 Förstärkarkrets Kretsens uppgift är att omvandla en analog signal i spannet +-0.5 V till en analog signal med spannet 0-5 V med hjälp av operationsförstärkare och resistorer (Se Figur 3 på nästa sida för illustrion). Detta för att kunna utnytja så mycket som möjligt av AD-omvandlarens kapacitet. Innan signalen når AD-omvandlaren går den igenom ett lågpasslter för att få bort eventuella signalstörningar. 2.5.3 Användargränssnitt Som användargränssnitt används ett GUI. Användargränssnittets uppgift är att förenkla styrningen av systemet genom att erbjuda ett enkelt sätt att kommunisera med processorn samt dess delsystem. 2.5.4 Översikt av gränssnitt Listan nedan ger en kortfattad förklaring av vilka gränssnitt som används mellan användaren, PC:n, HCS12 och FLASH-minnet. Användare mot PC: Ett GUI programmerat i C#. PC mot HCS12: Ska vara SCI. HCS12 mot FLASH: Ska vara SPI. Bilden nedan ger en grask översikt av listan. 12

: Enhet/Användare : : Gränssnitt Användare GUI/CLI SCI PC HCS12 SPI DA Figur 4: översikt av gränssnitt 3 Resultat och diskussion 3.1 Resultat Målet med grundsystemet har varit att ta fram ett fungerande system som kan sampla analogt ljud och omvandla det till digital form för att sedan omvandla tillbaka det till analogt format och spela upp ljudet. Ett system med denna funktionalitet har konstruerats och testats med hjälp av hårdvara tillgänglig på Chalmers, och slutresultatet är fungerande med god pålitlighet. Resultatet för varje delsystem, samt hur vi gick tillväga under konstruktionen kommer presenteras nedan och slutligen kommer grundsystemet att redovisas. Den slutgiltiga koden kan studeras i bilaga X. 3.1.1 Förstärkarkrets och lågpasslter Gruppen beslutade sig att genomföra en förstärkning med hjälp av två operationsförstärkare, en som förstärker signalen och inverterar den och slutligen en som endast inverterar den. Följande beräkningar användes för att komma fram till rätt förstärkning<uträkningar här> Kopplingen konstruerades på kopplingsdäck. 3.1.2 AD-omvandlare En intern AD-omvandlare existerar redan i HC12S och behöver bara aktiveras för att kunna användas och behövde således inte konstrueras, utan endast aktiveras och kongureras till att använda 8-bitars upplösnig. Gruppen valde att låta AD-omvandlaren konstant omvandla en insignal för att sedan sampla med hjälp av en Sample and Hold funktion. 13

Figur 5: Kopplingsschemat för förstärkningskretsen 3.1.3 SH (Sample and Hold) Får att kunna styra samplingsfrekvens valde gruppen att använda en moduloklocka som räknar ner och genererar ett avbrott med en frekvens på 20 Khz. Under detta avbrott samplas signalen som har omvandlas från analog till digital form och skickas över SPI till DA-omvandlaren. 3.1.4 SPI-kommunikation samt DA-omvandlare HC12 och DA-omvandlaren kommunicerar genom ett SPI-gränssnitt. DA-omvandlaren kräver en 16 bitars signal( 8 instruktionsbitar och 8 databitar) för att fungera, och SPI endast skickar 8 bitar i taget. Gruppen löste detta genom att lägga en signal som inte strys av SPI utan kan manipuleras i programmet, denna signal användes sedan som CS(Chip Select). Sålänge denna var nollställd så kan data skickas till DA-omvandlaren, för att slutligen ettställas och då genomförs omvandligen. 3.1.5 SCI-kommunikation mellan HC12 och GUI ((Ni som gjorde detta måste skriva hur ni gjorde här!) 3.1.6 Ekofunktionen ((Ni som gjorde detta måste skriva hur ni gjorde här!) 3.1.7 Grundsystemet ((Någon som har någon bra idé på vad som ska skrivas här? :s)) 14

3.2 Veriering Under denna rubrik evalueras projektresultatet utifrån projektbeskrivningen, problemformuleringen samt kraven angivna i projektspecikationen. Underrubrikerna utvärderar de olika delsystemen (beskrivna i 2.4 Delsystem) i större detalj. För utufallet av testerna, se punk 3.3. 3.2.1 Förstärkarkrets och lågpasslter Förstärkarkretsen verierades i era steg, förs genom tjänsten (INPUTNAME- HERE), för att sedan konstrueras och testas med hjälp av en genererad sinusvåg och ett oscilloskop. 3.2.2 AD-omvandlare AD-omvandlarens verierades genom att inducera en spänning till AD-omvandlaren och sedan låtit en LED-periferienheten visa det digitala värdet. Testet visade att AD-omvandlaren fungerade som tänkt. Den digitala signalen sparas i ett dataregister där den sedan kan avläsas av DA-omvandlaren. 3.2.3 SH (Sample and Hold) Funktionen verierades genom att en dip-switch kopplades som insignal, och varje gång moduloklockan genererade ett avbrott så skrevs detta värde ut på en LED-display. 3.2.4 SPI-kommunikation samt DA-omvandlare SPI kommunikationen samt DA-omvandlaren verierades genom två test. Det första var ett mer grundläggande test som gick ut på att med hjälp av en dipswitch som inslignal testa om utspänningen på DA-omvandlaren ändrade sig, detta för att se om kommunikationen mellan HC12 och DA-omvandlaren fungerade korrekt. Det andra testet var ett mer avanserat test där med hjälp av en Öscillerande spänningskälla"(hitta rätt ord) genererade en insignal i form av en sinusvåg i intervallen 0-5V. Denna signal användes sedan som insignal till AD-omvandlaren som omvandlade signalen till digital, denna siganal samplades sedan och skicakdes över SPI till DA-omvandlaren. Både insignalen samt DA-omvandlarens utsignal visades på ett oscilloskop. 3.2.5 SCI-kommunikation mellan HC12 och GUI SCI verierades med hjälp av att varje gång SCI genererar ett avbrott skriva en sira på LED-periferienheten. Kommunikationen med GUIt verierades sedan 15

genom att man från GUIt skickade en sira över SPI som sedan projecerades på LED-periferienheten när SCIn genererade ett avbrott. 3.2.6 Ekofunktionen (Hur testade ni ekot?) 3.2.7 Grundsystemet Grundsystemet verierades genom att man med hjälp av en 3.5-mm-splitter som kopplades till en PC och sedan in i förstärkarkretsen. Utsignalen kopplades in till en högtalare samt ett oscilloskop. 3.3 Utfall av tester 3.3.1 Förstärkarkrets och lågpasslter I simuleringarna visades tydligt kopplingens funktion, och i testet efter konstruktionen visade oscilloskopet en förstärkning av insignalen med ytterst få förluster, vilket lever upp till kraven. Figur 6: Simuleringsgraf som visualiserar förstärkningen 16

3.3.2 AD-omvandlare Testet visade att en analog signal på 0-5V motsvarade ett digitalt värde på 0-255. Testet visade att AD-omvandlaren fungerade som tänkt och lever upp till kraven. 3.3.3 SH (Sample and Hold) Testet visade att vid avbrott kommer funktionen att genomföra innehållet i dess avbrottsrutin. 3.3.4 SPI-kommunikation samt DA-omvandlare DA-omvandlaren visade under det första testet en förändring när man modierade insignalen och det andra testet visade att DA-omvandlaren genererade en utsignal som var identiskt till insignalen, dock lite förskjuten på grund av den tid det tar för processorn att genomföra operationerna. Trots tidsförskjutningen lever delsystemet upp till de satta kraven. 3.3.5 SCI-kommunikation mellan HC12 och GUI Det första testet av SCI visade att SCI var korrekt kongurerat genom att rätt sira visades på LED-periferienheten, det andra testet visade att kommunikationen PC - HC12 fungerade över SCI genom att rätt sira tändes på LED-periferienheten. 3.3.6 Ekofunktionen (Vad var resultatet av testet?) 3.3.7 Grunsystemet Testet av grundsystemet visade att hela grundsystemet fungerade genom att en ljudl från datorn spelades upp genom högtalarna med god kvalitét efter att ha passerat genom systemet. 3.4 Diskussion av resultat och slutsats Resultaten visar att gruppen lyckats skapa en fungerande slutprodukt utifrån de krav som ställdes. Det primära målet som skulle uppnås var att konstruera ett ljudsystem som möjliggjorde sampling av analogt ljud för att sedan omvandla detta till digital form och slutligen konvertera tillbaka ljudet. Syftet 17

med skapandet av det samplade ljudsystemet var att eektivisera tekniken att A/D- och DA-omvandla ljudsignaler för uppspelning och lagring med ett GUI. Många faktorer har påverkat resultatet, däribland valet av att använda-ett användarvänligt PC-gränssnitt. GUI:t är tätt knutet till syftet om eektivisering av samplingen - då detta används för att enkelt kunna interagera med hela systemet. Den utmärkande betydelsen av resultatet är att den digitala signalen kan lagras, analyseras och redigeras efter önskemål. Med andra ord skulle detta system kunna användas för andra tillämpningar och syften. Istället för lagring till ashminne skulle den digitala signalen kunna lagras i en l och skickas till ett annat system som behandlar ljudet, t.ex. en ljudeditor. Gruppen var vid en tidpunkt tvungen att ändra om i tidsplanen pga. olika faktorer. Signalgruppen planerade att skapa en sample and hold krets och arbetet fortlöpte och pågick i en hel vecka. Veckan därefter ck gruppen vetskap om att en Sample and hold krets redan fanns inbyggd i HCS12. Hade gruppen haft denna information tidigare skulle mer tid kunna läggas fördelas över de härdvaruproblem som uppstod. Saker jag skall skriva mer om: Blev något som vi inte hade tänkt oss, något oväntat? Hur bra lyckades gruppen? Hur påverkade metodiken resultatet? Kunde vi gjort på något annat sätt? Resonera kring hur resultatet hade sett ut ifall vi kunnat arbeta med hårdvaran när vi känner för de (begränsning av tillträde till labbsal) Skall även ta med de utmaningar gruppen ställdes inför vid val av programmeringsspråk 18

Referenser 19