English
Language : 

MC9S08QG8 Datasheet, PDF (238/300 Pages) Freescale Semiconductor, Inc – 8-BIT HCS08 Central Processor Unit
Timer/PWM (S08TPMV2)
16.4.2.2 Output Compare Mode
With the output compare function, the TPM can generate timed pulses with programmable position,
polarity, duration, and frequency. When the counter reaches the value in the channel value registers of an
output compare channel, the TPM can set, clear, or toggle the channel pin.
In output compare mode, values are transferred to the corresponding timer channel value registers only
after both 8-bit bytes of a 16-bit register have been written. This coherency sequence can be manually reset
by writing to the channel status/control register (TPMCnSC).
An output compare event sets a flag bit (CHnF) that can optionally generate a CPU interrupt request.
16.4.2.3 Edge-Aligned PWM Mode
This type of PWM output uses the normal up-counting mode of the timer counter (CPWMS = 0) and can
be used when other channels in the same TPM are configured for input capture or output compare
functions. The period of this PWM signal is determined by the setting in the modulus register
(TPMMODH:TPMMODL). The duty cycle is determined by the setting in the timer channel value register
(TPMCnVH:TPMCnVL). The polarity of this PWM signal is determined by the setting in the ELSnA
control bit. Duty cycle cases of 0 percent and 100 percent are possible.
As Figure 16-11 shows, the output compare value in the TPM channel registers determines the pulse width
(duty cycle) of the PWM signal. The time between the modulus overflow and the output compare is the
pulse width. If ELSnA = 0, the counter overflow forces the PWM signal high and the output compare
forces the PWM signal low. If ELSnA = 1, the counter overflow forces the PWM signal low and the output
compare forces the PWM signal high.
OVERFLOW
TPMCH
PERIOD
PULSE
WIDTH
OVERFLOW
OVERFLOW
OUTPUT
COMPARE
OUTPUT
COMPARE
Figure 16-11. PWM Period and Pulse Width (ELSnA = 0)
OUTPUT
COMPARE
When the channel value register is set to 0x0000, the duty cycle is 0 percent. By setting the timer channel
value register (TPMCnVH:TPMCnVL) to a value greater than the modulus setting, 100% duty cycle can
be achieved. This implies that the modulus setting must be less than 0xFFFF to get 100% duty cycle.
Because the HCS08 is a family of 8-bit MCUs, the settings in the timer channel registers are buffered to
ensure coherent 16-bit updates and to avoid unexpected PWM pulse widths. Writes to either register,
TPMCnVH or TPMCnVL, write to buffer registers. In edge-PWM mode, values are transferred to the
corresponding timer channel registers only after both 8-bit bytes of a 16-bit register have been written and
the value in the TPMCNTH:TPMCNTL counter is 0x0000. (The new duty cycle does not take effect until
the next full period.)
MC9S08QG8 and MC9S08QG4 Data Sheet, Rev. 1.01
238
Freescale Semiconductor