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 Input to the PWM implementation is an integer proportional to the duty cycle desired
Implementing PWM Using PCA Introduction to PCA (Programmable Counter Array)
Implementing PWM Using PCA 8-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
16-Bit PWM Using an On-Chip Timer
How Servos Work Servos are commanded through PWM signals In order for the Servo to hold position, the command must be sent every 20ms
How Servos Work
References