Appendix B: TIMA-6
Functional Description
MC68HC08AZ32
MOTOROLA
Appendix B: TIMA-6
469
PWM Initialization
To ensure correct operation when generating unbuffered or buffered
PWM signals, use the following initialization procedure:
1.
In the TIMA status and control register (TASC):
a.
Stop the TIMA counter by setting the TIMA stop bit, TSTOP.
b.
Reset the TIMA counter by setting the TIMA reset bit, TRST.
2.
In the TIMA counter modulo registers (TAMODH–TAMODL), write
the value for the required PWM period.
In the TIMA channel x registers (TACHxH–TACHxL), write the
value for the required pulse width.
In TIMA channel x status and control register (TSCx):
a.
Write 0:1 (for unbuffered output compare or PWM signals) or
1:0 (for buffered output compare or PWM signals) to the mode
select bits, MSxB–MSxA. See
Table 2
.
3.
4.
b.
Write 1 to the toggle-on-overflow bit, TOVx.
c.
Write 1:0 (to clear output on compare) or 1:1 (to set output on
compare) to the edge/level select bits, ELSxB–ELSxA. The
output action on compare must force the output to the
complement of the pulse width level. (See
Table 2
.)
NOTE:
In PWM signal generation, do not program the PWM channel to toggle
on output compare. Toggling on output compare prevents reliable 0%
duty cycle generation and removes the ability of the channel to
self-correct in the event of software error or noise. Toggling on output
compare can also cause incorrect PWM signal generation when
changing the PWM pulse width to a new, much larger value.
5.
In the TIMA status control register (TASC), clear the TIMA stop bit,
TSTOP.
Setting MS0B links channels 0 and 1 and configures them for buffered
PWM operation. The TIMA channel 0 registers (TACH0H–TACH0L)
initially control the buffered PWM output. TIMA status control register 0
(TASC0) controls and monitors the PWM signal from the linked
channels. MS0B takes priority over MS0A.
13-tima6