AVR MP3 29-05-08 05576 Ingeniørhøjskolen i Århus Michael Kaalund



Relaterede dokumenter
Microcontroller, Arduino

Arduino Programmering

Der er derfor, for at alle kan sende, kun tilladt, at sende intermitterende. Altså korte pakker. ( Dette skal dog verificeres!!)

Microcontroller, Arduino

MP3 player med DMX interface.

Enes Kücükavci Roskilde Tekniske Gymnasium Mathias Turac Informationsteknolog B Vejleder: Karl Bjranasson Programmering C

Overbelastning af processor i Windows XP og i Ubuntu

Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner

Computer Literacy. En stationær bordmodel. En Bærbar Notebook, Labtop, Slæbbar, Blærebar mm.

\ \ Computerens Anatomi / /

Intro til AVR. Mads Pedersen, OZ6HR

COMPUTER ANATOMI klasse 23. FEBRUAR 2015 HTX - ROSKILDE


PCR 40 Door Access Control unit

Eriks Uhlenbrock servodekoder xml Uhlenbroch Servodekoder afkoblingsramper :39

Programmering C RTG

Andreas Nordbek & Kristoffer Skude Jensen. DMX Styring Side 1 af 15

Arduino Programmering

En Krystalstabil Oscillator til dit næste projekt

Analoge indgange og A/D konvertering. Analoge udgange

Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4.

DATALOGI 1E. Skriftlig eksamen mandag den 23. juni 2003

3. Computerens opbygning.

Hjælp, mine deltagere aflytter og øver sig til YouTube men i forkert toneart.

ARP og ICMP. - service protokoller, som vi ikke kan undvære! Netteknik 1

Eksamens spørgsmål i Teknologi (Digital) 3. Semester (i)

wwwdk Digital lydredigering på computeren grundlæggende begreber

En krystalstabil oscillator til dit næste projekt

Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B

Programmeringseksempel tl BCxxxx (Seriel)

Tillæg til Libris-hæftet: WordPress. Temaredigering og sikkerhed m.m.

Adressering af ind- og ud gange på BCxxxx IEC1131 PLC uden TC system manager

Media College Aalborg Side 1 af 11

QUICKVEJLEDNING til Piccolo Light

IAI Quick Start Guide

EasyRun En løbers bedste ven

MCE9637 DeviceNet Modul

WSPR Introduktion. WSJT (Weak Signal Propagation Reporter) Developed by Joe Taylor K1JT

Computerens Anatomi. Af Martin Arnetoft

ARDUINO PROGRAMMERING

WEA-Base Brugervejledning til vejetransmitter

Sammenlign og byt. Et eksempel på dokumentering af et program

SSI GSM PORT kontrol brugervejledning. SSI GSM PORT brugervejledning V1.2

Betjening af SmartTID læseren version 2.0

Håndbog for Bjæverskov Antenneforening

MB-001 DCC/MM Udviklingsmodul

I 2 C BUSSEN KØRER MED ARDUINO IND I FORÅRET

DIGITAL OPTAGER OG MULTI-AFSPILLER MP-122/222/522/1022 BETJENINGSVEJLEDNING

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen

Håndbog for Bjæverskov Antenneforening

SIGIL Sådan opretter du en e- bog Step by Step

Gateway MP til Modbus RTU. Alle BELIMO motorer med MP-Bus kan tilsluttes til MP-siden af UK24MOD. Interface MP / Modbus RTU

MT90 Vejledning. Forord. Website: Kontakt: Tillykke med din nye GPS tracker MT90.

Efter installation af GEM Drive Studio software fra Delta s CD-rom, skal hoved skærmbilledet se således ud: (koden til administrator adgang er: admin)

Film Hastighed Film Speed

TCP & UDP. - de transportansvarlige på lag 4. Netteknik 1

GT2000 GT2000. Brugervejledning

Lyskryds. Thomas Olsson Søren Guldbrand Pedersen. Og der blev lys!

Overvågningskamera. ~Af Svend, Valdemar og Frederik~

Journal JTAG: Udarbejde af: Benjamin Grydehøj I samarbejde med PDA Projektgruppen. Elektronikteknologafdelingen på Erhvervsakademi Fyn.

Grafisk visning af hjertelyde

Kom i gang med... Kapitel 14 Arbejde med Galleri. OpenOffice.org

Vejledning til opbygning af hjemmesider

Planen for idag. Kontrol af ydre enheder. Systemarkitektur. Synkronisering ved aktiv venten. Multiprogrammering[1]: Ydre enheder og multiprogrammer

Præstbro Maskiner A/S

Klimastyring B marts Klimastyring B213. Kommunikation. Her og Nu. Fremtiden. Google Groups Google Code Google Calendar L AT E X

Egenskaber for ROM/RAM

LM Technologies bluetooth seriel adapter Installationsvejledning

Allan Nelsson - OZ5XN. Licenced since 1970

SSTV foredrag Birkerød afd. 7. april SSTV demo Birkerød afd. 8. dec

0.1 Modultest af hardware

SunFlux Varenr.: 03104

Interconnect. Front end interface

Programmeringseksempel til CX/IPC

Hassansalem.dk/delpin User: admin Pass: admin BACKEND

HELLO INSTALLATIONS GUIDE - DANSK RACKPEOPLE

Frekvensbestemmelse. HWP I1 Kursusarbejde Forår 2007

QUICK MANUAL - HUAWEI E3276

Velkommen til BEHRINGER PODCAST hurtigstart guiden

Digitaldekoder i Märklin Motorola format til lokomotiver med vekselstrømsmotor fra Märklin eller HAG.

USB-kabler og drivere

FleeDa (DBK Fleetmap Database) Installationsvejledning til installation af VPN og FleeDa klient på egen PC (Juli 2017)

MANUAL. Præsentation af Temperaturloggerdata. Version 2.0

Brugermanual MP3 afspiller

IsoBar ControlModul. Brugsanvisning. Indhold. Introduktion og tekniske specifikationer 1. Generel beskrivelse af display og tastatur 2

Objektorienterede metoder

A LED Santiago 16W HF sensor og Master / Slave

2x50 ETHERNET MODUL. RS485 slave med Ethernet-IP. Gælder for: Program nr.: AUXSLAVE v1 Dokument nr.: 0422md2x50-2v1 Dato:

Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre...

EXIT-SOUND. Brugervejledning Exit-Sound talevarslingsanlæg Ver. 1.10

Særlige funktioner. på 2 C-bussen: speed er på 100 Kbps. I den udgave, som kaldes fast speed, er missionshastigheden på op til 400 Kbps.

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0

DM13-1. Obligatoriske Opgave - Kredsløbs design

ATD. Bruger manual. By AntiTremor.org. Revsion 1.1

DIGITAL KULTURARV. Jens Henrik Leonhard Jensen, Storagemanager Statsbiblioteket

Postregistrering Eksamensprojekt i Programmering C Lavet af: Frantz Furrer Svendborg Erhvervsskole HTX Vejleder: Claus Borre

Kvikguide Starter System 3.2

Transkript:

AVR MP3 29-05-08 Indholdsfortegnelse 1 Introduktion...2 2 Udviklingsmiljø...2 3 Beskrivelse af systemet...3 3.1 VS1001k...3 3.2 MP3 file formatet...6 4 Konklusion...6 5 Litteratur liste...6 6 Illustrations liste...6 Side 1 af 8

1 Introduktion AVR MP3 29-05-08 1 Introduktion Projektet AVR MP3, går ud på at få en Atmel mega 16 til at kommuniker med at en VS1001k fra VSLI. Grunden til at jeg har valgt at bruge VS1001k chippen, er fordi jeg havde den liggende og fordi den bruger SPI bussen til kommunikation med mikroprocessoren. 2 Udviklingsmiljø Som udviklingsmiljø har jeg valgt at bruge linux som styresystemet, nærmere Ubuntu 8.04. Dette er et personlig valg at jeg bruger linux, men efter min mening giver det nogle nemmere muligheder med hensyn til valg af kompilere og programmerings programmer. Desuden har jeg valgt at få projektet hosted på en ekstern server. Hele projektet er hosted ved google code, i det de tilbyder subversion understøttelse og det er gratis at få hosted ved dem så længe det er opensource eller til studie projekter. Kompilere : gcc avr 4.2.2 (shell kommand : avr-gcc - version) Make : make 3.81 (shell kommand : make --version) Programmer : avrdude 5.5 (kompileret 22:36:39 Nov 11 2007)(shell kommand : avrdude -v) Editor : gedit 2.22.3 (shell kommand : gedit --version) Diagram program : Dia 0.96.1 (kompileret 16:56:49 Jan 25 2008)(shell kommand : dia --version) Version styring : subversion 1.4.6 r28521 (kompileret 08:53:49 Mar 11 2008) (shell kommand : svn --version) Rapport skrivningsprogram : OpenOffice.org 2.4.0 Kode host : Google code web page url : http://code.google.com/p/mtk-avrmp3/ Man kan hente hele projektet ned via subversion det vil sige Rapport, Kildekode, Hardware, Datablade. For at få en kopi af projekt ned på din harddisk kan det gøres via denne shell kommando, bemærk det giver kun læse rettigheder : svn checkout http://mtk-avrmp3.googlecode.com/svn/trunk/ mtk-avrmp3 Side 2 af 8

3 Beskrivelse af systemet AVR MP3 29-05-08 3 Beskrivelse af systemet Illustration 1:Systems oversigt På illustration 1 vises system diagrammet som er der bliver arbejde ud fra. Systemet streamer mp3 filen igennem RS232/USB, microcontrolleren sender så mp3 data via SPI bussen til VS1001k chippen, som driver et par høretelefoner eller et par højtaler. For at få sende hastigheden op, mellem de enkelt lag, har jeg valgt at implantere en cache mellem det som sendes fra computeren til atmega16 og fra atmega16 til vs1001k dekoderen. Dette gøres ved at cache X antal bytes i atmega16'en, og når den er fyldt, påbegynder den at sende bytes af sted til vs1001k dekoder og mens modtager den stadig bytes fra computeren. Side 3 af 8

3.1 VS1001k AVR MP3 29-05-08 3.1 VS1001k Illustration 2:Oversigt over VS1001k mp3 decoder chip VS1001k chippen er produceret af firmaet VLSK, er en MPEG layer 3 lyd dekoder. Med en DSP processor, 4 KB program RAM, 0.5 KB data RAM til bruger programmer. Den understøtter MPEG 1, 2 og 2.5 alle sample rater og bit rater i mono og stereo lyd samt variable bit rate. Vs1001k bruger en clock med følgende frekvenser 12-13 Mhz eller 24-26 Mhz. Illustration 2 viser en oversigt over vs1001k MP3 dekoder chippens opbygning. Illustration 3:vs1001k mp3 dekoder chip opstillingsdiagram Vs1001k skal have en maksimalt have en 3,6 volts spænding på analog (AVDD) og digital (DVDD) delen. I databladet er der et diagram over hvordan den typiske måde at Side 4 af 8

3.1 VS1001k AVR MP3 29-05-08 opstille vs1001k chippen i et system, se illustration 3. 3.1.1 Kommunikation med vs1001k SPI bussen bruges til at kommunikere med vs1001k chippen, der er en Serial Data Interface (SDI) og en Serial Control Interface (SCI). Hvori kommunikationen med begge er beskrevet i kapitel 5 i databladet for vs1001k chippen. For at begynde en kommunikationen med vs1001k skal chip select benet (XCS) trækkes lav i det den er aktiv lav (0 volt), ved høj (3.6 volt) går Spi interfacet i standby mode og afslutter den i gang værende process. Dette er kun gældende ved SCI kommunikation, da der ikke er nogle chip select ved SDI kommunikation som er konstant aktiv. SDI kan enten være slave eller master og er i stand til at genere en 512 eller 1024 khz clock frekvens, som slave er det SPI masteren som genere clock signalet. Det skal dog siges at SPI master mode ikke er anbefalet fra producentenside da, jvf databladet kapitel 6.5.1 MODE, den del ikke er afprøvet. Vs1001k chippen antager at der bruges byte-synkronisering, selve dekoderen søger ikke efter byte-synkronisering af data strømmen, men antager at dataen er korrekt placeret i forhold til byte placeringen. Når BSYNC benet trækkes høj ved den første bit af den byte som sendes, hvis vs1001k chippen er sat til at modtage LSB først er det den byte og hvis den er sat til at modtage MSB først er den byte. Man kan dog også vælge at sætte BSYNC til VCC (maksimalt 3.6 volt) hvilket kræver at man altid bruger den valgte byte rækkefølge. Fra producentenside anbefales at der bruges BSYNC benet. DREQ benet bliver brugt når vs1001k chippen er opstillet i en SPI slave, og bruges til at indikere hvor når der vs1001k chippen ikke kan modtage mere data. Når DREQ er høj kan der minimum sendes 32 byte af data til vs1001k chippen, hvis DREQ bliver lav så skal masteren stoppe med at sende data. Fordi der en sikkerhedsområde på 32 bytes kan der sendes 32 bytes uden at der behøves at tjekkes på DREQ benet. DREQ burde ikke bruges til at afbryde en overførelse, men til at afgøre om der skal sendes mere af sted. Som beskrevet tidligere i dette afsnit så skal XCS benet trækkes lav for at kunne i SCI mode, selve SCI protokollen består af en instruktions byte, en adresse byte og en 16 bit data word. Dataen bliver læst på den opadgående flanke, og bør derfor ikke opdatere på opadgående flanker. Instruktionensbyten kan enten være skriv, som har koden 0x2 eller læs som har koden 0x3. Det skal dog bemærkes efter brug af SCI kommandoer må man ikke sende SDI eller SCI data til vs1001k chippen for 5 micro sekunder. For at læse dataen på en bestemt adresse sendes instruktions byten læs (0x3) og derefter adressen, der ville derefter blive shiftet ud 16-bit data, som passer med den data som er på den bestemte adresse. XCS bør blive trukket høj når de 16-bit data er overføret, derefter vil der blive lagt en til adressen, dataen der på vil bliver shiftet ud. Illustration 4 er en figur som viser hvordan det foregår. Side 5 af 8

3.1 VS1001k AVR MP3 29-05-08 Illustration 4:Viser hvordan SCI læsningen foregår For at skrive til data på en bestemt adresse, skal det ske i denne sekvens, XCS bliver trukket lav for at vælge enheden, der efter sendes der skriv koden (0x2) efterfulgt en adresse og 16-bit data, efter dataen er blevet shiftet ind, skal XCS trækkes høj for at afslutte skrive sekvensen. Illustration 5 viser det grafisk hvor det foregår. Illustration 5:Viser hvor SCI skrivning foregår 3.2 Systemet Side 6 af 8

3.2 Systemet AVR MP3 29-05-08 4 Konklusion Side 7 af 8

5 Litteratur liste AVR MP3 29-05-08 5 Litteratur liste vs1001k datablad findes på cd-rommen under datablade, eller på url: http://www.vlsi.fi/datasheets/vs1001.pdf Atmega16 datablad findes på cd-rommen under datablade, eller på url: http://www.atmel.com/dyn/resources/prod_documents/doc2466.pdf 6 Illustrations liste Forside illustrationen er dels hjemmelavet, billedet af vs1001k chippen er taget fra vs1001k databladet og billede af stk500 kittet er taget fra url: http://www.avrfreaks.net/images/wallpapers/stk500_b_1600x1200.jpg Illustration 1 (på side 3) er hjemmelavet. Illustration 4 (på side 6) er hjemmelavet. Illustration 2 (på side 4) er taget fra vs1001k databladet. Illustration 3 (på side 4) er taget fra vs1001k databladet. Illustration 4 (på side 6) er taget fra vs1001k databladet. Illustration 5 (på side 6) er taget fra vs1001k databladet. Side 8 af 8