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.
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 % 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.
Ignacio Vázquez-Abrams
Alex
usuario_1818839
Alex
Alex
Ignacio Vázquez-Abrams
Willis Blackburn