Datoriserad nummerpresentatör

Rapportsammanfattning i kursen Digitala Projekt, våren 2004.


Av Fredrik Ternerot & Per Fridén



Inledning

Kursen Digitala Projekt, som ges vid Institutionen för Informationsteknologi vid Lunds Tekniska Högskola, går ut på att realisera en idé i hårdvara. På sju veckor ska en fungerande prototyp tas fram vilket innebär att man får tillfälle att tillämpa de kunskaper som man tidigare fått i teoretiska kurser

Vi valde att bygga en datoriserad nummerpresentatör. Nummerpresentation är en tjänst som Telia erbjuder vilken innebär att numret till den som ringer skickas till mottagaren i början av ringningen. Detta nummer kan avkodas och presenteras, vilket är grunden i vårt projekt. Den datoriserade nummerpresentatören har en mängd funktioner som presentatörer på marknaden i allmänhet saknar.

Den datoriserade nummerpresentatören kan göra följande:

  • Lagra 1000 inkomna nummer med tillhörande datum och tidpunkt.
  • Överföra lagrade nummer till en PC.
  • Överföra aktuellt nummer vid inkommande telefonsamtal.
  • Presentera inkomna nummer med tillhörande data (namn m.m.)
  • Ignorera inkommande telefonsamtal för svartlistade nummer.
  • Ta emot lista av svartlistade nummer från en PC.
  • Presentera och editera svartlistade nummer.
  • Automatisk nummersök på Eniros vitasidor vid pårigning.

Konstruktion

När kravspecifikationen för projektet var klar började vi konstruktionsarbetet med att ta fram ett detaljerat kretsschema över hur hårdvaran skulle se ut. Detta inkluderade alla signaler mellan alla kretsar och gav en bra överblick över vad som skulle göras.
[Schema pdf.] [Schema PowerLogic.]

Konstruktionen delades upp i två delar, en hårdvaronära del som skötte avkodning av signaler från telefonlinjen och en mjukvarobaserad del som presenterade resultat på en PC. Hårdvaran byggde vi upp kring en mikroprocessor, Motorola MC68008, vilken är hjärnan i konstruktionen. Denna kommunicerade sedan med övriga kretsar, bl.a. de två centrala kretsarna för seriell PC-kommunikation respektive avkodning av DTMF-signaler på telefonlinjen. Även logiken för hårdvaran var central, vilken vi valde implementera med en programmerbar logikrets, Lattice 1016E.

Processorn programmerades i C. [C källkod.]
Logikprogrammet skrevs i Abel HDL. [Logikprogram Abel-HDL.]
PC-programmet implementerades i Microsoft Visual C++ 6.0.
[Exekverbart program.] [C++ Källkod.] [Skärmdump jpeg.]


Resultat

Under konstruktionsarbetets gång har vi stött på många problem. I stort sett ingen krets har fungerat direkt utan många timmar har lagts ner på felsökning och noggrann studering av datablad. Efter sju intensiva veckor har dock en stabil prototyp tagits fram vilken innehåller i stort sett alla våra idéer. För en mer komplett beskrivning av arbetet finns den fulla rapporten.
[Komplett rapport pdf.]


Reflektion

Vi känner att projektet har gett värdefulla praktiska kunskaper samtidigt som det inspirerat till ett ökat intresset för inbyggda system. Trots alla hinder vi har mött på vägen har vi till slut lyckats få ihop en fungerande prototyp där i stort sett alla våra krav är uppfyllda. Kursen rekommenderas varmt till andra studenter!