Sunteți pe pagina 1din 9

1

Curs 2:
INTRODUCERE N
SISTEMELE EMBEDDED
Caracteristici ale EmS
Clasificarea EmS
Integrarea calculatorului n aplicaie
Modelul EmS i niveluri de Software
2
Caracteristici ale EmS
Caracteristici funcionale:
1. Arhitectur specific aplicaiei, cu diverse
constrngeri dictate de aplicaia int
2. Funcionare ca sisteme reactive i real - time
Caracteristici ne-funcionale:
3. Eficien energetic i de gabarit
4. Cerine restrictive privind flexibilitatea i
fiabilitatea n funcionare (dependable
systems):
3
1. Arhitectur specific aplicaiei
Sunt sisteme eterogene (software, electronic analogic i digital,
componente mecanice, optice etc.)
Resurse hardware limitate
Arhitectur simplificat (set instruciuni, organizare)
Frecven redus CLOCK procesor
Dimensiune memorie
Interfee seriale sincrone
Memorie extern (flash-drive)
Periferice de intrare ieire specifice (interfaa cu utilizatorul i
mediul)
Set de funcii particulare firmware
Comportare auto-adaptiv, auto-configurare, auto-restaurare a funcionrii
Uneori este necesar (nucleu de) sistem de operare n timp real
Sunt sisteme comunicative
comunicare cu mediul nconjurtor prin senzori i actuatori,
legare n reea (EmS distribuite)
4
REELE DE EMS
De obicei control descentralizat
5
2. Sisteme reactive i real-time
Sisteme reactive
Funcionare cu respectarea restriciilor de timp (real time)
Timp de execuie predictibil
Constrngeri RT sensibile la timp
Constrngeri RT critice la timp
Un rspuns garantat al sistemului trebuie s fie explicat fr a folosi
argumente statistice.
Prelucrare multirat. Ex: audio/video, CD (44,1kHz)/DAT(48kHz)
6
Prelucrare n timp real
Vom vorbi despre o aplicaie n timp real doar
dac timpul de ateptare este 0
Timp de prelucrare
Timp de
ateptare
Timp eantionare
n n+1
Eantion
7
3. Eficien energetic i de gabarit
Costuri
Costuri de fabricaie
Costurile de proiectare (NRE nonrecurring
engineering costs)
Puterea
Alimentare de la baterii
Surse alternative de energie (radiaie luminoas, vibraii,
micare etc.)
Tendin: Sisteme autonome energetic
Dimensiunile fizice
8
4. Cerine restrictive privind flexibilitatea
i fiabilitatea n funcionare
Fiabilitate / Sigurana n funcionare (Reliability)
Mentenabilitate (maintainability)
Disponibilitate (availability)
Sigurana (safety)
NU: RESTART, INSTAL DRIVER, SAFE MODE, ABORT +
RETRY, Ctrl+Alt+Del.
Securitatea (date i utilizatori)
Toleran la greeli (revenirea din starea de eroare uor de
fcut i fr intervenia utilizatorului)
Timp de apariie pe pia
Personalizare (uneori)
9
Clasificare a sistemelor embedded
Clasificarea se poate face dup criteriul ce se
refer la tipul de hardware utilizat
Caracteristicile devin constrngeri la proiectarea
EmS
1. Sisteme construite cu hardware de uz general, sau extrem de
puin hardware dedicat.
2. Proiecte SoB System on a Board. (cu cantitate mare de
hardware dedicat)
3. Proiecte SoC System on a Chip. (cu cantitate mare de
hardware dedicat)
10
Clasificare a sistemelor embedded
1. Sisteme construite cu hardware de uz general, sau
extrem de puin hardware dedicat.
Efortul de proiectare HW este minimizat pentru lansarea
rapid pe pia (suport hardware de dezvoltare cumprat)
Efort orientat spre dezvoltarea funciilor n SW, care
difereniaz funciile produsului
HW utilizeaz microprocesoare disponibile pe pia
Exemplu: analiz semnale n spital: PC + hardware
achiziie.
11
Clasificare a sistemelor embedded
2. Proiecte SoB System on a Board. (cu cantitate mare
de hardware dedicat)
Microprocesoare de mare performan combinate cu logic
customizat (FPGA, ASIC) pe aceeai plac
Interfee de IO specifice funciilor cerute
Pot exista plci multiple i procesoare multiple
Cantitate relativ mare de software
Dimensiunea i puterea consumat sunt neimportante pentru aplicaie
Un bun exemplu sunt routere produse de CISCO, unde se folosete o
combinaie de custom ASIC i microprocesoare extrem de rapide
12
Clasificare a sistemelor embedded
3. Proiecte SoC Systemon a Chip. (cu cantitate mare de hardware
dedicat)
SoC pentru performane de vitez, fiabilitate, dimensiune, putere
Eficente doar pentru numr mare de exemplare vndute
Unul sau mai multe MP pe chip, memorie i periferie integrat,
specifice aplicaiei
Costuri mari de dezvoltare
Proiecte SOC pe baz de nuclee (Core based SOC design)
Nuclee IP pre - proiectate i pre verificate: Procesoare, Memorii i
controllere, Periferice i controllere, Multimedia, DSP, controller
Ethernet
Se fabric ASSP (Application Specific Standard Products), ASIC full
custom design
Exemple: MP3 players, camere digitale
13
INTEGRAREA CALCULATORULUI N
APLICAIE
Condiionare de
semnal analogic


Microcalculator
Sistem
testat, sau
proces fizic
Traductor
Conversie
AD
Canal de
culegere i
prelucrare
Canal de
control
Condiionare
(amplif., filtrare)
Element
execuie
Conversie
DA
operaiile se desfoar continuu, ciclic aplicaii in timp real
14
STRUCTURA
TEMPORAL A
UNEI
APLICAII N
TIMP REAL
Initializare parametri si definire
porturi I/O
Achizitie date din porturi de intrare
(citire - "READ")
Executie program specific
(prelucrare date de intrare,
conform algoritmului numeric)
Transmitere date prelucrate prin
port de iesire (scriere - "WRITE")
Lansare alt program
specific

STOP
Programul
trebuie reluat
DA
15
Funcionalitate complex
Real-time / reactiv
Multitasking n EmS ?
De exemplu un termostat programabil ce controleaz centrala
termic realizeaz cel puin trei sarcini: (1) monitorizarea
temperaturii, (2) monitorizarea orei din zi, (3) supravegherea
tastaturii. Fire de cod (thread) separate.
16
Modelul EmS
Application software Layer
(Opional)
System software Layer
(Opional)
Hardware Layer
(Obligatoriu)
Modelul este necesar pentru a realiza o descriere comun a
diverselor EmS indiferent de complexitatea aplicaiei
Toate EmS au
cel puin acest
nivel
17
Niveluri software
Simple EmS
Applications
Hardware
Firmware
Operating system
Desktop
computer
Application(s)
Hardware
Firmware
Operating system
Complex EmS
Hardware
Firmware
Application
bootloader
start-up programme
18
Iniializare EmS
Programului de iniializare la pornire (bootloader) este un program
special rulat la pornirea sistemului, programul fiind stocat n memorii
de tip ROM (inclus n firmware)
Software nglobat n hardware = firmware
Este un program specific pentru calculatoare desktop, dar exist i la
unele EmS
Bootloader citete sistemul de operare (dac exist) de pe discul
magnetic, sau dintr-o reea i-l ncarc n memoria RAM
Bootloader realizeaz iniializarea componentelor calculatorului
integrat n aplicaie
19
Iniializare EmS
Dac nu se folosete sistem de operare la pornirea
sistemului se ruleaz un program de iniializare (start-up)
Programul de start-up al EmS:
dezactiveaz ntreruperile
iniializeaz electronica
testeaz calculatorul (RAM, CPU i programele)
pornete codul aplicaiei
Multe EmS pot face revenire dintr-o stare de cdere pe
termen scurt a alimentrii (fr auto-testele recente)
Timpul de restart obinuit este sub o zecime de secund.
20
Embedded Software
Nivelurile software prezentate grafic n modelul EmS pot
avea poziii diferite n ierarhie, n funcie de sistem
Categorii de embedded software:
Software de sistem (pe baza cruia funcioneaz aplicaiile)
Software de aplicaie (definete funciile scop ale unui EmS)
Exemple de programe de sistem:
Device drivers programe de control a dispozitivelor hardware
Sistem de operare
Middleware
21
Device Drivers
Cele mai multe componente hardware nglobate au nevoie
de un software pentru iniializare i administrare
Componenta software care interacioneaz direct i
controleaz componenta hardware este numit device
driver
Aceste programe de control sunt organizate n biblioteci de
programe care iniializeaz hardware i intermediaz
accesul la hardware pentru nivelurile superioare de
software
Driver-ele sunt legtura dintre hardware i nivelurile de
sistem de operare, middleware i aplicaii
22
Device Drivers
Application software Layer
System software Layer
Device Driver Layer
Hardware Layer
Application software Layer
Hardware Layer
System software Layer
Device Driver Layer
Middleware Layer
Application software Layer
Hardware Layer
System software Layer
Device Driver Layer
Operating System
Layer
23
Device Drivers
Tipurile de componente hardware ce au nevoie de sprijin
din partea unor driver-e sunt diferite de la sistem la sistem
Pot exista drivere pentru:
funcionalitatea procesorului la evenimente atipice
(driver de ntreruperi)
memorie (acces, alocare, administrare)
iniializare i transferuri pe magistral
iniializarea i controlul interfeelor de I/O (cum ar fi
reea, grafic, intrri, stocare, I/O pentru depanare etc)
24
Device Drivers
Exemple de funcii generale incluse n driver-e: iniializare,
configurare, activare, dezactivare dispozitive hardware, acces pentru
citire / scriere la hardware
Exist i multe funcii specifice.
Exemplu de funcii necesare unui device driver pentru servirea
ntreruperilor
1. Iniializare hardware pentru ntreruperi dup alimentare, sau reset (controller
ntreruperi, activare ntreruperi etc. )
2. Configurare hardware de ntreruperi la deconectarea alimentrii (controller
ntreruperi, dezactivare ntreruperi etc.)
3. Funcie de dezactivare ntreruperi, care permite altor programe s dezactiveze
dinamic (n timpul funcionrii) ntreruperile active (nu i pentru NMI care nu
pot fi dezactivate)
4. Funcie de activare ntreruperi, care permite altor rutine s valideze dinamic
ntreruperi inactive
5. Servirea ntreruperii, codul propriu-zis al servirii ntreruperii, care este executat
dup apariia ntreruperii programului principal (aceast rutin poate avea
complexitate foarte diferit de la sistem la sistem, de la o rutin simpl ne-
imbricat, la rutine imbricate i reentrante)
25
Device Drivers
Un program poate vedea o component hardware ca fiind
la un moment ntr-una din urmtoarele trei stri:
Inactiv. Starea inactiv a hardware este interpretat ca:
hardware deconectat (cere o funcie de instalare)
fr alimentare (cere o rutin de iniializare) sau
dezactivat (cere o rutin de validare).
Ocupat
Este o stare activ a hardware i de aici nevoia de funcii de
dezinstalare, oprire i / sau dezactivare
Hardware care este n stare ocupat prelucreaz date i aceasta poate
cere un anumit mecanism de eliberare
Ateptare
Este o stare activ a hardware i de aici nevoia de funcii de
dezinstalare, oprire i / sau dezactivare
Hardware care este n starea de ateptare, este eliberat de sarcini, ceea
ce permite, de exemplu, o cerere de tip achiziie, citire sau scriere
26
Device Drivers
n unele cazuri distincia dintre aceste niveluri de software este clar,
iar alteori codul driver-elor este integrat n alte niveluri
n funcie de tipul procesorului, diferite tipuri de software pot fi
executate n moduri diferite. Dou din modurile cele mai comune de
execuie sunt:
modul supervizor
modul utilizator (user)
Cele dou moduri difer n principal prin modul n care software are
dreptul s acceseze componentele sistemului, n mod supervizor avnd
mai multe privilegii de acces dect n mod utilizator.
27
Sisteme de operare Embedded
Un sistem de operare (SO) este o component opional a stivei
software specific EmS
Un SO poate fi utilizat pe orice procesor (ISA) ctre care SO respectiv
a fost portat
Un SO poate s stea deasupra hardware, deasupra unui nivel device
driver, sau peste un pachet software de suport pentru o anumit plac
de dezvoltare (Board Support Package)
SO const dintr-un set de biblioteci software care servesc la dou
scopuri principale ntr-un EmS:
S furnizeze un nivel de abstractizare pentru programele de la nivelul
superior SO, astfel nct acestea s fie mai puin dependente de
hardware, fcnd astfel mai uoar dezvoltarea de software de tip
midlleware i aplicaie
S administreze resurse hardware i software ale sistemului astfel ca
ntregul sistem s funcioneze eficient i sigur.
28
SO pentru modelul EmS
Application software Layer
System Software Layer
Hardware Layer
Operating System Layer
Board Support Package
Layer
Device Drivers
Application software Layer
System Software Layer
Hardware Layer
Middleware Layer
Operating System Layer
Device Driver Layer
Application software Layer
System Software Layer
Hardware Layer
Operating System Layer
Middleware
Device Drivers
29
SO Embedded
Nucleul (kernel) este componenta prezent la toate SO
Principale funciuni:
Managementul proceselor. Modul n care SO administreaz i vede alte
programe n sistemul embedded (prin procese). O sub-funcie tipic
ntlnit n cadrul managementului proceselor este administrarea
ntreruperilor i detecia erorilor
Managementul memoriei. Spaiul de memorie al EmS este partajat de
toate procesele, astfel nct trebuie fcut administrarea accesului i a
alocrii spaiului de memorie. Exist sub-funcii care implementeaz un
sistem de securitate al memoriei
Managementul sistemului de I/O. Dispozitivele I/O trebuie partajate ctre
diferitele procese, accesul i alocarea. n cadrul sistemului de I/O trebuie
s existe i un management al fiierelor ca metod de stocare i
administrare a informaiilor sub form de fiiere.
30
SO Embedded
Embedded OS
Middleware (optional)
Kernel
Process Management Memory Management
I/O System Management
Device Drivers (Optional)
31
Middleware
Liniile de demarcaie dintre middleware i software de aplicaie,
respectiv software de sistem sunt neclare
Middleware (Mw) este intermediar ntre programe de aplicaii i
programe de sistem
Mw este software care a fost extras din nivelul de aplicaie din mai
multe motive:
Ar putea fi deja inclus ca parte n SO de pe pia
Permite astfel reutilizarea pentru alte aplicaii
Scade timpul i costurile de dezvoltare prin cumprarea sa
Scade complexitatea aplicaiei, prin centralizarea unor structuri software
care n mod tradiional s-ar fi gsit redundant n nivelul de aplicaii
Totui, introducerea nivelului de middleware, introduce timpi
suplimentari, care pot avea un impact mare asupra scalabilitii i
performanei
32
Middleware
Un Mw de EmS este un nivel de software de sistem care st deasupra
device-drivers, sau deasupra SO, iar uneori poate fi ncorporat chiar n
SO
Mw este un nivel de abstractizare utilizat n general la dispozitivele
embedded cu dou sau mai multe aplicaii, pentru a furniza
flexibilitate, securitate, portabilitate, conectivitate, intercomunicare i /
sau mecanisme de interoperabilitate ntre aplicaii
Mw este un program de sistem pentru c furnizeaz funcii mai multor
aplicaii
Mw este ns asemntor i cu programele de aplicaie, pentru c
depinde de funciile oferite de SO
33
Middleware
Application Layer
System Software Layer
Hardware Layer
Middleware
Operating System
Device Drivers
Application software
Layer
System Software Layer
Hardware Layer
Middleware
Device Drivers
Application Layer
System Software Layer
Hardware Layer
Operating System
Middleware
Device Drivers
34
Middleware
Distincia ntre Mw i SO este neclar, pentru c unele funciuni
ncorporate n trecut n software de tip middleware sunt n prezent
ncorporate n SO
Exemplul tipic este stiva TCP/IP pentru telecomunicaii inclus n prezent
n marea majoritate a SO.
Cea mai mare parte a Mw se poate ncadra ntr-una din cele dou
categorii generale:
Mw cu scop general, ceea ce nseamn c sunt implementate ntr-o
varietate de dispozitive, cum ar fi protocoale de reea, sistem de fiiere,
sau unele maini virtuale cum ar fi JVM (iar ca poziie se gsesc deasupra
nivelului device driver i sub nivelul de aplicaie)
Mw specifice, ceea ce nseamn c sunt specifice unei familii particulare
de EmS, cum ar fi un software bazat pe standard de TV digital, care st
peste un SO sau peste JVM.

S-ar putea să vă placă și