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.
Hi,
I want stabilized MCLK for MSP430F47187 without using any external crystal. I can calibrate internal DCO frequency one time in the factory and I can adjust the frequency deviation over temperature by playing with the calibration value while MCU is running.
Well, to do this I didn’t understand the mechanism that I need to follow. The datasheet mentions FLL adjusts DCO frequency automatically over 10 bit. I want to disable FLL, and instead of automatic adjustment my software will handle this 10 bit. But where is these 10 bits? If this is not the proper way to obtain stabilized DCO output without using external crystal then What is the proper way?
Regards,
BP.
these 10 bits whjich control the DCO are the 5 DCOx bits in SCFI1 and the 5 MODx bits in SCFI1 and SCFI0.
But this is not a straightforward adjustment as you might think.
The DCOx bits select a DCO tap which delivers an unknown frequency in a range given by the datasheet and the MODx bits switch the DCO tap between the programmed value and the next higher value for every '1' and back for every '0' bit in teh modulation pattern for each tick.
If the resulting frequency is compared to something (the external 32kHz crystal), the FLL can increase and decrease the modulation and (after full modulation is reached) the selected DCO TAP, so that the resulting average DCO frequency equals the desired one. But only the average, and depending on the given hardware, this average may be over a longer time.
There is no real 'tuning' value which increases or decreases the DCO by a small and predictable amount. Even the difference between two DCO taps can be as small as 2% and as large as 12% (see your device datasheet).
I don't think it is possible to stabilize the DCO with plain software.
**Attention** This is a public forum