I discovered a weird behaviour on the Kinetis KL26 when switching between power modes. I created a simple test application to illustrate the behaviour. The application simply goes into SLEEP mode (STOP) within an endless mode. It wakes up every 20ms from the low power timer, processes an empty for loop and then goes into sleep again.
Now the problem:
When flashing the application to the MCU my oscillator shows an average power consumption of about 3mA. When plugging the power supply off and on again, there's a consumption of about 2mA and the short peaks of the for loop are a lot bigger. This means the processing time of the for loop (1000 iterations) is suddenly very long. Because this doesn't seem weird enough: when changing the MCG mode from PEE to BLPE (all other configuration stay the same), the processing time of the loop is a lot shorter than before. Although the core clock frequency stays the same. Even if the core clock frequency of PEE is a little faster than BLPE, the application seems to need more time for processing the loop.
The only hint I may be able to give is the choice of low power mode when in SLEEP. When changing from STOP to PSTOP1 or PSTOP2 the issue with the different PEE power consumptions does not appear, but still PEE has a distinct higher power consumption than BLPE for the same application within the same time slot. The PLL should only need 600µA I guess. But the difference is twice as much.
It's very confusing and I hope someone knows if there is a simple explanation behind this!?
PS: Attached is a test project to illustrate the issue.
Original Attachment has been moved to: Testproject_LowPower.zip