- Messaggi: 128
- Ringraziamenti ricevuti 6
Pic 18f4550 gestione clock + PLL
12 Anni 4 Settimane fa #1
da Nutshell
Pic 18f4550 gestione clock + PLL è stato creato da Nutshell
Salve a tutti, ogni giorno nasce un nuovo problema ed ecco quello di oggi!
Sto realizzando un dispositivo che utilizza le seguenti periferiche:
1. Un display LCD 16x2
2. EEprom Interna (anche se ho ordinato una eeprom esterna da usare con l' SPI per avere più spazio)
3. Un Encoder rotativo
4. 4 pulsanti che fanno uso degli interrupt RB<4-7>
5. Un Timer (TMR0) per gestire alcune operazioni a tempo determinato.
6. Modulo SPI che ho implementato via software invece che quello interno, perchè altrimenti avrei perso la possibilità di usare il modulo USART
7. Modulo USART IN e OUT implementato per gestire i segnali MIDI PROGRAM CHANGE E CONTROL CHANGE
Per adesso l'unico problema che non riescivo a risolvere era l'uso contemporaneo di USART IN E OUT: Se collego entrambi i connettori MIDI succede qualcosa che genera dei comportamenti imprevedibili nel dispositivo... ma a questo con calma troverò una soluzione.
Il problema di oggi invece è legato indirettamente al modulo USB. Infatti per gestire i 48MHz ho dovuto attivare il PLL prescaler. Il problema è che appena lo attivo e compilo, tutto il resto cessa di funzionare. Ho fatto attenzione alla gestione del postscaler, per chiarezza scendo nei dettagli:
Ho un cristallo esterno a 4MHz, configuro l'oscillatore come cristallo esterno e PLL attivo (FOSC = XTPLL_XT), non divido il prescaler (PLLDIV = 1), MCU a 4MHz e PLL Postscaler 96MHz/2 ( CPUDIV = OSC1_PLL2), assegno come sorgente dell' USB i 96MHz/2 del PLL (USBDIV = 2).
Perchè quando attivo il PLL il sistema impazzisce e si comporta in modo imprevedibile?
Sto realizzando un dispositivo che utilizza le seguenti periferiche:
1. Un display LCD 16x2
2. EEprom Interna (anche se ho ordinato una eeprom esterna da usare con l' SPI per avere più spazio)
3. Un Encoder rotativo
4. 4 pulsanti che fanno uso degli interrupt RB<4-7>
5. Un Timer (TMR0) per gestire alcune operazioni a tempo determinato.
6. Modulo SPI che ho implementato via software invece che quello interno, perchè altrimenti avrei perso la possibilità di usare il modulo USART
7. Modulo USART IN e OUT implementato per gestire i segnali MIDI PROGRAM CHANGE E CONTROL CHANGE
Per adesso l'unico problema che non riescivo a risolvere era l'uso contemporaneo di USART IN E OUT: Se collego entrambi i connettori MIDI succede qualcosa che genera dei comportamenti imprevedibili nel dispositivo... ma a questo con calma troverò una soluzione.
Il problema di oggi invece è legato indirettamente al modulo USB. Infatti per gestire i 48MHz ho dovuto attivare il PLL prescaler. Il problema è che appena lo attivo e compilo, tutto il resto cessa di funzionare. Ho fatto attenzione alla gestione del postscaler, per chiarezza scendo nei dettagli:
Ho un cristallo esterno a 4MHz, configuro l'oscillatore come cristallo esterno e PLL attivo (FOSC = XTPLL_XT), non divido il prescaler (PLLDIV = 1), MCU a 4MHz e PLL Postscaler 96MHz/2 ( CPUDIV = OSC1_PLL2), assegno come sorgente dell' USB i 96MHz/2 del PLL (USBDIV = 2).
Perchè quando attivo il PLL il sistema impazzisce e si comporta in modo imprevedibile?
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Nutshell
- Autore della discussione
- Premium Member
Riduci
Di più
12 Anni 3 Settimane fa #2
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Pic 18f4550 gestione clock + PLL
Ciao,
Saluti,
Mauro
- qual'e' la tensione di alimentazione del PIC?
- Controlla il datasheet che il cristallo da 4MHz possa essere usato con la modalita' XTPLL_XT.
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
12 Anni 3 Settimane fa #3
da Nutshell
Risposta da Nutshell al topic Re: Pic 18f4550 gestione clock + PLL
Alimento a 5Vdc con un LM7805. Ora do un occhiata al datasheet del cristallo, non ci avevo pensato, grazie!
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Nutshell
- Autore della discussione
- Premium Member
Riduci
Di più
- Messaggi: 128
- Ringraziamenti ricevuti 6
12 Anni 2 Settimane fa #4
da Nutshell
Risposta da Nutshell al topic Re: Pic 18f4550 gestione clock + PLL
Purtroppo sul datasheet del cristallo non dice nulla a riguardo... ho provato a sostituirlo con un altro senza risultato. Ma a voi funziona tutto quando attivate il PLL?
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Nutshell
- Autore della discussione
- Premium Member
Riduci
Di più
- Messaggi: 128
- Ringraziamenti ricevuti 6
12 Anni 2 Settimane fa #5
da shinshi
Risposta da shinshi al topic Re: Pic 18f4550 gestione clock + PLL
Ciao,
Io ho avuto un problema uguale ma con un 4431 con quarzo da 10MHz. Il PIC era su una breadboard e avevo messo il quarzo su una piccola schedina con i 2 condensatori montata in verticale vicinissima al PIC per evitare disturbi. Solo quando attivavo il PLL il circuito funzionava in maniera anomala e imprevedibile. Dopo aver montato lo stesso circuito su una basetta il problema è totalmente scomparso.
Spero possa esserti utile.
Saluti
Luca
Io ho avuto un problema uguale ma con un 4431 con quarzo da 10MHz. Il PIC era su una breadboard e avevo messo il quarzo su una piccola schedina con i 2 condensatori montata in verticale vicinissima al PIC per evitare disturbi. Solo quando attivavo il PLL il circuito funzionava in maniera anomala e imprevedibile. Dopo aver montato lo stesso circuito su una basetta il problema è totalmente scomparso.
Spero possa esserti utile.
Saluti
Luca
Ringraziano per il messaggio: Nutshell
Si prega Accedi o Crea un account a partecipare alla conversazione.
- shinshi
- Elite Member
Riduci
Di più
- Messaggi: 293
- Ringraziamenti ricevuti 29
Moderatori: Mauro Laurenti, Pinna, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.