Other Parts Discussed in Thread: MSP430F5510
Hi,
I'm not sure if i understood correctly how the FLL works. So please follow my consderations and let me know whether
i'm right or not. I want to know the FLL accuracy.
I'm using a MSP430F5510 with a 32768 crystal.
I'm using the FLL with the following settings:
- The FLL reference is XT1 (the 32768 crystal)
- FLL reference divider at 1
- FLLD: Fllrefclock / 4
- FLLN: 30
- DCORSEL = 3
Therefore, in theory, the DCOclok is
32768 x 4 * (30+1) = 4063232 Hz
Now, at page 56 of the datasheet there is the DCO Frequency table.
From that table i can see that for DCORSEL = 3 (which seems the best choice for 4 Mhz frequency):
DCO frequency (DCOx = 0, MODx = 0) 0.64(min) 1.51(max) MHz
DCO frequency (DCOx = 31, MODx = 0) 6.07(min) 14.0(max) MHz
So the worst thing it can happen is to have:
DCO frequency (DCOx = 0, MODx = 0) = 0.64 MHz
DCO frequency (DCOx = 31, MODx = 0) = 14.0 MHz
so the frequency range is between 0,64 Mhz and 14 Mhz, with a a span of 13.36 Mhz.
The five DCO bits divide the DCO range selected by the DCORSEL bits into 32 frequency steps of:
13.36 / 32 = 0.4175 Mhz
The worst case is if the frequency i want is exactly in the middle between 2 steps. I know that 4063232 will
probably will not be exactly in the middle, but it's the worst case.
Therefore over many microcontroller my MCLCK will be:
4.063232 +- 0.4175/2 = 4.063232 +- 0.20875 Mhz
Is that correct?
Thanks,
Carloalberto