Programmerbar Ljusdator

Tobias Andersson <e94tan@efd.lth.se>

Sven Gestegård <d95sge@efd.lth.se>

I kursen Digitala projekt, 5 p, ska man konstruera, bygga och testa en digital konstruktion som bygger på en antingen en mikroprocessor, MC68008, eller enchipsdatorn M68HC11.

Målet med vårt projektet var att bygga en programmerbar, musikstyrd ljusdator avsedd att styra lampor via en åttakanalig dimmer. Datorn skulle gå att programmera via RS-232 och programmen skulle lagras i EEPROM så att de låg kvar i minnet även efter strömavbrott. Vi valde att använda en 68HC11 enchipsdator eftersom den hade alla funktioner vi behövde inbyggt och vi bedömde att dess begränsade minne skulle räcka till, ett antagande som senare skulle visa sig ställa till vissa problem.

Ljusdatorn handhas med frontpanelens LCD och 6 knappar. Datorn kan programmeras från frontpanelen eller från en PC via en seriekanal.

Insignalen till musikstyrningen är avsedd att vara en vanlig lågnivåingång. De 8 utgångarna pulsbreddsmoduleras och lågpassfiltreras för att generera en likspänning.

På det hela taget har projektet avlöpt mycket väl och utan några alltför stora problem. En viktig orsak till detta var att vi, vid utvecklingen av programvaran, använde en emulator, och den därtill hörande högnivådebuggern C-spy. Dessa var till väldigt stor hjälp och gjorde att utvecklingen av programmet gick väldigt snabbt och smidigt, eftersom man, utgående från källkoden, lätt kunde sätta brytpunkter, stega igenom programmet och inspektera innehållet i minnet.

Det kanske största problemet vi hade var att vi mot slutet fick väldigt ont om plats i PROM:en, vilket ledde till att vi fick skriva om delar av koden som hanterar användargränssnittet för att få ner storleken på denna. Till slut fick vi dock in allt vi behövde om vi kompilerade programmet med högsta graden av optimering med avseende på storlek.

Kursen digitala projekt är en väldigt rolig och nyttig kurs, trots att irritations- och frustrationsmomenten tidvis är ganska många. Det är väldigt roligt att börja med en experimentplatta, en hög kretsar och en tom källkodsfil och se detta växa fram till ett fungerande system.

Vi rekomenderar kursen varmt och, avslutar med att citera en av våra handledare, "Ingen borde bli civilingenjör utan att någon gång ha bränt sig på en lödkolv."