OSCILLATORE INTERNO
Come già presente nei più recenti PIC della famiglia 16F,
anche nella 18F è stato implementato un raffinato 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 ( 8, 4, 1MHz, 500, 250, 125 e 31kHz),
ma ha il vantaggio di non richiedere alcun componente e di essere in
generale affidabile più di componenti esterni di bassa qualità.
La frequenza base del clock interno (INTOSC) è di 8MHz e l'
aggiunta del postscaler permette di ottenere gli altri 7 valori inferiori.
Va notato che il valore di default a cui parte il micro dopo un RESET è
1MHz : sarà possibile poi da software scegliere un' altra frequenza tra
quelle disponibili.
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
INTSRC (registro OSCTUNE<7>), si potrà utilizzare il secondo
oscillatore interno (INTRC) per il clock principale.
La selezione con 1 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.
Se questo non serve, la soluzione alternativa mette a disposizione 2
I/O , il che è sempre ben accetto sopratutto nei chip con un basso numero
di pin.
Le pagine delle caratteristiche elettriche fornizsco altri
dettagli sull' oscillatore RC interno, in particolare la TABLE 28-8.
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.
Il registro OSCTUNE, 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. Come detto, quando sia
selezionata la modalità dell' oscillatore interno INTOSC e il clock a
31kHz, il bit IRCF del registro OSCTUNE consente di scegliere se alimentare
il clock principale con il segnale generato da INTOSC o da INTRC.
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