Low power features

Logical device drivers in conjunction with processor component implement low power features of a target microcontroller. Each LDD component define two methods related to the low power capability - SetOperationMode() and GetDriverState(). For more details, refer to the documentation of components.

Figure 1. Usage of low power API in Logical Device Drivers

In the example above, DPM (Dynamic Power Manager) task may opt to care for a selected number of peripherals for graceful power mode change (for example, FEC, CAN) and rest of the peripheral drivers need not know the power mode change. When opted for informing a peripheral device driver, the DPM can build a semaphore object for low power acknowledgement from the device drivers. When all such acknowledgements arrive (ie. Semaphore count equals zero) the processor can be placed into a wait/sleep power mode. In the future, with silicon design modifications, these semaphores can be implemented in the hardware and as a result a much faster power mode change can be expected. There is no DPM in typical bare-metal applications the DPM task is implemented. In this case, DPM is substituted by a user application code.