:: genomförande

För implementering krävdes...

  • hårdvara som matchar kravspecifikation
  • mjukvara, implementerad i C, som möjliggör användandet av samtliga enheter
  • tid och tålamod

Hårdvara

För att kunna uppfylla de krav vi hade på enheten krävdes följande hårdvara:

  • Mikroprocessor (Atmel ATmega16)
  • LCD-display med 16x2 tecken
  • DTMF-transceiver
  • En krets för spänningsomvandling till det seriella gränssnittet
  • 16 KiB stort EEPROM-minne med seriell kommunikation för lagring av samtalslistor och telefonbok
  • Tryckknappar för menystyrning

Mikroprocessorn valdes då den innehåller innehåller alla de delar som konstruktionen kräver. Processorn har till exempel stöd för SPI, vilket gjorde att vi inte behövde så många ledningar till EEPROM-minnet.

Vi valde DTMF-mottagaren/sändaren MT8880C istället för mottagaren MT8870, eftersom vi ville ha möjlighet att även ringa upp nummer i teleboken och samtalslistan. Displayen är 16x2 tecken stor, men man hade kunnat använda en större display.

Kopplingsbräde och virande

Istället för att löda fast alla sladdar använder man ofta virning istället. Detta innebär att man snurrar upp kopparledningen runt kvadratiska ben från komponenterna med en "virpistol". Garanterat roligt om man inte gjort det förr.

Innan man kan genomföra kopplingen måste datablad lusläsas. Man bör vara mycket noga med att dubbel-/trippelkolla alla anslutningar så att de verkligen är rätt kopplade och att de faktiskt leder ström. Prova genom att med en multimeter kolla så att spänning finns till respektive enhet. Detta hade sparat oss flera dagar...

Mjukvara

Mjukvaran skulle möjliggöra allt vi hade med i vår kravspecifikation, men på grund av tidsbrist kommer en del funktioner implementeras efter hand i mån av tid.

I skrivande stund, i kursens slutskede, fungerar enheten precis som en motsvarande kommersiell produkt (läs Telia Anita), fast med adressbok och fördelen att den kan kommunicera med en dator via ett terminalprogram, exempelvis Hyperterminalen.

För att inte ge sig på de svåraste delarna hos varje komponent direkt, så skrevs korta kodslingor för att se om enheten svarade. I detta skede kommer ett digitaloscilloskop (eller analogt för den delen) väl till hands.

Då varje kodslinga provats och enheternas funktion bekräftats implementerades funktioner för var enhet. I och med att vi hade tillgång till en LCD-display användes denna för visa utdata från en del enheter. Detta gjorde att man till exempel kunde bekräfta att en knapp tryckts ned och så vidare.

Slutligen skrevs själva huvudprogrammet som innehåller all logik. Dock tog primärminnet (SRAM) slut, så vi fick flytta alla strängar som skulle skrivas ut på olika ställen till det interna EEPROM-minnet i processorn.