We are running our K60 micro MK60DN512VLQ10 from a system oscillator 16MHz clock (Core clock is 96MHz) and we also have the external RTC oscillator 32.768kHz.
We have a low power requirement when battery powered.
In this low power mode, we sleep for 250mS and wake up and check for reason to wake and sleep again.
During this 250mS sleep the only thing needed to work is wake up from pin change/pin interrupt.
Requirements:
So looking at the power mode options, VLPS is the most appropriate mode although we are happy to consider other power modes.
I am also thinking we could use the 1kH LPO for the sleep clock but not sure it can do 250mS. This can be utilised with the internal wdog?
We don’t need super accuracy but the 1kHz clock has +/-10% accuracy and it is pretty bad. So I am wondering whether we could calibrate the 1kHz. May be another way?
Any sample code/app note for this?
I have the followings:
AN4503 Power Management for Kinetis MCUs
AN4470 Using Low Power modes on Kinetis family
K60 Sub-Family Reference Manual
Any other suggestions can also be considered?
Previously we considered the VLPR, the issue is this mode still keeps the core frequency running and changing the clock to 32kHz may be a solution but has no benefit!
We are using Code Warrior IDE for the development!
Hi SIVA VELUPPILLAI ,
You mentioned: During this 250mS sleep the only thing needed to work is wake up from pin change/pin interrupt.
Do you mean, you want 250ms to wake up from VLPS, or the external pin interrupt, right?
Then you want to use the LPTMR as the timer to wake up from the VLPS, right?
LPO 1Khz is defined, and can't be calibrated.
But I think you can use ERCLK32K:
Because already add the external 32K crystal, you can use it.
Wish it helps you!
If you still have questions about it, please kindly let me know.
Kerry
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Thank you Kerry for the reply,
Yes we want either the wake up conditions to wake:
1) 250ms to wake up from VLPS or
2) External pin interrupt
The LPTMR0 is used in the main full run and are we able to use this during sleep?
We can restart this timer and reinitialise, when we wake up.
Are you able to share a sample code routine to switch LPTMR for 250ms wake up with 32.768Hz clock?
How many LPTMR are they?
Hi SIVA VELUPPILLAI,
Check the RM, chapter 7, you will find LPTMR0 works in VLPS mode, LPTMR is the low power timer.
Before you enter the VLPS mode, set your LPTMR timer interrupt to 250ms, then enter the VLPS, after 250ms, the LPTMR interrupt will happens and wake up the VLPS directly.
Wish it helps you!.
If you still have questions about it, please kindly let me know.
Kerry
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Do you have sample code for the LPTMR timer interrupt to 250ms as we use PE for all our development?
Hi SIVA VELUPPILLAI.
About the LPTMR examples, you can download the SDK for K60D100 from this link:
Welcome | MCUXpresso SDK Builder
Select the board as TWR-K60D100M, then you can find the LPTRM code from the folder:
SDK_2.2.0_TWR-K60D100M\boards\twrk60d100m\driver_examples\lptmr
Wish it helps you!
If you still have questions about it, please kindly let me know.
Kerry
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------