• No results found

Ammunition for measurements

N/A
N/A
Protected

Academic year: 2021

Share "Ammunition for measurements"

Copied!
100
0
0

Loading.... (view fulltext now)

Full text

(1)

Department of Science and Technology Institutionen för teknik och naturvetenskap

Linköpings Universitet Linköpings Universitet

SE-601 74 Norrköping, Sweden 601 74 Norrköping

LITH-ITN-ED-EX--05/005--SE

Mätskott 3P

Jan-Erik Andersson

2005-03-18

(2)

Mätskott 3P

Examensarbete utfört i Elektronikdesign

vid Linköpings Tekniska Högskola, Campus

Norrköping

Jan-Erik Andersson

Handledare Tony Holm

Examinator Ole Pedersen

(3)

Rapporttyp Report category Examensarbete B-uppsats C-uppsats D-uppsats _ ________________ Språk Language Svenska/Swedish Engelska/English _ ________________ Titel Title Författare Author Sammanfattning Abstract ISBN _____________________________________________________ ISRN _________________________________________________________________

Serietitel och serienummer ISSN

Title of series, numbering ___________________________________

Nyckelord

Keyword

URL för elektronisk version

Division, Department

Institutionen för teknik och naturvetenskap Department of Science and Technology

2005-03-18 x x LITH-ITN-ED-EX--05/005--SE http://www.ep.liu.se/exjobb/itn/2005/ed/005/ Mätskott 3P Jan-Erik Andersson

Med ett mätskott för zonrörsammunitionen 3P skulle eventuella felutfall under laddning av skottet i pjäs kunna utvärderas. Rapporten beskriver arbetet med att ta fram ett labsystem till ett sådant mätskott.

(4)

Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare –

under en längre tid från publiceringsdatum under förutsättning att inga

extra-ordinära omständigheter uppstår.

Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner,

skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för

ickekommersiell forskning och för undervisning. Överföring av upphovsrätten

vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av

dokumentet kräver upphovsmannens medgivande. För att garantera äktheten,

säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ

art.

Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i

den omfattning som god sed kräver vid användning av dokumentet på ovan

beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan

form eller i sådant sammanhang som är kränkande för upphovsmannens litterära

eller konstnärliga anseende eller egenart.

För ytterligare information om Linköping University Electronic Press se

förlagets hemsida

http://www.ep.liu.se/

Copyright

The publishers will keep this document online on the Internet - or its possible

replacement - for a considerable time from the date of publication barring

exceptional circumstances.

The online availability of the document implies a permanent permission for

anyone to read, to download, to print out single copies for your own use and to

use it unchanged for any non-commercial research and educational purpose.

Subsequent transfers of copyright cannot revoke this permission. All other uses

of the document are conditional on the consent of the copyright owner. The

publisher has taken technical and administrative measures to assure authenticity,

security and accessibility.

According to intellectual property law the author has the right to be

mentioned when his/her work is accessed as described above and to be protected

against infringement.

For additional information about the Linköping University Electronic Press

and its procedures for publication and for assurance of document integrity,

please refer to its WWW home page:

http://www.ep.liu.se/

(5)

atskott 3P

Examensarbete p˚

a Bofors Defence

Link¨

opings Universitet

Jan-Erik Andersson

(6)
(7)

Abstract

The proximity fuzed 3P ammunition is programmed during the loading of the piece to the desired operation mode. To guarantee that the ammunition receives the programming signals correctly and thus being able to eliminate the programming as a source of errors in the event of a possible failure there is a need to evaluate the process of loading.

Such an evaluation of possible programming errors could be performed with an ammunition for measurements. An ammunition for mesurements would be based on complete 3P electronics and additional electronics for the evaluation of the process of loading.

The task for the master thesis has been to develop a lab-system to aid in the development of an ammunition for measurements.

This thesis describes with a introductory litterature study the work to create a lab-system. The constructed lab-system is based on an evaluation card including among other things a digital signal processor from the Blackfin family from Ana-log Devices. Tests and measurements show that the work has resulted in a well functioning lab-system, which meets the requirements of the task. In conclusion the thesis also describes comprehensively the remaining work to create a complete ammunition for measurements with the aid of the lab-system.

(8)
(9)

Sammanfattning

Zonr¨orsammunitionen 3P programmeras under ans¨attning i pj¨as till ¨onskad funk-tionsmod. F¨or att s¨akerst¨alla att ammunitionen uppfattar samtliga programmer-ingssignaler korrekt och d¨armed kunna utesluta programmeringen som felk¨alla vid ett eventuellt felutfall finns ett behov att utv¨ardera laddningsf¨orloppet.

Med ett m¨atskott f¨or ammunitionen skulle en s˚adan utv¨ardering av program-meringsfel kunna utf¨oras. Ett m¨atskott skulle bygga p˚a komplett 3P-elektronik samt ytterligare elektronik f¨or utv¨ardering av laddningsf¨orloppet.

Uppgiften f¨or examensarbetet har varit att utveckla ett labsystem som skall anv¨andas f¨or att m¨ojligg¨ora utvecklingen av ett m¨atskott.

Den h¨ar rapporten beskriver med hj¨alp av en inledande litteraturstudie arbetet med att skapa ett labsystem. Det konstruerade labsystemet ¨ar uppbyggt kring ett utv¨arderingskort inneh˚allande bland annat en digital signalprocessor ur Blackfin-familjen fr˚an Analog Devices. Tester och m¨atningar visar att arbetet resulterat i ett v¨al fungerande labsystem, som uppfyller de krav som st¨allts p˚a uppgiften. Avslutningsvis beskriver ¨aven rapporten ¨overgripande det arbete som ˚aterst˚ar f¨or att med hj¨alp av labsystemet konstruera ett komplett m¨atskott.

(10)
(11)

orord

Examensarbetet ¨ar en D-uppsats p˚a 20 akademiska po¨ang gjord som avslutning p˚a civilingenj¨orsutbildningen Elektronikdesign, Link¨opings Universitet. Arbetet utf¨ordes p˚a Bofors Defence i Karlskoga under perioden augusti 2004 till mars 2005.

Ett stort tack till Christer Nykom som gett mig m¨ojligheten att g¨ora mitt examensarbete p˚a Bofors, till min handledare p˚a Bofors, Tony Holm, Erik Fohrman som skapat uppgiften samt ¨ovrig personal p˚a Elektronikhuset som hj¨alpt mig. Ytterligare ett stort tack till min examinator p˚a skolan, Ole Pedersen, samt v¨anner och familj f¨or deras st¨od.

(12)
(13)

Inneh˚

all

1 Inledning 1

1.1 Syfte och m˚als¨attning . . . 1

1.2 Metod . . . 1 1.3 Begr¨ansningar . . . 2 2 Problemformulering 3 2.1 Bofors Defence . . . 3 2.2 3P Ammunition . . . 3 2.3 Examensarbetet M¨atskott 3P . . . 5 2.3.1 Bakgrund . . . 5 2.3.2 Uppgift . . . 5

2.3.3 Krav och riktlinjer . . . 5

3 Litteraturstudie 7 3.1 H˚ardvara . . . 7

3.1.1 DSP - Digital Signalprocessor . . . 7

3.1.2 Processorn ADSP-BF533 . . . 9

3.1.3 ADSP-BF533 EZ-KIT Lite . . . 13

3.1.4 A/D-omvandlare . . . 15 3.1.5 Minnen . . . 18 3.1.6 Accelerometrar . . . 20 3.1.7 3P-elektroniken . . . 22 3.2 Mjukvara . . . 23 3.2.1 Val av programspr˚ak . . . 23 3.2.2 Visual DSP++ . . . 24 4 Konstruktion 27 4.1 H˚ardvara . . . 27 4.1.1 A/D-omvandlaren . . . 27

4.1.2 Blackfin-processorn och utv¨arderingskortet . . . 30

4.2 Mjukvara . . . 34 ix

(14)

4.2.1 Initieringar . . . 34

4.2.2 Samplingsrutinen . . . 36

4.2.3 Data¨overf¨oring . . . 37

4.3 Tester, m¨atningar och problem . . . 38

4.3.1 Effektf¨orbrukning . . . 39 5 Resultat 41 6 Fortsatta arbeten 43 Litteraturf¨orteckning 45 A Kopplingsschema labkort 49 B DSP-program 51 B.1 labsystem.h . . . 51 B.2 main.c . . . 53 B.3 inits.c . . . 61 B.4 transmit.c . . . 63 B.5 labsystem.ldf . . . 66 C Utmatningsdata f¨or testsignal 79 D Ordlista 81

(15)

Figurer

2.1 3P-ammunitionens funktionsmoder . . . 4

2.2 Stridsfordon 90 . . . 4

3.1 Cirkul¨ar buffer . . . 9

3.2 Super Harvard-arkitektur . . . 10

3.3 Arkitekturen f¨or ADSP-BF533 . . . 11

3.4 ADSP-BF533 EZ-KIT Lite . . . 14

3.5 Arkitekturen f¨or ADSP-BF533 EZ-KIT Lite . . . 15

3.6 Arkitekturen f¨or flashomvandlare . . . 17

3.7 Kapacitiv accelerometer . . . 21

3.8 Signalf¨orlopp 3P . . . 22

3.9 Utvecklingsmilj¨on Visual DSP++ . . . 24

4.1 Blockschema ¨over labsystemet . . . 28

4.2 Komponentsida av labkort . . . 33

4.3 Fullst¨andigt labsystem . . . 33

4.4 Schema ¨over programfl¨odet . . . 35

(16)
(17)

Kapitel 1

Inledning

1.1

Syfte och m˚

als¨

attning

Syftet med examensarbetet ¨ar att,˚at Bofors Defence, konstruera ett labsystem som ska st˚a som grund f¨or utvecklandet av ett komplett m¨atskott f¨or 3P-ammunition. Labsystemet ska best˚a av egenkonstruerad elektronik f¨or sampling av signaler fr˚an befintlig 3P-elektronik och ett utv¨arderingskort med en DSP1

fr˚an Analog Devices. M˚alet med systemet ¨ar att skapa en god uppfattning om vad ett komplett m¨atskott b¨or inneh˚alla, b˚ade h˚ardvaru- och mjukvarum¨assigt.

1.2

Metod

Examensarbetet inleddes med att i samarbete med Bofors Defence utarbeta rikt-linjer f¨or hur ett m¨atskott skulle fungera. Efter att en bild skapats ¨over vad systemet skulle inneh˚alla unders¨oktes aktuell 3P-elektronik, b˚ade schema- och simuleringsm¨assigt, vilket gav en uppfattning om hur skottets signaler s˚ag ut och varifr˚an de kunde h¨amtas. Med hj¨alp av dessa unders¨okningar p˚ab¨orjades litter-aturstudier och s¨okning efter l¨ampliga elektronikkomponenter. Efter att kompo-nenter hittats och best¨allts, utarbetades ett program f¨or DSP:n i labsystemet. Under tiden mjukvaran arbetades fram unders¨oktes de best¨allda komponenternas och DSP:ns datablad noggrant. N¨ar programmet var klart och feltestat konstruer-ades kretskortet varav m¨onsterkortet tillverkkonstruer-ades i m¨onsterkortslabbet p˚a Bofors. Slutligen funktionstestades mjukvaran tillsammans med h˚ardvaran.

Som informationsk¨allor anv¨andes datablad, manualer samt application notes fr˚an Analog Devices och andra komponenttillverkare. Dessutom anv¨andes b¨ocker och andra publikationer fr˚an internet f¨or att inh¨amta ¨ovrig information.

1

Digital Signalprocessor

(18)

1.3

Begr¨

ansningar

Tidsperioden f¨or examensarbetets utf¨orande var fr˚an augusti 2004 till mars 2005. Under den tiden skulle arbetet utf¨oras enligt de krav och riktlinjer som hade utarbetats f¨or uppgiften (se sektion 2.3). F¨or utveckling av mjukvara har utveck-lingsmilj¨on VisualDSP++ fr˚an Analog Devices anv¨ants. Som bas f¨or projektet har ett utv¨arderingskort inneh˚allande bland annat DSP:n ADSP-BF533 st˚att, vilken ¨aven det kommer fr˚an Analog Devices.

(19)

Kapitel 2

Problemformulering

2.1

Bofors Defence

Bofors Defence ¨ar ett svenskt f¨oretag med huvudkontor i Karlskoga, som ¨ags helt av den amerikanska f¨orsvarskoncernen United Defence. I Bofors Defence finns cir-ka 500 anst¨allda varav mer ¨an h¨alften arbetar inom forskning och utveckling. Fr˚an att tidigare varit ett producerande f¨oretag ¨ar nu inriktningen ist¨allet helt omst¨alld till forskning, utveckling och kvalificerat slutmontage. Bofors Defence utvecklar f¨orsvarsmateriel s˚asom landbaserade och marina system, artillerisystem, luftv¨arnssystem, plattformsbaserade tornsystem samt intelligent ammunition f¨or samtliga system.[1]

2.2

3P Ammunition

3P ¨ar en programmerbar zonr¨orsammunition i kalibrarna 40 och 57mm och tillh¨or gruppen intelligent ammunition. Beteckningen 3P kommer fr˚an att ammunitio-nen ¨ar ett f¨orfragmenterad, programmerbart zonr¨or, vilket p˚a engelska beskrivs med de tre orden Prefragmented, Programmable, Proximity-fuzed. Granaten kan programmeras till 6 olika moder f¨or att med samma ammunition kunna bek¨ampa olika sorters m˚al (se figur 2.1). Programmeringen sker fr˚an pj¨asdatorn precis innan skottet avfyras. Skottet kan anv¨andas f¨or att bek¨ampa sm˚a och stora, luft- och markm˚al samt pansarm˚al. 3P anv¨ands bland annat av Bofors marina kanoner 57 Mk3 och Stridsfordon 90(se figur 2.2).[1]

(20)

Figur 2.1: 3P-ammunitionens 6 olika funktionsmoder. De generella modtyperna ¨ar brisad vid direkttr¨aff, efter viss tid eller d˚a m˚alet befinner sig inom en viss zon fr˚an granaten. Gated-moderna inneb¨ar att granaten anv¨ander ett st¨orskydd som motverkar bland annat ECM (electronic countermeasures).[1],[2]

Figur 2.2: 3P anv¨ands bland annat som ammunition till Stridfordon 90s 40mm kanon.[1]

(21)

2.3

Examensarbetet M¨

atskott 3P

2.3.1

Bakgrund

Zonr¨orsammunitionen 3P i kalibrarna 40 och 57 mm anv¨ander en kombination av DC-signaler och HF-signaler f¨or att programmeras till ¨onskad funktionsmod. Programmeringen utf¨ors i samband med ans¨attningen av ammunitionen i pj¨as, det vill s¨aga alldeles strax innan granaten avfyras.

Vid integration av programmeringsutrustning i pj¨as ¨ar det viktigt att ha kon-troll p˚a var 3P-granaten befinner sig i programmeringssystemet f¨or att vara s¨aker p˚a att zonr¨oret skall mottaga programmeringen p˚a r¨att s¨att och d¨armed erh˚alla avsedd funktion. Vid eventuella felutfall ¨ar det ett omst¨andligt arbete att ta reda p˚a vad som egentligen gick fel d˚a hela kedjan fr˚an pj¨asdator till ammunitionsfel m˚aste tas med i felutredningen.

Genom att tillverka ett m¨atskott som har identiska yttre m˚att och samma vikt som ett skarpt, kan zonr¨orets mottagning av programmeringssignalerna och systemets timing utv¨arderas. Skottet laddas i pj¨as f¨or att sedan, ist¨allet f¨or att skjutas iv¨ag, plockas ut och utv¨arderas mot en PC.

Ett s˚adant m¨atskott ska bygga p˚a en komplett 3P-elektronik samt eventuellt accelerometrar f¨or utv¨ardering av den fysiska milj¨on. Programmerings- och sen-sorsignaler ska tas om hand och lagras i ett minne f¨or att senare kunna l¨asas ut till en PC.

2.3.2

Uppgift

Examensarbetet g˚ar ut p˚a att ta fram ett labsystem till hj¨alp f¨or att utforma ett m¨atskott inneh˚allande analog och digital elektronik. Grunden f¨or projektet ¨ar ett utv¨arderingskort med bland annat en Blackfin-processor fr˚an Analog Devices. Labsystemet ska, kopplat till 3P-elektronik, sampla skottets programmeringssig-naler och eventuella accelerometersigprogrammeringssig-naler. Med hj¨alp av Blackfin-processorn ska insignalerna sparas f¨or att i efterhand kunna l¨asas ut till en PC i l¨ampligt format. Dessutom ska en utv¨ardering av kretsens effektf¨orbrukning och fortsatt arbete g¨oras f¨or att underl¨atta konstruktion av ett komplett m¨atskott.

2.3.3

Krav och riktlinjer

Sampling

Eftersom timingen i insignalerna ¨ar en viktig del av uppgiften ska signalerna sam-plas oftare ¨an vad samplingsteoremet anger. L¨ampligt v¨arde kan vara 10 g˚anger st¨orre ¨an minsta samplingsfrekvens, enligt Nyquistteoremet. Signalerna ska b¨orja sparas en sekund innan DC-signalen skickas fr˚an pj¨as till skott och tills dess att

(22)

alla programmeringssignaler ¨ar skickade. F¨or att spara viss m¨angd tidigare data rekommenderas cirkul¨ara buffrar. Uppl¨osningen hos de samplade signalerna kan v¨aljas mellan 8 till 12 bitar.

H˚ardvara

Labsystemet ska utg¨oras av egenkonstruerad elektronik kopplad till utv¨arderings-kortet och till befintlig 3P-elektronik. L¨amplig A/D-omvandlare ska v¨aljas med h¨ansyn till signaler och ¨ovrig elektronik. Beh¨ovs ytterligare komponenter kom-mer de liksom A/D-omvandlaren k¨opas in av Bofors. M¨onsterkortet tillverkas i m¨onsterkortslabbet p˚a Bofors. Det ska finnas st¨od f¨or att koppla accelerometrar till labsystemet b˚ade h˚ardvaru- och mjukvarum¨assigt.

Mjukvara

Samplingsdata sparas l¨ampligen f¨orst i befintliga minnen p˚a utv¨arderingskortet f¨or att sedan matas ut mot PC i ASCII-format. Gr¨anssnittet mot PC kan exempelvis vara seriellt via serie- eller USB-port.

(23)

Kapitel 3

Litteraturstudie

3.1

ardvara

3.1.1

DSP - Digital Signalprocessor

Vad ¨ar en DSP?

DSP ¨ar en f¨orkortning f¨or engelskans Digital Signal Processing och Digital Signal Processor beroende p˚a sammanhanget. Digital Signal Processing kan till svenska ¨overs¨attas som ”behandling av digitala signaler” och syftar p˚a vetenskapen. Dig-ital Signal Processor syftar, som namnet antyder, p˚a en behandlare av digitala signaler, i det h¨ar sammanhanget kort och gott en specialiserad processor.

Vad skiljer d˚a en processor specialiserad f¨or digitala signaler fr˚an en vanlig mikroprocessor som idag hittas i m˚anga datorer? M¨ojligheten att snabbt ta emot, behandla och skicka digitala signaler. En mikroprocessor ¨ar optimerad f¨or att flytta, lagra, sortera och j¨amf¨ora data. Den kan dessutom utf¨ora matematiska ber¨akningar. En DSP, d¨aremot, ¨ar optimerad f¨or det senare.

Vid realtids-databehandling, det vill s¨aga d˚a en utsignal produceras direkt efter att en insignal inh¨amtats, kr¨avs ofta att algoritmer utf¨ors snabbt innan n¨asta signal inh¨amtas. G˚ar utr¨akningen f¨or l˚angsamt s˚a kan inte korrekt sam-plingsfrekvens h˚allas. Typiska applikationer ¨ar vid kontinuerliga insignaler, till exempel ljud och bild, som skall behandlas och presenteras i realtid. Dessa app-likationer kr¨aver en viss samplingshastighet f¨or att inte m¨anniskan skall uppfatta signalen som f¨orvr¨angd. D¨aremot s˚a kan en kort f¨ordr¨ojning av signalfl¨odet ac-cepteras (exempelvis 10 millisekunder vid telefoni). Exempel p˚a realtidssystem ¨ar telefoni, h¨orapparater, radar och tv/video.[3]

(24)

Arkitektur

En algoritm som ofta anv¨ands vid behandling av digitala signaler ¨ar FIR1

-filtret. Utsignalen (y[n]) ber¨aknas genom att nuvarande (x[n]) och tidigare insignaler (x[n − 1], x[n − 2], . . .) multipliceras med olika koefficienter (a) som beskriver fil-trets impulssvar. Slutligen adderas produkterna, vilket ger utsignalen. Antalet koefficienter och tidigare insignaler beror p˚a filtrets karakt¨ar (fr˚an n˚agra enstaka till flera tusen).

y[n] = a0x[n] + a1x[n − 1] + a2x[n − 2] + . . .

F¨or att algoritmen ska kunna utf¨oras i realtid kr¨avs att additioner och multip-likationer ber¨aknas snabbt. Dessutom b¨or tidigare insignaler lagras p˚a ett effektivt s¨att.

Exekveringshastigheten som kr¨avs f¨or dessa ber¨akningar uppn˚as i DSP:er genom specialiserad h˚ardvara s˚a som bland annat multiplicerare, ackumulatorer, barrel shifters (skiftregister som kan utf¨ora flera bitars skiftning i en klockcykel) samt instruktions-cacheminne. Multiplicerare och ackumulatorer ing˚ar i en enhet som kallas MAC2

. MAC:en kan utf¨ora en multiplicering och addering/subtraktion un-der endast en klockcykel. Det g¨or den mycket anv¨andbar i en DSP som exekverar algoritmer liknande FIR-filtret.

D˚a DSP:er utf¨or mycket behandling av realtidssignaler fr˚an omv¨arlden inneb¨ar det ocks˚a att de ber¨akningar som utf¨ors repeteras om och om igen. Dessa loopar brukar inneh˚alla ber¨akningar som utf¨ors av n˚agra f˚a instruktioner. FIR-filteralgo-ritmen ackumulerar sina produkter i en loop till dess att utsignalen ¨ar ber¨aknad och n¨asta insignal ska h¨amtas. Instruktionerna i dessa loopar kan d˚a med f¨ordel utnyttja instruktions-cacheminnet f¨or att spara exekveringstid.

F¨or att p˚a ett effektivt s¨att spara antal tidigare insignaler utan att f¨or den skull spara samtliga (vilket ocks˚a ofta ¨ar om¨ojligt i realtidsapplikationer p˚a grund av begr¨ansat minnesutrymme) anv¨ands med f¨ordel cirkul¨ara buffrar. En cirkul¨ar buffer fungerar som en array d¨ar sista platsen ¨ar l¨ankad till den f¨orsta. Platsen d¨ar den senast lagrade datan ligger ¨ar ocks˚a den sista i buffern och platsen efter ¨ar d¨armed den f¨orsta. Dessa positioner sparas givetvis som pekare s˚a att m¨ojligheten att hitta f¨orsta respektive sista positionen i buffern finns.

En DAG3

¨ar en enhet som ofta f¨orekommer i arkitekturen hos en DSP. Den kon-trollerar de adresser som program eller minne skickar och som beskriver var data skall sparas eller h¨amtas. DAG:en underl¨attar arbetet f¨or processorn bland annat d˚a cirkul¨ara buffrar anv¨ands. Kontroll av buffrarnas pekare och inkrementering av dessa sker d˚a automatiskt, utan att exekveringsenheten beh¨over ingripa.

1

Finite Impulse Response

2

Multiply Accumulator

3

(25)

Figur 3.1: Strukturen av en cirkul¨ar buffer. Sista positionen ¨ar ocks˚a den senast skrivna.

En typisk arkitektur datorarkitektur hos DSP:er ¨ar Super Harvard-arkitekturen. Till skillnad fr˚an von Neumann-arkitekturen, som anv¨ander samma buss och minne f¨or data och instruktioner, inneh˚aller Super Harvard-arkitekturen tv˚a sep-arata bussar och minnen f¨or dessa ¨andam˚al. Super Harvard-arkitektur skiljer sig ocks˚a givetvis ocks˚a fr˚an vanlig Harvard-arkitektur p˚a vissa punkter. CPU:n in-neh˚aller, i superarkitekturen, ¨aven ett instruktions-cacheminne. Till dataminnet finns ocks˚a en I/O-kontrollenhet kopplad via en egen buss. I/O-kontrollenheten hanterar gr¨anssnitten mot omv¨arlden, som b˚ade kan vara seriella och parallella portar. Den ”egna” bussen som kopplar ihop minnet och kontrollenheten kallas DMA-bussen4

och medf¨or att signalerna inte beh¨over passera processorn och dess register innan de sparas i minnet. DMA-bussen ¨oppnar d¨arf¨or m¨ojligheter f¨or processorn att ¨agna sig ˚at annat under tiden som data tas emot och lagras.

Det finns ocks˚a en tredje variant av Harvard-arkitektur som kallas ut¨okad eller modifierad Harvard-arkitektur. Den ¨ar ofta f¨orekommande i DSP:er och kan ocks˚a vara kombinerad med Super Harvard-arkitekturen. I den arkitekturen anv¨ands tv˚a databussar, vilket m¨ojligg¨or ytterligare en datah¨amtning under en klockcykel. Att arkitekturen ¨ar vanligt f¨orekommande i DSP:er beror p˚a att MAC-operationer kr¨aver tv˚a datah¨amtningar f¨or att utf¨oras.

En effektiv DSP kan utf¨ora varje produkt i FIR-filteralgoritmen p˚a endast en klockcykel. Det beror p˚a att h˚ardvaran m¨ojligg¨or att s˚a m˚anga operationer kan utf¨oras parallellt. DSP:n ¨ar allts˚a optimerad f¨or den h¨ar typen av algoritmer.[3],[4]

3.1.2

Processorn ADSP-BF533

Blackfin-processorn ADSP-BF533 ¨ar en 16-bitars DSP fr˚an Analog Devices. Proces-sorn anv¨ander sig av instruktionsupps¨attning av typen RISC5

. RISC inneb¨ar bland annat att instruktionsupps¨attningen ¨ar enkel och inneh˚aller f˚a instruktioner.

4

Direct Memory Access Bus

5

(26)

Figur 3.2: Super Harvard-arkitektur

Processorn kan utf¨ora flera instruktioner under samma klockcykel och inneh˚aller periferienheter s˚asom:

• Parallel peripheral interface (PPI) • Serial ports (SPORT)

• Serial peripheral interface (SPI) • General-purpose timers

• Universal asynchronous receiver transmitter (UART) • Real-time clock

• Watchdog timer

• General-purpose I/O (programmerbara flaggor/pinnar)

Blackfin-processorn ¨ar uppbyggd enligt en modifierad Harvard-arkitektur (en typ av Super Harvard-arkitektur) med bland annat DMA-buss och instruktions-cacheminne. Processorn kan k¨oras i klockfrekvenser upp till 600MHz.[5],[6]

(27)

Processork¨arnan

Processork¨arnan inneh˚aller tv˚a 16-bitars multiplicerare, tv˚a 40-bitars ackumula-torer, tv˚a 40-bitars ALU:er6

, fyra 8-bitars video-ALU:er och en 40-bitars barrel shifter. Den inneh˚aller ¨aven ˚atta 32-bitars dataregister som ocks˚a kan anv¨andas som 16 stycken 16-bitars register. Den adress-aritmetiska enheten tillhandah˚aller 2 adresser som g¨or det m¨ojligt att h¨amta data fr˚an dessa adresser samtidigt. I den en-heten finns ocks˚a 4 upps¨attningar 32-bitars register anpassade f¨or cirkul¨ara buffrar (I-, L-, B- och M-registren) och 8 stycken adressregister anpassade f¨or C/C++. En styrenhet inneh˚allande bland annat instruktionsregister och avkodare kontrollerar, med hj¨alp av en programr¨aknare, instruktionsfl¨odet f¨or programmet.[5]

Figur 3.3: Arkitekturen f¨or ADSP-BF533.[5]

Minne

ADSP-BF533 anv¨ander sig av 32-bitars minnesadresser, vilket ger ett adressomr˚ade p˚a 4 GB. Internminne, externt minne och I/O-enheter disponerar alla delar av

6

(28)

samma adressomr˚ade. Internminnet ¨ar av typen SRAM och best˚ar av instruk-tionsminne, dataminne och cacheminne som tillsammans kan h˚alla 148 kB data. ˚

Atkomsten av externt minne sker via External Bus Interface Unit. Det externa minnet kan best˚a av SDRAM, SRAM eller flashminne och vara maximalt p˚a 132 MB.[5]

Direct Memory Access DMA7

¨ar en metod f¨or att avlasta processorn vid I/O-hantering. Med hj¨alp av sep-arat h˚ardvara sk¨ots lagringen av data fr˚an I/O-enheter utan kontinuerliga instruk-tioner fr˚an n˚agon programrutin. ADSP-BF533 inneh˚aller separata DMA-bussar f¨or periferienheterna PPI, SPI, SPORT, UART och mellan processorns externa och interna minnesutrymmen.[5]

External Bus Interface Unit EBIU8

¨ar en busskontrollenhet som skapar ett gr¨anssnitt mot externa standard-minnen, s˚asom SDRAM, DIMM samt asynkrona minnen (SRAM, ROM, flash, EPROM) och I/O-enheter. F¨or dessa minnestyper inneh˚aller i sin tur EBIU tv˚a kontrollenheter som m¨ojligg¨or olika timingkonfigurationer.[5]

Timers

ADSP-BF533 har fyra programmerbara timers. Tre av dessa har varsin extern pinne som bland annat kan anv¨andas f¨or att m¨ata pulsbredd p˚a insignaler. Dessu-tom kan pulsbredd m¨atas p˚a signaler fr˚an UART-porten, vilket m¨ojligg¨or att se-riekommunikationens data¨overf¨oringshastighet (baudrate) automatiskt kan r¨aknas ut.[5]

Parallel Peripheral Interface PPI9

¨ar ett parallellt datainterface som medf¨or att processorn direkt kan kopplas till A/D-/D/A-omvandlare, ITU-R 601/656 video krypterings-/dekrypteringsen-heter och andra periferienkrypterings-/dekrypteringsen-heter. PPI best˚ar av 16 dataing˚angar, 3 framesynkronis-eringsing˚angar och en klocking˚ang. Av dessa kan 12 av dataing˚angarna samt de 3 synkroniseringsing˚angarna anv¨andas till andra ¨andam˚al. Maximal ¨overf¨orings-frekvens via PPI ¨ar halva systemklockans (SCLK) ¨overf¨orings-frekvens. Vid generell anv¨and-ning av PPI kan upp till 16 bitar skickas per PPI-cykel.[5]

7

Direct Memory Access

8

External Bus Interface Unit

9

(29)

Universal Asynchronous Receiver Transmitter F¨or seriell data finns, bland annat, en UART10

-port kompatibel enligt PC-standard, p˚a processorn. St¨od finns f¨or 5-8 bitar data, 1 eller 2 stoppbitar, ingen, j¨amn eller udda paritet. M¨ojlighet att sk¨ota den seriella ¨overf¨oringen med hj¨alp av DMA finns ocks˚a.[5]

Programmable flags

Processorn har 16 stycken I/O-pinnar f¨or allm¨ant anv¨andande, vilka ocks˚a kallas f¨or programmable flags. Till dessa pinnar kan till exempel avbrottsrutiner kopplas, f¨or att styra programfl¨odet vid en viss insignal.[5]

Bootmetoder

Processorn kan bootas p˚a tv˚a s¨att. Antingen s˚a laddas programmet som ska ex-ekveras in i internminnet fr˚an ett externt flashminne eller fr˚an ett externt EEP-ROM (det senare via SPI). Alternativt kan bootsekvensen hoppas ¨over genom att programkod exekveras direkt fr˚an ett externt minne ist¨allet.[5]

3.1.3

ADSP-BF533 EZ-KIT Lite

ADSP-BF533 EZ-KIT Lite ¨ar ett utv¨arderingskort fr˚an Analog Devices som f¨or-utom DSP:n ADSP-BF533 innefattar minnen, audio- och videocodecs samt olika I/O-gr¨anssnitt. Processorn klockas p˚a kortet med en 27 MHz oscillator och kan pro-grammeras fr˚an en PC via USB-anslutning (alternativt JTAG). Med utv¨arderings-kortet f¨oljer en tids- och programstorleksbegr¨ansad version av utvecklingmilj¨on Visual DSP++.

De f¨or projektet mest intressanta enheterna p˚a kortet ¨ar f¨orutom processorn; flashminnen, SDRAM-minne, UART-port samt kontakter f¨or att koppla in extern h˚ardvara.[7]

Flashminnen

Flashminnena, fr˚an STMicroelectronics, ¨ar 2 stycken asynkrona icke-flyktiga min-nen ´a 1 MB som bland annat kan anv¨andas f¨or att boota program fr˚an. P˚a vardera flashminne finns ocks˚a ett stort antal (7·8) I/O-pinnar f¨or allm¨ant bruk. P˚a utv¨arderingskortet n˚as dock endast 16 av dessa 56 I/O-pinnar p˚a vardera flash-minne. Dessutom ¨ar vissa av dessa pinnar redan upptagna av funktioner f¨or codecs, PPI och lysdioder.[7]

10

(30)

Figur 3.4: Bilden visar ovansidan av utv¨arderingskortet ADSP-BF533 EZ-KIT Lite.

SDRAM

Fr˚an Micron kommer SDRAM:et som ¨ar ett synkront flyktigt minne p˚a 32 MB (16MB·16 bitar).[7]

Gr¨anssnitt

Via tre 90-pinnars kontakter p˚a kortet kan de flesta av dess komponenters I/O-signaler n˚as. Dessa ¨ar ett l¨ampligt gr¨anssnitt d˚a extern h˚ardvara skall kopplas till kortet eller d˚a kontrollm¨atningar ska utf¨oras. Processorns UART-port ¨ar kopplad via en RS232 line-driver till en DB9M-kontakt vilket m¨ojligg¨or seriell datakom-munikation mellan processorn och en PC.[7]

(31)

Figur 3.5: Arkitekturen f¨or ADSP-BF533 EZ-KIT Lite.[7]

3.1.4

A/D-omvandlare

F¨or att omvandla kontinuerliga, analoga signaler till diskreta, digitala anv¨ands A/D-omvandlare. En s˚adan omvandling beh¨ovs till exempel d˚a yttre analoga sig-naler ska behandlas av en processor.[8]

Uppl¨osning

En A/D-omvandlare j¨amf¨or en analog insp¨anning med en referenssp¨anning som ¨ar uppdelad i olika niv˚aer. Omvandlarens uppl¨osning beskriver hur m˚anga dessa niv˚aer ¨ar. Uppl¨osningen m¨ats i antal bitar som A/D-omvandlarens resultat presen-teras i och ¨ar d¨armed ett m˚att p˚a hur noggrant en analog signal kan m¨atas.[8],[9]

(32)

Omvandlingshastighet och arkitektur

En A/D-omvandlares snabbhet att sampla en analog signal ¨ar starkt beroende p˚a omvandlarens inre arkitektur. Med avseende p˚a samplingsfrekvens kan A/D-omvandlare delas in i tv˚a grupper: Nyquist-omvandlare och ¨oversamlande om-vandlare. Nyquist-omvandlare samplar v¨arden enligt Nyquist-teoremet, vilket in-neb¨ar att samplingsfrekvensen ¨ar strax h¨ogre ¨an dubbla h¨ogsta frekvenskomponent (Nyquistfrekvensen) i den samplade signalen. Samplingsfrekvensen v¨aljs ofta till cirka 3 till 20 g˚anger st¨orre ¨an Nyquist frekvensen d˚a frekvenskomponenter som ¨ar h¨ogre ¨an Nyquistfrekvensen annars ”skr¨apar ned” resultatet. Problemet med dessa skr¨apfrekvenser kallas aliasing och begr¨ansas med h¨ojd samplingsfrekvens och ett l˚agpassfiltrerande anti-aliasingfilter.

fsampel>2 · fbandbredd (3.1)

3.1 Nyquistteoremet, ¨aven k¨ant som Shannons teorem eller samplingsteoremet. fbandbredd kallas ¨aven Nyquistfrekvensen.

¨

Oversamplande omvandlare (till exempel sigma/delta-omvandlare) samplar v¨arden betydligt snabbare ¨an Nyquist-omvandlare (cirka 40 till 1024 g˚anger Nyquist-frekvensen) och kan p˚a s˚a s¨att ¨oka sin internt l˚aga uppl¨osning med hj¨alp av medelv¨ardesbildning. Priset som betalas d˚a samplingsfrekvens anv¨ands f¨or att ¨oka uppl¨osning ¨ar att den praktiska omvandlingshastigheten blir relativt l˚ag. ¨Oversampling resulterar allts˚a oftast i h¨og uppl¨osning och l˚ag bandbredd.

Arkitekturen f¨or Nyquist-omvandlare kan i sin tur delas in i tre huvudprinciper: • Successiv approximation

• Ramp • Flash

Successiv approximation, som ¨ar den vanligaste principen anv¨ander en r¨aknare och en D/A-omvandlare f¨or att skapa en sp¨anning som j¨amf¨ors med signalsp¨anningen med hj¨alp av en komparator. R¨aknaren kallas successivt approximationsregister och r¨aknar inte som en konventionell r¨aknare (det vill s¨aga fr˚an noll och ett steg i taget upp˚at). Ist¨allet b¨orjar den med att ¨oka den mest signifikanta biten (MSB), j¨amf¨ora mot signalsp¨anningen och d¨arefter avg¨ora om r¨aknaren ska ¨okas (med den n¨ast mest signifikanta biten) eller minskas (genom att nollst¨alla MSB och ettst¨alla biten innan MSB) till dess att sp¨anningen motsvarar insignalens niv˚a.

Rampomvandlare finns i olika typer men alla har gemensamt att varje sam-pel best¨ams av att en sp¨anning stegvis r¨aknas upp med hj¨alp av en konventionell

(33)

r¨aknare och en D/A-omvandlare. Den uppr¨aknade sp¨anningen j¨amf¨ors mot den analoga signalen med en komparator som avg¨or om korrekt v¨arde hittats eller om uppr¨akningen skall f¨orts¨atta. N¨ar korrekt v¨arde hittats h˚aller r¨aknaren det digitala resultatet. Rampomvandlarna ¨ar relativt l˚angsamma eftersom de vid varje sam-pling b¨orjar om och j¨amf¨or signalsp¨anningen mot l¨agsta m¨ojliga referenssp¨anning (nollniv˚an).

Den snabbaste omvandlingstiden f˚as med flasharkitektur. I flashomvandlaren delas referenssp¨anningen upp ¨over en resistorstege med lika m˚anga resistorer (av samma resistans, utom i specialfall) som omvandlarens uppl¨osning kr¨aver. Sig-nalsp¨anningen j¨amf¨ors sedan med komparatorer mot dessa sp¨anningsniv˚aer och avkodas f¨or att resultera i ett bin¨art tal.

Figur 3.6: 3 bitars flashomvandlare med xor-grindar och avkodare som formaterar resultatet fr˚an komparatorerna till ett bin¨art tal.[10]

(34)

beskriv-na arkitekturer eftersom den direkt abeskriv-nalogt best¨ammer de olika niv˚aerna. Det enda som begr¨ansar omvandlingstiden ¨ar grindf¨ordr¨ojningar i avkodningslogiken och komparatorf¨ordr¨ojningar. Den stora nackdelen ¨ar att s˚a m˚anga komparatorer m˚aste anv¨andas. Komparatorerna m˚aste vara lika m˚anga som antalet niv˚aer som omvandlarens uppl¨osning kr¨aver. En 8 bitars flashomvandlare innefattar 256 olika niv˚aer och d¨arf¨or 255 komparatorer (f¨or att best¨amma nollniv˚an beh¨ovs ingen enskild komparator), vilket g¨or arkitekturen till den mest komponentintensiva av de beskrivna typerna.

En variant p˚a flasharkitekturen som sparar m˚anga komparatorer ¨ar halv-flash-arkitekturen. Dessa omvandlare g¨or omvandlingen i tv˚a omg˚angar, vilket inneb¨ar att den ocks˚a tar dubbelt s˚a l˚ang tid att genomf¨ora. Den stora f¨ordelen ¨ar att halvflashomvandlare bara beh¨over inneh˚alla lika m˚anga komparatorer som en flashomvandlare med h¨alften s˚a h¨og uppl¨osning. En 8 bitars halvflashomvand-lare inneh˚aller allts˚a lika m˚anga komparatorer som en 4 bitars flashomvandlare, vilket ¨ar 15 stycken. Om resultatet i sin tur j¨amf¨ors med antalet komparatorer f¨or en 8 bitars flash, vilket ¨ar 255 stycken, uppt¨acks den stora skillnaden. P˚a samma s¨att reduceras ocks˚a antalet resistorer i resistorstegen.

Andra komponenter som ¨ar vanligt f¨orekommande i en A/D-omvandlares inre ¨ar en sample-and-hold-krets (¨aven kallad track-and-hold) och en multiplexer. Sample-and-hold-kretsens uppgift ¨ar att tillf¨alligt l˚asa den analoga insp¨anningen s˚a att den inte varierar under omvandlingen. En multiplexer anv¨ands f¨or att m¨ojligg¨ora sam-pling av signaler p˚a olika kanaler, vilket ¨ar fallet d˚a till exempel olika k¨allor ska samplas med samma A/D-omvandlare. Med en multiplexer integrerad i omvand-laren ist¨allet f¨or en extern sparas komponentutrymme.[10],[11],[12],[13]

3.1.5

Minnen

F¨or att en dator ska kunna lagra data beh¨ovs n˚agon typ av minne. De flesta persondatorer har n˚agon form av cacheminne, ramminne och h˚arddisk f¨or lagring av program och annan data. Att olika minnen anv¨ands i en dator beror bland annat p˚a att de minnen som har h¨og lagringskapacitet ofta inte ¨ar tillr¨ackligt snabba. En annan orsak ¨ar att vissa minnen tappar sitt inneh˚all d˚a de inte matas med en sp¨anning medan andra inte g¨or det. H˚arddisken ¨ar oftast ett magnetiskt minne medan cacheminne och ramminne ¨ar halvledarminnen.[9]

Icke-flyktiga minnen

De minnen som kan beh˚alla den information som lagrats i dem ¨aven d˚a mat-ningssp¨anningen kopplats fr˚an kallas icke-flyktiga. Nackdelen med dessa minnen ¨ar att inte ¨ar lika snabba som flyktiga minnen. L¨astiden g˚ar att f˚a lika bra som den flyktiga varianten men skrivtiden ¨ar betydligt l¨angre. P˚a grund av den l˚anga

(35)

skrivtiden anv¨ands icke-flyktiga minnen i huvudsak f¨or l¨asning av permanent information.[9]

Flashminnen

Det finns olika typer av icke-flyktiga minnen s˚asom ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Erasable PROM), EEPROM (Electri-cal Erasable PROM) samt flashminne. Av dessa kan bara EPROM, EEPROM och flashminnet raderas efter att de tillverkats och eventuellt programmerats. EEP-ROM och flashminne har dessutom egenskapen att de kan raderas elektriskt, vilket skapar m¨ojligheten f¨or exempelvis en processor att flera g˚anger f¨or¨andra minnets inneh˚all. Flashminnen ¨ar idag vanliga eftersom de ¨ar l¨attare att radera ¨an EPROM samt inneh˚aller fysiskt mindre minnesceller ¨an EEPROM. Skrivtiden hos flashmin-net ¨ar ocks˚a betydligt kortare ¨an f¨or EEPROM (storleksordningen mikrosekunder j¨amf¨ort med millisekunder). Men det finns ocks˚a nackdelar hos flashminnet. Det kan endast raderas helt och h˚allet eller stora delar i taget (det vill s¨aga blockvis). EPROM och EEPROM kan raderas bytevis.[9]

Flyktiga minnen

Flyktiga minnen kan till motsats mot icke-flyktiga inte beh˚alla den data som sparats i dem efter det att matningssp¨anningen kopplats fr˚an. D¨aremot har de, som redan beskrivits, betydligt kortare skrivtid, vilken liksom l¨astiden ligger i omr˚adet nanosekunder. Dessa minnen kallas vanligen RAM (Random Access Memory), vilket betecknar att det f¨or dessa minnen alltid kr¨avs samma tid f¨or att acces-sa olika, slumpm¨assigt valda adresser. RAM minnen skiljer sig i det avseendet till exempel mot h˚arddiskar som beroende p˚a var huvudet befinner sig har olika s¨oktider. Flyktiga minnen finns av tv˚a olika typer: statiska och dynamiska.[9] Statiska RAM

I statiska RAM (SRAM) sparas en databit i en latch uppbyggd av cirka 4-6 transis-torer. Informationen i latchen h˚alls s˚a l¨ange minnet har matningssp¨anning. SRAM ¨ar snabbare ¨an dynamiska RAM och anv¨ands d¨arf¨or ofta som cacheminne i datorer och inbyggda processorer.[9]

Dynamiska RAM

Dynamiska RAM (DRAM) ¨ar uppbyggda av endast en transistor och en konden-sator. Bitinformationen sparas som laddning i kondensatorn, men som p˚a grund av l¨ackstr¨om kontinuerligt laddas ur. F¨or att bibeh˚alla informationen m˚aste laddnin-gen i kondensatorn uppfriskas med j¨amna mellanrum. Uppfriskninladdnin-gen sker laddnin-genom

(36)

att informationen l¨ases och skrivs in igen, ungef¨ar var 50:e millisekund (kallas uppfriskningsperioden). Eftersom uppfriskningar tar mindre tid ¨an en procent av uppfriskningsperioden p˚averkar inte dessa prestandan n¨amnv¨art, d¨aremot kr¨avs speciella kretsar f¨or att sk¨ota uppfriskningarna. DRAM ¨ar l˚angsammare ¨an SRAM men tar, p˚a grund av de f˚a komponenter som kr¨avs per minnescell, upp mindre fysiskt utrymme och har d¨arf¨or st¨orre lagringskapacitet. ¨Aldre generationer av DRAM var asynkrona, vilket innebar att de inte anv¨ande n˚agon gemensam klocka med processorn. Processorn fick d˚a v¨anta p˚a en styrsignal fr˚an minnet som talade om att till exempel skrivningen var klar. Synkrona DRAM (SDRAM) anv¨ander en gemensam systemklocka som eliminerar behovet av s˚adana styrsignaler eftersom skriv- och l¨astider ¨ar k¨anda och kan m¨atas med hj¨alp av klockan. Med ett synkront minne kan data¨overf¨oring allts˚a ske snabbare ¨an med asynkront dito. V¨asentligt snabbare blir data¨overf¨oringen f¨or SDRAM ¨an f¨or DRAM d˚a flera ord skrivs eller l¨ases p˚a en g˚ang, i en s˚a kallad skur.[4],[9]

3.1.6

Accelerometrar

Grundprincipen f¨or accelerometrar ¨ar att j¨amf¨ora f¨orflyttningen p˚a ett r¨orligt ob-jekt i f¨orh˚allande till ett referensobjekt. Det r¨orliga objektet ¨ar en massa som ing˚ar i ett fj¨adrande system f¨ast vid en ramstruktur (h¨olje) med d¨ampande egenskaper. D˚a accelerometern uts¨atts f¨or f¨orflyttning p˚averkas den r¨orliga massan inte di-rekt utan f¨ordr¨ojs j¨amf¨ort med h¨oljets f¨orflyttning. Kraften som verkar p˚a den r¨orliga massan best¨ammer, med hj¨alp av Newtons andra lag, accelerationen. Det finns olika typer av accelerometrar men de tre vanligaste ¨ar kapacitiva, piezore-sistiva och piezoelektriska. Dessa givare har idag ett brett anv¨andningsomr˚ade och kan m¨ata bland annat tilt (lutning), positionering, r¨orelse, vibration och st¨ot.[18],[19],[20],[21]

Kapacitiva accelerometrar

Kapacitiva accelerometrar ¨ar uppbyggda av minst tv˚a objekt; en platta f¨ast vid referensobjektet och en platta f¨ast vid den r¨orliga massan. Dessa plattor utg¨or en kondensator vars kapacitans p˚averkas av plattornas areor, avst˚and till varandra och materialet mellan dem.

Eftersom den r¨orliga massan s¨allan kan f¨orflyttas mer ¨an maximalt 20µm beh¨ovs n˚agon form av kompensering f¨or st¨orningar och eventuella linj¨aritetsfel mellan plattorna. L¨osning ¨ar att anv¨anda ytterligare en platta (eller ¨annu fler) s˚a att plattorna utg¨or tv˚a kondensatorer med lika stor kapacitans. P˚a s˚a s¨att kan dif-ferensen mellan dessa kapacitanser anv¨andas f¨or att ge en sp¨anning som motsvarar accelerationen.[18],[19],[20]

(37)

Figur 3.7: En f¨orenklad bild av den kapacitiva accelerometern ADXL150 fr˚an Ana-log Devices.[22]

Piezoresistiva accelerometrar

Dessa accelerometrar m¨ater acceleration genom att ett piezoresistivt material t¨ojs eller belastas och p˚a grund av sina materialegenskaper d˚a f¨or¨andrar sin resistans. Materialet ¨ar f¨ast mellan den r¨orliga massan och h¨oljet i accelerometern.[18],[19]

Piezoelektriska accelerometrar

Den piezoelektriska effekten har ett naturligt anv¨andningsomr˚ade i accelerometrar eftersom den direkt konverterar mekanisk energi till elektrisk. Inuti accelerometern ¨ar den r¨orliga massan f¨orbelastad av en fj¨ader och vilar mot en piezoelektrisk kristall. N¨ar massan p˚averkas av en kraft pressas kristallen ihop ytterligare som d˚a avger laddningar motsvarande accelerationen.[18],[19]

Dagens accelerometrar

P˚a grund av l¨ackstr¨ommar l¨ampar sig inte piezoelektriska accelerometrar f¨or m¨at-ning av statisk acceleration. Kapacitiva och piezoresistiva ¨ar l¨ampade f¨or den typen av acceleration men den senare typen ¨ar starkt temperaturberoende och d¨armed instabil. P˚a grund av dessa orsaker ¨ar idag de flesta nya accelerometrar av den kapacitiva typen.[20]

(38)

MEMS

Av dessa tre vanliga typer av accelerometrar tillverkas kapacitiva och piezoresistiva ¨aven i kisel med teknologin MEMS (MikroElektroMekaniskt System). Mekaniska strukturer med en kiselskiva som grund kan skapas p˚a tv˚a s¨att. Antingen etsas de fram i kiselskivan vilket kallas bulkmikromekanik eller ocks˚a skapas strukturerna genom ytmikromekanik d¨ar mekaniken byggs ovanp˚a kiselskivan. De flesta nya ac-celerometrar konstrueras idag med MEMS-teknologi eftersom de blir sm˚a, billiga, tillf¨orlitliga och underl¨attar massproduktion.[20]

3.1.7

3P-elektroniken

Figur 3.8: Bild ¨over signalf¨orlopp under laddningssekvens av 3P-ammunition.

De delar av 3P-elektroniken som ¨ar v¨asentliga f¨or projektet ¨ar toppkontakten p˚a skottet samt en enhet som modulerar de h¨ogfrekventa signalskurar som tas emot av skottets elektronik. P˚a grund av sekretess kan inte dessa delar beskrivas ing˚aende, men f¨or att skapa en f¨orst˚aelse f¨or hur h˚ardvaran till labsystemet senare i rapporten valdes kommer d¨aremot de signaler som ska samplas att beskrivas.

Toppkontakten, som liksom namnet antyder utg¨or toppen av skottet, tar un-der tiden som laddning av skottet p˚ag˚ar emot en DC-signal. DC-signalen indikerar

(39)

bland annat att laddning p˚ab¨orjats och kan ha tre olika sp¨anningsniv˚aer mellan 0V och 20V. HF-signalen tas ¨aven den emot under laddningsfasen men som elek-tromagnetiska v˚agor via ett spolkort. De h¨ogfrekventa signalskurarna moduleras sedan med en moduleringsenhet, vilket resulterar i en pulsad sp¨anning som har niv˚aerna 0V och cirka 1,4V. Signalf¨orloppet vid laddning ser i princip ut som figur 3.8 visar.

3.2

Mjukvara

3.2.1

Val av programspr˚

ak

N˚agot som m˚aste avv¨agas innan programmering av en DSP p˚ab¨orjas ¨ar vilket spr˚ak som passar b¨ast f¨or programmet. Skall h¨ogniv˚a- eller l˚agniv˚aspr˚ak anv¨andas, eller kanske b˚ade och? Nedan utreds vilket av spr˚aken C och assembler som l¨ampar sig b¨ast f¨or olika DSP-applikationer.

C eller Assembler

DSP:er programmeras vanligen i C eller assembler. Med assembler skrivs l˚agniv˚ a-kod vilket ¨ar optimalt att utnyttja om applikationen kr¨aver snabbhet och/eller effektivitet. Om det d¨aremot ¨ar ett krav att programmet snabbt ska utvecklas och dessutom vara l¨att att underh˚alla passar oftast ett h¨ogniv˚aspr˚ak som C b¨attre.

I DSP-sammanhang anv¨ands oftast assembler i sm˚a program eller kritiska delar i st¨orre program eftersom det tar relativt l˚ang tid att utveckla kod i l˚agniv˚aspr˚ak. Dessutom kr¨aver vissa DSP-program att databehandlingen sker i realtid, vilket st¨aller h¨oga krav p˚a dess snabbhet.

H¨ogniv˚aspr˚aket C medf¨or en stor f¨ordel att programmeraren inte beh¨over f¨orst˚a sig p˚a h˚ardvarans arkitektur i lika stor utstr¨ackning som d˚a assembler anv¨ands.

¨

Overs¨attningen av programmet till l¨agre niv˚a (assembler) sker med hj¨alp av en kompilator som har k¨annedom om DSP-arkitekturen. Kompilatorn underl¨attar allts˚a programmeringen eftersom den g¨or mycket av arbetet ˚at programmeraren. D¨aremot kan koden ibland bli ineffektiv d˚a kompilatorn inte alltid genererar op-timal maskinkod. Som tumregel kan man s¨aga att ett ”enkelt” skrivet program tolkas optimalt av kompilatorn, medan ett mer komplext ofta kommer att tolkas ineffektivt (s˚avida programmeraren inte har god k¨annedom om kompilatorn). En annan f¨ordel ¨ar att det ¨ar betydligt l¨attare f¨or andra programmerare att s¨atta sig in i ett h¨ogniv˚a- ¨an i ett l˚agniv˚aprogram. Det g¨or programmet betydligt l¨attare att underh˚alla.

F¨or att f˚a ut maximalt av ett DSP-program kan en kombination av C- och assemblerkod vara att f¨oredra. D˚a de tyngsta ber¨akningarna oftast utf¨ors i endast

(40)

en liten del av programmet, g¨ors programmet b˚ade effektivare och snabbare om den kritiska delen skrivs i assembler.

Vilket spr˚ak ska d˚a v¨aljas? Det beror p˚a vad som prioriteras. Ska utvecklan-det och underh˚all av programmet kunna ske snabbt v¨aljs C. ¨Ar programmets prestanda h¨ogst prioriterat v¨aljs assembler. Alternativet ¨ar att blanda spr˚aken vilket medf¨or lite av de b˚adas f¨ordelar men ocks˚a av deras nackdelar. F¨or DSP-applikationer, som ofta ¨ar korta och kr¨aver snabbhet, anv¨ander programmerare C ungef¨ar lika ofta som de anv¨ander assembler (enligt [3]).[3]

3.2.2

Visual DSP++

Visual DSP++ ¨ar ett utvecklingsverktyg l¨ampat f¨or att skapa och debugga mjuk-vara f¨or DSP:er fr˚an Analog Devices. Verktyget inneh˚aller bland annat assembla-tor, linker, loader, C/C++-kompilator och C/C++ runtime-bibliotek f¨or utveck-ling av mjukvara. Gr¨anssnittet mot anv¨andaren ¨ar grafiskt och flera funktioner som underl¨attar utvecklandet av program finns s˚a som k¨allfils- och projekthanter-ing, simulatorl¨age samt plottning av minne.

Figur 3.9: Utvecklingsmilj¨on Visual DSP++.[14]

(41)

emu-leringsl¨age. Simulatorl¨aget ¨ar l¨ampligt att anv¨anda d˚a programmet som utvecklas inte ¨annu ¨ar f¨ardigt f¨or att testas mot h˚ardvara. I det l¨aget h¨armar Visual DSP++ beteendet hos vald DSP. F¨or att sedan testa programmet mot h˚ardvara kan till ex-empel ett utv¨arderingskort anv¨andas. Med ett utv¨arderingskort kan det utvecklade programmet sedan k¨oras f¨or att utv¨ardera olika DSP:er och periferienheter. F¨or att k¨ora programmet mot, till exempel, egentillverkad h˚ardvara anv¨ands ist¨allet en emulator med JTAG-anslutning mot DSP:n. Genom emulatorn kan d˚a kod b˚ade ¨overf¨oras till h˚ardvaran och debuggas under k¨orning.[14],[15]

Kodutvecklingsverktyg i Visual DSP++

I Visual DSP++ finns en m¨angd kodverktyg f¨or olika processorer, d¨aribland f¨or Blackfin-processorn. C/C++-kompilatorn f¨or Blackfin-processorer kompilerar AN-SI/ISO standard C/C++-kod och skapar Blackfin assemblerkod. Analog Devices har ¨aven anpassat kompilatorn med st¨od f¨or ytterligare C-instruktioner, speciellt avsedda f¨or DSP-applikationer. Assemblatorn assemblerar Blackfin-assemblerkod och skapar objektfiler som sedan kan l¨ankas med l¨ankaren till exekverbara filer. Dessa exekverbara filer kan inte k¨oras direkt av processorn utan bara via Visu-al DSP++ debugl¨age. D˚a koden ska k¨oras utan ¨overvakning av Visual DSP++ m˚aste den laddas (bootas) fr˚an ett ickeflyktigt minne, exempelvis Flash eller EPROM, till processorn. F¨or att skapa en bootbar fil, det vill s¨aga en fil som kan laddas till processorn och d¨arifr˚an k¨oras, anv¨ands laddaren. Laddaren modi-fierar den exekverbara filen fr˚an l¨ankaren genom att ta bort de delar som enbart anv¨ands i debug-syfte och skapar d¨armed ett format p˚a filen som ¨ar anpassat f¨or processorn.[15],[16],[17]

Flashprogrammerare

F¨or att effektivt kunna programmera ett ickeflyktigt flashminne, som bland annat kan anv¨andas f¨or att boota ett program ifr˚an, finns en inbyggd flashprogrammer-are i Visual DSP++. Ist¨allet f¨or att beh¨ova ta bort flashminnet fr˚an kortet och anv¨anda en extern flashprogrammerare kan minnet, p˚a det h¨ar s¨attet, program-meras direkt via processorn. Genom att ladda processorn med en flashdriver skapas en f¨orbindelse mellan processorn och flashminnet f¨or programmering av minnet. Med programmeraren kan f¨orutom programmering bland annat ¨aven radering av hela eller sektorer av minnet utf¨oras och tillverkarinformation h¨amtas.[15]

(42)
(43)

Kapitel 4

Konstruktion

Kapitlet beskriver arbetet med att konstruera ett labsystem enligt de uppsatta kraven f¨or examensarbetet i sektion 2.3 p˚a sidan 5. Uppdelning har gjorts i delar-na h˚ardvara och mjukvara, d¨ar respektive l¨osningar beskrivs ing˚aende. Slutligen avslutas kapitlet med en del som beskriver momentet d˚a h˚ardvara och mjukvara testas tillsammans.

Labsystemet ¨ar konstruerat f¨or att sampla signaler fr˚an elektroniken i ett 3P-skott samt signaler fr˚an accelerometrar som m¨ater accelerationen i tre dimensioner. Systemet sparar samplingsdata i l¨ampligt minne och matar ut sparad data via serie¨overf¨oring d˚a en PC tillkopplas. H¨ansyn har ocks˚a tagits vid designen av systemet till att anv¨and elektronik fysiskt ska passa i ett 3P-skott, vari utrymmet ¨ar begr¨ansat.

4.1

ardvara

Labsystemet som konstruerats best˚ar av ett egenkonstruerat labkort med A/D-omvandlare samt gr¨anssnitt f¨or inkoppling av de signaler som ska samplas, det vill s¨aga de fr˚an 3P-elektroniken och de fr˚an accelerometrar. Dessutom ¨ar lab-kortet f¨orsett med en kontakt s˚a att det kan kopplas till utv¨arderingskortet f¨or kommunikation med Blackfin-processorn och dess periferienheter. Figur 4.1 visar ett blockschema ¨over de delar som labsystemet innefattar.

4.1.1

A/D-omvandlaren

F¨or labsystemet ¨ar A/D-omvandlaren och DSP:n p˚a utvecklingskortet de tv˚a vik-tigaste komponenterna, eftersom de utg¨or k¨arnan i konstruktionen. D˚a DSP:n redan var vald av f¨oretaget skulle en, enligt kravspecifikationen, passande A/D-omvandlare v¨aljas. De parametrar som beaktades speciellt var A/D-omvandlarens

(44)

Figur 4.1: Blockschema ¨over labsystemet

vandlingshastighet (omvandlingsfrekvens), uppl¨osning, antal kanaler och matnings-sp¨anning. F¨or att best¨amma dessa parametrar unders¨oktes utv¨arderingskortet med DSP:n. M˚alet var att hitta en A/D-omvandlare som enkelt kunde kommu-nicera med processorn samtidigt som den uppfyllde samtliga parameterkrav.

Antalet signaler som skulle kunna samplas var tv˚a stycken fr˚an 3P-elektroniken och tre stycken fr˚an accelerometrarna (en f¨or varje dimension). Allts˚a beh¨ovdes en multiplexer, antingen intern i A/D-omvandlaren eller extern, med minst fem kanaler in.

Omvandlingshastigheten var givetvis av yttersta vikt f¨or komponentvalet. F¨or att best¨amma den samplingshastighet som skulle kr¨avas f¨or att kunna sampla signalerna korrekt och enligt kravspecifikationen analyserades frekvenserna i de signaler som skulle samplas. F¨or signalerna fr˚an 3P-elektroniken ber¨aknades min-sta samplingsfrekvens med hj¨alp av Nyquist-teoremet. Den utr¨aknade frekvensen multiplicerades sedan med tio enligt de riktlinjer som f¨oretaget angivit. Multi-plicering beror p˚a att samplingsfrekvensen i Nyquist-teoremet ¨ar ber¨aknad p˚a pe-rioden som pulserna i signalen skapar och inte p˚a de analoga frekvenskomponenter som pulserna inneh˚aller. Utan multiplicering skulle endast tv˚a sampel per pulspe-riod f˚as, vilket skulle kunna reproducera den pulsade signalens frekvens men inte dess kantiga utseende. D˚a det var just signalens utseende med avseende p˚a timing och kvalitet som var intressant sattes riktlinjen p˚a tio sampel per period upp. Nedan visas de ber¨akningar som gjordes d˚a samplingsfrekvenserna f¨or respektive kanal skulle best¨ammas.

(45)

fb = 1 Tmin fSN >2 · fb fS ≥10 · fSN Tmin,HF = 1 260 · 10−6 = 3.85 · 10 3 Hz fS,HF ≥10 · 2 · fb,HF = 10 · 2 · 3.85 · 10 3 = 77kHz (4.1) Tmin,DC = 1 120 · 10−3 = 8.33Hz fS,DC ≥10 · 2 · fb,DC = 10 · 2 · 8.33 = 166.6Hz (4.2) fS,Acc≥10kHz (4.3)

Tmin= Signalens minsta periodtid (se sektion 3.1.7 p˚a sidan 22)

fSN= Samlingsfrekvensen enligt Nyquistteoremet

fB= Nyquistfrekvensen (samplade signalens bandbredd)

fS,HF , fS,DC= Multiplicerade samplingsfrekvenser f¨or HF- respektive DC-signalen

fS,Acc= Samplingsfrekvens vald f¨or accelerometrar

Samplingsfrekvenserna f¨or 3P-elektroniken ber¨aknades enligt ovan och sam-plingsfrekvensen f¨or accelerometrarna valdes ungef¨arligt f¨or att minst ge en, f¨or f¨oretaget, acceptabel noggrannhet. N¨ar de olika samplingsfrekvenserna var be-st¨amda kunde ett krav p˚a A/D-omvandlarens omvandlingshastighet uppskattas. Vid uppskattningen m˚aste ocks˚a tiden f¨or multiplexerns kanalbyten och tider f¨or lagring av data via processorn r¨aknas in i den totala omvandlingsfrekvensen. Med hj¨alp av simuleringar av egenkonstruerad mjukvara (se sektion 4.2) och utv¨arderingar av datablad f¨or olika A/D-omvandlare uppskattades kravet p˚a l¨agsta omvandlingshastighet till 400kHz.

L¨amplig uppl¨osning bed¨omdes till mellan 8 och 12 bitar. H¨ogre uppl¨osning ans˚ags inte n¨odv¨andigt d˚a det i f¨orsta hand var 3P-elektronikens signalers tim-ing som var det mest intressanta. D˚a l¨amplig matningssp¨anning skulle best¨ammas

(46)

¨overv¨agdes tv˚a m¨ojligheter, separat sp¨anningsmatning eller sp¨anningsmatning fr˚an n˚agon av Blackfin-utv¨arderingskortets kontakter. D˚a utv¨arderingskortet redan in-neh¨oll m¨ojligheter f¨or inkoppling till 5V och 3,3V valdes den m¨ojligheten. 3,3V fanns ocks˚a att ta ut fr˚an den kontakten som planerades att anv¨andas f¨or att koppla in signalerna fr˚an A/D-omvandlaren till processorn, vilket ocks˚a gjorde att den sp¨anningen valdes. Ytterligare att bet¨anka var att DSP:n matades med 3,3V och d¨arf¨or var en l¨amplig sp¨anning att v¨alja d˚a elektroniken i framtiden skulle integreras tillsammans i ett skott.

Den A/D-omvandlare som slutligen valdes och uppfyllde samtliga krav som ovan st¨allts upp var av halvflashtyp. Arkitekturen halvflash, som tidigare beskriv-its, var passande eftersom h¨og omvandlingshastighet kr¨avdes. Omvandlaren kom-mer fr˚an Analog Devices och heter AD7829. Den har en omvandlingsfrekvens p˚a 2Msps (Mega sampel per sekund), 8 bitars uppl¨osning, 8 kanalers multiplexer och matning p˚a 3V ± 10% eller 5V ± 10%. Gr¨anssnittet mot exempelvis en proces-sor ¨ar asynkront, vilket inneb¨ar att en handskakningsprocess utf¨ors varje g˚ang en signal ska samplas. Synkrona omvandlare ¨overv¨agdes ocks˚a men dessa kr¨aver of-ta extra kretsar som bland annat en extern klocka och var ocks˚a on¨odigt snabba. Med handskakning f˚as ocks˚a st¨orre kontroll ¨over omvandlingen, speciellt vid kanal-byten. Den valda omvandlarens resultat presenteras parallellt. Seriella omvandlare var ocks˚a ett alternativ men ¨ar synkrona och data¨overf¨oringen till processorn blir l˚angsammare ¨an f¨or parallella p˚a grund av den seriella ¨overf¨oringen. Det finns dock enstaka snabba seriella omvandlare som kunde passat f¨or den h¨ar applikationen. Eftersom parallella omvandlare ¨ar vanligare vid kr¨avd omvandlingsfrekvens och dessutom n˚agot enklare att koppla till processorn valdes en s˚adan.

4.1.2

Blackfin-processorn och utv¨

arderingskortet

Gr¨anssnitt mellan processorn och AD-omvandlaren

Under tiden som A/D-omvandlaren valdes unders¨oktes de olika parallella gr¨ans-snitten till processorn som omvandlaren kunde kopplas in via. Tre olika parallella gr¨anssnitt utv¨arderades: PPI1

, mappning som ett asynkront minne via EBIU2

samt inkoppling via programmable flags3

.

PPI ¨ar ett datainterface som m¨ojligg¨or bland annat inkoppling av A/D-omvand-lare till processorn. ¨Overf¨oringen sker synkront och endast via DMA-bussen. Den gemensamma PPI-klockan tas p˚a utv¨arderingskortet ut fr˚an samma 27MHz-oscill-ator som processorn klockas med och ben¨amns PPI CLK. Som maximal ¨overf¨or-ingshastighet (bitar/sekund) f¨or DMA-kanalen f¨or PPI kan PPI CLK·16 bitar

1

Parallel Peripheral Interface

2

External Bus Interface Unit

3

(47)

uppn˚as, d¨ar PPI-klockans maxfrekvens ligger p˚a halva SCLK (processorns sys-temklocka).

Den stora nackdelen med att anv¨anda PPI som gr¨anssnitt f¨or konstruktionen var att den l¨ampliga A/D-omvandlaren som valts var asynkron, vilket innebar att den h¨ar typen av gr¨anssnitt inte passade konstruktionen. F¨ordelar om en synkron A/D-omvandlare hade valts hade varit den snabba buss¨overf¨oringshastigheten och att ingen avkodningslogik kr¨avdes f¨or att processorn skulle kunna v¨alja A/D-omvandlaren.

Asynkrona minnen och andra asynkrona enheter kopplas till processorn via busskontrollenheten EBIU. Handskakningssignaler st¨alls in via olika register som konfigurerar bland annat signaltimingen. En A/D-omvandlare skulle kunna kopp-las in som ett minne inneh˚allande lika m˚anga bitar som omvandlarens uppl¨osning. Eftersom den valda A/D-omvandlaren var asynkron, med 8 bitars uppl¨osning fanns ocks˚a m¨ojligheten att mappa den mot processorns adressomr˚ade som ett asynkront minne p˚a en byte. Handskakningsprocessen skulle d˚a kunna st¨allas in i register s˚a att den sk¨ottes automatiskt vid l¨asning fr˚an aktuell adress. Praktiskt skulle varje sampel kunna inh¨amtas genom att omvandlarens resultat kontinuerligt l¨astes av. Avkodningslogik skulle beh¨ovas f¨or att omvandlaren skulle v¨aljas d˚a dess adress anropades. Det fanns dock ett problem med den h¨ar l¨osningen, vilket var timinginst¨allningarna f¨or handskakssignalerna. Dessa inst¨allningar var anpassade f¨or minnen som kommunicerade med handskakssignaler med betydligt snabbare hastighet ¨an vad A/D-omvandlaren gjorde. M¨ojligheten som fanns f¨or att fort-farande kunna anv¨anda det h¨ar gr¨anssnittet var att st¨alla ner processorns sys-temklocka s˚a att den gick l˚angsammare och d¨armed skapade en l˚angsammare kommunikation med omvandlaren. Men eftersom mjukvaran snarare skulle kom-ma kr¨ava en h¨ogre frekvens p˚a systemklockan ¨an en l¨agre f¨orkastades m¨ojligheten och gr¨ansnittet anv¨andes d¨arf¨or inte.

F¨or I/O-enheter finns m¨ojlighet f¨or koppling till processorn via 16 stycken programmable flags. Pinnarna kan konfigureras s˚a att de genererar avbrott vid f¨or¨andringar p˚a signaltillst˚and.

Gr¨anssnittet som A/D-omvandlaren skulle kopplas in till processorn via valdes slutligen till dessa allm¨anna I/O-pinnar. Genom att anv¨anda dessa kunde timingen i kontrolleras manuellt i den programmerade mjukvaran. Dessutom s˚a beh¨ovdes heller ingen avkodningslogik d˚a processorn kommunicerar med A/D-omvandlaren eftersom inga andra komponenter i konstruktionen skulle komma att anv¨anda samma I/O-pinnar. Nackdelarna med valet av gr¨anssnitt var att mjukvaran blir n˚agot mer avancerad d˚a den ¨aven m˚aste inneh˚alla manuella f¨ordr¨ojningar mellan handskakssignalerna.

(48)

Datalagring

F¨or att kunna lagra samplingsdatan skulle l¨ampliga minnen v¨aljas. Eftersom utv¨arderingskortet med DSP:n redan inneh¨oll minnen som var konfigurerade och kopplade till processorn unders¨oktes dessa ang˚aende deras l¨amplighet som la-gringsmedia f¨or applikationen. Dessutom unders¨oktes ocks˚a det interna minnet p˚a DSP-chipet. Minnena p˚a utv¨arderingskortet var ett 32MB SDRAM och tv˚a 1MB flashminnen.

Genom att sedan best¨amma den tidsperiod som under vilken sampling skulle ske med de olika samplingsfrekvenserna, s˚a kunde den storlek p˚a lagringsutrymme som kr¨avdes f¨or att lagra datan best¨ammas. Tiden som signalerna var intressanta att sampla valdes, med riktlinjer fr˚an f¨oretaget, till en sekund innan DC-signalens positiva flank och 150 millisekunder efter flanken. Anledningen till dessa tider var att hela laddnings- och programmeringsf¨orloppet med s¨akerhet skulle hamna inom tidsperioden som totalt allts˚a blev 1,15 sekunder stor. Utifr˚an de l¨agsta sam-plingsfrekvenser f¨or respektive kanaler som ber¨aknades tidigare i kapitlet, totala samplingstiden samt A/D-omvandlarens uppl¨osning (som var 8 bitar det vill s¨aga 1 byte) ber¨aknades ett minimumv¨arde p˚a minnesutrymmet som kr¨avdes.

U trymme≥(fS,HF + fS,DC + 3 · fS,Acc) · TS·1byte

U trymme≥(77kHz + 166.6Hz + 3 · 10kHz) · 1.15s · 1 ≈ 124kB (4.4) fS = Samplingsfrekvenser f¨or respektive kanal

TS = Totala samplingstiden

Ett minnesutrymme p˚a minst 124kB kr¨avdes allts˚a f¨or att lagra all samplings-data som skulle inh¨amtas. Det interna samplings-dataminnet p˚a DSP-chipet uppgick enligt datablad till 64kB och var d¨arf¨or f¨or litet. D¨aremot var b˚ade flashminnena och SDRAM:et tillr¨ackligt stora, med god marginal. SDRAM:et valdes slutligen efter-som cirkul¨ara buffrar skulle anv¨andas under en viss del av samplingsperioden. Problemet med cirkul¨ara buffrar och flashminne beskrivs i sektion 4.2.

Gr¨anssnitt f¨or utmatning av data

Processorns UART-port tillsammans med en RS-232 line driver och en DB9M-kontakt p˚a utv¨arderingskortet m¨ojligg¨or seriekommunikation mellan processorn och en PC. Eftersom gr¨anssnittet fanns f¨ardigt p˚a utv¨arderingskortet valdes det f¨or att anv¨andas till att ¨overf¨ora samplingsdatan till en PC f¨or vidare utv¨ardering. Kablaget som anv¨andes f¨or sammankopplingen av de b˚ada serieportarna var ett ”rakt” modemkablage.

(49)

Labkortet

Figur 4.2: Komponentsida av labkort

Figur 4.3: Fullst¨andigt labsystem med labkortet kopplat till utv¨arderingskortet.

Innan m¨onsterkortet kunde CAD:as beh¨ovde niv˚aerna p˚a signalerna som skulle samplas anpassas s˚a att de hamnade inom A/D-omvandlarens m¨atomr˚ade, det vill s¨aga mellan noll och tv˚a volt (vid 3,3V matning). DC-signalen kunde enligt datablad ¨over 3P-elektroniken i v¨arsta fall uppn˚a 25V och sp¨anningsdelades d¨arf¨or ner till 1,92V. HF-signalen l˚ag, enligt samma datablad och simuleringar, p˚a en

(50)

l¨agre sp¨anning ¨an tv˚a volt och kopplades d¨arf¨or till A/D-omvandlaren via en icke inverterande f¨orst¨arkarkoppling.

Gr¨anssnittet mellan labkortet och insignalerna skapades av stiftlister p˚a kortet. Stiftlisterna m¨ojliggjorde enkel inkoppling av signalerna fr˚an 3P-elektroniken och accelerometrar. P˚a grund av tidsbrist och uppgiftens utformning valdes inga acc-elerometrar f¨or labsystemet. Ist¨allet skapades m¨ojligheten att koppla in ett separat kort med accelerometrar till A/D-omvandlaren via stiftlisterna.

Ytterligare tv˚a kretsar finns konstruerade p˚a kortet. Den ena ¨ar ett l˚agpassfilter av andra ordningen som kan anv¨andas f¨or att ta bort eventuella ¨overtoner i n˚agon signal. Filtret ¨ar inte kopplat till ¨ovriga kretsar i det h¨ar skedet, men kan anv¨andas vid behov. Den andra ¨ar en urladdningskrets med en transistor. Urladdningskrets-en kommer att beh¨ovas f¨or att ladda ur Urladdningskrets-en kondUrladdningskrets-ensator i 3P-elektronikUrladdningskrets-en som uppladdad indikerar att skottet har laddats och programmerats en g˚ang, vilket normalt inte kommer att ske igen. D¨arefter skjuts skottet vanligtvis iv¨ag. Ett m¨atskott d¨aremot ska inte skjutas iv¨ag efter laddning utan ist¨allet kunna tas ut ur pj¨asen, utv¨arderas och d¨arefter laddas och programmeras igen och s˚a vidare.

Schemat ¨over kretskortet hittas i bilaga A. M¨onsterkortet tillverkades i Bofors m¨onsterkortslaboratorium och montering av komponenterna skedde ¨aven det p˚a f¨oretaget. Dessa processer beskrivs dock inte n¨armare i rapporten eftersom det inte ¨ar dessa som examensarbetet syftar till att utv¨ardera.

4.2

Mjukvara

F¨orutom A/D-omvandlaren och processorn utg¨or ¨aven programvaran som kon-struerats f¨or processorn en av huvudkomponenterna i labsystemet. I huvudsak utf¨or programmet initieringar, sk¨oter kommunikation med processorns periferien-heter (till exempel minnen, A/D-omvandlare och PC via UART) samt flyttar samplad data. Programkoden hittas i bilaga B och i figur 4.4 ses fl¨odesschemat ¨over programmet. Sektionen beskriver ¨overgripande de delar som det konstruerade programmet inneh˚aller.

4.2.1

Initieringar

F¨or att inte samplingsfrekvenserna f¨or respektive signaler ska bli p˚averkade av de instruktioner och den dataflyttning som sker mellan tv˚a sampel, s˚a valdes en tillr¨ackligt h¨og klockfrekvens f¨or processorn f¨or att undvika att dessa frekven-sproblem skulle uppst˚a. Frekvensen valdes genom att kontrollera att samtliga samplingsfrekvenser h¨olls korrekta med hj¨alp av m¨atningar med oscilloskop. Core-klockfrekvensen (klocka f¨or processork¨arnan, CCLK) valdes till 540MHz och sys-temklockans (klocka f¨or bussar till periferienheter, SCLK) frekvens valdes till

(51)

Figur 4.4: Schema ¨over programfl¨odet

54MHz. Dessa frekvenser sattes genom att st¨alla in de register som styr den in-terna PLL:en4

som i sin tur matas med klockpulser fr˚an en 27MHz oscillatorkrets p˚a utv¨arderingskortet.

I/O-pinnarna (programmable flags, PF’s) initierades f¨or att sk¨ota handskakssig-nalerna till A/D-omvandlaren och styra transistorn i urladdningskretsen. Pinnen som tar emot signalen EOC5

fr˚an A/D-omvandlaren ¨ar ocks˚a konfigurerad s˚a att den genererar ett avbrott i programfl¨odet, som g¨or att en avbrottsrutin k¨ors. Avbrottet genereras d˚a EOC signalen ¨andras fr˚an etta till nolla, det vill s¨aga att den triggar p˚a negativ flank eftersom signalen ¨ar aktivt l˚ag. Vilka pinnar som sk¨oter vilken funktion visas i tabell 4.1.

Tre timers anv¨ands i programmet. En anv¨ands till att best¨amma seriekommu-nikationens ¨overf¨oringshastighet och tv˚a har endast i uppgift att m¨ata tidsperi-oder och p˚a s˚a s¨att skapa lagom l˚anga f¨ordr¨ojningar i programmet. Timern f¨or serie¨overf¨oringsfunktionen ¨ar ¨aven initierad s˚a att den genererar avbrott d˚a den anv¨ands. Serie¨overf¨oringsfunktionen som ¨aven kallas autobaud detection beskrivs

4

Phase Locked Loop

5

(52)

PF Funktion I/O 0-2 Kanaladress p˚a AD-omvandlare O

3 Urladdningstransistor O

4 End of conversion (EOC) I

5 Conversion start (CONVST) O

6 Chip select (CS), Read (RD) O

7 -

-8-15 8 bitar samplingsdata I

Tabell 4.1: Funktioner f¨or programmable flags

noggrannare senare i kapitlet. ¨

Aven A/D-omvandlaren initieras i DSP-programmet i den m˚an att omvand-laren v¨acks upp ur l˚agstr¨omsl¨age och utf¨or en omvandling. Omvandlaren ¨ar sedan redo att anv¨andas i programmet.

SDRAM:et initieras inte i koden eftersom det g¨ors automatiskt d˚a programmet k¨ors via USB fr˚an utvecklingsmilj¨on Visual DSP++. D˚a programmet d¨aremot ska bootas fr˚an exempelvis ett ickeflyktigt minne s˚a ¨ar det d¨aremot n¨odv¨andigt att initiera SDRAM:et, vilket d˚a sker i en separat initieringsfil.

Eftersom lagringen av samplingsdata sker i det externa SDRAM:et ist¨allet f¨or i det interna minne p˚a DSP-chipet, m˚aste de arrayer som allokeras minnesmappas mot just SDRAM:et. Minnesmappningen sker med hj¨alp av l¨ankaren i program-mets linker description file.

4.2.2

Samplingsrutinen

Samplingsrutinen som ¨ar huvuddelen i programmet ¨ar i sin tur uppdelad i tv˚a delar. Den f¨orsta delen samplar de fem olika kanalerna i cirkul¨ara buffrar som h˚aller den m¨angd samplingsdata som inh¨amtats under en sekund. Hur stora dessa buffrar ¨ar minnesm¨assigt beror p˚a respektive kanals samplingsfrekvens. D˚a DC-signalen g˚ar h¨og ¨overg˚ar samplingsrutinen till sin andra del d¨ar den inh¨amtar data fr˚an samtliga signaler i ytterligare 150 millisekunder, det vill s¨aga s˚a l¨ange som skottet tar emot programmeringssignaler. Varje samplingsdata lagras s˚a fort det inh¨amtats, kontinuerligt i det externa SDRAM:et.

F¨or att kunna h˚alla samtliga kanalers samlingsfrekvenser konstanta ¨ar sam-plingsrutinen konstruerad med en intern periodtid som ¨ar h¨alften s˚a stor som pe-riodtiden f¨or den snabbast samplade kanalen. Under den tiden ska rutinen hinna med kanaladressering, ¨ovrig kommunikation med A/D-omvandlaren som kr¨avs f¨or att en omvandling ska utf¨oras samt lagring av data. J¨amna perioder samplas den snabbaste kanalen (HF-signalen) och ¨ovriga kanaler delar p˚a de udda perioderna.

References

Related documents

Hos de hdr studerade arterna Arpedium quadrum (Grav.) och Eucnecosum brachypterum (Grav.) iir livscykeln kand endast hos den senare

ningar av dcn lokala faunan kan vara av stort intresse och ge lika stor tillfredsstallelse sonl att aka land och rikc runt pa jakt cftcr raritctcr till den privata

Liksom de övriga är den uppförd av kalksten samt putsad med undantag för omfattningar av huggen

Ovning 1: Hur m˚ ¨ anga relationer finns det p˚ a en m¨ angd med 3 element? Hur m˚ anga reflexiva relationer finns det? Vad kan du s¨ aga i det allm¨ anna fallet, om antalet

te fôr bårbf, om någon, i anlebtting fiâraf, mille tro', atterri»*, meb bjelp af ^feubonpmer, Sjot't en np uplaga, fôr at gratulera ftg fjeif: fp beffa more mifferligen en

[r]

För många unga damer, som endast tänka på att undvika skrynkling, betyder nu detta att hafva de största möjliga koffertar och att lägga sina saker ordentligt i dem, det ena på

Men sagan fann hon inte annat än i luften den första natten, ty när hon hade gått några steg blev hon rädd att gå mot folk, ty där folk var fanns sex som kunde snappa upp