
Timer Interface Module (TIM)
Advance Information
MC68HC(9)08XK48 — Rev. 4.0
256
Timer Interface Module (TIM)
MOTOROLA
Use these methods to synchronize unbuffered changes in the PWM
pulse width on channel x:
When changing to a shorter pulse width, enable channel x output
compare interrupts and write the new value in the output compare
interrupt routine. The output compare interrupt occurs at the end
of the current pulse. The interrupt routine has until the end of the
PWM period to write the new value.
When changing to a longer pulse width, enable channel x timer
overflow interrupts and write the new value in the timer overflow
interrupt routine. The timer overflow interrupt occurs at the end of
the current PWM period. Writing a larger value in an output
compare interrupt routine (at the end of the current pulse) could
cause two output compares to occur in the same PWM period.
NOTE:
In PWM signal generation, do not program the PWM channel to toggle
on output compare. Toggling on output compare prevents reliable 0
percent 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 also can cause incorrect PWM signal generation when
changing the PWM pulse width to a new, much larger value.
16.4.4.2 Buffered PWM Signal Generation
Channels 0 and 1 can be linked to form a buffered PWM channel whose
output appears on the PTE4/TCH0 pin. The timer channel registers of
the linked pair alternately control the pulse width of the output.
Setting the MS0B bit in timer channel 0 status and control register
(TSC0) links channel 0 and channel 1. The timer channel 0 registers
initially control the pulse width on the PTE4/TCH0 pin. Writing to the
timer channel 1 registers enables the timer channel 1 registers to
synchronously control the pulse width at the beginning of the next PWM
period. At each subsequent overflow, the timer channel registers (0 or 1)
that control the pulse width are written to last. TSC0 controls and
monitors the buffered PWM function, and timer channel 1 status and
control register (TSC1) is unused. While the MS0B bit is set, the channel
1 pin, PTE5/TCH1, is available as a general-purpose I/O pin.