Tutorials - PIC18 by Data Sheet

 

Pagina 22-25

 


 

CALIBRAZIONE DELL' OSCILLATORE 
Il Registro OSCTUNE

Gli oscillatori interni, pur basandosi su componenti di precisione, non ha certamente le caratteristiche ottenibili con un cristallo. Per ovviare a questo, il circuito è calibrato in fabbrica, ma può essere messo a punto dall' utente, via software, all' interno dell' applicazione. Questo si ottiene con un opportuno registro, OSCTUNE.

Quando il valore contenuto in OSCTUNE  viene modificato, le frequenze generate da INTOSC e INTRC cambiano automaticamente.

INTRC raggiunge il nuovo valore in 8 impulsi di clock (8 * 32 us = 256 us), mentre INTOSC si stabilizza in 1 ms. Durante questi tempi di aggiustamento, il flusso delle istruzioni in corso prosegue senza alcun arresto.

Il registro OSCTUNE contiene un bit INTSRC che permette di selezionare quale sorgente interna genera il clock a 31kHz.

La variazione della frequenza generata da INTRC e INTOSC in funzione della tensione di alimentazione e della temperatura sono riportate sul foglio dati del processore. Va notato che i due oscillatori sono separati e cambi di frequenza per queste variazioni non influiscono ugualmente sui due circuiti.

OSCTUNE bit INTSRC   PLLEN - TUN4 TUN3 TUN2 TUN1 TUN0
funzione R/W R/W 0 R/W R/W R/W R/W R/W
  • bit 7      INTSRC : selezione della sorgente interna del clock a 31kHz
                 1 = 31.25kHz derivato dagli 8 MHz dell' INTOSC ( /256)
                 0 = 31 kHz derivati dall' RC interno (INTRC)

  • bit 6       PLLEN : abilita il PLL nelle modalità INTOSC
                  1 = PLL abilitato (solo per 4 e 8 MHz)
                  0 = PLL disabilitato

  • bit 5       non utlizzato - se letto, riporta 0

  • bit 4-0   TUN4:0 : calibrazione della frequenza
                  01111 = frequenza massima
                  ...
                  00001
                  00000 = Centrale, pari al valore calibrato in fabbrica
                  11111
                  ...
                  10000 = frequenza minima

Da notare che i valori di TUN4:0 permettono una variazione in su e in giù rispetto al valore centrale assegnato in fabbrica, quindi 0x00 è il valore centrale, mentre per aumentare la frequenza il campo va da 0x01 a 0x0E e per diminuire da 0xFF a 0x10. La calibrazione della frequenza va fatta verificando un segnale posto come riferimento accessibile all' esterno (ad es. PWM) oppure controllando la risposta a processi che interessano il tempo, come le trasmissioni seriali o timer in modo cattura-compara. Dato che la variazione del contenuto di OSCTUNE non interrompe il flusso delle istruzioni, si possono scrivere procedure di aggiustamento del clock automatizzate.


CLOCK Switch

Una funzione interessante dei PIC 18F è quella di poter cambiare, durante il funzionamento, la sorgente del clock. Lo scopo può essere duplice : quello di disporre di due clock adeguati per due diversi tipi di operazione, ma sopratutto, di poter disporre di un clock a frequenza elevata per lo operazioni più complesse e di un clock a frequenza minore per mantenere attivo il processore con un ridotto consumo di energia.
Sostanzialmente sono intese tre tipologie di sorgenti del clock :

  1. Oscillatori primari , che includono gli oscillatori con circuito esterno
     

  2. Oscillatori secondari, ovvero le sorgenti non connesse ai pin OSC1/OSC2. Queste sorgenti possono continuare a funzionare anche con il controller posto in una delle modalità di Power Management. Ad esempio, alcuni controller offrono un oscillatore ausiliario collegabile a Timer 1, usando tipicamente un cristallo da 32.768 kHz connesso ai pin RC0/T1OSO/T13CKI e RC1/T1OSI/UOE, normalmente con lo scopo di mantenere attive operazione di conteggio del tempo (Real Time Clock).
     

  3. Oscillatori  interni, come  INTOSC e INTRC; quest' ultimo può essere utilizzato anche da funzioni speciali come il Watchdog Timer (WDT) e come Fail Safe Clock Monitor.

La chiave di questa funzione è la possibilità di passare da una sorgente all' altra da programma, senza arrestare le operazioni del controller.
Il registro preposto al controllo di molte funzioni del clock è OSCCON .

 

 


 

 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 23/10/10.