Power Management
Thread Scheduling 4-51
4.6 Power Management
The DSP/BIOS Power Manager, PWRM, is a DSP/BIOS module that lets you
reduce the power consumption of your application. The PWRM module is
currently available for the ’C5509A EVM. Partial support for other ’C55x
devices is also available. See the DSP/BIOS release notes to determine
which features are supported on different devices.
The PWRM module provides the following capabilities:
❏ Idling Clock Domains. You can idle specific clock domains to reduce
active power consumption.
❏ Saving Power at Boot Time. You can specify a power-saving function to
be called automatically at boot time. This function can idle power-using
peripherals as desired.
❏ DSP Device Initialization. You can have PWRM perform device-specific
power saving operations at boot time. For example, PWRM can
automatically idle clock domains that aren't usually needed by default (for
example, DMA), or it can idle-enable certain peripherals so that they sit
in their lowest power state until they are needed.
❏ Resource Tracking. You can make runtime PWRM API calls to inform
the Power Manager of the specific resources (for example, clock
domains, peripherals, and clock pins) that your application is dependent
upon. With this knowledge of required resources, PWRM can
aggressively idle resources that have no declared dependencies.
❏ Scaling Voltage and Frequency. You can dynamically change the
operating voltage and frequency of the CPU. This is called V/F scaling.
Since power usage is linearly proportional to the frequency and
quadratically proportional to the voltage, using the PWRM module can
result in significant power savings.
❏ Using Sleep Modes. You can set custom sleep modes to save power
during inactivity. These can be set statically or at run-time.
❏ Coordinating Sleep and Scaling. You can coordinate sleep modes and
V/F scaling using registration and notification mechanisms provided by
the PWRM module.
Note:
It is important to note that the PWRM module does not ensure that the
application can meet its scheduling requirements. Meeting such
requirements is the responsibility of the application and the developer.