Vous êtes sur la page 1sur 33

Programarea Sistemelor Integrate

Introducere

Programarea Sistemelor Integrate


Liviu 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
Automobile
t
bil (control
(
t l motor,
t
ABS,
ABS suspensii,
ii ))
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 p
protectie
etc
c 2013 Liviu Kreindler

1-2

Programarea Sistemelor Integrate

Introducere
Sisteme Integrate - Embedded Systems

Embedded system - definitie


Un ansablu hardware si software (plus
alte parti, mecanice, etc.), proiectat
pentru a implementa
p
p
o functionalitate
specifica, bine definita.
Diferenta fata de PC (calculator de uz
g
general)
)
Elementul central: microprocesor /
microcontroler
c 2013 Liviu Kreindler

1-3

Programarea Sistemelor Integrate

Introducere
Sisteme Integrate
g
- Embedded Systems
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 eroare
Restrictii de consum de putere
Operare in conditii dificile
Resurse
R
maii putine
ti
Aplicatia memorata in ROM
Metode de dezvoltare si testare specializate

c 2013 Liviu Kreindler

1-6

Programarea Sistemelor Integrate

Introducere
Sisteme Integrate
g
- Embedded Systems
y

c 2013 Liviu Kreindler

1-7

Programarea Sistemelor Integrate

Introducere
Sisteme Integrate
g
- Embedded Systems
y

c 2013 Liviu Kreindler

1-8

Programarea Sistemelor Integrate

Introducere
Sisteme Integrate
g
- Embedded Systems
y

c 2013 Liviu Kreindler

1-9

Programarea Sistemelor Integrate

Introducere
Sisteme Integrate
g
- Embedded Systems
y

c 2013 Liviu Kreindler

1 - 10

Programarea Sistemelor Integrate

Introducere
Microprocesoare, microcontrolere

1971 INTEL 4004


1972 Microprocesor INTEL 8008
1974 INTEL 8086
Legea lui Moore: la fiecare 18 luni se
dubleaza capacitatile
Tehnologii: pMOS -> CMOS
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

c 2013 Liviu Kreindler

Introducere

1 - 13

Programarea Sistemelor Integrate

Introducere

Cuvant de date: 8
8, 16
16, 32
32, 64
64, 128
Capacitate de adresare: 2k, 64k, 1M,
Frecventa de lucru: 2MHz -> 3GHz
Tipuri de date: intregi, floating-point,
floating point,
Resurse interne: memorie RAM, ROM
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
DSP (Digital Signal Processing)
ASIC (Application Specific Integrated Circuit)

c 2013 Liviu Kreindler

1 - 19

Programarea Sistemelor Integrate

Introducere
Diagrama sistem integrat - structura

CPU unitate centrala de prelucrare


Memorie (RAM
(RAM-date
date, ROM
ROM-program)
program)
Ceasuri programabile (timere)
Intrari numerice ((butoane, contacte, ))
Iesiri numerice (LED-uri, comenzi ON/OFF, releu,
)
I
Intrari
i analogice
l i (senzori,
(
i referinte,
f i
))
Iesiri analogice (comenzi, semnal audio, )
Afisaj (segmente
(segmente, grafic
grafic, ))
Tastatura (butoane, matrice, )
Canale comunicatie (RS
(RS-232,
232, CAN, USB,
Ethernet,)

c 2013 Liviu Kreindler

1 - 20

Programarea Sistemelor Integrate

Introducere
Diagrama sistem integrat - structura

c 2013 Liviu Kreindler

1 - 21

Programarea Sistemelor Integrate

c 2013 Liviu Kreindler

Introducere

1 - 22

Programarea Sistemelor Integrate

Introducere

Criterii si costuri de proiectare si implementare

Putere de calcul
Memorie
C td
Cost
dezvoltare
lt
(NRE = N
Non-Recurring
R
i Engineering)
E i
i )
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 [+]
Depanare (debug) la nivel inalt [+]
Mai usor de corelat cu algoritmul [+]
Codul nu e totdeaune optim
p
(viteza
(
executie,, memorie
ocupata) [-]
Cost global implementare si mentenanta mai scazut [+]

Limbaj de asamblare
Eficienta maxima a codului [+]
Eficienta maxima a utilizarii resurselor (memorie, etc.) [+]
Dificultate implementare [[-]]
Dificultate testare [-]
Dificultate documentare [-]
Codul nu este portabil [-]
Cost global implementare si mentenanta ridicat [-]
c 2013 Liviu Kreindler

1 - 24

Programarea Sistemelor Integrate

Introducere
Aplicatii in timp real time senzitive

I iti li
Initializare
parametri
t i sii d
definire
fi i porturi
t i I/O

Achizitie date din porturi de intrare


(citire - "READ")

t5
5

Executie program specific


(prelucrare date de intrare,

t4

conform
f
algoritmului
l
it
l i numeric)
i )

Transmitere date prelucrate


prin port de iesire
(scriere - "WRITE")

scriere
date

executie
program

t3
3

citiredate

t2
2

conversie
date

t1
t0
start

g
Programul
trebuie reluat

Lansare alt
program specific
c 2013 Liviu Kreindler

initializari

STOP

1 - 25

Programarea Sistemelor Integrate

Introducere
Aplicatii in timp real time critical

P r o g r a m P rin c ip a l
(p o llin g lo o p b a c k g r o u n d )

R u tin a T r a ta r e In tre r u p e r e
(fo re g ro u n d )
START

In itia liz a r e p a ra m e tr i
D e fin ir e / s e ta re p o r tu r i I/O

S a lv a r e c o n te x t
A c h iz itie d a te - p o r tu r i in tr a r e
(c itir e - " R E A D " )

O p e r a tii
n e -p r io r ita r e

E x e c u tie p r o g r a m s p e c ific
(p r e lu c r a r e d a te d e in t r a r e ,
c o n fo r m a lg o r itm u lu i n u m e r ic )

T r a n s m it e r e d a t e p r e lu c r a t e
- p o r t d e ie s ir e

B u c la
in fin ita

(s c r ie r e - " W R IT E " )

R e fa c e re c o n te x t
h (perioada
esantionare)
Rutina Tratare
Intrerupere

c 2013 Liviu Kreindler

Program
Principal

A/D;calcule;D/A

RETURN
A/D;calcule;D/A

A/D;calcule;D/A

PP

PP

PP

1 - 26

Programarea Sistemelor Integrate

Introducere
Operare in timp real

Structura tipica
Bucla principala prioritate
mica - background
Intreruperi (ISR Interrupt
Service Routine) - foreground
Prioritati

Cerinte 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 p
produsului specificatii
p
Definirea cerintelor functionale
Selectia procesorului
S
Specificatii
f
hardware
Evaluarea sistemului
Proiectare hardware
Proiectare firmware
Integrare
Testare
Documentare
c 2013 Liviu Kreindler

1 - 29

Programarea Sistemelor Integrate

Introducere
Ciclu proces dezvoltare software / firmware

User Software
Requirements

Acceptance Tests
Specifications

Software Requirements
Specifications

Module Tests
Specifications

Software Architectural
Design

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

Partea II

Microcontrolere MSP430 caracteristici generale


Platforme de dezvoltare
Intreruperi
Interfete I/O digitale.
g
Timere
Afisaje; tastaturi
Interfete analog-digitale
Interfete digital
digital-analogice
analogice
Interfete comunicatie
Memoria sistemului
Sisteme de operare in timp real

c 2013 Liviu Kreindler

1 - 32

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

Partea
P
t II (L5-L12)
(L5 L12)
MSP430 platforme dezvoltare
Porturi I/O (butoane, LED-uri)
Afisaj LCD
Intreruperi. Utilizare timere.
Achizitie de date. Convertoare A/D, D/A
Aplicatie recorder (2 sed.)
Comunicatia seriala

c 2013 Liviu Kreindler

1 - 33