venerdì 17 febbraio 2012

Il modulo PWM del PIC16F887

All' interno del pic16F887 sono presenti due moduli hardware chiamati CCP1 e CCP2 in grado di implementare le funzioni di Compare, Captue e PWM.

La funzione PWM è in grado di generare un segnale impulsivo modulato in ampiezza, dove è impostabile frequenza e duty cycle. Questo segnale può essere utilizzato nei protocolli di comunicazione dove l'informazione è codificata in base alla durata degli impulsi e al duty cycle oppure per generare una tensione media di ampiezza variabile per pilotare ad esempio dei motori.

Il segnale PWM viene generato sul pin CCPx (CCP1 o CCP2). Il duty cycle il perido e la risoluzione è determinata dai seguenti registri
• PR2
• T2CON
• CCPRxL (CCPR1L o CCPR2L)
• CCPxCON (CCP1CON o CCP2CON)

La risoluzione del segnale generato sul pin CCP può raggiungere al massimo 10 bit

Il modulo PWM per funzionare ha bisogno di utilizzare come risorsa esclusiva il modulo Timer2.







PWM PERIOD
Il perido è specificato dal valore impostato nel registro PR2 del Timer2.
La formula per calcolare il periodo è la seguente:

PWM Period = [(PR2) + 1] • 4 • 1/FOSC • (TMR2 Prescale Value)

Quando TMR2 diventa uguale a PR2:
• TMR2 è azzerato (il timer2 è di tipo free-running, quindi riparte il conteggio da 0)
• Il pin CCPx è settato (Eccezione: se il duty cycle = 0 il pin non viene settato)
• Il valore di CCPRxL è caricato in CCPRxH.determinando il duty cycle

... Da completare!! ...

Spiegazione e immagini sono tratte dal datasheet del PIC16F887

Nessun commento:

Posta un commento