SWRA486A August   2015  – April 2017 CC1310 , CC2620 , CC2630 , CC2640 , CC2640R2F-Q1 , CC2650 , CC2650MODA

 

  1.   CC26x0, CC13x0 SimpleLink™ Wireless MCU Power Management Software Development
    1.     Trademarks
  2.   CC26x0, CC13x0 SimpleLink™ Wireless MCU Power Management Software Development
    1. 1 Abbreviations
    2. 2 Power Management Introduction
    3. 3 TI-RTOS Power Modes
      1. 3.1 Active Mode
      2. 3.2 Idle Mode
      3. 3.3 Standby Mode
        1. 3.3.1 Standby Enter Sequence
        2. 3.3.2 Standby Exit Sequence
      4. 3.4 Shutdown Mode
    4. 4 Implementation Considerations
      1. 4.1 Device Initializing
        1. 4.1.1 Low-Level Initializing
        2. 4.1.2 Initializating TI-RTOS
      2. 4.2 Recharging in Standby
      3. 4.3 Operating the DC-DC Converter
      4. 4.4 Configuring Device for External Input Interrupts and Wakeup
        1. 4.4.1 Interrupt and Wakeup from Active, Idle, and Standby
        2. 4.4.2 Wakeup from Shutdown Mode
      5. 4.5 Oscillators
        1. 4.5.1 High-Frequency Oscillators
        2. 4.5.2 Low-Frequency Oscillators
        3. 4.5.3 RC Oscillator Calibration
      6. 4.6 Auxiliary Domain
        1. 4.6.1 Powering on the Auxiliary Domain
        2. 4.6.2 Powering Down the Auxiliary Domain
        3. 4.6.3 Managing the Sensor Controller and the Auxiliary Domain Power
        4. 4.6.4 Sharing Resources Between the Sensor Controller and the Cortex®-M3
      7. 4.7 RTC
        1. 4.7.1 Initializing RTC
        2. 4.7.2 Configuring RTC Compare Events
      8. 4.8 Debugging Through Power Modes
      9. 4.9 Using Peripherals
    5. 5 References
  3.   Revision History

Idle Mode

In idle mode, the Cortex-M3 is in deep-sleep after executing the WFI instruction. The Cortex-M3 waits for interrupts to wake up. The CPU power domain is off to reduce the current consumption. The CPU power domain increases the wake-up time of approximately 25 µs. Consider this increase if the application is timing sensitive. Although the CPU power domain is off, it retains its contents. When waking up from idle mode, the Cortex-M3 resumes executing code at the point it left off before entering idle. The state and register contents of the Cortex-M3 remain unchanged.

In idle mode, the application program can use system resources, including the high-speed crystal oscillator, the radio, and the peripherals. The Cortex-M3 can wake up from any enabled interrupt source. For details on entering idle mode, see Figure 1.

The code for entering idle mode is from the TI-RTOS implementation. Find it at the following path: C:\ti\tirtos_cc13xx_cc26xx_#_##_##_##\products\tidrivers_cc13xx_cc26xx_#_##_##_##\packages\ti\drivers\power\PowerCC26XX_tirtos.c.

Figure_01_SWRA486.pngFigure 1. Idle Enter Sequence
  1. Configure flash to remain on in IDLE or not– The flash can remain on to support DMA transactions from flash or if the RF core must access the flash. If the application requires the flash to remain available while in idle, set the PRCM:PDCTL1 bit (see CC13x0, CC26x0 Technical Reference Manual) before entering idle. If the application does not require flash access while in idle, clear this bit for the lowest power consumption.
  2. Always keep Cache retention on in idle– Always enable the cache retention to ensure faster start-up time and easier software implementation. The current consumption caused by retaining the cache in idle is negligible compared to the total idle current consumption.
  3. Turn off the CPU power domain– Ensure the CPU power domain is off when the Cortex-M3 enters deep-sleep. The CPU power domain is turned off after the Cortex-M3 executes the WFI instruction (with the NVIC SLEEP_DEEP bit set) and enters deep-sleep.
  4. Ensure any possible outstanding AON writes are completed– If the AON domain has any outstanding writes, the driver must ensure they complete before entering idle. This function call stalls the Cortex-M3 execution for up to one SCLK_LF period because the AON domain runs on the SCLK_LF.
  5. Enter IDLE— Put the Cortex-M3 in deep-sleep through the WFI instruction to enter idle. If the wake-up source is the RTC, the software must perform AON synchronization (in Step 4) before reading from the RTC module to ensure the RTC values are updated correctly.