
Timer Interface Module (TIM)
MC68HC08LK60 MC68HC908LK60 Advance Information Data Sheet, Rev. 1.1
188
Freescale Semiconductor
NOTE
In buffered PWM signal generation, do not write new pulse width values to
the currently active channel registers. Writing to the active channel
registers is the same as generating unbuffered PWM signals.
16.3.4.3 PWM Initialization
To ensure correct operation when generating unbuffered or buffered PWM signals, use this initialization
procedure:
1.
In the timer status and control register (TSC):
a.
Stop the timer counter by setting the timer stop bit, TSTOP.
b.
Reset the timer counter by setting the timer reset bit, TRST.
2.
In the timer counter modulo registers (TMODH and TMODL), write the value for the required PWM
period.
3.
In the timer channel x registers (TCHxH and TCHxL), write the value for the required pulse width.
4.
In timer 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
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 and ELSxA. The output action on compare must force the output to the
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 timer status control register (TSC), clear the timer stop bit, TSTOP.
Setting MS0B links channels 0 and 1 and configures them for buffered PWM operation. The timer
channel 0 registers (TCH0H and TCH0L) initially control the buffered PWM output. Timer status control
register 0 (TSCR0) controls and monitors the PWM signal from the linked channels. MS0B takes priority
over MS0A.
Setting MS2B links channels 2 and 3 and configures them for buffered PWM operation. The timer
channel 2 registers (TCH2H and TCH2L) initially control the PWM output. Timer status control register 2
(TSCR2) controls and monitors the PWM signal from the linked channels. MS2B takes priority over MS2A.
Clearing the toggle on overflow bit, TOVx, inhibits output toggles on timer overflows. Subsequent output
compares try to force the output to a state it is already in and have no effect. The result is a 0% duty cycle
output.