Tutorials - PIC peripherals

 

Il CLOCK

 


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


 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 09/04/11.