Come testare un risuonatore di cristallo a bordo?


12

Ho 2 risonatori a cristallo di quarzo nella mia scheda PCB: 32.768 kHz e 20 MHz. Sono collegati a un IC ricetrasmettitore Freescale MC12311, al quale è incorporato un microcontrollore HCS08. Voglio verificare se questi cristalli funzionano correttamente o meno.

Strumenti disponibili : oscilloscopio, frequenzimetro (contatore digitale), multimetro digitale.

Come dovrei usare questi strumenti per testare i cristalli nella scheda ?

  • Nota : l' effetto carico capacitivo delle sonde dovrebbe probabilmente essere preso in considerazione. In caso contrario, la misurazione non sarebbe accurata, o peggio ancora, i cristalli non funzionerebbero affatto.

Edit1 : ho usato sia l'oscilloscopio che il frequenzimetro (con sonde x10), ma sfortunatamente non è stato monitorato nulla.


1
Che tipo di sonde stai usando? È necessaria la larghezza di banda di sonde e strumenti. È possibile controllare la nota applicativa Atmel AVR4100 per alcuni suggerimenti sul cristallo a 32kHz.
Dejvid_no1

1
Probabilmente non si romperà nulla se si mette la sonda dell'oscilloscopio sull'uscita del risonatore. Qual è la marca e il modello dell'ambito?
Dejvid_no1

1
È un oscilloscopio analogico di Tektronix . A proposito, il carico capacitivo della sonda dell'oscilloscopio influirebbe sulla misurazione. Ad ogni modo, il frequenzimetro non è una scelta migliore?
Omid1989,

1
Sono abbastanza sicuro che dovresti essere in grado di programmare l'MCU senza clock esterni, quindi questo è un problema separato dal fatto che i cristalli siano o meno OK. Dopo il ripristino dell'hardware, l'MCU si avvia sul suo oscillatore interno.
Dave Tweed

1
Vorrei solo usare l'oscope. Se ci fossero effetti sulle sonde, la frequenza potrebbe differire leggermente. Ma vedresti ancora un segnale di clock. Assicurati di fare riferimento alla terra del tuo pcb, non solo all'altro lato del cristallo!
BitMack

Risposte:


9

Come vedo, nessuna risposta è stata accettata. Lasciami offrire un'altra risposta.

La maggior parte dei circuiti integrati moderni utilizza il cosiddetto Pierce Oscillator per generare orologi stabili utilizzando i cristalli. Ecco la configurazione del circuito principale:

inserisci qui la descrizione dell'immagine

Come si può vedere, il circuito non è simmetrico: il lato destro viene emesso da alcuni driver (solitamente indicato come XO) e il lato sinistro viene immesso in un amplificatore a inversione (solitamente indicato come XI). Pertanto è relativamente sicuro sondare l'estremità XO (in uscita), a condizione che la sonda abbia un'impedenza relativamente elevata. Una solita sonda passiva 1:10 con impedenza di ingresso 1M dovrebbe fare il lavoro. In pratica, il driver di uscita nell'amplificatore di circuito è reso intenzionalmente debole, in genere non più di 1 mA di capacità di carico, per evitare che Xtal sia sovra pilotato, ma 1 mA dovrebbe essere abbastanza buono da pilotare una sonda oscilloscopio 1M.

La capacità della punta della sonda può spostare la frequenza di oscillazione di 20-50 ppm, poiché cambierà la messa a punto del circuito (carico Xtal, C1 in serie con C2). Tuttavia, il carico della sonda su XO non dovrebbe interrompere le oscillazioni, a meno che l'intero circuito non sia troppo marginale e non soddisfi i criteri di stabilità (l'impedenza negativa dell'amplificatore dovrebbe essere 3-5 volte superiore a Xtal ESR). Se la sonda esegue questa operazione, considerare il test Xtal come non riuscito.

Non si dovrebbe mai provare a sondare l'ingresso XI, forse solo con una sonda da 100 MOhm, e solo per curiosità. Il motivo non è nella capacità della punta (2-8-12pF o wahtever), ma nell'infliggere uno spostamento CC sul pin XI a causa dell'impedenza della sonda finita. L'oscillatore Pierce è un circuito non lineare molto delicato e ha un componente R1 di feedback CC molto importante, che regola efficacemente il livello DC in ingresso al punto di massima amplificazione, di solito a circa metà strada da terra a Vcc. Il componente R1 è in genere 1MOhm e oltre e le oscillazioni si centrano nel punto DC auto-selezionato. Anche il collegamento di una sonda da 10 MOhm sposta questo punto verso il basso, le cali di amplificazione e le oscillazioni muoiono.

E, naturalmente, il modo migliore per testare le oscillazioni non è toccarlo con le sonde, ma avere un buffer interno con uscita su qualche altro pin di test GPIO.


7

Una volta ho avuto un problema di debug simile con i miei controller Atmel ATMEGA328P, i risonatori ceramici da 8 Mhz non sembravano funzionare. Avevo un oscilloscopio cheapo Rigol a doppio canale e avevo individuato una scheda di lavoro che avevo creato in precedenza e il bel segnale da 8 Mhz era facilmente visibile, senza problemi a causa del caricamento delle sonde. Non dovresti preoccuparti dell'effetto della sonda sul cristallo.

Il problema principale che ho riscontrato era che il mio controller che doveva guidare il cristallo non aveva i fusibili impostati correttamente per usare il cristallo esterno. Dopo aver bruciato le micce per selezionare il cristallo esterno, i risonatori hanno mostrato segni di vita!

Quindi è in realtà un buon punto per assicurarsi che il tuo microcontrollore collegato al cristallo sia stato impostato per utilizzare il cristallo, altrimenti non c'è nulla che possa alimentare l'energia per farlo oscillare. Dopo esserti accertato che sia così, puoi iniziare a vedere se si tratta di PCB o altri problemi di traccia, problemi di messa a terra, pin errati ecc.


Grazie Kyran per la tua risposta. Sto usando Codewarrior 10.4 come IDE. Sai come impostare i bit dei fusibili in questo IDE?
Omid1989,

1
Mi dispiace @ Omid1989 non ho familiarità con quell'IDE. Ho davvero usato solo AVRdude e Arduino e Atmel Studio per piccoli microcontrollori e Code Composer Studio per un ARM A8. Potrebbe avere un'utilità separata per leggere e poi scrivere i fusibili in schede / aree simili a chip target di programmazione / flashing. Guardati intorno in quelle opzioni per le impostazioni dei fusibili. I fogli dati possono anche indicare quali sono le opzioni di fusibile / registro per selezionare ingressi di cristallo esterni.
KyranF,

Io secondo questo. Ho usato una sonda cheapo 10x, su un'uscita cheapo a cristallo da 13,598 mhz, con un circuito di tipo oscillatore a perforazione IC cheapo e tutto ha funzionato bene. Ho appena sondato il cristallo e oscillava a 13,5 mhz, il che è veloce come il mio oscilloscopio calcola la frequenza.
Leroy105,

7

I componenti esterni rendono l'oscillatore simmetrico, ma sul chip c'è un amplificatore tutt'altro che. Il pin dell'oscillatore che si trova sul lato di uscita avrà un'impedenza inferiore e posizionando la sonda dell'oscilloscopio non influirà quasi quanto sondare il pin di ingresso.

Se oscilla, l'uscita avrà un'ampiezza maggiore rispetto all'ingresso; potrebbe anche non essere un'onda sinusoidale molto buona. Il lato di input sarà più basso e dovrebbe essere un'onda sinusoidale (essendo stata filtrata dal cristallo).

Se non oscilla, l'ingresso sarà più rumoroso e dovrebbe essere simile alla metà della tensione di alimentazione. Il pin di uscita avrà un aspetto più pulito e potrebbe trovarsi su VDD o terra. Alcuni di questi varieranno con il design del chip (e la configurazione).


1
A proposito, non hai detto se volevi misurare con precisione la frequenza o vedere semplicemente se sta oscillando.
Gbarry,

Voglio vedere solo che sta oscillando o no! A proposito, cosa intendi per input e output qui?
Omid1989,

2
alcuni cristalli hanno un pin Xin e Xout, con un condensatore di carico su ciascuno a terra. Il segnale sarà leggermente diverso ma per scopi pratici non proprio. Il driver all'interno di un microcontrollore o altro dispositivo che utilizza un cristallo o un risonatore è fondamentalmente un circuito oscillatore (con opamp, ecc.). Questo è il motivo per cui devi effettivamente attivare l'ingresso di cristallo esterno affinché il micro accenda queste periferiche.
KyranF,

2
Credo che KyranF intendesse dire "alcuni oscillatori di cristallo", poiché il cristallo stesso è simmetrico. Questi pin si trovano sul microprocessore. Anche se i pin non sono etichettati Xin e Xout (o OscIn e OscOut), è molto probabile che agiscano come se lo fossero.
Gbarry,

Quindi se misuro una frequenza leggermente più alta sul terminale XO, dovrei fidarmi di quella misurazione sulla frequenza più "corretta" sul terminale XI?
endolith

0

Se hai un ricevitore di comunicazione sensibile, come quelli usati nella radio amatoriale, aggancia un filo tra l'ingresso dell'antenna del ricevitore e l'altra estremità a un pollice di distanza dal circuito dell'oscillatore, senza nemmeno toccare il circuito, sintonizzando il ricevitore attorno alla frequenza dei cristalli, dovresti sentire un battito. E, individuare la frequenza esatta.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.