1. INTRODUCERE
Indiferent de ceea ce este controlat (de ex. o centrala termica sau starea de sanatate a unui pacient),
sistemul de comanda digitala este alcatuit din:
- unitate centrala
- periferice
Unitatea centrala este realizata in cele mai multe cazuri in jurul unui procesor. Acesta are nevoie
obligatoriu de:
- memorie
- generator de ceas
- interfata cu perifericele
si optional de:
- timere
- controlor de intreruperi
- convertoare A/D sau D/A
- interfete seriale
Ideea de baza a fost comasarea acestora intr-o singura pastila de Siliciu. Se obtine astfel un sistem de
calcul intr-un singur chip. Avantajele sunt evidente - se poate realiza un sistem complex de prelucrare si
control industrial folosind un numar redus de piese; dispare eterna problema a realizarii unor cablaje
complicate care asigurau conectarea procesorului cu memoria. Aceste microcontrollere pastreaza arhitectura sistemelor uzuale.
2. DESCRIERE HARD
Proiectantii au realizat un "nucleu" al unui astfel de microcontroller,adaugand in jurul lui diverse
periferice pentru a obtine membrii familiei de microcontrollere. In functie de aplicatie, se poate alege un
model sau altul al aceleiasi familii, structura nemodificandu-se. In general, "nucleul" unui astfel de
controler este alcatuit din:
- unitatea centrala: unitatea de comanda, unitatea aritmetica/logica, registri
- memoria pentru program si/sau date
- controlorul de intreruperi
- generatorul de ceas
- timere si eventual un watchdog
Microcontrollerele pot fi prevazute cu: porturi bidirectionale, controlere de comunicatie seriala UART/USART, convertoare A/D, convertoare D/A (mai rar), generatoare de PWM ( Pulse With Modulation), controlere de magistrala pentru extinderea spatiului de memorie.
2.1 Unitatea centrala
Unitatea centrala poate fi - in functie de arhitectura abordata – de tip CISC sau RISC (de curand,
AMD a realizat familia SHARC - Super Harvard ARChitecture). Microchip a realizat chiar unitati de tip
Pipeline pentru accelerarea prelucrarii. Registrii pot fi dedicati sau generali, in functie de arhitectura.
Microcontrollerele pot fi prevazute cu unitati de calcul in virgula mobila, putandu-se realiza prelucrari
complexe de date.
2.2 Memoria de program si/sau date
De la familie la familie si chiar de la model la model memoria poate diferi ca tip si capacitate. Se
pot accesa astfel intre 1K si 64K de memorie de program/date. Modelele pot fi prevazute cu memorie de
tip PROM, EPROM, EEPROM sau FLASH. Daca nu e suficient, spatiul intern de memorie se poate
extinde, folosind circuite de memorie auxiliare (pretul platit: complexitatea montajului creste).
2.3 Generatorul de ceas
Permite realizarea ceasului necesar functionarii unitatii de executie.
Este complet, neavand nevoie extern decat de un quartz sau de chiar numai de o rezistenta si un
condensator (in functie de configuratie). Se elimina astfel o serie de componente externe ce ar fi scazut
fiabilitatea microsistemului. Poate functiona cu frecvente cuprinse intre 0 - 24 MHz.
2.4 Timerele si Watchdog-ul
Sunt pe 16 biti, cu sau fara prescaler. Aparitia watchdog-ului a fost necesara datorita faptului ca aceste sisteme, fiind utilizate cu
precadere in mediul industrial, pot intra - datorita perturbatiilor electromagnetice - in bucle infinite,
blocandu-se. Rolul acestui watchdog este de a reseta microcontrollerul dupa o perioada de inactivitate a acestuia.
2.5 Porturile bidirectionale
Pentru a comanda diverse periferice ( leduri, motoare pas cu pas, etc.) microcontrollerele sunt
prevazute cu porturi bidirectionale. Acestea pot fi accesate la nivel de bit. Pentru a acoperi un spectru
larg de utilizari, porturile pot fi:
- out: Open Drain / Open Colector - permit un curent mai mic sau egal cu 50 mA , Tristate
- in: Trigger Schmitt
2.6 Controlerele de comunicatie seriala
Pentru a usura comunicatia cu exteriorul, diversele modele de microcontrollere pot fi prevazute
cu automate specializate pentru comunicatie. Se realizeaza astfel serializarea si verificarea datelor. Au fost impuse mai multe protocoale de
comunicatie inter-microcontroller:
- I2C - impus de PHILIPS
- CAN
- MICROWIRE/PLUS - impus de NATIONAL
Aceste protocoale sunt implementate hard, utilizatorul trebuind doar sa le seteze corespunzator.
2.7 Convertoare A/D
Pentru a putea prelucra informatii analogice, microcontrollerul poate fi prevazut, in general, cu un
convertor A/D care lucreaza prin aproximatii succesive, fiind dotat cu mai multe canale iar accesul fiind
multiplexat. Intern este prevazut cu un buffer, utilizatorul trebuind doar sa asigure controlerului
tensiunea de referinta.
2.8 Generatoare de PWM
In general nu se folosesc convertoare D/A, ele fiind destul de ieftine si simple, usor de atasat
extern. Este mult mai importanta generarea de semnale PWM care prin integrare dau un semnal analogic
proportional cu informatia digitala. Acest tip de semnal este foarte folosit in comanda motoarelor de
curent continuu, fiind cea mai buna metoda de reglare a vitezei.
2.9 Controlere de magistrala pentru extinderea spatiului de memorie
In ipoteza ca se doreste extinderea spatiului de adresare a memoriei de program sau date, unele
microcontrollere au prevazute ca extensii controlere de magistrala. Astfel se pot adresa chipuri de
memorie exact in stilul procesoarelor, pretul platit fiind complexitatea crecuta a montajului.
3. DESCRIERE SOFT
Limbajul de asamblare disponibil acestor microcontrollere este foarte asemanator cu cel al
procesoarelor avansate. Indiferent de tip (RISC/CISC), microcontrollerele sunt foarte usor de programat.
In functie de model apar insa setari diferite.
Programarea unor astfel de circuite se poate face in mai multe moduri:
- programul este continut intr-o memorie externa
- programul se *arde* in chip exact ca intr-un EPROM (folosind un programator specializat)
- se poate face un *download* al programului folosind doar 2 fire (clock si date) fara a scoate
din circuit chipul
Firmele producatoare pun la dispozitie emulatoare hard si soft ale
microcontrollerelor pe care le produc. Un emulator hard se comporta exact ca un chip real, putandu-se
planta direct in circuit.
Memento:
[Adauga tutoriale] Ajuta-ne sa crestem. Trimite tutoriale la crisan_cristi@rdslink.ro !
|
CategoriiTutoriale:
Tutoriale Embedded
Cum sa ...?
|