PLL on MPC56xx devices

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

PLL on MPC56xx devices

Jump to solution
1,529 Views
DavidBrown
Contributor II

I am trying to understand the FMPLL settings on an MPC5675K device (but the same applies to the MPC5643L and MPC5554 that I've tried).

 

The board I am using has a 40 MHz crystal.  I have got the default settings for the FMPLL, and have set the external clock pin to show the system frequency divided by 8.  I've measure it as 129.9 MHz - a value I have confirmed by checking the speed of the decrementer timer in the cpu.

 

But the FMPLL settings are IDF 1 (giving an input division of 2), ODF 1 (giving an output division of 4), and NDIV 0x40 (giving a pll loop division of 64).  Plugging these numbers into the formula for frequency in the reference manual gives me 320 MHz.

 

I can't remember the figures off-hand, but I had the same situation with the MPC5554 and MPC5643L that I also tested briefly.

 

If I change the IDF and ODF settings to half the expected frequency, the measured frequency is halved.  So I have no doubt that I'm using the PLL for my clocks.  But I would very much like to find out why the calculations give 320 MHz and the measurements give 129.9 MHz.

 

0 Kudos
Reply
1 Solution
1,137 Views
DavidBrown
Contributor II

Hi,

 

I figured out the problem - my PLLs were using the 16 MHz RC oscillator as a reference frequency instead of the XOSC oscillator.  I hadn't set the CGM_AC3_SC and CGM_AC4_SC clock source registers.

 

There is a /lot/ of details to get right for the clocking on these devices!

 

mvh.,

 

David

 

View solution in original post

0 Kudos
Reply
4 Replies
1,137 Views
Steve
NXP Employee
NXP Employee

It looks like you're violating the PLL spec.

The VCO frequency must be between 256-512 MHz.

40 MHz/ 2 * 64 = VCO frequency of 1280 MHz.

You need to reduce the input clock frequency by increasing the IDF value and probably adjust NDIV and ODF.

Make sure you don't set the clock higher than the max system frequency as well.

0 Kudos
Reply
1,138 Views
DavidBrown
Contributor II

Hi,

 

I figured out the problem - my PLLs were using the 16 MHz RC oscillator as a reference frequency instead of the XOSC oscillator.  I hadn't set the CGM_AC3_SC and CGM_AC4_SC clock source registers.

 

There is a /lot/ of details to get right for the clocking on these devices!

 

mvh.,

 

David

 

0 Kudos
Reply
1,137 Views
v_tarasu
Contributor I

Hi,

 In MPC5554, the crystal frequency to be used is limited from 8 to 20Mhz. So check whether 40MHz crystal is allowed for the controller you are using.

 

Regards,

Thiru

0 Kudos
Reply
1,137 Views
DavidBrown
Contributor II

Yes, on the MPC5674K, a 40 MHz crystal is fine.  I'm using Freescale's evaluation board, so it should be correct!  I've also checked (via the clock out signal) that the 40 MHz crystal oscillator is running fine.

 

Thanks anyway,

 

David

0 Kudos
Reply