Data Fields
PowerCC26XX_Config Struct Reference

Global configuration structure. More...

#include <PowerCC26XX.h>

Data Fields

Power_PolicyInitFxn policyInitFxn
 The Power Policy's initialization function. More...
 
Power_PolicyFxn policyFxn
 The Power Policy function. More...
 
bool(* calibrateFxn )(unsigned int)
 The function to be used for activating RC Oscillator (RCOSC) calibration. More...
 
uint32_t maxStandbyDuration
 Time in system ticks that specifies the maximum duration the device may spend in standby. More...
 
uint16_t vddrRechargeMargin
 Margin in SCLK_LF periods subtracted from previous longest VDDR recharge period. More...
 
bool enableMaxStandbyDuration
 Boolean that enables limiting the duration spent in standby. More...
 
bool enablePolicy
 Boolean specifying if the Power Policy function is enabled. More...
 
bool calibrateRCOSC_LF
 Boolean specifying whether the low frequency RC oscillator (RCOSC_LF) should be calibrated. More...
 
bool calibrateRCOSC_HF
 Boolean specifying whether the high frequency RC oscillator (RCOSC_HF) should be calibrated. More...
 

Detailed Description

Global configuration structure.

Field Documentation

§ policyInitFxn

Power_PolicyInitFxn PowerCC26XX_Config::policyInitFxn

The Power Policy's initialization function.

If the policy does not have an initialization function, 'NULL' should be specified.

§ policyFxn

Power_PolicyFxn PowerCC26XX_Config::policyFxn

The Power Policy function.

When enabled, this function is invoked in the idle loop, to opportunistically select and activate sleep states.

Two reference policies are provided:

PowerCC26XX_doWFI() - a simple policy that invokes CPU wait for interrupt (WFI)

PowerCC26XX_standbyPolicy() - an agressive policy that considers constraints, time until next scheduled work, and sleep state latencies, and optionally puts the device into the STANDBY state, the IDLE state, or as a minimum, WFI.

Custom policies can be written, and specified via this function pointer.

In addition to this static selection, the Power Policy can be dynamically changed at runtime, via the Power_setPolicy() API.

§ calibrateFxn

bool(* PowerCC26XX_Config::calibrateFxn) (unsigned int)

The function to be used for activating RC Oscillator (RCOSC) calibration.

Calibration is normally enabled, via specification of the function PowerCC26XX_calibrate(). This enables high accuracy operation, and faster high frequency crystal oscillator (XOSC_HF) startups.

To disable RCOSC calibration, the function PowerCC26XX_noCalibrate() should be specified.

§ maxStandbyDuration

uint32_t PowerCC26XX_Config::maxStandbyDuration

Time in system ticks that specifies the maximum duration the device may spend in standby.

When the power driver tries to put the device into standby and determines the next wakeup should usually be further into the future than maxStandbyDuration system ticks, the power driver will schedule a wakeup maxStandbyDuration into the future. When the device wakes up after being in standby for maxStandbyDuration ticks, the power driver will repeat this process and go back into standby if the state of the system allows it.

Inserting such periodic wakeups can be used to automatically calibrate the RCOSC with a maximum period between calibrations or to force the recalculation of the initial VDDR recharge period. This assumes that the constraint to prohibit standby is not set and that periods of inactivity are long enough for the power driver to put the device into standby.

The value 0 is invalid. When PowerCC26XX_Config.enableMaxStandbyDuration is set to false, any value (including 0) is ignored and the feature is disabled. This feature should not be used to disallow entering standby; the PowerCC26XX_DISALLOW_STANDBY constraint should be used for this purpose.

§ vddrRechargeMargin

uint16_t PowerCC26XX_Config::vddrRechargeMargin

Margin in SCLK_LF periods subtracted from previous longest VDDR recharge period.

As the device comes out of standby, it updated its previous initial VDDR recharge period to be closer to the longest recharge period experienced during the time spent in standby before waking up.

vddrRechargeMargin is subtracted from the longest VDDR recharge period in SysCtrlAdjustRechargeAfterPowerDown to ensure there is some margin between the new initial and converged VDDR recharge period. The converged recharge period at a certain temperature is board and device dependent.

The default value of 0 disables this feature.

§ enableMaxStandbyDuration

bool PowerCC26XX_Config::enableMaxStandbyDuration

Boolean that enables limiting the duration spent in standby.

If false, the power driver will put the device into standby as appropriate without duration restrictions.

If true, the the power driver will force a wakeup every PowerCC26XX_Config.maxStandbyDuration system ticks before reevaluating the state of the system.

This is set to false by default.

§ enablePolicy

bool PowerCC26XX_Config::enablePolicy

Boolean specifying if the Power Policy function is enabled.

If 'true', the policy function will be invoked once for each pass of the idle loop.

If 'false', the policy will not be invoked.

In addition to this static setting, the power policy can be dynamically enabled and disabled at runtime, via the Power_enablePolicy() and Power_disablePolicy() functions, respectively.

§ calibrateRCOSC_LF

bool PowerCC26XX_Config::calibrateRCOSC_LF

Boolean specifying whether the low frequency RC oscillator (RCOSC_LF) should be calibrated.

If RCOSC calibration is enabled (above, via specification of an appropriate calibrateFxn), this Boolean specifies whether RCOSC_LF should be calibrated.

§ calibrateRCOSC_HF

bool PowerCC26XX_Config::calibrateRCOSC_HF

Boolean specifying whether the high frequency RC oscillator (RCOSC_HF) should be calibrated.

If RCOSC calibration is enabled (above, via specification of an appropriate calibrateFxn), this Boolean specifies whether RCOSC_HF should be calibrated.


The documentation for this struct was generated from the following file:
© Copyright 1995-2019, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale