Part Number: CC2630
Other Parts Discussed in Thread: TIMAC
I measured power consumption of my CC2630 chip while running the Task_sleep function with TI-RTOS 2.11 and TI-RTOS 2.21 using the following code:
static PIN_Handle gDbgPinHandle = NULL;
static PIN_State gDbgPinState;
void SleepTaskFxn(UArg a0, UArg a1)
{
// Toggle the LED every 5 seconds
gDbgPinHandle = PIN_open(&gDbgPinState, DBG_PIN_TABLE);
int flag = 0;
while(1)
{
PIN_setOutputValue(gDbgPinHandle, BOARD_DBG_1, flag);
Task_sleep(5*1000*1000 / 10); // Sleep for 5 seconds
flag ^= 1;
}
}
void main()
{
Task_Params sleepTaskParams;
Task_Params_init(&sleepTaskParams);
sleepTaskParams.stack = sleepTaskStack;
sleepTaskParams.stackSize = SLEEP_TASK_STACK_SIZE;
sleepTaskParams.priority = TASK_PRIORITY_HIGH;
Task_create(SleepTaskFxn, &sleepTaskParams, NULL);
PIN_init(BoardGpioInitTable);
BIOS_start();
}
The results were:
For TI-RTOS 2.11: 120uA @ 1.8V
For TI-RTOS 2.21: 2.4uA @ 1.8V
My goal is to put my board in low power state for a relatively long time to save power (preferably using Task_sleep API call), then wake up the MCU after a specific amount of time, load the TIMAC stack, and start 802.15.4 radio communication for a short period of time, then go back to sleep. TIMAC only works with TI-RTOS 2.11, so the only thing I can do is fix whatever issue is preventing the MCU from going into standby mode the way TI-RTOS 2.21 does (saving 98% of power). So my question is, what is preventing TI-RTOS 2.11 from achieving the same power savings in standby mode as TI-RTOS 2.21?
My hardware is a custom board using the 7x7 CC2630 chip on which I performed the above mentioned measurements.