18.6.5.2 Fractional Divider
The Fractional Frequency Divider divides the PLL0 VCO, FVCO0, clock output frequency by a ratio composed of an integer part and a reminder part. Only the PLL0 supplies the clocks to the fractional dividers. FRACDIV0 is fed by PLL0 output 0 (under control of PLL0POSTDIVA[0]) and FRACDIV1 is fed by PLL0 output 1 (under control of PLL0POSTDIVA[1]). The maximum fractional divider input frequency is 1.6 GHz. The divided frequency is given by the integer and reminder part of the divider, FRACDIV.INTDIV and FRACDIV.REMDIV. The resulting frequency FFRACDIV is calculated using the following equation:
- If Reminder ≤ 0.5:
- FCLK_PLL0_FRC_CLKOUTn Jitter = (Remainder / FVCO )
- If Reminder > 0.5:
- FCLK_PLL0_FRC_CLKOUTn Jitter = ((1-Remainder) / FVCO ))
Fractional Divider Operating mode
The Fractional Divider must be configured and enabled as shown in the following section.
Configure and Enable the PLL Output
- Configure the integer and reminder divider factors FRACDIV.INTDIV and FRACDIV.REMDIV. If the PLL is not locked, the FRACDIV register write is pending until the PLL deliver a clock after the lock. The pending status can be checked in the SYNCBUSY.FRACDIVn register bit. The FRACDIV register can still be modified if the source PLL enable bit is not set.
- Enable the PLL output.
- Check the PLL lock with the register bit INTFLAG.PLLnLOCKR.
- Check the SYNCBUSY.FRACDIVn register bit. When this bit is low, the FRACDIV is delivering the divided PLL clock. The Fractional Divider values FRACDIV.INTDIV and FRACDIV.REMDIV can be changed when the divider is operating. But before, the user must ensure that the previous Fractional Divider values change is completed by checking the bit SYNCBUSY.FRACDIVn is low.
- FCLK_PLLFRC0 = (FCLK_PLL0 / (2 x (INTDIV + (REMDIV / 512)))).
- The maximum permitted fractional output frequency, FCLK_PLLFRC0, must always be limited to 200MHz by the user.
- Setting both INTDIV and REMDIV = 0 will yield FCLK_PLLFRC0 = FCLK_PLL0 which effectively bypasses the fractional divider module in which case the user must limit the output of PLL0 to the fractional divider module to FPLL0 = FCLK_PLL0 = 200MHz max.