Obiective
- Sa inNeleaga ce reprezinta un circuit integrat de tip microcontroler;
- Sa intre in contact cu arhitectura familiei de microcontrolere PIC16;
- Sa inveNe modul de lucru cu mediul integrat de programare MPLAB;
- Sa inveNe sa utilizeze programatorul si depanatorul in circuit ICD2;
Microcontrolere
Microcontrolerul este un circuit integrat pe scara foarte larga (VLSI)
care inglobeaza in el un intreg sistem cu microprocesor, avand resurse mai
restranse in ceea ce priveste puterea de procesare si capacitatea de
memorare, dar resurse mai variate de intrare-iesire. Structurat in acest
mod, sistemul integrat devine orientat mai mult catre aplicaNii de control si
automatizari si mai puNin catre aplicaNii de calcul intensiv.
Unitatea centrala de procesare a unui microcontroler are in general o
arhitectura pe 8 biNi, cu o putere de calcul limitata. Chiar daca in ultimul
timp au aparut astfel de circuite cu unitatea centrala de procesare pe 16 sau
32 de biNi si memorii interne semnificative, acesea nu sunt de fapt
microcontrolere in sensul clasic al utilizarii lor, ci intra mai mult in categoria
microcalculatoarelor integrate dedicate sau in cea a procesoarelor de
semnal.
Deoarece resursele de intrare-iesire necesare in aplicaNiile de
automatizari pot fi foarte variate, nu este posibila cuprinderea lor completa
intr-un singur cip si se alcatuiesc familii de microcontrolere. Circuitele unei
familii au aceeasi arhitectura si set de instrucNiuni pentru unitatea centrala
de procesare, dar cantitaNi diferite de memorie-program, memorie-de-date si
in primul rand cuprind diverse structuri hardware de intrare-iesire, in general
foarte diferite intre ele.
Cele mai cunoscute familii de microcontrolere pe 8 biNi care s-au impus
de-a lungul timpului datorita diverselor facilitaNi pe care le introduc, sunt:
8051 de la Intel si Z8 de la Zilog in categoria CISC (Complex Instruction Set
Computer), PIC de la Microchip si AVR de la Atmel in categoria RISC
(Reduced Set Instruction Computer). E important de subliniat de pe acum ca
nu se poate stabili care este cea mai performanta familie de microcontrolere,
deoarece fiecare isi dovedeste avantajele intr-o aplicaNie specifica, fiind mai
dezavantajoasa intr-o alta.
In continuare se vor studia circuite din familia de microcontrolere
PIC16 de la Microchip, care au unitaNi de procesare mai puNin performante,
dar cu cel mai variat set de circuite hardware auxiliare pentru intrare-iesire.
prep. drd. ing. & fiz. IOAN Aleodor Daniel
2
Arhitectura PIC 16F877 si PIC 16F917
Spre deosebire de majoritatea microprocesoarelor de uz general care
au o arhitectura interna de tip Neumann, cu magistrala comuna pentru
instrucNiuni si date, microcontrolerele din familia PIC16 au o arhitectura de
tip Harvard, cu magistrale separate pentru instrucNiuni si date (fig. 7.1.).
Memoria de instrucNiuni este de tip FLASH (care poate fi stearsa si
reprogramata pe blocuri), iar memoria de date este de tip SRAM, cu o
dimensiune mult mai redusa, alcatuind de fapt registrele de lucru ale
procesorului (RAM File Registers). Este disponibila pe cip si o memorie de
date de tip EEPROM (care poate fi stearsa si reprogramata la nivel de locaNie,
de mai multe ori decat memoria FLASH), accesata in mod indirect prin
intermediul unor registre din memoria RAM.
Fig. 7.1. - Arhitectura microcontrolerelor din familia PIC16.
Laborator "Sisteme cu microprocesoare" 3
Separarea completa a celor 4 magistrale de adresare si de
citire/scriere pentru memoria program si memoria de date permite
accesarea concomitenta a acestora, adica suprapunerea ciclului de execuNie
a instrucNiunii curente si cu cel de extragere a instrucNiunii urmatoare. De
asemenea, in acest fel magistrala de instrucNiuni poate avea o laNime
suficienta (14 biNi) pentru a permite citirea completa a tuturor instrucNiunilor
intr-un singur ciclu de acces, in timp ce magistrala de date poate fi pastrata
la laNimea data de unitatea aritmetico-logica ALU (8 biNi).
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.