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.

LAUNCHXL-CC2640R2: Idle mode in CC2640

Part Number: LAUNCHXL-CC2640R2
Other Parts Discussed in Thread: CC2640, CC2640R2F

Hi everyone,

I recently started working with CC2640R2F launchpad. I am trying to understand the power modes in CC2640 MCU. From the TRM (swcu117h Chapter 6.6), i came to know about 4 power modes (i.e. Active, Idle, Standby and Shutdown). and from chapter 6.2 of same TRM there are 3 System CPU modes ( Run, sleep and deep sleep). And i found one more file (http://www.ti.com/lit/ug/swra486/swra486.pdf , chapter 3.2 - idle mode), in which it is mentioned we can enter idle mode . They mentioned the code exists in cc26xx\Power_standbyPolicy.c located in tirtos sdk folder. I have latest tirtos version 2.21.01.08, i did not find the mentioned file.

I have a few questions. Please help me to clarify the concepts:

   1. When the device goes to idle mode,whats the status of System CPU (sleep or deep sleep) and whats the difference between sleep and deep sleep modes?

   2. When device is in idle mode, it can wake up by any interrupt source (RTC, pin edge, reset). Is it possible to wake up the processor from mobile app (there is possibility of RF core running when device is in idle)

   3. where can find the Power_standbyPolicy.c file (or) is it deprecated?

Please help me to understand the concepts.

Thank you

Srinivas

  • 1. I suppose what you mean is sleeping mode maps to CC2640R2 standby mode and deep sleeping mode maps to CC2640R2 shutdown mode. If so, the CPU is in sleeping mode (standby mode) when the device goes to idle mode.
    2. No
    3. I think you can find it in previous tirtos_simplelink_2_11_01_09 or tirtos_simplelink_2_14_03_28
  • Hi YiKai Chen,

    Thanks for the quick reply. I found a table in TRM, it shows as below:

    Here it mentioned as, when the device is in idle mode: RFCORE_PD (radio) is Available. And if any mobile device is already in a connection (before ble goes into idle), is there any possibility of writing a char value and detecting in the ble application and that value can be used as trigger for wake up. Please correct me if i am wrong.

    And i did not find much documentation regarding power domains. Any reference to locate the files related to power domain docs.

    Thank you

    Srinivas

  • Table 6.2 in describes in detail what is on the the various modes.

    Could you elaborate a bit why you are looking for the policy file?

    Have you looked into this section in the board file to see if that could do what you want?:

    /*
     *  =============================== Power ===============================
     */
    #include <ti/drivers/Power.h>
    #include <ti/drivers/power/PowerCC26XX.h>
    
    const PowerCC26XX_Config PowerCC26XX_config = {
        .policyInitFxn      = NULL,
        .policyFxn          = &PowerCC26XX_standbyPolicy,
        .calibrateFxn       = &PowerCC26XX_calibrate,
        .enablePolicy       = true,
        .calibrateRCOSC_LF  = true,
        .calibrateRCOSC_HF  = true,
    };

  • I see that I linked to the same able as you just a few minutes later.

    Not sure what exactly you are looking for. Could you elaborate? The power modes when using BLE is set by TI-RTOS and the BLE stack and they are set to use as little power as possible at all times. If you look in 6.3 in www.ti.com/.../swra478d.pdf you will see hoe the power profile using BLE looks like.
  • Hi TER,

    I have an idea of using BLE controller to wake up my main controller. when all the modules in the system are in sleep state and BLE is in idle state, i want to send a trigger from mobile app to BLE and in turn BLE will wake up the other modules.

    This is the reason why i am looking how idle mode works in BLE controller and is there any possibility of send a trigger from mobile app to BLE(as RF Core is available). Just curious to know if this works :)
    Please correct me if i am wrong.

    Thank you for the reply
    Srinivas
  • As I know, this is not feasible from current BLE Stack.
  • Thank you YiKai Chen. I am looking forward to see when this feature will be embedded in the BLEstack.

    Regards
    Srinivas