Tutorials - PIC Peripherals

 

Il CLOCK


Pin e Registri

Per quanto riguarda l' hardware, fortunatamente i PIC hanno un grado di intercambiabilità pin-to-pin molto elevato ed è possibile una buona generalizzazione.

I pin dell'oscillatore sono solitamente denominati OSC1 e OSC2 e corrispondono solitamente a Ra7 e RA6.

Per quanto riguarda i registri di controllo dell' oscillatore, invece, data la diversità delle risorse dei vari chip, una generalizzazione diventa più difficile e si richiede la lettura del foglio dati del componente utilizzato per determinare le varie opzioni.

Comunque è possibile dire che, in presenza di modalità INTOSC, sarà presente anche un registro OSCTUNE o simile, con lo scopo di aggiustare la frequenza.
Questo registro solitamente è pre caricato da costruttore con il valore adeguato per quel chip, valore che va letto e salvato prima della programmazione; anche a questo riguardo la consultazione del foglio dati del componente utilizzato è la via migliore per conoscere le opzioni disponibili.

In presenza di possibile switch tra fonti diverse di clock, un registro solitamente chiamato OSCON contiene i bit e i flag di gestione.

Va considerato che la possibilità di svitch tra sorgenti di clock è una opzione che solitamente per default è disabilitata e deve essere abilitata nella fase di CONFIG con un parametro tipico IESO = ON o simili.

In ogni caso, a parte i piccoli PIC dotati di un solo modo di oscillatore, la scelta di questo DEVE essere effettuata nella fase di CONFIG del processore.

Infatti l' oscillatore con cui avviare il sistema deve essere impostato nell' hardware configurabile PRIMA di applicare tensione al processore.
Poi, durante il funzionamento, sarà possibile scegliere diverse opzioni o cambiare la frequenza per i modi con oscillatore INTOSC).

Quindi va applicata particolare cura alla selezione del giusto modo di oscillatore desiderato.

Ancora, va notato che, sfortunatamente, non in tutti i file .INC di definizione dei processori vengono usati gli stesi termini ed è necessario fare sempre riferimento alla sezione relativa alla configurazione del foglio dati del componente usato.


ALCUNE NOTE

 

  • A seguito di qualsiasi RESET, è attivo di default l' oscillatore primario.
     

  • Sempre a seguito di un reset , se selezionato un oscillatore interno, la frequenza di default è 1MHz in alcuni PIC, 4 MHz o 32KHz in altri. Valori differenti vanno programmati attraverso i bit di  OSCCON durante il funzionamento del programma. 
     

  • Come accennato, il passaggio da una sorgente di clock ad  un' altra richiede un certo tempo di attesa, tempo necessario alla sincronizzazione dei vari elementi. Inoltre, se il nuovo oscillatore deve essere avviato,  tra il momento in cui viene alimentato ed il momento in cui l' oscillazione è stabile, passa un certo tempo, dipendente principalmente dalla frequenza dell' oscillatore stesso.

Quindi è necessario, dopo una commutazione della sorgente di clock, attendere un tempo che Microchip definisce uguale  a due cicli dl clock precedente più 3 o 4 cicli del nuovo clock. I flag di OSCCON possono essere utili in queste situazioni.


Considerazioni pratiche

Da quanto abbiamo detto, si possono trarre le seguenti considerazioni pratiche e molto pragmatiche :

  1. Gli oscillatori che funzionavano con PIC16 hanno ottime probabilità di funzionare altrettanto bene con PIC18: non sono necessarie sostanziali modifiche da questa parte del circuito, ne particolari esperienze.

  2. Però, svariati PIC funzionano anche senza quarzo !!!!
    Dove non serva una frequenza particolare o una precisione estrema, il nostro PIC fa benissimo a meno di quarzo e condensatori. 

  3. Oltretutto, in PIC con modi INTOSC, solitamente si può programmare un buon numero di frequenze, tra le più comuni (1, 4, 8 MHz) per andare in su fino a 32 MHz o in giù a 32 kHz, tutto via software.
    Per la maggior parte delle applicazione, questo è più che adeguato ed anche per istruzione o hobby è una caratteristica di grande comodità.

  4. con i modi INTIO si possono recuperare i due pin dell' oscillatore esterno come ulteriori IO, il che può essere un buon vantaggio in quelle applicazioni affamate di pin.


 

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