Det Teknisk-Naturvidenskabelige Fakultet Aalborg Universitet Institut for elektroniske systemer TITEL: Digital Diktafon PROJEKTPERIODE: 4. semester 4. februar - 30. maj, 2002 PROJEKTGRUPPE: Gr419-2002 E4 GRUPPEMEDLEMMER: Martin Astrup Hansen Rasmus Jensen Ove Obbekjær Jørgensen Klaus Refshøj Pedersen Bo Vraa Sørensen Kristian Hausgaard Sørensen VEJLEDER: Kristian Harmark ANTAL KOPIER : 9 SIDEANTAL RAPPORT: 122 APPENDIKS: 62 SYNOPSIS: I denne rapport udvikles og designes et digitalt diktafonsystem, med mulighed for PC interface. I rapporten behandles både hardware og software for diktafonsystemet, og software til PC. Hardwaren består af et Motorola 68HC000 mikroprocessersystem med brugerinterface i form af knapper og display, samt et lydinterface, hvor en signalbehandling som omfatter forstærkning, filtrering, A/D og D/A konvertering, tillader en diskret behandling af indtalte memoer. Softwaren er skrevet i C, og opdelt i lag. På diktafonenheden er der designet et filsystem, der gør det muligt at ind-/afspille og slette memoer vilkårligt. Ved kommunikationen mellem diktafon og PC anvendes RS-232 ved ½½ ¾ Ù. PC klientprogrammet er et simpelt tekstbaseret memusystem til Windows 98, hvor det er muligt at hente og slette memoer fra diktafonen. Hardware og software er testet enkeltvis som blokke, og efterfølgende testet samlet. Accepttesten verificerede, at det designede system opfylder kravsspecifikation. TOTAL: 184
Institute of elektronic system University of Aalborg Department of communication technology TITLE: Digital Dictaphone PROJECT PERIOD: 4. semester 4. februar - 30. maj, 2002 PROJECT GROUP: Gr419-2002 E4 PARTICIPANTS: Martin Astrup Hansen Rasmus Jensen Ove Obbekjær Jørgensen Klaus Refshøj Pedersen Bo Vraa Sørensen Kristian Hausgaard Sørensen SUPERVISOR: Kristian Harmark COPIES : 9 NUMBER OF PAGES RAPPORT: 122 APPENDIX: 62 ABSTRACT: This report documents the development and design of a digital Dictaphone system, with a PC interface option. The report covers both hardware and software aspects of the Dictaphone system, and software for the PC client. The Motorola 68HC000 microprocessor based system, includes a user interface consisting of display and buttons, and a sound interface, which allows discreet processing of memos. This is done through signal processing, which consists of amplification, filtering, A/D, and D/A conversion. Software is written i C, and divided into layers. A random manipulation consisting of recording, playing, and deleting of memos is made possible with the implementation of a filesystem. The PC interface utilizes a RS-232 interface at ½½ ¾ Ù. The PC client interface is a simple text based menu system running Windows 98, through which it is possible to download and delete memos. Hardware and software is tested separately as blocks, and as an assembled system. An verification test shows that the designed system, complies with the product requirement specification. TOTAL: 184
Forord Denne rapport er udarbejdet af gruppe 419 på 4. semester, Institut for Elektroniske Systemer, Aalborg Universitet. Rapporten er udarbejdet under temaet "Mikrodatamatsystemer", med medstuderende og andre interesserede på samme faglige niveau som målgruppe. På den vedlagte CD findes: Rapporten i PDF format. Datablade for de benyttede komponenter. Program koden for mikrodatamatsystem og PC i C. PEEL kode. Aalborg, Torsdag den 30. maj 2002 Martin Astrup Hansen Rasmus Jensen Ove Obbekjær Jørgensen Klaus Refshøj Pedersen Bo Vraa Sørensen Kristian Hausgaard Sørensen 3
Læsevejledning Litteraturhenvisninger i rapporten har følgende syntax [Forfatter, år, side]. En henvisnining før et punktum ([Clements, 1997, s 2].) refererer til den foregående sætning. En henvisning efter et punktum (.[Clements, 1997, s 2]) refererer til et afsnit. I rapporten er der brugt flowdiagrammer til at illustrere opbygningen af softwaren. I figur 1 ses de anvendte symboler samt signaturforklaringer til dem. a) b) c) d) e) f) g) Figur 1: a) Start eller terminering. b) Bruger input. c) Goto. d) Subrutine kald. e) Handling. f) Hardware Input/Output. g) Kontrolelement. 4
Indhold Indhold 1 System Beskrivelse 9 1.1 Generel system beskrivelse............................. 9 1.2 Specifikke krav................................... 10 1.2.1 Stand alone................................. 10 1.2.2 I docking station.............................. 11 1.3 Eksterne grænseflade krav............................. 12 1.3.1 Grænseflade til diktafonenhed....................... 12 1.3.2 Grænseflade til klientprogram...................... 13 1.3.3 Kommunikation grænseflade........................ 14 1.3.4 Lydgrænseflade............................... 14 2 Hardware 17 2.1 CPU-system..................................... 18 2.1.1 Timing................................... 18 2.1.2 RAM/ROM interface............................ 25 2.1.3 Adresse dekodning............................. 26 2.1.4 Clock.................................... 28 2.1.5 Power Up kredsløb............................. 29 2.1.6 Interrupt................................... 31 2.1.7 Data Acknowledge styring......................... 33 2.1.8 Watch-dog................................. 34 2.2 Lyd input...................................... 35 2.2.1 Samplingsteori............................... 36 2.2.2 Design af lyd indput............................ 38 2.2.3 Mikrofon.................................. 40 2.2.4 Mikrofon forstærker............................ 41 2.2.5 Anti-aliasing filter............................. 42 2.2.6 Biasing................................... 45 2.2.7 Analog til Digital konvertering....................... 46 2.3 Lyd output...................................... 49 2.3.1 Rekonstruktionsteori............................ 49 2.3.2 Design af lyd output............................ 51 2.3.3 Digital til Analog konvertering....................... 51 2.3.4 Rekonstruktionsfilter............................ 52 2.3.5 Output trin................................. 52 2.3.6 Software relationer............................. 53 2.4 Kommunikation med PC.............................. 53 2.4.1 UART................................... 54 2.4.2 Baud generator............................... 56 5
Indhold 2.4.3 Line driver................................. 56 2.4.4 Stik..................................... 57 2.5 Brugerinterface................................... 57 2.5.1 Knapper................................... 58 2.5.2 Display................................... 60 2.6 Delkonklusion.................................... 64 3 Software - Firmware 67 3.1 Generel beskrivelse af Firmware.......................... 67 3.2 Organisering af hukommelse............................ 69 3.3 Specifikke Firmware krav.............................. 70 3.3.1 Applikation specifikationer......................... 70 3.3.2 Driver specifikationer............................ 72 3.4 System initialisering................................ 77 3.4.1 Opsætning af vektortabel.......................... 78 3.5 Task Manager.................................... 79 3.6 Filemanager driver................................. 79 3.6.1 Fil opbygning................................ 81 3.6.2 Funktioner................................. 82 3.7 Send Til PC Applikation............................. 89 3.8 RxTx Driver..................................... 93 3.8.1 Driver design................................ 94 3.8.2 UART initialisering............................. 95 3.8.3 RxTx ISR.................................. 97 3.9 Lyd I/O applikationer................................ 98 3.10 Lyd I/O drivere................................... 99 3.11 Opdater display applikation............................ 101 3.12 Display driver.................................... 103 3.13 Delkonklusion.................................... 106 4 Software - PC klient 107 4.0.1 Menu system................................ 108 4.0.2 Kommunikation med diktafon....................... 108 4.0.3 Port driver.................................. 110 4.0.4 Oprettelse af WAVE filer.......................... 110 4.1 Delkonklusion.................................... 112 5 Vurdering 113 5.1 Accepttest...................................... 113 5.2 Konklusion..................................... 116 5.3 Perspektivering................................... 116 A RxTx Protokol A1 B Blok test B1 B.1 CPU-system test................................... B1 B.2 Lyd input/output test................................ B1 B.2.1 Switched-Capacitor filtre.......................... B1 B.2.2 Clock neddeler............................... B2 B.2.3 Lyd I/O systemet.............................. B3 6
2 2 2 2 1 1 1 1 0 0 0 0 PLAY REC BACK STOP FORW 0 DEL VCC Clk 8MHz CS_DISP R/W RS-IN CS_KNAP 9 10 11 13 14 2 3 4 5 6 7 8 U41 I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12 22CV10A O8 O7 O6 O5 O4 O3 O2 O1 O0 I0 Peel 5 23 22 21 20 19 18 17 16 15 1 PLAY D0 REC D1 BACK D2 FORWARD D3 STOP D4 DEL D5 IRQ D6 D7 D8 IRQ_KNAP RS D0 D1 D2 D3 D4 D5 D6 D7 Display 0 D[0..15] C[0..20] Title <Title> Size Document Number Rev A <Doc> Date: Sunday, May 26, 2002 Sheet 1 of 1 12 24 GND VCC 2 1 0 9 10 11 13 1 2 3 4 5 6 7 8 U42 I1/CLK I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12 22CV10A O10 O9 O8 O7 O6 O5 O4 O3 O2 23 22 21 20 19 18 17 16 15 14 9 10 11 12 13 14 7 8 U40 D0 D1 D2 D3 D4 D5 D6 D7 GND VCC 1 2 6 5 4 E R/W RS Vo 3 Powertip 1604A 12 24 GND VCC O1 R41 og R42 (10k array ) 2 1 Peel 4 CS_KNAP E R40 10k