Estás viendo una compensación de frecuencia frente a resolución.
La forma en que funciona este PWM es tomar el reloj de entrada y enviarlo a un contador de 8 bits.
El reloj que se alimenta al contador es como máximo (para esta serie de PIC) el reloj de su sistema dividido por 4.
Así que en tu caso, el contador ve 1MHz.
Un contador de 8 bits tiene 256 pasos, y si desea utilizar la resolución completa para su ciclo de trabajo PWM, entonces ese reloj de 1MHz se dividirá por 256 para producir la frecuencia PWM final, lo que le brinda su 3.9kHz .
Estos PIC también le permiten obtener 2 bits adicionales de resolución al etiquetar los 2 bits del divisor del reloj del sistema para proporcionarle 10 bits efectivos o 1024 pasos de resolución de ciclo de trabajo PWM.
La única forma de obtener una frecuencia PWM más alta con el mismo reloj del sistema es reducir la resolución que le brinda el contador al establecer su registro de período en un valor más bajo.
Entonces, por ejemplo, si establece el período de registro en 100, entonces puede lograr un PWM de 10 kHz y si establece el período de registro en 10, obtendrá un PWM de 100 kHz.
Pero debes darte cuenta de que en lugar de la resolución de 1024 pasos que tenías, ahora tienes muchos menos pasos para ajustar tu ciclo de trabajo de PWM.
Sin duda, ayudará a aumentar el reloj de su sistema a 20MHz. Tendrás que configurar el registro del período del temporizador en 50 para alcanzar una frecuencia PWM de 100 kHz y tendrás 200 pasos de resolución de ciclo de trabajo para jugar.