introducere În procesul de proiectare al …vega.unitbv.ro/~romanca/psci/2-psci-proiectare.pdf ·...

46
1 INTRODUCERE ÎN PROCESUL DE PROIECTARE AL SISTEMELOR EMBEDDED

Upload: lamtruc

Post on 01-Feb-2018

229 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

1

INTRODUCERE ÎN PROCESUL DE

PROIECTARE AL SISTEMELOR EMBEDDED

Page 2: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

2

PRINCIPALE OBIECTIVEALE METODOLOGIEI DE PROIECTARE

oferă posibilitatea păstrării unei istorii / înregistrări a rezultatelor etapelor proiectării (utilă pentru documentare, testare funcţională, depanare)permite dezvoltarea sau folosirea unor unelte de proiectare asistată de calculator, şi desfăşurarea în paralel a proiectării pentru diferite componente.simplifică comunicarea dintre membrii unei echipe de proiectare.

Page 3: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

3

ELEMENTE SPECIFICE PROIECTĂRII EmS

• Deciziile luate la proiectare se bazează pe re-utilizarea unor componente ale proiectelor deja existente

• Strânsa interacţiune dintre hardware şi software. Programatorii trebuie să înţeleagă partea hardware iar proiectanţii de hardware trebuie să înţeleagă partea software

• Utilizarea de blocuri funcţionale → fiecare proiectant este responsabil atât de hardware cât şi de software pentru o funcţiune, sau pentru un set de funcţiuni

Page 4: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

4

ETAPE PROIECTARE

• Deciziile luate la un anumit pas al proiectării sunt bazate pe estimarea a ce se va întâmpla mai târziu

• Dacă estimările sunt inadecvate, trebuie să ne întoarcem şi să îndreptăm deciziile noastre iniţiale, ţinând cont de noile evenimente

• La fiecare etapă a proiectării se adaugă detalii:√ analiza proiectului la fiecare pas pentru a determina cum se

îndeplinesc specificaţiile√ rafinarea proiectului pentru a adăuga elemente de detaliu√ verificarea proiectul pentru a fi siguri că îndeplineşte toate

obiectivele sistemului

Page 5: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

PRINCIPALELE ETAPE ÎN PROCESUL DE PROIECTARE AL EmS

•Definirea cerinţelor produsului•Elaborare specificaţii funcţionale•Crearea proiectului arhitectural•Furnizare versiune arhitecturalăfinalã

Etapa 1: Crearea arhitecturii

Etapa 2: Implementarea arhitecturii

Etapa 3: Testarea sistemului

•Implementare module•Verificare şi punere la punct•Implementarea şi integrarea sistemului

•Verificare şi testare sistem în diferite faze de implementare

Etapa 4: Furnizarea prototipului

5

Page 6: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

6

Et.1: Creareaarhitecturii

Definirea cerinţelorprodusului

Analiza preliminarã a cerinţelor

Creareaproiectuluiarhitectural

Furnizare versiunearhitecturalã

Incorporarefeedback

Dezvoltareaversiune

arhitecturalã

Verificare şi feedback

Furnizareversiune arh.

finalã

Elaborare specificaţii funcţionale

Et. 2: Implementareaarhitecturii

Imple-mentareasistemului

Incorporarefeedback

Et. 3: Testareasistemului

Verificareşi testaresistem

Etapa 4: Furnizareaprototipului

Furnizare prototipsistem

Page 7: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

7

Etapa 1: Crearea arhitecturii

DEFINIREA PROBLEMEI ŞI A CERINŢELOR PRODUSULUI

• Definirea produsului descrie ce va fi şi ce va face acesta• Definirea cerinţelor este primul pas al procesului, fiind cheia succesului în

proiectarea sistemelor electronice: documentaţia• Documentaţia descrie ce veţi construi

– Spune oamenilor de marketing ce produs vor avea de vândut, iar grupului de ingineri cum să implementeze produsul.

• Rezultatul acestei faze va fi o definire simplă a problemei, din punctul de vedere al utilizatorului (beneficiarul)– Se va descrie problema, dar nu se vor sugera soluţii

• DA: Mişcarea vorbitorului nu va fi stânjenită de cablul microfonului• NU: Se va folosi un microfon wireless

Page 8: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

8

Etapa 1: Crearea arhitecturii

CINE DEFINEŞTE CERINŢELE ?

• Într-o companie foarte mare, definirea cerinţelor va fi făcută de către departamentul de marketing, sau un client important

• Într-o companie mică schiţa de definire a cerinţelor se poate face de către inginerii software şi hardware

• Pentru un proiecte mici, proiectantul defineşte cerinţele

Page 9: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

9

Etapa 1: Crearea arhitecturii

CE TREBUIE DEFINIT CA CERINŢE ?

• CERINŢE FUNCŢIONALE– Intrări şi ieşiri (interfaţa cu utilizatorul şi mediul)– Funcţii şi constrângeri de timp

• CERINŢE NE-FUNCŢIONALE– Performanţă.– Costuri. – Consumul de putere.– Dimensiune fizică şi greutatea.– Fiabilitate, siguranţă în funcţionare, mentenabilitate

Page 10: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

EXEMPLU DE FORMULAR DECERINŢE TIPICE

Etapa 1: Crearea arhitecturii

• Nume• Scop• Intrări / Ieşiri către lumea externă

– Tipul datelor– Caracteristicile generale ale datelor– Tipuri de dispozitive de interfaţă cu utilizatorul

• Funcţii. Intrări → FUNCŢII → Ieşiri• Performanţă• Costuri de fabricaţie. Apreciere grosieră, sau limită maximă.• Putere. Apreciere grosieră, sau limită maximă (baterii / reţea ?)• Dimensiune / greutate fizică

10

Page 11: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

11

Etapa 1: Crearea arhitecturii

REZUMAT CERINŢE

Fază Rezultate Definirea problemei de proiectare şi elaborare cerinţe • Cercetare, analiză piaţă • Consultare utilizator. Culegere de informaţii

generale de la clienţi (utilizatori sau beneficiari)

• Cerinţe funcţionale şi nefuncţionale • Cercetare

⇒ Definirea corectă a problemei ⇒ Propunere cerinţe ⇒ Document (formular) de cerinţe ⇒ Crearea unui plan de testare

Page 12: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

12

EXEMPLU: Hartă GPS

lat: 40 13 lon: 32 19

I-78

Scot

ch R

oad

Poziţia utilizatorului în latitudine / l i di

Poziţia curentă a utilizatorului

Prelucrat după Wayne Wolf, Computers as Components, Academic Press, London 2001

Page 13: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

13

EXEMPLU: Hartă GPS

• Este un dispozitiv portabil care afişează pentru utilizator o hartă a terenului din jurul poziţiei curente a utilizatorului.

• Harta afişează modificările corespunzătoare schimbării poziţiei utilizatorului, sau ale dispozitivului de afişare a hărţii.

• Harta mobilă obţine poziţia sa de la GPS

Page 14: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

14

Hartă GPS: Cerinţe iniţialeFuncţionalitate: proiectat pentru utilizare în trafic auto şi scopuri similare; nu

pentru utilizare nautică, sau aviaţie, care necesită funcţiuni şi baze de date mai specializate. Sistemul va afişa / indica principalele drumuri şi alte puncte de reper disponibile în bazele de date topografice standard.

Interfaţa cu utilizatorul: Ecranul va avea cel puţin rezoluţia de 400 x 600 pixeli. Dispozitivul va fi controlat prin maximum trei butoane. La apăsarea butoanelor pe ecran se deschide un meniu pentru a permite utilizatorului să selecteze funcţiile de control ale sistemului.

Performanţă: Harta se va rula lent pe ecran. După alimentare, afişarea cadrului iniţial pe ecran se va face în cel mult o secundă, iar sistemul va fi capabil să verifice şi să afişeze poziţia sa în cel mult 15 secunde.

Cost: Costul de vânzare maxim 500$. (aproximativ de 5 ori costul componentelor).

Dimensiune / greutate: Dispozitivul se va potrivi confortabil în palma mâinii.Consum de putere: Funcţionare pentru cel puţin 8 ore cu 4 baterii AA.

Page 15: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

15

Formular de cerinţeName

GPS moving map

Purpose

Consumer-grade moving map for driving

Inputs

Power button, two control buttons

Outputs

Back-lit LCD display 400 X 600

Functions

Uses 5-receiver GPS system; three user-selectable resolutions; displays current latitude and longitude

Performance

Updates screen within 0.25 seconds upon movement

Manufacturing cost

$100 cost-of-goods- sold

Power

100 mW

Physical size/weight

no more than 2” X 6” (5cm x 15 cm), 12 ounces (340 g)

Page 16: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

16

Etapa 1: Crearea arhitecturii

ELABORAREA SPECIFICAŢIILOR

• Specificaţiile reprezintă o descriere funcţională detaliată ce respectă cerinţele. Nu indică modul de implementare.

• Uşurează înţelegerea cerinţelor şi urmăresc îndeplinirea cerinţelor în timpul activităţilor de proiectare.

• Uşurează munca de proiectare şi înlătură eventualele greşeli, repetări sau omisiuni ale unor funcţii ⇒ reluări ale proiectării

• Specificaţiile sunt deosebit de importante pentru proiecte complexe, ce implică un colectiv de cercetare ⇒ sarcinile de proiectare pentru fiecare persoană din grup.

• Presupun o analiză (internă) a concepţiilor de proiectare enunţate, pentru a verifica dacă specificaţiile cerute sunt posibil de implementat– re-utilizarea unor părţi din alte proiecte anterioare permite asigurarea

succesului noului proiect (funcţional şi ca timp de terminare)

Page 17: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

17

Etapa 1: Crearea arhitecturii

ELABORAREA SPECIFICAŢIILOR

• Specificaţiile pot fi privite ca un contract între beneficiar şi proiectant

• Documentele cu cerinţe şi specificaţii pot fi folosite pentru crearea unui plan de testare. Documentul de cerinţe defineşte ce este nevoie a fi testat.

• Pentru proiecte mari testarea poate fi făcută de un inginer de testare independent de colectivul de proiectare, care elaborează un plan de testare pe baza cerinţelor.

• Separarea analizei cerinţelor şi specificaţiilor este necesară adesea– diferenţe mari între modul cum beneficiarii pot descrie sistemul şi ceea

ce au nevoie arhitecţii pentru a proiecta sistemul.– beneficiarii pot avea aşteptări nerealiste cu privire la ceea ce se poate

face cu bugetul alocat de ei.

Page 18: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

18

Etapa 1: Crearea arhitecturii

ELABORAREA SPECIFICAŢIILOR• Complexitatea şi formalismul specificaţiilor depind de tipul companiei

proiectante şi de dimensiunea produsului final.• Se poate realizeaza o modelare (de obicei de tip O.O:) a specificaţiilor în

scopul proiectării arhitecturii şi ulterior a proiectării componentelor.– Modelele sunt reprezentări conceptuale ale funcţionalităţii sistemului.

Modelul este constituit din obiecte funcţionale şi reguli pentru compunerea acestor obiecte.

• Descrierea grafică a specificaţiilor OO– fie într-un limbaj de modelare (de ex. UML),– sau prin definirea şi desenarea unor diagrame de analiză conceptuală a

sistemului care cuprind:• componentele cheie ale sistemului,• funcţiile de bază ale fiecărei componente,• interacţiunea – căile de comunicare între aceste componente şi• lista serviciilor oferite utilizatorului sistemului.

Page 19: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

19

Exemplu diagramă conceptuală pentru servicii bancare simple (Alistair Cockburn)

Servicii mica bancă:Verificare contPăstrare bani în contVerificare stocuriÎmprumuturi

Page 20: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

20

Exemplu diagramă conceptuală

Casier

Depozit (Seif)

Calculator

Masă

Realizează tranzacţia

Păstrează banii

Furnizează o suprafaţă plată pentru completat cereri

tranzacţii

Păstrează înregistrările şi balanţele

$

Interogare balanţă Detalii tranzacţie

Client

Page 21: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

21

REZUMAT SPECIFICAŢII

Fază Rezultate Elaborare Specificaţii Descriere de detaliu a comportării sistemului.

O descriere detaliată, precisă, clară şi fără ambiguităţi a cerinţelor Descriere funcţii şi interacţiune componente

sistem Modelarea funcţionalităţii sistemului Analiza concepţiilor de proiectare - revizie

Document specificaţii Finalizarea descrierii modelul

funcţional Crearea unui plan de testare

Page 22: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

22

EXEMPLU: Hartă GPS

• Lista de specificaţii pentru harta de navigare GPS va includecâteva componente:– ce date se recepţionează de la constelaţia de sateliţi GPS;– datele hărţii afişate;– interfaţa cu utilizatorul;– operaţii ce trebuie realizate pentru a satisface cerinţele

utilizatorului;– operaţii în fundal (ne-evidente) cerute pentru a păstra

sistemul în funcţiune, cum ar fi de exemplu funcţionarea receptorului GPS.

Page 23: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

23

EXEMPLU: Hartă GPS

Wolf realizează descrierea funcţională prin modelare înUML (Unified Modeling Language)

UML:- este un limbaj vizual care poate capta în mod sugestiv

specificaţiile- umbreşte distincţiile dintre hw şi sw- modelează comportarea sistemului- este un generator automat de cod, putând genera codHDL sau C++ pentru implementarea proiectului.

Page 24: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

24

Un obiect “Display” în notaţia UML

d1: Display

pixels: array[] of pixels elements menu_items

pixels is a 2-D array

comment

object name class name

attributes

Un obiect include un set de atribute care definesc starea sa internă. Atunci când se implementează într-un limbaj de programare, aceste atribute devin de obicei variabile, sau constante păstrate într-o structură de date.

Page 25: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

25

O clasă în notaţia UML Display

pixels elements menu_items

mouse_click() draw_box

operations

class name

atributes

Operaţiile (metode în C++) determină modul cum obiectul interacţionează cu restul lumii

Page 26: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

26

O specificaţie de maşină de stare UML (pentru o operaţie a display-ului)

region found

got menu item

called menu item

found object

object highlighted

start state

stop state

mouse_click(x,y,button)/find_region(region)

region = menu/ which_menu(i)

call_menu(I)

region = drawing/ find_object(objid)

highlight(objid)

Page 27: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

27

Secvenţa operaţiilor în timp descrisă prin diagrama secvenţială

m: Mouse d1: Display u: Menu

mouse_click(x,y,button) which_menu(x,y,i)

call_menu(i)

time

lifeline

Page 28: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

28

Etapa 1: Crearea arhitecturii

PROIECTARE ARHITECTURALĂ

• Arhitectura este o reprezentare abstractă a implementării sistemului şi indică structura sistemului în termenii componentelor mari şi interconexiunile dintre acestea.

• La nivel arhitectural, componentele hardware şi software sunt reprezentate ca o compoziţie de elemente ce interacţionează.

• Detalii de implementare (HW & SW) sunt abstractizate, conţinând doar informaţia de comportament şi de inter-relaţie între componente.

• O arhitectură embedded include elemente interne ale sistemului, elemente externe ce interacţionează cu sistemul, proprietăţile fiecărui element individual şi relaţiile de interacţiune între elemente

• În această etapă se face partiţionarea implementării funcţiilor între hardware şi software.

Page 29: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

29

Etapa 1: Crearea arhitecturii

IMPORTANŢA ARHITECTURII

• Indică cum se vor implementa funcţiile sistemului, descrise în specificaţii.

• Arhitectura este un mijloc eficient pentru înţelegerea proiectului EmS, constituind documentul ce defineşte infrastructura proiectului, diferitele opţiuni de proiectare, constrângerile de proiectare. Planul arhitectural are capacitatea de a comunica rapid şi corect modul de proiectare către alte persoane cu sau fără pregătire tehnică, constituind totodată baza (fundaţia) activităţii de planificare a proiectării unui dispozitiv.

• Permite analiza şi testarea calităţii unui dispozitiv• Permite definirea unor modalităţi de reducere a costurilor de

proiectare-construcţie şi estimarea corectă a riscurilor implicate de implementarea diverselor elemente

• Permite reutilizarea cunoaşterii → scăderea în viitor a costurilor

Page 30: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

30

Etapa 1: Crearea arhitecturii

PROIECTARE ARHITECTURALĂ

Proiectarea arhitecturală include:Definirea componentelor sistemului. Este o estimare ce ţine de

experienţă şi de cunoaşterea caracteristicilor componentelor hardware şi software propuse.

Specificaţii hardware / software (există opţiunea între a cumpăra şi a construi prin forţe proprii). În cazul UML: modelare grafică a obiectelor componente. Obiectele corespund pieselor reale HW şi SW ale proiectului.

Alegerea procesoruluiAlegerea limbajului de programareEvaluarea sistemuluiProiectare hardwareProiectare firmwareIntegrare

Page 31: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

31

Etapa 1: Crearea arhitecturii

DE ŢINUT CONT• Este important de ţinut minte că hardware reprezintă un cost recurent

(repetat), ce se repetă pentru fiecare sistem vândut.• Software reprezintă un cost ne-recurent. Trebuie dezvoltat o singură dată, dar

nu apare ca şi cost pe unitatea de produs, decât dacă este o taxă de licenţă de plătit.

• Alegerea variantei de implementare hardware:– Cu microprocesoare, microcontrollere discrete şi cablaj imprimat – în

aceeaşi carcasă, System in Package– Sistem distribuit.– Un-sistem-pe-un-chip (System-on-chip = SOC). Proiecte SOC pe bază

de nuclee IP– ASIC, bazat tot pe nuclee IP dar pentru aplicaţii specifice şi în număr

extrem de mare. Sunt tot SoC, full custom design.

Page 32: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

32

ALEGEREA PROCESORULUIEtapa 1: Crearea arhitecturii

• Numărul de pini de IO necesari - Pini grupaţi în porturi de IO, restricţii, capabilităţicurenţi mari

• Interfeţe necesare• Cerinţe memorie RAM

– numărul de variabile plus suma tuturor bufferelor interne, structuri FIFO, şidimensiunea stivei

– intern / extern, restricţii de utilizare, SFR, moduri de adresare– eficienţă compiler.

• Cerinţe memorie ROM– suma codului de program plus toate tabelele necesare a fi incluse într-o memorie

nevolatilă– regulă bazată pe experienţă: ocupare în proporţie de maxim 80%– Testare compilator ales → porţiuni de cod pentru a determina dimensiunea

acestuia după compilare / asamblare– dimensiunea codului depinde limbajul de programare ales pentru dezvoltare– dacă se folosesc operaţii în virgulă mobilă, iar procesorul nu are inclus un co-

procesor matematic ⇒ cod mare.

Page 33: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

33

Etapa 1: Crearea arhitecturii

ALEGEREA PROCESORULUI• Număr de întreruperi cerut• Consideraţii real-time• Mediul de dezvoltare. Funcţiuni principale ale unui mediu integrat de

dezvoltare (IDE - Integrated Development Environment), ce rulează pe un calculator desktop (de exemplu un PC).:– dezvoltarea programelor utilizator (de obicei în limbaj C şi / sau

asamblare) într-o fereastră de editare.– compilator şi editor de legături– depanarea şi punerea la punct a programelor prin debugger– asamblor pentru rutinele scrise în asamblare– simulator pentru rularea programelor (inclusiv pas cu pas prin

debugger) şi urmărirea conţinutului registrelor interne, a memoriei, a porturilor de IO, a circuitelor timer / counter, etc.

– transferul codului (program executabil) către memoria locală (flash, EEPROM) a microcontrollerului

Page 34: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

34

Etapa 1: Crearea arhitecturii

ALEGEREA PROCESORULUI

– Investiţii anterioare ale companiei (IDE), principii economice.

• Necesităţi de viteză de prelucrare. – În cazul cel mai dezavantajos al mai multor întreruperi aflate în curs

de servire procesorul trebuie să funcţioneze respectând specificaţiile de proiectare.

– Lungimea buclelor de interogare suficient de scurtă ca să nu se piardă niciodată un octet de la o intrare de date serială, sau de la oricare altă interfaţă.

– Frecvenţa de ceas a procesorului nu trebuie confundată cu frecvenţa oscilatorului de ceas.

– Setul de instrucţiuni este de asemenea foarte important. În unele aplicaţii arhitectura RISC poate fi o capcană.

Page 35: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

35

Etapa 1: Crearea arhitecturii

ALEGEREA PROCESORULUI• ROM-ability

– Flash– EPROM– OTP– ROM.

• Costuri• In Circuit programming• Arhitectura memoriei• Cerinţe de putere• Cerinţe de mediu

– Unele aplicaţii impun ca MP să lucreze la game extreme de temperatură şi radiaţie.

Page 36: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

36

Etapa 1: Crearea arhitecturii

DEZVOLTAREA VERSIUNII ARHITECTURALE

• Proiectarea componentelor hardware şi software• Integrarea sistemului prin conectarea componentelor

proiectate.• Verificare şi obţinere de informaţii de feedback• Inspecţia unui proiect se face de către o altă persoană

decât proiectantul (detectarea omisiunilor, erorilor). Inspecţia se face pe baza unor prezentări scrise sau orale din partea proiectantului.

Page 37: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

37

Etapa 1: Crearea arhitecturii

DEZVOLTAREA VERSIUNII ARHITECTURALE

• Documentarea:– detectarea uşoară a componentelor care conduc la

neconformităţi cu cerinţele– comunicarea dintre membrii unei echipe– elaborarea rapoartelor cu privire la proiect– elaborarea documentaţiei finale a proiectului, – reutilizarea componentelor proiectului pentru alte

proiecte, modificare, upgrade.• Elaborarea unui plan pentru integrarea şi testarea

componentelor

Page 38: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

38

Etapa 1: Crearea arhitecturii

REZUMAT:ARHITECTURA ŞI INTEGRARE

Proiecte la nivel de sistem. Structura sistemului în termenii componentelor mari şi interconexiunile dintre acestea. Modul de implementare a funcţiilor şi modul de implementare a componentelor

• Alegerea procesorului• Alegerea limbajului• Definirea blocurilor majore

hardware şi software• Opţiune între cumpărare sau

construire prin forţe proprii.• Partiţionare: Blocuri

funcţionale, Hw / SW

REZULTATE

• Specificaţii pt. blocuri funcţionale

• Alegere MCU/CPU• Alegere limbaj• Revizie de proiectare a

sistemului

Page 39: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

39

EXEMPLU: Hartă GPSDiagrama bloc ce defineşte arhitectura pentru harta mobilă

Receptor

GPS Maşină de

căutare Dispozitivde redare

Interfaţă utilizator Database

Display

Page 40: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

40

HARDWARE

Receptor GPS

CPU

Panou I/O

Display

Frame Buffer

Memorie

Magistrală

Page 41: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

41

SOFTWARE

Poziţie Căutare în bază date

Redare

Timer

Interfaţă utilizator

Pixeli

Page 42: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

42

2. Implementarea arhitecturii

IMPLEMENTAREA SISTEMULUI

• Implementarea hardware şi software• Proiectare de detaliu componente şi construcţie

– Pentru software asta înseamnă proiectarea de detaliu, scriere şi depanare a codului

– Pentru hardware înseamnă proiectarea de detaliu, realizarea proiectului prototipului şi testarea circuitelor.

• Implementare nucleu MCU• Construcţie şi testare alte blocuri funcţionale ale arhitecturii. Dacă la

proiect lucrează o singură persoană, atunci blocurile funcţionale sunt completate secvenţial. Dacă există mai mulţi proiectanţi acestea se pot rezolva în paralel.

Page 43: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

43

2. Implementarea arhitecturii

IMPLEMENTAREA SISTEMULUI

• Sarcinile presupuse pentru fiecare bloc funcţional includ proiectare hardware de detaliu şi construcţie, proiectare software de detaliu şi construcţie şi apoi integrarea hardware-software şi testarea

• Pot exista interdependenţe între proiectarea hardware şi software. Partea hardware nu poate fi testată până când o parte din software nu este gata, iar software nu poate fi testat până când partea din proiectul hardware nu este gata

• În mod tipic se construieşte hardware şi se testează minimal mai întâi. Apoi majoritatea efortului se concentrează pe scrierea de software şi testarea software pe hardware.

• Documentarea sistemului

Page 44: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

44

3. Testarea sistemului

VERIFICARE ŞI TESTARE• Scop: verificare, testare, încorporare de informaţii de feedback pentru

corectarea neconformităţilor• Revizii:

– Reviziile sunt demonstraţii, inspecţii ale schemelor şi inspecţii ale codului

– Revizia trebuie făcută de specialişti independenţi, familiari cu proiectul (CERINŢE) şi tehnologiile, care să ajute la detectarea erorilor

– Se pot detecta omisiuni, erori• Testarea produsului final este o continuare a activităţilor de testare din

timpul proiectării, acestea put-nd fi urmărite conform documentaţiei elaborate la proiectare arhitecturală

• Testare publică - un proiect preliminar este distribuit unor beneficiar de la care se aşteaptă feedback (“beta testing”). Reacţia de la clienţi poate duce nu numai la detectarea unor erori, schimbarea codului, dar şi la schimbarea unor specificaţii. Nu e recomandată întotdeauna în domeniul EmS.

Page 45: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

45

4. Furnizare prototip

FURNIZARE PRODUS FINAL ŞI MENTENANŢĂ

• Prototipul final şi integrarea constituie ultima fază a proiectării.• Este faza în care toate blocurile funcţionale sunt înglobate şi se

construieşte prototipul hardware final. De asemenea modulele software sunt combinate, iar codul este revizuit pentru a rula ca o aplicaţie de sine stătătoare pe prototip. Unele din componentele hardware şi software au fost deja construite şi testate pe un sistem de dezvoltare, înainte de această fază

• În funcţie de complexitatea sistemului de dezvoltare utilizat această ultimă fază poate fi un pas uşor de realizat, sau poate fi o operaţie complexă.

• În mediul competitiv actual multe din deciziile luate la proiectare se bazează pe re-utilizarea unor componente ale proiectelor deja existente. Astfel că ciclul de viaţă al unui proiect continuă şi după producţie şi el poate include mentenanţa produsului, raportarea bug-urilor şi arhivarea.

Page 46: INTRODUCERE ÎN PROCESUL DE PROIECTARE AL …vega.unitbv.ro/~romanca/psci/2-PSCI-Proiectare.pdf · Analiza preliminarã a cerinţelor Crearea ... • Costuri de fabrica ... proiectare-construcţie

46

4. Furnizare prototip

FURNIZARE PRODUS FINAL ŞI MENTENANŢĂ

• Documentare:– Importantă atât pentru componentele hardware, dar şi mai

importantă pentru cele software. Permite detectarea uşoară a componentelor care conduc la neconformităţi cu cerinţele, permite comunicarea dintre membrii unei echipe, elaborarea rapoartelor cu privire la proiect, elaborarea documentaţiei finale a proiectului, permite reutilizarea componentelor proiectului pentru alte proiecte.

– Pentru software toate informaţiile referitoare la etapele anterioare, de la punerea problemei, elaborarea algoritmului şi a schemei logice (eventual diversele versiuni succesive indicând evoluţia programului)

– Sursa programului (cu comentarii suficiente pentru a se corela cu schema logică), eventuale eşantioane de date de intrare / ieşire, dacă este cazul