Documente Academic
Documente Profesional
Documente Cultură
Microcontroller
Privind evoluia istoric a operaiei de comand a unui proces putem contura imaginea unui
microcontroller (MC - se va folosi n continuare aceast prescurtare pentru a numi un microcontroller).
Un controller este un sistem folosit pentru a comanda i a prelua stri de la un proces sau un aspect al
mediului nconjurtor. La nceput un controller era un echipament de mari dimensiuni. Dup apariia
microprocesoarelor dimensiunile controller-elor s-au redus. Procesul de miniaturizare a continuat,
toate componentele necesare unui controller au fost integrate pe acelai chip. S-a nscut astfel
calculatorul pe un singur chip specializat pentru implementarea operaiilor de control; acesta este
microcontroller-ul. 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.
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 numeric-analogice, 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.
Se poate distinge o prim diferen fa de calculatoarele personale, unde intrrile se fac de regul de
la tastatur i ieirile pe monitorul TV sau la imprimant. Dac un calculator personal este folosit
pentru a prelucra informaii i a afia rezultatele pe monitor sau hrtie, un MC comand un proces. 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 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, 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. 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 performanele de vitez sunt mai bune. Magistralele interne, dup numele lor, nu
sunt accesibile n exterior la nivel de pin. Aceast stare caracterizeaz regimul normal de funcionare.
n regimuri speciale de funcionare, numite diferit la diferitele tipuri de MC, semnalele magistralelor
de adrese i de date sunt accesibile la nivel de pin sacrificnd funciile iniiale ale pin-ilor respectivi.
Totodat este necesar s fie livrate n exterior i semnale de comand (cel puin comand de scriere
WR i comand de citire RD). Aceast facilitate este util pentru extensii de memorie sau pentru a
ataa sistemului interfee suplimentare. Ea nu este posibil n mod normal de funcionare deoarece
aceasta ar presupune existena unui numr foarte mare de pini, ceea ce ar fi neeconomic. Magistralele
de adrese i de date pot fi aduse la pin multiplexat sau nemultiplexat. Familia MCS-51 este un
exemplu pentru acces multiplexat la magistrale. Accesul se face n doi pai; n primul pas se
conecteaz liniile de adres la pinii portului sacrificat, iar n al doilea pas se conecteaz datele la
aceiai pini. Pentru a putea utiliza informaia de adresare, adresa se memoreaz ntr-un latch, de
asemenea exterior microcontroller-ului. Complicarea accesului la magistralele interne prin
multiplexare este justificat de asemenea din raiunea meninerii unui numr ct mai mic de pini la
capsul. Ca urmare a celor prezentate se poate aprecia performana unui MC din 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
Familii de MC
Microcontroller-ele se produc ntr-o mare diversitate n care exist totui elemente comune care permit
o prezentare sistematic a produsului. Pe baza unui nucleu comun au fost definite familiile de
microcontroller-e; nucleul este constituit dintr-o unitate central, aceeai pentru toi membrii unei
familii, i o serie de interfee i periferice. Din punct de vedere al programatorului, toi membrii unei
familii folosesc acelai set de instruciuni, permit aceleai moduri de adresare i folosesc aceleai
registre. Diferena ntre membrii unei familii const n primul rnd n echiparea chip-ului cu memorie
Alte diferene pot fi gsite la frecvena de clock pentru unitatea central sau n interfeele on-chip i
perifericele on-chip suplimentare fa de cel mai simplu reprezentant al familiei. O diferen ntre
membrii unei familii poate fi i modul n care sunt conectate semnalele la pin respectiv tipul capsulei
de prezentare a circuitului integrat. n cadrul acestui capitol, n continuare, sunt prezentate cteva
familii de microcontroller-e cu sublinierea nsuirilor caracteristice i considernd numele
productorului ca fiind unul din elementele reprezentative pentru o familie.
UCP
memoria
Magistrala
modulele de I/O
dispozitive de
actionare
senzori