Sunteți pe pagina 1din 34

ARHITECTURA ŞI CONFIGURAREA

SISTEMELOR INTEGRATE

Aurelian Sarca
Arhitectura şi configurarea sistemelor integrate

Sistem integrat (Embedded system) =

• Un ansablu hardware şi software (plus alte părţi,


mecanice, etc.), proiectat pentru a implementa o
funcţionalitate specifică, bine definită.

• Diferenţa faţa de un PC (calculator de uz general):


Într-un sistem integrat, utilizatorul poate avea
opţiuni de funcţionare, dar nu poate schimba
functionarea modificând software-ul aplicaţiei

• Elementul central: unul sau mai multe


microprocesore / microcontrolere

©A.Sarca ACSI 1 - 2
Arhitectura şi configurarea sistemelor integrate

Microprocessor - Microcontroler

©A.Sarca ACSI 1 - 3
Arhitectura şi configurarea sistemelor integrate

Arhitectura unui sistem integrat =

• Informaţii despre elementele din sistemul integrat


şi a celor care interacţionează cu sistemul
integrat cu evidenţierea proprietăţilor fiecărui
element şi a relaţiilor dintre elemente

• La nivel arhitectural nu apar detalii de


implementare: cod sursă, scheme electrice, etc.

• Informaţia de arhitectură poate fi structurată în


mai multe moduri, fiecare mod reprezentând o
“captură” a sistemului hardware şi software fie în
faza de proiectare fie în cea de execuţie

©A.Sarca ACSI 1 - 4
Arhitectura şi configurarea sistemelor integrate

Arhitectura unui sistem integrat =


• Suma tuturor variantelor de reprezentare
Exemple de reprezentări:
• Module (h/w şi s/w) şi legăturile dintre ele
• Organizarea ierarhică pe straturi (layers)
• Prezentarea serviciilor asociate unui canal de
comunicaţie, unui sistem de operare sau unei
maşini virtuale
• Evidenţierea elementelor comune mai multor
module pentru determinarea modului de alocare a
resurselor şi încapsulare în clase

©A.Sarca ACSI 1 - 5
Arhitectura şi configurarea sistemelor integrate

Exemple de reprezentări (continuare):


• Legături de tip client/server + modurile de
intercomunicaţie (pachete de mesaje, protocoale)
• Procesele sau firele de execuţie (thread) ale
aplicaţiei (în cazul existenţei unui sistem de
operare) cu mecanismele de comunicare (schimb
de date) dintre ele
• Managementul resurselor partajate în aplicaţiile
multi-thread pentru a determina ce se poate
executa în paralel
• Modul de tratare al întreruperilor şi stabilirea
prioritatilor task-urilor

©A.Sarca ACSI 1 - 6
Arhitectura şi configurarea sistemelor integrate

Exemple de reprezentări (continuare):


• Managementul memoriei: scheme de alocare şi
dezalocare a memoriei
• Prezentarea componentelor redundante (h/w şi
s/w) şi a modului de soluţionare/revenire dintr-o
problemă / eroare în cazul sistemelor de
siguranţă critice:
• Managemenul proiectului
– Alocarea resurselor: împartirea modulelor h/w şi s/w de
realizat pe echipe de dezvoltare
– Sistemul de control al versiunilor s/w

©A.Sarca ACSI 1 - 7
Arhitectura şi configurarea sistemelor integrate

Configurarea unui sistem integrat =


• Stabilirea variantelor de utilizare ale unui sistem
integrat
• Are un rol cheie în stabilirea succesului unui
produs: echilibru între opţiunile de folosire şi
simplitatea de selectare a lor
• Exemplu: configurarea unui aparat foto digital =
totalitatea opţiunilor din meniu
• Arhitectura = vedere de ansamblu.
• Configurarea = tratează detaliile în cadrul unei
arhitecturi date

©A.Sarca ACSI 1 - 8
Arhitectura şi configurarea sistemelor integrate

Scopul cursului =
• Prezentarea unor noţiuni de bază despre
arhitectura şi configurarea sistemelor integrate
• Înţelegerea documentaţiei tehnice a unui
microcontroller şi utilizarea ei eficientă pentru
dezvoltarea de aplicaţii software asociate
• Descrierea unor concepte de proiectare şi
implementare software
• Însuşirea metodologiei de dezvoltare a unui
proiect software
• Exemplificare pe un caz concret: un manipulator
de eprubete

©A.Sarca ACSI 1 - 9
Arhitectura şi configurarea sistemelor integrate

Laborator – sala EA010, 2 ore din 2 în 2 săptămâni:


• 10 posturi de lucru, fiecare dotat cu PC + placă de dezvoltare
MSP430
• 10 subgrupe: ~3 studenti / subgrupă
• Fiecare laborator = 1 temă, cu excepţia primului. Fiecare temă are
un set de cerinţe care se verifică dacă au fost realizate
• Nu există exemple gata făcute doar de executat
• Notare: din 2 în 2 laboratoare, cumulat câte 2 teme:
– Nota 1: pentru Temele 1 şi 2 – 20%
– Nota 2: pentru Temele 3 şi 4 – 30%
– Nota 3: pentru Temele 5 şi 6 - 30%
• Timp prezentare rezultate: 3 min / subgrupă. Se notează doar ceea
ce s-a prezentat în cele 3 minute
• Colocviu: - 20% prezenţa obligatorie. Urmăreste departajarea celor
din aceeaşi subgrupă. Poate reduce considerabil valoarea celor 3
note dacă persoana examinată a făcut figuraţie la laborator

©A.Sarca ACSI 1 - 10
Arhitectura şi configurarea sistemelor integrate

Conţine microcontrolerele:

- MSP430FG4618

- MSP430F2013

©A.Sarca ACSI 1 - 11
Arhitectura şi configurarea sistemelor integrate

Curs – 2 ore pe săptămână


• Cursul include prezentarea temelor de laborator şi a
noţiunilor necesare realizării lor
• Prezenţa la curs: Este absolut necesară pentru a putea face
tema de laborator în 2 ore.

• IMPORTANT! Lucrările de laborator se pot pregăti și în


avans, acasă, iar la laborator să se înceapă direct cu
testarea codului creat

©A.Sarca ACSI 1 - 12
Arhitectura şi configurarea sistemelor integrate

Întreaga documentație se poate descărca de pe web. Include:


– Foi de prezentare curs
– Cerinţe lucrări laborator
– Documentaţie laborator: Manuale de utilizate, datasheet-uri,
etc.
– Programul Code Composer v4.2.4
– Cărţi recomandate (format electronic):
• Embedded Systems Architecture - Tammy Noergaard, Elsevier
2005, ISBN: 0-7506-7792-9
• Embedded Systems Building Blocks – Jean Labrosse, Miller
Freeman 2000, ISBN:0-87930-604-1
• Link-ul se va trimite șefilor de grupă, la adresele email
indicate.
• Email Aurelian Sarca: aurelian_sarca@yahoo.com
• Important: Nu se va folosi Code Composer v.5, v.6. Doar v.4.

©A.Sarca ACSI 1 - 13
Arhitectura şi configurarea sistemelor integrate

Manipulator eprubete Z

Y
X

10 linii

10 coloane

Punct de lucru

Originea axelor. Coordonatele (0,0,0)

©A.Sarca ACSI 1 - 14
Arhitectura şi configurarea sistemelor integrate

User Requirements
Specification
Acceptance Tests
Specifications
Software Requirements
Specification

Software Architectural Module Tests


Design Specifications

Software Detailed Unit Tests


Design Specifications

Implementation

©A.Sarca ACSI 1 - 15
Arhitectura şi configurarea sistemelor integrate

Cerinţe utilizator (user requirements)


• URS1. Să aducă la punctul de lucru o eprubetă din
stativ de la pozitia (X,Y) adică coloana X şi linia Y
• URS2. Să pună în stativ la pozitia (X,Y) eprubeta de
la punctul de lucru
• URS3. Să mute o eprubetă din stativ la pozitia (X,Y)
• URS4. Să permită selectia comenzilor, cu uşurintă de
către orice operator de laborator

©A.Sarca ACSI 1 - 16
Arhitectura şi configurarea sistemelor integrate

User Requirements
Specification
Acceptance Tests
Specifications
Software Requirements
Specification

Software Architectural Module Tests


Design Specifications

Software Detailed Unit Tests


Design Specifications

Implementation

©A.Sarca ACSI 1 - 17
Arhitectura şi configurarea sistemelor integrate

Cerinţe software (software requirements) =


1) Analiza cerinţelor utilizator pentru identificarea altor
cerinţe neformulate dar subînţelese:
• URS5. Să informeze utilizatorul când o comadă s-a
terminat de executat
• URS6. Să permită anularea unei comenzi greşite şi
repornirea cu altă comandă
• URS7. Să mişte lin eprubeta fără a varsa conţinutul ei
• URS8. Să asigure repornirea corectă dacă apar căderi
de tensiune în timpul funcţionării

©A.Sarca ACSI 1 - 18
Arhitectura şi configurarea sistemelor integrate

Cerinţe software (software requirements)


2) Transpunerea cerintelor utilizator formulate sau subînţelese în
cerinţe funcţionale, implementabile şi testabile practic:
• URS1. Să aducă la punctul de lucru o eprubetă din stativ de la
poziţia (X,Y)
-> SRS1. Operatorul va putea alege o comandă de tipul: “Pick
CxLy”, unde x şi y sunt selectabile între 0 şi 9. Comanda va
aduce eprubeta din stativ de pe coloana x şi linia y în origine
• URS2. Să pună în stativ la pozitia (X,Y) eprubeta de la punctul
de lucru
-> SRS2. Operatorul va putea alege o comandă de tipul: “Place
CxLy”, unde x şi y sunt selectabile între 0 şi 9. Comanda va
duce eprubeta de la punctul de lucru în stativ pe coloana x şi
linia y, după care capul de prindere eprubete va revenii la
punctul de lucru

©A.Sarca ACSI 1 - 19
Arhitectura şi configurarea sistemelor integrate

Cerinţe software (software requirements) continuare:


• URS3. Să mute o eprubetă din stativ la pozitia (X,Y)
-> SRS3. Operatorul va putea alege o comandă de tipul: “Go Cx0Ly0”,
unde x0 şi y0 sunt selectabile între 0 şi 9. Comanda va duce capul de
prindere eprubete pe coloana x0 şi linia y0. Urmată de comanda
“Place CxLy”, va permite mutarea unei eprubete în stativ de la poziţia
(x0,y0) la poziţia (x,y)
• URS4. Să permită selecţia comenzilor, cu uşurinţă de către orice
operator de laborator
-> SRS41. Comenzile “Pick CxLy”, “Place CxLy” şi “Go CxLy” vor
putea fi derulate cu tastele “↑ “şi “ ↓ “ ale unui touchpad.
-> SRS42. Cu tasta “OK” se alege o comandă pentru execuţie.
-> SRS43. Cu tasta “→“ se alege o comandă pentru editare.
-> SRS44. La intrarea în modul de editare, linia y este prima editabila şi
valoarea ei se poate modifica cu tastele “↑ “şi “ ↓ “ în plaja 0 – 9. Cu
tasta “→“ se poate comuta între editarea coloanei x şi a liniei y
-> SRS45. Linia sau coloana editabilă se va afişa intermitent pentru a
putea fi uşor identificată
-> SRS46. Cu tasta “←“ se iese din modul editare revenind la modul
derulare comenzi
©A.Sarca ACSI 1 - 20
Arhitectura şi configurarea sistemelor integrate

Cerinţe software (software requirements) continuare:


• URS5. Să informeze utilizatorul când o comadă s-a terminat de
executat -> SRS5. Pe durata execuţiei comenzii, se va aprinde un LED
• URS6. Să permită anularea unei comenzi greşite şi repornirea cu o altă
comandă:
-> SRS61. Utilizatorul poate opri executarea unei comenzi apăsând un
buton.
-> SRS62. Dacă întreruperea comenzii s-a făcut înainte de-a avea o
eprubetă în capul de prindere, la urmatoarea comandă se corectează
din mers destinatia, dacă este cazul
-> SRS63. Dacă întreruperea comenzii s-a făcut cu o eprubeta în capul
de prindere, şi noua comandă se referă la o altă eprubetă, întii se va
lasa eprubeta din capul de prindere pe pozitia de unde a fost luată şi
apoi se va executa noua comandă
-> SRS64. Comanda de prindere a unei eprubete se face printr-o ieşire
digitală. Starea ei trebuie cunoscută printr-o variabilă sau bit de stare

©A.Sarca ACSI 1 - 21
Arhitectura şi configurarea sistemelor integrate

Cerinţe software (software requirements) continuare:


• URS7. Se mişte lin eprubeta fără a varsa conţinutul ei
-> SRS71. Deplasarea între 2 puncte pe orice direcţie X, Y sau Z
se va face urmând ciclul: accelerare, mers la viteză constantă,
frânare, urmând un profil trapezoidal al vitezei
-> SRS72. Pentru a nu evita vărsarea conţinutului eprubetelor,
deplasarea între 2 puncte se va face cu limitarea vitezei şi
acceleraţiei maxime
-> SRS73. Calculul traiectoriei fiecărei comenzi se va face în
timp real (întrerupere de ceas) şi trebuie să conducă la
atingerea noii poziţii fără nici o eroare, compensând erorile de
trunchiere / rotunjire
-> SRS74. Poziţia curentă a fiecărei axe, trebuie să poata fi
transmisă modulului decizional şi afisată la cerere (debug)
©A.Sarca ACSI 1 - 22
Arhitectura şi configurarea sistemelor integrate

Cerinţe software (software requirements) continuare:


• URS8. Să asigure repornirea corectă dacă apar căderi de
tensiune în timpul funcţionării
-> SRS81. Pentru a evita lovirea altor eprubete, orice comandă,
se va termina cu capul de prindere pe axa Z ridicat. Acest lucru
se va face după lăsarea eprubetei
->SRS82. La punerea sub tensiune, se va executa o procedură
de homing (deplasare în origine = punctul de lucru). Procedura
începe prin ridicarea capului de prindere pe axa Z, urmată de o
deplasare pe axa X şi Y în direcţia originii. Pe toate axele
mişcarea se face până la blocarea ei ca urmare a atingerii
limitei cursei = obstocol mecanic (hard stop). După oprirea
mişcării, poziţia pe fiecare axă se iniţializează cu 0.

©A.Sarca ACSI 1 - 23
Arhitectura şi configurarea sistemelor integrate

User Requirements
Specification
Acceptance Tests
Specifications
Software Requirements
Specification

Software Architectural Module Tests


Design Specifications

Software Detailed Unit Tests


Design Specifications

Implementation

©A.Sarca ACSI 1 - 24
Arhitectura şi configurarea sistemelor integrate

©A.Sarca ACSI 1 - 25
Arhitectura şi configurarea sistemelor integrate

©A.Sarca ACSI 1 - 26
Arhitectura şi configurarea sistemelor integrate

Arhitectura hardware
Sistemul 1 (MASTER) Interfată utilizator: display şi tastatură

Placă experimentală Comenzi de mişcare şi cereri date către sclav


MSP430
Afişare date primite de la sclav

Comunicaţie serială

Sistemul 2 (SCLAV)
Generarea traiectoriei pentru fiecare din axe
Placă experimentală
MSP430 Generarea de comenzi către motoare

Semnale de tip Puls şi Directie (2 ieşiri / axă)

Drive Drive Drive

M M M

©A.Sarca ACSI 1 - 27
Arhitectura şi configurarea sistemelor integrate

Interpretor comenzi utilizator:


citire tastatură, butoane
Arhitectura software
Nivel aplicatie
(Application Layer)
Afişare pe display Afişare pe display date de la
meniu comenzi sclav, semnalizări LED-uri

Generator comenzi Interpretor mesaje de Nivel intermediar


către sclav răspuns de la sclav (Middleware Layer)

Transmisie / recepţie mesaje


Nivel driver dispozitiv
(Device Driver Layer)
Transmisie / recepţie mesaje
Nivel sistem
(System Layer)
Interpretor comenzi master
Nivel intermediar
(Middleware Layer)
Generator traiectorie axe X,Y,Z

Generator semnale comandă Nivel driver dispozitiv


motoare de tip puls şi direcţie (Device Driver Layer)

©A.Sarca ACSI 1 - 28
Arhitectura şi configurarea sistemelor integrate

Interpretor comenzi utilizator:


citire tastatură, butoane
Arhitectura software
Tema 1 Nivel aplicatie
(Application Layer)
Afişare pe display Afişare pe display date de la
meniu comenzi sclav, semnalizări LED-uri

Generator comenzi Interpretor mesaje de Nivel intermediar


către sclav răspuns de la sclav (Middleware Layer)

Transmisie / recepţie mesaje


Nivel driver dispozitiv
(Device Driver Layer)
Transmisie / recepţie mesaje
Nivel sistem
(System Layer)
Interpretor comenzi master
Nivel intermediar
(Middleware Layer)
Generator traiectorie axe X,Y,Z

Generator semnale comandă Nivel driver dispozitiv


motoare de tip puls şi direcţie (Device Driver Layer)

©A.Sarca ACSI 1 - 29
Arhitectura şi configurarea sistemelor integrate

Interpretor comenzi utilizator:


citire tastatură, butoane Tema 2 Arhitectura software
Nivel aplicatie
(Application Layer)
Afişare pe display Afişare pe display date de la
meniu comenzi sclav, semnalizări LED-uri

Generator comenzi Interpretor mesaje de Nivel intermediar


către sclav răspuns de la sclav (Middleware Layer)

Transmisie / recepţie mesaje


Nivel driver dispozitiv
(Device Driver Layer)
Transmisie / recepţie mesaje
Nivel sistem
(System Layer)
Interpretor comenzi master
Nivel intermediar
(Middleware Layer)
Generator traiectorie axe X,Y,Z

Generator semnale comandă Nivel driver dispozitiv


motoare de tip puls şi direcţie (Device Driver Layer)

©A.Sarca ACSI 1 - 30
Arhitectura şi configurarea sistemelor integrate

Interpretor comenzi utilizator:


citire tastatură, butoane
Arhitectura software
Nivel aplicatie
(Application Layer)
Afişare pe display Afişare pe display date de la
meniu comenzi sclav, semnalizări LED-uri

Generator comenzi Interpretor mesaje de Nivel intermediar


către sclav răspuns de la sclav (Middleware Layer)

Transmisie / recepţie mesaje


Nivel driver dispozitiv
(Device Driver Layer)
Transmisie / recepţie mesaje
Nivel sistem
(System Layer)
Interpretor comenzi master
Nivel intermediar
(Middleware Layer)
Generator traiectorie axe X,Y,Z Tema 3

Generator semnale comandă Nivel driver dispozitiv


motoare de tip puls şi direcţie (Device Driver Layer)

©A.Sarca ACSI 1 - 31
Arhitectura şi configurarea sistemelor integrate

Interpretor comenzi utilizator:


citire tastatură, butoane
Arhitectura software
Nivel aplicatie
(Application Layer)
Afişare pe display Afişare pe display date de la
meniu comenzi sclav, semnalizări LED-uri

Generator comenzi Interpretor mesaje de Nivel intermediar


către sclav răspuns de la sclav (Middleware Layer)

Transmisie / recepţie mesaje


Nivel driver dispozitiv
(Device Driver Layer)
Transmisie / recepţie mesaje
Nivel sistem
(System Layer)
Interpretor comenzi master
Nivel intermediar
(Middleware Layer)
Generator traiectorie axe X,Y,Z

Generator semnale comandă Nivel driver dispozitiv


motoare de tip puls şi direcţie Tema 4 (Device Driver Layer)

©A.Sarca ACSI 1 - 32
Arhitectura şi configurarea sistemelor integrate

Interpretor comenzi utilizator:


citire tastatură, butoane
Arhitectura software
Nivel aplicatie
(Application Layer)
Afişare pe display Afişare pe display date de la
meniu comenzi sclav, semnalizări LED-uri

Generator comenzi Interpretor mesaje de Nivel intermediar


către sclav răspuns de la sclav (Middleware Layer)

Transmisie / recepţie mesaje Tema 5


Nivel driver dispozitiv
(Device Driver Layer)
Transmisie / recepţie mesaje
Nivel sistem
(System Layer)
Interpretor comenzi master
Nivel intermediar
(Middleware Layer)
Generator traiectorie axe X,Y,Z

Generator semnale comandă Nivel driver dispozitiv


motoare de tip puls şi direcţie (Device Driver Layer)

©A.Sarca ACSI 1 - 33
Arhitectura şi configurarea sistemelor integrate

Interpretor comenzi utilizator:


citire tastatură, butoane
Arhitectura software
Nivel aplicatie
(Application Layer)
Afişare pe display Afişare pe display date de la
meniu comenzi sclav, semnalizări LED-uri

Generator comenzi Interpretor mesaje de Nivel intermediar


către sclav răspuns de la sclav (Middleware Layer)

Transmisie / recepţie mesaje


Nivel driver dispozitiv
(Device Driver Layer)
Transmisie / recepţie mesaje
Nivel sistem
(System Layer)
Interpretor comenzi master Tema 6 Nivel intermediar
(Middleware Layer)
Generator traiectorie axe X,Y,Z

Generator semnale comandă Nivel driver dispozitiv


motoare de tip puls şi direcţie (Device Driver Layer)

©A.Sarca ACSI 1 - 34

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