Datasheet

921
SAM4S Series [DATASHEET]
11100F–ATARM–29-Jan-14
39.6.2.2 Comparator
The comparator continuously compares its counter value with the channel period defined by CPRD in the “PWM Channel
Period Register” (PWM_CPRDx) and the duty-cycle defined by CDTY in the “PWM Channel Duty Cycle Register”
(PWM_CDTYx) to generate an output signal OCx accordingly.
The different properties of the waveform of the output OCx are:
the clock selection. The channel counter is clocked by one of the clocks provided by the clock generator
described in the previous section. This channel parameter is defined in the CPRE field of the “PWM Channel Mode
Register” (PWM_CMRx). This field is reset at ‘0’.
the waveform period. This channel parameter is defined in the CPRD field of the PWM_CPRDx register.
If the waveform is left aligned, then the output waveform period depends on the counter source clock and can be
calculated:
By using the PWM master clock (MCK) divided by an X given prescaler value (with X being 1, 2, 4, 8, 16, 32, 64,
128, 256, 512, or 1024), the resulting period formula will be:
By using the PWM master clock (MCK) divided by one of both DIVA or DIVB divider, the formula becomes,
respectively:
or
If the waveform is center aligned then the output waveform period depends on the counter source clock and can
be calculated:
By using the PWM master clock (MCK) divided by an X given prescaler value
(with X being 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, or 1024). The resulting period formula will be:
By using the PWM master clock (MCK) divided by one of both DIVA or DIVB divider, the formula becomes,
respectively:
or
the waveform duty-cycle. This channel parameter is defined in the CDTY field of the PWM_CDTYx register.
If the waveform is left aligned then:
If the waveform is center aligned, then:
the waveform polarity. At the beginning of the period, the signal can be at high or low level. This property is
defined in the CPOL bit of the PWM_CMRx. By default the signal starts by a low level.
XCPRD×()
MCK
-------------------------------
XC× RPD DIVA×()
MCK
----------------------------------------------------
XC× RPD DIVB×()
MCK
----------------------------------------------------
2 XCPRD××()
MCK
----------------------------------------
2 XC× PRD DIVA××()
MCK
-------------------------------------------------------------
2 XC× PRD× DIVB×()
MCK
-------------------------------------------------------------
duty cycle
period 1 fchannel_x_clock CDTY×()
period
----------------------------------------------------------------------------------------------------
=
duty cycle
period 2()1 fchannel_x_clock CDTY×())
period 2()
-------------------------------------------------------------------------------------------------------------------
=