Sunteți pe pagina 1din 36

PROIECTAREA SISTEMELOR CU CALCULATOR INTEGRAT

Curs 1

Embedded System
Un sistem cu calculator nglobat este un sistem pe baz de microprocesor construit pentru a controla anumite funcii particulare i care nu este construit pentru a fi programat de utilizatorul final, cum este la PC. Funcionalitate (relativ) fix realizat prin firmware Hardware i software trebuie privite ca dou opiuni de implementare ce difer prin metrici de proiectare, cost, performan, dimensiune i flexibilitate.
2

Tendine ce au influenat EmS


Creterea capacitii de integrare a Circuitelor Integrate (IC) Hw + Sw + interfee cu lumea extern integrate complet n acelai IC. Creterea calitii compilatoarelor au condus la utilizarea comun a limbajelor independente de procesor de tip C, C++, Java, i a mediilor de dezvoltare integrate (IDE) n proiectarea EmS Dezvoltarea unor unelte software pentru proiectarea componentelor hardware ale sistemului. Uneltele de sintez realizeaz n proiectarea hardware cam acelai lucru cu compilatoarele n proiectarea software
3

TERMENI UTILIZAI
Denumiri (traducere EmS):
sisteme nglobate sisteme cu procesor/calculator integrat / nglobat sistemele dedicate pe baz de calculator

TERMENI APLICAII EmS


disappearing computer - pentru c prezena acestor calculatoare nu este evident, aa cum se ntmpl la PC-uri ubiquitous computing calcul omniprezent. Ubiquitous computing se refer la integrarea calculatoarelor n mediu i nu privete calculatoarele ca obiecte distincte. Ca rezultat al omniprezenei, omul interacioneaz cu dispozitive de prelucrare a informaiei (invizibile) ntr-un mod mai natural (i nu aa cum o face de exemplu cu un PC) fr a ine cont de locul unde se gsete. pervasive computing - calcul universal/distribui peste tot ambient intelligence inteligen ambiental. Evidenieri n tehnologia informaiei i comunicaiilor din cldirile i casele inteligente

TENDINE EUROPENE
n peisajul european referitor la EmS (Embedded Systems), s-a creat in 2004 o platforma tehnologica, ARTEMIS[1], dedicata promovrii i corelrii cercetrilor n domeniul sistemelor de tip embedded Ca parteneri principali sunt vizai: universiti i institute de cercetare, productori europeni n domeniu, IMM-uri calate pe cercetarea EmS punctual, fie pe dezvoltare de toools-uri de proiectare, fie pe integratori de sistem, sau dezvoltatori de aplicaii. [1] the European Technology Platform for Advanced Research and Technology for Embedded Intelligence and Systems

TENDINE
n prezent circa 90% din dispozitivele de calcul implementate pe pia sunt EmS, distribuite n domeniile (la nivelul anului 2002):
automobile (37%) industrie i energie (30%) aprare i tehnici spaiale (30%)

n 2010 (considernd actuala rat de cretere) numr de componente embedded programabile de 16 miliarde (aproape 3 dispozitive embedded pe persoan pe planet) 2020 peste 40 miliarde componente EmS

TENDINE
O dat cu omniprezena dispozitivelor embedded apar noi provocri n domeniile: tehnologie, inter-operabilitate, standardizare, medodologie, siguran i securitate. n urmtorii 5 ani, documentele europene prevd o distribuie procentual pe arii, astfel:
automatizri industriale (15%) telecomunicaii (30%) electronic de consum i cldiri inteligente (40%) echipamente medicale i de asigurare a sntii (15%)

Obiectivul cursului/ disciplinei


Prezentarea modului de proiectare integrat hardware software a sistemelor cu calculator nglobat n aplicaie (Embedded Systems). Proiectarea efectiv a unei aplicaii de complexitate medie utiliznd instrumente dedicate ca: simulatoare, emulatoare i sisteme de dezvoltare. Proiectarea sistemelor cu calculator nglobat se bazeaz pe cunoaterea diverselor tehnologii i este influenat de nelegerea profund a nevoilor umane i a cerinelor pieei.
9

PROIECTAREA SISTEMELOR CU CALCULATOR INTEGRAT

Introducere n proiectarea sistemelor cu calculator integrat (S.C.I.)


Organizarea cursului, obiective, prezentarea programei analitice, Procesul de proiectare al sistemelor cu calculator integrat, prezentare faze i rezultate ateptate.

Tehnici de proiectare a EmS


Analiza cerinelor i elaborarea corect a specificaiilor sistemului Proiectarea sistemului hardware: selecie procesor, dezvoltare proiect hardware, depanare. Proiectarea sistemului software: dezvoltarea i depanarea programelor, caracteristici de timp real impuse de aplicaie

Tehnici de interfaare cu microcontrollere


10

Software layers

13

INTEGRAREA CALCULATORULUI N APLICAIE


Traductor Condiionare de semnal analogic Conversie AD
Canal de culegere i prelucrare

Sistem testat, sau proces fizic

Microcalculator Canal de control

Element execuie

Condiionare (amplif., filtrare)

Conversie DA

operaiile se desfoar continuu, ciclic aplicaii in timp real


14

Caracteristici ale EmS


1. 2. 3. 4. Caracteristici funcionale: Arhitectur specific aplicaiei, cu diverse constrngeri dictate de aplicaia int Funcionare ca sisteme reactive i real - time Caracteristici ne-funcionale: Eficien energetic i de gabarit Cerine restrictive privind flexibilitatea i fiabilitatea n funcionare (dependable systems):
15

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 (interfaa cu utilizatorul i mediul) specifice 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)
16

REELE DE EMS
De obicei control descentralizat

17

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 (audio/video, CD (44,1kHz)/DAT(48kHz)

18

3. Eficien energetic i de gabarit


Costuri
Costuri de fabricaie Costurile de proiectare engineering costs) Puterea (NRE nonrecurring

Alimentare de la baterii Surse alternative de energie (radiaie luminoas, vibraii, micare etc.) Tendin: Sisteme autonome energetic

Dimensiunile fizice
19

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)
20

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.

21

Modelul EmS
Application software Layer
(Opional) System software Layer (Opional) Hardware Layer (Obligatoriu)

22

Niveluri software
Applications
Operating system

Applications
Operating system

Firmware Hardware
Desktop computer

Firmware Hardware
Complex EmS

Application

Firmware

Hardware
Simple EmS

bootloader start-up programme 23

UNELTE DE DEZVOLTARE
Mediu Software Integrat de Dezvoltare (IDE - Integrated Development Environment). IDE este o unealt software de dezvoltare ce ruleaz pe un calculator desktop (de exemplu un PC) Funciuni principale:
dezvoltarea programelor utilizator (de obicei n limbaj C i / sau asamblare) ntr-o fereastr de editare. compilator i editor de legturi 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 urmrirea coninutului registrelor interne, a memoriei, a porturilor de IO, a circuitelor timer / counter, etc. transferul codului (program executabil) ctre memoria local (flash, EEPROM) a microcontrollerului
24

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

25

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.

26

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
27

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
28

Device Drivers
Application software Layer Application software Layer System software Layer System software Layer Middleware Layer Device Driver Layer Device Driver Layer Device Driver Layer Operating System Layer System software Layer Application software Layer

Hardware Layer

Hardware Layer

Hardware Layer

29

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)
30

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. 2. 3. 4. 5. Iniializare hardware pentru ntreruperi dup alimentare, sau reset (controller ntreruperi, activare ntreruperi etc. ) Configurare hardware de ntreruperi la deconectarea alimentrii (controller ntreruperi, dezactivare ntreruperi etc.) 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) Funcie de activare ntreruperi, care permite altor rutine s valideze dinamic ntreruperi inactive 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 neimbricat, la rutine imbricate i reentrante)
31

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
32

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.

33

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.
34

SO pentru modelul EmS


Application software Layer Application software Layer Application software Layer

System Software Layer Operating System Layer

System Software Layer Middleware Layer

System Software Layer Operating System Layer Middleware

Board Support Package Layer Device Drivers

Operating System Layer Device Drivers Device Driver Layer

Hardware Layer

Hardware Layer

Hardware Layer

35

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 subfuncii 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.

36

SO Embedded
Embedded OS Middleware (optional)

Kernel Process Management Memory Management

I/O System Management

Device Drivers (Optional)

37

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 c este deja inclus ca parte n SO de pe pia Permite astfel reutilizarea pentru alte aplicaii Scade timpul i costurile de dezvoltare prin cumprarea sa Simplific 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 asuprascalabilitii i performanei
38

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