Download præsentationen
Præsentation er lastning. Vent venligst
1
Intelligent afstandsmåler
P4 juni 2003 Gruppe 415
2
Program Sonarenhed Lars J Mikrocomputer HW Haukur
Mikrocomputer SW Michael Seriel kommunikation Jan Kommunikation med Lars S COM-port Databehandling i PC Katrine
3
Krav til sonar Der skal anvendes trigonometrisk skanning
Afstande skal måles mindst 10 gange i sekundet Tidspunkt for ekko skal registreres med 0,1 ms nøjagtighed Der skal videresendes tid og styresignaler til et mikrocomputersystem
4
Indhold Funktionsgenerator A/D-konverter Tællere Styrelogik Timing
Løsning af timingsproblem
5
Funktionsgenerator 2 x 555 kredsløb 40 Hz og 40 KHz
Forstærker med inverter og kondensator Lydgiver
6
A/D-konverter Komparator RC-led Prelfjerner
7
Tællere 2 tællere kaskade-koblet til angivelse af tid
2 switche til styring af adgang til databussen
8
Styrelogik Diverse logik til kontrol af IRQ*-signaler og switche
9
Timing
10
Løsning af timingsproblem
IRQ skal fjernes når både VMA og IACK er aktive IRQ forbindes til SET på en SR-latch (VMA & IACK) forbindes til RESET på samme latch
11
Konklusion Problem med IRQ Forslag til løsning
Velfungerende sonarenhed
12
Mikrocomputer HW Haukur
13
Indhold Minimumssystem Interrupts Hvad er et interrupt?
Interrupts fra hardware synspunkt. Autovektoriseret Brug af interrupts i intelligent afstandsmåler.
14
Minimumssystem Motorola 68000 CLK Power on reset RAM og ROM
Adressedekoder ACIA
15
Autovektoriserede interrupts
Bruges når enhederne ikke kan sende vektornummer. Kan ikke skelne mellem flere interrupts på samme niveau. Er håndteret som autovektoriserede hvis modtager VPA*. M68k fremkalder selv et vektornummer.
16
Interruptkontrolkredsløb
17
Konklusion Det konkluderes, at der er blevet konstrueret velfungerende mikrocomputer HW, der overholder de opstillede krav.
18
Mikrocomputer SW Michael
19
Indhold Modularisering Programmeringsmodel for M68k Assembler
Konklusion
20
Modularisering MAIN EKKO_V og EKKO_H INIT Initialisering
Modtage data fra M1 Gemme data i RAM INIT Beregne afstand og vinkel Kontrollere om der er fejl i sensorerne Sende data til en PC via M3
21
Programmeringsmodel for M68k
22
Programmeringsmodel
23
Assembler
24
Assembler
25
Assembler
26
Assembler
27
Konklusion Initialisering Modtage og lagre data
Fjerne ugyldige datasæt Beregne afstand og vinkel Fejldetektering Sende data til PC Integration
28
Seriel kommunikation Jan R
29
Indhold Krav Modularisering ACIA Registre Baudrate Konklusion
30
Krav ACIA’en skal konvertere den parallelle kommunikation fra M68k til seriel kommunikation til PC, og omvendt. Kommunikationsprotokollen mellem ACIA og PC skal være RS232. Kommunikationshastigheden mellem ACIA og PC skal være 9600 baud. Signalet imellem dem skal bestå af 1 startbit, 8 bit til data, ingen paritetsbit og 1 stopbit.
31
ACIA Baudrategenerator RS232-driver
Modularisering ACIA Baudrategenerator RS232-driver
32
ACIA Read/write memory set fra M68k.
Synkroniseret med en ekstern E clock. Synkron bus: E, VPA*, VMA*.
33
Registre RS (register select) R/W* (read/write) Kontrolregister
Statusregister Senderregister Modtagerregister
34
Kontrolregister Operationskarakteristikken
8 bit, som bliver inddelt på 4 grupper. CR0-CR1 ( counter division ) CR2-CR3-CR4 ( word select ) CR5-CR6 ( Transmitter ) CR7 ( Receiver interrupt enable ) % : Ingen interrupt. 8 databit, ingen paritet og 1 stopbit. Neddeling med 16.
35
Statusregister Indikerer status af den afsendte og modtagne del af ACIA’en. 8 bit read only, som deles op på funktioner: RDRF ( Receiver data register full.) TDRE ( Transmitter data register empty.) DCD* ( Data carrier detect. ) CTS*, FE, OVRN, PE, IRQ.
36
Baudrate RS232-standard: Max. 19200 baud. Minimumskrav: 4000 baud.
TS2MON-standard: 9600 baud. ACIA’ens neddeling: 16 gange. Frekvens: 153,6 kHz. Binær tæller.
37
Konklusion Kommunikationshastighed på 9600 baud.
TTL- og RS232-signalniveauerne overholdes for afsendelse og modtagelse. Fejl i Assembler programmet. Velfungerende kredsløb.
38
Kommunikation med COM-porten
Lars S
39
Indhold Krav til interface mellem M3-M4 Kommunikation med COM-port
Løsning til at afhjælpe tab af data Konklusion
40
Krav til interface mellem M3-M4
Envejs seriel kommunikation 9600 baud 1 start- og stopbit, 8 databit, ingen paritetsbit Data sendes som: 2 char: længde og vinkel 1 char: fejl
41
Kommunikation med COM-port
Initialiser COM-port* Modtag data fra COM-port Detekter tastetryk** Sæt COM-port til gammel indstilling * **
42
initcom() Opsætning iht. krav til interface: newtio.c_cflag =
BAUDRATE | CS8 | CLOCAL | CREAD; newtio.c_iflag = IGNPAR; newtio.c_cc[VMIN] = 2;
43
getcom()
44
Løsning til at afhjælpe tab af data
Nu: (l v) (l v) (e l) (v l) Løsning: Kun modtage 1 char ad gangen ( initcom() ) Modtage et start-tegn, fx: % = x x (l v) (l v) (e) (l v)
45
Konklusion Den virker hvis ikke der sker tab af data og der ikke sendes fejl. Førnævnte løsningsmodel kan afhjælpe problemet med tab af data og fejl. Brugbar kommunikation, men skal optimeres.
46
Databehandling i PC Katrine
47
Indhold Krav Skrive ud på skærmen Konklusion
Beregning af vinkel Objekternes placering i zoner Fejlmeddelelse Konklusion Konklusion på samlet system
48
Krav Beregne i hvilken zone objektet befinder sig.
Vise objekternes placering i zoner. Give en advarsel ved fejl på sonar. Vise status på nuværende zoner og omdefinere længden og vinklen på zoner.
49
Skrive ud på skærmen Beregn vinkel:
50
Objekternes placering i zoner
51
Fejlmeddelelse int vinkelerr(int ang) { int ud =0; if (fmod(ang,4)==1)
return ud; }
52
Konklusion Udlæse data på skærmen Give en fejlmeddelelse
Vise status på zoner Omdefinere zoner
53
Konklusion på samlet system
Det samlede system virker ikke. Integration af modulerne lykkedes delvist. - Sonarenhed - Assembler-software De enkelte moduler virker hver for sig.
54
Demonstration af afstandsmåler
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.