|
|||||||||||||
PWM: teoria e generazione con i micro - 3 |
|||||||||||||
|
|||||||||||||
|
|||||||||||||
Il
PWM nei microcontrollori
Voler implementare
un generatore di segnali PWM con controllo digitale del duty cycle D
richiederebbe molte risorse firmware ed una complessità hardware non
indifferente. Il modulo CCP nel microcontrollori 16FXX Con l'acronimo CCP (CAPTURE, COMPARE, PWM)
s’identifica un modulo che permette di realizzare le funzioni di
cattura, comparazione e generazione di segnali PWM. La scelta della
funzione si attua configurando il registro a 8 bit CCPCON [7:0]. Il modulo CCP come PWM Settando ad uno i bit 3 e 4 del registro CCPCON si attiva la funzione PWM del modulo CCP. In tal caso sul pin RB3 sarà presente un segnale modulato in PWM il cui duty cycle è definito dai registri CCPR1L[7:0] e da CCPCON[5:4]. In particolare, i bit 5 e 4 del CCPCON costituiscono i bit meno significativi (LSB) della parola a 10 bit con cui si definisce il duty cycle. Gli otto bit piu' significativi MSB sono contenuti nel registro CCPR1L[7:0]. In sintesi, per la generazione del segnale PWM si utilizza il contatore a 8 bit TIMER2, il suo prescaler TMR2_presc e altri registri (PR2) configurati sulla base del valore di frequenza che si vuole per i segnale in uscita. In figura 2 è riportato lo schema blocchi del generatore PWM. Figura 2: schema a blocchi del modulo CCP in veste di generatore PWM Si può notare che
la generazione della fase alta del segnale è definita dal confronto tra
il valori di CCPR1L[7:0] e da CCP1CON[5:4], caricati
su CCPR1H, e il valore di TMR2 mentre il periodo del segnale T_pwm è
definito dal confronto tra il valore di PR2 e quello di TMR2. Sulla
base delle considerazioni fatte si possono definire le grandezze in
gioco per il segnale PWM. T_pwm= (PR2+1) * 4 * t_osc * TMR2_presc mentre il valore del duty cycle D è definito dalla relazione: D = { CCPR1L[7:0] ,CCPCON[5:4] }* t_osc*TMR2_presc la risoluzione in bit è : Nbit =log (T_pwm / T_osc ) / log(2) Quindi fissati il
valore del quarzo bisogna definire i valori dei vari registri in base
alla frequenza del segnale PWM e al numero e di bit per la risoluzione.
Come applicazione della teoria ora esposta si può fare riferimento ai seguenti progetti pubblicati nel sito:
|
|
||||||||||||
|
|||||||||||||
|
|||||||||||||
|