Program for fremlæggelse Minimumsystem v/Martin IRQ v/Jakob Signalbehandling v/Rasmus Lagerstyring v/Daniel Principper ved SW v/Claus Test v/Palle Demo af system
Problemet 9 Â diktafon læge sekretær
Ideen bag diktafonen Betjening Styring og lager (minimumsystem) Lyd ind Lyd ud PC
Minimumsystem CPU Hardwareopbygning TS2MON Adresserum Programområde
En ”Von Neumann”-maskine CPU registre Intern bus Bus Hukommelse Interne registre – bla 8 data og 8 adresse 23 bit bred adressebus -> 8 M words Word – 16 bit (databus) ALU
Hardwareopbygning ROM RAM CPU Adressebus ulige lige ulige lige UDS LDS LDS og UDS vælger om der skal være ulige eller lige adresse Adressebus
TS2MON Kommunikation mellem PC og M68k Afbryde en programkørsel NMI Breakpoints ”Single-step” Aflæse registre Muliggør at loade program Udviklingsværktøj –> mulighed for loade program over for at teste %brænde
Adresserum Rom til TS2MON Ram Perifære enheder TS2MON User-Ram Memory mapped TS2MON brauchen RAM
Hukommelse Program Variabler Konstanter Lyddata
IRQ Strategi v/Jakob
Perifære enheder Polling vs. interrupt Figur af program – interrupt IRQ levels herunder NMI
IRQ Forklaring Vektoriseret Autovektoriseret
Inddeling af IRQ NMI (Non Maskable Interrupt) Lydudgang Lydindgang Overførsel Ur Udlæsning Brugerinput
Signalbehandling v/Rasmus
Signalflow
Signalflow filter ADC Lager DAC filter
Antialiasing
Kvantiseringsstøj Signal-/støjforhold SNR ~ 6*(N-1) - 1.25dB SNR = 40.75dB Signal
Krav til antialiasingfilter Typer af filtre: Butterworth (almindeligt) Chebby-chev, type 1 og 2, hhv riple i pas- og stopbånd Eliptisk meget stejlt, riple i både stop- og pasbånd
Valg af filtre Antialias-filter Lavpas 3. ordens butterworth 8.ordens eliptisk
Samlet filter
Lager v/Daniel
Inddeling af dataområde Blokke eller områder Sammenkædning Indholdsfortegnelse (TOC) Pointere Fragmentering vil kun optræde når der er blevet slettet en optagelse
Gem Hent Slet Memorystatus Opret ID Find ledig plads Opret start/stop-sæt Gem sample Hent Find ID Find næste sample Slet Slet ID reorganiser TOC Memorystatus Gem (opret nyt IDd, find ledig plads), kompleksiteten vokser med antal fragmenteringer og ID’s Hent (find ID, find sample, tæl op på en variabel) Slet (find ID, slet ID, ryd op i TOC) Memorystatus: 8 tegn, 1 tegn = ca. 32 sek Begrænsning: Ingen fragmentering Og dermed simplere og hurtigere rutiner til FindID, Find ledig plads, slet
- Kun et sæt start og stop til hvert ID - Slet enkelt er i Tilstandsstyring
Tid til afvikling af rutiner ADC: 8MHz/8kHz = 1000 clk, bruger ca. 490 clk DAC: 1000 clk, skønnes at bruge mellem 300 og 500 clk. 8kHz samplingfrekvens Det blev afprøvet hvor høj hastighed dac kunne afspille med ved at smide samples væk. Måske muligt at køre 16kHz, 8 bit
Hukommelse: $45000 til $240000 4m20s ca. 2Mb En time vil kræve ca. 32Mb (2^25). aciaTS2mon ligger ved $800000 32Mb kræver 25 bit adressebus 16Mb = 24 bit adressebus
Implementation i SW v/Claus
Implementation i Software Hvad skal implementeres? Abstraktionsniveauer Assembler- og Højniveausprog Udveksling af Parametre Anvendelse af højniveausprog
Hvad skal implementeres
Abstraktionsniveauer
Assembler- og Højniveausprog
Udveksling af Parametre Anvendelse af globale variable Call by Value Call by Reference
Anvendelse af globale variable
Call by Value Der sendes en kopi af parametrene til funktion 2 Parametrene anvendes i funktion 1, men forbliver uændrede i funktion 1
Call by Reference Der sendes en adresse på parametrene til funktion2 Parametrene modificeres af funktion 2
Anvendelse af højniveau-sprog
Systemets tilstande
Idle-tilstanden
Test v/Palle
Opdelingen af systemet Udgangspunkt i SPU Opdeling i processer Opdeling i moduler Komme ind på den opdeling der er foretaget Systemet opdeles i mindre dele Til opdeling benyttes SPU modellen Strukureret Program Udvikling (SPU) Et systematisk værktøj Først designes systemstrukturen Der erfter opdeles i Processer Som hver især opdeles i Moduler
V-modellen V-modellen Taget fra SPU Beskrivelse af den systematiske fremgangsmåde
Moduler i systemet En oversigt over de moduler der indgår i systemet Forenklet udgave af den claus havde på Hardware/software opdeling IRQ-Håndtering og IRQ-Enable er medtaget Indgår som det videre udvikling af minimunsystemt
Processer i systemet Samme oversigt hvor processerne er medtaget
Testomgivelser Testomgivelser i SW Problematisk for kombimerede Testdriver og teststub Problematisk for kombimerede HW/SW-projekter Modultest af software vha driver og stubbe. Der findes ingen generel model til kombi HW/SW projekter Da de er specifikke SPU knap så egnet til kombi men, bedre end slet ingen.
Testmetoder og Værktøjer Hardwaretest Peelsimulering Målinger Softwaretest Simuleringer på PC Testprogrammer til test på system TS2MON Hvordan er modulerne blevet testet i projektet Hardware Som er implementeret iform af peel er simuleret i Winplace Med mulig hed for at sætte testvektorer op grafisk Laboratorium målinger for teste signal nivauer og lignende Software C-kodet software er testet på PC med eget udviklet program - Mulighed for at sætte bit i registre og derved teste moduler - Mulighed for at få displaytekst udlæst på skærm Assemblerkode testet på system med Testdummy.s - Sætte parametre op så enkelte rutiner kan testes. - Resultater Aflæses vha TS2MON TS2MON Kan aflæse indhold adressser og registre samt skrive direkte til dem i HEX kode
Specifikke Tests Testmetoder anvendt på moduler og processer Moduler testet under modultest Moduler testet under procestest Hvad er valgt testet hvodan i projektet Videre til gennemgang af de enkelte moduler og processer
Modultest af systemet Oversigten igen Markere hvilke moduler der testet med hvilke testmetoder/værktøjer
Modultest af systemet Markeret med farver hvilke moduler der er testet På hvilken måde Peelsimulering Måling PC simulering Systemprogram + TS2MON Moduler der ikke er testede, pga HW/SW afhængighed Disse vil blive testet under proces test Oprids af processerne
Modultest af systemet Oversigten endnu engang Processerne indtagnet Fjerner farverne
Procestest af systemet Videre til hvordan processerne er testet Markere hvilke processer der er testet hvordan
Procestest af systemet PC simulering Systemprogram + TS2MON Processen Dataflow modultestet Endelig test under acceptest.
Evaluering af Tests Testforløbet Vurderinger af tests Forbedringer Ikke de store problemer under test da småfejl var retter under vejs i kodningen. Detaljeringsgraden viste sig tilstrækkelig Kun en prototype,og testene var tilstrækkelige. Færdig produkt ville kræve mere detaljerede tests Forbedringer
Konklusion Ny accepttest Implementer i nværende system Funktioner testet i rapporten Indikering af memorystatus Spol frem Mangler af implementeres Spol tilbage Lager fragmentering Overførsel af ID nr. til PC
Demonstration af Diktafon