Timer/PWM (TPM)
MC9S08RC/RD/RE/RG Data Sheet, Rev. 1.11
Freescale Semiconductor
137
10.6
TPM Interrupts
The TPM generates an optional interrupt for the main counter overow and an interrupt for each channel.
The meaning of channel interrupts depends on the mode of operation for each channel. If the channel is
congured for input capture, the interrupt ag is set each time the selected input capture edge is
recognized. If the channel is congured for output compare or PWM modes, the interrupt ag is set each
time the main timer counter matches the value in the 16-bit channel value register. See the Resets,
Interrupts, and System Conguration chapter for absolute interrupt vector addresses, priority, and local
interrupt mask control bits.
For each interrupt source in the TPM, a ag bit is set on recognition of the interrupt condition such as timer
overow, channel input capture, or output compare events. This ag may be read (polled) by software to
verify that the action has occurred, or an associated enable bit (TOIE or CHnIE) can be set to enable
hardware interrupt generation. While the interrupt enable bit is set, a static interrupt will be generated
whenever the associated interrupt ag equals 1. It is the responsibility of user software to perform a
sequence of steps to clear the interrupt ag before returning from the interrupt service routine.
10.6.1
Clearing Timer Interrupt Flags
TPM interrupt ags are cleared by a 2-step process that includes a read of the ag bit while it is set (1)
followed by a write of 0 to the bit. If a new event is detected between these two steps, the sequence is reset
and the interrupt ag remains set after the second step to avoid the possibility of missing the new event.
10.6.2
Timer Overow Interrupt Description
The conditions that cause TOF to become set depend on the counting mode (up or up/down). In
up-counting mode, the 16-bit timer counter counts from $0000 through $FFFF and overows to $0000 on
the next counting clock. TOF becomes set at the transition from $FFFF to $0000. When a modulus limit
is set, TOF becomes set at the transition from the value set in the modulus register to $0000. When the
counter is operating in up-/down-counting mode, the TOF ag gets set as the counter changes direction at
the transition from the value set in the modulus register and the next lower count value. This corresponds
to the end of a PWM period. (The $0000 count value corresponds to the center of a period.)
10.6.3
Channel Event Interrupt Description
The meaning of channel interrupts depends on the current mode of the channel (input capture, output
compare, edge-aligned PWM, or center-aligned PWM).
When a channel is congured as an input capture channel, the ELSnB:ELSnA control bits select rising
edges, falling edges, any edge, or no edge (off) as the edge that triggers an input capture event. When the
selected edge is detected, the interrupt ag is set. The ag is cleared by the 2-step sequence described in
When a channel is congured as an output compare channel, the interrupt ag is set each time the main
timer counter matches the 16-bit value in the channel value register. The ag is cleared by the 2-step