Pulse-Width Modulator for Motor Control (PWMMC)
MC68HC908MR32 • MC68HC908MR16 Data Sheet, Rev. 6.1
144 Freescale Semiconductor
12.9.2 PWM Counter Modulo Registers
The PWM counter modulus registers (PMODH and PMODL) hold a 12-bit unsigned number that
determines the maximum count for the up/down or up-only counter. In center-aligned mode, the PWM
period will be twice the modulus (assuming no prescaler). In edge-aligned mode, the PWM period will
equal the modulus. See Figure 12-35 and Figure 12-36.
To avoid erroneous PWM periods, this value is buffered and will not be used by the PWM generator until
the LDOK bit has been set and the next PWM load cycle begins.
NOTE
When reading this register, the value read is the buffer (not necessarily the
value the PWM generator is currently using).
Because of the equals-comparator architecture of this PWM, the
modulus = 0 case is considered illegal. Therefore, the modulus register is
not reset, and a modulus value of 0 will result in waveforms inconsistent
with the other modulus waveforms. If a modulus of 0 is loaded, the counter
will continually count down from $FFF. This operation will not be tested or
guaranteed (the user should consider it illegal). However, the dead-time
constraints and fault conditions will still be guaranteed.
Address: $0028
Bit 7654321Bit 0
Read:0000
Bit 11 Bit 10 Bit 9 Bit 8
Write:
Reset:0000XXXX
= Unimplemented X = Indeterminate
Figure 12-35. PWM Counter Modulo Register High (PMODH)
Address: $0029
Bit 7654321Bit 0
Read: Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Write:
Reset:XXXXXXXX
X = Indeterminate
Figure 12-36. PWM Counter Modulo Register Low (PMODL)