You are on page 1of 6

Un microcontroller este un circuit realizat pe un singur chip care conine tipic:

unitatea central;
generatorul de tact (la care trebuie adugat din exterior un cristal de cuar sau n
aplicaii mai puin pretenioase, un circuit RC);

memoria volatil (RAM);

memoria nevolatil (ROM/PROM/EPROM/EEPROM);

dispozitive I/O seriale i paralele;

controller de ntreruperi, controller DMA, numrtoare/temporizatoare (timers),


covertoare A/D i D/A, etc.;

periferice.

SCHEMA BLOC GENERAL

Vom defini un microcontroller pornind de la o reprezentare simplificat a


sa n interaciune cu mediul (figura 1.1)

Ca intrri se folosesc de regul semnale provenind de la comutatoarele individuale sau de la


traductoare (de temperatur, de presiune, foto, traductoare specializate). Intrrile pot fi
digitale sau analogice. Intrrile digitale vehiculeaz semnale discrete, informaia "citit" fiind
informaia ce se eantioneaz la momentul citirii liniei respective. Intrrile analogice

vehiculeaz informaii exprimabile prin funcii continue de timp. "Citirea" acestora de ctre
microcontroller presupune prezena unor circuite capabile s prelucreze aceste informaii, fie
comparatoare analogice, fie convertoare analog-numerice, ale cror ieiri sunt citite de ctre
MC.
Ieirile sunt fie analogice, caz n care reprezint de fapt ieiri ale convertoarelor numericanalogice, fie sunt digitale, caz n care informaia este n general memorat pe acestea pn la
o nou scriere operat de ctre UC la un port al MC. Ieirile pot comanda dispozitive de
afiare, relee, motoare, difuzoare, etc.
O structur mai detaliat, care include blocurile principale, este reprezentat n figura 1.2.

Un element important, fr de care un MC nu poate funciona, este programul (sau


programele), care se stocheaz n memoria proprie MC. Un MC poate fi definit ca un sistem
de calcul complet pe un singur chip. Acesta include o unitate central, memorie, oscilator
pentru tact i dispozitive I/O. Un MC poate fi privit ca un microprocesor care pe acelai chip
mai conine memorie i o serie de interfee. Natura i complexitatea aplicaiei n care este

folosit MC determin performanele unitii centrale, capacitatea de memorie

i tipul

interfeelor ce compun structura intern a MC.


Arhitectura unui MC definete atributele sistemului aa cum sunt ele vzute de un
programator n limbaj de asamblare. Deoarece un microcontroller este un caz particular de
calculator, (calculator specializat pentru operaii I/O, realizat pe un singur chip), acesta este
compus din cele cinci elemente de baz: unitate de intrare, unitate de memorie, unitate
aritmetic i logic, unitate de control i unitate de ieire. Unitatea de control mpreun cu
unitatea aritmetic i logic compun mpreun unitatea central de prelucrare pe care o vom
referi n continuare prescurtat cu UCP. Unitile de intrare i ieire vor fi tratate mpreun i
vor fi referite prescurtat ca sistem I/O.
Blocurile componente ale MC sunt legate ntre ele printr-o magistral intern (bus).
Magistrala vehiculeaz semnale de adres, de date i semnale de control. Mrimea acestor
magistrale constituie una dintre caracteristicile cele mai importante ale unui MC. Prin
magistrala de adrese unitatea central de prelucrare (UCP) selecteaz o locaie de memorie
sau un dispozitiv I/O, iar pe magistrala de date se face schimbul de informaie ntre UCP i
memorie sau dispozitivele I/O. ntre UCP i memorie sunt transferate att date ct i
instruciuni. Acestea se pot transfera pe o singur magistral de date sau pe magistrale de date
diferite. Arhitectura von Neumann prevede existena unui bus unic folosit pentru circulaia
datelor i a instruciunilor. Cnd un controller cu o astfel de arhitectur adreseaz memoria,
bus-ul de date este folosit pentru a transfera nti codul instruciunii, apoi pentru a transfera
date. Accesul fiind realizat n 2 pai, este destul de lent. Arhitectura Harvard prevede un bus
separat pentru date i instruciuni. Cnd codul instruciunii se afl pe bus-ul de instruciuni,
pe bus-ul de date se afl datele instruciunii anterioare. Structura MC este mai complex, dar
performanel de vitez sunt mai bune.
Ca urmare a celor prezentate se poate aprecia perform punct de vedere al magistralei interne
dup urmtoarele criterii:
dimensiunea magistralei de date;
dimensiunea magistralei de adrese;
accesibilitatea n exterior la magistrale;
magistrale accesibile multiplexat sau nemultiplexat.

Unitatea central de prelucrare

Unitatea central de prelucrare este compus din unitatea aritmetic i logic (UAL) i
din unitatea de control. Unitatea aritmetic i logic este seciunea responsabil cu efectuarea
operaiilor aritmetice i logice asupra operanzilor ce i sunt furnizai. Modul de implementare
a operaiilor este transparent pentru utilizator; important pentru utilizatorul de MC este
repertoriul operaiilor implementate pentru a aprecia posibilitatea implementrii optime a
aplicaiei particulare de control. De asemenea este important timpul de execuie al fiecrei
operaii pentru a aprecia dac timpul necesar procesrii complete satisface cerinele de timp
ale aplicaiei. Unitatea ce control este responsabil cu decodificarea codului operaiei coninut
de codul unei instruciuni. Pe baza decodificrii unitatea de control elaboreaz semnale pentru
comanda celorlalte blocuri funcionale pentru a finaliza executarea unei instruciuni. Modul
de implementare al acestui bloc este de asemenea transparent utilizatorului. Unitatea central
de prelucrare conine un set de registre interne, similare unor locaii de memorie, folosite
pentru memorarea unor date des apelate sau pentru programarea unor anumite funcii.
Diferitele familii de MC folosesc seturi diferite de registre. Exist ns cteva registre
comune. A (Accumulator) - registrul acumulator - este folosit deseori pentru a stoca un
operand i rezultatul operaiei aritmetice sau logice.
PC (Program Counter) registru numrtor de program - este registrul care stocheaz
adresa urmtoarei instruciuni de executat. Dup un RESET (iniializarea MC), registrul PC se
ncarc dintr-o locaie de memorie numit vectorde reset. Aceast locaie conine adresa
primei instruciuni de executat. PC este incrementat automat la execuia unei instruciuni.
SP (Stack Pointer) registrul indicator de stiv - coninutul acestui registru indic adresa
curent a stivei. Stiva reprezint o zon de memorie accesibil rapid n care se depun
temporar informaii importante n desfurarea programului. Stiva este definit de obicei n
RAM. Implementarea accesului presupune existena unui registru de adresare (SP) i a
mecanismului de memorare declanat de instruciuni specifice (instruciunile PUSH/POP).

Memoria
MC folosesc diferite tipuri de informaii, care sunt stocate n diferite tipuri de memorii.
Instruciunile care controleaz funcionarea MC trebuie stocate ntr-o memorie nevolatil,
unde informaiile se pstreaz i dup oprirea i repornirea sursei de alimentare. Rezultatele
intermediare i variabilele pot fi nscrise ntr-o memorie volatil, la acestea este important s
se poat face scrierea /citirea rapid i simplu n timpul funcionrii.
Memoria RAM (Random Access Memory) este o memorie volatil care poate fi citit sau
scris de unitatea central. Locaiile din RAM sunt accesibile n orice ordine. Pe chip,
memoria RAM ocup mult loc i implicit costurile de implementare sunt mari. De aceea un
MC include de obicei puin RAM. Memorie RAM static alimentat de la baterie se folosete

pentru stocarea nevolatil a cantitilor mari de date, la o vitez de acces mare i cu un numr
nelimitat de tergeri i renscrieri.
Memoria ROM (Read Only Memory) este cea mai ieftin i cea mai simpl memorie i se
folosete la stocarea programelor n faza de fabricaie. Unitatea central poate citi
informaiile, dar nu le poate modifica.
Memoria PROM (Programmable Read Only Memory) este similar cu memoria ROM,
dar ea poate fi programat de ctre utilizator. Dup posibilitile de tergere, aceast memorie
poate fi de mai multe feluri:
Memoria EPROM (Erasable PROM) care se poate terge prin expunere la raze ultraviolete.
MC cu EPROM au un mic geam de cuar care permite ca chip-ul s fie expus la radiaia
ultraviolet. tergerea este neselectiv, adic se poate terge doar ntreaga informaie i nu
numai fragmente. Memoria poate fi tears i renscris de un numr finit de ori.
Programarea EPROM-ului necesit o procedur special, iar MC cu EPROM au nevoie de
regul pentru nscrierea EPROM-ului de o tensiune auxiliar, de 12 V de exemplu. Unele MC
au incluse circuite de programare a memoriei EPROM, cu ajutorul crora unitatea central
poate programa memoria EPROM. n timpul programrii memoria EPROM nu este conectat
la magistrala de date i adrese. Unele MC sunt prevzute cu mod special de lucru, n care sunt
vzute din exterior ca nite memorii EPROM obinuite i pot fi astfel programate cu orice
programator.

OTP (One Time Programmable PROM) se folosete pentru multe serii de MC. Memoria
OTP este de fapt o memorie EPROM, dar chip-ul a fost capsulat ntr-o capsul de material
plastic fr fereastr, care este mult mai ieftin. Memoria nu se poate terge sau reprograma.
Preul unui MC cu OTP este mic, viteza este bun, dar aplicaiile sunt lipsite de flexibilitate.
Memoria EEPROM (Electrically Erasable Programmable Read Only Memory) poate fi
tears electric de ctre unitatea central, n timpul funcionrii.
tergerea este selectiv, iar pentru renscriere trebuie parcuri mai muli pai. Memoria
EEPROM echipeaz multe MC, fiind ieftin. n memoria EEPROM se memoreaz un mic
numr de parametri care se schimb din timp n timp. Memoria este lent i numrul de
tergeri/scrieri este limitat (tipic 10 000).
Memoria FLASH este o memorie asemntoare EPROM i EEPROM n sensul c poate fi
tears i reprogramat n sistemul n care este folosit (fr a fi necesar un sistem dedicat).
Are capacitatea unui EPROM, dar nu necesit fereastr pentru tergere. Ca i EEPROM,
memoria FLASH poate fi tears i programat electric. Memoria FLASH nu permite
tergerea individual de locaii, utilizatorul poate s tearg doar ntregul coninut.
Din punct de vedere al locului i modului de programare a memoriilor de tip PROM exist
dou concepte:
ICP (In Circuit Programming) programarea memoriei cnd MC se
afl pe placa de cablaj imprimat a aplicaiei;
ISP (In System Programming) presupune posibilitatea de reprogramare n funcionare a
sistemului. De exemplu la autovehiculele comandate de MC, schimbarea tipului benzinei sau
schimbarea unei legi privitoare la poluare pot fi actualizate n programul MC fr ca acesta s
fie scos din autovehicul.

n funcie de numrul aplicaiilor n care urmeaz s fie folosit MC se recomand folosirea


MC cu ROM pentru volum mare de producie (ROM se nscrie cu masc la fabricant), OTP
pentru volum mic de producie i EPROM pentru prototipuri.
Tipul de memorie i capacitatea memoriei din echiparea unui MC suntcaracteristici
particulare fiecrui tip de circuit. Printre alte diferene, aceti parametri sunt diferii pentru
membrii unei aceleiai familii de MC. Se vor prezenta date concrete pentru exemplificare ntrun tabel recapitulativ la sfritul capitolului (tabelul 1.6).
Pentru a aprecia un MC sub aspectul componentei memorie este necesar s se considere
urmtoarele caracteristici:
varietatea tipurilor de memorie pe chip: RAM, ROM /OTP /EPROM
/EEPROM /FLASH;
capacitatea memoriei aflat pe chip;
uurina cu care se poate programa (programare n circuit sau nu,
necesitatea unor tensiuni de programare suplimentare).

You might also like