Datasheet
PIC18F1230/1330
2009 Microchip Technology Inc. DS39758D-page 129
14.5 PWM Period
The PWM period is defined by the PTPER register pair
(PTPERL and PTPERH). The PWM period has 12-bit
resolution by combining 4 LSBs of PTPERH and 8 bits
of PTPERL. PTPER is a double-buffered register used
to set the counting period for the PWM time base.
The PTPER buffer contents are loaded into the PTPER
register at the following times:
• Free-Running and Single-Shot modes: When the
PTMR register is reset to zero after a match with the
PTPER register.
• Continuous Up/Down Count modes: When the
PTMR register is zero. The value held in the PTPER
buffer is automatically loaded into the PTPER
register when the PWM time base is disabled
(PTEN = 0). Figure 14-9 and Figure 14-10 indicate
the times when the contents of the PTPER buffer
are loaded into the actual PTPER register.
The PWM period can be calculated from the following
formulas:
EQUATION 14-1: PWM PERIOD FOR
FREE-RUNNING MODE
EQUATION 14-2: PWM PERIOD FOR
CONTINUOUS UP/DOWN
COUNT MODE
The PWM frequency is the inverse of period; or
EQUATION 14-3: PWM FREQUENCY
The maximum resolution (in bits) for a given device
oscillator and PWM frequency can be determined from
the following formula:
EQUATION 14-4: PWM RESOLUTION
The PWM resolutions and frequencies are shown for a
selection of execution speeds and PTPER values in
Table 14-2. The PWM frequencies in Table 14-2 are
calculated for Edge-Aligned PWM mode. For Center-
Aligned mode, the PWM frequencies will be
approximately one-half the values indicated in this
table.
TABLE 14-2: EXAMPLE PWM
FREQUENCIES AND
RESOLUTIONS
TPWM =
(PTPER + 1) x PTMRPS
F
OSC/4
TPWM =
(2 x PTPER) x PTMRPS
FOSC
4
PWM Frequency =
1
PWM Period
PWM Frequency = 1/TPWM
FOSC MIPS
PTPER
Value
PWM
Resolution
PWM
Frequency
40 MHz 10 0FFFh 14 bits 2.4 kHz
40 MHz 10 07FFh 13 bits 4.9 kHz
40 MHz 10 03FFh 12 bits 9.8 kHz
40 MHz 10 01FFh 11 bits 19.5 kHz
40 MHz 10 FFh 10 bits 39.0 kHz
40 MHz 10 7Fh 9 bits 78.1 kHz
40 MHz 10 3Fh 8 bits 156.2 kHz
40 MHz 10 1Fh 7 bits 312.5 kHz
40 MHz 10 0Fh 6 bits 625 kHz
25 MHz 6.25 0FFFh 14 bits 1.5 kHz
25 MHz 6.25 03FFh 12 bits 6.1 kHz
25 MHz 6.25 FFh 10 bits 24.4 kHz
10 MHz 2.5 0FFFh 14 bits 610 Hz
10 MHz 2.5 03FFh 12 bits 2.4 kHz
10 MHz 2.5 FFh 10 bits 9.8 kHz
5 MHz 1.25 0FFFh 14 bits 305 Hz
5 MHz 1.25 03FFh 12 bits 1.2 kHz
5 MHz 1.25 FFh 10 bits 4.9 kHz
4 MHz 1 0FFFh 14 bits 244 Hz
4 MHz 1 03FFh 12 bits 976 Hz
4 MHz 1 FFh 10 bits 3.9 kHz
Note: For center-aligned operation, PWM
frequencies will be approximately 1/2 the
value indicated in the table.
Resolution =
log(2)
log
F
OSC
FPWM