Download Rabbit 3000 Microprocessor User`s Manual

Transcript
22. PULSE WIDTH MODULATOR
22.1 Overview
The Pulse Width Modulator (PWM) consists of a 10-bit free running counter and four
width registers. A PWM output consists of a train of periodic pulses within a 1024-count
frame with a duty cycle that varies from 1/1024 to 1024/1024. Each PWM output is high
for n + 1 counts out of the 1024-clock count cycle, where n is the value held in the width
register. The PWM is clocked by the output of Timer A9 which is used to set the period.
Each PWM output high time can optionally be spread throughout the cycle to reduce ripple on the externally filtered PWM output. The PWM outputs can be passed through a filter and used as a 10-bit D/A converter. The outputs can also be used to directly drive
devices such as motors or solenoids that have intrinsic filtering.
The PWM outputs can trigger a PWM interrupt on every PWM cycle, every other cycle,
every fourth cycle, or every eighth cycle. In addition, the PWM output can be suppressed
every other cycle, three out of every four cycles, or seven out of every eight cycles. These
options provide support for driving servos and to generate audio signals. The setup for this
interrupt is done in the PWL0R and PWL1R registers. The timing is shown below.
ITERATION
0
1
2
3
4
5
6
7
1/8 OUTPUT
1/4 OUTPUT
1/2 OUTPUT
FULL OUTPUT
1/8 INTERRUPT
1/4 INTERRUPT
1/2 INTERRUPT
FULL INTERRUPT
Chapter 22 Pulse Width Modulator
195