This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

questions about PLL parameters

I have some questions about PLL parameters.

 First of all I refer to PLL scheme:

 

The output frequency is given by:

 

The questions are:

  • Range of N? In reference manual is stated that “N = Multiplier is 9 bits and supported range is 1 to 511”, but in register description the field is 16 bits wide. I wonder if N is 9 or 16 bit wide.
    I wonder how to set the N field once I want to multiply by a certain value. For example, take into account Audio PLL. Maybe the value of N is equal to AUDIO_N+1 where AUDIO_N is bits 31-16 of AUDIOPLL_CTRL register. For example if I want to multiply by 34, do I need to write 33 o 34 in AUDIO_N?
    What happes if I write 0 in that field? It multiply by 1 or by 0?
  • Range of P? Same as above. Maybe the value of P is equal to AUDIO_P+1 where AUDIO_P is bits 15-8 of AUDIOPLL_CTRL register. If I want to divide by 3, do I need to write 2 or 3 in AUDIO_P field?
  • Range of M? Same as above. Maybe the value of M is equal to AUD_MDIV2+1 where AUD_MDIV2 is bits 7-0 of  AUDIOPLL_DIV2 register. If I want to divide by 3, do I need to write 2 or 3 in AUDIO_P field? In table 1-80 is listed supported divide ratios for M. What does it means? What happes if I write 23 in AUD_MDIV2?
  • Range of FREQ? In reference manual is stated that “FREQ = Supported integer range is 8 to 15 and fraction range is 0 to FFFF FFFFh.”. I guess that the fractional part range is a typo, since it is 24 bit wide, so its range should be 0-00FF FFFFh. What happens if I set integer part to 3?

Thanks

 

Best regards

  • Hi Mastupristi,

    All the values are "AUDIO_*" but not "AUDIO_*+1"

    If we are not following the limits of the FAPLL then PLL output frequency is not stable and most of the times PLL will not lock.

    Below example gives you on how the values are used in frequency calculation:

    MPU frequency (default values) N = 64, P = 1, FREQ = 14, M = 1 we get:

      fo =  [(64 * 8)/(14 * 1 * 1)] * 27 =  987.4286MHz

    Regards

    AnilKumar

    Please mark this Forum post as answered via the Verify Answer button below if it helps answer your question.  Thanks!