PIC18F25k50 - ¿Resolución PWM de 10 bits con temporizador de 8 bits?

Estoy jugando con el PWM de modo estándar PIC18F25k50.

Encontré algo raro. La hoja de datos dice que PWM es de 10 bits y el temporizador es de 8 bits.

¿Cómo puede ser eso?

ingrese la descripción de la imagen aquí

¿Es esa hoja de datos incorrecta, o mi inglés es demasiado malo para entenderlo correctamente?

¿Cuál es el punto de PWM de 10 bits con un temporizador de 8 bits?

¿De dónde sacaste ese temporizador (¿cuál?) es de 8 bits? No lo veo en el fragmento de la hoja de datos.
Timer2 en PIC18F25k50 es de 8 bits seguro. "La resolución máxima de PWM es de 10 bits cuando PR2 es de 255". El valor máximo de PR2 es 255 (PR2 se almacena en un único registro de 8 bits).
Esto se responde claramente en la hoja de datos justo donde esperaría encontrarlo. Duh.

Respuestas (3)

Ver la hoja de datos:

ingrese la descripción de la imagen aquí

Se utilizan dos bits del preescalador del temporizador o el divisor del reloj del sistema interno para los dos LSB.

De manera similar, el almacenamiento del valor del ciclo de trabajo se divide entre CCPRxL y CCPxCON<5:4> como se muestra.

Entonces... ¿tengo que cambiar el prescaler para obtener 1024 valores de ancho de pulso diferentes?
No, simplemente cargue CCPRxL y CCPxCON<5:4>.

No conozco ese chip específicamente, pero algunos periféricos PIC PWM pueden hacer uso de los bits del preescalador del temporizador para crear una resolución "extendida".

La hoja de datos indica en la página 189 que el temporizador se combina con dos bits de reloj o bits de preescalador para crear el contador pwm de 10 bits.