Buonasera a tutti
Devo Utilizzare il PIC in oggetto e ho letto sul datasheet che ha un oscillatore interno con tolleranza di errore c.a. 1% e senza l'ausilio di componenti esterni.
Volevo sapere se qualcuno lo ha mai utilizzato , se e' vero che e' preciso e se mi puo' dare qualche dritta su come settare i registri per il funzionamento ( non ho trovato molto on rete).
Grazie
Pic16f677 e oscillatore interno
Moderatore:
Paolino
9 messaggi
• Pagina 1 di 1
1
voti
Gli oscillatori interni sono sempre precisi. Se vuoi testare la precisione, basta che usi un timer e fai un lampeggio con un LED ad una determinata frequenza o ancora meglio, nel caso di disporre di un oscilloscopio, osservare il segnale sul pin di CLKOUT nel caso fosse disponibile tanto per hardware come su circuito.
Cosa dice il datasheet riguardo ai registri? È e la migliore risorsa dove puoi trovare TUTTE le informazioni a riguardo. Solitamente si configurano i bit di configurazione principali oltre al registro di configurazione del clock di sistema.
Cosa dice il datasheet riguardo ai registri? È e la migliore risorsa dove puoi trovare TUTTE le informazioni a riguardo. Solitamente si configurano i bit di configurazione principali oltre al registro di configurazione del clock di sistema.
1
voti
Quando è possibile uso sempre gli oscillatori interni anche solo per diminuire le emissioni. In generale sono abbastanza precisi da potere essere utilizzati con tranquillità anche per le comunicazioni su linea seriale.
Piccola digressione.
Di solito i micro che hanno l' oscillatore interno sono provvisti anche di un registro di tuning per l' aggiustamento della frequenza. Non so se si trova anche sui PIC16 ma sui PIC24 e superiori c'è, come c'è negli ARM in generale.
Per ottenere un' alta precisione si usa un secondo oscillatore quarzato a 32768Hz., oscillatore con quarzo piccolo, economico e che emette poco ma molto preciso. Questo oscillatore, oltre a pilotare gli eventuali RTC serve anche come riferimento di frequenza. Il firmware può così confrontare il valore un conteggio effettuato con l' oscillatore interno con il valore teorico che dovrebbe avere e regolare l' oscillatore interno in modo da renderlo preciso quanto l' oscillatore a 32768Hz.
Piccola digressione.
Di solito i micro che hanno l' oscillatore interno sono provvisti anche di un registro di tuning per l' aggiustamento della frequenza. Non so se si trova anche sui PIC16 ma sui PIC24 e superiori c'è, come c'è negli ARM in generale.
Per ottenere un' alta precisione si usa un secondo oscillatore quarzato a 32768Hz., oscillatore con quarzo piccolo, economico e che emette poco ma molto preciso. Questo oscillatore, oltre a pilotare gli eventuali RTC serve anche come riferimento di frequenza. Il firmware può così confrontare il valore un conteggio effettuato con l' oscillatore interno con il valore teorico che dovrebbe avere e regolare l' oscillatore interno in modo da renderlo preciso quanto l' oscillatore a 32768Hz.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
Dipende dal circuito del clock. A volte certe frequenze si possono ottenere con PLL prescaler e postscaler, ed altre volte no. In tal caso si ricorre al cristallo.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
grazie per le risposte...ne approfitto.
Sto leggendo il datasheet e se il mio inglese non mi tradisce (molto scadente) mi pare di aver capito che per selezionare il funzionamento dell'oscillatore interno occorre intervenire sul registro di configurazione....gli altri registri (che non ti elenco) servono solo per impostare i parametri della frequenza...ma non mi è chiaro come si effettua la calibrazione ( e quando effettivamente è utile)
scusa se approfitto del tuo "sapere".
rosario
Sto leggendo il datasheet e se il mio inglese non mi tradisce (molto scadente) mi pare di aver capito che per selezionare il funzionamento dell'oscillatore interno occorre intervenire sul registro di configurazione....gli altri registri (che non ti elenco) servono solo per impostare i parametri della frequenza...ma non mi è chiaro come si effettua la calibrazione ( e quando effettivamente è utile)
scusa se approfitto del tuo "sapere".
rosario
0
voti
Ho dato uno sguardo al datasheet.
Si, devi intervenire sul registro di configurazione per selezionare l' oscillatore interno.
In questo micro, con l' oscillatore interno puoi avere unclock massimo di 8MHz. Se ti serve un clock maggiore devi usare il cristallo.
Il registro di tuning è presente, si chiama OSCTUNE ed è descritto a pagina 52 ma non te ne preoccupare.
Come ho detto serve per il tuning ma solo se sei in grado di scrivere un programma che misuri la frequenza di clock dell' osccillatore interno e poi compararla con l' oscillatore a 32768Hz (inutile dire che ci deve essere e deve essere funzionante).
Sono comunque cose né semplici né intuitive da implementare.
Si, devi intervenire sul registro di configurazione per selezionare l' oscillatore interno.
In questo micro, con l' oscillatore interno puoi avere unclock massimo di 8MHz. Se ti serve un clock maggiore devi usare il cristallo.
Il registro di tuning è presente, si chiama OSCTUNE ed è descritto a pagina 52 ma non te ne preoccupare.
Come ho detto serve per il tuning ma solo se sei in grado di scrivere un programma che misuri la frequenza di clock dell' osccillatore interno e poi compararla con l' oscillatore a 32768Hz (inutile dire che ci deve essere e deve essere funzionante).
Sono comunque cose né semplici né intuitive da implementare.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
9 messaggi
• Pagina 1 di 1
Torna a Firmware e programmazione
Chi c’è in linea
Visitano il forum: Nessuno e 2 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)

