140 likes | 223 Views
PULSE WIDITH MODULATION EE 587 Presented by Viswanadha Kakarlapudi. Overview. Introduction Implementing 16-Bit PWM Using the PCA 16-Bit PWM Using the On-Chip Timer How Servos Work References. Introduction. Signal Information is encoded in the duty cycle
E N D
PULSE WIDITH MODULATIONEE 587Presented byViswanadha Kakarlapudi
Overview • Introduction • Implementing 16-Bit PWM Using the PCA • 16-Bit PWM Using the On-Chip Timer • How Servos Work • References
Introduction • Signal Information is encoded in the duty cycle • Input to the PWM implementation is an integer proportional to the duty cycle desired
Implementing PWM Using PCAIntroduction to PCA (Programmable Counter Array)
Implementing PWM Using PCA8-Bit PWM • Duty cycle can be changed by single 8-bit write to PCAOCPHn
16-Bit PWM Using the PCA • Duty cycle can be changed by single 16-bit write to the variable PWM
16-Bit PWM Using an On-Chip Timer • The C8051F2xx family SoC’s feature three on-board timers that can be used for PWM generation • The C8051F226-TB features a low-pass filter that can be readily used for the PWM DAC
16-Bit PWM Using an On-Chip Timer • Timer is set to the amount of time the PWM wave is high during one cycle • When the timer overflows, the program vectors to an ISR to take a port pin high or low to produce the PWM wave • The smallest pulse width that can be assigned is 19 clock cycles. The ISR takes 14 cycles to take the PWM wave from high to low
How Servos Work • Servos are commanded through PWM signals • In order for the Servo to hold position, the command must be sent every 20ms
References • www.cygnal.com/appnotes • www.brookshiresoftware.com