View
27
Download
4
Category
Preview:
DESCRIPTION
mikrokontroleri mikroprocesori mikroprocesorski sistemi preavanja
Citation preview
Mikroprocesorski Sistemi
PIC18FXX2 FAMILIJA MIKROKONTROLERA
Razlike u performansama u odnosu na PIC16F87X familiju
Linearno adresiranje programske memorije do 32 Kbajta Linearno adresiranje memorije podataka (RAM) do 1.5 Kbajta Maksimalna radna brzina 10 MIPS (40MHz, PLL petlja u kolu oscilatora za multipliciranje
taktne frekvencije 4 puta) 75 instrukcija Rezolucija instrukcijske reči je 16 bita Najveći broj instrukcija su jednorečne (16 bitne). Samo četiri instrukcije su dvorečne
(zahtevaju dve lokacije programske memorije). Jednorečne instrukcije se izvršavaju u jednom instrukcijskom ciklusu, izuzev instrukcija grananja (dva ciklusa). Dvorečne instrukcije se izvršavaju u dva instrukcijska ciklusa, izuzev dvorečnih instrukcija grananja, čije vreme izvršenja je tri instrukcijska ciklusa.
18 izvora prekida Dva nivoa prioriteta za prekide Hardverski stack dubine 31 Ugrađen hardverski množač (8 x 8) koji rezultat generiše u jednom instrukcijskom ciklusu,
pogodan za digitalnu obradu signala
Dodatne periferije u odnosu na PIC16F87X familiju
Tajmer0 modul sa programskim izborom 8-bitne ili 16-bitne rezolucije tajmera/brojača i 8-bitnim preskalerom
Tajmer3 modul rezolucije 16 bita Adresabilni USART modul koji podržava RS-232 i RS-485 protokol
Dodatne analogne karakteristike
Programabilni BOR reset Programabilna detekcija niskog napona napajanja sa ugrađenim prekidnim mehanizmom
Pregled karakteristika Microchip-ove familije mikrokontrolera 18FXX2
Mikroprocesorski Sistemi
PIC18F4X2 mikrokontroler
Blok šema Microchip-ovog mikrokontrolera PIC18F4X2
Mikroprocesorski Sistemi
Taktovanje CPU
Za taktovanje mikrokontrolera predviđena su 4 tipa kristalnih oscilatora, 2 tipa eksternih RC i 2 tipa spoljašnjih EC taktnih izvora:
1. LP (Low Power Crystal) do 200KHz,2. XT (Crystal/Resonator) do 4MHz,3. HS (High Speed Crystal/Resonator) do 10MHz,4. HS+PLL (High Speed Crystal/Resonator with PLL) do 40MHz = 4 x 10MHz,5. RC (External Resistor/Capacitor) sa fOSC/4 na izlaznoj liniji OSC2/CLKO,6. RCIO (External Resistor/Capacitor with I/O pin enabled) sa linijom OSC2/CLKO
konfigurisanom kao dodatnom I/O linijom opšte namene (PORTA – RA6),7. EC (External clock) sa fOSC/4 na izlaznoj liniji OSC2/CLKO,8. ECIO (External clock with I/O pin enabled) sa linijom OSC2/CLKO konfigurisanom kao
dodatnom I/O linijom opšte namene (PORTA – RA6),
HS+PLL oscilator - blok dijagram
Promena sistemskog takta
PIC18FXX2 uređaji poseduju mogućnost promene taktne frekvencije prebacivanjem sa sistemskog taktnog izvora (jedan od 8 tipova oscilatora) na alternativni izvor taktnog signala niže frekvencije.
Alternativni izvor taktnog signala za PIC18FXX2 uređaje je oscilator Tajmer1 modula. Na primer, ukoliko Tajmer1 modul kao taktni oscilator koristi časovnički kvarc kristal 32768Hz, tada mikrokontroler može u toku rada programski biti prebačen u režim niske potrošnje.
Na slici ispod je prikazana blok šema sistemskih izvora taktnog signala.
Prebacivanje mikrokontrolera u režim niske potrošnje promenom izvora sistemskog takta
Mikroprocesorski Sistemi
Kontrolni registar za izbor sistemskog takta (OSCCON REGISTAR)
ORGANIZACIJA PROGRAMSKE MEMORIJE
21-bitnim programskim brojčem moguće je adresirati do 2Mbajta prostora programske memorije. Pristup lokacijama koje nisu fizički implementirane će rezultovati čitanjem nula (jedna NOP operacija).
Dubina stack-a je 31 nivo. 5-bitni pokazivač stack-a (stack pointer) inicijalizira se na vrednost nula posle bilo koje vrste reseta. U toku izvođenja CALL instrukcije npr., koja uzrokuje upis sadržaja PC u stack lokaciju, najpre se inkrementira pokazivač stack-a a potom vrši upis sadržaja PC u lokaciju na koju ukazuje pokazivač.
Mikroprocesorski Sistemi
U toku izvođenja RETURN instrukcije npr., koja uzrokuje transfer sadržaja sa lokacije stack-a u PC, najpre se vrši transfer sadržaja sa lokacije stack-a na koju ukazuje pokazivač u PC a potom dekrementira pokazivač.
Registar pokazivača stack-a je R/W registar. Sadržaj stack lokacije na koju ukazuje stack pokazivač čuva se u registrima TOSU, TOSH i TOSL što dopušta korisniku mogućnost implementacije softverskog stack-a. Status bitovi indiciraju prekoračenje ili podkoračenje stack pokazivača.
Povratna adresa stack-a i pridruženi registri
TAJMER 0 periferija
Integrisana periferija mikrokontrolera Tajmer 0 poseduje:
1. programski izbor rezolucije tajmera/brojača (8-bita/16-bita)2. tajmer/brojač registar TMR0 tipa R/W3. 8-bitni programabilni preskaler (delitelj)4. mogućnost internog ili eksternog taktovanja5. izbor ivice impulsa (uzlazna ili silazna) za eksterni takt6. prekid pri prekoračenju tajmera/brojača prilikom tranzicije iz stanja FFh u stanje 00h za 8-bitnu
rezoluciju ili iz stanja FFFFh u 0000h za 16-bitnu rezoluciju
Tajmer 0 može raditi kao tajmer ili kao brojač.Tajmerski (timer) radni režim ovog modula selektuje se resetovanjem bita T0CS (TMR0 clock
select bit) T0CON kontrolnog registra T0CON<5>. U ovom radnom režimu brojački registar Tajmera 0 inkrementira se internim taktom na svaki instrukcijski ciklus (bez preskalera). Posle jednog upisa u TMR0L registar, u naredna dva instrukcijska ciklusa inkrement brojačkog registra je onemogućen.
Brojački (counter) radni režim modula selektuje se setovanjem bita T0CS (TMR0 clock select bit) T0CON registra T0CON<5>. U brojačkom radnom režimu brojački registar Tajmera 0 inkrementira se na svaku rastuću ili opadajuću ivicu impulsa spoljašnjeg taktnog signala na pinu RA4/T0CKI. (bez preskalera). Ivica spoljašnjeg impulsa kojom se inkrementira brojački registar Tajmera 0 bira se setovanjem/resetovanjem bita T0SE (TMR0 source edge select bit) T0CON registra T0CON<4>. Resetovani bit odgovara rastućoj ivici impulsa i suprotno.
Zbog sinhronizacije spoljašnjeg taktnog signala sa jednom fazom internog takta, TOSC, postoji izvesno kašnjenje pri inkrementiranju Tajmer 0 modula posle sinhronizacije.
Preskaler
8-bitni brojač je raspoloživ kao preskaler za Tajmer 0 modul. Registar preskalera nije tipa R/W.Status bitova kontrolnog registra T0CON T0CON<3:0>, PSA (prescaler assignment bit) i
T0PS2:T0PS0, određuju dodelu preskalera Tajmer 0 modulu ili ne, i odnos preskaliranja respektivno.Kada je preskaler dodeljen Tajmeru 0 (PSA=0), upis u TMR0L brojački registar (CLRF TMR0,
MOVWF TMR0, BSF TMR0, x itd.) briše registar preskalera ali ne utiče na njegovu dodelu Tajmer 0 modulu.
Dodela preskalera je pod programskom kontrolom i može biti promenjena u toku izvođenja programa (on the fly).
Mikroprocesorski Sistemi
Tajmer 0 prekid
Tajmer 0 prekid se generiše na prelazu osmobitnog brojačkog registra TMR0 iz stanja FFh u stanje 00h (prilikom prekoračenja brojačkog registra) ili na prelazu iz stanja FFFFh u stanje 0000h za slučaj kada je Tajmer 0 konfigurisan u 16-bitnom radnom režimu. Ovo prekoračenje setuje flag bit TMR0IF. Prekid može biti onemogućen (maskiran) resetovanjem bita TMR0IE. TMR0IE bit mora biti programski resetovan unutar rutine za obradu prekida sa Tajmer 0 modula pre reomogućenja ovog prekida. izlaska iz prekidne rutine kako bi se regularno reomogućio Tajmer 0 prekid.
Prekid Tajmer 0 modula se ne može iskoristiti za buđenje mikrokontrolera iz SLEEP režima budući da se brojački registar Tajmera 0 taktuje internim taktom, jednakim četvrtini frekvencije kristalnog oscilatora (trajanje instrukcijskog ciklusa), ili je spoljnji takt sinhronizovan internim koji se blokira po uspostavljanju stanby režima.
16-bitni režim rada Tajmer 0 modula
TMR0H registar je baferski registar višeg bajta Tajmera 0. Viši bajt Tajmera 0 nije direktno upisni niti direktno čitajući registar. Sadržaj višeg bajta Tajmera 0 se u toku ciklusa čitanja TMR0L registra prenosi u TMR0H registar. Na taj način je osiguran validni prenos svih 16 bitova Tajmera 0 u jednom instrukcijskom ciklusu. Čitanje TMR0H registra vrši se u narednom instrukcijskom ciklusu imajući u vidu 8-bitnu magistralu podataka. Sadržaj TMR0H registra prenosi se u viši bajt Tajmer 0 modula u toku operacije upisa u TMR0L registar što dopušta 16-bitnom registru Tajmera 0 da bude napunjen u jednom instrukcijskom ciklusu.
Mikroprocesorski Sistemi
Blok dijagram Tajmer 0 modula u 8-bitnom modu
Blok dijagram Tajmer 0 modula u 16-bitnom modu
SFR registri pridruženi Tajmer 0 modulu
Mikroprocesorski Sistemi
Tajmer 1 modul
Blok dijagram Tajmer 1 modula (dva 8-bitna ciklusa upisa/čitanja)
Blok dijagram Tajmer 1 modula (jedan 16-bitni ciklus upisa/čitanja)
SFR registri pridruženi Tajmer 1 modulu
Mikroprocesorski Sistemi
Tajmer 3 modul
Blok dijagram Tajmer 3 modula (dva 8-bitna ciklusa upisa/čitanja)
Mikroprocesorski Sistemi
Blok dijagram Tajmer 3 modula (jedan 16-bitni ciklus upisa/čitanja)
Mikroprocesorski Sistemi
SFR registri pridruženi Tajmer 1 modulu
CCP modul
Capture mod
Blok dijagram CCP modula u režimu Capture
Compare mod
Mikroprocesorski Sistemi
Recommended