![]() |
Telefonterminalen |
![]() |
Vi ville bygga en nummerpresentatör som visade nummer och tid när personer ringer. när vi började med projektet var vi också en gnutta naiva och hade långtgående planer på att mojten skulle vara ihopkopplad med en dator via serielporten, och att man skulle kunna komunicera eller programera om terminalen via motorola S kod som man skulle kunna skicka över. Dessa ideer speglas också i den hårdvarulösningen vi valde.
Projektarbetet började med att vi skrev en "Krav specifickation" som speglade några av våra vilda ideer. Utifrån specifickationen så började vi rita upp en ritning i Pads (Cad program för kretsar) där alla kretsarna vi behövde kopplades ihop.
Konstruktionen virades på ett av IT redan byggt "labb" kort, Sakta men säker byggde vi all delarna som vi virade ihop med minst en biljon sladdar kors och tvärs. Under byggets gång så fick vi ändra lite på ritningen för att den skulle passa värkligheten bättre. Bland annat räckte inte den i krav specifickation d angivna palen till utan vi behövde minst en till. Senare komm det att visa sig ett vi läste av DTMF för snabbt och var tvungen att fördröja den signalen och därför behövde vi lägga på en räknare också.
Programmet för att styra datorn så valde vi att skriva i assembler eftersom vi båda var vana vid 68000 asm och det visade sig vara ett gott val då vi slapp alla struligheter man har i c. Från början hade vi tänkt att styra alla funktioner via interupts men det visade sig att vi var ändå tvungna att polla alla resultaten från interuptet så vi slopade interuptet. programmet är designat för att byggas ut i framtiden med an massa rutiner i ROM minnet men med programmet i flash minnet så man skulle kunna ändra programmet med via serielinterfacet om man i framtiden implementerer ett. Programmet är uppbyggt kring ett menusystem som innehåller pekare till andra menuer eller rutiner som körs. Det menusystemet är så mångsidigt att allt vi vill göra går att göra via systemet och lite små rutiner som kollar DTMF kretsen och alla knapparna.
Arbetsfördelning:
Förta veckan specifierade vi hårdvaran och lite av
programstrukturn, den skrevs ner på en "Krav
specifickation" som vi lämnade in. Efter ett godkännade
av den så började vi rita up kopplingschemat i Pads, det tog
ca 3 veckor. Denna fick vi godkänd och sedan bar vi till verket med
att börja bygga alltihopa i ca 3 veckor, (utan att testa, se under
missar). Nu satt vi och höll tummarna för allt skulle fungera
när vi slog på strömmen, och det gjorde det nästan,
Vi behövde programera om PAL:arna och
dra om en del sladdar, men det var för mycket som inte fungerade
för att vi skulle hinna klart denna läsperioden (LP3 97) så
vi fick fortsätta nästa läsperiod också. Under andra
läsperioden fick vi bygga om hanteringen av DTMF kretsen eftersom
den behövde längre klockcykler. Och några veckor gick åt
att få igång interuprutinerna ordentligt, (fast vi inte anväde
dom till sist). Och så till sist ca 5 dagar innan raporten skulle
lämnas in så började allt att fungera.
Missar:
Vår största miss var vi först ängade några
veckor på design och ritning innan vi började bygga sedan bygga
vi allt i några veckor och sedan när allt var byggt testa det.
Skulle vi göra om projektet så skulle vi nog låta ritningen
ta mycket mindre tid och inte satsa på en helt färdig ritning
innan man börjar bygga, det medför bara att man förlorar
värdefull tid, eftersom det finns mycket som man kan börja bygga
innan ritningen är klar som tex adressbussen. En annan lärdom
var att man BÖR testa en del i tagen och inte bygga allt och
sedan hålla tummarna.
Klara ?
Vi lyckades att få igång alla funktioner som man
kunde önska sig av en NummerPresentatör men inte mer man skulle
kanse önska sig att den kunde lite mera saker, MEN den fungerar.
Vi kom inte så långt att vi hade tid över att implementera
serialinterfacet och dyliga saker, men en nummerpresentatör är
det.
Digitalaprojekt:
Kursen tog för oss längre tid en den borde (vi höll på
i två läsperioder). Före kursen så kunde ingen av
oss kunstruera med färdiga kretsar, eller vad man ska kolla efter
i datablad för att koppla ihop kretsar, det är något som
vi båda har lärt oss att göra. Kursen är nog den struligaste
och jobbigaste vi har läst, det är mycket som har strulat under
arbetets gång, en del har löst sig och andra saker fick vi fixa
på andra sett, samtidigt som det har varit mycket strul så
har vi lärt oss mycket. Det är nog en av de kurser där man
efteråt känner att man skulle kunna bygga något om man
skulle behöva.