OSCILLATORI DEL CLOCK DEI PIC18F
Il sistema di oscillatori del clock è particolarmente
elaborato nei PIC18F, consentendo numerose modalità non presenti nella
famiglia 16. Una occhiata allo schema di principio tipico (PIC 18F2455-4550)
da una idea della sua complessità : ci vuole il GPS per orientarsi !
Meno impegnativa, ma sempre poderosa, è la struttura del clock della
famiglia 4520, analoga a quella di molti altri chip similari
In sostanza sono disponibili diverse tipologie di clock :
-
la prima, classica, basata sull' uso di componenti
esterni :
- cristallo con i relativi condensatori (e resistenza). I modi sono
chiamati come al solito LP, XT, HS
- oppure oscillatore esterno (modo EC)
- o semplicemente una rete RC esterna.
Vengono usati due pin (OSC1 e OSC2) che possono assumere diverse
configurazioni. Esiste anche la possibilità di disporre di un secondo
oscillatore a cristallo esterno che utilizza il Timer1.
-
la seconda tipologia non impiega nessun componente
esterno ed utilizza esclusivamente oscillatori interni
La prima modalità consente di ottenere cicli di clock e
temporizzazioni con la precisione propria del quarzo o dell' oscillatore
esterno, mentre la seconda modalità è adatta a tutte quelle applicazioni
in cui questa precisione non è necessaria.
Queste varie modalità sono arricchite da diversi
optional, come :
-
la possibilità di impiegare i pin OSC1 o OSC2 ,
se non usati dagli oscillatori, come I/O generici
-
l' aggiunta di un PLL interno con la possibilità
di moltiplicare x 4 il clock
-
la commutazione da una sorgente di clock ad un' altra,
via software
-
un sistema di aggiustamento della frequenza per
correggere eventuali deviazioni degli oscillatori interni
-
un sistema di sicurezza per l' eventuale guasto del
clock primario.
La tabella riassume le caratteristiche dei vari modi
per la famiglia PIC18F4321.
Modo |
Funzione |
frequenza
tipica |
OSC1 |
OSC2 |
con
componenti
esterni
|
LP |
impiego classico del cristallo low power |
32 kHz |
Osc In |
Osc Out |
XT |
impiego del classico quarzo o
risonatore |
1-4 MHz |
Osc In |
Osc Out |
HS |
HS |
impiego classico di quarzi o
risonatori ad alta velocità |
4-25 MHz |
Osc In |
Osc Out |
HSPLL |
come sopra con PLL
|
max 40 (48) MHz
frequenza del quarzo x4
|
Osc Out |
RC |
oscillatore RC esterno con uscita
del clock/4 |
max 40 (48) MHz |
Osc In |
Out
clock/4 |
RCIO |
come sopra ma con la disponibilità di un GPIO |
GPIO -
RA6 |
EC |
oscillatore esterno con uscita
del clock/4 |
Out
clock/4 |
ECIO |
oscillatore esterno con GPIO |
GPIO -
RA6 |
senza
componenti
esterni |
I
N
T
I
O |
INTIO1 |
oscillatore interno con uscita
del clock/4 e GPIO |
31 kHz - 8 MHz
programmabile
il PLL moltiplica x 4
|
GPIO
- RA7 |
Out
clock/4 |
INTIO1PLL |
come sopra con PLL |
INTIO2 |
oscillatore interno con due GPIO |
GPIO
- RA7 |
GPIO
- RA6 |
INTIO2PLL |
come sopra con PLL |
INTRC |
oscillatore RC interno con due GPIO |
31 kHz |
GPIO -
RA7 |
GPIO -
RA6 |
La frequenza massima operativa dipende dal tipo di
processore; in generale è di 40 MHz, ma alcuni chip possono arrivare a 48
MHz.
La scelta tra le varie modalità viene effettuata al momento della
programmazione agendo sui bit FOSC3:0 nel registro di configurazione CONFIG1H.
Vediamo i dettagli