Vai al contenuto
PLC Forum


Problema Oscillatore 18f4620


Grandegiove

Messaggi consigliati

Buongiorno

sto collaudando una serie di schede che montano un PIC18F4620 con oscillatore esterno da 20 MHZ (modalità HS).

Il circuito del quarzo è quello classico proposto dal datasheet con i due condensatore da 15 pF.

In alcune di queste schede ho riscontrato un problema nella generazione del clock: sostanzialmente l'oscillazione è molto più lenta e la sensazione che ho è che sia di un fattore x più lenta (ad ex: fissa a 2Mhz)

La cosa interessante è che il problema si è verificato in più circostanze:

- talvolta solo ad alcune accensioni delle schede (riavviandola poi era tutto ok)

- una scheda invece aveva il problema sistematicamente anche riavviando: ho riprogrammato il PIC 2/3 volte e il problema è sparito.

-una sola volta il problema si è presentato durante il funzionamento della scheda: il clock era partito correttamente poi si è "impallato".

Nella grande maggioranza dei casi invece la generazione del clock è corretta e il sistema gira bene

Qualcuno ha già avuto problemi simili?

Con l'oscillatore interno mi par di non poter generare un clk da 20 MHz dico bene? (optando per questa soluzione dovrei ricalcolare i coefficienti di tutti i timer.. )

Cercando or ora sul datasheet ho letto questo:

A series resistor (RS) may be required for AT

strip cut crystals.

che il problema sia questo? Come risolvo quel "may be"?

Sul datasheet del quarzo?

Comincio ad aver seri presentimenti che sostanzialmente succeda che il quarzo inizi ad oscillare ad un'armonica secondaria a causa della mancanza di RS...

Link al commento
Condividi su altri siti


Strano perchè a 20 MHz i quarzi dovrebbero oscillare ancora in fondamentale. Se non ricordo male le frequenze di frontiera tra fondamentale e overtone sono nell'intorno dei 30 MHz; però son trascorsi parecchi anni da quando lavoravo su queste problematiche e può essere che sian stati modificati i parametri tipici dei quarzi.

Piuttosto sarebbe interesante sapere come misuri la frequenza. In altri termini misuri direttamente sul terminale OSc.Out o in altro modo?

Link al commento
Condividi su altri siti

Se non erro, perchè poi è già passato del tempo, io utilizzo dei condensatori da 20 -22 pf al posto dei 18 pf ... con quest'ultimo avevo pure io dei problemi con quarzi da 10 MHz.

Link al commento
Condividi su altri siti

Salve, l'oscillatore interno arriva a 8Mhz ma può essere moltiplicato per 4 con il PLL ed arrivare quindi a 32MHz.

Rimanendo con il quarzo puoi sicuramente provare ad aumentare la capacità dei condensatori a 22pF, questo dovrebbe migliorare la stabilità dell'oscillatore a scapito di un leggero ritardo nello start-up (ma a 20Mhz...)

La Rs serve a non sovraccaricare alcuni tipi di quarzi. (Non credo sia il tuo caso)

Infine leggi sul datasheet le considerazioni riguardo al PCB layout relativo all'oscillatore (quarzo e condensatori).

Saluti

Modificato: da PocoEsperto
Link al commento
Condividi su altri siti

Buongiorno, scusate la sparizione

Livio:

Il sistema ha uno startup iniziale durante il quale visualizza a video un countdown di 5 secondi: mi rendo subito conto se il micro oscilla più lentamente in quanto i secondi calano lentamente (facendo una misura spannometrica misurando con un cronometro il tempo che intercorre fra ogni secondo ci si rende comunque conto che è palese che il clock esiste ed è stabile a una frequenza più bassa ex.1MHz; tutto ciò è anche confermato da l funzionamento del sistema dopo lo startup, corretto a più lento). Non avendo inizialmente abilitato l'uscita foscout oltre alla difficolta di ricreare il problema (l'apparizione è aleatoria) non sono ancora riuscito a misurare foscout con l'oscilloscopio digitale, ma temo che troverei conferma.

PocoEsperto:

Purtroppo è troppo instabile per questa applicazione.

Resnic

Avevi problemi di questo tipo? Alla prima apparizione del problema provo a sostituire i 15 con i 22 pF

Link al commento
Condividi su altri siti

Grandegiove+12/05/2011, 08:44--> (Grandegiove @ 12/05/2011, 08:44)

TIMER1 OSCILLATOR LAYOUT CONSIDERATIONS

Fonte: Microchip "PIC18F2525/2620/4525/4620 Data Sheet" Pagina 130 Paragrafo 12.3.3 e Fig. 12.4.

Con questi riferimenti dovresti trovare quello a cui mi riferisco.

Saluti

Link al commento
Condividi su altri siti

Cominciano a riaffiorare un pò più di ricordi... 18f2620 con quarzo da 10 Mhz , abilitato PLL x4 quindi 40 MHz , ho dovuto sostituire e mettere condensatori da 22pf... ricordo benissimo che con 18 pf a volte prtiva, a volte non ne voleva sapere... e non ti dico tempo che ho perso per capire !!!

Cambia condensatore, è un consiglio .... da quando metto 22pf nessun problemo del genere!

Link al commento
Condividi su altri siti

PocoEsperto+12/05/2011, 10:29--> (PocoEsperto @ 12/05/2011, 10:29)

Il PCB mi sembra rispetti le specifiche: il quarzo è vicinissimo al micro e non ci sono nei dintorni segnali "high speed". Unica cosa i condensatori invece di averli più esterni del quarzo li ho sotto il micro, quindi:

pin1_quarzo----OPinMCU----| |-----GND

pin2_quarzo----OPinMCU----| |-----GND

Ma non credo possa essere fonte di problemi:

ho montato ora i 22pF:oscilla tranquillamente.

Avevo una scheda col problema: 3 accensioni consecutive con oscillazione lenta, volevo provare a cambiargli SOLO i condensatori l'ho smontata, togliendo il PIC.

Prima di cambiare i C ho rimesso un attimo il PIC e ho provato ad accenderla per verificare che effettivamente oscillasse lenta.... et voilà! ha ripreso ad oscillare normalmente...

In questo modo non riesco averificre se i C da 22 risolvono il problema...

Mumble mumble..

Modificato: da Grandegiove
Link al commento
Condividi su altri siti

RESNIC+12/05/2011, 11:25--> (RESNIC @ 12/05/2011, 11:25)

Avevo risposto senza aver visto il tuo nuovo post.

Credo proprio che proverò coi 22pF, grazie mille ai ricordi che riaffiorano! happy.gif

Link al commento
Condividi su altri siti

Usare 22pF in luogo dei 18 pF è quasi obbligatorio.

Però per sicurezza bisognerebbe osservare direttamente il comportamento dell'oscillatore con sonda dell'oscilloscopio sul pin OscOut (il quarzo è connesso tra i pins Osc In e Osc out).

La misura indiretta che fai può eessere indicativa ma può anche essere affetta da altri fenomeni transitori causati dal programma e/o dall'inizializzazione di alcune periferiche.

Link al commento
Condividi su altri siti

Livio Orsini+12/05/2011, 13:07--> (Livio Orsini @ 12/05/2011, 13:07)

Ma il datasheet addirittura dice 15pF. Mi dici quindi che è prassi mettere 22pf?

Ottima informazione!

Link al commento
Condividi su altri siti

Grandegiove+12/05/2011, 13:52--> (Grandegiove @ 12/05/2011, 13:52)

Come avevo scritto in precedenza, il datasheet dice anche:

"Capacitor values are for design guidance only"

"Different capacitor values may be required to produce acceptable oscillator operation. The user should test the performance of the oscillator over the expected

VDD and temperature range for the application."

Ed ancora in una nota:

"Higher capacitance increases the stability of the oscillator but also increases the

start-up time."

Quindi, come consigliato un po' da tutti, sostituisci comunque i condensatori utilizzando 22pF.

Infine desidero confermare e rafforzare quanto detto da Orsini, che i problemi potrebbero essere anche altrove, nel programma per esempio, ed infine che andrebbe comunque ed in ogni caso accertata strumentalmente l'oscillazione e la sua frequenza.

Saluti

Link al commento
Condividi su altri siti

Controllerò con attenzione il Sw. Posizionandomi con la sonda sul piedino OSC2/CLCK0/RA6 il clock del micro si impalla credo a causa dell'impedenza d ingresso dell'oscilloscopio e non riesco quindi a verificare fisicamente l'oscillazione.

Tuttavia credo che la sostituzione dei condensatori sia il primo passo da fare.

Grazie davveo a tutti per le spiegazioni.

Link al commento
Condividi su altri siti

Hai, hai questo è brutto! sad.gif

Ho hai una pessima sonda o, più probabilmente, ci sono problemi sul circuito d'oscillatore.

Le cause possono essere molteplici: accoppiamenti parassiti dovuti a cattivo layout, condensatori tecnologicamente non adatti all'impiego (dovrebbero essere micro ceramici) o montati/posizionati in modo non corretto, quarzo con perdite eccessive (oggi sono in circolazione quarzi di pessima qualità).

Infine problemi sull'alimentazione.

Link al commento
Condividi su altri siti

Grandegiove+12/05/2011, 14:40--> (Grandegiove @ 12/05/2011, 14:40)

Hai usato una sonda 1:1 oppure 1:10?

In questi casi andrebbe usata una sonda (compensabile) 1:10.

Saluti

Link al commento
Condividi su altri siti

Con la sonda 1:10 non si inchioda ma ciò che misuro non è propriamente un' oscillazione a 20 MHz (eppure l'Mcu gira con clock a 20 MHz, utilizzo 3 timer con temporizzazioni critiche e funziona tutto bene...) ma una sorta di sinusoide a 1kHz..

Mumble mumble.. idee poche e confuse..

NB: se con due sonde mi metto sui due pin OSC1 e OSC2 si inchioda anche se sono entrambe 1:10

Ps: non ho risposto immediatamente perchè mi aveva fregato la seconda pagina: non l'avevo vista! No comment, sono un po'fuso... blink.gif

Modificato: da Grandegiove
Link al commento
Condividi su altri siti

Se tutto è regolare devi vedere un'onda quasi sinusoidale a 20 Mhz con ampiezza >=3Vpp.

Ho fatto la misura ora visto che ho sul tavolo una scheda PIC a 20Mhz. 3.17 Vpp su Osc2 e 2Vpp su Osc1, f = 20 Mhz (il mio oscilloscopio può fare da frequenzimetro e periodimitro)

Link al commento
Condividi su altri siti

Grandegiove+13/05/2011, 16:23--> (Grandegiove @ 13/05/2011, 16:23)

La sonda è calibrata?

Le sonde 1:10 hanno un'impedenza di 10Mohm mentre le sonde 1:1 di 1Mohm, per questo è consigliabile utilizzare sonde 1:10 per quella misura, per non sovraccaricare troppo l'oscillatore che poi magari si spegne.

Inoltre le sonde attenuate 1:10 hanno la possibilità di essere "calibrate" per la compensazione in frequenza.

Saluti

Link al commento
Condividi su altri siti

Livio Orsini+13/05/2011, 18:59--> (Livio Orsini @ 13/05/2011, 18:59)

ecco qua il problema...

PicoScope 3424 Specifiche:

...

Larghezza di banda 10 MHz

...

Link al commento
Condividi su altri siti

  • 2 weeks later...

Livio Orsini+14/05/2011, 13:20--> (Livio Orsini @ 14/05/2011, 13:20)

eh beh... su questo hai ragione... super comodo ma non lo si può definire certo Oscilloscopio...

Modificato: da Grandegiove
Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...