Våra äventyr i den digitala djungeln

Konstruktion av en enkel MP3-spelare

Projektet i denna kurs gick ut på att designa och konstruera en elektronisk krets samt att dokumentera arbetet. Kursen gick under senare delen (LP4) av vårterminen 2003. Kursen är kanske den kurs som sammanför mest av den kunskap vi har förvärvat under åren vid LTH. Våra förväntningar inför kursen var att vi hoppades få lära oss mer om produktutveckling, konstruktion av digital hårdvara och programmering på lågnivå. Så här i efterhand kan vi säga att våra förväntningar har uppfyllts över förväntan, även om arbetet till och från inneburit en hel del svårlösta utmaningar.

Efter en hel del funderande, väljande och vrakande bland mer eller mindre verklighetsförankrade idéer fastnade vi för att försöka skapa en MP3-spelarprototyp. Vi ville att den skulle ha enkla funktioner som "play", "stop", "nästa låt" och "föregående låt" och att dessa val skulle göras från en knappsats. Vi bestämde oss för att spelaren skulle vara fristående från PC och läsa låtar från någon form av utbytbart minneskort. Minsta bitrate skulle vara 64 kilobit per sekund.

Kärnan i vår konstruktion var en 68008-processor från Motorola och en MP3-avkodningskrets med inbyggd förstärkare, VS1001k, från VLSI Solutions Oy. Runt omkring allt detta kopplade vi olika minnen och kopiösa mängder logikkretsar för alla styrsignaler. En av de svåraste utmaningarna var att vi var tvungna att konstruera en styrkrets till MP3-avkodarkretsens något säregna gränssnitt.

Du som tycker att det här låter som mycket elektronik och lite programmering har alldeles rätt. Det blev mer hårdvara och pillande med elektronik än vad vi kanske hade föreställt oss, men samtidigt lärde vi oss väldigt mycket tack vara detta. Nu efter kursen avskräcks vi inte lika lätt när elektronik kommer på tal. Det förekom ändå en hel del programmering eftersom vi skrev styrprogrammet till MP3-spelaren och då fick skriva alla drivrutiner och liknande. Därför fick vi lära oss både att koda M68000-assembler och skriva C-kod för lågnivåapplikationer.

Slutresultatet efter projektets sju veckor blev inte riktigt vad vi väntat oss. Vi stötte på rätt många fler problem än vi kanske hade förväntat oss, i synnerhet på hårdvarusidan. Detta medförde att vi vid projektets slut inte hade en helt fungerande spelare. Vi kunde demonstrera att kommunikationen med MP3-avkodaren fungerade, bland annat genom att skicka ljudtestkommandon till spelaren, men vi lyckades aldrig avkoda äkta MP3-filer.

Nils Maltesson, d99nm
Mikael Ohlson, d99mo
Hela rapporten kan läsas här (pdf).
Kretsbordets ovansida Kretsbordets undersida