Il cristallo a 32 kHz non funziona come previsto


16

Sto provando a risolvere questo problema da un paio di giorni, leggendo sul funzionamento / configurazione tipica del cristallo, e sono in perdita. Ho provato a cercare qui ma non ho riscontrato nulla di simile al mio problema, quindi mi dispiace se ho perso la mia soluzione da qualche parte.

Sto cercando di eseguire un RTC da un cristallo esterno utilizzando un PIC, ma il cristallo non sta oscillando quando me lo aspetto, e sta oscillando in altre circostanze, e non riesco a capirlo. Non sono un EE, quindi probabilmente sono semplicemente super ignorante.

Il cristallo: LFXTAL016178 . Sono abbastanza certo che, poiché nulla è elencato, è un cristallo risonante parallelo. La sua capacità di carico è di 6 pF, che ho trovato un po 'fuori dal comune? Non ne sono sicuro.

Il PIC: PIC24FJ128GB204 . Ho collegato il cristallo come suggerisce il foglio dati, ma non fornisce molto aiuto esplicito nella selezione dei condensatori di carico, quindi ho fatto qualche ricerca e ho trovato altre risorse online per aiutarmi lì.

L'impostazione: ho visto da un paio di fonti che una buona regola empirica per i condensatori di carico è CL=C1×C2C1+C2 , aggiungendo capacità parassita aetra 2 e 5 pF. Ho scelto quello che pensavo fosse un valore medio di 6pF per entrambi i condensatori, e non sono ancora sicuro di quanto fosse negativa quella selezione.C1C2

Ecco una foto del mio schema: schematico Layout: disposizione

Casi in cui non funziona:

  • Come è nello schema, con condensatori di carico 6pF su entrambi i pin, non oscilla. A meno che non oscilli ogni 10 minuti o qualcosa del genere.
  • Con i condensatori rimossi, oscilla molto lentamente, forse circa 2,5 volte più lentamente di quanto dovrebbe. Non ho misurato questa velocità.
  • Con condensatori extra da 6pF saldati sopra per creare condensatori da 12pF, non oscilla.
  • Con 3 condensatori pF e una resistenza da 10 MOhm sui pin. (L'orologio RTCC è irregolare.)

I casi in cui si fa il lavoro:

  • Quando sondare il pin SOSCI con un oscilloscopio. Nei primi tre casi sopra, non appena ho toccato la sonda sul pin SOSCI, si è avviato e mi ha dato una bella onda sinusoidale pulita. Non ha fatto questo quando ho toccato il pin SOSCO, O quando ho usato condensatori a 3pF. So che non funzionava in anticipo a causa di alcuni LED che dovrebbero lampeggiare ogni secondo, che lampeggiavano solo con la sonda collegata. (Non so tutto sugli oscilloscopi, so solo come gestirli. La sonda dice 6MHz / 1MOhm / 95pF e l'oscilloscopio dice 60 MHz / 1 GS / se 300 V CAT II dove si collega la sonda. È un Tektronix TDS 2002 se questo significa qualcosa per nessuno.)
  • Quando collego una resistenza da 330 Ohm tra SOSCI e terra. È uno dei due resistori che ho a portata di mano; il 10k sembrava averlo fatto funzionare a circa la metà della frequenza giusta.
  • Con 3 condensatori pF, ma a 14 kHz.

Ecco alcune frequenze che ho misurato:

  • (12 tappi pF) Sonda toccante in frequenza su SOSCI: 32,7674 kHz
  • (12 tappi pF) Uscita in frequenza da PIC con pull-down da 330 ohm su SOSCI: 32.764 kHz
  • (12 tappi pF) Uscita in frequenza tramite PIC usando LPRC: 32,68 kHz
  • (3 tappi pF) Uscita in frequenza da PIC: 14,08 kHz

Fondamentalmente, ciò che mi piacerebbe sapere è perché a volte oscilla perfettamente quando utilizzo una sonda oscilloscopio e quale dovrebbe essere la soluzione corretta per farlo funzionare come voglio.

CL

CLCL


1
Tutta quella terra si traduce in una maggiore capacità.
Ignacio Vazquez-Abrams,

1
E se mettessi un resistore abbastanza grande (tra 300k e 4.7M, diciamo) in parallelo con il cristallo?
uint128_t

1
Questo PIC ha un GPIO molto configurabile condiviso con i pin XTAL. Sei sicuro di avere la corretta configurazione I / O nel tuo software?
Ale..chenski l'


2
Gli oscillatori di cristallo sono difficili. Hai controllato i loro DISEGNI DI RIFERIMENTO funzionanti, per quale tipo di cristalli usano e quale funziona? microchip.com/wwwproducts/en/PIC24FJ128GB204#tools
Ale..chenski

Risposte:


10

Il produttore della MCU è probabilmente in errore. Non ci sono assolutamente scuse per non progettare un moderno oscillatore MCU RTC per funzionare in modo affidabile con qualsiasi tipico cristallo a 32 kHz disponibile in commercio.

Sfortunatamente, il contrario è molto più comune, come hai già scoperto - nel tuo caso la scheda tecnica MCU non menziona che la capacità di carico 6pF non funziona.

Il problema alla radice è che hai a che fare con un sistema di due componenti , realizzato da due produttori diversi. Uno di loro parla di silicio e l'altro parla di quarzo, e non hanno mai concordato correttamente su come dire ai designer come i loro prodotti lavorano in modo affidabile insieme.

Quindi, come hai scoperto, l'oscillatore di cristallo può essere una trappola per i non stanchi. Ho visto una grande linea di produzione automobilistica fermarsi a causa di problemi di avvio dell'oscillatore a cristallo!

Ad ogni modo, per arrivare alla tua domanda sul PERCHÉ , ci sono quattro parametri importanti in gioco:

  1. Impedenza di uscita dell'oscillatore MCU. Questo varia sulla frequenza ed è spesso complicato da bit di configurazione come "livello di azionamento" o "livello di potenza". Non ho mai visto questi valori specificati / garantiti da nessun produttore di MCU.

  2. Impedenza di ingresso della rete "pi" condensatore-cristallo-condensatore esterno. Ciò è determinato principalmente dal condensatore sul lato di ingresso, che a sua volta è determinato dalla capacità di carico specificata dal produttore di cristalli.

  3. solm

  4. Guadagno di tensione (in realtà perdita) del circuito esterno Cap-Xtal-Cap "Pi" alla risonanza. Ciò è determinato principalmente dalla resistenza interna equivalente in serie (ESR) del cristallo. Il cristallo che hai citato specifica ESR = 50k. La resistenza aumenta anche nel tempo (poiché l'umidità / le impurità penetrano nella custodia di cristallo) ed è influenzata anche dalla temperatura / tempo di saldatura. (Le impurità nella cassa di cristallo che evaporano e si depositano sul quarzo) Anche l'ESR può variare significativamente tra i lotti di produzione. 50k è un ESR abbastanza tipico per un cristallo a 32kHz - il più basso che ho visto specificato a 32kHz per i cristalli con fattore di forma ridotto è 30k.

Per far funzionare qualsiasi oscillatore, il guadagno di tensione totale, che è il prodotto di (3) e (4), deve essere> 1. Inoltre, la fase del guadagno (sì, il guadagno è un numero complesso) deve essere di 360 gradi. Circa la metà della fase, 180 gradi, è fornita dall'amplificatore invertente e la "seconda inversione" è fornita dalla rete cap-xtal-cap.

Ecco una semplice simulazione online che può aiutarti a capire come il guadagno, l'impedenza di uscita e i valori del condensatore interagiscono e influenzano l'avvio. Fare clic con il tasto destro del mouse su qualsiasi componente per modificarne il valore. (Nota: questa simulazione utilizza una tensione residua del condensatore di 1mV per falsificare l'avvio, ma nella vita reale il rumore nell'amplificatore è la fonte di avvio, come in questo )

Quindi cosa è successo nel tuo caso? Molto probabilmente, il progettista dell'oscillatore MCU ha progettato il suo stadio di uscita per funzionare in modo affidabile con cristalli caricati a 12,5pF, e si è scoperto che con un carico di 6pF, il guadagno di tensione o i requisiti di fase non erano semplicemente soddisfatti. Dal momento che nulla delle ipotesi di progettazione è indicato nella scheda tecnica, voilà, problema per te - e molti altri.

Wow, cosa dovrebbe fare un designer incorporato?

Innanzitutto, tieni sempre presente che un oscillatore a cristallo marginale può costare molto al tuo business.

In secondo luogo, alla luce di quanto sopra, soprattutto se non si ha esperienza o se il proprio fornitore MCU non specifica i parametri di cristallo nel foglio dati , il miglior investimento potrebbe essere un oscillatore esterno a 32 kHz a bassa potenza.

Terzo, assicurati di usare un cristallo con ESR e capacità specificata dal tuo produttore MCU. Se non ne vedi nessuno nella scheda tecnica, chiedi al tuo fornitore un elenco di numeri di parte in cristallo raccomandati o scegli un MCU che lo faccia.

In quarto luogo, prova, prova, prova! Su tutte le tensioni e temperature . Nota quanto tempo impiega l'avvio tempificandolo nel firmware usando un orologio RC se possibile, e se le unità di produzione superano la norma di, diciamo 2x, lascia che il tuo firmware di test imposti un flag in modo che possa essere notato nei test di produzione. In questo modo, le unità di produzione non possono uscire dalla porta con oscillatori marginali senza che suonino le campane di allarme.

Che cosa fanno gli esperti ingegneri di verifica della produzione?

Risolvono la generale mancanza di informazioni adeguate richiedendo un margine di sicurezza 10x tra "ciò che funziona" e "ciò che funziona in modo affidabile": misurano l'ESR effettivo, quindi aggiungono un ulteriore 10x "resistenza agli handicap" aggiuntivo in serie con il cristallo nel rete cap-xtal-cap. Se il sistema "ESR per disabili" funziona su tutte le combinazioni di tensione e temperatura , si presume che il margine di sicurezza 10x sia sufficiente a coprire le variabilità sconosciute in entrambi i guadagni ESR e MCU. Questo è parzialmente spiegato nella figura 3 della presente nota applicativa.

Cosa dovresti fare?

Se non riesci a eseguire il test sopra riportato per nessun motivo e desideri vendere un prodotto in migliaia, stai sicuramente meglio investendo i penny extra per un oscillatore standard da 32 kHz da un fornitore di oscillatori che ha effettuato tutti i test per voi , o passando a un MCU che specifica un cristallo specifico (o cristallo requisiti) nella scheda periferica.

Mentre è possibile "risolvere" la situazione selezionando un cristallo con resistenza interna inferiore e / o giocando con valori di condensatore diversi / asimmetrici, la soluzione potrebbe essere ancora marginale, per i motivi spiegati sopra.

TL; DR:

Gli oscillatori a cristallo possono costare molto tempo e denaro alla tua azienda. Se possibile, utilizzare un oscillatore esterno o eseguire il test "ESR per disabili" come descritto sopra in tutti gli intervalli di tensione e temperatura.

Infine, assicurati di utilizzare i condensatori NPO per la stabilità della temperatura.


L'ESR inferiore è buono per la modalità serie AMD tagliata AT ma l'ESR più alto come 50 ~ 70kohm è migliore di 30k per stabilità
Tony Stewart Sunnyskyguy EE75

Se la tua applicazione richiede alta affidabilità, ti consiglio anche un oscillatore esterno. Se il costo è un fattore importante, allora raccomando l'uso di un oscillatore LC "standard", alla frequenza desiderata, e uso il cristallo - solo per stabilizzarlo, non come fonte del segnale.
Guill

@TonyStewart - interessante, conosci il motivo fondamentale per cui è così o hai un buon riferimento?
Neonzeon,

@neonzeon i miei riferimenti non sono utili ma le App Note dei test OEM dei vari fornitori di risonatori a 32,76 kHz indicano una migliore stabilità a un ESR più elevato. IQD afferma che i loro XO a bassa potenza a tolleranza ultra bassa non hanno App Note per i loro Xtals. Sì, le specifiche per le migliori parti da 10 ppm a 32 kHz specificano ESR = 70k E 0,1 uW + \ - 0,01 uW livello di azionamento con carico C fino a 6pF opzioni. Ciò implica che non si dovrebbe nemmeno usare il design dell'OP con rame versato né 5 V né senza Rs
Tony Stewart Sunnyskyguy EE75

Potrei sbagliarmi nei presupposti di cui sopra sull'ESR , ti.com/lit/an/slaa322d/slaa322d.pdf#page12 indica il margine SF più alto a 35k e il più basso a 70k, quindi forse la funzione ESR più alta ... con una potenza inferiore dichiarata all'IQD come 0.1uW 10% e 0.5uW max mentre gli altri sono 1uW max, quindi un ESR inferiore è buono per il margine e un ESR elevato consente una potenza inferiore
Tony Stewart Sunnyskyguy EE75

14

Ci sono due cose principali in corso:

  1. Non hai abbastanza capacità di carico.

  2. Non capisci la capacità di carico.

Immagina un lato di un cristallo guidato da un'onda sinusoidale alla frequenza del cristallo. Questo segnale è a bassa impedenza. La capacità di carico è quella capacità che si mette sull'altro lato del cristallo per causare uno sfasamento di 180 °.

Lo sfasamento di tali cristalli varia rapidamente in funzione della frequenza alla frequenza operativa dei cristalli. Poiché la fase in funzione della frequenza è molto ripida proprio alla frequenza operativa, questa è una buona cosa da usare per il circuito di pilotaggio per garantire che il cristallo funzioni alla frequenza desiderata. Questi tipi di circuiti oscillano in modo ottimale quando il cristallo sposta la fase di ingresso di 180 °. Poiché solo una piccola variazione di frequenza rovina tutto, l'oscillazione risultante è molto vicina alla frequenza prevista del cristallo.

Ora torniamo al tuo circuito. Il grande indizio è che le cose funzionano quando si inserisce una sonda oscilloscopio sul pin di ingresso dell'oscillatore. Quello che sta facendo è aggiungere capacità sul lato di uscita del cristallo. Apparentemente, con la configurazione che hai, la capacità aggiuntiva della sonda dell'oscilloscopio fa spostare la fase del cristallo nella quantità appropriata per l'oscillazione del sistema. Se aggiungete più capacità voi stessi solo all'output di cristallo , replicate l'effetto della sonda dell'oscilloscopio e le cose funzioneranno. Prova altri 10 pF circa per cominciare.

Non usare le formule che trovi sull'altra estremità di Internet senza capirle. L'equazione che mostri fa una serie di ipotesi, alcune delle quali non valide. Sfortunatamente c'è molta stupidità convenzionale nei confronti dei cristalli.

Il cristallo di per sé è solo un dispositivo a due terminali e non "sa" nulla della terra del circuito. In definitiva, la capacità di carico è ciò che si trova attraverso i suoi terminali. La stupidità convenzionale quindi dice di usare due condensatori uguali su ciascun lato del cristallo per mettere a terra. Poiché questi sono in serie, ognuno deve essere il doppio della capacità desiderata. Tuttavia, qualunque capacità vagante a terra pensi che ci sia su ciascun lato del cristallo deve essere sottratta da queste capacità.

Il problema con la stupidità convenzionale è che ignora l'impedenza dell'uscita del driver del cristallo. Considera il caso estremo in cui quello è 0. In quel caso, la capacità aggiunta sul lato di ingresso del cristallo è completamente irrilevante, poiché è in parallelo con l'impedenza 0 del driver. Il carico sul cristallo è quindi solo la capacità sulla sua uscita.

Fai un po 'di matematica. L'impedenza di 6 pF a 32,8 kHz è 810 kΩ. Ora l'impedenza del driver del cristallo non è certamente zero, ma molto probabilmente significativa rispetto a 810 kΩ.

Considera cosa fanno veramente ciascuno dei tappi. Quello sull'ingresso carica il driver del cristallo. Lo scopo principale è quello di attenuare alcune delle armoniche che escono dal conducente. Questo batte meno sul cristallo e rende meno probabile che l'intero sistema oscilli con un'armonica. I cristalli hanno caratteristiche di trasferimento complesse. Possono avere alcune delle stesse caratteristiche delle armoniche che hanno alla frequenza operativa prevista. Alcuni cristalli sono tagliati in modo da consentire deliberatamente l'uso in armoniche, chiamato modalità di sovratensione nel settore.

La capacità sull'uscita è la vera capacità di "carico". La sua reattanza lavora contro quella del cristallo per sfasare il risultato la giusta quantità alla giusta frequenza.

Nel tuo caso, il cristallo è valutato per un carico di 6 pF, ed è quello che metti sul suo output. Avrebbe dovuto funzionare. Immagino che ciò che sta accadendo sia che il tappo sull'ingresso del cristallo, in realtà sull'uscita del driver del cristallo, abbia causato anche uno sfasamento che ha funzionato contro quello del tappo di carico. Proprio come test, prova a rimuovere il tappo sull'ingresso di cristallo e lascia il 6 pF sul suo output. Sarebbe bello vedere la forma d'onda sull'ingresso di cristallo allora, ma anche una sonda di portata 10x potrebbe cambiarla. Provalo comunque, ma assicurati che la sonda dell'oscilloscopio sia impostata sull'impedenza più alta, quindi sulla capacità più bassa possibile.


La maggior parte dei cristalli di overtone sono esclusivamente per> 10 MHz non 0,32768 MHz a causa delle dimensioni. Spiega anche cosa succede a Q, quando l'uscita a bassa impedenza sta guidando la modalità risonante parallela di cristallo CLC senza una serie R.
Tony Stewart Sunnyskyguy EE75

Penso che 2. sia corretto, ma 1. non lo è. il tappo di carico del gap gap è troppo e non si divide in modo da consentire al 1 ° tappo di creare un LPF di trasmissione e impedire la capacità di sfasamento attraverso il risonatore. riconsiderare pls
Tony Stewart Sunnyskyguy EE75

7

I due tappi e il cristallo funzionano come uno sfasamento di 180 gradi. Le magnitudini dei due tappi (rapporto) definiranno il rapporto di trasferimento della tensione. 6Pf sembra un po 'piccolo, il problema è qual è il punto di progettazione del carico parallelo in cristallo? Non vuoi allontanarti da questo valore. In genere ho 27pf su ogni lato.

Vedo anche una fonte se il cristallo si collega direttamente all'uscita del processore. Questa uscita potrebbe essere Z bassa che può sovrastare un cristallo. Ricorda che questa specifica di unità di questi cristalli di orologio è minuscola, molto facile da guidare oltre. Una serie R di 100K può essere utilizzata per ridurre l'azionamento del cristallo.

Assicurarsi che il processore abbia una resistenza di polarizzazione interna da 1 - 10 Meg dall'output all'input. Hai detto che inizia a oscillare quando viene toccato con un prob dell'oscilloscopio. Potrebbe trattarsi di un problema di polarizzazione DC (immagino la sonda oscilloscopio 10Meg) o probabilmente il cappuccio della sonda che regola il rapporto di trasferimento del circuito sintonizzato.

Sii molto pulito (nessun flusso disperso) e fili molto corti. È un vero circuito Hi Z.

Bob K.

Inoltre: le sonde "standard" che utilizzo sono x 100 in quanto forniscono la minima quantità di capacità, ricordo circa 1,5pf. L'uso di x 10 è difficile su questo circuito, x 1 è inutile. Ues x 100 e aumentare il guadagno verticale dell'oscilloscopio, fare in modo che il front end dell'oscilloscopio faccia il suo lavoro. Le sonde X 1 sono quasi inutili per l'alta Z o l'alta velocità. Ti piacerà la x 100 che fa lavori digitali dato che le correnti della clip GND sono diminuite di un fattore 10. Prova.


L'unica risposta che ho potuto trovare sul resistore interno è stata che i pin dell'oscillatore primario ne hanno uno che è 2-10 MOhm e che i pin dell'oscillatore secondario ne hanno uno.
Andrew Elliott,

6

A 32 KHz, questi non sono tipici cristalli tagliati XT / AT, ma invece sono cristalli per orologi digitali, minuscoli "diapason" lunghi pochi mm.

Poiché risponde al tocco, la polarizzazione CC fornita dal PIC potrebbe essere errata. Prova ad aggiungere una resistenza di grande valore collegata tra i pin dell'oscillatore (10Meg, anche 22Meg.)

È possibile che il tuo cristallo possa essere danneggiato da un overdrive. (Un riferimento suggerisce di includere oltre 100 K di resistenza tra il perno SOSC e il cristallo.)

Per molte informazioni, leggi le schede tecniche per i chip più vecchi con oscillatori che usano questi cristalli diapason a bassa frequenza ...

pagina 10 qui: http://www.abracon.com/Support/Tuning-Fork-Crystals-and-Oscillator.pdf

http://www.ti.com/lit/an/slaa322d/slaa322d.pdf

PS Ho notato che la miniera d'oro elettronica attualmente ha forchette di sintonizzazione "cristalli di orologi" a basso costo con frequenze insolite, non 32KHz


Essere d'accordo. La maggior parte degli oscillatori a cristallo a 32 kHz che ho visto hanno bisogno del resistore da 10 MEG sui pin di cristallo.
Vince Patron,

Vero poiché la simmetria dell'onda quadra è bilanciata dalla soglia di crossover Vgs vicino a Vdd / 2. Ma non è corretto poiché Microchip include già 10M e consiglia 1M per dispositivi 32k esternamente in una delle note
dell'app Fheir

3

Nella mia esperienza e nella maggior parte dei TI OEM, consiglio un feedback esterno di 1 MOhm, non 10 M già presenti. I risuonatori a diapason hanno un ESR elevato e hanno soglie di danno uW molto più basse rispetto alla modalità XT o ai cristalli tagliati AT.

.avvertimento. Se ignori le note app Mfg o OEM, potrebbe essere danneggiato.

Questo è un circuito risonante parallelo. La risonanza è uno sfasamento di 180 gradi ad alta impedenza che dopo l'inversione fornisce un feedback positivo. Internamente c'è un feedback R alto 10M ohm che su DC serve per auto-polarizzare l'ingresso su Vdd / 2 per dare un'onda quadra che ha una tensione DC media di Vdd / 2.

Se l'ingresso DC non è vicino a questo valore, Vdd / 2 dove funziona come un amplificatore a inversione lineare, l'uscita sarà bloccata su "1" o "0". Mi aspetterei 330 ohm tra Input SOSCI e Vss o Vdd per spostare il bias abbastanza e fermare l'orologio. Questo contraddice i tuoi test con 330 Ohm a 0 V e ha senso solo se hai invertito In e Out, poiché solo l'uscita SOSCO può guidare questo.

La capacità motoria è solo di circa 3,5 fF (fentofarads) con un'induttanza di circa 35kH e ESR di 35 ~ 70 kOhm. Questo definisce i parametri ottimali del risonatore da oscillare a 32768 Hz. La Q è> 10k.

Se leggi l'app di Microchip. nota, raccomanda; uno di questi è http://ww1.microchip.com/downloads/en/AppNotes/00001798a.pdf

  • aggiungere un feedback esterno di 1 M per ridurre i potenziali errori dovuti alla contaminazione delle perdite superficiali e errori di polarizzazione
  • aggiungere la serie R per evitare overdrive uW, ad es. 10k e testare questo per il margine con errore nell'oscillazione del margine Rs / (sRs + ESR)> 2 = marginale, 3 = migliore, 5 = migliore Questo assicura che ci sia abbastanza guadagno di loop per oscillare.
  • se si utilizzano tappi disuguali, ridurre il tappo di ingresso per consentire la capacità di ingresso.
  • pulire tutti i cuscinetti di flusso
  • considera un'isola di spacco di guardia intorno all'intero cct quindi un segnale di guardia perimetrale o gnd. per ridurre l'interferenza con le dita o la diafonia.

Il tuo unico grande difetto di progettazione è stato il riempimento di rame attorno a tutte le tracce che aggiunge troppa capacità e riduce il feedback di sfasamento da 180 a 90 gradi dove se il guadagno del loop è insufficiente, non oscillerà o forzerà una risonanza inferiore. Questo layout ti costringe a scegliere un xtal che richiede tappi di carico più grandi per la stabilità per soddisfare i criteri di Barkhausen.

Queste lacune della traccia dovrebbero essere uguali o non inferiori alle lacune tra i pad IC poiché C gnd è inverso alla lacuna.

Sebbene i consigli di Microchip migliorino il margine, non hanno previsto utenti che utilizzano spazi di riempimento aggressivi in ​​rame <0,1 mm.

La sonda 1: 1 ha troppa induttanza di terra e capacità coassiale e 1M sconvolgerà anche la polarizzazione DC in ingresso.

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.