Emergency call button

22
Emergency call button Stabilt og simpelt A;0:00 1

description

A;0:00. Emergency call button. Stabilt og simpelt. A;0:30(30). Agenda. Opgaven (Hvad skal vi lave?) Målsætninger (Hvad ønsker vi at få ud af det?) Projektet (Hvordan laver vi det?) INCOSE SysML Mapning af arkitektur SystemC Konklusion (Hvad har vi lært/fået ud af det?) - PowerPoint PPT Presentation

Transcript of Emergency call button

Page 1: Emergency call button

Emergency call button

Stabilt og simpelt

A;0:00

1

Page 2: Emergency call button

Agenda• Opgaven (Hvad skal vi lave?)• Målsætninger (Hvad ønsker vi at få ud af det?)• Projektet (Hvordan laver vi det?)

– INCOSE– SysML– Mapning af arkitektur– SystemC

• Konklusion (Hvad har vi lært/fået ud af det?)• Læringsmål (Har vi lært det vi burde?)

A;0:30(30)

2

Page 3: Emergency call button

Opgaven

• Nødkald med 2-vejs audio• Lang batteri-tid• Høj stabilitet• Lav pris• ”Lille” formfaktor

A;1:00(30)

3

Page 4: Emergency call button

ProduktetA;1:10(10)

4

Page 5: Emergency call button

Målsætninger

• Udviklingsproces– INCOSE– Risikoanalyse– SysML– Design Space Eksploration– Pareto points– HW/SW Codesign (Top-down)

• SystemC– SysML -> SystemC– SystemC -> Synthesis

A;2:10(60)

5

Page 6: Emergency call button

Projekt

• Dokumenter– Project proposal– Project description– Use cases (tidligere, requirements)– Project report

J;2:20(10)

6

Page 7: Emergency call button

Projekt

• Proces– SRD/SRS (Use Cases, risiko analyse, Kvalitets

attributter)– System Architecture (SysML)– Mapning af System Architecture (Design space

exploration, Pareto, LBA/LPT)– SysML -> SystemC– SystemC (TLM, TTLM, CAM)– Konklusion

J;3:20(60)

7

Page 8: Emergency call button

SRS/SRD

• R(V)TM

J;3:50(30)

8

Page 9: Emergency call button

Risiko analyseJ;4:50(60)

9

Page 10: Emergency call button

KvalitetsattributterA;5:20(30)

Evt. tilføj Cost (Forretningsattribut)

10

Page 11: Emergency call button

SysML«system»

Emergency call button

«block»Communication

«block»Signal strength control

«block»Audio

«block»Control

bdd Emergency call button

UserEmergency

call base

«block»Button

«block»LED

«block»Battery

«block»ISM

«block»Microphone

«block»Speaker

«HW»Housing

«HW»Antenna

«block»Firmware update

A;6:20(60)

11

Page 12: Emergency call button

SysML (Audio IBD)ibd Audio

«HW»Speakers

«HW»Microphone

«block»Control

«block»Echo

cancellation

«block»Audio

encoding

«block»Audio

decoding

«block»Audio control

Encoded audio from the head office

Encoded audio from the microphone

«block»DAC

«block»ADC

:PCM:GSM 06.1013.2kbit/s

:PCM

:GSM 06.1013.2kbit/s

12bit,8kHz

12bit,8kHz

«block»Communication

Analog audio signal to the speaker / amplifyer

Analog signal form the microphone / pre-amp.

«block»Splitter

:IAudio

:ISpeaker

:IMicrophone

+powerOn()+powerOff()

ISpeaker

+powerOn()+powerOff()

IMicrophone

A;7:20(60)

12

Page 13: Emergency call button

SysML SystemCJ;8:20(60)

13

Page 14: Emergency call button

Design space explorationPlatform Price

(USD)Risk/Complexity

Power(sleep/audio)

Microcontroller + ISM ASIC

18.15 1 22µW/max. 648mW

Microcontroller , DSP + ISM ASIC

23.57 3 70.69 µW /max. 815mW

FPGA, ADC + Oscillator

1295 10 88mW / min. 4W

Other options: Performance, extendability, …

A;9:20(60)

14

Page 15: Emergency call button

Perato points

0 0.1 0.2 0.3 0.4 0.5 0.6 0.70

5

10

15

20

25

CC430TMS320VC5401PIC16F1516

Execution time

Cost

J;10:20(60)

15

Page 16: Emergency call button

SystemC design (Audio)

EchoCancellationADCSource

AudioTop

AudioClk_in

data_out

outdataADC

DAC

AudioDecoder

data_in

ready_out

AudioClk_in

Data_out

outDataDec

thrd_SampleReady

AudioEncoder

data_in

Data_out

Echo_in

thrd_EncodeData

thrd_RunEchoCancellation

dataReady_in

ADC_busy

data_in

AudioClk_in

AudioClk

thrd_getData

thrd_DecodeData

ready_out

EC_busy

data_out

data_in

dataReady_in

outdataEC

ENCOD_busy

CommunicationSim

ready_out

dataReady_in

data_in

Data_out

outDataComSim

outDataEnc

thrd_SimulateCommunication

COMSIM_busy

dataReady_in

ready_out

thrd_GetData

bufferMutex

thrd_SendEncodedData

hsClk_inHS_Clock

hsClk_in

hsClk_in

EncodingDone = true

S;11:20(60)

16

Page 17: Emergency call button

SystemC simulationS;12:20(60)

17

Page 18: Emergency call button

Konklusion (1)• INCOSE er meget tung at danse med, men har

mange gode egenskaber og er god som tjekliste, men skal ikke følges slavisk

• SysML er et godt udkast til et fælles SW og HW modelleringssprog, men mangler noget modning.

• SystemC er godt til HW simulering (SW udvikling kan fortsætte), men hvis der er lille design risk er det ikke tiden værd (måske hvis det kan autogenereres fra SysML)

S;13:00(40)

18

Page 19: Emergency call button

Konklusion (2)

• Vi mangler FPGA resourcer, og bare analysen af en FPGA platform er svært uden dem.

• Pareto og design space exploration er godt til at sammenligne alternative platforme.

• Med et styk-tal på 5k-10k stk. er det værd at betale lidt ekstra for lavere risiko (eksempel kode og mulighed for assistance samt simplere kommunikation). Anbefaling: CC430 med SKY ISM front-end.

S;13:40(40)

19

Page 20: Emergency call button

Læringsmål (1)

• Vi har analyseret og designet et systemet baseret på INCOSE og HW/SW co-design (top-down synthesis) med anvendelse af SysML, SystemC, Design space exploration, Pareto, …

• Vi har sammenholdt forskellige platformes fordele og ulemper og har draget konklusioner ud fra dette.

S;14:20(40)

20

Page 21: Emergency call button

Læringsmål (2)

• Vi har overvejet kvaliteten af de i teorien anbefalede metoder samt deres alternativer (Kendt platform (LBA/LPT), Component based (buttom-up), automatic code generation)

• Ved anvendelse af SysML og SystemC (C++) som er fuldt specificerede sprog, samt RVTM og requirement mapping er design og analyse utvetydigt og ”universielt” forståeligt.

S;15:00(40)

21

Page 22: Emergency call button

Spørgsmål

• ?

22