MC60 - Debug Low Power Modes

How can we detect if MC60 has entered a low power mode, when using Open CPU reference solution. Is it possible to capture some catcher logs to understand what is preventing the MC60 from entering low power mode? We can execute an AT command such as AT+QSCLK=0, but the module power consumption is quite high.
Some tasks are scheduled at low rate in the Open CPU solution (once every few seconds), but these do not perform any Network IO or extended calculations.

  1. Whether the module enters low-power mode can be judged by real-time monitoring of current consumption. In addition, serial port log can also be used to judge whether the module enters low-power mode and the serial port does not work

  2. Catcher log allows you to see why modules are not allowed to enter low-power mode. As you mentioned, if you do not do network business and have low-frequency scheduling, modules can enter low-power mode (if you enable low-power), but low-frequency scheduling may affect the time to enter low-power mode

I do understand that the current can be monitored to verify if the module has entered low power mode and indeed this is the method we are using at present.
The problem is if the module is not able to enter low power mode, how do we identify the reason that the module is not entering the low power mode. If there are catcher or other logs that can be used, it shall be highly useful

1 Like

Hello, I also encountered this problem, can you answer it, I changed how to determine whether it has entered a sleep state, power consumption is always high.

When you go into low power mode, the power you say is still very high. What is the current consumption?

Thank you very much for your reply. Actually, I used the OPENCPU SDK. My circuit is very simple, the lithium battery is directly powered, and the sim card circuit. I executed the command “AT+CFUN=0” in the code, and the command returns successfully. It actually succeeded, but at this time the current still has 24ma.

If you just turn off the cfun, you cannot enter the low-power mode. There are related interfaces in the low-power mode. We have tested the current consumption of the module in the low-power mode is about 1mA, so I guess the module you said was not in the low-power mode, but just turned off the cfun

Sorry, maybe I understand the error, I think it might be even lower when I enter “CFUN=0”. Well, I don’t expect my module to enter 1ma, as long as it is below 10ma, but at the moment it seems to be very difficult. My DTR has a 2.8V pull-up to keep it high, I called Ql_SleepEnable(), but the power consumption is still 24ma, so I tried to execute “CFUN=0”. Can tell me to enter the low power condition ? In my code, there are no waiting tasks. Thank you again for your reply and look forward to your next reply, thank you!

Hi, dakai.xu, can you help me answer my questions?

Your understanding is right, cfun=0 can make the power lower in low power mode, but now you are more than 20 mA, you can only check from the peripheral you receive, like you said pin pull is also an issue.

hi,
i turn off gsm with at+cfun=0,
and my module current consumption is 13 ma.
but i want reduce current consumption near 3 or 5ma.
in my program i have one task want to work constantly.

void proc_mpuHandler (s32 taskId){
while(1)
{
///read data from iic
}
}

the module reset but when i use Ql_Sleep () work perfectly.

void proc_mpuHandler (s32 taskId){
while(1)
{
Ql_Sleep(10);
///read data from iic
}
}

why module reset?
can i reduce current consumption?

i know if i use Ql_SleepEnable() and do not run any task the current is 1 mA
but i want run my task constantly.

This power consumption is already very low for a normal working module, you can use this interface to enter sleep mode, the power consumption should be around 1-5ma