PIC: ¿cómo podemos obtener una interrupción de 1 ms con el temporizador de 16 bits?

0

Estoy usando PIC24FJ256GB106 . Estoy configurando el bit de configuración para la frecuencia interna a FNOSC_FRCPLL .

Tengo confusión con esta configuración de bits que estoy obteniendo 8MHZ o 16MHZ o 32MHZ?

si quiero interrumpir el temporizador (16 bits) cada 1 ms, ¿qué frecuencia debo usar? FOSC o FCY ?

Cuando estoy configurando el bit de configuración FNOSC_FRCPLL , ¿qué es FOSC y FCY ?

    
pregunta shail korat

2 respuestas

2

FNOSC_FRPLL significa que su reloj final será la salida del módulo PLL.

Resumiendo del Manual de referencia de la familia PIC24F :

6.8.3 Oscilador FRC con modo PLL (FRCPLL)

La salida del bloque de escalador FRC también se puede combinar con el PLL 4x para producir un reloj nominal del sistema de 16 MHz o 32 MHz. Aunque es un poco menos preciso en frecuencia que el uso del oscilador primario con un cristal o resonador, todavía permite el funcionamiento del dispositivo a alta velocidad sin el uso de componentes externos del oscilador.

El modo FRCPLL se selecciona cuando los bits de COSC son '001'. Además, este modo solo funciona cuando se seleccionan las opciones de poscaloramiento FRC directo o dividido por 2 (RCDIV2: RCDIV0 = 000 o 001).

    
respondido por el Adam Lawrence
2

La hoja de datos , página 128, la Figura 8-2 describe la configuración del reloj para su escenario . Como ha configurado FNOSC en el reloj interno de 8MHz con PLL, deberá configurar PLLDIV para dividir entre 2. Luego, el reloj del sistema está determinado por CPDIV (4, 8, 16 o 32MHz).

Lo que elija, 4-32MHz, será FOSC. FCY = FOSC / 2 para este dispositivo.

Al configurar el temporizador, ajuste TCS al reloj interno. Este reloj interno es el reloj de instrucciones, que será FOSC / 2 = FCY.

    
respondido por el Justin Trzeciak

Lea otras preguntas en las etiquetas