Avvio del cristallo: capacità di carico, resistenza negativa e trappole della sonda
Un oscillatore al cristallo che parte sul banco e fallisce a −20 °C non è un mistero. È un problema di margine, e ci sono due misurazioni che lo evidenziano prima che il prodotto venga spedito.
Risposta rapida
- Condensatori di carico: C1 = C2 = 2 × (CL − Cstray). Un cristallo da 8 pF con 3 pF di dispersione necessita di 10 pF, non 8 pF.
- Frequenza: circa 10–12 ppm per pF vicino a CL, quindi un errore di 2 pF è 20–24 ppm.
- Avvio: misurare la resistenza negativa; richiedere almeno 5× l'ESR del cristallo.
- Sonda: 10 pF su un oscillatore da 8 pF è una variazione di carico del 125 % — può fermare l'oscillazione che si sta cercando di misurare.
1. Cosa fanno effettivamente i condensatori
Il cristallo è specificato per una capacità di carico CL. I due condensatori esterni sono in serie dal punto di vista del cristallo, più la capacità parassita del PCB e dei pin:
CL = (C1 x C2) / (C1 + C2) + Cstray con C1 = C2 = C: CL = C/2 + Cstray C = 2 x (CL - Cstray)
| CL del cristallo | C1 = C2 (Cstray 3 pF) | C1 = C2 (Cstray 5 pF) |
|---|---|---|
| 6 pF | 6 pF | 2 pF |
| 8 pF | 10 pF | 6 pF |
| 10 pF | 14 pF | 10 pF |
| 12 pF | 18 pF | 14 pF |
Due conseguenze. Primo, usare condensatori da 8 pF per un cristallo da 8 pF è sbagliato: si ottiene CL ≈ 7 pF nel migliore dei casi e di solito meno, spostando la frequenza verso l'alto. Secondo, ipotizzare una capacità parassita di 5 pF cambia il risultato di 4 pF per condensatore, ed è per questo che il layout e la scelta del package contano prima di regolare qualsiasi cosa.
Stima della capacità parassita
La capacità parassita è la somma della capacità del pin MCU (tipicamente 2–5 pF), della capacità del pad del cristallo e della traccia verso massa. Una traccia corta e stretta su un piano di massa aggiunge meno di 1 pF; una traccia lunga accanto a un nodo di commutazione ne aggiunge diversi.
La stima pratica è 3 pF per un layout compatto e 5 pF per uno più grande. Se il margine di frequenza è ridotto, misuratela: montate condensatori di valore noto, misurate la frequenza risultante e ricavate la CL effettiva. Richiede una scheda e dieci minuti, e rimuove l'incognita più grande nello stack delle tolleranze.
Le regole di layout sono semplici e spesso trascurate: mantenete il cristallo entro pochi millimetri dai pin, posizionate i condensatori di carico tra il cristallo e il pin di massa, mantenete le tracce corte e simmetriche e non instradate nulla che commuti sotto. Un anello di guardia di massa attorno al cristallo è economico e impedisce che la prossimità della mano sposti la frequenza. La stessa disciplina vale per i bus ad alta velocità; consultare laSPI layout guideper il lato tracce e percorso di ritorno.
2. Errore di frequenza: quanto costa un picofarad
Vicino a CL, la sensibilità di pulling di un cristallo tipico è di circa 10–12 ppm per pF. Sembra poco finché non lo si moltiplica per la catena delle tolleranze: cristallo ±20 ppm, condensatori ±5 %, stima dei parassiti ±2 pF.
Errore di 2 pF x 12 ppm/pF = 24 ppm più tolleranza del cristallo = 20 ppm caso peggiore ~ 44 ppm
Per un clock UART o USB, decine di ppm sono irrilevanti. Per un RTC o un riferimento radio, è l'intero budget — ed è per questo che i progetti a 32.768 kHz usano spesso un cristallo con condensatori di carico integrati e una tolleranza tarata in fabbrica, come il modulo RTC a cristallo integrato.
Un utile controllo di plausibilità: 44 ppm corrispondono a circa 3.8 secondi al giorno. È accettabile per un data logger e inaccettabile per un orologio dell'ora del giorno che deve rimanere entro un minuto all'anno.
3. Avvio: la misura che predice i guasti a freddo
Un oscillatore a cristallo si avvia perché l'amplificatore fornisce più guadagno di piccolo segnale di quanto il risonatore perda. Il margine è espresso come resistenza negativa: la resistenza equivalente del circuito vista verso l'amplificatore, che deve essere maggiore dell'ESR del cristallo di un fattore confortevole.
Misurare -R: 1. Aggiungere un resistore in serie Rs in serie al cristallo 2. Aumentare Rs finché l'oscillazione non si arresta 3. -R ~ Rs(stop) + ESR 4. Richiedere -R >= 5 x ESR
Esecuzione affidabile del test
Taglia uno dei reofori del cristallo e inserisci un piccolo potenziometro o una serie di resistori fissi. Parti da zero, aumenta a passi e a ogni passo spegni e riaccendi la scheda: il test riguarda l'avvio, non se un oscillatore già in funzione continua a funzionare.
Registra la resistenza alla quale non si avvia, poi aggiungi l'ESR del cristallo. Ripeti alla temperatura più bassa che il prodotto vedrà — la condensa in un congelatore è un modo pratico per ottenere −20 °C senza una camera climatica. Un progetto che passa a 25 °C e fallisce a −20 °C ha un problema di margine, non un problema di cristallo.
Perché 5×: il guadagno dell'oscillatore cala con la temperatura e la tensione di alimentazione, e l'ESR del cristallo aumenta. Un progetto con margine 2× funziona a 25 °C e fallisce in una mattina fredda. Il test è abbastanza semplice da eseguire su ogni prototipo, ed è l'unica misura che predice la modalità di guasto che non puoi riprodurre al banco.
Lo stesso margine può essere stimato dal requisito di transconduttanza:
gm_crit = 4 x ESR x (2 pi f)^2 x (C0 + CL)^2 ESR 60, f 8 MHz, C0 5 pF, CL 8 pF: gm_crit ~ 0.10 mA/V obiettivo di progetto: 5x = 0.5 mA/V
I datasheet dei microcontrollori di solito riportano la transconduttanza dell'oscillatore, quindi questo è un controllo su carta che puoi fare prima che la scheda esista. Se il numero è vicino, scegli un cristallo con ESR più basso o un pin dell'oscillatore diverso.
4. L'avvio è esponenziale
L'oscillazione cresce esponenzialmente dal rumore. Un circuito sano raggiunge l'ampiezza piena in centinaia di microsecondi; uno marginale impiega millisecondi e può arrestarsi quando il guadagno diminuisce con la temperatura. Ecco perché "parte" non è il test — il test è quanto rapidamente parte e a quale temperatura.
Aspettative tipiche per un oscillatore da 8 MHz a 3,3 V: ampiezza piena entro 1–5 ms. Se impiega 20 ms, il margine è sottile anche se alla fine parte. Se impiega 200 ms, il progetto è a una mattina fredda da un mancato avvio.
5. Caricamento della sonda: la trappola che si nasconde
Una sonda passiva tipica aggiunge 10–15 pF. Su un oscillatore da 8 pF, ciò porta il carico a 18–23 pF, sposta la frequenza di oltre 100 ppm e spesso arresta completamente il circuito — portando alla conclusione che l'oscillatore sia guasto.
Tre modi per misurare senza compromettere la misura:
- Bufferizzare il segnale: abilitare l'uscita di clock (MCO/CLKOUT) e misurare quel pin, che è pilotato e non fa parte dell'anello dell'oscillatore.
- Usare una sonda attivacon 1 pF o meno, oppure una sonda FET.
- Misura indirettamente: leggi il contatore del timer o RTC nel tempo e confrontalo con un riferimento; l'accuratezza in frequenza può essere misurata senza toccare l'oscillatore.
6. Livello di pilotaggio: la specifica che nessuno controlla
I cristalli sono specificati per un livello di pilotaggio massimo, tipicamente 100 µW. Superarlo invecchia il cristallo più rapidamente e può incrinare il risonatore:
I ~ 2 pi f x CL x Vpp DL = ESR x I^2 8 MHz, CL 8 pF, 3.3 Vpp, ESR 60: I ~ 1.33 mA DL ~ 106 uW (rispetto al valore nominale di 100 uW)
Quella stima è al valore nominale, non comodamente al di sotto. Se l'oscillatore funziona con un'alimentazione più alta o con un CL maggiore, aggiungere un resistore in serie tra l'uscita dell'amplificatore e il cristallo, oppure scegliere un cristallo con un valore nominale del livello di pilotaggio più alto.
Il dimensionamento del resistore è iterativo: iniziare con 100–470 Ω, ricontrollare l'avvio e il livello di pilotaggio e mantenere l'errore di frequenza accettabile. Il resistore scambia livello di pilotaggio con resistenza negativa, quindi un progetto che era al limite all'avvio potrebbe richiedere un cristallo diverso anziché un resistore più grande.
| Cosa misurare | Metodo | Non disturba il loop? |
|---|---|---|
| Startup time | Buffered clock output on a scope | Yes |
| Frequency accuracy | Count over a long interval | Yes |
| Negative resistance | Series resistor until stop | Yes (series element) |
| Amplitude at the crystal | Active probe / FET probe | Mostly |
| Waveform with a passive probe | 10–15 pF tip | No |
7. Pattern di guasto
| Sintomo | Causa probabile | Verifica |
|---|---|---|
| Starts warm, fails cold | Insufficient negative resistance | −R test at cold; require 5× ESR |
| Frequency off by 30–60 ppm | Wrong CL (often 8 pF caps for 8 pF crystal) | Recompute C = 2(CL − Cstray) |
| Oscillation stops when probed | Probe capacitance | Use buffered output or active probe |
| Drift over months | Overdrive (aging) | Compute drive level; add series resistor |
| Shifts with hand proximity | Stray capacitance, poor ground | Short traces, guard ring, ground plane |
Checklist del prototipo
Un guasto tipico, passo per passo
Un MCU da 32 MHz compatibile USB si avvia sul banco e non riesce a enumerarsi a freddo. Il cristallo è da 8 pF, i condensatori sono da 8 pF (copiati da un design di riferimento), l'ESR è 50 Ω, e il carico è quindi di circa 7 pF — 12 ppm in eccesso prima della tolleranza. La resistenza negativa misura 120 Ω a 25 °C, cioè 2.4 × ESR: al di sotto della regola 5×.
Sono possibili due correzioni. Portare i condensatori a 10 pF (frequenza corretta, nessun effetto sul margine) e scegliere un cristallo con ESR inferiore o un'impostazione diversa dell'oscillatore per il margine. Il solo errore di frequenza non impedirebbe l'enumerazione; è il margine di avvio a fallire a freddo.
| Verifica | Superato | Se fallisce |
|---|---|---|
| Load capacitors | C1 = C2 = 2(CL − Cstray) | Recompute with measured stray |
| Negative resistance | ≥ 5 × ESR | Lower ESR crystal or different oscillator |
| Startup time at −20 °C | < 5 ms, stable amplitude | Margin too small; test at cold start |
| Frequency error | Within system budget | Trim CL or specify tighter crystal |
| Drive level | ≤ 100 µW (or rated) | Add series resistor |
Per il layout della linea di clock attorno all'oscillatore, gli stessi principi dellaguida ai tempi I2Csi applicano: piste corte, un ritorno solido e una sonda che non modifica il circuito. La nostraprocesso di tracciabilitàcopre i controlli di date-code e lotto sui cristalli.
9. FAQ
Perché mi servono condensatori da 10 pF per un cristallo da 8 pF?
Perché i due condensatori sono in serie e il PCB aggiunge capacità parassita. Con 3 pF di parassita, C = 2 × (8 − 3) = 10 pF per lato.
Posso usare lo stesso valore di condensatore per qualsiasi cristallo?
No. Il valore deriva dal CL del cristallo e dalla capacità parassita della scheda. Copiare un valore da un design di riferimento è la fonte più comune di errori da 30–60 ppm.
Che cos'è la resistenza negativa e perché 5×?
È il guadagno di piccolo segnale espresso come resistenza. La regola del 5× copre le variazioni di temperatura, alimentazione ed ESR; 2× funziona sul banco e fallisce sul campo.
Perché l'oscillatore si ferma quando collego una sonda?
La sonda aggiunge 10–15 pF, il che cambia il carico e può ridurre il guadagno d'anello sotto l'unità. Misurare un'uscita di clock bufferizzata o usare una sonda attiva.
Una tensione di alimentazione più alta migliora l'avvio?
Di solito sì, perché la transconduttanza dell'inverter aumenta con l'alimentazione. È anche per questo che un progetto che funziona a 3.3 V può fallire a 1.8 V.
Come posso misurare la frequenza senza caricare l'oscillatore?
Usa l'uscita di clock dell'MCU oppure conta l'RTC/timer su un intervallo noto rispetto a un riferimento. Entrambi evitano di toccare il nodo dell'oscillatore.
Il tipo di condensatore è rilevante?
Usa ceramici C0G/NP0. I condensatori X7R perdono capacità con la polarizzazione DC e la temperatura, il che modifica il carico e quindi la frequenza. La differenza di costo è piccola e il comportamento è prevedibile.
Posso omettere i condensatori di carico se l'MCU ne ha di interni?
Solo se l'MCU fornisce il valore esatto e il datasheet lo indica. I condensatori interni sono approssimativi e variano da esemplare a esemplare, il che è accettabile per alcune UART ma non per gli RTCs.
10. Fonti
- Texas Instruments,Uso dell'inverter CMOS non bufferizzato nei circuiti oscillatori(SZZA043) — oscillatore Pierce, resistenza negativa, livello di pilotaggio.
- STMicroelectronics, AN2867 — guida alla progettazione di oscillatori per STM32 (metodo della resistenza negativa e fattore di sicurezza).
- Epson, note applicative sui cristalli — capacità di carico, livello di pilotaggio e frequency pulling.
Debug di un oscillatore?
Invia ESR del cristallo, CL, codice componente MCU e alimentazione. Stimieremo la resistenza negativa e se il design si avvia a freddo.