Sunteți pe pagina 1din 11

Vom incerca sa definim in continuare notiunea de sistem incorporat.

Definitie: Orice dispozitiv care include un computer, dar care nu este el insusi un computer de uz
general. Poate fi considerat un ansamblu hardware si software care va functiona autonom, fara
interventia omului.

Alte posibile definitii/caracteristici ale sistemelor incorporate sunt:

Sistemele incorporate sunt sisteme la care calculatorul/microprocesorul sunt doar simple componente.
Principalul scop al utilizarii microprocesorului este sa simplifice constructia sistemului si sa ofere
flexibilitate in proiectare si constructie.

Un sistem incorporat este un sistem pe baza de microprocesor construit pentru a controla o


functie sau un domeniu de functii particulare si care nu este proiectat pentru a fi programat de catre
utilizatorul final. Singura interactiune cu utilizatorul se face in scopul realizarii functiilor impuse
sistemului – aplicatiei.

Un sistem incorporat foloseste o combinatie de hardware si software (o masina


computationala) pentru a realiza o functie specifica lucrand intr-un mediu reactiv si care impune
restrictii de timp.

Sistemele incorporate sunt sisteme de prelucrare a informatiei inglobate in produse mai mari
si care nu sunt de obicei vizibile utilizatorului.

In mod normal un sistem incorporat se obtine prin incorporarea(includerea) unui calculator


intr-un sistem orientat pe o aplicatie.

Cel mai simplu model de incorporare a unui calculator intr-un sistem este prezentat in figura
1.1.
Dupa cum se observa, este necesara prezenta interfetelor analogice pentru interactiunea cu
mediul.

Vom prezenta in continuare cateva exemple pe baza carora putem pune in evidenta
principalele caracteristici ale sistemelor incorporate (fig. 1.2).

- agenda electronica PDA (Personal Digital Assitant)

- Videocamera digitala

- Telefon celular

-
Televizor celular sau chiar analogic

In cazul PDA se observa prezenta unei interfete operator (touch-screen) dar aceasta este mai
restransa decat in cazul sistemelor de uz general tocmai datorita faptului ca trebuie sa asigure
realizarea unui numar restrans de functii predefinite.

Videocamera digitala are mai multe microprocesoare. Televizorul analog benefiaciza de un


procesor cel putin pentru controlul canalelor.

Un alt exemplu este reprezenta de sistemele de control ale unui automobil. Un automobil modern este
dotat cu un mare numar de microprocesoare care asigura controlul motorului, controlul sistemului de
franare (ABS), controlul sistemului de siguranta (airbag-uri), etc. In figura 1.3. sunt prezentate
principalele sisteme de control ale unui automobil.
Alte exemple de sisteme incorporate

Primul vehicul de explorare a planetei marte Mars Rover dotat cu 5 microprocesoare pe 8 biti
Intel 80C85 Prezentat in figura 1.4.

Un sistem GPS – are ca elemente de intrare iesire caracteristic o antena de emisie receptie
semnale satelit, display-ul menit sa asigure interfatarea cu operatorul uman si este dotat cu
microprocesor pe 16 biti.

MP3 Player – dotat cu un microprocesor pe 32 de biti, principala sarcina fiind decompresia


fisierelor audio

Sony Aibo ERS-100 ROBOTIC DOG – este dotat cu un microprocesar pe 64 de biti –


complexitatea microprocesorului este impusa de complexitatea sarcinilor pe care trebuie sa le
realizeze

Caracteristic pentru toate aceste sisteme este faptul ca informatia referitoare la modul de
functionare este prelucrata prin intermediul senzorilor (viteza, cuplu, acceleratie, temperatura, etc.)
iar in urma procesarii acestor informatii microprocesorul actioneaza asupra sistemelor de control ale
automobilului prin intermediul unor sisteme de executie (pompe, ventile, motoare, etc.); atat pentru
prelucrarea informatiei cat si pentru transmiterea comenzilor sunt necesare interfete analogice (CNA si
CAN).
Caracteristici ale sistemelor incorporate

- Functionalitate sofisticata, gradul de sofisticare fiind dependent de aplicatie;

- Operarea in timp real – chiar daca nu este obligatorie, este caracteristica pentru multe din
aplicatiile incorporate.

- Costuri de fabricatie scazute

- Aplicatii dependente de procesor – chiar daca nu sunt obligatorii sunt frecvente

- Memorie restrictionata

- Consum mic – multe din aplicatiile incorporate sunt destinate sa functioneze pe baterii.

Am specificat mai devreme ca o caracteristica importanta o constituie costurile de productie


scazute. Acestea au doua componente:

- costurile pentru proiectarea si dezvoltarea produsului

- costurile de productie si vanzare pentru fiecare unitate de produs.


Costurile vor fi corelate cu numarul de unitati realizate: spre exemplu o aplicatie foarte
specifica (precum controlul comenzilor in cazul unui avion) va presupune costuri de proiectare mari,
fiind posibila utilizarea unor elemente hardware si software sofisticate si scumpe. La proiectarea unor
telefoane celulare low cost insa se va avea in vedere in primul rand minimizarea costurilor.

Sisteme de timp real

Am specificat anterior ca una dintre caracteristicile posibile ale sistemelor incorporate este
operarea in timp real. In cele ce urmeaza vom incerca sa definim caracteristicile operarii de timp real.

O definitie simpla a operarii de timp real este aceea ca operatiile trebuie finalizate in intervale
de timp predefinite; altfel spus, functionarea trebuie sa respecte restrictiile de timp.

Se pot defini operatii:

- Hard real time – la care depasirea intervalului de timp determina defecte, catastrofe
(constrangeri RT critice la timp)

- Soft real time – la care depasirea intervalului de timp determina scaderea performantelor
(constrangeri RT sensibile la timp)

In cazul operarii RT un raspuns garantat al sistemului trebuie sa fie explicat fara a folosi
argumente statistice.

Multe sisteme sunt sisteme multirata – ele primesc informatii din exterior la intervale de timp
diferite si sunt prelucrate in intervale de timp diferite.

Alte caracteristici ale sistemelor incorporate

- Toleranta la defect – unele aplicatii trebuie sa continue sa functioneze chiar daca unele
componente soft sau hard sunt scoase din functiune (controlul zborului unui avion de
exemplu)

- Siguranta – nu trebuie sa provoace daune persoanelor sau proprietatilor

- Functionalitate predefinita – se pot realiza numai anumite functii iar hadware-ul si


software-ul cu care este dotat sunt destinate realizarii acestor functii predefinite

- Exista posibilitatea ca anumite functii predefinite sa fie folosite foarte rar de-a lungul
perioadei de utilizare altfel spus, foarte rar vor fi folosite toate functiile ce pot fi
programate

- Increderea – descrisa de proprietatea de a functiona corect la un moment dat

- Mentenabilitatea – probabilitatea ca sistemul sa lucreze corect o anumita perioada, dupa


aparitia unor erori

- Disponibilitatea – probabilitatea ca sistemul sa lucreze corect un timp dat

- Securitatea – asigurarea confidentialitatii datelor prelucrate


Tipuri de sisteme incorporate

Exista o mare diversitate de sisteme incorporate care realizeaza functii foarte diferite de aceea
sunt greu de gasit criterii clare de clasificare ale acestora. Un criteriu general acceptat este cel bazat
pe functiile principale pe care acestea le implementeaza. Astfel se pot distinge:

- Sisteme incorporate similare calculatoarelor de uz general – acestea au ca principala sarcina


raspunsul la comenzile operatorului;exemple agenda electronica, jocurile video, etc.

- Sisteme automate – ca raspuns la informatiile preluate din exterior prin intermediul


senzorilor, sistemul reactioneaza prin comanda elementelor de executie; exemple: controlul in
bucla inchisa pentru sisteme de timp real, controlul motorului autovehiculelor, controlului
zborului, etc.

- Procesarea semnalelor: radar, sonar

- Comunicare si retele – telefoane celulare, aplicatii INTERNET (ROUTER)

Tipuri de functii realizate de sistemele incorporate

- Legea de control

- Secventierea logica

- Procesare semnale – sunt necesare pentru procesarea semnalelor de intrare primite de la


senzori

- Interfatare specifica aplicatiei – depinde de tipurile de senzori si elemente de comanda cu


care se interfateaza

- Raspunsuri gresite – determina modul in care va actiona sistemul in caz de erori; este
necesar ca in caz de eroare sa nu apara o avarie catastrofica (sa cada sistemul) ci sa aiba
loc o deteriorare graduala (de exemplu in cazul descarcarii bateriilor se emite un semnal
de avertizare care sa comunice utilizatorului acest lucru.

Arhitectura sistemelor incorporate

Vom prezenta in continuare o arhitectura mai completa. In figura 1.7. este prezentata o astfel
de arhitectura. Se remarca prezenta blocului de baza care acum se extinde fata de modelul simplu
prezentat anterior, la acest bloc de baza adaugandu-se mai multe elemente exterioare. In blocul de
baza se remarca CPU care comunica cu memoria, in care este depus software-ul ce permite controlul
sistemului incorporat. Se remarca de asemenea CAN-ul prin intermediul caruia sunt preluate
semnalele analogice de la senzori, precum si CNA prin intermediul caruia CPU transmite semnalele de
comanda spre elementele de executie.

Se remarca de asemenea prezenta in blocul de baza unei componente (special hardware)


necesara deoarece in unele cazuri, CPU-ul nu este capabil sa execute instructiunile soft-ului
respectand conditiile real time.

Componente externe
- Interfata operator – este menita sa asigure atat primirea date (comenzi) de la operatorul
uman cat si sa-l informeze despre functionarea sistemului. Va fi constituita din butoane,
ecrann sau un simplu afisaj cu LED-uri

- Blocul de diagnoza – este destinat diagnosticarii sistemului trebuie determinate erori si


modului in care acestea pot fi remediate; acest bloc trebuie sa lucreze chiar si in cazul in
care sistemul nu este activ pentru a putea testa functionarea corecta a tuturor
componentelor sistemului

- Sisteme auxiliare – asigura alimentarea cu energie electrica a sistemului, racirea si


protectia mecanica

- Protectia electromagnetica externa – trebuie sa asigure atat protectia cat si aspectul


exterior al sistemului, aspect ce devine foarte important.

Implementarea sistemelor incorporate

Componentele hardware

Principalele componente hardware sunt:

- element de procesare (microprocesor, microcontroler)

- elemente periferice

o dispozitive de intrare – iesire


o Interfatare senzori si elemente de executie

- Memorie

- Magistrala

Elementele sunt similare unui sistem de calcul de uz general

Deosebirile sunt determinate de natura si numarul intrarilor iesirilor. Acestea sunt mult mai
diverse si mai numeroase in cazul sistemelor incorporate decat in cazul unui sistem de calcul de uz
general.

Exista doua componente software principale

- Software de sistem – care are functii similare sistemului de operare din sistemul de calcul de
uz general; trebuie remarcat ca pe langa cerintele impuse sistemelor de operare de uz general, in
cazul sistemelor incorporate este necesar ca software de sistem sa respecte si cerintele specifice
sistemelor de timp real. O cerinta speciala este legata de faptul ca de obicei programarea (in limbaj de
nivel inalt) se face pe un calculator care emuleaza sistemul incorporat si de aceea sunt necesare cross
asambloare si cross compilatoare. Astfel un compilator pentru PIC-uri va rula pe un PC; acesta va
compila programul scris (in C de exemplu) si va genera un cod specific pentru PIC.

In unele cazuri exista posibilitatea de a simula pe PC mediul (intrari, iesiri) si de a testa


complet functionarea sistemului incorporat. In acest fel, codul in assambler generat pe PC este
transferat si utilizat in sistemul incorporat. De asemenea, pentru depanarea programului, sistemul
incorporat este cuplat cu un PC. Faptele preluate de la sistemul incorporat sunt preluate si interpretate
pe PC.

- software de aplicatie – este cel care individualizeaza sistemul incorporat respectiv. Daca
acelasi soft de operare poate lucra pe mai multe tipuri de sisteme incorporate, soft-ul e aplicatie este
strict specific.

Spre exemplificare prezentam soft-ul unui termostat programabil ce controleaza centrala

termica realizeaza cel putin trei sarcini: (1) monitorizarea temperaturii, (2) monitorizarea orei din zi,
(3) supravegherea tastaturii. Fire de cod (thread) separate.

Caracteristici ale soft-ului utilizat in sistemele incorporate


- Programele trebuie sa fie corecte din punct de vedere logic si temporal. Daca
corectitudinea logica este caracteristica tuturor programelor, corectitudinea temporala este
impusa de cerintele de aplicatie de timp real.

- Trebuie sa asigure concurenta fizica implicita deoarece un sistem incorporat poate lucra
multiuser si multiproces.

- Siguranta in functionare si toleranta la defect sunt obligatorii, soft-ul fiind cel care trebuie
sa asigure aceste proprietati.

- Soft-ul de aplicatie este specific si are un scop unic.

- Functionarea multitasking si concurenta este determinata de faptul ca un sistem


incorporat trebuie sa poata lucra cu mai multe intrari si iesiri si cu evenimente multiple in
mod independent – multe sisteme incorporate sunt obligate sa lucreze multitasking.
Separarea task-urilor simplifica programarea, dar cere comutarea intr-un anumit fel,
inainte si inapoi printre diferite task-uri (programare multitasking). Concurenta reprezinta
aparenta executie simultana a mai multor task-uri

Cerinte in proiectarea sistemelor incorporate

In proiectarea unui sistem incorporat trebuie urmarita rezolvarea unor probleme specifice
precum:

- Cat de mult hardware este necesar – care este lungimea cuvantului pentru CPU,
dimensiunea memoriei, etc.

- Care va fi dimensiunea intervalului de timp care sa asigure finalizarea operatiilor


(intervalul de timp pentru finalizarea operatiilor in real-time) – un hard mai rapid sau un
soft mai inteligent – un hard mai rapid inseamna costuri de productie mai mari in timp ce
soft-ul mai inteligent presupune cheltuieli de dezvoltare mai mari. Trebuie gasit un
compromis care sa asigure performante maxime cu costuri minime.

- Cum sa se minimizeze consumul de energie – oprirea elementelor care nu sunt necesare,


reducerea accesarii memoriei

Proiectarea sistemelor incorporate

Vom prezenta in continuare cateva principii si cerinte preliminare referitoare la proiectarea


unui sistem incorporat. Mentionam ca aceste principii vor fi dezvoltate ulterior.

In proiectare unui sistem incorporat trebuie luate in considerare diferite cerinte si interactiuni
dintre performantele impuse asupra sistemului. Dintre principalele obiective ale proiectarii amintim:

- performante (viteza, limite de timp in RT)

- functionabilitate si interfata utilizator

- cost de productie

- consum de energie

- dimensiune, forma, protectie, etc.


- cerinte functionale – iesirea ca o functie de intrare

In proiectarea si dezvoltarea sistemelor trebuie parcurse anumite etape, conform figurii 1.8

Exista cateva modalitati de proiectare:

Proiectarea de sus in jos – se porneste de la descrierea cea mai abstracta se lucreaza pentru
detaliere

Proiectarea de jos in sus – se porneste de la mici componente la mari sisteme

In proiectarea reala cele doua modalitati sunt combinate

Concluzii

Sistemele incorporate se regasesc peste tot in jurul nostru – multe dintre aceste includ un
hardware si un software complex

Dezvoltarea unui sistem incorporat presupune rezolvarea unui mare numar de provocari

S-au dezvoltat metodologii de proiectare care sa ajute la gestionarea procesului de dezvoltare

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