Configuración óptima para PLL en LPC17xx

Estoy tratando de escribir un algoritmo que elija la mejor configuración PLL0 disponible para el usuario en función de F_in y F_cclk.

El manual dice que debería elegir un F_ref más alto si es posible para un PLL más estable, para un reloj de entrada de baja frecuencia. Sin embargo, no especifica qué frecuencia se considera baja.

Dada la hoja de cálculo de NXP para el cálculo de opciones de PLL, hay dos variables: F_cco y par m/n para usar.

¿Cuál es el valor óptimo para usar (en cuanto al rendimiento? ¿En cuanto a la estabilidad? ¿Qué cambia, en realidad?): m/n más grande frente a m/n más pequeño frente a un divisor F_cco/pll más grande frente a un divisor F_cco/pll más pequeño?

No me importa el caso especial de USB por ahora.

TL; DR: cuál es una mejor opción y por qué:

Dado F_in = 12MHz y esperado F_cclk = 100MHz

m=50, n=3, divisor=4 o m=325, n=26, divisor=3?

¿Has probado a medirlo?

Respuestas (1)

La mejor manera de ver el problema es que el VCO (oscilador del controlador de voltaje) puede ser muy sensible a la ondulación y los picos de voltaje, lo que se traduce directamente en fluctuaciones. la clave para un buen PLL es baja fluctuación de salida, pero hay un compromiso, un PLL de baja fluctuación también será lento para bloquear.

Entonces, contrariamente a lo que Andy tiene que decir, debe ejecutar el PLL a una relación de división tan alta como sea posible. El circuito divisor/cuenta regresiva actúa como un filtro de paso bajo y reduce el jitter (en realidad lo promedia) haciendo que el control del VCO sea más suave.

aquí hay un enlace en PDF

La página 5 le da esta pepita "En PLL de N enteros, sintetizar espaciamientos de canales estrechos requiere frecuencias de referencia efectivas extremadamente bajas"

  • los espaciamientos estrechos de los canales significan un bajo jitter.

y más:

Esto da como resultado anchos de banda de bucle muy bajos y relaciones de división altas • Tiempo de conmutación de frecuencia PLL lento • Pasivos de área grande • Alto ruido de fase a bajas frecuencias

usan estos hechos para derivar el hecho de que una síntesis de frecuencia fraccionaria - N resuelve estos problemas (la necesidad de una alta relación de división)

Así que sí, su manual es correcto.

Estaba leyendo que el PLL en la pregunta se estaba utilizando como demodulador y, en esta situación, el detector de fase debe ejecutarse a la frecuencia más alta. Usted dice que el manual del operador es correcto, pero "el manual dice que debo elegir un F_ref más alto si es posible para un PLL más estable" y ¿no va esto en contra de lo que dice?
Además, anoche, cuando escribí mi respuesta, parecía que el dispositivo mencionado en la pregunta era un PLL independiente: finalmente llegué a mi PC y eché un vistazo, me doy cuenta de que no es lo que pensé que era, así que Voy a eliminar mi respuesta porque no es apropiada para este dispositivo. Verifique su enlace incrustado, amigo: no funcionó cuando lo probé, pero podría ser por fallas generales en Internet.
Entonces, resumiendo todo eso, ¿suena razonable esta configuración: m=500, n=24, divisor=5? Eso me lleva a (2*500*12MHz)/24 == 500MHz en salida PLL (con un límite máximo de 550MHz para este MCU) y 100MHz en F_cclk con divisor 5x. ¿Qué estoy perdiendo si lo comparo con valores más bajos? Si lo hago bien, es solo un tiempo de bloqueo más lento, supongo que el consumo de energía de pll también será un poco más alto, ¿verdad? Y lo que obtengo es un reloj de salida más estable.