Documente Academic
Documente Profesional
Documente Cultură
Conţinutul cursului
Catedra de Electronică Aplicată şi Ingineria Informaţiei z Definirea şi prezentarea principalelor proprietăţi ale semnalelor
Facultatea Electronică, Telecomunicaţii şi Tehnologia Informaţiei sinusoidale modulate
Universitatea POLITEHNICA din Bucureşti
Noţiunea de semnal
z Noţiune foarte generală şi constituie obiect de consideraţii
Semnale electrice multidisciplinare
z Se vorbeşte curent de semnale acustice, semnale optice, tensiuni şi
curenţi electrici, impulsuri, zgomote, unde seismice, neurosemnale, dar şi
despre semnale economice, semnale nonverbale (gestică, mimică etc.).
z Vom discuta în continuare, datorită naturii cursului, practic numai despre
Semnalul – Este acea mărime fizică măsurabilă care este semnale electrice.
capabilă să transmită o anumită informaţie. z În general, un semnal nu este reprezentat doar printr-o valoare
singulară ci printr-o colecţie de valori
Semnalul electric – Este un semnal reprezentat printr-o mărime z Care este caracteristica definitorie a unui semnal?
electrică (tensiune, curent, intensitate câmp | variaţia în timp a tensiunii sau curentului care îl reprezintă, o
electric etc.) variaţie care nu poate fi prevăzută de la început în totalitate
Observaţie:
z Orice semnal poate fi aproximat printr-un număr finit de eşantioane
având valori cuantizate pe un număr finit de niveluri. Discretizarea (trecerea
de la valori continue la valori finite) în timp, adică în mulţimea T de definiţie a
semnalului) se face prin eşantionare, iar în valoare, adică în mulţimea M în
care ia valori semnalul, se face prin cuantizare. Acest operaţii sunt esenţiale
în reprezentarea (codificarea) numerică a semnalelor, care asigură
posibilitatea de stocare, prelucrare şi transmisie de informaţie, prin
mijloacele cele mai perfecţionate actuale (sub formă digitală).
Observaţii:
Observaţii:
z Ambele tipuri de semnale sunt aproape întotdeauna semnale continue
z Semnalele reale sunt întotdeauna aleatoare (au cel puţin o componentă
în timp cu valori continue.
aleatoare, zgomotul).
z În sistemele electronice reale, fie că sunt digitale sau analogice,
z Semnalele deterministe sunt de fapt idealizări matematice absolut
semnalele sunt întotdeauna continue în timp cu valori continue. Dar,
necesare pentru înţelegerea celor aleatoare şi pentru analiza
semnalele pot fi reprezentate pentru simplificare în una din cele 4 tipuri
simplificată a proceselor reale.
prezentate anterior.
z Caracteristicile semnalelor digitale şi analogice vor fi prezentate ulterior
într-un subcapitol separat.
Observaţii:
z Modul de transmisie utilizat depinde de caracteristicile informaţiei, de
mediul prin care se transmite informaţia (cabluri electrice, optice, aer,
apă etc.), de performanţele dorite pentru transmisia informaţiei (distanţă,
zgomote admise, distorsiuni, erori acceptabile etc.)
z Informaţia transmisă poate fi atât sub formă continuă (analogică) cât şi
sub formă discretă (digitală/numerică). Exemplificările următoare vor fi
făcute pentru semnale continue.
z Caracteristicile semnalelor modulate vor fi prezentate ulterior într-un
subcapitol separat.
O mărime (curent, tensiune, intensitate de câmp, flux luminos etc.) cu o Dacă amplitudinea A este variată în ritmul semnalului de modulaţie, se
variaţie sinusoidală în timp se reprezintă matematic prin expresia: obţine o modulaţie de amplitudine – pe scurt, MA.
F ( t ) = A ⋅ cos( ωt + ϕ ) Dacă unghiul de fază φ este variat în ritmul semnalului modulator, se
în care: obţine o modulaţie de fază - MP; o formă a modulaţiei de fază este
A - reprezintă amplitudinea oscilaţiei; modulaţia de frecvenţă - MF.
ω - frecvenţa unghiulară (pulsaţia); Aceste semnale sunt prezentate în diapozitivul următor.
ωt + φ - faza instantanee (unghiul de fază); Expresia unei oscilaţii armonice reprezentând semnalul modulat se
φ - faza iniţială. poate pune în general sub forma:
Cât timp parametrii A, ω şi φ sunt constanţi, oscilaţia F(t) nu conţine F (t ) = A(t ) ⋅ cos[ω (t ) ⋅ t + ϕ (t )] = A(t ) ⋅ cos φ (t )
informaţie. F(t) poate constitui semnalul purtător. Spre deosebire de
semnalul care conţine informaţia, F(t) poate fi transmis în condiţiile dorite. Aceste oscilaţii sunt de fapt cvasiarmonice, totuşi şi în acest caz se
Dacă se face cumva ca amplitudinea A sau unghiul de fază φ să varieze păstrează pentru A(t) şi Φ(t) denumirile de amplitudine şi unghi de fază.
în ritmul semnalului care conţine informaţia de transmis, atunci semnalul F(t)
va conţine informaţia de transmis şi va putea fi si el transmis în condiţiile
dorite.
Se spune în acest caz că semnalul F(t) este modulat, iar semnalul care
conţine informaţia se numeşte semnal modulator.
Modulare / demodulare
Exemplificarea Obţinerea semnalului modulat din semnalul purtătoare si semnalul
semnalelor modulator se numeşte modulare.
modulate
Circuitele care realizează acest lucru sunt circuitele de modulare.
a) Semnal modulator
(de joasă frecvenţă); Procedeul invers, de extragere a informaţiei utile prin eliminarea
semnalului purtător se numeşte demodulare.
b) Semnal MA;
Semnal modulat în amplitudine Cea mai simplă expresie a funcţiei de modulaţie f(t) este funcţia
sinusoidală de timp a cărei expresie este:
La oscilaţiile MA, amplitudinea este o funcţie de timp de forma:
f ( t ) = kS ( t ) = m ⋅ cos( ω0 t + ϕ m )
A( t ) = A0 [1 + f ( t )]
caz în care expresia oscilaţiei armonice devine:
unde A0 este o constantă.
Funcţia f(t), reprezentând variaţia parametrului care se modifică în ritmul F ( t ) = A0 [1 + m cos( ω0 t + ϕ m )]cos( ω0 t + ϕ 0 )
semnalului de modulaţie S(t), se numeşte funcţie de modulaţie. În general
se va considera că funcţia f(t) este proporţională cu S(t), adică f(t)=kS(t). unde m reprezintă gradul de modulaţie şi ω0 frecvenţa (unghiulară) de
Expresia oscilaţiei MA este de forma modulaţie.
Gradul de modulaţie m este proporţional cu intensitatea (mărimea)
F ( t ) = A0 [1 + f ( t )]cos( ω0 t + ϕ0 ) semnalului transmis.
Frecvenţa semnalului de modulaţie este mult mai mică decât frecvenţa
Oscilaţia reprezentată prin
purtătoarei (ωm << ω0) şi, prin urmare, variaţia amplitudinii semnalului de
F ( t ) = A0 cos( ω0 t + ϕ0 ) modulaţie este mult mai lentă decât variaţia oscilaţiei de înaltă frecvenţă,
aşa că, pe un interval de timp egal cu câteva perioade ale purtătoarei,
se numeşte purtătoare, iar ω0 este frecvenţa unghiulară a purtătoarei. amplitudinea se poate considera constantă.
Dacă semnalul de modulaţie are o variaţie sinusoidală în timp, unghiul Semnal modulat în frecvenţă
de fază este de asemenea o funcţie sinusoidală şi poate fi exprimată prin
relaţia: Dacă viteza unghiulară nu este constantă şi are o variaţie în timp de
ϕ ( t ) = ϕ 0 + Δϕ cos( ω m t + ϕ m ) forma:
ω ( t ) = ω0 + f ( t )
Expresia oscilaţiei MP devine în acest caz:
atunci semnalul de modulaţie sinusoidal are forma:
v = V0 cos [ω0 t + Δϕ cos( ω m t + ϕ m ) + ϕ 0 ]
ω ( t ) = ω0 + Δω cos( ω m t + ϕ m )
Mărimea Δϕ este variaţia maximă a fazei în timpul modulaţiei şi se iar expresia oscilaţiei MF devine:
numeşte deviaţia de fază, iar ωm este frecvenţa de modulaţie. ⎡ Δω ⎤
Deviaţia de fază este proporţională cu amplitudinea semnalului de v = V0 cos ⎢ω0 t + sin( ωmt + ϕ m ) + ϕ0 ⎥
modulaţie presupus sinusoidal şi corespunde cu gradul de modulaţie m al ⎣ ωm ⎦
unei oscilaţii MA. Dacă se notează indicele de modulaţie în frecvenţă cu
Δω Δf
= =β
ωm fm
relaţia de mai sus se poate scrie şi sub forma:
v = V0 cos [ω0 t + β sin( ω m t + ϕ m ) + ϕ0 ]
V0 sin[β sin( ω m t + ϕ m )]
Fiecare din aceste funcţii se poate dezvolta în într-o serie Fourier din Menţinerea competitivităţii, eficienţa ridicată, calitatea în permanentă
care rezultă că o oscilaţie MF sau MP modulată cu un semnal sinusoidal de creştere, rapida dezvoltare necesară în toate domeniile din lumea de azi
frecvenţă fm, este formată din purtătoare de frecvenţă f0 şi o infinitate de impun ca producţia, cercetarea, activitatea din laboratoare şi din ce în ce
componente laterale de frecvenţe: mai multe alte activităţi cotidiene (sănătate, spectacole, servicii, media etc.)
să se bazeze pe soluţii de achiziţie şi control a datelor.
f0 ± fm, f0 ± 2fm, f0 ± 3fm, ………………. , f0 ± nfm , ........ Acestea se bazează în prezent exclusiv pe utilizarea calculatoarelor care
prelucrează datele sub formă digitală.
De ce se utilizează decibelii?
z Reprezentarea unei valori în decibeli transformă scara de reprezentare
liniară într-una logaritmică astfel:
1 dB = 10 log10(raport de puteri) = 20 log10(raport de tensiuni/curenţi)
Conţinutul cursului
z Ce este instrumentaţia?
INTRODUCERE ÎN
Ce este instrumentaţia virtuală?
INSTRUMENTAŢIA VIRTUALĂ z
Prof. Dr. Ing. Sever Paşca z Sisteme de instrumentaţie virtuală – schemă bloc şi funcţionare
Istorie
Instrumentaţia a fost făcută întotdeauna cu tehnologia disponibilă pe
scară largă:
Instrumentaţie z Secolul XIX: mişcarea roţilor ceasului a fost folosită pentru realizarea
primului instrument analogic.
z 1930: Condensatorul variabil şi rezistorul variabil împreună cu tubul cu
vid au fost folosite la realizarea primului instrument electronic.
z Anii ’50: tehnologia de afişare în televiziune a fost folosită la
z Facem măsurători cu instrumente. Instrumentaţia ajută progresul ştiinţei
osciloscoapele moderne.
şi tehnologiei.
z Anii ’70: apariţia microprocesoarelor a dus la dezvoltarea instrumentelor
z Inginerii şi oamenii de ştiinţă folosesc instrumente pentru a observa, a inteligente, care permit pe lângă măsurarea, prelucrarea şi afişarea
controla şi a înţelege universul fizic. analogică a datelor, procesarea şi afişarea lor digitală, conlucrarea mai
z Calitatea vieţii depinde de instrumentaţie, de la cercetări fundamentale multor instrumente controlate de calculatoare pentru realizarea de sisteme
în medicină şi ştiinţele vieţii, la testarea şi producţia sistemelor complexe de instrumentaţie.
electronice, până la controlul proceselor şi maşinilor din nenumărate z Anii ’80: PC-urile moderne au deschis posibilitatea manipulării,
domenii industriale. prelucrării şi afişării variate şi performante a datelor, la un raport
performanţă/preţ ridicat.
BUSPC
Conţinutul cursului
Avantajele LabVIEW
z Filozofia LabVIEW: programarea la nivel de diagramă grafică
z Interfeţe prietenoase intuitive uşor de realizat Instrument virtual
z Biblioteci vaste de obiecte pentru interfaţarea cu utilizatorul şi
dispozitivele hard
z Biblioteci cu procesări complexe de semnale
z Biblioteci cu suport pentru toate resursele hardware şi de conectivitate a
PC-ului Program de măsură = instrument de măsură controlat de către un
calculator
z Portabilitatea programelor de pe un SO pe altul
Apare logic noţiunea de Instrument Virtual (instrument real simulat de
z Interfaţarea cu alte limbaje de programare (C++, MatLab) calculator)
z Integrează şi alte metode avansate de proiectare a sistemelor Un modul de program sau o aplicaţie LabVIEW este numit Instrument
electronice dedicate (FPGA, DSP, microcontrolere, microprocesoare) Virtual (VI – Virtual Instrument) datorită asemănării vizuale şi funcţionale cu
z Un mediu în permanentă dezvoltare un instrument real. Dar în spatele acestei asemănări, se găsesc elemente
tipice limbajelor clasice de programare (program principal, subprograme,
Exemplu program monitorizare şi analiză temperatură (apps\tempsys.llb) funcţii, variabile locale şi globale, modulariate, programare structurată etc.)
Caracteristici (cont.)
z LabVIEW foloseşte programarea modulară
| Aplicaţia se împarte în subsarcini şi subsarcini din ce în ce mai
simple (o structură arborescentă pe mai multe nivele)
Mediul de programare LabVIEW
| Se realizează un VI pentru fiecare sarcină elementară, pornind de la
nivelele de jos)
| Se asamblează aceste VI-uri într-un singur VI care rezolvă sarcinile
aplicaţiei
Mediul de programare LabVIEW dă posibilitatea, prin intermediul unor
z Avantajele programării modulare: meniuri, palete şi ferestre, ca utilizatorul/programatorul să creeze, să
| Fiecare VI poate fi rulat editeze şi să execute programe LabVIEW.
şi testat separat APLICAŢIA
Sunt descrise pe scurt în continuare cele mai importante palete şi ferestre
| Unele subVI-uri pot fi
precum şi meniurile LabVIEW.
reutilizate şi în alte aplicaţii Sarcina 1 Sarcina 2 Sarcina n
SubVI-uri
z Un VI apelat într-o diagramă bloc a unui alt VI se numeşte subVI.
z Pentru ca un VI sa poată fi folosit ca un subVI, el trebuie să aibă definite
icoana şi conectorul şi să fie salvat ca fişier.
z Un subVI corespunde unei subrutine din limbajele de programare
bazate pe text.
z Un nod subVI din diagrama bloc a VI-ului apelant corespunde apelării
unei subrutine în limbajele bazate pe text (terminalele conectorului
reprezentând variabilele de apel al subrutinei). Nodul nu este subVI-ul
propriu-zis, exact aşa cum instrucţiunea de apelare a subrutinei nu este
subrutina însăşi.
z Natura ierarhică şi modulară a VI-urilor trebuie înţeleasă şi utilizată
pentru a folosi LabVIEW eficient.
z Abordarea modulară face ca o aplicaţie să fie uşor de programat, de
depanat, de înţeles şi de modificat.
Conţinutul cursului
z Tipuri de date fundamentale
z Crearea de subVI-uri
Rularea unui VI
z Un VI se poate rula atât din modul Run, cât şi din modul Edit apăsând
Rularea, încărcarea şi salvarea VI-urilor butonul Run din bara de meniuri. După execuţie, VI-ul revine în
modul iniţial.
z Trecerea din modul Edit în Run echivalează cu compilarea programului.
z Când un VI este rulat, butonul Run îşi schimbă forma:
| – când VI-ul este rulat ca program principal;
| – când VI-ul este executat ca subVI apelat de alt VI.
z Se pot rula mai multe VI-uri simultan.
z Un VI nu se poate rula în acelaşi moment atât ca program principal, cât
şi ca subprogram. De aceea, toate programele care au ca subVI un
program care este rulat ca program principal, au butonul Run rupt până
când respectivul VI îşi termină execuţia.
z Fiecare obiect are o descriere care poate fi editată (nu şi în modul Run)
şi vizualizată din meniul contextual al obiectului.
Documentarea VI-urilor z Fiecare VI are o documentare accesibilă din meniul File / VI Properties
… selectând categoria Documentation. Aici se pot introduce:
| O descriere a VI-ului
| Numele unui fişier în format html care conţine o documentare
completă a VI-ului
Documentarea unui program ajută la utilizarea şi înţelegerea lui şi la
dezvoltarea sa ulterioară. | Un cuvânt cheie la care se doreşte trimiterea prin funcţia help la un
index al unui fişier Help compilat.
Observaţii:
z Documentarea este foarte importantă pentru eficienţa utilizării şi
dezvoltării ulterioare a unui program.
z Firmele de soft alocă un timp însemnat din timpul de programare
documentării programelor.
z Calitatea unui programator se vede de cele mai multe ori în
documentarea programelor
z Crearea conectorului
| Selectând din meniul contextual al icoanei din FP comanda Show Facilităţi de dezvoltare a VI-urilor
Connector, LabVIEW propune şi creează o structură de conector
corespunzătoare numărului de controale şi indicatoare din FP-ul VI-
ului.
| Structura conectorului poate fi schimbată oricând prin:
z Selecţia altei configuraţii din submeniul grafic Patterns din meniul Sunt trecute în revistă unele facilităţi ale mediului de programare LabVIEW
contextual al conectorului; care e bine să fie utilizate pentru eficientizarea activităţii de programare a
z Rotirea sau oglindirea configuraţiei folosind comenzile VI-urilor.
corespunzătoare din meniul contextual al conectorului.
| Alocarea terminalelor conectorului la controalele (de regulă
terminalele din stânga) şi indicatoarele (de regulă terminalele din
dreapta) din FP se face cu instrumentul de conectare (click pe
conector, click pe control, click pe o zonă liberă a FP).
z Utilizarea comenzilor scurte (shortcut-uri) care apar în meniurile pull- z Comutarea instrumentului prin apăsarea tastei Space între
down în dreapta comenzilor respective. Câteva foarte utile sunt instrumentele de operare şi selecţie în FP şi instrumentele de selecţie şi
următoarele: conectare în fereastra BD.
| Ctrl+R – rularea unui VI z Schimbarea succesivă a instrumentului prin apăsarea tastei Tab între
| Ctrl+M – schimbarea modului VI-ului din Edit în Run şi invers cele patru instrumente cele mai des folosite în fereastra FP/BD:
| Ctrl+E – comutarea între ferestrele FP şi BD instrumentul de operare, de selecţie, de editare text şi de colorare /
conectare.
| Ctrl+H – Afişarea sau ascunderea ferestrei help contextual
z În timpul trasării unei legături, se poate schimba direcţia cu 90 de grade
| Ctrl+B – ştergerea tuturor legăturilor incorecte apăsând tasta Space.
| Ctrl+W – închiderea ferestrei active z Deplasarea fină a unui obiect sau segment sau a unui grup de astfel de
| Ctrl+T – redimensionarea celor două ferestre ale VI-ului ca să elemente selectate folosind tastele săgeţi (pixel cu pixel) sau
acopere tot ecranul Shift+tastele săgeţi (câte 10 pixeli odată).
| Ctrl+/ – maximizarea/redimensionarea ferestrei curente z Adăugarea elementelor noi la un text ring folosind Shift+Enter la
| Ctrl+? sau F1 – afişarea ferestrei help terminarea introducerii unui element din enumerare şi trecerea la
următorul.
Conţinutul cursului
Execuţia repetitivă (buclarea) – bucla FOR şi bucla WHILE
STRUCTURI DE CONTROL AL z
z Temporizări
Bucla FOR
z O buclă FOR execută o subdiagramă de un număr prestabilit de ori.
Execuţia repetitivă (buclarea) z Pseudocod:
for i = 0 to N–1 do subdiagrama;
z Terminalului de numărare (un terminal de intrare) precizează de câte
ori se repetă execuţia subdiagramei.
z Numărul de iteraţii se setează
z Buclele pot fi: cu test iniţial; cu test final respectiv: cu cunoaşterea
iniţială a numărului de iteraţii, fără cunoaşterea iniţială a numărului de | explicit prin legarea unei valori din exteriorul buclei prin laturile din
iteraţii. stânga sau de sus ale terminalului de numărare,
z Nu toate cele patru combinaţii posibile sunt implementate în fiecare | implicit prin indexare.
limbaj de programare. z Terminalul de iteraţie (un terminal de ieşire) indică numărul de iteraţii
z LabVIEW implementează doar două: complete efectuate.
- bucla FOR (cu test iniţial şi cunoaşterea iniţială a numărului de iteraţii), z Terminalul de iteraţie porneşte întotdeauna
de la zero. În timpul primei iteraţii, valoarea
- bucla WHILE (cu test final şi fără cunoaşterea iniţială a numărului de generată de terminalul de iteraţie este zero.
iteraţii).
Transferul datelor înspre şi dinspre structuri Transferul datelor înspre şi dinspre structuri (cont.)
z Structurile de control al execuţiei programelor sunt noduri de execuţie şi z Tunelele unor bucle permit indexarea automată la transferul unui tablou.
utilizează pentru a vehicula date (variabile) cu exteriorul (restul | Cu indexarea validată, un tunel de intrare de tip tablou transferă la
diagramei) terminale speciale numite tunele. fiecare iteraţie a buclei valoarea din tablou cu indexul egal cu
z Tunelele sunt terminale de conectare situate oriunde pe latura structurii, iteraţia. Un astfel de tunel de ieşire memorează într-un tablou
care se creează automat atunci când se traversează cu o conexiune valorile rezultate la fiecare iteraţie, întreaga arie fiind transferată la
latura structurii, în oricare direcţie, sau atunci când o conexiune ieşire după completa execuţie a structurii.
porneşte sau se termină chiar pe latura buclei (cu un dublu-click pe | Cu indexarea invalidată, tunelul transferă întreaga arie la începutul
latură cu instrumentul de conectare). (dacă tunelul este de intrare) sau la sfârşitul (dacă tunelul este de
z Tunelele au posibilitatea să transfere fie valori scalare – valori unice, fie valori ieşire) execuţiei structurii.
vectoriale – structuri de date de acelaşi tip (tablouri/arii uni- sau multi-
z Pentru bucla For, indexarea este implicit validată, iar pentru bucla
dimensionale), fie clustere – structuri de date de tipuri diferite.
While, indexarea este implicit
invalidată. Meniul contextual al
tunelului permite invalidarea
(Disable Indexing) respectiv vali-
darea (Enable Indexing) indexării.
Structura CASE
z O structură CASE are două (case logic) sau mai multe (case numeric)
Teste condiţionale subdiagrame.
z Este vizibilă o singură subdiagramă la un moment dat şi se execută o
singură subdiagramă la fiecare execuţie a structurii CASE.
z O valoare a unui selector, conectată la terminalul de selecţie,
determină care din subdiagramele structurii CASE este executată.
Structura CASE este în LabVIEW metoda de a executa instrucţiuni z Pseudocod:
condiţionale similare cu if ... then ... else ... sau case din limbajele de
if selector then subdiagrama_true else subdiagrama_false;
programare bazate pe text.
case selector
valoare_1: subdiagrama_1;
...
valoare_n: subdiagrama_n;
end case;
Structura SEQUENCE
z O structură SEQUENCE (secvenţă) conţine una sau mai multe
Ordonarea execuţiei nodurilor subdiagrame (numite Frames sau cadre) care sunt executate într-o
anumită ordine secvenţială prestabilită.
z Este vizibilă o singură subdiagramă la un moment dat.
z Eticheta unui Frame este similară cu eticheta unei subdiagrame CASE.
Eticheta conţine în mijloc numărul Frame-ului curent şi, în paranteze
z LabVIEW este un limbaj grafic care programează fluxul de date. drepte, domeniul Frames-urilor create.
Limbajele clasice programează fluxul de instrucţiuni, instrucţiunile z Spre deosebire de eticheta de la un CASE, în eticheta de la un Frame
executându-se în ordinea în care sunt scrise.
nu se poate introduce/edita un număr sau un nume. Când se adaugă, se
z LabVIEW utilizează structura SEQUENCE pentru a programa fluxul de şterg sau se reordonează Frames-urile dintr-o structură SEQUENCE,
instrucţiuni.
LabVIEW schimbă automat numărul din eticheta
z Ea este utilă atunci când regulile utilizate în programarea bazată pe subdiagramei conform ordinii în structură.
fluxul de date lasă ambiguităţi în ceea ce priveşte ordinea de execuţie a
nodurilor (nu există o dependenţă naturală a nodurilor faţă de datele z În interiorul Frame-urilor, fluxul de date determină
vehiculate) şi este necesară stabilirea unei ordini clare de execuţie a ordinea de execuţie a nodurilor.
nodurilor.
Temporizări
z Uneori este nevoie să se controleze şi să se monitorizeze timpul în
decursul execuţiei unui VI. Există câteva funcţii pentru acest scop
localizate în subpaleta meniul Functions: Formule matematice în mod text
| – Waits (ms) determină ca VI să aştepte un număr de milisecunde
înainte de a continua execuţia. Este util pentru execuţia unei iteraţii
la un anumit interval de timp.
| – Tick Count (ms) întoarce valoarea în milisecunde a ceasului
intern al sistemului. Este util pentru a calcula durata scursă între LabVIEW dispune de structura FORMULA NODE utilă pentru:
evenimente. z Implementarea de calcule complexe sau cu multe variabile;
| – Wait Until Next ms Multiple determină ca VI să aştepte până z Reutilizarea unui cod bazat pe text deja existent. Codul text poate fi
când contorul de milisecunde este un multiplu întreg al unei valori copiat în nodul formulă fără să trebuiască recreată versiunea grafică a
precizate. Este util pentru sincronizarea activităţilor. sa.
Observaţii:
z Ceasul sistemului nu are o rezoluţie foarte bună (55 ms pentru PC-urile
rulând Windows).
z În aceeaşi subpaletă Time & Dialog se găsesc şi alte funcţii pentru
manipularea datei, timpului, erorilor şi activităţilor din FP.
z Suprapunerea tunelelor
| LabVIEW creează automat tunele la trasarea legăturilor şi pot apare
tunele suprapuse:
z Rularea nu este afectată
z Editarea este îngreunată deoarece e greu să se ştie care este în
faţă şi se poate greşi la conectare
z Este bine să se evite prin mutarea unui tunel într-o zonă liberă
| Dacă se leagă un obiect din interiorul unei structuri la un obiect din
exteriorul ei şi există deja un segment legat la marginea structurii,
este indicat să se lege obiectul la tunelul deja existent şi nu între
obiecte prin marginea structurii
z Legătură sub structură şi nu în structură
| Pentru a se realiza o legătură în structură, este necesar cel puţin un
click în interiorul structurii sau pe chenarul ei
| Dacă se trage un traseu peste o structură, apar tunele la intrare şi la
ieşire, dar dacă nu se face un click în interior sau pe margine, ele
dispar la primul click în exterior (şi traseul trece pe sub structură)
Structuri de date 2
Conţinutul cursului
z Tablouri (arrays)
STRUCTURI DE DATE z Funcţii pentru prelucrarea tablourilor
Structuri de date 3 4
Introducere
z Pentru o mai mare flexibilitate şi uşurinţă în stocarea, manipularea şi
afişarea datelor, LabVIEW permite:
| gruparea datelor în structuri de date Tablouri (arrays)
z tablouri (Arrays)
z înregistrări (Clusters)
| afişarea unui set sau a mai multor seturi de date în aceeaşi fereastră
grafică
Un tablou, matrice sau o arie (Array) este o colecţie de elemente de
z grafice (Graphs) acelaşi tip.
z diagrame (Charts)
Indexul
z Un tablou este caracterizat de elementele şi dimensiunile sale: z Elementele unui tablou sunt ordonate şi indexate.
| Elementele sunt datele care alcătuiesc tabloul. z Accesul explicit la un element particular al tabloului impune folosirea a
| O dimensiune reprezintă lungimea, înălţimea sau adâncimea câte unui index pentru fiecare dimensiune a tabloului:
tabloului. | în panoul frontal, indexurile permit navigarea prin tablou,
z Un tablou poate avea una sau mai multe dimensiuni | în diagrama bloc, ele permit selectarea unui anumit element, rând,
z Fiecare dimensiune poate avea până la 231 – 1 elemente. Numărul total coloană sau pagină dintr-un tablou.
de elemente poate fi limitat la o valoare mai mică de capacitatea z Ca şi în alte limbaje de programare, regula implicită de variaţie automată
memoriei de lucru a calculatorului. a indexurilor este următoarea:
z Se pot crea tablouri de elemente de tip numeric, boolean, cale (path), şir | indexul pentru ultima dimensiune variază cel mai repede,
de caractere (string) şi înregistrare (cluster). | Indexul pentru prima dimensiune variază cel mai încet.
z Nu se pot construi tablouri de tablouri. z În LabVIEW, indexarea elementelor se face întotdeauna începând cu
z În schimb, se pot construi tablouri multidimensionale sau tablouri de zero. Indexul unei dimensiuni variază între 0 şi n – 1, unde n reprezintă
înregistrări, în care fiecare înregistrare conţine unul sau mai multe numărul de elemente pe dimensiunea respectivă.
tablouri.
Crearea de controale şi constante tablou (cont.) Crearea de controale şi constante tablou (cont.)
z În diagramă apare mai întâi un terminal tablou generic negru care apoi z Crearea unei constante tablou în diagrama bloc:
preia culoarea şi simbolul tipului de date asociat tabloului. | Se selectează funcţia Functions » Array » Array Constant pentru a
z Pentru a afişa un element particular al tabloului, se tastează valoarea pune un cadru tablou în diagramă.
indexului în afişajul indexului sau se folosesc săgeţile de navigare ale | Se plasează în acest cadru o constantă numerică, booleană, şir de
afişajului indexului. caractere sau o înregistrare constantă. Cadrul se redimensionează
z Folosind instrumentul de poziţionare, cu un click & drag în colţul din automat la elementul constant introdus.
dreapta-jos al cadrului tabloului, acesta se poate redimensiona astfel | Cu instrumentul de poziţionare, cadrul poate fi redimensionat
încât să fie vizualizate simultan mai multe elemente ale tabloului. oricând la dimensiunile dorite.
z Un tablou 1D poate fi afişat ca un tablou rând (cu elementele pe | Cu comanda Add Dimension se pot crea constante tablou
orizontală) sau ca un tablou coloană (cu elementele pe verticală). multidimensionale.
z O constantă tablou poate fi utilizată ca:
| bază de comparare cu un alt tablou,
| pentru crearea sau iniţializarea unui tablou.
15 Structuri de date 16
Funcţii pentru prelucrarea tablourilor
National Instruments LabVIEW 6.1.lnk
Sarcini realizate
z Pentru crearea şi manipularea tablourilor se utilizează funcţiile din
Funcţii pentru prelucrarea tablourilor subpaleta Functions » Array.
z Se pot realiza sarcini cum ar fi:
| crearea şi iniţializarea tablourilor;
| extragerea unor elemente individuale din tablou;
| inserarea, ştergerea sau înlocuirea unor elemente într-un tablou;
| divizarea tablourilor;
| operaţii asupra elementelor tabloului (ordonare,
căutare, rotire, transpunere, aflarea maximului
şi minimului.
Structuri de date 19 20
Funcţii pentru prelucrarea tablourilor
National Instruments LabVIEW 6.1.lnk
Exemple
z Initialize Array
z Array Size Polimorfism
z Build Array
z Array Subset
z Index Array
Funcţiile aritmetice Add, Multiply, Divide din LabVIEW sunt polimorfice.
Structuri de date 21 22
Polimorfism
Crearea de controale şi constante de tip înregistrare Crearea de controale şi constante de tip înregistrare (cont.)
z Crearea în FP a unui control sau indicator de tip înregistrare: z Majoritatea terminalelor cluster şi conexiunile din diagramă care
| Se plasează un cadru înregistrare (Cluster Shell), selectând obiectul vehiculează aceste date sunt roz aprins.
Cluster din subpaleta Controls » Array & Cluster, z Înregistrările numerice (la care toate elementele componente sunt
| Se plasează în interiorul acestui cadru elementele dorite prin numerice) au terminale şi legături de culoarea maro.
adăugarea sau tragerea lor. Cadrul se poate redimensiona manual.
z Legăturile maro se pot conecta la funcţiile matematice (ca de exemplu
z Crearea în BD a unei constante cluster: Add, Multiply, Square Root etc.) pentru a realiza aceleaşi operaţii
| Se selectează funcţia Functions » Cluster » Cluster Constant pentru simultan asupra tuturor elementelor înregistrării.
a pune un cadru înregistrare în diagramă,
z Pentru a interconecta înregistrări, ambele trebuie să aibă acelaşi număr
| Se plasează în acest cadru constantele dorite.
de elemente. Elementele corespunzătoare, determinate de ordinea
z O constantă înregistrare poate fi utilizată ca şi bază de comparare cu o logică din cluster, trebuie să aibă tipuri de date compatibile. În caz
altă înregistrare sau pentru crearea sau iniţializarea unei înregistrări.
contrar, legătura este întreruptă şi VI-ul nu poate fi rulat.
z Dacă reprezentarea elementelor numerice
corespondente este diferită, LabVIEW le
constrânge la aceeaşi reprezentare.
Structuri de date 27 28
Înregistrări (clusters)
31 Structuri de date 32
Grafice (graphs) şi diagrame (charts)
39 Structuri de date 40
Acţiunea mecanică a comutatoarelor booleene
Din meniul contextual al unui control boolean se poate selecta una din
Acţiunea mecanică a z
cele şase acţiuni mecanice (Mechanical Action) prezentate mai jos.
comutatoarelor booleene z În icoanele din meniu, M reprezintă mişcarea butonului mouse-ului când
se operează controlul, V reprezintă valoarea de ieşire a controlului, iar
RD reprezintă momentele de timp când VI-ul citeşte controlul.
z Starea iniţială a controlului poate fi setată folosind comanda Data
Controalele booleene au şase tipuri de acţiuni mecanice care permit Operatoion » Make Curent Value Default după ce controlul a fost
crearea de FP care să se asemene cât mai mult cu comportarea acţionat în starea dorită.
instrumentelor reale. | Switch When Pressed – fiecare apăsare cu instrumentul de
operare schimbă imediat starea logică a controlului, indiferent de
Prin setarea acţiunii mecanice se permite sincronizarea într-un anumit mod
citirea lui de către VI
a unei operări asincrone a butoanelor realizate de utilizator cu prelucrarea
datelor şi a informaţiei realizate de program. | Switch When Released – idem dar starea se schimbă când butonul
este eliberat
| Switch Until Released – starea logică se
schimbă la apăsare şi revine în starea iniţială
la eliberarea butonului
Structuri de date 41
Acţiunea mecanică a comutatoarelor booleene
1
Apr 202:26 PM
2
Apr 202:34 PM
3
Apr 203:18 PM
4
Apr 203:26 PM
5
Apr 203:31 PM
6
Apr 203:34 PM
7
Apr 203:42 PM
8
Apr 203:45 PM
9
Apr 203:49 PM
10
Apr 203:54 PM
11
Apr 204:14 PM
12
Apr 204:26 PM
13
Apr 204:40 PM
14
Apr 204:45 PM
15
Apr 204:50 PM
16
Apr 205:00 PM
17
Apr 205:03 PM
18
Inteligenţă Ambientală
TECHNISCHE
UNIVERSITÄT
DARMSTADT
Outline
Ambient Intelligence - Ubiquitous Computing: Ambient Intelligence & Ubiquitous Computing Environments
Zukünftige Treiber der Microelectronics – Technology Driver in the Internet Age
Mikro- und Nanoelektronik Technologies for SoC Design
EDA Support: Silicon Design Chain
Prof. Dr. Dr. h.c. mult. Manfred Glesner Emerging Technologies - Electronics in 30 Years
Outlook
Institute of
Microelectronic
Systems
1 2
wearable computing
The World is not a Desktop
smart dust A good tool is an invisible tool. By invisible, I mean that the tool does
embodied virtuality mobile computing not intrude on your consciousness; you focus on the task, not the tool.”
1994
disappearance
“Whenever people learn something sufficiently well, they cease to
be aware of it becoming more focused on new goals.”
writing one of the first information technologies -> ubiquitous today
street signs, embedded motors and processors in an automobile,
eyeglasses
Source: M. Satyanarayanan
IEEE Personal Communication
August 2001
5 6
Cap. 1. Introducere 1
Inteligenţă Ambientală
7 8
9 10
Source: ICE
11 12
Cap. 1. Introducere 2
Inteligenţă Ambientală
13 14
15 16
1960 200X
17 18
Cap. 1. Introducere 3
Inteligenţă Ambientală
19 20
21 22
Source: ICE
3.0 1.0 0.5 0.2
23 24
Cap. 1. Introducere 4
Inteligenţă Ambientală
25 26
27 28
Digital Software
LNA Baseband Logic
RX User Audio
Radio
Synth
Inter-
CODEC
PA TX
Face Display
Memory Keyboard Reconfigurable
MEMS DRAM
Logic
29 30
Cap. 1. Introducere 5
Inteligenţă Ambientală
31 32
Based on: Bob Brodersen: SoC Design – Specification, Architecture and Prototyping, ISSCC Short Course, 2003
Source: Berkeley Wireless Research Center
33 34
Benefits of Application:
Software flexibility, adaptability changing standards, high demands
multiple products from a single SoC device
power consumption: direct gate structure mapping efficient Implementation
short time-to-market: no ASIC design cycle
35 36
Cap. 1. Introducere 6
Inteligenţă Ambientală
On Chip
Fastest DSP Virtex-II Memory
8x8 MAC 4.8 Billion MAC/s 0.5 Tera MAC/s Controller
256-FIR 9.3 MSPS 180 MSPS
1024-FFT 10 µs 1 µs
Embeded
RAM
Source: Xilinx Virtex-II documentation
Source: Ivo Bolsens, Xilinx
37 38
Virtex-II Pro Architecture „FPGAs ... not even the sky is the limit“
39 40
41 42
Cap. 1. Introducere 7
Inteligenţă Ambientală
43 44
45 46
Status
Feature Size Design Issues
The role of EDA becomes more and more important because of the
processing of complex and a great deal of data is requested, and still 1.0 um Area, Speed
more accurate, reliable and rapid processing capability is required .5 um Speed, Power, Area
Difficulties .25 um Speed, Power, Area
dealing with new hardware technologies
.18 um Speed, Power, Area, Signal-Integrity
Complexity of DA system
.13 um Speed, Power, Signal-Integrity, Metal Migration, Area
Aims
Design quality improvement 90 nm Power, Signal-Integrity, Yield, Metal Migration, Speed, Area
Reduction of the design period and design cost
Increasing of automation and reduction of interaction
Nowadays
Almost the same problems, nevertheless…
47 48
Cap. 1. Introducere 8
Inteligenţă Ambientală
Heat Dissipation
Design Issues in the Nanometer Era
Many argue that power may become the main show-stopper of Moore’s Law
With increasing integration levels heat dissipation is one of the main
Especially leakage
issue and a possible show-stopper. Insufficiently increasing battery
lives pose additional pressure.
Low-Power Gap
In a processes smaller than 90nm, many hundreds, even thousands of
transistors could fit in into a red blood cell and the transistors are only a
few atoms thick -> Leakage
Interconnect Timing Delay: the signal delay associated with the wires
connecting the transistors outweighs the delay in the transistors
themselves -> increasing design iterations
Interconnects & Timing Closure
Inter-Die & Intra-Die Variations / On-Chip Variations (OCV)
Process Variations
Source: Intel
49 50
High Supply
Low Supply
Voltage
Voltage
Multiple Vdd
severely affected Vdd scaling will slow down
Slow Fast Slow
too
leaky
too ABB
0.9 slow
1 2 3 4 5 FBB RBB
Normalized Leakage (Isb
(Isb)) f target f target
Frequency
51 52
53 54
Cap. 1. Introducere 9
Inteligenţă Ambientală
Easy Implementation:
DSP
core API
bus Generic
OS
Memory Platform
CPU
core Platform
+ Intel Xscale
TI OMAP (PDA)
Application-
(Wireless, PDA)
Lifecycle Specific
Additions ARM PrimeXSys
55 56
Source: SIA
57 58
2003 ITRS - No viable emerging logic technologies identified for Information Processing beyond CMOS
59 60
Cap. 1. Introducere 10
Inteligenţă Ambientală
61 62
Decrease the barrier height: Decrease the number of electron per switching event:
2018 FET Fundamental limits 0.7 eV 0.02 eV 32 1
xmin a 1.5nm(300 K ) E
amin: Channel length 7 nm 2mkT ln 2 err exp( b )
Eb kT
Esw: Switching energy 3 x 10-18 J Esw > kTln2 = 3 x 10-21 J 22kT 0.0000003%
kT ln2 50%
Each device must communicate with several other devices (Fan-out requirement)
63 64
65 66
Cap. 1. Introducere 11
Inteligenţă Ambientală
Heat removal
Several hundred W/cm2 is close to known limits of heat removal
from a 2-dimensional solid material structure with Tmax =125°C
Cavin and Zhirnov @ MSE’2005
Inflexion of the ITRS vectors
300 K
Heisenberg barrier
1. 00E- 0 8
1.00E- 11
Logic
P=100 W/cm2
1.00E- 12
3
2 Molecular biology meets microelectronics – Erwin Neher, Nature Biotecnology, 2001
1.00E- 13 Heisenberg barrier
Source: 1 10 100 10 00
Cavin and Zhirnov,
Semiconductor Research Corporation
l, nm
67 68
POLYGONE SCIENTIFIQUE
• 45 000 m2
de bâtiments
Pôle supplémentaires
MINATEC
• 170 M€
CEA-LETI
69 70
INPG
„Projet Minatec vue de la Bastille“
Ambient Intelligence & Ubiquitous Computing Environments
Microelectronics – Technology Driver in the Internet Age
Technologies for SoC Design
EDA Support: Silicon Design Chain
Emerging Technologies - Electronics in 30 Years
Outlook
71 72
Cap. 1. Introducere 12
Sisteme Ambientale Inteligente
Obiective
Obiectivul urmărit este acela de a prezenta şi înţelege
conceptele teoretice care stau la baza realizării
sistemelor ambientale inteligente, posibilităţile de
realizare, precum şi tendinţele de dezvoltare ale
Cap.2. Noţiuni fundamentale acestora
Bibliografie:
E. Aarts, R. Rovers “Embedded System Design Issues in
Ambient Inteligence” din cartea:
Curs Sisteme Ambientale Inteligente
Twan Basten, Marc Geilen, Harmke de Groot, “Ambient
Intelligence: Impact on Embedded Ssystem Design”,
Kluwer Academic Publishers, Boston, 2003
Sisteme Ambientale
Sisteme Ambientale Inteligente 1 Inteligente Cap. 2. Noţiuni fundamentale 2
Inteligenţa ambientală (ambient intelligence – AmI) este Inteligenţa ambientală (IA) se referă la un mediu
o viziune pentru viitorul sisteme electronice de consum electronic capabil de a interacţiona cu fiinţa umană
care este susţinută de interfeţe inteligente şi intuitive
incorporate în obiectele uzuale de zi cu zi şi de un mediu Mediul electronic construit este sensibil la prezenţa
care răspunde prezenţei indivizilor într-un mod invizibil fiinţelor umane şi interacţionează cu acestea intr-un mod
Sistemul ambiental inteligent este sistemul care este natural
implementat conform viziunii inteligenţei ambientale.
Se creează o arhitectură de informare, comunicare,
servicii şi de petrecere a timpului liber centrate pe
utilizatorul uman
2.2. Funcţii de bază ale unui mediu ambiental 2.2. Funcţii de bază ale unui mediu ambiental
inteligent inteligent
În cel de-al doilea rând informaţiile audio, video şi de Funcţiile enumerate mai sus nu se referă numai la
date sunt transmise wireless către toate dispozitivele domiciliu, ci se vor regăsi şi în autoturisme, la locul de
prezente în acel mediu permiţând un acces de muncă, magazine, spitale etc.
pretutindeni (ubiquitous) la informaţii, comunicaţii şi
entertainment Aceste funcţii vor asigura suportul necesar pentru o
gamă variată de activităţi umane cum ar fi:
În cel de-al treilea rând utilizatorul aflat intr-un mediu Muncă
ambiental inteligent va putea exercita o interacţiune cu Securitatea individului
mediul său intr-un mod natural prin voce, gesturi şi Asistenţă medicală
hands-free Comunicaţii personale
Petrecerea timpului liber
2.3. Componentele de bază ale unui mediu 2.3. Componentele de bază ale unui mediu
ambiental inteligent ambiental inteligent
2.3. Componentele de bază ale unui mediu 2.3. Componentele de bază ale unui mediu
ambiental inteligent ambiental inteligent
Din punct de vedere al consumului de energie necesar, 2. Dispozitive portabile - Se caracterizează prin faptul că
vom putea defini trei clase de dispozitive generice: îţi asigură necesarul de energie de la baterii sau
acumulatoare şi au o funcţionare autonomă de ordinul
1. Dispozitive autonome - Acestea se vor caracteriza orelor sau al zilelor.
prin faptul că îşi asigură necesarul de energie singure Le vom numi dispozitive de tip miliwatt (miliWatt node)
pe toată durata de viaţă a dispozitivului prin extragerea şi vor putea fi exemplificate prin
acesteia din mediul înconjurător (din lumină, din vibraţii telefon mobil
mecanice sau din diferenţe de temperatură) monitoare portabile
sisteme de supraveghere şi de comandă de la distanţă
Aceste dispozitive autonome le vom numi de tip
“microWatt” (microwatt node), iar ca exemplu tipic ar fi
un senzor inteligent
Sisteme Ambientale Sisteme Ambientale
Inteligente Cap. 2. Noţiuni fundamentale 13 Inteligente Cap. 2. Noţiuni fundamentale 14
2.3. Componentele de bază ale unui mediu 2.4. Arhitecturi pentru sisteme ambientale
ambiental inteligent inteligente
Mediul ambiental inteligent este creat prin interacţiunea unui număr
mare de dispozitive de tipuri diferite legate în reţea
2.4. Arhitecturi pentru sisteme ambientale 2.4. Arhitecturi pentru sisteme ambientale
inteligente inteligente
2.4. Arhitecturi pentru sisteme ambientale 2.4. Arhitecturi pentru sisteme ambientale
inteligente inteligente
Proiectarea unui asemenea nod presupune următoarele
activităţi:
Modelarea adecvată
Optimizarea consumului de energie
Simularea reţelei caracterizată printr-un număr foarte
mare de asemenea noduri şi la care trebuie sa ţinem
seama de
Defectări
Redundanţă
Protocoale specifice
2.4. Arhitecturi pentru sisteme ambientale 2.4. Arhitecturi pentru sisteme ambientale
inteligente inteligente
Noduri de tip miliwatt
Multitudinea de legături wireless garantează accesul la
cele mai diverse tipuri de informaţii având rate de
transmisii şi calitate diferite
Circuitele de interfaţare procesează semnalele audio şi
video, iar prezenţa unor sisteme locale de stocare a
informaţiei adaugă o funcţionalitate sporită
Managementul consumului de energie este esenţial
2.4. Arhitecturi pentru sisteme ambientale 2.4. Arhitecturi pentru sisteme ambientale
inteligente inteligente
Aspecte de proiectare a nodurilor de tip miliWatt Noduri de tip watt
Optimizarea arhitecturii din punct de vedere al Caracteristica principală constă în asigurarea unei
consumului de energie interfeţe naturale în sensul de a extrage informaţie utilă
Integrarea diverselor standarde de comunicaţie provenită de la diverse surse şi de a asigura un dialog
O proiectare de tip low-power şi pentru partea de RF
inteligent cu utilizatorul
Folosirea şi optimizarea tehnicilor de compresie pentru
semnalele audio, video şi de date
2.4. Arhitecturi pentru sisteme ambientale 2.4. Arhitecturi pentru sisteme ambientale
inteligente inteligente
Aspecte de proiectare
Nevoia de circuite integrate de foarte mare complexitate
Decizii privind soluţii microprogramate, configurabile sau
mixte
Proiectare modulară, ca să permită extinderi ulterioare
Asigurarea unui software adecvat pentru asemenea
sisteme distribuite
Posibilităţi de testare şi autoevaluare a componentelor şi
subsistemelor
2.5. Aspecte generale ale proiectării unor sisteme 2.5. Aspecte generale ale proiectării unor sisteme
ambientale inteligente ambientale inteligente
Împărţirea componentelor care compun un sistem Putem formula următoarele tipuri de probleme în
ambiental inteligent în cele 3 tipuri: microWatt, miliWatt proiectare:
şi Watt creează premizele unor abordări interesante ale
proiectării sistemelor dedicate (embedded) pentru medii Proiectare pentru variaţie
ambientale inteligente
2.5. Aspecte generale ale proiectării unor sisteme 2.5. Aspecte generale ale proiectării unor sisteme
ambientale inteligente ambientale inteligente
2.5. Aspecte generale ale proiectării unor sisteme 2.5. Aspecte generale ale proiectării unor sisteme
ambientale inteligente ambientale inteligente
Proiectare pentru distribuire
Proiectare pentru distribuire Nodurile de tip microwatt vor fi esenţialmente intrări
Sistemele ambientale inteligente construite cu cele 3 destinate culegerii de informaţii
tipuri de componente vor trebui sa fie adecvate pentru a Nodurile de tip miliWatt şi Watt vor fi la rândul lor
executa aplicaţii distribuite, cu alte cuvinte sarcini sisteme cu mare putere de comunicare şi procesare cu
modulare executate de noduri diferite arhitecturi standardizate interoperabile şi
O modalitate de a asigura execuţia aplicaţiilor distribuite interschimbabile
este aceea de a construi sistemele modulare:
Unităţi de intrare-ieşire
Unităţi de stocare
Unităţi de routare
Unităţi de prelucrare
2.5. Aspecte generale ale proiectării unor sisteme 2.5. Aspecte generale ale proiectării unor sisteme
ambientale inteligente ambientale inteligente
Proiectare pentru inteligenţă Proiectare pentru experienţă
Un mediu ambiental inteligent este o reţea de sisteme Sistemele ambientale inteligente sunt reţele de sisteme
dedicate conectat la rândul său cu alte reţele (de dedicate care sunt sensibile la prezenta fiinţelor umane
exemplu internetul) şi interacţionează cu acestea
Software-ul care asigură inteligenţa sistemului uneori Electronica dispare în fundal (mediu) apărând în prim-
este dificil de localizat plan interacţionalitatea socială şi funcţionalitatea cu
Vor exista: scopul de a îmbunătăţi condiţiile de viaţă ale omului
Sisteme ambientale cu inteligenţă internă
Sisteme ambientale cu inteligenţă externă
Sisteme hibride
Se impune un inside-outside-codesign
2.6. Concluzii
Funcţionalitatea inteligenţei ambientale este distribuită
(mapată) într-o reţea de dispozitive de trei tipuri
Acest lucru este aplicat în conştientizarea contextului, în
prezenţa informaţiei pretutindeni şi în interfeţe naturale
rezultând trei studii de caz care să indice diversele
provocări pentru proiectarea CI
Partiţionarea pe trei nivele a sistemelor inteligente
ambientale în noduri microWatt, miliWatt şi Watt
introduce patru provocări majore pentru proiectarea
sistemelor integrate (dedicate): proiectare pentru
variaţie, pentru distribuire, pentru inteligenţă şi pentru
experienţă
Sisteme Ambientale
Inteligente Cap. 2. Noţiuni fundamentale 37
Purpose:
• This module provides an introduction to the ZigBee™ Alliance
networking standard, its underlying technology, and its target markets.
Objective:
• Understand the goals of the ZigBee Alliance.
• Identify ZigBee target markets and applications.
• Discover how ZigBee compares with other wireless standards.
• Examine the basics of the IEEE 802.15.4 standard.
• Examine the basics of the ZigBee software stack.
Content
• 34 pages
• 5 questions
Learning Time:
• 50 minutes
In this module, we will discuss the ZigBee Alliance and its goals, target markets and
applications. We will see how ZigBee compares to other wireless standards and
explore the technology which underlies the standard. In particular, we will examine
the IEEE 802.15.4 Wireless Personal Area Network (WPAN) standard and the
ZigBee Network standard.
1
The Buzz of ZigBee
The term ZigBee is used to describe a standardized wireless protocol for personal
area networking, or “WPAN.” The protocol is the work of and property of the ZigBee
Alliance, a consortium of more than 70 companies who have joined together to
create and promote the new standard.
ZigBee is different from other wireless standards in that it has been designed to
serve a diverse market of applications that require low cost, low power wireless
connectivity with more sophistication than previously available at the target price.
The standard focuses on low data rate, low duty cycle connectivity, a market
segment not serviced well by existing standards. The reason for promoting a new
protocol as a standard is to afford interoperability between devices manufactured by
different companies.
ZigBee is a hardware and software standard built on the recently ratified IEEE
802.15.4 standard. This important standard defines the hardware and software,
which is described in networking terms as the physical (PHY), and Medium Access
Control (MAC) layers. The ZigBee Alliance has added Network (NWK) and
application (APL) layer specifications to complete what is called the ZigBee stack.
2
ZigBee Alliance Promoters
The ZigBee Alliance has two classes of membership. The promoters are the leaders
of the alliance. As you can see, the promoters represent a cross section of the
wireless industry with semiconductor, software, and system providers.
3
ZigBee Alliance Participants
Participants have a less committed stake in ZigBee. Participants can attend the
alliance meetings and have access to all preliminary specifications. As with
promoters, ZigBee Alliance participants represent a cross section of the wireless
industry.
4
ZigBee Markets and Applications
Mouse over the circles to learn more about ZigBee applications.
Security TV
HVAC VCR
Metering Reading DVD/CD
Lighting Control Remote Control
Access Control BUILDING CONSUMER Interactive Toys
AUTOMATION ELECTRONICS
Patient
Monitoring ZigBee Mouse
Fitness Wireless Control that Keyboard
Monitoring PERSONAL Simply Works PC & Joystick
HEALTH CARE PERIPHERALS
Solutions based on the ZigBee networking standard target specific markets and
applications. The ZigBee standard is tailor-made for monitoring and control
applications.
Additionally, because of their low data rates and demand driven nature, high-end
remote controls for consumer electronics and human interface devices such as
keyboards, mice and joysticks are also good fits. In all cases, the target markets
require only low data rates but demand long battery life, sophisticated networking or
both.
Move your mouse pointer over the circles to learn more about ZigBee applications.
5
Question
Is the following statement true or false? Click Done when you are
finished.
True
False
Done
Correct.
The ZigBee networking standard is tailor-made for monitoring and control
applications. Therefore, markets such as building automation, personal
health care, and industrial control are perfect fits.
6
ZigBee Market Goals
ZigBee is implemented in either the globally assigned 2.4 GHz unlicensed band or one of the 900
MHz regional bands. Unlicensed radio spectrum is designated by international agreement and
puts the burden of specification adherence on the equipment manufacturer. Users are not
required to have a license demonstrating their technical competence, hence the term unlicensed.
Since unrestricted geographic use is a goal, the 2.4 GHz band is the preferred band due to its
international allocation. There are many unlicensed bands at higher and lower frequencies. The
2. 4 GHz and 900 MHz bands were chosen by the IEEE 802.15.4 standard because of their
propagation characteristics. Propagation refers to the way radio waves behave in the
environment.
900 MHz and 2.4 GHz both have good penetration through walls and ceilings but have a limited
range. Range limitation is desirable to reduce interference. After all, ZigBee is based on
802.15.4, which is a PAN standard.
7
ZigBee Technical Market Goals
Continuing with some technical market goals, ZigBee hardware and networks must
be able to accomplish 10 to 115 kbps data throughput. This represents the actual
amount of data that can be transferred once the protocol overhead is removed.
Network end points as they are called should give up to 2 years of battery life from
standard AA and AAA batteries. End points are typified by such devices as wireless
sensors, monitors or controllers.
8
ZigBee Network Model
One ZigBee Coordinator per Network
Star Link
We mentioned the end point or end device in discussing ZigBee technical market goals. End
devices can be full function devices, meaning that they have the capability to perform all of the
tasks required in a network or can be reduced function devices.
An end device gets its instructions from a ZigBee Coordinator. All ZigBee networks must
include a coordinator, which is a full function device that manages the network.
If the end device is out of range of its coordinator, it can communicate through a router.
The diagram shows what is called a mesh network. The term mesh is used because of the
routers and coordinator have multiple communication path options.
End devices are arranged in what is called a star network around a router or coordinator. This
star arrangement is the typical way that low-cost wireless networks operate. ZigBee maintains
the low cost while adding the power of mesh networking, a feature not found in most wireless
networking standards.
9
How Does ZigBee Compare?
There are many wireless options available to designers. Let’s compare ZigBee with some of the more popular
standards which share the unlicensed 2.4 GHz band. The parameters listed in the chart include the governing MAC
standard, maximum over the air data rate, typical transmit and standby currents, memory requirements for a typical
device, target applications and networking options.
Bluetooth is a popular standard applied to wire replacement applications. It too is based on an IEEE PAN standard,
802.15.1. Bluetooth operates with a 1 Mbps data rate. Note that Bluetooth and ZigBee have similar transmit
currents, but ZigBee has a significantly lower standby current. This is because devices in Bluetooth networks must
frequently report into the network to maintain synchronization, so they cannot easily drop into a “sleep” mode.
Wi-Fi is a wireless LAN standard, so it requires almost continuous activity by devices in the network. The advantage
of this standard is the tremendous amount of data that can be moved from point to multi-point. Note the transmit and
standby currents. Wi-Fi hardware is designed to operate off a significant power source.
Note that, of the three wireless standards, only ZigBee offers the flexibility of mesh networking.
Also note the reduced memory requirements of ZigBee. ZigBee applications are typically simple. The power is in the
networking and the fact that ZigBee end devices can “sleep” while still maintaining network association.
One of the key points of this chart is to show that wireless standards are built around what are called “use models”
or “applications.” No one standard meets the requirement of all use models. Designers should choose the standard
that most closely meets their application requirements.
10
ZigBee versus Bluetooth
Let’s examine the comparison of Bluetooth and ZigBee more closely. Both
standards are in the personal area networking category. As you learned previously,
both have similar radios, as evidenced by their transmit currents. The difference
between the two standards is in their target applications.
Bluetooth targets medium data rate, continuous duty applications like file transfer
and streaming telecom audio.
ZigBee on the other hand, targets low data rate, low duty cycle applications. End
point devices do not transmit or receive as frequently in these applications, resulting
in exceptional battery life.
Based on battery life calculations, the crossover point for Bluetooth and ZigBee
applications is at around a 1 second data rep rate. Put another way, if ZigBee and a
Bluetooth device were to transmit the same data once every second, the battery life
would be about the same for both.
11
Question
Match the wireless standards with their features by dragging the letters
on the left to their appropriate locations on the right. Each letter may be
used more than once. Click Done when you are finished.
Show
Done Reset Solution
Correct.
Bluetooth (WLAN/WPAN) operates with a 1 Mbps data rate and targets
medium data rate and continuous duty applications. ZigBee (WPAN) targets
low data rate, low duty cycle applications, offers the flexibility of mesh
networking, and devices can sleep and still maintain network association.
Wi-Fi (WLAN) supports high data rates but has a standby current of 20 mA,
requiring a significant power source.
12
Battery Life Examples
Let’s look at two battery life examples, one high-duty cycle and one low, to
understand where ZigBee demonstrates extended battery life. This scenario
analysis is based on published data for a typical Bluetooth Radio and Freescale’s
ZigBee solution RFIC and GB60 MCU.
In the first example, we will transfer 5 bytes of data once every 1.28 seconds. In this
scenario, assuming a 200 milliAmp-hour (mAh) battery, a Bluetooth device will last
15 days. An equivalent ZigBee device will last about 33 days.
In the second example, we have the event driven scenario of a security system
sensor. The sensor transmits once a minute to report its status and another 10
times a day when there is some sort of event such a door opening. In this case, the
Bluetooth device will last 100 days. The ZigBee device will last 9.8 years, exceeding
the shelf life of the battery! Clearly, ZigBee is a better choice for such an event
driven application.
13
2.4 GHz PHY Performance
Bluetooth
ZigBee
As a final point of comparison, let’s look at 2.4 GHz radio performance. ZigBee, as
defined by the underlying 802.15.4 specification, uses Direct Sequence Spread
Spectrum (DSSS), coding, and half-sine filtered Offset Quadrature Phase Shift
Keying (QPSK) modulation.
This chart shows the Bit Error Rate (BER) performance of various radio
technologies versus Signal to Noise Ratio (SNR).
The BER performance of Bluetooth, with its Frequency shift keying, is shown by the
blue line.
ZigBee, with its DSSS and Offset QPSK modulation is shown by the green line.
Note that ZigBee BER is 12 dB better than the Bluetooth BER that can be obtained
at a given signal-to-noise ratio. This translates directly to range, with ZigBee giving
3 to 5 times the range for the same output power. This is yet another way the
ZigBee conserves battery life.
14
The Challenge of Coexistence
Both the 802.11 and 802.15.2 committees are reviewing the situation.
ZigBee and 802.15.4 networks are in better shape than most due to their low data
rate and low duty cycle. ZigBee devices will typically operate at 0.1 to 1% duty
cycles. This allows the Carrier Sense Multiple Access (CSMA) scheme to produce
robust results. ZigBee or 802.15.4 devices listen for a clear channel before they
transmit. The CSMA algorithm is part of the 802.15.4 software so the user is
relieved of the burden of creating a collision avoidance scheme.
Move your mouse pointer over the third bulleted point for more information.
15
ZigBee Stack Block Diagram
Application Layer (APL)
If you are familiar with other communications protocol software stacks you will note
some familiar terms: PHY for the physical, or hardware, layer, MAC for the medium
access control layer and NWK for the network layer.
ZigBee is simpler than many protocol stacks, so it requires less software code. The
MAC and PHY are defined by the IEEE 802.15.4 standard, as mentioned before.
The NWK and application layers are defined by the ZigBee Alliance with the actual
application code being supplied by the equipment designer. Let’s look in more detail
at the MAC and PHY as defined by the IEEE standard.
16
IEEE 802.15.4 Standard Basics
• Multi-level security
802.15.4 is a simple packet data protocol for lightweight wireless networks. Many of the
aspects of the design have been used for years in packet radio networks.
Since ZigBee focuses on low data rate and low data rep rate applications, as mentioned
earlier, CSMA is employed to avoid interferers. Simply put, 802.15.4 devices listen before
they transmit. If there is interference, the device either waits for a period of time and tries
again or moves to another channel.
There are 16 channels defined for the 2.4 GHz band. Note that this band can support
significantly higher data rate than the two lower bands.
Message acknowledgment is also available for improved data delivery reliability, and
beacon structures are available to improve latency.
The 802.15.4 protocol is designed for monitoring and control applications where battery
life is important. 802.15.4 is the source of ZigBee’s excellent battery life.
17
IEEE 802.15.4 MAC Features
• Employs 64-bit IEEE & 16-bit short addresses
– Ultimate network size can be 264 nodes (more than probably needed)
– Using local addressing, simple networks of more than 65,000 (216) nodes can be
configured, with reduced address overhead
• Three devices specified
– Reduced Function Device (RFD)
– Full Function Device (FFD)
– Network coordinator (FFDC)
• Simple frame structure
• Reliable delivery of data
• Supports association/disassociation
• Supports AES-128 security
• Employs CSMA-CA channel access for better coexistence
• Offers Optional superframe structure with beacons, GTS mechanism
802.15.4 employs both IEEE long and short addressing. Short addressing is used in network
management where network IDs are assigned ad hoc. This results in reduced memory
requirements but still allows more than 65,000 network nodes.
As mentioned earlier, three device types are specified: the Reduced Function Device (RFD),
the Full Function Device (FFD), and the network coordinator. These map to the ZigBee
device definitions where an end device is either an RFD or FFD, a router is an FFD, and a
ZigBee coordinator is a network coordinator.
802.15.4 employs a simple frame structure which we will discuss in more detail later. This
structure combined with acknowledgment results in reliable data delivery.
As mentioned, the CSMA scheme allows for good coexistence with other equipment. An
optional superframe structure is available for improved latency.
18
Question
Done
Correct.
16 channels are defined for the 2.4 GHz band and CSMA is employed to
avoid interferers. Message acknowledgment is available to improve data
delivery reliability, and beacon structures are also available to improve
latency. Multiple levels of security are defined. 802.15.4 is configured for
maximum battery life, which makes it an excellent protocol for monitoring
and control applications where battery life is important.
19
MAC Options
• Non-beacon network
- Standard ALOHA CSMA-CA communications
- Positive acknowledgment for successfully received packets
Let’s examine the MAC optional features. There are two channel access
mechanisms. Non-beacon operation implies reliance on the CSMA and
acknowledgment features for successful communications.
Three security levels are specified. Security options include none, the
network access control list, and AES-128. The later option involves extra
software, which will add to the code size.
Move your mouse pointer over “Optional beacon-enabled network” for more
information.
20
IEEE 802.15.4 Device Types
• Network Coordinator
- Maintains overall network knowledge; most sophisticated of the
three types; most memory and computing power
The network coordinator is the most sophisticated device. It must manage the
network and, therefore, generally requires the most memory.
The FFD has full 802.15.4 functionality. While an FFD can be an end device, more
often it will be a router. FFD can also be employed as a bridge to other networks. In
this case, it may require more memory and computing power than the network
coordinator. Such a device will generally not be powered by a small battery.
Finally, the RFD carries, as its name implies, a reduced feature set. It only needs to
know of its network coordinator and its closest router. This class of device targets
battery operated end device applications.
21
Data Frame Format
Mouse over the diagram for more information.
Let’s examine the 802.15.4 packet structures. The most basic structure is the Data Frame
packet. This structure is used for sending and receiving data.
Note the nesting of the MAC Packet Data Unit, or MPDU, within the PHY Packet Data Unit,
PPDU. The MPDU is also called the PHY Service Data Unit (PSDU).
The PSDU is a maximum of 127 bytes in length. 2 bytes are for the Frame Check Sequence,
FCS.
In addition to the PSDU, the PPDU includes a 4-byte preamble, a 1-byte start of frame
delimiter and a 1-byte frame length.
The MPDU includes 2 bytes of frame control, a 1 byte data sequence number used for
acknowledgment.
4 to 20 bytes are used for address information, which can include both source and
destination information. This leaves a maximum of 104 bytes of actual data.
While the MAC software does the parsing of the data and managing of the address info and
data sequence numbers, it is useful to understand this structure.
Move your mouse pointer over the diagram for more information.
22
Acknowledgment Frame Format
Mouse over the diagram for more information.
Move your mouse pointer over the diagram for more information.
23
MAC Command Frame Format
Mouse over the diagram for more information.
The command frame is used for remote control. Instead of data as the
payload, this frame contains command information. A command type byte is
added as well. The MPDU must still be 127 bytes or less as with the Data
frame.
Move your mouse pointer over the diagram for more information.
24
Beacon Frame Format
Mouse over the diagram for more information.
Move your mouse pointer over the diagram for more information.
25
Question
Match the frame formats to their functions by dragging the letters on the
left to their appropriate locations on the right. Click Done when you are
finished.
Show
Done Reset Solution
Correct.
The Data Frame Format is used for sending data. The ACK Frame Format
confirms that data is received successfully. The MAC Command Frame
Format contains command information that is used for remote control. The
Beacon Frame Format conveys synchronization and GTS information to all
the devices in the network.
26
ZigBee NWK Layer
You may recall from the ZigBee Stack block diagram that the NWK layer resides
above the MAC and PHY.
Since the ZigBee protocol stack is relatively simple compared with other
communications protocol stacks, what is called the ZigBee Network layer often
refers to the application layer (APL) as well. This architecture is the starting point for
discussion of the network layer.
27
ZigBee Architecture Objectives
Mouse over the bulleted text for more information.
The ZigBee architecture has other objectives beyond simply enabling low cost, low
power, reliable devices for monitoring and control.
The architecture must support all the target applications and environments within
the scope of the marketing requirements.
The architecture must allow for the easy design and development of the low cost
and low power devices promised.
The architecture should define the stack in such a way that terminology is
standardized.
The architecture must also allow for upgrades and extensions in the future.
Move your mouse pointer over the bulleted points for more information.
28
Wireless Networking Basics
Let’s examine some commonly used terms in wireless networking. These terms
relate directly to network layer features.
Network scan is the ability of a device to detect active channels within its
communications range. This range is often called, in personal area networking, the
Personal Operating Space (POS).
Creating is the ability to form a network on unused channels within the POS. In the
case of ZigBee, the network is a PAN. Joining is the ability to join a network within
the POS.
Device discovery is the ability to identify the devices on active channels in the PAN.
Service discovery is the ability to determine what features or services are supported
on devices within a network.
Binding is the ability to communicate at the application level with other devices in
the network.
29
Wireless Networking Assumptions
First, devices are pre-programmed for their network function. End devices will
always try to join an exiting network. Coordinators will always try to find an unused
channel and form a network.
Devices discover other devices and join in the network to provide complementary
services. For example, a ZigBee light control device will discover only a ZigBee
lighting network because that is all that it understands. Devices can; however, be
programmed to function in multiple network types.
The same holds for binding. Devices can only talk to devices in a complementary
network.
Move your mouse pointer over the bulleted points for more information.
30
ZigBee Network Routing Features
We have mentioned that mesh networking is one of ZigBee’s strong points. Let’s
look at the full list of ZigBee network possibilities.
The star network is the most simple network topology. This topology has one
coordinator networked with one or more end devices. Remember that an end device
communicates only with a router or coordinator, not directly to another end device.
A TV remote control is a simple example of a star network.
A more complex network topology is called a cluster tree. This is similar to computer
networking where devices branch off of a tree, the network backbone. Star networks
can be branches in a cluster tree network.
In mesh networking, routing paths are not as constrained as in the cluster tree
topology. Mesh networking permits path formation from any source to any
destination device. There can be multiple paths for device communications and the
viable paths are maintained in the network routing table.
31
Application Support Features
Mouse over the bulleted text for more information.
• Profile: an agreement on a series of messages defining an application
space (for example, “Home Controls – Lighting”)
• Key Relationships:
– Maximum of 30 Endpoints per ZigBee device (0 is reserved to
describe the device itself and 31 is reserved for broadcast
messaging to all endpoints)
– Maximum of 8 Interfaces per Endpoint
– One Profile described per Interface
Profiles are used to define a device’s application capability and drive the application
details. An example of a profile would be Home Control—Lighting.
Endpoints are the physical dimensions added to a ZigBee device which permit
multiple application support.
Interfaces are defined per endpoint and allow such things as extra proprietary
capability extensions and backwards compatibility.
Move your mouse pointer over the bulleted points for more information.
32
Question
Match the wireless networking terms to their definitions by dragging the
letters on the left to their appropriate locations on the right. Click Done
when you are finished.
Show
Done Reset Solution
Let’s review some terms that are commonly used in wireless networking.
Correct.
Network scan is the ability for a device to detect active channels within its
communications range (local POS). Creating a PAN is the ability to form a
network on unused channels within the POS. Device discovery is the ability
to identify the devices on active channels in the POS. Service discovery is
the ability to determine what features or services are supported on devices
within a network. Binding is the ability to communicate at the application
level with other devices in the network.
33
Module Summary
In this module, we discussed the ZigBee Alliance and examined its goals,
target markets, and applications. A major goal of the ZigBee Alliance is to
promote the ZigBee standard as a protocol for allowing interoperability
between devices manufactured by different companies. The ZigBee
standard is tailor-made for monitoring and control applications markets such
as building automation, personal health care, industrial control and lighting,
and commercial control. Because of their low data rates and demand driven
nature, high-end remote controls for consumer electronics and human
interface devices such as keyboards, mice and joysticks are also good fits.
34
1
Conţinutul cursului
Enunţul problemei
Concluzii
Dezvoltarea software a SAI 3
Problema
Tradiţional, majoritatea produselor software înglobate /
dedicate / încapsulate (embeded) au fost produse fără
suportul software-ului de sistem.
Când s-a folosit software de sistem, a fost constituit cel mult
din drivere de dispozitiv sau sisteme de operare.
O dată cu extinderea necesităţii de comunicare cu fir sau
fără fir, software-ul înglobat a început să utilizeze software
de nivel mediu (middleware) pentru a ascunde detaliile
implementării comunicaţiilor de nivel coborât.
Inteligenţa ambientală este o tendinţă nouă de dezvoltare a
sistemelor înglobate tradiţionale cu o viziune proprie şi
cerinţe specifice suplimentare faţă de sistemele tradiţionale.
Dezvoltarea software a SAI 4
Problema (cont.)
Viziunea inteligenţei ambientale:
Aplicaţiile vor fi din ce în ce mai distribuite;
Terminologie
Următorii termeni sunt deseori interschimbaţi deoarece sunt
foarte apropiaţi şi partajează aceeaşi viziune a unui mediu
cu spaţii inteligente şi obiecte inteligente:
Ambient Intelligence – Inteligenţă ambientală
Sistemul de operare
stacks)
Dezvoltarea software a SAI 14
Software-ul de sistem tradiţional
Sistemul de operare
Scopul sistemului de operare este de a uşura şi de a eficientiza
utilizarea substratului hardware prin asigurarea unui set de servicii care
sunt necesare în general tuturor sau majorităţii dezvoltatorilor de
aplicaţii.
Tipuri de servicii care pot fi incluse în sistemul de operare: execuţia
programelor, operaţii de intrare/ieşire, manipularea fişierelor de sistem,
comunicaţii, detecţia erorilor, alocarea resurselor, gestiune şi protecţie.
Sunt numeroase tipuri de sisteme de operare, de la mininuclee de timp
real până la sisteme de operare complete de uz general, depinzând de
necesităţile dezvoltatorilor şi capacităţile platformelor.
Uneori sistemele de operare sunt combinate, de exemplu un kernel
(nucleu) de timp real care se ocupă de funcţionalităţile care necesită un
răspuns în timp real şi un sistem de operare general care se ocupă de
interfaţa utilizator.
Dezvoltarea software a SAI 16
Software-ul de sistem tradiţional
Nivelul resurselor
Nivelul abstract
Dezvoltarea software a SAI 19
Cerinţe noi pentru software-ul de sistem
Interacţiunea cu aplicaţia
Cerinţele speciale ale SAI legate de conexiunea cu aplicaţia
vin din modificările din ce în ce mai accentuate ale tipurilor
de cerinţe pe care le au aplicaţiile. De asemenea, aceste
cerinţe se pot schimba pe parcursul execuţiei aplicaţiei.
Una din deciziile majore în proiectare este delimitarea
responsabilităţilor între aplicaţie şi sistemul de operare.
Deoarece, de obicei, aplicaţia hotărăşte această graniţă,
sistemul de operare trebuie să se poată adapta la orice
doreşte aplicaţia.
Varianta tradiţională în care scopul urmărit de middleware
este ca, pentru aplicaţie, tehnologia de bază să fie total
transparentă, nu este adecvată pentru SAI deoarece
aplicaţia trebuie să aibă grijă de mediul înconjurător.
Dezvoltarea software a SAI 24
Cerinţe noi pentru software-ul de sistem
Interacţiunea cu utilizatorul
Implementarea fizică a unui dispozitiv determină ce modalităţi de
interfaţare cu utilizatorul vor fi disponibile.
În viziunea inteligenţei ambientale, elemente de calculator (procesor,
memorie etc.) vor fi integrate în toate tipurile de obiecte (scaun, masă,
uşă etc.). Interfaţa cu utilizatorul nu este vizibilă dar utilizarea
computerului/software-ului înglobat este implicită atunci când obiectul
este utilizat ca parte a activităţii normale.
Pe nivelul mai ridicat, nivelul abstract, recunoaşterea utilizatorului
devine importantă deoarece:
Drepturile de acces se bazează pe identitatea utilizatorului;
Interfaţa utilizator trebuie să se adapteze preferinţelor personale ale
fiecărui utilizator.
Recunoaşterea utilizatorului este indicat să se facă folosind metode
biometrice pentru a evita necesitatea memorării de către utilizator a
parolelor, codurilor pini etc.
Dezvoltarea software a SAI 32
Cerinţe noi pentru software-ul de sistem
Divizarea responsabilităţilor
Principala grijă în toate cele patru interfeţe ale software-ului
de sistem este divizarea responsabilităţilor:
Pe de o parte, software-ul de sistem trebuie să asigure
unele servicii aplicaţiei în mod automat, dar pe de altă
parte, uneori aplicaţia trebuie să ajusteze platforma
conform cerinţelor sale;
Uneori utilizatorul doreşte să controleze dispozitivul şi să
poată alege modul de comunicare cu dispozitivul. Alteori,
utilizatorul se aşteaptă ca unele adaptări ale
dispozitivului să aibă loc în mod automat.
Similar, în comunicarea cu alte dispozitive şi cu
hardware-ul, sunt importante răspunsurile la întrebări de
genul “ce se presupune” sau “cine controlează”
interacţiunea.
35
Adaptabilitatea SAI
Adaptabilitatea SAI
Un lucru care diferenţiază SAI în mod special de restul
sistemelor este necesitatea diferitelor forme de
adaptabilitate.
Adaptarea este parte din funcţionarea normală a SAI.
Arhitectura trebuie să se schimbe şi chiar să se
autoconfigureze pe baza acţiunilor utilizatorului.
SAI au o funcţionalitate latentă, însemnând că utilizatorul
poate activa anumite funcţionalităţi/caracteristici care erau
inactive la livrarea software-ului.
Uneori este necesară chiar o libertate mai mare, utilizatorul
având nevoie să programeze o funcţionalitate nouă în
sistem sau aplicaţie.
Dezvoltarea software a SAI 39
Dezvoltarea software-ului de sistem
Controlul centralizat;
Concluzii
Dezvoltarea software a SAI 48
Concluzii