Hi All,
I read the AN4503 .http://cache.freescale.com/files/32bit/doc/app_note/AN4503.pdf
But when I copy the sample code for different mode. I found no matter which mode I enter, the current is always about 40mA.
I does not change.
Any ideas about how should I start?
Thank you.
-Daniel
Hi Daniel,
When you do low-power current measurements, be sure to do a POR without the debugger connected before measuring the current. If the debugger has established a connection, it can add substantially to the measured current.
If that doesn't help, you can test one of the out-of-box examples for our board, and use that as a reference. The 120MHz K60 has sample code at the link below that will run on the TWR-K60F120M board. The example project located at \KINETIS_120MHZ_SC_rev1_3\build\cw\TSI_demo_lowpower goes into multiple low-power modes you can run on the Tower card and measure the current, and then port to your hardware.
Hi Derek,
For the example, it just has the Run, Wait, Sleep and Stop mode. Is it possible to enter VLLS3 for 120MHz K60?
Thank you.
-Daniel
The TSI_demo_lowpower example supports VLLS3:
/* VLLS3 mode */
printf("\r\n Send any character to go into low power mode VLLS3 \r\n");
in_char();
enable_lpwui();
TSI_GoToLP();
delay(800000);
pee_pbe(CLK0_FREQ_HZ);
pbe_fbe(CLK0_FREQ_HZ);
fbe_fbi(32000,0);
fbi_blpi(32000,0);
enter_vlls3();
blpi_fbi(32000,0);
fbi_fei(32000);
fei_fbe(CLK0_FREQ_HZ,1,1);
fbe_pbe(0,CLK0_FREQ_HZ,0,PLL0_PRDIV,PLL0_VDIV);
pbe_pee(CLK0_FREQ_HZ,PLL_0);
TSI_GoToActive();
printf("\r\n Woke up from VLLS3 !!! - Nice!!! \r\n");
LEDs_On();
Hi Derek,
I use _lpm_set_operation_mode (LPM_OPERATION_MODE_STOP) set it to the stop(LLS mode). The current is 5.4mA.
But I edit the code at KINETIS_120MHZ_SC_rev1_3\build\cw\TSI_demo_lowpower to
enable_lpwui();
enter_vlls3();
the current is 53.50mA.
My question is that do I have to configure the clocks using
pee_pbe(CLK0_FREQ_HZ);
pbe_fbe(CLK0_FREQ_HZ);
fbe_fbi(32000,0);
fbi_blpi(32000,0);
Thanks.
Hi Derek,
I read about it, but it seems it does not use MQX.
How could I do enter VLLS3 in MQX or how can I edit code in MQX to do this?
Thank you.
-Daniel
Hi Daniel,
That’s correct, the TSI_demo_lowpower example project is baremetal, and does not use MQX.
MQX supports low-power operation using the Low-Power Manager (LPM) driver, see AN4447 at link below. The MQX BSPs and LPM do not support the VLLSx modes in Kinetis.
http://cache.freescale.com/files/32bit/doc/app_note/AN4447.pdf?fsrch=1&sr=1
You could use VLLS3 mode in MQX. Just know that when you wake-up, it will be a reset, and you will restart MQX and do all the initialization code. Since VLLS3 mode isn’t supported in MQX, you would need to add it yourself, and probably need to modify the BSP to support it.
Or another option is to use LLS mode which is supported in MQX with the LPM. The example \mqx\examples\lowpower shows how the LPM can be used, and enters LLS mode in the example. Plus, LLS doesn’t reset after waking.
Thanks
Derek,
Thank you.
I read and tested LLS mode _lpm_set_operation_mode (LPM_OPERATION_MODE_STOP) on our target board and current drop is about 5mA.
The specification says it should be 0.25mA typically and 1.3mA(-40 to 25 C).
I just one function _lpm_set_operation_mode (LPM_OPERATION_MODE_STOP) to test the LLS mode power consumption.
Did I miss something so it consume much more power?
Thanks.