This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2652R: Low power mode

Part Number: CC2652R
Other Parts Discussed in Thread: SYSBIOS, ENERGYTRACE

Hi

I want a CC2652R to go into low power mode when no task is running, enabling PowerCC26XX_standbyPolicy in the syscfg file and 

const PowerCC26X2_Config PowerCC26X2_config = {

    .enablePolicy             = true,

    .policyInitFxn            = NULL,

    .policyFxn                = PowerCC26XX_standbyPolicy,

    .calibrateFxn             = PowerCC26XX_calibrate,

    .calibrateRCOSC_LF        = true,

    .calibrateRCOSC_HF        = true,

    .enableTCXOFxn            = NULL

};

is this enough to get the device into Low power mode when calling Event_pend (in kernel/tirtos/packages/ti/sysbios/knl/Event.c)?

Do I have to disable the UART to get it working?

Tomas

  • Hi Tomas,

    The configuration you have shared seems correct for power saving. The Power Management chapter of the User's Guide provides some more information on the proper settings for the power manager. When using the power manager, the device will go into the lower power state possible when entering the idle task. If you are using a BLE5 example, you must also ensure the POWER_SAVINGS predefine symbol is added to the project. This symbol is already added to the pre-defines by default in most BLE5 projects. Certain peripherals will prevent the device from going into the standby.

    The Power Manager User's Guide contains very useful information into how the power manager works that may be helpful. Section 9.12 of the datasheet shows that peripherals must be turned off (UART included) in order for the device to be able to enter standby.

    Best Regards,

    Jan

  • Hi Jan

    Ok, thanks. Will make sure POWER_SAVINGS is defined and following the user guides you refer to. But let's say Im waiting on data on the UART, is it possible to wakeup from standby on a GPIO when I expect data on the UART, e.g. using a semaphore? In cc32xx devices, it's possible to set a GPIO wakeup source, but can't see that same exists for the cc2652

    Tomas

  • Hi Tomas,

    The device is able to wake up from standby due to a a gpio interrupt. We have an example that showcases standby (gpiotandby) and an example that showcases a gpio interrupt (gpiointerrupt). I believe these examples may be helpful reference projects for your development.

    Best Regards,

    Jan

  • Hi Jan,

    Thanks for answers, have add POWER_SAVING to Predefine Symbol, it wasn't included there before.. Im also disabling RX on UART when not being used so I think it should go into standby now. Is it possible to check this, some init function that can be used, or do I have to just measure the current?

  • Hi Tomas,

    The entire UART should be closed, by using the UART2_close() function. Afterwards, there are a couple of methods you could try to verify standby:

    1. Using a power analyzer, you should be able to see if the power draw goes down to standby (should be similar in current to a measurement of the gpiostandby example). I would recommend referencing the Measuring CC13xx and CC26xx Current Consumption Application Report.

    2. Using EnergyTrace++, you can see the current power mode the device is in as well as what peripherals are active and preventing the device from going down to Standby. The EnergyTrace++ Instructions section of the EnergyTrace User's Guide provides instructions for how to enable ET++.

    Best Regards,

    Jan

  • Ok, will try to close the UART when not being used, will see if the current consumption goes down when doing so. What about the idle power mode, cannot find documentation on how to put the device into that mode, from 9.12 in the datasheet it seems like the UARTs are available when in idle power mode?

    Tomas

  • Hi Tomas,

    Section 9.12 Power Management of the Datasheet provides what features are usable in which power mode and a brief description of the power modes themselves. In short, Idle is a power mode that consumes less power than active, but more then standby. If your application is battery powered or power is a concern, then I would highly recommend going into standby over idle if possible.

    Best Regards,

    Jan