
14.4.3.3
Double buffer
The double buffer can be used for T00PWM by setting T00MOD<DBE0>. The double buffer is disabled
by setting T00MOD<DBE0> to "0" or enabled by setting T00MOD<DBE0> to "1".
·
When the double buffer is enabled
When a write instruction is executed on T00PWM during the timer operation, the set value is
first stored in the double buffer, and T00PWM is not updated immediately. T00PWM compares
the previous set value with the up counter value. When the 2 × n-th overflow occurs, an INTTC00
interrupt request is generated and the double buffer set value is stored in T00PWM. Subsequently,
the match detection is executed using a new set value.
When a read instruction is executed on T00PWM, the value in the double buffer (the last set
value) is read out, not the T00PWM value (the currently effective value).
When a write instruction is executed on T00PWM while the timer is stopped, the set value is
immediately stored in both the double buffer and T00PWM.
·
When the double buffer is disabled
When a write instruction is executed on T00PWM during the timer operation, the set value is
immediately stored in T00PWM. Subsequently, the match detection is executed using a new set
value. If the value set to T00PWM is smaller than the up counter value, the PWM0 pin is not
reversed until the up counter overflows and a match detection is executed using a new set value.
If the value set to T00PWM is equal to the up counter value, the match detection is executed
immediately after data is written into T00PWM. Therefore, the timing of changing the PWM0 pin
may not be an integral multiple of the source clock
(Figure 14-7). Similarly, if T00PWM is set
during the additional pulse output, the timing of changing the PWM0 pin may not be an integral
multiple of the source clock. If these are problems, enable the double buffer.
When a write instruction is executed on T00PWM while the timer is stopped, the set value is
immediately stored in T00PWM.
Source clock
Counter
n-4
n-5
n-2
n
Write to T00PWM
Write n-2
PWM0 pin output
n-3
n-2
n-1
n
T00PWM
<PWMDUTY>
Match detection
T00MOD<DBE0>
Figure 14-7 Operation When T00PWM and the Up Counter Have the Same Value
TMP89FH42
Page 193
RA004