OSCILLATORE INTERNO
In alcuni Base-Line e Mid-Range e negli Enhanced è implementato un
sistema di generazione
del clock senza utilizzare componenti esterni. Questo oscillatore impiega
una rete RC interna.
Rispetto alla rete RC esterna solo alcuni valori sono
programmabili, con un rapporto fisso (ad esempio 8, 4, 1MHz, 500, 250, 125 e
31kHz o solo parte di questi),
ma ha il vantaggio di non richiedere alcun componente e di essere in
generale affidabile più di componenti esterni di bassa qualità, oltre che
avere una elevata stabilità in temperatura e una precisione nominale del
2%; da tenere presente che questa modalità di oscillatore dispone
solitamente di un registro programmabile che permette una taratura
fine della frequenza generata.
Va notato che esiste un valore di default a cui parte il micro dopo un RESET
e che dipende dal tipo del chip; sarà possibile poi da software scegliere un' altra frequenza tra
quelle disponibili.
La frequenza base del clock interno (INTOSC) è sovente di 8MHz
e l'
aggiunta del postscaler permette di ottenere altri valori inferiori
(divisione per 2), mentre in alcuni chip si può associare un PLL che
moltiplica il clock per 4.
Altri chip partono con 4MHz o 32 kHz: una consultazione dei fogli dati è
sempre necessaria.
Sono disponibili due modalità .
Modo |
Descrizione |
Configurazione |
INTIO1 |
Il pin OSC1 assume funzione di GPIO, solitamente come RA6
Il pin OSC2 è l' uscita del clock diviso per 4 |
|
INTIO2 |
Il pin OSC1 assume funzione di GPIO, solitamente come RA6
Il pin OSC2 assume funzione di GPIO, solitamente come RA7 |
|
Nelle applicazioni in cui il clock non è estremamente
critico, che è una larga fetta delle applicazioni possibili, INTOSC
consente di avere un sensibile risparmio di materiali e spazio ed in più la
disponibilità di pin I/O extra.
Va notato che i progettisti, consci della limitazione di precisione del
clock interno, hanno realizzato la cosa con componenti calibrati in
fabbrica, ma hanno previsto pure un sistema di calibrazione addizionale a
disposizione dell' utente.
L' oscillatore interno INTOSC può essere abilitato
anche per un clock di 32 kHz ; in questa condizione, in dipendenza dal bit
di un registro di controllo, si potrà utilizzare il secondo
oscillatore interno INTRC per il clock principale.
La selezione con un I/O disponibile, permette di avere una
"copia" del clock (FXTAL/4) del processore sul pin OSC2 e questo
è utile sia per diagnostica sia necessità un clock per altre periferiche
(ad esempio, usare più PIC sulla stessa scheda con un unico oscillatore in
comune).
Se questo non serve, la soluzione alternativa mette a disposizione due I/O , il che è sempre ben accetto sopratutto nei chip con un basso numero
di pin.
Le pagine delle caratteristiche elettriche dei fogli dati
forniscono altri
dettagli sull' oscillatore RC interno.
Ad esempio, questa è la caratteristica di un PIC18F2321:
Si nota come la precisione dell' oscillatore dipenda dalla
temperatura e dalla tensione di alimentazione.
I riferimenti della tabella sono forniti per i componenti
"industriali", ovvero quelli garantiti dal costruttore per una
gamma di temperatura operativa estesa (-40°C ≤ TA
≤ +85°C).
E' evidente come da una precisione del tipica del +/- 1 % a 25 °C si possa
passare a un +/- 10 % per gli estremi della gamma di temperatura.
In particolare, la frequenza di "31kHz" può essere soggetta a un
margine di scostamento abbastanza significativo.
Un registro, comunque, permette un aggiustamento
della frequenza generata dall' oscillatore interno e quindi la correzione
della deviazione.
OSCILLATORE INTRC
Questa è una sorgente interna che non impiega alcun
componente esterno e genera una frequenza nominale di 31kHz , il cui
scopo primario è quello di clock per le seguenti funzioni :
-
Timer power-up
-
Fail safe clock monitor
-
Watchdog timer
-
Start-up a due velocità
Questo significa che le funzioni sopra indicate non sono
legate ad alcun altro clock, esterno o interno, e funzionano
indipendentemente dalla loro presenza e frequenza.
INTOSC e INTRC sono anche indipendenti tra di loro e non si influenzano.
Lo scopo dell' oscillatore INTRC è essenzialmente quello di
fornire il clock a funzioni di sicurezza, come quelle prima indicate, la cui
operatività è necessaria anche se altre sorgenti di clock non sono
disponibili. Comunque, il fatto di poter utilizzare questo modulo
oscillatore anche al di là della sua destinazione offre al progettista un
ulteriore bonus.
L' INTRC è sempre attivo per cui, non abilitando altri oscillatori, si
ottiene un funzionamento con il minimo consumo di corrente