psi_c1.2013

33
Programarea Sistemelor Integrate Introducere Programarea Sistemelor Integrate Programarea Sistemelor Integrate Liviu Kreindler Examen – 50% / % • Laborator / Tema de casa 50% Prezenta – 0% Curs – slides – Moodle c 2013 Liviu Kreindler 1 - 1

Upload: gabibaciu

Post on 14-Feb-2016

215 views

Category:

Documents


1 download

DESCRIPTION

vv

TRANSCRIPT

Programarea Sistemelor Integrate Introducere

Programarea Sistemelor IntegrateProgramarea Sistemelor IntegrateLiviu Kreindler

• Examen – 50%/ %• Laborator / Tema de casa – 50%

• Prezenta – 0%

Curs – slides – Moodle

c 2013 Liviu Kreindler 1 - 1

Programarea Sistemelor Integrate Introducere

Sisteme Integrate - Embedded Systems

Embedded systems

A t bil ( t l t ABS ii )– Automobile (control motor, ABS, suspensii, …)– Echipament militar (roboti, rachete, …)– Instrumente medicale (monitorizare, proteze, dozatoare,

)…)– Aerospatial (sisteme masura, rachete, control motor,…)– Echipament industrial (masini OEM – semiconductori,

textile, impachetat, etichetat, …)– Comunicatii (telefonie mobila, sateliti, wireless, …)– Larg consum (frigider, masina spalat, televizor, video,

combina audio, microunde, masina vase, termostate, CT etc )CT, etc.)

– Periferice (imprimanta, mouse, scanner, modem, …)– Jocuri– Sisteme protectie

c 2013 Liviu Kreindler 1 - 2

p– etc…

Programarea Sistemelor Integrate Introducere

Sisteme Integrate - Embedded Systems

• Embedded system - definitieUn ansablu hardware si software (plusUn ansablu hardware si software (plus

alte parti, mecanice, etc.), proiectat pentru a implementa o functionalitate p pspecifica, bine definita.

• Diferenta fata de PC (calculator de uz general)g )

• Elementul central: microprocesor /

c 2013 Liviu Kreindler 1 - 3

Elementul central: microprocesor / microcontroler

Programarea Sistemelor Integrate Introducere

Sisteme Integrate - Embedded Systemsg y

c 2013 Liviu Kreindler 1 - 4

Programarea Sistemelor Integrate Introducere

Sisteme Integrate - Embedded Systems

c 2013 Liviu Kreindler 1 - 5

Programarea Sistemelor Integrate Introducere

Sisteme Integrate vs. PC

– Dedicate pentru aplicatie specifica– Implementate pe o gama f. larga de procesoare si

arhitecturi– Criteriul cost, foarte important– Restrictii de operare in timp real– Sistem de operare in timp real (RTOS)– Implicatii situatii de eroareImplicatii situatii de eroare– Restrictii de consum de putere– Operare in conditii dificile

R i ti– Resurse mai putine– Aplicatia memorata in ROM– Metode de dezvoltare si testare specializate

c 2013 Liviu Kreindler 1 - 6

Programarea Sistemelor Integrate Introducere

Sisteme Integrate - Embedded Systemsg y

c 2013 Liviu Kreindler 1 - 7

Programarea Sistemelor Integrate Introducere

Sisteme Integrate - Embedded Systemsg y

c 2013 Liviu Kreindler 1 - 8

Programarea Sistemelor Integrate Introducere

Sisteme Integrate - Embedded Systemsg y

c 2013 Liviu Kreindler 1 - 9

Programarea Sistemelor Integrate Introducere

Sisteme Integrate - Embedded Systemsg y

c 2013 Liviu Kreindler 1 - 10

Programarea Sistemelor Integrate Introducere

Microprocesoare, microcontrolere

1971 INTEL 4004• 1971 – INTEL 4004• 1972 – ‘Microprocesor’ – INTEL 8008• 1974 – INTEL 8086• Legea lui Moore: la fiecare 18 luni seLegea lui Moore: la fiecare 18 luni se

dubleaza capacitatile• Tehnologii: pMOS -> CMOS nMOS• Tehnologii: pMOS -> CMOS, nMOS

(HMOS), bipolare, I2C

c 2013 Liviu Kreindler 1 - 11

Programarea Sistemelor Integrate Introducere

Evolutia microprocesoarelor INTEL

c 2013 Liviu Kreindler 1 - 12

Programarea Sistemelor Integrate Introducere

c 2013 Liviu Kreindler 1 - 13

Programarea Sistemelor Integrate Introducere

Cuvant de date: 8 16 32 64 128• Cuvant de date: 8, 16, 32, 64, 128• Capacitate de adresare: 2k, 64k, 1M,…• Frecventa de lucru: 2MHz -> 3GHz• Tipuri de date: intregi, floating-point, …Tipuri de date: intregi, floating point, …• Resurse interne: memorie RAM, ROM

Interfete I/E• Interfete I/E

c 2013 Liviu Kreindler 1 - 14

Programarea Sistemelor Integrate Introducere

INTEL – 4004

c 2013 Liviu Kreindler 1 - 15

Programarea Sistemelor Integrate Introducere

AMD – 80286 - detaliu

c 2013 Liviu Kreindler 1 - 16

Programarea Sistemelor Integrate Introducere

INTEL – Pentium Pro 150 MHz

c 2013 Liviu Kreindler 1 - 17

Programarea Sistemelor Integrate Introducere

Evolutia microprocesoarelor INTEL

c 2013 Liviu Kreindler 1 - 18

Programarea Sistemelor Integrate Introducere

Diagrama microcalculator

• Von Neumann• Harvard• Harvard• DSP (Digital Signal Processing)• ASIC (Application Specific Integrated Circuit)

c 2013 Liviu Kreindler 1 - 19

Programarea Sistemelor Integrate IntroducereDiagrama sistem integrat - structura

• CPU – unitate centrala de prelucrare• Memorie (RAM-date ROM-program)Memorie (RAM date, ROM program)• Ceasuri programabile (timere)• Intrari numerice (butoane, contacte, …)( )• Iesiri numerice (LED-uri, comenzi ON/OFF, releu,

…)I i l i ( i f i )• Intrari analogice (senzori, referinte, …)

• Iesiri analogice (comenzi, semnal audio, …)• Afisaj (segmente grafic )• Afisaj (segmente, grafic, …)• Tastatura (butoane, matrice, …)• Canale comunicatie (RS-232, CAN, USB,

c 2013 Liviu Kreindler 1 - 20

Canale comunicatie (RS 232, CAN, USB, Ethernet,…)

Programarea Sistemelor Integrate IntroducereDiagrama sistem integrat - structura

c 2013 Liviu Kreindler 1 - 21

Programarea Sistemelor Integrate Introducere

c 2013 Liviu Kreindler 1 - 22

Programarea Sistemelor Integrate Introducere

Criterii si costuri de proiectare si implementare

– Putere de calcul– Memorie

C t d lt (NRE N R i E i i )– Cost dezvoltare (NRE = Non-Recurring Engineering)– Cantitate produsa– Durata de viata

Fi bilit t– Fiabilitate

c 2013 Liviu Kreindler 1 - 23

Programarea Sistemelor Integrate Introducere

Limbaje de Programare• Limbaje de nivel inalt: C / C++

– Portabilitate [+]– Acces la resurse Hardware [-]

Implementare structurata [+]– Implementare structurata [+]– Depanare (debug) la nivel inalt [+]– Mai usor de corelat cu algoritmul [+]– Codul nu e totdeaune optim (viteza executie, memorie p ( ,

ocupata) [-]– Cost global implementare si mentenanta mai scazut [+]

• Limbaj de asamblare• Limbaj de asamblare– Eficienta maxima a codului [+]– Eficienta maxima a utilizarii resurselor (memorie, etc.) [+]– Dificultate implementare [-]Dificultate implementare [ ]– Dificultate testare [-]– Dificultate documentare [-]– Codul nu este portabil [-]

c 2013 Liviu Kreindler 1 - 24

– Cost global implementare si mentenanta ridicat [-]

Programarea Sistemelor Integrate Introducere

Aplicatii in timp real – time senzitiveI iti li t i i d fi i t i I/OInitializare parametri si definire porturi I/O

Achizitie date din porturi de intrare

(citire - "READ")

Executie program specific (prelucrare date de intrare,

f l it l i i ) executie

scrieredatet4

t55

conform algoritmului numeric)

Transmitere date prelucrate prin port de iesire

citiredate

executieprogram

t2

t33

4

(scriere - "WRITE")

Programul

initializari

conversiedate

startt0t1

1

2

gtrebuie reluat

c 2013 Liviu Kreindler 1 - 25

Lansare alt program specific

STOP

Programarea Sistemelor Integrate Introducere

Aplicatii in timp real – time criticalP r o g r a m P r in c ip a l

(p o l l in g lo o p – b a c k g r o u n d )

S T A R T

R u t in a T r a ta r e In t r e r u p e r e( fo r e g r o u n d )

A c h iz i t ie d a te - p o r tu r i in t r a r e( c i t i r e - " R E A D " )

In i t ia l iz a r e p a r a m e t r iD e f in i r e / s e ta r e p o r tu r i I /O

S a lv a r e c o n te x t

E x e c u t ie p r o g r a m s p e c i f ic ( p r e lu c r a r e d a t e d e in t r a r e ,

c o n f o r m a lg o r i t m u lu i n u m e r ic )

O p e r a t i i n e -p r io r i ta r e

T r a n s m ite r e d a te p r e lu c r a te - p o r t d e ie s ir e ( s c r ie r e - " W R IT E " )

B u c la in f in i ta

R E T U R N

R e fa c e r e c o n te x t

h (perioada esantionare) h

Rutina Tratare

c 2013 Liviu Kreindler 1 - 26

A/D;calcule;D/A

PP PP PPProgram Principal

Rutina Tratare Intrerupere A/D;calcule;D/A A/D;calcule;D/A

Programarea Sistemelor Integrate Introducere

Operare in timp real

• Structura tipica– Bucla principala – prioritate

mica - background– Intreruperi – (ISR – Interrupt

Service Routine) - foregroundService Routine) foreground– Prioritati

• Cerinte operare timp realCerinte operare timp real– Time-critical– Time-sensitive

c 2013 Liviu Kreindler 1 - 27

Programarea Sistemelor Integrate Introducere

Proces proiectare, implementare si testare

c 2013 Liviu Kreindler 1 - 28

Programarea Sistemelor Integrate Introducere

Proces proiectare, implementare si testare

• Definirea cerintelor produsului – specificatiip p• Definirea cerintelor functionale• Selectia procesorului

S f• Specificatii hardware• Evaluarea sistemului• Proiectare hardware• Proiectare hardware• Proiectare firmware• IntegrareIntegrare• Testare• Documentare

c 2013 Liviu Kreindler 1 - 29

Programarea Sistemelor Integrate Introducere

Ciclu proces dezvoltare software / firmware

User Software Requirements

Acceptance Tests

Software Requirements Specifications

Acceptance Tests Specifications

Software Architectural Design

Module Tests Specifications

Software Detailed Design

Unit Tests Specifications

Implementation

c 2013 Liviu Kreindler 1 - 30

Programarea Sistemelor Integrate Introducere

Proces proiectare, implementare si testare

c 2013 Liviu Kreindler 1 - 31

Programarea Sistemelor Integrate Introducere

Structura cursului

• Partea I– Introducere

Sisteme in timp real concepte generale– Sisteme in timp real - concepte generale• Partea II

– Microcontrolere MSP430 – caracteristici generale– Platforme de dezvoltare– Intreruperi– Interfete I/O digitale. Timereg– Afisaje; tastaturi– Interfete analog-digitale

Interfete digital analogice– Interfete digital-analogice– Interfete comunicatie– Memoria sistemului

c 2013 Liviu Kreindler 1 - 32

– Sisteme de operare in timp real

Programarea Sistemelor Integrate Introducere

Structura laboratorului

• Partea I - Limbajul C – recapitulare (S1-S4)– Tipuri, operatori, expresii– Controlul programului– Functii si structura programului– Pointeri, tablouri, structuri

P t II (L5 L12)• Partea II (L5-L12)– MSP430 – platforme dezvoltare– Porturi I/O (butoane, LED-uri)

Afisaj LCD– Afisaj LCD – Intreruperi. Utilizare timere.– Achizitie de date. Convertoare A/D, D/A– Aplicatie recorder (2 sed.)Aplicatie recorder (2 sed.)– Comunicatia seriala

c 2013 Liviu Kreindler 1 - 33