Buona sera a tutti,
sono un ex studente di elettronica che ora, facendo tutt'altro, la pratico solo come hobby. Posseggo un PIC 16F887 e rileggendo il datasheet per rinfrescarmi un po la memoria ho trovato un modulo del PIC di cui non so nulla: il modulo CCP (Capture/Compare/PWM). Qualcono potrebbe spiegarmi come funzione tale modulo e in quali casi è applicabile?
Grazie a tutti
Andrea
Funzionamento modulo CCP
Moderatore:
Paolino
4 messaggi
• Pagina 1 di 1
3
voti
Ciao
andrew93, se lo hai trovato leggendolo, avresti potuto continuare a leggere il contenuto del datasheet per sapere quello che chiedi.
Magari mi sbaglio ma se tu non riuscissi ad "interpretare" il contenuto potresti chiedere più nello specifico; è documentazione disponibile solo in inglese.
Comunque, per iniziare a fugare qualche dubbio, per quel poco che ne so considera che il modulo CCP può assolvere a tre funzioni specifiche ovvero: Capture, Compare e PWM.
Per usare la funzione che ti interessa devi configurare opportunamente il CCP (o meglio i registri che ne condizionano la modalità di funzionamento).
Comunque, brevemente ...
Capture (rif. pag.126)
Serve a questo: stabilire quanto tempo è trascorso prima dell'insorgenza di un evento.
Quando si verifica un determinato evento, che tu hai scelto di controllare (per es. la variazione di stato di un pin), interviene un "interrupt" che ti segnala l'accaduto.
A quel punto tu sai che in due registri specifici (CCPRxH, CCPRxL) puoi recuperare il valore del TMR1 (il timer1); questo valore corrisponde al tempo trascorso da quando hai deciso di attivare il controllo a quando si è verificato l'evento.
Il timer1 deve inoltre essere opportunamente predisposto.
Compare (rif. pag.127)
Serve a questo: eseguire una comparazione continua tra due valori; un valore è quello del timer1 (quindi un tempo) mentre l'altro è una costante scritta, in, e utilizzando due registri (CCPRxH, CCPRxL) e quindi 16 bit(s).
Quando i due valori coincidono viene generato un evento (anche il tipo di evento può essere stabilito, tra quelli a disposizione, ovviamente).
PWM (rif. pag.128, 129)
Serve a questo: generare un segnale di tipo PWM (se non sai cos'è prova anche a cercare qui su EY) in uscita, su un pin; i tempi che caratterizzano questa forma d'onda possono essere determinati modificando il contenuto di registri e timer (il TMR2).
In quali circostanze ricorrere a queste funzioni ?
Beh, dipende dall'applicazione e dalle necessità, prova ad immaginare.
Se hai bisogno di ulteriori precisazioni o chiarimenti scrivi; intanto prova a rileggere il datasheet avendo come riferimento anche queste poche righe ma confidando possano essere un minimo d'aiuto per iniziare a comprendere quanto contiene il documento ufficiale.
Saluti
Magari mi sbaglio ma se tu non riuscissi ad "interpretare" il contenuto potresti chiedere più nello specifico; è documentazione disponibile solo in inglese.
Comunque, per iniziare a fugare qualche dubbio, per quel poco che ne so considera che il modulo CCP può assolvere a tre funzioni specifiche ovvero: Capture, Compare e PWM.
Per usare la funzione che ti interessa devi configurare opportunamente il CCP (o meglio i registri che ne condizionano la modalità di funzionamento).
Comunque, brevemente ...
Capture (rif. pag.126)
Serve a questo: stabilire quanto tempo è trascorso prima dell'insorgenza di un evento.
Quando si verifica un determinato evento, che tu hai scelto di controllare (per es. la variazione di stato di un pin), interviene un "interrupt" che ti segnala l'accaduto.
A quel punto tu sai che in due registri specifici (CCPRxH, CCPRxL) puoi recuperare il valore del TMR1 (il timer1); questo valore corrisponde al tempo trascorso da quando hai deciso di attivare il controllo a quando si è verificato l'evento.
Il timer1 deve inoltre essere opportunamente predisposto.
Compare (rif. pag.127)
Serve a questo: eseguire una comparazione continua tra due valori; un valore è quello del timer1 (quindi un tempo) mentre l'altro è una costante scritta, in, e utilizzando due registri (CCPRxH, CCPRxL) e quindi 16 bit(s).
Quando i due valori coincidono viene generato un evento (anche il tipo di evento può essere stabilito, tra quelli a disposizione, ovviamente).
PWM (rif. pag.128, 129)
Serve a questo: generare un segnale di tipo PWM (se non sai cos'è prova anche a cercare qui su EY) in uscita, su un pin; i tempi che caratterizzano questa forma d'onda possono essere determinati modificando il contenuto di registri e timer (il TMR2).
In quali circostanze ricorrere a queste funzioni ?
Beh, dipende dall'applicazione e dalle necessità, prova ad immaginare.
Se hai bisogno di ulteriori precisazioni o chiarimenti scrivi; intanto prova a rileggere il datasheet avendo come riferimento anche queste poche righe ma confidando possano essere un minimo d'aiuto per iniziare a comprendere quanto contiene il documento ufficiale.
Saluti
W - U.H.F.
-

WALTERmwp
30,2k 4 8 13 - G.Master EY

- Messaggi: 8990
- Iscritto il: 17 lug 2010, 18:42
- Località: le 4 del mattino
0
voti
Scusate per il ritardo ma sono stato preso col lavoro.
Comunque se io avessi un segnale sinusoidale con ampiezza e frequenza variabile ed essendo che quest'ultimo parametro non mi interessa e che comunque non sarebbe un problema visto che utilizzerò un limitatore di tensione, come posso rilevare la variazione di frequenza?
Se ho capito bene il modulo CCP potrebbe venirmi in aiuto per misurare tale veriazione di frequenza, solo che non ho idea di che funzione utilizzare, capture o compare? Che differenza ci sarebbe in questo caso utilizzando uno o l'altro sistema?
Grazie
Andrea
Comunque se io avessi un segnale sinusoidale con ampiezza e frequenza variabile ed essendo che quest'ultimo parametro non mi interessa e che comunque non sarebbe un problema visto che utilizzerò un limitatore di tensione, come posso rilevare la variazione di frequenza?
Se ho capito bene il modulo CCP potrebbe venirmi in aiuto per misurare tale veriazione di frequenza, solo che non ho idea di che funzione utilizzare, capture o compare? Che differenza ci sarebbe in questo caso utilizzando uno o l'altro sistema?
Grazie
Andrea
0
voti
Mi ero distratto scordando di continuare su questo thread.
Provo ad accennarti una risposta anche se magari nel frattempo hai risolto.
Guarda il cap.8.0 COMPARATOR MODULE (pag.83), forse può fare al caso tuo.
Saluti
Provo ad accennarti una risposta anche se magari nel frattempo hai risolto.
Guarda il cap.8.0 COMPARATOR MODULE (pag.83), forse può fare al caso tuo.
Saluti
W - U.H.F.
-

WALTERmwp
30,2k 4 8 13 - G.Master EY

- Messaggi: 8990
- Iscritto il: 17 lug 2010, 18:42
- Località: le 4 del mattino
4 messaggi
• Pagina 1 di 1
Torna a Firmware e programmazione
Chi c’è in linea
Visitano il forum: Nessuno e 6 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)
