OSCILLATORE con QUARZO ESTERNO
Si tratta del sistema standard comune a tutti i
microcontroller: un quarzo viene collegato esternamente al chip utilizzando
due pin dedicati.
Sono previsti vari modi, denominati LP, XT e HS.
Va notato, inoltre, che svariati PIC consentono anche i modi
XTPLL e HSPLL, dove all'oscillatore guidato dal quarzo viene fatto seguire
il PLL che ne moltiplica la frequenza x 4.
Per tutti è necessario collegare esternamente ai pin OSC1 / OSC2 un
componente XTAL che può essere:
-
un quarzo o un risonatore ceramico a due pin,
a cui vanno aggiunti i due condensatori C1 e C2
-
oppure un risonatore ceramico a tre pin, che
contiene i due condensatori.
E' da notare che il quarzo deve avere risonanza parallela e
non serie, perchè in questo caso probabilmente non oscillerà alla giusta
frequenza.
La resistenza Rs è opzionale con i cristalli normali e serve ad
evitare un sovrapilotaggio del quarzo; diventa indispensabile con i
cristalli low power. Il suo valore può variare tra qualche centinaio di ohm
e molte decine di kohm a seconda del quarzo usato.
La resistenza Rf di
carico del circuito oscillante linearizza in gate oscillatore e dipende da
come è configurato l' oscillatore . Una Rf è già integrata nel
package, ma, a seconda delle caratteristiche del quarzo, può essere
richiesta o meno una Rf esterna, solitamente di valore elevato. Ad esempio
praticamente alcune evaluation board di Microchip utilizzano in parallelo
agli ingressi OSC una resistenza da 1 Mohm.
In generale, usando quarzi adatti a microcontroller, non è necessario
inserire Rf esterna, mentre la Rs si rende indispensabile se viene
utilizzato un quarzo low power, ad esempio il classico 32kHz del genere per
orologeria .
La necessità di resistenze addizionali, così come la necessità di variare
i valori dei condensatori, può essere individuata dal fatto che il valore
del clock ottenuto si discosta da quello che il quarzo dovrebbe generare.
Le modalità con cristallo esterno si differenziano per l'
energia che il PIC fornisce al cristallo per oscillare.
Le modalità LP, XT e HS sono del tutto
analoghe in tutti i PIC:
Modo
|
Frequenza
|
Condensatori
|
Impiego
|
LP
|
tip. 32 kHz
|
15-22 pF
|
oscillatore a bassa
potenza, previsto per cristalli miniaturizzati del genere
utilizzato in orologeria
|
XT
|
fino a 4 MHz
|
27-33 pF
|
oscillatore a media
potenza, adatto per cristalli fino a 4MHz
|
HS
|
oltre 4 MHz
|
15-27 pF
|
oscillatore ad alta
potenza, adatto per cristalli oltre i 4MHz
|
I valori dei condensatori vanno calibrati sulle
caratteristiche dei vari cristalli e, in linea di massima valgono le
seguenti regole :
-
il valore si riduce aumentando la frequenza
(tipicamente 33-27 pF a 4Mhz per scendere a 22-15 pF a 20MHz)
-
un maggior valore della capacità aumenta la stabilità
dell' oscillatore, ma, per contro, aumenta anche lo start up time
dell'oscillatore stesso
-
le capacità vanno calibrate caso per caso, a seconda
del quarzo usato, assicurandosi un funzionamento stabile dell'
oscillatore alla minima tensione di alimentazione prevista e nel range
di temperatura in cui si prevede funzionerà l' apparato
Microchip consiglia 22 pF praticamente per tutti i casi:
Oscillatore |
Cristallo |
C1 |
C1 |
LP |
32 kHz |
22 pF |
22 pF |
XT |
1 MHz
4 MHz |
HS |
4 MHz
10 MHz
20 MHz
25 MHz |
Un valore medio di 22-27 pF è adeguato alla maggior parte
delle situazioni. Una regola generica può essere quella di usare
condensatori maggiori se la frequenza di oscillazione è bassa e viceversa.
La cosa migliore è verificare il foglio dati del quarzo scelto: solitamente
i costruttori dei cristalli forniscono i valori di capacità da associare
al loro prodotto, come pure la necessità di una eventuale resistenza Rs in
serie o Rp in parallelo.
NOTA:
Microchip evidenzia comunque le seguenti regole generali:
-
Una maggiore capacità incrementa la stabilità dell'
oscillatore, ma incrementa anche il tempo di stabilizzazione
-
Alimentando il chip con tensioni al di sotto dei 3 volt o
quando si utilizzano risonatori ceramici (a qualsiasi Vdd) può essere
necessario sostituire il modo XT con il modo HS
-
Dato che ogni cristallo o risonatore ha parametri tipici,
è opportuno consultare le caratteristiche fornite dal costruttore per la
scelta dei condensatori più opportuni
-
Rs va inserita nel caso in cui si verifichi un sovra
pilotaggio del quarzo
-
Verificare sempre le prestazioni dell' oscillatore per
tutto il range di funzionamento del
disposi tivo, sia in tensione che in
temperatura
Se la frequenza
generata è di valore molto più elevato di quella del cristallo, molto
probabilmente lo si sta pilotando con una energia eccessiva. Scegliere un
modo a potenza minore o inserire la resistenza Rs
Se la frequenza generata è instabile o ha un valore scorretto, oppure il
circuito non oscilla, probabilmente si sta usando un modo a energia troppo
bassa. Scegliere un modo XT o HS.
|
Ovviamente, se serve una elevata stabilità e
precisione in funzione sia della temperatura che della tensione di
alimentazione, sarà necessaria una maggior cura nel verificare il corretto
funzionamento di questa parte del circuito, adottando anche quarzi con una
minima deviazione percentuale (ppm).
Ovviamente, scelta la soluzione a quarzo per la richiesta
precisione, i condensatori non potranno che essere degli NP0.
Al posto del cristallo, quando invece non sia
richiesta particolare precisione, si possono utilizzare i più economici
, ma meno precisi, risonatori ceramici, di cui esistono anche
versioni a 3 pin che contengono i due dei condensatori e quindi fanno
risparmiare spazio e moneta.
Nel caso in cui si utilizzino risonatori, può capitare di dover
scegliere il modo HS anche per frequenze sotto i 4MHz, sopratutto se la
tensione di alimentazione è inferiore a 5V; questo dipende dalla necessità
di immettere maggior energia per far oscillare questi componenti, che a
volte sono un po' "duri". In questo senso, Microchip consiglia
anche di impiegare il modo HS invece di XT con risonatori sopra i 3.5MHz.
In sostanza, la differenza tra XT e HS è la maggiore
energia (corrente) che l' oscillatore HS invia al quarzo, con la
possibilità, però, di sovra pilotarlo. Nel caso di quarzi miniaturizzati,
genere cilindrico per orologi, la Rs può essere indispensabile per
ridurre la corrente nel cristallo entro i limiti previsti dal costruttore
per quel particolare elemento.
Microchip, con i risonatori, consiglia di utilizzare il modo
HS anche per frequenze inferiori a 3.5 MHz, dato che HS funziona con
qualsiasi Vdd e fornisce una maggiore energia all' oscillazione.
Nel caso in cui il risonatore risultasse particolarmente sensibile e quindi
sovraccaricato, il problema viene corretto con inserendo la RS (valore
tipico 330 ohm).
In genere un sovra pilotaggio del cristallo si rivela con l' oscillazione
ad una frequenza diversa da quella prevista, normalmente su una armonica
superiore : ad esempio un quarzo da 32 kHz sovrapilotato per mancanza
della Rs oscillerà, spesso in modo irregolare, a 160 o più kHz.
Le specifiche dei costruttori indicano la corrente prevista nel cristallo,
ma, dato che si tratta di un parametro non facile da misurare, la procedura
più semplice è quella di inserire la resistenza serie quando il circuito
oscilla su un valore molto diverso da quello nominale.
Va precisato che il sovra pilotaggio e la conseguente deviazione dalla
frequenza nominale del cristallo è fatto diverso dalle piccole differenze
di frequenza dovute alle tolleranze del quarzo o all' accoppiamento non
perfetto con i gate dell' oscillatore: in questo caso la differenza tra la
frequenza nominale e quella ottenuta sarà piuttosto piccola e sarà
possibile quasi sempre correggerla variando la capacità dei condensatori
associati.
In tal senso è sempre possibile collegare un condensatore
variabile in parallelo o al posto del condensatore sull' uscita dell'
oscillatore (OSC2) per arrivare alla massima precisione, ma va tenuto
presente che non ha senso usare trimmer e condensatori qualunque, bensì
occorre impiegare elementi ad alta stabilità, paragonabile a quella del
quarzo, per evitare fenomeni di deriva con il variare della
temperatura (altrimenti la presenza del quarzo è inutile !!).
D'altronde, se la precisione o la frequenza ottenibili con un cristallo non
sono richieste, molti PIC funzionano anche con un oscillatore RC o con l'
oscillatore interno (ved. più avanti).
Se i risonatori piezoceramici a tre pin solitamente non
danno alcun problema, maggiori difficoltà si possono trovare volendo usare risonatori
piezoceramici a due pin, del genere recuperato da drive floppy o vecchi
drive CD o del tipo usato per i filtri di media frequenza negli apparecchi
radio. Questi elementi possono richiedere un po' di tempo nella ricerca dei
valori adeguati di Rs/Rf e C1/C2 oppure possono anche rifiutarsi di
funzionare. Con questi risonatori è possibile che sia necessario aumentare
il valore dei condensatori, arrivando anche a 220-330 pF.
A riguardo di questi problemi, Microchip propone diverse
brochures, richiamate in bibliografia, utili per chi intende approfondire l'
argomento.
|
Nell' immagine a lato l' ingrandimento della
scheda demo Pickit 28-pin di Microchip.
Il circuito è stato progettato con abilità e
permette di configurare diversi tipi di oscillatore.
-
Oscillatore
principale a cristallo : impiega i componenti X1,
C3 e C4 e Rf. La foratura di X1 permette
anche il montaggio di risonatori ceramici a tre pin che
evitano l' impiego dei due condensatori. Da notare anche l'
ulteriore possibilità di installare un cristallo SMD
-
Oscillatore RC
: in alternativa, Rext e Cext (C3) permettono di
configurare l' oscillatore RC
-
Oscillatore di
Timer1: in questo caso i componenti pre installati
sono C6, C7, e X2, con la resistenza in serie R8 (Rs)
|
Ecco l' ingrandimento dell' area oscillatore primario di UniBoard,
con tre delle modalità possibili:
|
|
|
INTOSC |
Oscillatore ceramico (XT o HS) |
HS con cristallo |
Va chiarito che chi si trova in difficoltà con l'
oscillatore dei PIC è perchè , probabilmente, sta commettendo pesanti
errori, ad esempio nella scelta del quarzo, che deve essere specifico
per microcontroller, solitamente in case HC-49, e non certamente del genere
per radio trasmissioni, che funzionano in terza o quinta armonica, o tanto
meno vecchi surplus militari o industriali, che richiedono potenze di
eccitazione elevate.
Altrettanto importante è la scelta della modalità di funzionamento dell'
oscillatore : una scelta errata impedisce l' oscillazione. E' possibile
anche che uno stesso gruppo quarzo/condensatori oscilli con diverse
impostazioni, ad esempio tanto in modo HS che XT: in questi casi è molto
probabile che una delle due modalità dia un valore di oscillazione che più
si avvicina al valore nominale del quarzo e questo sarà il criterio per la
scelta.
Va tenuto presente che anche il range di temperatura in cui si troverà a
lavorare il circuito è determinante, in quanto un conto è un dispositivo
che funzioni a temperatura ordinaria del laboratorio, altro è il caso di un
dispositivo che debba lavorare all' aperto con variazioni da -10 a + 40 C ;
qui occorrerà verificare che l' oscillatore parta e funzioni regolarmente
entro tutta la gamma di temperatura.
E' anche opportuno ricordare che i quarzi sono componenti abbastanza
delicati e soggetti ad essere danneggiati da operazioni di saldatura e
dissaldatura poco curate, andando fuori caratteristiche.
Inoltre, come già detto, i condensatori devono essere elementi ceramici NP0
di qualità e non recuperi qualsiasi dal surplus, pena la probabile
variazione della frequenza con il variare della temperatura.
Di nuovo, va ricordato che, se l' applicazione non è sensibile alle
variazioni del clock, il suo valore non riveste alcuna importanza , allora
è più sensato scegliere una modalità con oscillatore interno, che è
sufficientemente precisa per gran parte delle applicazioni. Ma se si usa il
quarzo come elemento di riferimento del tempo, allora è ovvio che diventa
essenziale evitare una possibile deviazione con la temperatura.
Comunque, in molti anni di lavoro sui PIC non è mai
capitato che si siano presentati problemi nell' oscillatore se non in
dipendenza dall' errata scelta del quarzo o della modalità di funzionamento
dell' oscillatore.
Per esperienza, utilizzando cristalli specifici per microcontroller, non ci
sono mai stati particolari problemi, nè criticità .
La Rf da 1 Mohm è facoltativa (anche se averla in circuito non porta
conseguenze negative) e non si è resa necessaria l' aggiunta di Rs se non
sui quarzi da orlogeria. Anche l' impiego di risonatori a tre pin, che
contengono al loro interno i condensatori necessari, ha sempre dato ottimi
risultati.
Possibili criticità si possono incontrare per valori di alimentazione
bassi, sotto i 3.3V o per temperature molto basse (molto al di sotto dello
zero). Dovendo prevedere l' operare del circuito in queste condizione di
funzionamento , è indispensabile la verifica del corretto funzionamento
dell' oscillatore scelto : ad esempio, per un dispositivo alimentato a
batteria e che deve operare all' aperto o su un veicolo, andrà verificato
che esso parta anche con la minima tensione e la minima temperatura
prevista, ricordando che le frequenze massime nominali dei PIC sono indicate
per la tensione di funzionamento massima, mentre sono soggette ad una
riduzione anche sensibile col ridursi della tensione. Più avanti il
paragrafo Frequenza massima chiarisce meglio questo aspetto.
Informazioni addizionali - Bibliografia
Per chi voglia saperne di più, Microchip consiglia di
consultare la sua documentazione relativa alla progettazione degli oscillatori
per i PIC e in particolare le seguenti Application Notes:
-
AN588, “PIC® Microcontroller Oscillator Design
Guide”
-
AN826, “Crystal Oscillator Basics and Crystal Selection
for rfPIC® and PIC® Devices”
-
AN849, “Basic PIC® Oscillator Design”
-
AN943, “Practical PIC® Oscillator Analysis and
Design”
-
AN949, “Making Your Oscillator Work”