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.

MSPM0C1104: SYSOSC clock impacted by program execution!?

Part Number: MSPM0C1104

Tool/software:

I've noticed that the output frequency of Timer G14 is not constant, and it is influenced by program execution. I did a simple test where I set Timer G14 to a fixed output frequency of 625 Hz (38400 ticks @ 24Mhz). I made three different scenarios:
  - empty loop,
  - WFI() and
  - updating the load value of TimerG14 in the main loop.

In each case, I get a different output frequency! The difference is about 0.4%.
I also set SYSOSC to PA18 and proved that SYSOSC has changed the same as the Timer output.
I hadn't expected that program execution would impact the timer or oscillator. Does anyone else have a similar experience? I could not find any information in the datasheet, errata nor forum.

I understand that SYSOSC is not very accurate and also temperature dependent, but I expect it to be stable in regard to program execution.

Regards
Goran

  • Hello Goran,

    As you mentioned, .4% is within the +- 1.2% SysOsc 25 C frequency limits.  I haven't personally noticed SysOsc changing based on the code, but I think it could be possible.  The CPU usually draws most the current in the MCU, so when you go from it fully running to WFI() and shutting the CPU off, the amount of power the MCU pulls is a fairly large step.  I could see this possibly having a small impact on SysOsc.  

    Do you know which power policy your project is using as WFI() will put the MCU in the selected sleep or stop mode.  I would also like to point out that when the MCU goes to Stop mode, SysOsc will automatically drop all the way down to 4MHz.  It sounds like this isn't the source of what you are seeing here, but I also wanted to highlight it.  

    Thanks,

    JD