pic32 frecuencia externa máxima mientras se ejecuta desde el oscilador RC interno de 8 MHz

Soy completamente nuevo en PIC y nunca he trabajado con una parte tan compleja como esta. En particular, me pregunto si es posible generar un reloj de referencia (REFCLKO en la hoja de datos) a 11,2896 MHz mientras se ejecuta en el oscilador interno de 8 MHz (los 8 MHz son impulsados ​​por un PLL hasta 40 MHz, que es el reloj central) . Intenté hacer esto y miré el osciloscopio solo para encontrar que esta forma de onda sintetizada tenía una fluctuación muy aparente (medida 25 ns = fluctuación de 1/40 MHz) y la frecuencia no parecía correcta. Reducir la velocidad de REFCLKO a velocidades inferiores a 8 MHz resultó en una buena forma de onda.

Me parece lógico que pueda usar los registros provistos para derivar un reloj de 11.2896 MHz en REFCLKO desde la frecuencia central de 40 MHz. ¿Por qué esto no funciona correctamente? ¿Necesitaré un oscilador de cristal externo con una frecuencia superior a 11,2896 MHz para que esto funcione?

Vi una publicación de blog en el blog de eev que decía algo como: aunque la frecuencia central aumenta hasta 40 MHz desde 8 MHz, la frecuencia externa máxima posible es de 8 MHz, pero no había ninguna explicación de por qué. ¡¡¡Por favor ayuda!!!

EDITAR:

Parece que la frecuencia de REFCLK no está limitada a 8 MHz, sino que la frecuencia es inestable si el registro ROTRIM es distinto de cero. el ROTRIM establece la parte fraccionaria del divisor. De esta manera, puedo obtener un reloj estable de 10 MHz (40 MHz dividido por 4,0), por ejemplo, pero el ajuste fino con un divisor fraccional da como resultado una mala forma de onda.

¿Por qué no ejecutar el PIC a esa velocidad oa la mitad de esa velocidad?
puedes elaborar ?
Como se trata de una aplicación de audio, dada la frecuencia del reloj, no se meta con los PLL, vaya directamente a un cristal de 11,2896 MHz, ya sea en el PIC o en un oscilador externo, ahora.
Te escucho, pero me gustaría entender por qué este esquema de reloj no funciona. Siento que hay algo fundamental que me estoy perdiendo.
ACTUALIZACIÓN: Acabo de descubrir que PUEDO obtener formas de onda de aspecto agradable superiores a 8 MHz externamente, pero si trato de ajustar la frecuencia con el registro ROTRIM, y un valor distinto de cero para RO TRIM da como resultado formas de onda malas y nerviosas. Con el reloj central de 40 MHz, RODIV = 2 y ROTRIM = 0, obtengo una buena forma de onda de 10 MHz en el osciloscopio.
No puede generar esa frecuencia directamente desde un reloj de 40 MHz, por lo que el generador necesita perder y ganar períodos de tiempo base de los períodos altos y bajos del reloj generado, lo que da como resultado una forma de onda asimétrica y nerviosa.
Si está buscando exactamente 11.2896 MHz, entonces no veo cómo algo basado en el oscilador interno funcionará para usted, porque solo tiene una precisión del 1%. ¿Puedes tolerar 11.2896 MHz +/- 1%?

Respuestas (1)

Como sugiere @Brian Drummond... ni siquiera considere REFCLKO para una aplicación que exige especificaciones de tiempo exactas (mientras se encuentra por encima de la velocidad del reloj central, Y en un intervalo impar, ¡Y cuando se ejecuta desde la fuente de reloj interna!)

Es probable que no haya visto mucho sobre esto porque simplemente no se hace en la práctica. Sí, el dispositivo puede aumentar una referencia de 8 MHz a 40 MHz internamente, pero como explica @Ignacio, REFCLKO solo puede aproximarse a 11,2896 MHz usando ROTRIM, y de manera errática, por lo que habrá fluctuaciones y mucha.

Lo sé, es tentador querer que este PIC "lo haga todo". Pero en este caso, realmente es una idea mucho mejor usar un xtal de $0.39 , un resonador, etc. para ese otro dispositivo, que sabes que estará dentro de un ppm específico. O mejor aún, use un múltiplo de esto directamente en el PIC y alimente (una división uniforme) a ese dispositivo. Entonces todo está sincronizado.

También tenga en cuenta que la especificación para una estabilidad CLKO típica de PIC32MZ0512EFE064 es ± 0.25 % y en la página siguiente, la estabilidad de FRC es ± 5% y LPRC es aún peor. Entonces, incluso si pudiera generar una frecuencia de 11.2896 MHz sin fluctuaciones, no hay garantía de que no lo sea. ± 5%, incluso 15% o más si usa FRC o LPRC, y 0.5% si usa un oscilador de referencia.