Det Teknisk-Naturvidenskabelige Fakultet



Relaterede dokumenter
Indhold. I Design 3. Elektronik og elektroteknik Aalborg Universitet

0.1 Modultest af hardware

Indholdsfortegnelse :

Indhold. I Design 4. 3 Mikroprocessersystem-hardware Motorola Krav til modul... 18

Detter dokument er kun til intern brug og klassificeret som strengt fortroligt. Forfatteren tager forbehold for alle fejl og mangler.

Lyskryds. Thomas Olsson Søren Guldbrand Pedersen. Og der blev lys!

Journal JTAG: Udarbejde af: Benjamin Grydehøj I samarbejde med PDA Projektgruppen. Elektronikteknologafdelingen på Erhvervsakademi Fyn.

Projekt - RoboNet Del Journal.

Der er derfor, for at alle kan sende, kun tilladt, at sende intermitterende. Altså korte pakker. ( Dette skal dog verificeres!!)

Programmering af trådløse modtagere (RF)

Egenskaber for ROM/RAM

I 2 C BUSSEN KØRER MED ARDUINO IND I FORÅRET

Det Teknisk-Naturvidenskabelige Fakultet

DC-Motor Controller. Brugermanual

Hold 6 Tirsdag. Kristian Krøier, Jacob Christiansen & Thomas Duerlund Jensen Fag: ELA Lærer: Jan Petersen (JPe) Dato for aflevering: 29.

Temperaturmåler. Klaus Jørgensen. Itet. 1a. Klaus Jørgensen & Ole Rud. Odense Tekniskskole. Allegade 79 Odense C /

CAN BUS alarm, AK4625 Snapguide med oversigt over ledninger fra sirene og modul

Strømforsyning +/- 12V serieregulator og 5V Switch mode

Program Dokumentation PC Software Skrevet af. Gruppen. Version 1.0

Projekt. HF-forstærker.

SunFlux Varenr.: 03104

AVR MP Ingeniørhøjskolen i Århus Michael Kaalund

2. De 7 signaler skal kodes til en 3-bit kode. Enkodningen skal prioriteres som beskrevet i afsnit?? på side??.

Elektronikken bag medicinsk måleudstyr

TG 8. Indhold: TG8 - Kredsløbsbeskrivelse Gruppemedlemmer: Kim Andersen, Kasper Jensen & Thyge Mikkelsen Dato: Modtaget af: Søren Knudsen

Brugervejledning for Senge- og dørvagt PIR2003

L P. Komfort / Alarm system Installationsvejledning. Tekniske data, symbol forklaringer

Intelligent afstandsmåler. Gruppe 415

Hvorfor skal man bruge lysbomme og lysgitre?

Oversigt. Indhold mm.5: Latch es og flip-flops Analyse af synkrone sekventielle kredsløb Syntese. Boolsk algebra, byggeblokke,

Alarmsystem. INSTALLATIONSVEJLEDNING Kun for kvalificerede teknikere

Talkboard. Af Michael Hansen Jes Toft Kristensen

AGV Kursus August 1999

Svane Electronic Universal timer med 2 relæer og 18 funktioner hver 1

Design og funktionel prototype

Det Teknisk-Naturvidenskabelige Fakultet Aalborg Universitet

Metal Detektor. HF Valgfag. Rapport.

Alt dette er også grundlaget for digitalteknikken, som er baseret på logiske

Hardware dokumentation Skrevet af. Gruppen. Version 1.0

EMSD 7 Gr. 15 Aalborg Universitet

Ventilmotor EC 2006 / EC2008. Indholdsfortegnelse.

Bilag til den indsigelse, som sommerhusgrundejerforeningerne på Samsø har fremsendt til Skov- og Naturstyrelsen den 27. april 2012.

Logik Rapport - Alarm. Klaus Jørgensen Itet. 1a. Klaus Jørgensen & Ole Rud 9/ Vejledere: PSS & SKH

Eksamens spørgsmål i Teknologi (Digital) 3. Semester (i)

Side 2 CS 9452 Brugervejledning. Afsnit Navn Side. 1 Ordforklaring (terminologi) 3. 3 Betjeningsknapper og -lamper 6

UniLock System 10. Manual til T550 Secure Radiomodtager og håndsender. Version 2.0 Revision

Gode lønforhandlinger

SeeTool - KNX løsninger til

Titel: Indendørs positioneringssystem. Synopsis: Tema: Mikrodatamatsystemer. Projektperiode: E4, forårssemesteret Projektgruppe: 06gr414

DKK Rally-lydighed, Øvede-klassen. 40. Fristende 8-tal

Computerens Anatomi Af Mathias og Mark

Arduino Programmering

Forsøg med dynamisk LED-vejafmærkning for at undgå ulykker med cyklister og højresvingende biler og lastbiler

Kravspecifikation For. Gruppen

Lysgitter Quick Guide

Jægergårdsgade 152/05A DK-8000 Aarhus C DENMARK AC Motor Controller 370W. Brugermanual

NETLON. KV2_2b beskrivelse. Dette dokument indeholder en beskrivelse af en KV2 klasseværelsesstyring fra Netlon.

NMT - /40, 60, 80 NMT ER - /40, 60, 80 EGHN SMART - /60

Programmering af CS1700-Proxlæser

Digital positioner type RE 3446

NORDISK CONTROL A/S. FUNKTIONSBESKRIVELSE AF PORTSTYRING NC X 400V 50Hz

version 15

MAS Trappe Robot. Programmering af Robotter og andre Fysiske Enheder University of Southern Denmark

Manual til PRO DK180

PR 2000 Proximity-læser Art. Nr.: Installationsmanual

Undervisningsbeskrivelse

Digital Drejeskive Decoder til 7286 / 7686

DM13-1. Obligatoriske Opgave - Kredsløbs design

X88MV. Manual Version 1.26

Datamaters arkitektur og programmering

Effekt af blinkende grønne fodgængersignaler

KOMFORT & SIKKERHED. NYHED ST660 Trådløst system. Komfort og Sikkerhed med COMFORTVIDEO TM KAMERASYSTEMER. Komplette Kamerasystemer

SIKOM A/S SIKKERHED & KOMMUNIKATION Samsøvej 17 DK-8382 Hinnerup Vandtårnsvej 77 DK-2860 Søborg Tel Fax

SeeTool - KNX løsninger til

Monteringsanvisning for betjeningstryk. Monteringsanvisning for betjeningstryk. Pin 1: GND Fælles stel Pin 2: DN - Ned Pin 3: UP - Op.

Hjertets elektriske potentialer og målingen af disse

Svendeprøve Projekt Tyveri alarm

Undervisningsbeskrivelse

TX electronic controller

Trust PCI Ethernet Combi Brugsanvisning

Opsætning og installation af NMEA 2000 netværk. Generel information

Det Rene Videnregnskab

Drejeskive fra Märklin/Fleischmann

PLC - programmering af sekventielt projekt

GSM porttelefon og samtale anlæg. SSI GSM porttelefon system

SSI-9001 IP65. Installations vejledning. SSIHuset v/svane Electronic ApS. GSM fjern kontrol og alarm system

AM signalet er et automatisk mellemblok signal. Det består af 3 lamper og er opbygget som et U signal med 3 lamper.

Computerens anatomi. Flashklip for børn

895 Harmony-fjernbetjening. Brugervejledning, version 1.0

Børn med særlige behov: Hvad har vi gjort for at inkludere dem i fællesskabet.

Opgavesæt udviklet til kursus Grundlæggende elektronik på mobile maskiner 2. Udviklet i 2015

automatiske døre Information om den europæiske standard EN 16005

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi C Opgave: Brev til Sigurd Lære: John Austin Side 1 af 13 Dato:

Dansk Mink Papir. Teknisk brugermanual

Niveauer af abstrakte maskiner

Motorer til modulerende styring

LEKTION 22 FARVEBEHANDLING

Betjeningsvejledning. til. Vandkiosk. system

Naturstyrelsens opdatering af 3-registreringer

Transkript:

Det Teknisk-Naturvidenskabelige Fakultet Elektronik og elektroteknik TITEL: Intelligent afstandsmåler PROJEKTPERIODE: P4, 3. februar - 28. maj, 2003 PROJEKT GRUPPE: 03gr416 GRUPPEMEDLEMMER: Casper Bonde Kim Boe Jensen Kim Nørmark Mikkel Purup Stefan Hansen Søren Kildedal SYNOPSIS: Denne rapport handler om design af en intelligent afstandsmåler. bla bla... VEJLEDER: Jan Dimon Bendtsen Oplagsantal: 8 Rapport sideantal: 100000 Appendiks sidenantal: 1000 Total sideantal: 9847730,3

Resume 03gr416 Dansk resume bla bla bla English resume bla bla bla på engelsk 2 Elektronik og elektroteknik

03gr416 Forord Forord I dette projekt tages der udgangspunkt i et oplæg fra vejleder Jan Dimon Bendtsen, lektor ved Institut for elektroniske systemer, afdeling for proceskontrol, samt et 5. semesters projekt fra år 2002 af gruppe 508 fra Institut for elektroniske systemer, afdeling for kommunikationsteknologi fra : "Konstruktion af autonom mobil robot". Denne rapport bruges til at finde forskellige specifikationer for en bestemt robot. Rapporten henvender sig til personer med samme tekniske vidensniveau som os og med interesse for intelligente afstandsmålere. Derudover henvender den sig også til vores vejleder. Fremover i rapporten vil den intelligente afstandsmåler blive kaldt IAM. Derudover skrives softwarefunktioner med en dobbeltparantes i enden, eks: Sweep(). Flowdiagrammer i software-kapitler er opbygget efter en standard, hvor figurerne betyder noget bestemt. Figurforklaringen kan ses i appendiks A på side 28. Aalborg, 4. marts 2002 Casper Bonde Kim Boe Jensen Kim Nørmark Mikkel Purup Stefan Hansen Søren Kildedal Elektronik og elektroteknik 3

Indhold 1 Indledning 6 I Design 8 2 Sensor-hardware 9 2.1 Stepmotor................................ 9 2.1.1 Krav til modul......................... 9 2.1.2 Designmuligheder med valg.................. 10 2.1.3 Blokdiagram........................... 10 2.1.4 Design In-Buffer........................ 11 2.1.5 Design Out-Buffer....................... 11 2.1.6 Design Driverkreds....................... 12 2.1.7 Komplet Diagram........................ 12 2.2 Sonarmoduler og styring........................ 13 2.2.1 Krav til modul......................... 13 2.2.2 Designmuligheder med valg.................. 14 2.2.3 Blokdiagram........................... 14 2.2.4 Design buffer.......................... 15 2.2.5 Design Interrupthåndtering.................. 16 2.2.6 Samlet diagram......................... 17 3 Mikroprocessersystem-hardware 19 3.1 Dtack.................................. 19 3.1.1 Designmuligheder med valg.................. 19 4 Elektronik og elektroteknik

03gr416 INDHOLD 3.1.2 Design af DTACK....................... 21 3.1.3 Komplet Diagram........................ 24 II Appendiks 27 A Figurforklaring til flowdiagrammer 28 Elektronik og elektroteknik 5

Kapitel 1 Indledning Eftersom der indenfor de seneste 10 år har vist sig større og større interesse for selvkørende autonome robotter, er der et stigende behov for detekteringsmoduler, som kan registrere omgivelserne og eventuelt give reaktioner alt afhængig af situationen. Dette er altafgørende for at en kørende robot ikke skal kollidere med objekter i robottens miljø. Der eksperimenteres i disse år med at gøre privatbilen automatisk. Dette betyder, at det er essentielt, at bilen kan orientere sig i forhold til vejbanen og andre biler på denne. Dette gælder specielt evnen til at holde en fast minimumsafstand til andre biler, hvilket bl.a. gøres med sonar- og laser-moduler 1. Der er også små robotter til salg på markedet i dag, som benytter sonar til detektering af objekter. Dette gælder bl.a. de automatiske støvsugere. Disse skal være i stand til at gå meget tæt på objekter i en normal husholdning og må derfor have følere som er specielt tilpasset disse krav, hvilke minder om dette projekts krav. Elektrolux er en af de fabrikanter, der laver disse støvsugere, og på deres robotter bruges sonararrays til at detektere objekter 2. Der er i stadig højere grad brug for konstant og grundig afsøgning og sikring af bygninger i dag. Derfor er der blevet udviklet vagtrobotter, som afsøger en fast rute igennem en bygning. Dette gør, at den minder en hel del om dette projekt. Det japanske firma Sanyo er i år 2003 kommet på markedet med nogle "hjemmerobotter", som er en slags vagtrobot. Disse robotter kan registrere omgivelserne med bl.a. sonar og infrarøde sensorer 3. 1 Kilde: [?], side 469 2 Kilde: [?] 3 Kilde: [?] 6 Elektronik og elektroteknik

03gr416 Kapitel 1. Indledning Intelligente afstandsmålere bruges i det hele taget i mange forskellige sammenhæng, og disse førnævnte eksempler kan betragtes som forbilleder til dette projekt. En god idé ved design af IAM er, at den laves fleksibel, så den kan implementeres i flere forskellige sammenhæng. Dette vil forlænge markedslevetiden, da konceptet med en intelligent afstandsmåler højst sandsynligt vil holde i mange år. En passende analogi til dette projekt findes i dyreverdenen i form af flagermus og delfiner. Disse dyr er i stand til med brug af ultralyd at orientere sig i forhold til deres omgivelser og samtidig være i stand til at genkende objekter. Den tilsvarende teknologiske løsning er sonararrays. Elektronik og elektroteknik 7

Del I Design 8 Elektronik og elektroteknik

Kapitel 2 Sensor-hardware 2.1 Stepmotor 2.1.1 Krav til modul Zonen som Ir-følerne skal kunne dækker er minimum 100 graders område som skal kunne dreje 59 grader i begge retninger. Udfra monteringstegning figur?? på side?? i analyse afsnittet, skal stepmotoren kun dreje (2 25)+(2 59) = 168 grader i alt. Dette betyder at den skal være i stand til at lave 47 full steps(3,6 grader). Udfra valget i systemdesign, skal stepmotoren styres software mæssigt. Funktion Stepmotorens funktion er at dreje sensorne, når den får et input fra cpu en. Den skal kunne dreje i begge retninger, og benytte både halv- og hel- step. Desuden skal den kunne give melding om at motoren har aktiveret kalip-knappen, samt om driveren er i HOME stilling. Input Input til stepmotor modulet kommer dels fra M68k via databussen, som styrer opsætning af stepmotor. Derudover kommer der chip-select fra adresse dekoderen. Output Motoren drejer og home bennet har mulighed om at give signal om stepmotor modulet er i home stilling. Calib bennet giver mulighed for at kalibrere stepmotorens position. Elektronik og elektroteknik 9

Kapitel 2. Sensor-hardware 03gr416 Navn Fork. Beskrivelse Bredde Peri 1 upper peri1up vælger stepmotormodul 1 bit Databus D 8 13 Overførsel af data 8 bit Tabel 2.1: Input-tabel 2.1.2 Designmuligheder med valg Den eneste stepmotor det var muligt at få var NEC HB-306-B2202. Det er en ældre model stepmotor til et floppy drev derfor er det ikke muligt at finde et datablad. Det er en bipolar viklet motor, og der fundet komplet driver kreds til den. For at kunne styrer den software mæssigt er det hensigtsmæssigt med en buffer og en driver kreds. Bufferen er der for at sikre at driver kredsen kan nå at læse de signaler der bliver sat på databussen. Driver sørger for at man kan styrer motoren med TTL niaveuer, samt at det er simplere at styrer den. Eksterne grænseflader Stepmotoren skal styres software mæssigt og derfor er dens ene grænse flade databenene på M68k, og chip-select til kredsen. Den anden er at den skal kunne trække monteringklodsen til IR-følerne. 2.1.3 Blokdiagram Diagrammet på figur 2.1 viser de blokke som stepmotor-modulet er opbygget af. De enkelte blokke er beskrevet i de efter følgende afsnit. Input In-Buffer Driverkreds Til Motor Output Out-Buffer Calip Figur 2.1: Blokdiagram over step modul Tabellerne nedefor viser input og output til stepmotor-modulet s eksterne grænseflader. 10 Elektronik og elektroteknik

03gr416 Kapitel 2. Sensor-hardware Navn Fork. Beskrivelse Bredde Databus D 14 15 Overførsel af data 8 bit Stepmotor ben 1 4 Styring af stepmotor 4 ledninger Tabel 2.2: Output-tabel Interne grænseflader Bufferen har intern grænseflade op mod driver kredsen, denne grænseflade skal kører TTL niveauer. 2.1.4 Design In-Buffer In-Bufferen er valgt til at være en D-flipflop kreds fra Phillips 74HCT573 se datablad?? på side??. Funktionen af denne er at det skal holde data på udgangen indtil at den bliver bedt om at give nye data på udgangen. Dette er nødvendigt, da M68k kun holder data på bussen i ca 40ns hvilket ikke er nok til at driverkredsen kan opfatte det. 2.1.5 Design Out-Buffer Out-Bufferen er valgt at blive programeret i en af de eksisterende PEEL-kredse 1, dette er gjort fordi der kun er to signaler der skal latches ud og at der var tilstrækkelig plads i den pågældende kreds. Output-Bufferen er programmeret til at have 3-state-oupput, da dette skal forbindes med databussen. PEEL-programkode HOMEOUT.OE =!PERI1UP & RW; Når PERI1UP (fra Bytecontrol) er lav og RW (R/W* fra µ-processoren) er høj, er HOMEOUT.Com aktiveret, ellers er dette højimpedanset. HOMEOUT.Com = HOMEIN ; HOMEOUT er direkte HOMEIN signalet fra driverkredsen. KALIPOUT.OE =!PERI1UP & RW; Når PERI1UP (fra Bytecontrol) er lav og RW (R/W* fra µ-processoren) er høj, er KALIPOUT.Com aktiveret, ellers er dette højimpedanset. 1 PEEL-kredsen hedder "IACK, Motor & CLK 8K" Elektronik og elektroteknik 11

Kapitel 2. Sensor-hardware 03gr416 KALIPOUT.Com = KALIPIN; KALIPIN er kalibreringskontakten på stepmotoren Den komplette programkode til denne PEEL-kreds kan findes via Appendiks?? på side?? under navnet "IACK, Motor & CLK 8K". 2.1.6 Design Driverkreds Driver laves med 2 kredse L297 og L298 fra SGS-Thomson se datablad?? på side??. De to kredse er et færdigt driver kredsløb til en bipolar stepmotor. Fordelen ved dem er at de kan styres med TTL niveauer, der er de idelle til vores anvendelse. Desuden er det nemmere at styrer retning, da der kun er et ben til at ændre retningen og det er uafhænging af hvilken vej, stepmotoren drejede sidst. Opbygning af kredsene er taget direkte fra databladet og der er ikke foretaget ændringer, da dette er en anvendelig løsning. 2.1.7 Komplet Diagram Det samlede kredsløb for modulet ses på figur 2.2. Figur 2.2: Diagram over driver kredsløb CW/CCW* (clockwise/counterclockwise) er det ben der bestemmer retningen. Ved høj niveau drejer den med urets retning og ved lavt niveau mod urets retning. Clock* dette ben styrer hvornår den skal lave det næste step og det er aktiv lavt. For at den kan nå at registrer det skal det være aktiv lavt i minimum 0,5 µs. H/F* (Half/full) bestemmer om der laves et halv(1,8 grader) ved højt niveau eller et helt step(3,6 grader) ved lavt niveau. 12 Elektronik og elektroteknik

03gr416 Kapitel 2. Sensor-hardware Reset* resetter(aktiv lav) det interne register i driverkredsen L297 til at stå den binære værdi(0101), hvilket kaldes home. Enable gør at driverkredsen er aktive. Control Home er en udgang der fortæller om driver kredsen er i home stilling. Calib er en udgang der bruges til at kalibrere stepmotorens position med. Det er ikke en del driveren, men en kontakt det bliver monteret, således at den bliver aktiveret når stepmotoren er i den ene yder stilling. Vikling 1 og 2 er til hver deres vikling på stepmotoren. 2.2 Sonarmoduler og styring 2.2.1 Krav til modul Funktion Sonarstyringens funktion er at styre 5 stk sonarmoduler, så mikroprocessoren nemt kan sende/modtage data til/fra dem. Input Der er inputs i form af styresignaler til sonarmodulerne. Desuden er der signaler til at indikere, at der ønskes kommunikation med sonarmodulerne, samt om der ønskes en læse- eller skrive-cyclus. Output Systemets outputs er data der beskriver, hvor lang afstanden er fra sonarmodulerne til objekter. Elektronik og elektroteknik 13

Kapitel 2. Sensor-hardware 03gr416 2.2.2 Designmuligheder med valg Fra sonarmodulerne er der et udgangssignal, der hedder ECHO. Det er tiden fra målingen påbegyndes og til at dette udgangsignal aktiveres, der indikerer hvor lang afstand der er til objektet. Der er to metoder til, at få denne data fra sonarmodulet. Den ene er gennem databussen via en buffer. Ved denne metode skal mikroprocessoren hele tiden måles på databussen for, at se om der kommet et ECHO-signal. Den anden metode er at lade ECHO-signalet styre et interrupt, og lade mikroprocessoren tage sig af signalet, når det kommer. Med denne metode spares der processorkraft. Derfor vælges den sidstnævnte. 2.2.3 Blokdiagram På figur 2.3 ses blokdiagrammet over sonarmodulet, samt dens styring. For at forhindre en konflikt på databussen, indsættes en buffer mellem databussen og sonarmodulerne. Signalerne "peri2up" og "R/W*" aktiverer bufferne, når det ønskes at skrive til modulerne. Fra sonarmodulerne kommer et ECHO-signal som skal sættes ned i en interrupthåndtering, så der kommer et interruptsignal, og at dette stoppes, når styringen modtager et IACK-signal. RW* Peri2up databus Buffer ECHO Sonarmoduler Interrupthåndtering IRQ5* IACK5* Figur 2.3: Blokdiagram over sonar-moduler samt -styring. Eksterne grænseflader Input Indgangen "peri2up" angiver, at det er sonarmodulet CPU en vil kommunikeres med. "R/W*" angiver at CPU en vil skrive til eller læse fra sonarmodulet. Databussen er 16 bit bred, og den skriver data fra cpu en til sonarmodulerne. Den fungerer her kun som input til sonarmodulerne og læser data ved cpu ens skrivecyklus. 14 Elektronik og elektroteknik

03gr416 Kapitel 2. Sensor-hardware Når CPU en har behandlet interruptrequestet fra sonarmodulet, sender det en interruptacknowledge (IACK5), så sonarstyringen kan fjerne requestet igen. Navn Fork. Funktion Bredde Bytecontrol peri2up Vælger enhed 1 bit Read/write R/W* Skriver til enhed ved læsecyclus 1 bit Databus D 00 - D 15 Overfører data til sonar 16 bit Interruptacknowledge IACK Interrupt er behandlet 1 bit Output Tabel 2.3: Eksterne inputs Det eneste eksterne output fra sonarstyringen er interruptrequest nummer 5 (IRQ5), som mikroprocessoren skal modtage for, at kunne måle hvor lang tid der er gået fra målingen er sendt af sted og til der kommer et echo tilbage. Interne grænseflader De interne grænseflader består af databussen efter bufferen, det vil sige det indhold af databussen, som kun vedkommer sonarmodulet. Databussen bruges til at overføre data til sonarmodulets 3 indgange: INIT, BLNK og BINH. Når sonarmodulet aktiveres på INIT-indgangen begynder det, at udsende målepulser. Når det interne blanking ønskes fjernet, skal BINH-benet sættes. Når modulet modtager en puls tilbage fra omverdenen, skal BINH sættes, inden den igen kan modtage signaler fra dens omgivelser igen. Desuden er ECHO-signalet fra sonarmodulet et internt signal, som skal starte et IRQ5, og stoppe det igen ved et IACK5. 2.2.4 Design buffer Som buffer er der valgt en 74hct573 kreds, som er en 1*8 bit buffer med latch enable (LE). Da der skal benyttes 5 sonarmoduler for at dække det ønskede område, skal der benyttes 15 databit, hvilket medfører at der skal benyttes to buffer-kredse. Indgangene "peri2up" og "R/W*" skal begge være aktive for at LE skal være aktiveres. De to signaler er aktivt lave og LE er aktiv høj, hvorfor de to indgangssignaler inverteres og sættes ind i en AND-gate. Diagrammet over bufferen kan ses Navn Fork. Funktion Bredde Interrupt IRQ5 Giver signal ved ECHO 1 bit Tabel 2.4: Eksterne outputs Elektronik og elektroteknik 15

Kapitel 2. Sensor-hardware 03gr416 Figur 2.4: Diagram over buffer. på figur 2.4. 2.2.5 Design Interrupthåndtering Figur 2.5: Diagram over interrupthåntering. Der skal gives et interrupt, når bare et af sonarmodulerne giver et ECHO, hvorfor der sættes en 4 input OR-gate på dem. Interruptsignalet skal kun holdes højt, indtil der kommer et IACK-signal tilbage fra mikroprocessoren. Derfor opbygges der et holdekredsløb op af en NOR-gate, en inverter og en AND-gate, der til sammen sørger for det. For hurtigt at stoppe ECHO-signalet til holdekredsløbet, indsættes et forsinkelseskredsløb, der sørger for at IACK-signalet kan stoppe IRQ-signalet kort tid efter, der er kommet et ECHO-signal. Forsinkelseskredsløbet bliver bygget op omkring et RC-led, en inverter og en AND-gate. Samtidigt skal 4 input OR-gate ændres til en 4 input NOR-gate. Der ønskes en tidsforsinkelse på 125 ns. Konden- 16 Elektronik og elektroteknik

03gr416 Kapitel 2. Sensor-hardware satoren er valgt til 100 pf. Beregningen af kondensatoren kan ses i formel 2.1. Diagrammet over interrupthåndteringen kan ses på figur 2.5 på modstående side. V c (t) = V CC R = R = C (1 e ( t R C ) ) t ( ( )) ln 1 V C(t) V CC 125[ns] ( ( )) 100[pF ] ln 1 0,8[V ] 2[V ] R = 2, 45[kΩ] (2.1) 2.2.6 Samlet diagram Det samlede diagram over styringen til sonarmodulerne kan ses på figur 2.6 på næste side. Alle de logiske gates programmeres ind i en PEEL. PEEL-programmets ligning kan ses nedenfor. RCIN-indgangen og IRQ5-indgangen er aktiv lave. I appendiks??? kan hele programmet ses. EQUATIONS: LE =!P ERI2UP &!RW RCIN = ECHO1 # ECHO2 # ECHO3 # ECHO4 IRQ5 = (RCOUT &!RCIN) # (!IRQ5 & IACK5) Elektronik og elektroteknik 17

Kapitel 2. Sensor-hardware 03gr416 Figur 2.6: Diagram over styringen til sonarmoduler. 18 Elektronik og elektroteknik

Kapitel 3 Mikroprocessersystem-hardware 3.1 Dtack Disse afsnit er taget ud af adressedekoderafnsittet. Der er yderligere lavet ændringer i grænseflade på outputsiden hvor DTACK er tilføjet Output 3.1.1 Designmuligheder med valg DTACK-generatoren eller Data Transfer AcKnowledge er vigtig i den sammenhæng, at den skal give M68k tilbagemelding, om at indholdet af databussen er i orden. Hvilket er vigtigt da M68k dermed kan fortsætte i programmet. Hvis M68k ikke får tilbagemelding om dette, kan den teoretisk vente uendeligt på tilbagemeldingen. Der er flere valgmuligheder ved designet af en DTACK-generator. Men de primære er om der skal indsættes waitstates i DTACK så langsommere enheder kan nå at reagere og om der skal designes en BEER-Watchdog timer, som overstyrer DTACK-generatoren ved fejl. I denne sammenhæng vælges det at se bort fra begge muligheder og designe DTACK-generatoren ud fra outputtet fra chipselect. Dette kræver dog at RAM og FLASH RAM har en hurtig accestid, og at der ikke kan opstå fejl ved acces af adresseområdet. Elektronik og elektroteknik 19

Kapitel 3. Mikroprocessersystem-hardware 03gr416 Navn Forkort. Funktion Bred. Chipselect: Flash RAM upper ROMUP* vælger flash i upper adresse 1 bit Flash RAM lower ROMLOW* vælger flash i lower adresse 1 bit RAM 1 upper RAM1UP* vælger RAM 1 i upper adresse 1 bit RAM 1 lower RAM1LOW* vælger RAM 1 i lower adresse 1 bit RAM 2 upper RAM2UP* vælger RAM 2 i upper adresse 1 bit RAM 2 lower RAM2LOW* vælger RAM 2 i lower adresse 1 bit Perifer 1 upper PERI1UP* vælger perifer 1 i upper adresse 1 bit 6 Perifer 2 lower PERI2LOW* vælger perifer 2 i lower adresse 1 bit Perifer 3 upper PERI3UP* vælger perifer 3 i upper adresse 1 bit Perifer 4 lower PERI4LOW* vælger perifer 4 i lower adresse 1 bit Perifer 5 upper PERI5UP* vælger perifer 5 i upper adresse 1 bit Perifer 6 lower PERI6LOW* vælger perifer 6 i lower adresse 1 bit ACIA chip ACIA* vælger ACIA i lower adresse 1 bit CPU: Upper Data Strobe UDS* fra M68k om upper data strope 1 bit Lower Data Strobe LDS* fra M68k om lower data strope 1 bit Valid peripheral VPA* indikerer gyldig adresse 1 bit address Data Transfer DTACK* indikerer gyldigt indhold 1 bit Acknowledge Tabel 3.1: Output fra adressedekoderen 20 Elektronik og elektroteknik

03gr416 Kapitel 3. Mikroprocessersystem-hardware 3.1.2 Design af DTACK Funktion DTACK-generatorens opgave er at skulle angive at indholdet på databussen er blevet accepteret overfor M68k. Dette har betydning i mikroprocessorens read og write cyklus, som ellers vil stå i evig venten på et signal fra DTACK. Input Input til DTACK-generatoren kommer fra chipselect og består af at DTACK er koblet til output benene FLASH*, RAM1*, RAM2*, PERI1*, PERI2* og PERI3*. Output Output fra DTACK-generatoren sker i form af et DTACK* til M68k på dennes DTACK-ben. Analyse af waitstates I figur 3.1 på den følgende side og 3.2 på side 23 er der foretaget en analyse af om det er nødvendigt at indsætte waitstates DTACK-generatoren. Af disse diagrammer fremgår det at adressedekoderen eller nærmere bestemt chipselect bruger 10 ns på at vælge kreds og aktivere DTACK*. Disse forsinkelser sammenholdt med det faktum at der bruges hurtig RAM og FLASH RAM gør at det ikke er nødvendig at indsætte waitestates i DTACK-generatoren. Elektronik og elektroteknik 21

Kapitel 3. Mikroprocessersystem-hardware 03gr416 #! & #! ( &!"#$!$ &$!$ &$ $(&$!$ & $ & $!$ & $ & $ )!$ &%# $ ' Figur 3.1: Read cyklussen i IAM. 22 Elektronik og elektroteknik

03gr416 Kapitel 3. Mikroprocessersystem-hardware #! & #! ( &!"#$!$ )!$ &$!$ & $ & $!$ &%##$ & $ & $!$ & $ & $ & $ & $ *+ )!$ &%# $ ' Figur 3.2: Write cyklussen i IAM. Elektronik og elektroteknik 23

Kapitel 3. Mikroprocessersystem-hardware 03gr416 DTACK-Kredsløb Da DTACK skal give tilbagemelding til M68k så hurtigt, som muligt uden waitstates opstilles den logiske ligning for DTACK nedenfor. Det bemærkes at det sker, som OR-gates af FLASH og RAM1 i dette projekt. RAM2 og de perifere enheder er inverteret for at de kan aktiveres ved senere udvidelser. Disse ligninger bruges ved programmering af en peelkreds. DT ACK = F lash RAM1 RAM2 P ERI1 P ERI2 P ERI3 (3.1) 3.1.3 Komplet Diagram For at minimere antallet af peelkredse er dele byte control og chip select blevet inkluderet i hinanden i det endelige peelprogram. Dette er sket for at kunne indsætte DTACK-generatoren i chip select-kredsen. I byte control er der yderligere inkluderet synkron buskontrol. Det endelige peelprogram hvor DTACK-generatoren, bus kontrollen og adressedekoderen er inkluderet og indsat som appendiks på CDrommen se?? på side??. Det samlede kredsløb for adressedekoderen kommer til at bestå af to peelkredse. De to chips kan ses på figur 3.3 på næste side. Det ses at der kun bruges 2 RAM-kredse i forhold til de 4 der er reserveret plads til i adresseområdet. Dette sker som en udvidelsesmulighed i det endelige design, men det implementeres ikke her. De enkelte perifere enheder styrer hver sin modul som er tilsluttet systemet disse fremgår af tabellen 3.2 på side 26. Bemærk at i det endelige diagram er det valgt at indsætte VMA* og VPA* i denne peelkreds, med direkte forbindelse mellem hinanden. Dette sker for at bevare muligheden for at genprogrammere VMA* og VPA* hvis det skulle være nødvendigt. 24 Elektronik og elektroteknik

03gr416 Kapitel 3. Mikroprocessersystem-hardware M68k : A23-A17 M68k : AS* M68k : LDS* M68k : UDS* A23 A22 A21 A20 A19 A18 A17 1 2 3 4 5 6 7 8 9 10 11 13 U7 I1/CLK O1 I2 O2 I3 Chip-select O3 I4 O4 I5 O5 I6 O6 I7 O7 I8 O8 I9 O9 I10 O10 I11 I12 22V10A 23 22 21 20 19 18 17 16 15 14 RAM2 PERI 1 PERI 2 PERI 3 FLASH UP : CS* FLASH LOW : CS* M68k : DTACK* RAM 1 UP : CS* RAM 1 LOW : CS* M68k : VPA* U6 M68k : VMA* M68k : LDS* M68k : UDS* 1 2 3 4 5 6 7 8 9 10 11 13 I1/CLK O1 I2 O2 I3 Byte-control O3 I4 O4 I5 O5 I6 O6 I7 O7 I8 O8 I9 O9 I10 O10 I11 I12 22V10A 23 22 21 20 19 18 17 16 15 14 ACIA : CS2* RAM 2 UP : CS* RAM 2 LOW : CS* PERI 1 UP : CS* PERI 3 LOW : CS* PERI 2 UP : CS* PERI 3 LOW : CS* PERI 3 UP : CS* PERI 3 LOW : CS* Figur 3.3: Samlet kredsløb over adressedekoderen. Elektronik og elektroteknik 25

Kapitel 3. Mikroprocessersystem-hardware 03gr416 Perifere enheder PERI1UP PERI1LOW PERI2UP PERI2LOW PERI3UP PERI3LOW Bemærkning Stepmotor IR-føler Sonar Sonar Reserverede Reserverede Tabel 3.2: Oversigt over hvad hver enkel enhed kontrollerer 26 Elektronik og elektroteknik

Del II Appendiks Elektronik og elektroteknik 27

Appendiks A Figurforklaring til flowdiagrammer Start, Stop Beslutning Funktionskald Proces Lager Signalvej 28 Elektronik og elektroteknik