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.

Fast restart by saving previous DCO tap

Other Parts Discussed in Thread: MSP430F5435

Hi,

I have a need to do I fast restart (less than 20ms from Vcc application).

The circuit currently uses a mono to completely dump Vcc and Vcore for 20ms then reapplying it, so the oscillator will be starting again from scratch. The MSP430F5435 is configured to run from a 32.768Khz watch crystal, and use the DCO locked with the FLL to run at 16Mhz.

If I save the DCO register value from UCSCTL0, restart, then reload that value on restart after configuring the oscillator, can I reliably reduce the settling time required by the DCO?

Currently, I wait 500,000 cycles (32*32*16000000/32768) as per the mavx from the datasheet on the restart, but if the Vcc voltage and temperature have caused the DCO to settle on a specific DCO tap before the reboot, I would love to drop the cycles down to say 50,000.

Does that make sense, or does the DCO still need all those cycles to settle?

  • I’ve no experience with presetting the DCO, but you could give it a try.
    The DCO needs a minimal time to recognize that his frequency is not stable and to set the Fault flag.
    You can skip this process of Delay and check the Fault flag to do other setup, but at the moment you need a time critical operation from DCO you are not 100% sure the DCO frequency is stable.
  • Thanks for your reply Leo.

    Yes, of course I have tried it, and it works (on my bench) - i can reduce the delay to next to nothing. What I am trying to find out is if setting the DCO tap register with the value that the micro was using 100ms previously (before the reboot) makes it reliably settle much faster, or does it go through a state machine regardless of the value seeded.
  • The FLL regularly checks whether the DCO runs faster or slower than the reference clock, and if so, decreases or increases the DCO tap/modulation appropriately.

    If you configure the DCO (almost) correctly, then the FLL will not need to do any (or many) adjustments.

**Attention** This is a public forum