I would like to realize a standby state in VLLS1 mode on our in-house developed board using MCF51JF128, but it does not shift to VLLS1 mode.
Power consumption is equivalent to normal STOP mode. (approx. 280 µA)
The program is written in CodeWarrior (11.1).
The actual code is as follows
SMC_PMPROT |= ( SMC_PMPROT_AVLLS_MASK | SMC_PMPROT_AVLP_MASK); // AVLLS = 1 SMC_PMCTRL = SMC_PMCTRL_STOPM(4); // STOPM = '100'
SMC_VLLSCTRL = SMC_VLLSCTRL_VLLSM(1); // VLLSM = '001'
SIM_SOPT4 |= SIM_SOPT4_STOPE_MASK; // STOPE = 1
SIM_SOPT4 &= ~SIM_SOPT4_WAITE_MASK; // WAITE = 0 MTIM0_SC = 0;
asm(stop #0x2000); // same as PE_STOP()
PE_NOP();
PE_NOP();
If you search on the web, you will find documents that describe the transition by __wfi() or asm("WFI") instruction, but it causes a compile error in our environment.
Any sample or steps to move to VLLSx mode?
解決済! 解決策の投稿を見る。
Hi shuto
I don't know where you got the command of wfi? I checked the UM, here is the instruction of entering VLLSx mode:
You need to check Table 18-7 for the configuration before entering VLLS mode
STOP instruction usage is in derivative.h. You will see it if you create a CF V1 project
UM download link: https://www.nxp.com/docs/en/reference-manual/MCF51JF128RM.pdf
Have a nice day,
Jun Zhang
Hi ZhangJennie, thank you for contacting me.
I tried it based on the information you provided, but it still doesn't work.
After that, I decided to use another device to build a system with low power consumption, so work on this device was temporarily ended.
I would like to try the information you taught me again if I have time.
thank you very much.
shuto
Hi shuto
I don't know where you got the command of wfi? I checked the UM, here is the instruction of entering VLLSx mode:
You need to check Table 18-7 for the configuration before entering VLLS mode
STOP instruction usage is in derivative.h. You will see it if you create a CF V1 project
UM download link: https://www.nxp.com/docs/en/reference-manual/MCF51JF128RM.pdf
Have a nice day,
Jun Zhang