+ All Categories
Home > Documents > Curs 1 - Introduce Re in Sisteme Cu Microprocesoare

Curs 1 - Introduce Re in Sisteme Cu Microprocesoare

Date post: 09-Jul-2015
Category:
Upload: mihai-nechita
View: 266 times
Download: 5 times
Share this document with a friend

of 19

Transcript

Curs 1Introducere n sisteme cu microprocesoare

Sistem cu microprocesor (SMP) Caracterizare din punct de vedere formal:

SMP=(UCP, MEM, MS, I/E)UCP Unitate de Control a Prelucrrii informaiei numerice, format din microprocesor i circuite auxiliare (generator de tact, circuit de resetare etc.) MEM suportul fizic pentru stocarea informaiei (MEMorie pentru program i date) I/E MS suportul fizic pentru legtura cu exteriorul, spre (Intrare) i dinspre (Ieire) sistemul cu P Magistrala Sistemului, la care se conecteaz toate celelalte componente pentru a schimba informaii ntre ele.

UCP cu P

MS

I/E MEM PI PE

Fig.1.1. Structura hardware general a unui sistem cu microprocesor

Sisteme cu microprocesoare de uz generalAplicaii Spectru foarte larg

Sisteme cu microprocesor pentru conducerea proceselorDintr-un domeniu ngust, specializat Specifice aplicaiei (mediu ostil) Ridicat Specializat: sisteme de operare sau executive de timp real (timp critic) Microprocesoare de uz general sau specializate Conform necesitilor aplicaiei Conform necesitilor aplicaiei Programul este separat de date Periferice specifice aplicaiei Numai dac aplicaia impune Orientat mai ales ctre proces, interfaa cu procesul este specializat i redus la minimum Standardizat (ISA, Multibus, VME, PCI) sau nu

Funcionare Condiii obinuite Fiabilitate Obinuit

Software de Obinuit : sisteme de operare de uz sistem general, multitasking, multiuser UCP Putere MEM Tip IE Memorii de mas Interfa Microprocesoare de uz general Ct mai mare Ct mai mare Programe + date Periferice standard Capacitate ct mai mare Orientat ctre utilizator: multimedia, accesibil unui utilizator neavizat Standardizat (ISA, VESA, PCI)

MS

1.1. Componente hardware Numrul i tipul componentelor - depind de specificul aplicaiei i pot varia n limite largi. O parte dintre componente pot lipsi. 1.1.1. Componente principale Microprocesorul - coordonatorul sistemului execut comenzi (denumite instruciuni).

Alimentare, Resetare, Semnale de tact

MAControlul transferului pe MD Magistrala de control

Magistrala de adrese

P

Control ntreruperi Control accesului la magistral

MD

Magistrala de date

Fig.1.2. Microprocesorul categorii de semnale la pini

Execuia instruciunilor - P depune pe MA adresa instruciunii; - activeaz semnalele de citire memorie; - citete codul instruciunii din memorie pe MD; - decodific instruciunea - execuia propriu-zis: - operaii interne: aritmetice, logice, de control al strii P - operaii pe magistral: transfer de operanzi (date) pe MD Citirea unui operand: P depune pe MA adresa operandului; activeaz semnalele de citire memorie sau dispozitivul I/E; citete operandul din memorie pe MD; Scrierea unui operand: P depune pe MA adresa operandului; depune operandul pe MD; activeaz semnalele de scriere n memorie sau dispozitivul I/E;

MemoriaAdresa zecimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Locaii de memorie (8 bii) msb lsb hexa 7 6 5 4 3 2 1 0

Linie de selecie Linii de adrese

0000h 0001h 0002h 0003h 0004h 0005h 0006h 0007h 0008h 0009h 000Ah 000Bh 000Ch 000Dh 000Eh 000Fh 0010h

Memorie program

Linii de date Controlul transferului Alimentare Linie de selecie Linii de adrese

Memorie de date

Linii de date Controlul transferului Alimentare

...

.........

Fig.1.3. Memoria organizare logic i categorii de semnale la pini

Conine succesiunea comenzilor (programul), constantele i variabilele programului. Din punct de vedere logic, este format dintr-un ir de locaii, identificate prin adrese unice, succesive. Memoria program realizat cu circuite de tip ROM (Read Only Memory): - n mod normal, accesul la informaiile memorate este permis (sau posibil) n sistem numai pentru operaia de citire; - nscrierea informaiilor se poate face nafara sistemului (programator memorii) sau, n anumite condiii, chiar n sistem (ISP In System Programming); - conine instruciunile i constantele programului (date care nu se modific pe durata execuiei programului); - acestea sunt protejate mpotriva automodificrii i a modificrilor accidentale; - programul este rezident n memorie: - rmne ncrcat n memorie i dup deconectarea alimentrii; - nu trebuie rencrcat la conectarea alimentrii sau de fiecare dat nainte de a fi executat. Memoria de date realizat cu circuite de tip RAM (Random Access Memory): - conine variabilele programului (date care se modific pe durata execuiei programului); - la deconectarea alimentrii, datele coninute se pierd; - la conectarea alimentrii, coninutul locaiilor se poziioneaz aleator; - variabilele trebuie iniializate prin program, n mod explicit, la nceputul execuiei acestuia. - accesul la informaiile memorate este permis n sistem att pentru citire ct i pentru scriere. Poate fi integrat pe acelai cip cu microprocesorul n cazul microcontrolerelor.

Dispozitivele de I/E Asigur legtura cu mediul exterior: - Dispozitivele de intrare prelucreaz informaiile de intrare conform unor funcii specifice. Informaiile prelucrate pot fi accesate de pe magistrala sistemului prin intermediul unor registre de date. - Dispozitivele de ieire transform informaiile transmise pe magistrala sistemului, nscrise n registrele de date, conform unor funcii specifice.

Dispozitiv de I/ECircuite cu funcii specializate de intrare Porturi de I/E: - registre de date - registre de control - registre de stare Logic de control i de citire/scriere Solicitri de ntrerupere i de acces direct la memorieLinii de date Linii de adrese Linie de selecie Controlul transferului ntrerupere Cerere DMA Alimentare Fig.1.4. Dispozitivele de I/E structur intern general i categorii de semnale la pini MS

Mediul exterior

Informaii

Informaii

Circuite cu funcii specializate de intrare

Parametrii funciilor de prelucrare i cei ai accesului de pe magistrala sistemului sunt stabilii de ctre microprocesor, prin intermediul registrelor de control. Informaiile care descriu starea dispozitivului I/E la un moment dat sunt disponibile n cadrul unor registre de stare. Acestea vizeaz: stadiul i eventualele condiii speciale (erori) aprute n timpul prelucrrii specifice a informaiilor; controlul fluxului de date pe magistrala sistemului. Registrele interne (de date, control i stare) ale dispozitivelor de I/E sunt denumite generic porturi de I/E i sunt tratate, de obicei, n mod diferit fa de locaiile de memorie: - semnale de control distincte - spaii de adresare separate - instruciuni de acces diferite Spre deosebire de locaiile de memorie obinuite, care pot fi accesate doar de pe magistrala sistemului, porturile de I/E pot fi considerate drept locaii de memorie cu dublu acces: magistrala sistemului; circuitele interne cu funcii specializate ale dispozitivelor de I/E. Exemple: interfee paralele, seriale, numrtoare / temporizatoare, controlere de ntreruperi, convertoare A/D i D/A, controlere de comunicaii, controlere de acces direct la memorie. Unele dispozitive de I/E cu funcii larg rspndite se pot afla pe acelai cip cu microprocesorul i memoria cazul microcontrolerelor.

Magistrala sistemului cu microprocesor (MS) Este format din: magistrala de adrese (MA) grup de linii unidirecionale, prin care coordonatorul sistemului indic locaia de memorie sau portul de I/E la care dorete s aib acces. magistrala de date (MD) grup de linii bidirecionale, pe care circul informaia (instruciuni i date) ntre componentele sistemului cu microprocesor. magistrala de control (MC) linii uni- sau bidirecionale, cu roluri diverse: o stabilirea tipului de acces pe MS: selecie a spaiului de adresare (memorie sau porturi I/E); de control al sensului de transfer pe MD (citire sau scriere d.p.d.v. al P); o sincronizarea microprocesorului cu dispozitive externe mai lente (ateptare); o dialogul dintre microprocesor i dispozitivul de I/E care solicit ntreruperi; o dialogul dintre microprocesor i un alt controler care dorete accesul la MS (DMA) Este controlat n mod implicit de ctre microprocesor, care depune adresa pe MA i activeaz linii de control ale MC, n funcie de operaia pe care o execut la un moment dat. Pentru anumite operaii specializate: transferuri rapide de informaie ntre dispozitive de I/E i memorie; calcule matematice n virgul mobil, etc. MS poate fi controlat, cu permisiunea microprocesorului, de un controler specializat (controler DMA, coprocesor numeric etc.) Exist situaii cnd, pentru a rezulta un numr de pini ct mai mic pentru un cip, informaiile care circul pe MD sunt multiplexate n timp: magistral multiplexat de adrese/date. n acest caz sunt necesare de regul circuite de demultiplexare sau de separare a adresei de date.

Liniile MS interconecteaz cel puin trei tipuri de dispozitive fizice: microprocesorul, dispozitive de memorie i de I/E. Oricare dintre aceste dispozitive poate fi surs sau destinaie pentru informaiile vehiculate pe MD. Arbitrarea accesului la magistral: 1. La un moment date se efectueaz un singur transfer de date pe MD. 2. Orice transfer de informaie pe MD se face ntre dou dispozitive fizice diferite: de la un dispozitiv surs la un dispozitiv destinaie. 3. Atunci cnd microprocesorul este coordonatorul sistemului, el este n mod obligatoriu fie surs, fie destinaie a transferului. 4. Microprocesorul dispune de un mecanism de tip cerere/rspuns prin care poate controla cedarea i ulterior reluarea rolului de coordonator n sistem. 5. Atunci cnd microprocesorul este coordonatorul sistemului, el stabilete cu care dispozitiv va dialoga, prin adresa depus pe MA i prin semnalele de control al transferului activate pe MC. 6. Fiecare dispozitiv fizic trebuie s dispun de o linie de selecie, prin care s fie informat de ctre coordonator c a fost ales pentru transfer de informaie pe MD. 7. ntruct dispozitivele fizice, cu excepia coordonatorului, nu dispun de pini pentru toate semnalele de pe MS, decodificarea adresei i selecia celui de-al doilea dispozitiv ales pentru efectuarea transferului pe MD se face de ctre o logic adecvat. 8. Logica de decodificare i selecie utilizeaz informaia de pe MA i MC pentru a genera semnale de selecie pentru fiecare dispozitiv fizic de memorie i de I/E din sistem, astfel nct s nu apar conflicte. 9. Unele dispozitive fizice, cum ar fi controlerul DMA, atunci cnd devin coordonator, au posibilitatea de a a selecta simultan dou dispozitive fizice: unul surs i altul destinaie (de exemplu pentru a transfera date pe MS direct ntre un port I/E i memorie).

UCP cu P

Controler DMA

MA MD MC

MEM MEM MEMLinii de selecie memorie

Logic de decodificare i selecieLinii de selecie dispozitive de I/E

I/E I/E PI PI PE PE

Fig.1.5. Logica de decodificare i selecie

1.1.2. Componente specifice conducerii proceselor Funcionarea n timp real implic utilizarea unor tehnici de I/E corespunztoare. Tehnica ntreruperilor permite sincronizarea funcionrii microprocesorului cu evenimente din procesul condus sau cu alte componente ale sistemului; asigur un timp de rspuns minim la evenimentele aprute n sistem; se utilizeaz n primul rnd mecanismele hardware i software asociate sistemului de ntreruperi al microprocesorului; atunci cnd resursele interne nu fac fa numrului mare de surse de ntrerupere, se pot utiliza controlere specializate pentru tratarea cererilor multiple de ntrerupere. Introducerea timpului n prelucrarea informaiei msurarea intervalelor de timp ntre evenimente; lansarea periodic n execuie a unor module de program; generarea unor semnale cu o evoluie controlat n timp; se utilizeaz dispozitive de I/E specializate, cunoscute sub numele de ceasuri programabile sau timere (engl. timers). Interfaa cu operatorul - se utilizeaz o interfa local consola operatorului de proces

- aceasta permite introducerea i modificarea parametrilor aplicaiei, selectarea regimurilor de lucru, solicitarea i vizualizarea informaiilor legate de starea procesului condus i a programului de aplicaie. Comunicaia cu periferice standard i cu alte sisteme cu microprocesoare - pe distane mici, cu vitez mare interfee de comunicaie paralel; - la distane mai mari, cu viteze mai mici interfee de comunicaie serial. Interfaa cu procesul condus Format din dispozitive de I/E specifice: intrri numerice i analogice de la senzori i traductoare; ieiri de putere, numerice sau analogice, ctre elemente de execuie. Organizarea sistemului cu microprocesor - prin agregarea blocurilor funcionale. Condiii: Compatibilitatea fizic (hardware) - standardizarea semnalelor de intrare i ieire ale diferitelor blocuri din sistem; Compatibilitatea informaional - codificarea unic a datelor pentru toate blocurile sistemului. Compatibilitatea logic (software) - posibilitatea execuiei programelor elaborate pentru un model de ctre alte microsisteme avnd resurse similare. Aplicaii de complexitate mic-medie - un singur procesor - sistem monoprocesor. Aplicaii de complexitate mare - mai multe procesoare - sistem multi(micro)procesor. Necesit o logic de arbitrare a accesului fiecrui microprocesor la resursele comune.

...

I/E seriale Memorie program (ROM) UCP cu BRQ NMI P BACK INTR Memorie de date (RAM)

...

I/E paralele

Comunicaie serial (interfee seriale)I/OW I/OR

Comunicaie paralel (interfee paralele)I/OW I/OR

MEMR

MEMW MEMR

MAGISTRALA DE ADRESE (MA)

MAGISTRALA DE DATE (MD)MACK

Logic de decodificare i selecie

MAGISTRALA DE COMANDA (MC)I/OW I/OR I/OR INTA I/OR I/OW I/OW I/OW I/OR MRQ

Interfaa cu operatorul

Intrri din proces ..... Senzori i traductoare

Ieiri ctre proces .....

Sistem de ntreruperi

Ceasuri programabile (timere) .. .. ..

Controler DMA

.. .. . . Elemente Solicitri de execuie din proces

.. . Semnale Evenimente Solicitri de comand din proces DMA

Fig.1.8. Structura unui sistem cu microprocesor pentru conducerea proceselor

1.2. Componente software Se pot pune n eviden dou tipuri de componente software: - programe de baz sau de sistem - programe de aplicaie 1.2.1. Sistemul de programe de baz Sistemele cu microprocesoare utilizate n conducerea proceselor se caracterizeaz printrun sistem de programe de baz minimal, care pune la dispoziia programelor de aplicaie un set restrns de servicii de baz de I/E; acestea sunt rezidente n memoria ROM sau sunt disponibile ntr-un modul de funcii de bibliotec. Sistemul de operare - un executiv de timp real, simplu i eficient, care permite o proiectare modular a aplicaiilor, sub form de taskuri i o execuie concurent a acestora. Se evit blocarea aplicaiei n ateptarea apariiei unuia sau mai multor evenimente, n timp ce alte evenimente sunt ignorate. Componentele acestuia sunt scrise de cele mai multe ori parial sau chiar n ntregime n limbaj de asamblare, pentru a se obine o minimizare a timpului de execuie i a resurselor de memorie folosite. Funciile executivului de timp real: - iniializarea componentelor sistemului; - gestiunea taskurilor (creare, lansare, terminare); - accesul la ceasul de timp real (ateptare); - sincronizarea taskurilor cu evenimente externe (semnale, flaguri, ntreruperi); - comunicaia dintre taskuri (cutii potale); - partajarea resurselor, cu asigurarea excluderii mutuale (semafoare).

1.2.2. Programul de aplicaie Aplicaia se descompune n taskuri simple, uor de programat i de gestionat. 1. Taskuri de sistem: gestioneaz resursele critice ale sistemului: timpul, memoria etc. gestioneaz dispozitivele de I/E care formeaz consola operatorului de proces realizeaz o prelucrare primar a datelor de la senzori i traductoare comand elementele de execuie gestioneaz interfeele de comunicaie cu alte sisteme cu microprocesoare au acces direct la resursele hardware (memorie, porturi de I/E) sunt taskuri rapide au prioritate ridicat in cont de cerinele specifice aplicaiei extind setul de servicii standard oferite de executivul de timp realNu Semnalizare eroare

START

Iniializare resurse gestionate

Ateptare cereri (fr blocare P)

Intrare parametri

Verificare parametri

Cerere valid ?

Da Rezolvare cerere

Ieire rezultate

2. Taskuri de aplicaie propriu-zise datele de intrare primite de la: taskurile de gestionare a intrrilor de la proces (INPROC) taskul de gestionare a COP taskurile de gestionare a interfeelor de comunicaie (COM) algoritmul de prelucrare a datelor (algoritm de conducere) stabilit de programator selectat de operatorul de proces datele de ieire transmise ctre: taskurile de gestionare a ieirilor spre proces (OUTPROC) taskul de gestionare a COP taskurile de gestionare a interfeelor de comunicaie (COM) Implementare bucle infinite: - control automat (PROC); - intervenie local (COP); - intervenie de la distan (COM).COP Tratare COP

START

Iniializare variabile locale

Ateptare date noi (fr blocare P)

Tratare COM

Sursa ? PROC

COM

Intrare date de la proces (INPROC)

Algoritm de conducere

Ieire date spre proces OUTPROC

Ritmul de parcurgere a buclei de control trebuie s urmreasc dinamica procesului. Informaia preluat din proces trebuie s fie prelucrat ntr-un interval limitat de timp, astfel nct rezultatul calculului s poat fi transmis n timp util procesului condus. Trebuie evaluat durata de execuie pentru fiecare operaie n parte, care este un criteriu pentru alegerea resurselor fizice i a limbajului de programare al aplicaiei. Specificul dezvoltrii sistemelor bazate pe microprocesoare - interdependena aspectelor de proiectare hardware (HW) i software (SW). Dezvoltarea aplicaiilor pentru sisteme cu microprocesoare necesit cunotine privind: - facilitile i funcionarea componentelor hardware ale sistemului cu microprocesor; - organizarea i proiectarea hardware a sistemelor cu microprocesoare; - utilizarea unor medii de proiectare hardware asistat de calculator (Altium Designer, OrCAD, Protel, CadStar); - cunoaterea tehnicilor de programare a microprocesoarelor n limbaje de nivel cobort (limbaje de asamblare, C, etc.); - utilizarea uneltelor de dezvoltare a programelor de aplicaie medii integrate de dezvoltare (IDE Integrated Development Environment) formate din compilator, asamblor, editor de legturi, simulator, analizor de performan; - utilizarea aparaturii de laborator: osciloscoape, generatoare de semnal, analizoare logice, programatoare de memorii; - utilizarea unor sisteme sofisticate de dezvoltare cum sunt emulatoarele (ICE In Circuit Emulator) sau a unor programe de depanare la distan (Remote Debugger).


Recommended