Projektarbete. Nummerpresentatör



Relevanta dokument
DIGITALA PROJEKT Väderstation

Formula Blue. Digitala Projekt 8p. Jesper Ferm E02 Carl Hakenäs E04

Pulsmätare med varningsindikatorer

Digitala projekt rapport

LARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall

Digitala Projekt (EITF11)

Digitala projekt Konstruktion av nummerpresentatör

The Intelligent Timer

Innehåll. 1 Inledning 3

Systemkonstruktion SERIEKOMMUNIKATION

Projekt EITA15. Väckarklocka. LTH Ingenjörshögskolan vid Campus Helsingborg Datateknik

Digitala Projekt Konstruktion av Tamagocchi. Av: Oskar Andersson D05 & Danial Rehman D05

Temperaturmätare med lagringsfunktion DIGITALA PROJEKT EITF11 GRUPP 14, ERIK ENFORS, LUDWIG ROSENDAL, CARL MIKAEL WIDMAN

Digital Projekt EDI 021 Konstruktion av talande nummerpresentatör VT1 2004

TETRIS. LTH, Campus Helsingborg EITA15 Digitala System

Programmering av stegmotorer ett miniprojekt i samarbete med Svensk Maskinprovning


Uppmätning, lagring och presentation av samtalstider i det fasta telenätet

The Secure Light. Digitala Projekt EITF11. Hanna Tinglöf, I-12 Anna Horvath, I-12 Filippa Österlin, I-12. Handledare: Bertil Lindvall

Installationsguide. För att installera mjukvara och hårdvara, följ nedanstående anvisningar.

Datorsystemteknik DAV A14 Föreläsning 1

WAGO IO System Service Seminar. Diagnostik

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

TMT-918 Fjärrkontroll med timer. Säkerhet. Tekniska data

Digital Display VDS / Bus2

Digitala projekt - Radiostyrd bil

Inledning. Metod. Val av maskin. Vanliga funktioner som lätt blir fel

ANVÄNDARHANDBOK KXT 441 Plus

SB168-ES och M7CL Quick Setup Guide Svensk version

Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet...

FÄLTMÄTINSTRUKTION TESTO 174H

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.

BRUKSANVISNING. PreView Mirabell. Lättanvänd flerfunktionstelefon med bakgrundsbelyst teckenfönster

SVENSKA FÖRKLARING TILL HUVUDENHETEN MODEL: RGR 122H SPECIFIKATIONER SWE

Blue Key Digitala projekt VT

Digitala Projekt(EITF40) - Larm

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

GSM Axess 2 Snabbstart ESIM 110. a x e m a Sida 1

TOPAZ PHD. Användarmanual

Kom igång med din SMART Board. Det praktiska

D/A- och A/D-omvandlarmodul MOD687-31

Lathund Milestone 112 Ace

MSR Gjutarevägen Stenkullen

LBST-604. NEXA LBST-604 Skymningsrelä. Säkerhet. Tekniska data. Uppdaterad: 23 feb av 7

Växtviskaren EITF11 Digitala projekt VT15, I12

.00 E00. Innehåll: Kablage allmänt. Tillägg för drift Radiostyrning Igångkörning Programmering Vinschradio Elschema Felsökning

Rapport Digitala Projekt EITF11 Grupp 4 Axel Sundberg, Jakob Wennerström Gille Handledare: Bertil Lindvall

Digitala projekt, EDI021 Rapport Handledare: Bertil Lindvall

Aastra 7147a analog telefon

Total Control snabbguide

Avståndsmätare. Digitala System EITA Grupp 7. Abdelsalem Yabrag, Abdulhadi kikar, Fredrik Peterson, Jesper Annefors

Installatörs- och användarhandbok DI L

Telefrang Smoke Control System Installationsmanual för Midi- och MaxiSmoke Sida 1 av 12

Logger II Plus RADERA NAMN RING UPP

HF0010. Introduktionskurs i datateknik 1,5 hp

LBST-609. NEXA LBST-609 Skymningsrelä. Säkerhet. Tekniska data

BRUKSANVISNING. Logger Nova

Innehållsförteckning

Snabbguide. Telia Maxi 10. Bruksanvisning. Ställa klockan Se sid 5. Viloläge. Du har bläddrat fram en påringning 16 LZTA , 98-04

Programmeringsguide Picolo Porttelefon

RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk

MicroChiller2. Användarmanual. Mediavägen 8, Tyresö - Tel Fax D99218R BG 1(9)

Digitala Projekt - Snake Grupp - 7. Erik Ljung, d01elj Erik Simmons, d01es 25 maj 2005

Bruksanvisning DAB One

Manual för Kollektomat

LABORATIONSINSTRUKTION

Andromeda. Användning och Installation

Installatörs- och användarhandbok DI L

0.1. INTRODUKTION Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

Bruksanvisning G-2900

Modemprogrammering med PL7

Datakommunikation med IR-ljus.

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: Tid: 14:00-18:00.

Din manual DORO X40

Användarkort för Business Communications Manager Telefonisttelefon

Pulse Sonic K5505-K5506

Manual för EQE PLC enhet

SMS Switch Butler. SMS-Switch Butler. Toleka AB, Fenixväg 28, Gustavsberg Tel: , fax:

Larmcentral. Digitala Projekt. Cecilia Olsson & Erika Björck Handledare: Bertil Lindvall LUNDS TEKNISKA HÖGSKOLA

2. Låsa upp mobilen? Om din mobil är operatörslåst så rekommenderar vi att du tar kontakt med din operatör.

BRUKSANVISNING FÖRPACKNINGENS INNEHÅLL: MONTERINGSMÅTT: METER för solcellssystem med dubbla batterier

SafetyMOB. Installations och användarmanual för. trådlöst nödstopp - dödmansgrepp. SafePort Marine. Dokument: SM_UM_sv Version:

Som tiden går. Hjälpmedel som gör vardagen lättare

SMS-Relay. Digital Projects Lund University, Faculty of Engineering. Lund Supervisor: Bertil Lindvall

GSM-RELÄ MED 2 INGÅNGAR, 2 UTGÅNGAR. 850/900/1800/1900 MHz. GSMS-SW22 Manual

Tekniska fakta. Telia Andi PLUS, revisionsläge R2 Terminaladapter för ISDN. Bruksanvisning

DIGITALTEKNIK. Laboration D173. Grundläggande digital logik

Säkerhetsreläer Zander Aachen TALOS. Säkerhetssystemet med plug & play. Komponenter för automation. Nordela

Doro Secure 580IUP. Användarhandbok. Svenska

SB168-ES och LS9 Quick Setup Guide Svensk version

SCHOLA COMAI ELEV WEBBKALENDER / SCHEMA VERSION 1.1. [Skriv text]

Minnen. Informationsteknologi sommarkurs 5p, Agenda. Slideset 4

Innehåll 1. Om ScandLarm Air Ladda ner App Starta kontrollpanel Konfigurera App till kontrollpanelen

Projektarbete 2: Interaktiv prototyp

Digitala Projekt EDI021, Nummerpresentatör. Innehållsförteckning

T1-modulen Lektionerna Radioamatörkurs OH6AG OH6AG. Bearbetning och översättning: Thomas Anderssén, OH6NT Heikki Lahtivirta, OH2LH

LMLR-710 (Nätansluten mottagare/dörrklocka) LMLT-711 (Tryckknappsenhet/sändare för dörrklocka)

Föreläsning 3.1: Datastrukturer, en översikt

Doro Secure 580. Användarhandbok. Svenska

Transkript:

Institutionen för Informationsteknologi Lunds Tekniska Högskola Projektarbete Nummerpresentatör Av: Henrik Hall Mattias Larsson Romani Nous 2001-01-15

Abstract For the unexperienced student, designing a digital device can be quite a challenge. During a number of weeks we designed our own Caller ID from scratch. The device is based on the Motorola 68008 micro processor. The rest of the hardware includes a display, memory, a real time clock, programmable logic, a few buttons, a UART and a DTMF transceiver. The UART is used for serial communication with a PC, and the DTMF transceiver is used for detecting signals from the public telephone system. The work started off with setting up goals and composing a requirement specification. By knowing what is expected of the device the suitable components were chosen. The next step was making a wiring diagram, followed by wrapping the pins. Most part of the work was done independently with a little help from the instructor. In this thesis we describe the design, the way of implementation and the debugging of both hardware and software. 2

Innehållsförteckning 1. Inledning... 4 2. Funktionalitet och arbetsgång... 4 2.1 Funktionalitet... 4 2.2 Arbetets gång... 4 3. Hårdvara... 5 4. Mjukvara... 6 4.1 Mjukvara i nummerpresentatör... 7 4.2 Mjukvara på PC... 7 5. Resultat... 8 6. Referenser... 9 Appendix A - Kravspecifikation... 10 Appendix B - Kretsschema... 11 3

1. Inledning Efter många års studier vid LTH, där flertalet kurser behandlar teoretiska ämnen, kan det vara skönt med en praktisk kurs. Kursen Digitala projekt är just en sådan kurs, där man bygger en digital pryl från grunden till en färdig prototyp. Kursen är extra intressant eftersom den spänner över många områden - datorteknik, digitalteknik, elektronik, mjukvara, kommunikation mfl - dvs man får använda sina surt förvärvade kunskaper från tidigare kurser på ett kreativt sätt. Vid kursens start får man antingen, ur en lista med olika förslag, välja en pryl att bygga eller också komma med ett eget förslag. Arbetet drivs till största delen självständigt med lite hjälp från handledaren. Vi är ett gäng på tre grabbar som valt att bygga en avancerad nummerpresantatör. I denna rapport avser vi att beskriva själva konstruktionen hos nummerpresentatören samt vårt tillvägagångssätt från en hög komponenter och sladdar till färdig prototyp. 2. Funktionalitet och arbetsgång 2.1 Funktionalitet Nummerpresentatören har de vanliga funktionerna som brukar ingå i en traditionell nummerpresentatör, t ex att kunna lagra 30 inkomna samtal tillsammans med datum och klockslag, och det går med hjälp av knappar att bläddra i listan av telefonnummer och radera ett eller alla telefonnummer. Men utöver dessa standardfunktioner finns också ett antal mer avancerade finesser. T ex kan nummerpresentatören, via en serielkabel, kopplas till en PC på vilken man kan lägga upp telefonbok. Telefonboken laddas ner till nummerpresentatören och när sedan någon ringer som finns med i telefonboken kommer telefonnumret att mappas till ett namn som tillsammans med telefonnummer, tid och datum visas på displayen. På PC:n finns också möjlighet att lägga upp en lista med nummer som man vill svartlista. Då någon som finns med i denna lista ringer stängs telefonen av så att den ej ringer. Ett önskemål kan också vara att det bara är vissa nummer som får ringa under vissa tider, förslagsvis nattetid. Dessa nummer lagras i en vit lista. 2.2 Arbetets gång Vi har haft 7 veckor till vårt förfogande för att bygga nummerpresentatören. Till en början kändes arbetet överväldigande och man visste inte från vilket håll man skulle angripa problemet. Första anhalten bestod i att formulera kravspecifikationen (se appendix A). Då denna var klar var det dags att bestämma vilka komponenter som behövdes. Därefter ritades ett kretsschema med hjälp av datorprogrammet PADS PowerLogic (se appendix B). Detta schema låg till grund för själva konstruktionsarbetet, som mestadels bestod av virning och lödning på ett virkort. Då hårdvarukomponenterna fåtts att fungera tillsammans på ett bra sätt och testats ingående påbörjades arbetet med mjukvaran. Till vår stora hjälp hade vi då en emulator som bla gjorde att vi slapp bränna om EPROM varje gång vi ändrade i vårt program, istället laddade vi bara ner koden till emulatorn. Dessutom fanns funktioner för 4

debugging, tex möjlighet att sätta brytpunkter under exekvering av vårt program. Utan denna hjälp hade arbetet med utveckling och felsökning av mjukvaran blivit enormt mycket mer tidskrävande, och absolut inte rymts inom ramarna för denna kurs. För att kunna arbeta lite parallellt med både mjukvara och hårdvara byggde vi hårdvaran för de grundläggande funktionerna klar först, och fick mjukvaran till dessa att fungera. Därefter byggde vi på hårdvaran samt tillhörande mjukvara i moduler. 3. Hårdvara Följande huvudkomponenter användes: Processor: MC68008 Då vi påbörjade vår konstruktion ställdes vi att välja om vi ville basera vår konstruktion på Motorolas processor MC68008 eller enchipsdatorn 68HC11. Då vi ansåg oss behöva mer minne än vad HC11:an kunde ge oss valde vi MC68008 som har större möjligheter för utbyggnad. Detta innebar att vi behövde ganska många separata kretsar, något vi inte behövt med HC11. Dock anser vi i efterhand att det var värt det extra besväret att använda 68008, eftersom vi därigenom mer ingående lärde oss samverkan mellan olika kretsar, kontrollsignaler osv. Minne: 16 kb EPROM samt 32 kb SRAM. I SRAM lagras bla inkommande samtal, telefonbok, svartlista och vitlista. I EPROM lagras själva programkoden. Klocka: MM58274CN. Interruptstyrd realtidsklocka som används för att hålla koll på datum och tid, då vi vill lagra dessa vid inkommande samtal samt visa klocka då presentatören ej används. UART: MX68C681-PC. Används för kommunikationen mot PC. En seriell kabel ansluts med 9-polig DSUB via en MAX233 spänningskonverterare till UART:en. Kretsen är interruptstyrd. DTMF-transceiver: MT8880AE. Interruptstyrd krets som avkodar analoga signaler från telenätet samt sänder sådana till telenätet. Anslutningen till telenätet sker via RJ19- kontakter. Display: Sharp 4x20 tecken. På denna visas allsköns information såsom samtalslista, datum och tid mm. Relä: AX121A-4. Denna komponent använder vi för att kunna bryta spänningen till telefonen så att den ej ringer. In/ut-matning: Fyra knappar samt 2 lysdioder användes för detta. Dessutom användes naturligtvis diverse komponenter för kontrollsignaler. Vi använder oss av en gemensam databuss samt en gemensam adressbuss vilket kräver logik för t.ex. 5

chip select och output enable för att avgöra vem som får tillgång till databussen osv. Denna logik samt logik för avbrottsstyrning implementerades i ett antal PAL-kretsar. Eftersom vår DTMF-avkodare och display är synkrona krävdes extra logik för att få dessa att fungera tillfredsställande tillsammans med det övriga systemet som är asynkront. En färdig lösning på detta problem fanns i manualen till processorn och kopierades rakt av. För in- och utmatning användes D-vippor. För att kunna kontrollera om ett samtal besvarats samt om det ringer använde vi två optokopplare som kopplades till telenätet samt två JK-vippor. Anledningen till att vi vill kunna avgöra om det ringer är att vi bryter telefonen då ett svartlistat nummer försöker ringa. Vi måste då veta när det slutat ringa så att vi kan aktivera telefonen igen. Detta görs genom att optokopplaren nollställer JK-vippan då det ringer, och med jämna mellanrum kontrolleras om vippan är nollställd. Är den det ettställs den. Är den fortfarande ettställd nästa gång man kontrollerar den så har det slutat ringa och reläet kan aktivera telefonen på nytt. Lurlyft kontrolleras på motsvarande sätt. Fig 1. Hårdvaran 4. Mjukvara Mjukvaran består av två delar, dels den som körs i själva nummerpresentatören, dels programmet på PC för överföring av telefonbok osv. 6

4.1 Mjukvara i nummerpresentatör Denna är skriven i ANSI C med vissa tillägg i assembler och är till stor del baserad på avbrott. Mycket styrs av realtidsklockan som programmeras att ge avbrott 10 gånger i sekunden. Då kollas knapptryckningar, display och lysdioder uppdateras osv. Dessutom ges avbrott från DTMF-avkodaren då denna tar emot signaler från telenätet samt från UART:en då denna vill utföra kommunikation mot en PC. Klockan och DTMF-kretsen delar på avbrott 5, medan UART:en använder sig av avbrottsnivå 2. Förutom rutiner för att kunna bläddra i listan av samtal och liknande finns även funktioner för att ställa datum och tid med hjälp av knapparna. Målet var att nummerpresentatören skall kunna användas som en traditionell sådan självständigt utan att kopplas till en PC så länge man ej önskar använda specialfunktionerna. Fig 2. Nummerpresentatören igång. 4.2 Mjukvara på PC Denna valde vi att skriva i Visual Basic, pga dess enkelhet att skapa ett snyggt användarvänligt program. Rutiner för seriekommunikationen fanns färdiga vilket ytterligare underlättade. I detta program kan man lägga till samt ta bort nummer och namn i telefonboken, lägga till samt ta bort nummer i svartlistan eller vitlistan samt ladda upp dessa data till nummerpresentatören. En skärmdump från vårt program kan ses nedan. 7

Fig. 3: Användargränssnitt på PC-sidan 5. Resultat Under kursens gång har vi naturligtvis stött på problem, av varierande omfattning. Trots allt har vi kunnat bygga en pryl som fungerar enligt våra förväntningar, med vissa små undantag. Som en vanlig konventionell nummerpresentatör fungerar den alldeles ypperligt, det är möjligen våra extra funktioner som ännu kräver viss finslipning. En sak man skulle kunna förbättra är också att använda EEPROM istället för SRAM för att lagra telefonbok osv, så att dessa ej försvinner då spänningen bryts. För att det skall vara rimligt att använda vår nummerpresentatör i hemmet måste den naturligtvis också bli mycket mindre, något som kanske uppnåtts om man använt 68HC11. Den stora utmaningen under konstruktionen av hårdvaran låg i att få de olika komponenterna att kommunicera med varandra. DTMF- och UART-krestarna var de största utmaningarna. DTMF-kretsen ställde till stora problem då dess statusregister inte betedde sig enligt datablad. Detta innebar förutom att en massa tid gick att vi sköt upp funktionen med uppringning från DTMF-kretsen. Timing var ett annat problem. När man skickar en signal, måste den ju tas emot i rätt ögonblick på andra sidan. Bland annat tvingades vi fördröja DTACK-signalen till processorn för att kommunikationen med realtidsklockan skulle fungera. Även trimning av optokopplarna för att kunna detektera 8

lurlyft och ringsignal visade sig dra ut på tiden, även om det till slut visade sig bli en ganska enkel lösning. Förvånanade nog hade vi inga problem med virningen av sladdar. Vi virade hundratalet sladdar, bestående av kontrollsignaler, databussar och adressbussar. Vi räknade med att sannolikheten för ett fel var enormt stor. Det visade sig att vi virade allting rätt direkt och slapp därmed eventuella problem. Slutligen vill vi bara konstatera att kursen varit både väldigt lärorik och inte minst rolig. 6. Referenser Lindvall, Bertil. It-68 Utvecklingssystem för MC68008 version 4.0 Motorola. MC68008 8-/32-bit microprocessor with 8-bit data bus, 1985. Televerket.Överföring av nummerinformation över analog ledning vid ankommande trafik, 1992. Institutionen för informationsteori. Digitala projekt, datablad 68008 Kernighan, Brian W. och Ritchie, Dennis M. The C Programming Language, 1988 Institutionen för informationsteknologi. http://www.it.lth.se/it/courses/digp/index.html 9

Appendix A - Kravspecifikation Följande är vår ursprungliga kravspecifikation: 1. Nummerpresentatören skall kunna lagra uppringande telefonnummer. Minst 30 nummer skall kunna lagras. 2. Förutom telefonnummer skall även datum och tid för en uppringning lagras. 3. Nummerpresentatören skall ha en display som kan visa alla uppringande nummer och dess tillhörande datum och tid, ett i taget. 4. Med hjälp av knappar skall användaren kunna bläddra i listan av uppringande telefonnummer. 5. Användaren skall med en knapp kunna radera telefonnummer, antingen ett i taget eller alla på en gång. 6. Användaren skall med hjälp av knappar kunna ställa in datum och tid på nummerpresentatören. 7. Då inga nummer finns i listan skall lämpligt meddelande på displayen tala om detta. 8. En lysdiod skall tala om ifall det finns nya ej besvarade samtal. 9. Lysdioden skall blinka samma antal gånger som antalet nya ej besvarade samtal, därefter skall den vara släckt under en viss tid. 10. Nummerpresentatören skall med hjälp av en seriell kabel kunna anslutas till en PC, och skall kunna konfigureras på PC:n med hjälp av en tillhörande programvara. 11. Användaren skall kunna lägga till telefonnummer till en svart lista, vilket innebär att telefonen ej ringer för dessa telefonnummer. 12. Användaren skall kunna bestämma vilka samtal som släpps igenom under vissa tider på dygnet, en s.k. vit lista. 13. Konfigurering av vilka telefonnummer som skall finnas i den svarta respektive vita listan görs på en ansluten PC med tillhörande programvara. 14. Den svarta listan skall kunna aktiveras/deaktiveras utan att tömmas. 15. Den vita listan skall kunna aktiveras/deaktiveras utan att tömmas. Vid aktivering skall tidpunkt för start och stopp anges. 16. På en ansluten PC skall användaren kunna lägga upp ett telefonregister som mappar telefonnummer mot namn. Då någon som finns med i registret ringer upp skall namnet visas i nummerpresentatörens display tillsammans med telefonnumret. 17. Alla inställningar som gjorts på den anslutna PC:n skall kunna överföras till nummerpresentatörens minne, alltså skall den svarta och vita listan samt namnmappningen fungera på nummerpresentatören även då PC:n inte längre är ansluten. 10

Appendix B - Kretsschema 11