13.9.6.4.1.2 Closed-Loop Operation
In closed-loop operation, the DFLL48M output frequency is continuously regulated against a precise reference clock of relatively low frequency. This will improve the accuracy and stability of the CLK_DFLL48M clock in comparison to the open-loop (free-running) configuration.
Before closed-loop operation can be enabled, the DFLL48M must be enabled and configured in the following way:
- Enable and select a reference clock (CLK_DFLL48M_REF). CLK_DFLL48M_REF is Generic Clock Channel 0 (DFLL48M_Reference).
- Select the maximum step size allowed
for finding the Coarse and Fine values by writing the appropriate values to the DFLL
Coarse Maximum Step and DFLL Fine Maximum Step bit groups (DFLLMUL.CSTEP and
DFLLMUL.FSTEP) in the DFLL Multiplier register.
A small step size will ensure low overshoot on the output frequency, but it will typically take longer until locking is achieved. A high value might give a large overshoot, but will typically provide faster locking.
DFLLMUL.CSTEP and DFLLMUL.FSTEP should not be higher than 50% of the maximum value of DFLLVAL.COARSE and DFLLVAL.FINE, respectively.
- Select the multiplication factor in the
DFLL Multiply Factor bit group (DFLLMUL.MUL) in the DFLL Multiplier register. Note: When choosing DFLLMUL.MUL, the output frequency must not exceed the maximum frequency of the device.
If the target frequency is below the minimum frequency of the DFLL48M, the output frequency will be equal to the DFLL minimum frequency.
- Start the closed loop mode by writing '1' to the DFLL Mode Selection bit in the DFLL Control register (DFLLCTRL.MODE). See 13.9.6.4.1.3 Frequency Locking for details.
The frequency of CLK_DFLL48M (Fclkdfll48m) is given by:
where Fclkdfll48m_ref is the frequency of the reference clock (CLK_DFLL48M_REF).