Documente Academic
Documente Profesional
Documente Cultură
Scurt istoric
1. Introducere
OBS. Utilizarea unui microcontroler, oricât de evoluat , nu elimină unele componente ale
interfeţei cu mediul exterior (atunci când ele sunt chiar necesare): subsisteme de
prelucrare analogică, elemente pentru realizarea izolării galvanice, elemente de comutaţie
de putere (electromecanice sau statice).
2. Unitatea de memorie UM
2.1 Mod de funcţionare
Pentru a explica şi a înţelege mai uşor funcţionarera acestui bloc, putem să-l comparăm
şi să-l descriem ca fiind un dulap cu mai multe sertare. Introducând conceptul de
“locaţie de memorie” şi atribuind sertarelor această denumire, fiecare locaţie de
memorie având câte o valoare numerotată de la 0 – 15 în aşa fel încât să nu fie
confundate, oricare din conţinuturile locaţiilor de memorie (sertarelor) vor fi atunci uşor
accesibile. Pentru a realiza această accesibilitate introducem al doilea concept nou numit
“ adresare” care poate fi definit ca fiind operaţia de “selectare” sau “desemnare” a
unei locaţii de memorie.
OBS.
Trebuie menţionat faptul că adresarea nu se face la întâmplare, ea se efectuează în
conformitate cu un “cod de adresă” care este unic, aceasta înseamnă că fiecărei locaţii
de memorie îi este alocat codul corespunzător de selecţie.
Este suficient să se ştie desemnarea sertarului (codul de adresă corespunzător unei locaţii
de memorie) şi astfel conţinuturile locaţiei se vor face cunoscute în mod sigur.
Pentru un anumit cod de adresă aplicat la intrarea “ Adrese” (vezi figura) obţinem la
ieşirea “Date”, conţinutul sub formă de date a unei anumite locaţii de memorie adresate.
Se poate spune deci că memoria este alcătuită din toate locaţiile de memorie şi adresarea
nu este altceva decât alegerea uneia din ele.
În afară de memoria locală de tip RAM, de dimensiuni relativ reduse (x10 octeţi la
x1Kocteţi), implementată ca atare sau sub forma unui set de registre şi destinată
memorării datelor (variabilelor), mai există o serie de aspecte specifice, marea majoritate
a acestora fiind legată de implementarea fizică a memoriei de program
(şi eventual a unei părţi a memoriei de date) cu ajutorul unor memorii nevolatile.
a. EEPROM
- multe microcontrolere au şi o memorie de acest tip, de dimensiune limitată,
destinată memorării unui număr limitat de parametrii (memorie de date) care
eventual trebuie modificaţi din timp în timp şi este o memorie relativ lentă cu
un număr limitat (uzual mic) de cicluri de scriere/citire.
b. FLASH EPROM
- este o soluţie mai bună decât EEPROM–ul atunci când este necesar un volum
mare de memorie program (nevolatilă) mai rapidă şi cu un număr garantat
mai mare de cicluri scriere/cirire; este utilizată numai ca memorie de program.
a. NOVRAM
- Realizat prin alimentarea locală (baterie, acumulator) a unui masiv RAM CMOS
atunci când este necesar un volum mare de memorie de program şi de date
nevolatilă; mult mai rapidă decât toate celelalte tipuri şi fără limitări ca număr
de cicluri.
f. PROTEJAREA CODULUI
- Protejarea codului program dintr-o memorie locală nevolatilă împotriva
- accesului neautorizat (copierea codului, a aplicaţiei, “REVERSE
- ENGINEERING”) este oferită ca o opţiune, ea mai trebuind să fie şi folosită la
variantele EPROM sau OTP.
La variantele cu ROM propriu-zis ea este de multe ori implicită.
Deci concluzionând, regiştrii sunt locaţii de memorie a căror rol este de a ajuta prin
prelucrarea şi executarea a variate operaţii matematice sau a altor operaţii cu date
oriunde se vor fi găsit datele in cadrul UM.
Arhitectura unităţii centrale de calcul (CPU) este unul din elementele cele mai importante
care trebuie avut in vedere în analiza oricărui sistem de calcul.
Principalele concepte luate în considerare sunt următoarele:
d. RISC
RISC (Reduced Instruction Set Computer) este un concept de realizare a CPU care a
început să fie utilizat cu succes şi la realizarea microcontrolerelor.
Prin implementarea unui set redus de instrucţiuni care se pot efectua foarte rapid, se
obţine o reducere a complexităţii microcircuitului, suprafaţa disponibilizată poate astfel să
fie utilizată în alte scopuri.
Printre caracteristicile asociate de obicei unui CPU RISC se pot menţiona:
-arhitectură Harvard
-viteză sporită de execuţie prin implementarea unui PIPE–Line pentru instrucţiuni
-set de instructiuni ortogonal (simetric): fiecare instrucţiune operează cu orice spaţiu de
adrese (memorie) sau registru, instructiunile nu prezintă combinaţii speciale, excepţii,
restricţii sau efecte colaterale.
Obs.
Dacă revenim la situţia curentă, rezultă deci că avem două entităţi independente
(memoria şi CPU) ce sunt interconectate, şi astfel orice schimb de informaţii este ascuns,
ca şi funcţionalitatea sa.
Dacă, de exemplu, dorim să adunăm conţinuturile a două locaţii de memorie şi întoarcem
rezultatul înapoi în memorie, vom avea nevoie de o conexiune între
memoria UM şi CPU.
Mai simplu formulat, trebuie să avem o anumită "cale" prin care datele circulă de la un
bloc la altul.
Din momentul de faţă putem avea o viziune clară asupra modului de interconectare şi
funcţionare al celor două entităţi privite ca blocuri componente din cadrul
microcontrolerului deci putem introduce noţiunea de “funcţionalitate” ca parametru fictiv
al microsistemului care a luat naştere prin prezentarea acestora.
5. Unitatea intrare-ieşire
5.1 Rol şi funcţionalitate
Aceste locaţii care tocmai le-am adăugat sunt numite "porţi". Sunt diferite tipuri de porţi:
intrare, ieşire sau porţi pe două-căi.
Când se lucrează cu porţi, mai întâi de toate este necesar să se aleagă cu ce port
urmează să se lucreze, şi apoi să se trimită, sau să se ia date de la port.
În timpul accesării, portul se comportă ca o locaţie de memorie, unde “ceva” este pur şi
simplu scris în el sau citit din el, şi este posibil de a remarca uşor aceasta la pinii
microcontrolerului.
Toate microcontrolerele au de un număr oarecare de intrări/ieşiri numerice ( x1...x10).
Conexiunile exterioare sunt bidirecţionale sau unidirecţionale, unele sunt multifuncţionale
(se oferă funcţii alternative pe acelaşi pin), altele pot avea o capacitate sporită de a
absorbi curent (de ex. pentru comanda directă a unui LED).
În afară de acestea pentru interfaţa cu mediul exterior se oferă o serie de alte facilităţi
cum ar fi :
7. Unitatea de timer
Odată rezolvată problema comunicaţiei seriale, putem recepţiona, trimite şi procesa date.
Totuşi, ca să îl putem utiliza, în special în industrie, mai avem nevoie de câteva blocuri.
Unul din acestea este blocul de timer care este important pentru noi pentru că ne dă
informaţia de timp, durată, protocol etc. Unitatea de bază a timer-ului este un contor
liber care este de fapt un registru a cărui valoare numerică creşte cu intervale de timp
egale, aşa încât luându-i valoarea după intervalele T1 şi T2 şi pe baza diferenţei lor să
putem determina cât timp a trecut. Acesta este o parte foarte importantă a
microcontrolerului a cărui control necesită cea mai mare parte a timpului nostru.
8. Watchdog-ul
9. Convertorul Analog-Digital
Pentru că semnalele de la periferice sunt substanţial diferite de cele pe care le poate
înţelege (zero şi unu), ele trebuie convertite într-un mod care să fie înţeles de
microcontroler.
Această sarcină este îndeplinită de un bloc pentru conversia analog-digitală sau de un
convertor AD. Acest bloc este responsabil pentru convertirea unei informaţii privind o
anumită valoare analogă într-un număr binar şi pentru a o urmări pe tot parcursul la un
bloc CPU în aşa fel ca blocul CPU să o poată procesa.
Convertoarele utilizate fac parte de regulă dintr-un sistem de achiziţie de date, existând
şi un multiplexor analogic cu mai multe canale.
Rezoluţia disponibilă este de 8 sau 10 biţi cu precizia corespunzătoare numai pentru 8 (9)
biţi, pentru mărime de intrare unipolară.
Referinţa utilizată este externă. Timpul minim de conversie obtenabil este în plaja
x1 µs – x10 µs. Există microcontrolere care utilizează tehnici de (re)calibrare pentru
mărimea şi/sau menţinerea preciziei.
Obs. În ultimul timp au apărut şi variante de CAN cu rezoluţii mari şi foarte mari realizate
în tehnica sigma-delta. Realizările respective sunt mai degrabă un CAN cu microcontroler
(firma Analog Device oferă un nucleu de 8051 plus un CAN sigma-delta
cu rezoluţii până la 24 biţi!)
Practic singura tehnică de conversie numeric analogică care poate fi folosită este bazată
pe modulaţia factorului de umplere (PWM). Există unul sau mai multe canale pe care se
poate genera un tren de impulsuri cu factor de umplere programabil (0 -100%).
Astfel microcontrolerul este acum terminat, şi tot ce mai rămâne de făcut este de a-l
pune într-o componentă electronică unde va accesa blocurile interioare prin pinii acestei
componente. Imaginile de mai jos ne sugerează cum arată un microcontroler la exterior
şi în interior.
Liniile subţiri ce merg din interior către părţile microcontrlerului reprezintă fire conectând
blocurile interioare cu pinii capsulei microcontrolerului.