Sunteți pe pagina 1din 11

La modul general un controler este, actualmente, o structur electronic destinat

controlului unui proces sau, mai general, unei interaciuni caracteristice cu mediul exterior,
fr s fie necesar intervenia operatorului uman.
Resursele integrate la nivelul microcircuitului ar trebui s
includ, cel puin, urmtoarele componente:
1. o unitate central (CPU), cu un oscilator intern pentru ceasul de
sistem
2. o memorie local tip ROM/PROM/EPROM/!"#$ %i eventual una de
tip R"M
3. un sistem de &ntreruperi
4' (/O ) intrri/ie%iri numerice
5. un port serial de tip asincron %i/sau sincron, programa*il
6. un sistem de timere)tempori+atoare/numrtoare programa*ile
Este posi*il ca la acestea s ,e adugate, la un pre de cost
avanta-os, caracteristici speci,ce sarcinii de control care tre*uie
&ndeplinite:
7. un sistem de conversie analog numeric(una sau mai multe intrari
analogice)
8' un sistem de conversie numeric analogic %i/sau ie%iri P.M (cu
modulare &n durat)
9' un comparator analogic
10' o memorie de date nevolatil de tip EEPROM
11' /aciliti suplimentare pentru sistemul de tempori+are/numrare
(captare %i
comparare)
12. un ceas de gard (timer de tip 0atc1dog)
13. un R2C(Real 2ime Cloc3 4 ceas,data,calendar)
14. alte protocoale de transmisie seriala sau paralela ((5C , #P( ,
6.(RE , C"7''')
15' /aciliti pentru optimi+area consumului propriu
Un microcontroler tipic mai are, la nivelul unitii centrale, faciliti de prelucrare a
informaiei la nivel de bit, de acces direct i uor la intrri/ieiri i un mecanism de
prelucrare a intreruperilor rapid si eficient.
Utilizarea unui microcontroler constituie o soluie prin care se poate reduce
dramatic numrul componentelor electronice precum i costul proiectrii i al
dezvoltrii unui produs.
OBSERVAIE Utilizarea unui microcontroler, orict de evoluat, nu elimin unele
componente ale interfeei cu mediul exterior (atunci cnd ele sunt ciar necesare!"
subsisteme de prelucrare analogic (amplificare, redresare, filtrare, protecie#limitare!,
elemente pentru realizarea izolrii galvanice (optocuploare, transformatoare!, elemente de
comutaie de putere (tranzistoare de putere, relee electromecanice sau statice!.
EE!"#U $ A%!E&A'()
*apsula cu speci+icatii pentru +iecare "I,-
OBS $ multi pini ai microcontrollerului au mai multe utilizari si resursele respective se
folosesc numai pentru o anumita functionalitate
U,.E SU,% U%I#I/A%E !I*RO*O,%RO#ERE#E0
2oate aplicaiile &n care se utili+ea+ microcontrolere /ac parte din
categoria a%a +iselor sisteme &ncapsulate)integrate (8em*edded s9stems:),
la care e;istena unui sistem de calcul incorporat este (aproape)
transparent pentru utili+ator'
$rintre multele domenii unde utilizarea lor este practic un standard industrial se pot
meniona" %n industria de automobile (controlul aprinderii/motorului, climatizare, diagnoz,
sisteme de alarm, etc.!, %n aa zisa electronic de consum (sisteme audio, televizoare,
camere video i videocasetofoane, telefonie mobil, &$'#uri, (ocuri electronice, etc.!, %n
aparatura electrocasnic (maini de splat, frigidere, cuptoare cu microunde, aspiratoare!, %n
controlul mediului i climatizare (sere, locuine, ale industriale!, %n industria aerospaial,
%n mi(loacele moderne de msurare # instrumentaie (aparate de msur, senzori i
traductoare inteligente!, la realizarea de periferice pentru calculatoare, %n medicin.
)xist la ora actual un numr extrem de mare de tipuri constructive de
microcontrolere. Un criteriu de clasificare care se poate aplica %ntotdeauna este lungimea
(dimensiunea! cuvntului de date. *uncie de puterea de calcul dorit i de alte caracteristici
se pot alege variante avnd dimensiunea cuvntului de date de +, ,,-. sau /0 de bii (exist
ciar i variante de .+ de bii1!. 2u este obligatoriu ca dimensiunea cuvntului de date s fie
egal cu dimensiunea unui cuvnt main (cuvnt program!. )xist i multe variante zise
dedicate, neprogramabile de utilizator la nivel de cod main, strict specializate pe o
anumit aplicaie, prin intermediul codului preprogramat i al resurselor ard3are, utilizate
pentru comunicaii, controlul tastaturilor, controlul aparaturii audio/video, prelucrarea
numeric a semnalului, etc.
$ractic, toate microcontrolerele se realizeaz la ora actual %n tenologie 456'. #e
pot reali+a ast/el structuri cu o mare densitate de integrare, cu un consum
redus (care va depinde de /recvena de lucru)'!ogica intern este static
(total sau &n cea mai mare parte) permi<nd ast/el, &n anumite condiii,
mic%orarea /recvenei de ceas sau c1iar oprirea ceasului &n ideea
optimi+rii consumului' 2e1nologia este caracteri+at %i de o imunitate mai
mare la pertur*aii, esenial &ntr)un mare numr de aplicaii speci,ce' #e
reali+ea+ variante pentru domeniu e;tins al temperaturii de /uncionare
(de e;') => la ?6@A C)'
E;ist /oarte multe variante de &ncapsulare (capsule de plastic %i mai
rar de ceramic),multe din ele destinate montrii pe supra/a (#MB):
#O(C, P!CC, PCP, 2CP (;6>>pini), etc', dar %i variante clasice cu pini tip
B(P/B(! (tipic de la D la ED pini)'
*ARA*%ERIS%I*I AR1I%E*%URA#E A#E U,I%2II *E,%RA#E
"r1itectura unitii centrale de calcul (CPU) este unul din elementele
cele mai importante care tre*uie avut &n vedere &n anali+a oricrui sistem
de calcul' Principalele concepte luate &n considerare %i &nt<lnite aici sunt
urmtoarele:
a. Ar3itecturi de tip 4 von ,eumann 4
Cele mai multe microcontrolere sunt reali+ate pe *a+a acestei
ar1itecturi de sistem'
Microcontrolerele *a+ate pe aceast ar1itectur au o unitate central
(CPU) caracteri+at de
e;istena unui singur spaiu de memorie utili+at pentru memorarea at<t a
codului instruciunilor c<t %i a datelor ce /ac o*iectul prelucrrii' E;ist
deci o singur magistral intern (*us) care este /olosit pentru preluarea
a instruciunilor (/etc1 opcod) %i a datelorF
e/ectuarea celor dou operaii separate, &n mod secvenial, are ca e/ect,
cel puin principial,
&ncetinirea operaiilor' Este ar1itectura standard (cea mai des &nt<lnit) %i
pentru microprocesoarele de u+ general'
1ttp://en'0i3ipedia'org/0i3i/GonH7eumannH*ottlenec3
5. Ar3itecturi de tip 4 1arvard 4
!a aceast ar1itectur e;ist spaii de memorie separate pentru
program %i date' In
consecin ar tre*ui s e;iste %i magistrale separate (de adrese %i date)
pentru codul instruciunilor %i respectiv pentru date' Principial e;ist ast/el
posi*ilitatea e;ecuiei cvasiparalele (suprapunerii) a celor dou operaii
menionate anterior' Codul unei instruciuni poate , preluat din memorie &n
timp ce se e;ecut operaiile cu datele a/erente instruciunii anterioare'
Este posi*il (cel puin teoretic) o e;ecuie mai rapid, pe seama unei
comple;iti sporite a microcircuitului, mai ales atunci c<nd e;ist %i un
pipeline' Este ar1itectura standardpentru procesoarele numerice de
semnal (B#P)' Batorit costului mare al implementrii uneiast/el de
ar1itecturi, &n ca+ul microcontrolerelor se &nt<lne%te mai ales o
aritectur7arvard modificat, cu spaii de memorie separate pentru program %i
date, dar cu magistrale comune pentru adrese %i date'
1ttp://en'0i3ipedia'org/0i3i/$arvardHarc1itecture
c. *IS*
"proape toate microcontrolerele au la *a+a reali+rii CPU conceptul
C(#C (Complex
Instruction Set Computer)' "ceasta &nseamn un set u+ual de peste D>
instruciuni, multe din
ele /oarte puternice %i speciali+ate' Be o*icei multe din aceste instruciuni
sunt /oarte di/erite &ntre ele: unele operea+ numai cu anumite spaii de
adrese sau registre, altele permit numai anumite moduri de adresare, etc'
Pentru programatorul &n lim*a- de asam*lare e;ist unele avanta-e prin
utili+area unei singure instruciuni comple;e &n locul mai multor
instruciuni simple (analog macroinstruciunilor clasice dintr)un lim*a- de
asam*lare) '
1ttp://en'0i3ipedia'org/0i3i/C(#C
d. RIS*
R(#C (Reduced Instruction Set Computer) este un concept de
reali+are a CPU care a
&nceput s ,e utili+at cu succes de ceva timp %i la reali+area
microcontrolerelor' Prin implementarea unui set redus de instruciuni care
se pot e;ecuta /oarte rapid %i e,cient, se
o*ine o reducere a comple;itii microcircuitului, supra/aa disponi*ili+at
put<nd , utili+at &n alte scopuri' Printre caracteristicile asociate de o*icei
unui CPU R(#C se pot meniona:
) ar1itectur $arvard modi,cat sau von 7eumann
) vite+ sporit de e;ecuie prin implementarea unui pipeline pentru
instruciuni
) set de instruciuni ortogonal (simetric): orice instruciune operea+ cu
orice spaiu de adrese (de memorie) sau orice registru, instruciunile nu
pre+int com*inaii speciale, e;cepii, restricii sau e/ecte colaterale'
1ttp://en'0i3ipedia'org/0i3i/R(#C
Comparare intre C(R# si R(#C:
1ttp://en'0i3ipedia'org/0i3i/R(#CvsC(#C
un vot interesant :
1ttp://000';trempc'ro//orum/vie0topic'p1pJ
tK@5D6@Lvie0Kne;tLsidK665/eMEM=ED@/>ceEMEcEdA66@@EdNea
AS"E*%E #E&A%E .E !E!ORIA !I*RO*O,%RO#ERE#OR
In a/ar de memoria local de tip R"M, de dimensiuni relativ reduse
(de la ;6> octei la ;63), implementat ca atare sau e;istent su* /orma
unui set de registre %i destinat memorrii datelor (varia*ilelor), mai
e;ist o serie de aspecte speci,ce, marea ma-oritate a
acestora ,ind legat de implementarea fizic a memoriei de program (%i eventual a
unei pri a memoriei de date) cu a-utorul unor memorii nevolatile' Clasic,
memoria de program
era implementat &ntr)o variant de tip ROM : )$865 pentru de+voltare %i
producie pe scar mic/medie sau mas9#865 pentru producia de mas'
Principalele concepte noi aprute de a lungul timpului &n legtur cu
implementarea memoriei de program sau date sunt enumerate &n
continuare'
a. O%" - ma-oritatea productorilor o/er variante de microcontrolere la
care memoria local de program este de tip O2P (One 2ime
Programma*le), practic o memorie PROM identic intern cu varianta
EPROM, dar /r /ereastra de cuar pentru %tergere (deci %i mai ie/tine)F
aceste variante pot , utili+ate ca o alternativ pentru o producie limitat,
p<n &n momentul testrii %i validrii ,nale a codului, moment &n care pot
, comandate variantele (mas3) ROM propriu)+ise, cele mai economice
pentru o producie de mas
5. 6#AS1 E"RO! ) este o soluie mai *un dec<t EPROM)ul propriu)+is
atunci c<nd este necesar un volum mare de memorie program (nevolatil)F
mai rapid %i cu un numr garantat su,cient de mare (;6>>>>) de cicluri
de programare (de %tergere/scriere), este caracteri+at %i prin modaliti
mai Oe;i*ile de programareF este utili+at numai ca memorie de program'
c. EEPRO # multe microcontrolere au i o memorie de acest tip, de dimensiune limitat
(de la x-: octei la x ; octei!, destinat memorrii unui numr limitat de parametrii
(!e!"rie de date! care eventual trebuie modificai din timp %n timp< este o memorie
relativ
lent (la scriere!, dar cu un numr de cicluri de tergere/scriere mai mare ca *L='7#ul
d. #O$R% (8=5 nevolatil! # realizat prin alimentarea local (baterie, acumulator! a
unui masiv 8=5 456' atunci cnd este necesar un volum mare de memorie de program i
date nevolatil< mult mai rapid dect toate celelalte tipuri i fr limitri ca numr de
cicluri.
e. e!"ria e&tern de 'r"(ra! sau date.5area ma(oritate a familiilor de
microcontrolere permit si utilizarea de memorie extern de program (tipic 865! sau date
(tipic 8=5!. =ceasta presupune existenta si utilizarea un"r !a(istrale e&terne de
adrese si date. 4onexiunile externe necesare pentru acestea sunt disponibile ca funcii
alternative ale pinilor. >in pcate, in aceast situaie numrul de conexiuni exterioare
disponibile pentru interfaa cu exteriorul se reduce dramatic, reducnd mult din
versatilitatea microcontrolerului. 5ai mult la variantele constructive cu un numr mic de
pini (conexiuni externe! nu este posibil utilizarea de memorie extern, dect, eventual, intr#
o variant cu interfa serial (memorie 8=5, *L='7 sau ))$865 cu interfa ?04, '$?,
etc.! si numai ca memorie de date.
#I!BA7E .E "RO&RA!ARE
#im5a8ul main i de cel de asam5lare
!im*a-ul ma%in (instruciunile ma%in) este singura /orm de
repre+entare a in/ormaiei pe care un microcontroler o P&nelegeP'Bin
pcate aceast /orm de repre+entare a in/ormaiei este total nepractic
pentru un programator, care va utili+a cel puin un lim*a- de asam*lare, &n
care o instruciune are drept corespondent o instruciune &n lim*a- ma%in'
Un program &n lim*a- de asam*lare este rapid %i compact' "ceasta nu
&nseamn c un
ast/el de program, prost scris, nu poate , lent %i de mari dimensiuni,
programatorul av<nd
ontrolul total pentru e;ecuia programului %i gestiunea resurselor' Utilizarea
numai a limba(ului de asamblare pentru dezvoltarea unei aplicaii complexe este
neproductiv de multe ori, deoarece e;ist %i /amilii de microcontrolere cu
CPU de tip C(#C care au un numr /oarte mare de instruciuni (;6>>)
com*inate cu moduri de adresare numeroase %i complicate'
2otu%i, nu tre*uie uitat c la ora actual muli din productorii mari
de microcontrolere o/er medii de de+voltare so/t0are gratuite care includ
programe asam*loare gratuite' Be asemenea, comunitatea utili+atorilor
diverselor /amilii de microcontrolere a de+voltat %i ea, &n timp, multe ast/el
de asam*loare, care sunt disponi*ile ca /ree0are'
Interpretere
Un interpreter este o implementare a unui lim*a- de nivel &nalt, mai
apropiat de lim*a-ul natural' Caracteristic pentru e;ecuia unui program
interpretat, este citirea i executarea secvenial a instruciunilor (instruciune cu
instruciune!' Be /apt ,ecare instruciune de nivel &nalt este interpretat &ntr)
o secven de instruciuni ma%in care se e;ecut imediat'
Cele mai rsp<ndite interpretere sunt cele pentru lim*a-ele C?
?,Q"#(C %i R"G" '
5arele avanta( al utilizrii unui interpreter este dezvoltarea interacti) *i
incre!ental a aplicaiei" se scrie o poriune de cod care poate fi testat imediat,
instruciune cu instruciune< dac rezultatele sunt satisfctoare se poate continua cu
adugarea de astfel de poriuni pn la finalizarea aplicaiei.