Hi Alexander
The K22 has LLS2 and LLS3 modes, which are both essentially LLS but with different levels of SRAM remaining powered.
The method to get to LLS2 or LLS3 is the same as core deep sleep, with the choice of exactly which LLS made in SMC_STOPCTRL and SMC_PMCTRL.
You can load binary files to NXP development boards from the links below which allows the mode to be dynamically changed via the OpenSDA VCOM interface at 115kBaud, displaying the available modes as follows:
RUN = 0
WAIT = 1 [active]
STOP = 2
VLPR = 3
VLPW = 4
VLPS = 5
LLS2 = 6
LLS3 = 7
VLLS0 = 8
VLLS1 = 9
VLLS2 = 10
VLLS3 = 11
Some more details and videos are at:
Low power and LLWU: http://www.utasker.com/kinetis/LLWU.html
Low power videos:
- https://youtu.be/kWNlsAoMly4
- https://youtu.be/iZEMRiDmHzw
- https://youtu.be/v4UnfcDiaE4
In the uTasker project the power mode is controlled by (for K22)
fnSetLowPowerMode(RUN_MODE);
fnSetLowPowerMode(WAIT_MODE);
fnSetLowPowerMode(STOP_MODE);
fnSetLowPowerMode(VLPW_MODE);
fnSetLowPowerMode(VLPR_MODE);
fnSetLowPowerMode(VLPS_MODE);
fnSetLowPowerMode(LLS3_MODE);
fnSetLowPowerMode(LLS2_MODE);
fnSetLowPowerMode(VLLS0_MODE);
fnSetLowPowerMode(VLLS1_MODE);
fnSetLowPowerMode(VLLS2_MODE);
or
fnSetLowPowerMode(VLLS3_MODE);
In case of problems with the PE methods you can also just copy the code from the open source project on Github (which supports dynamic power management).
Regards
Mark
Kinetis: http://www.utasker.com/kinetis.html
Kinetis K22:
- http://www.utasker.com/kinetis/FRDM-K22F.html
- http://www.utasker.com/kinetis/TWR-K22F120M.html
- http://www.utasker.com/kinetis/BLAZE_K22.html
- http://www.utasker.com/kinetis/tinyK22.html
For less questions and faster, cheaper developments: try uTasker for Kinetis