On-chip peripherals
ST7LUS5, ST7LU05, ST7LU09
PWM frequency and duty cycle
The PWM signal frequency (fPWM) is controlled by the counter period and the ATR register
value.
fPWM = fCOUNTER/(4096 - ATR)
Following the above formula, if fCPU is 8 MHz, the maximum value of fPWM is 4 MHz (ATR
register value = 4094), and the minimum value is 2 kHz (ATR register value = 0).
Note:
The maximum value of ATR is 4094 because it must be lower than the DCR value which
must be 4095 in this case.
At reset, the counter starts counting from 0.
bsolete PPrroodduucctt((ss)) Note:
Productt((ss)) -- OObsolete Caution:
Software must write the duty cycle value in the DCR0H and DCR0L preload registers. The
DCR0H register must be written first. See caution below.
When an upcounter overflow occurs (OVF event), the ATR value is loaded in the upcounter,
the preloaded Duty cycle value is transferred to the Duty Cycle register and the PWM0
signal is set to a high level. When the upcounter matches the DCRx value the PWM0 signals
is set to a low level. To obtain a signal on the PWM0 pin, the contents of the DCR0 register
must be greater than the contents of the ATR register.
The polarity bit can be used to invert the output signal.
The maximum available resolution for the PWM0 duty cycle is:
Resolution = 1/(4096 - ATR)
To get the maximum resolution (1/4096), the ATR register must be 0. With this maximum
resolution and assuming that DCR = ATR, a 0% or 100% duty cycle can be obtained by
changing the polarity.
As soon as the DCR0H is written, the compare function is disabled and will start only when
the DCR0L value is written. If the DCR0H write occurs just before the compare event, the
signal on the PWM output may not be set to a low level. In this case, the DCRx register
should be updated just after an OVF event. If the DCR and ATR values are close, then the
DCRx register should be updated just before an OVF event, in order not to miss a compare
event and to have the right signal applied on the PWM output.
te c Figure 33. PWM function
sole rodu 4095
Duty cycle
b Pregister
O te (DCR0)
le Auto-reload
o register
s (ATR)
b 000
Ot
With OE0 = 1
And OP0 = 0
With OE0 = 1
And OP0 = 1
70/124