Flash Controller Memory Module
538
SPRUHE8E – October 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
Internal Memory
5.3.6.1
Flash/OTP and Pump Power Modes and Wakeup
The flash bank and OTP (M3/C28x) operate in three power modes: Sleep (lowest power), Standby, and
Active (highest power)
•
Sleep State
This is the state after a device reset. In this state, the bank is in a sleep state (lowest power). When
the flash bank is in the sleep state, a CPU data read or opcode fetch to the flash or OTP memory map
area will automatically initiate a change in power modes to the standby state and then to the active
state. During this transition time to the active state, the CPU will automatically be stalled.
•
Standby State
This state uses more power than the sleep state, but takes a shorter time to transition to the active or
read state. In this state, a CPU data read or opcode fetch to the flash or OTP memory map area will
automatically initiate a change in power modes to the active state. During this transition time to the
active state, the CPU will automatically be stalled. Once the flash/OTP has reached the active state,
the CPU access will complete as normal.
•
Active or Read State
In this state, the bank and pump are in active power mode state (highest power)
The charge pump operates in two power modes:
•
Sleep (lowest power)
•
Active (highest power)
Any access to a flash bank/OTP causes the charge pump to go into active mode if it is not in sleep mode.
Also, any erase or program command causes the charge pump and bank to become active. Also, if any
bank is active or in standby mode, the charge pump is active, independent of the charge pump fallback
power mode. While pump is in sleep state, a charge pump sleep down counter holds a user configurable
value (PSLEEP bit field in FPAC1 register) and when the charge pump exits sleep power mode, the down
counter delays from 0 to PSLEEP prescaled SYSCLK clock cycles before putting the charge pump into
active power mode. Refer to the
for more details.
5.3.6.2
Active Grace Period
The active grace period (AGP) can be used to optimize the flash module power consumption versus
access time. Faster access times are associated with higher-power modes of operation. At one extreme,
the power control logic could attempt to reduce power consumption by putting the banks and charge pump
into a low-power mode immediately at the end of every flash access. However, if accesses are only a few
cycles apart, this can actually increase power consumption versus leaving the flash powered, because the
banks and charge pump consume more power during flash startup and access.
The active grace periods (supported for M3 flash bank and C28x flash bank independently in addition to
the charge pump module) allow the banks and/or charge pump to be maintained in active mode for a
specified period following an access. This is done in anticipation of another read within the AGP time, to
allow the subsequent read to have a faster access and spend less time dissipating power, than if the bank
went into one of the low power modes immediately. If the next access does not occur within the AGP time,
the power control logic can automatically put the bank and/or charge pump into a low-power mode to
reduce power consumption during long periods of inactivity.
The AGP value is programmed by a set of programmable counters (FBAC and FPAC2) which keep the
flash bank or charge pump in active mode until the counter expires, at which time the bank or charge
pump reverts to its fallback power mode as defined in the FBFALLBACK and FPAC1 registers. The
application software can program the fallback power mode to be standby or sleep mode to reduce power
consumption, or program it to be active mode to keep the bank active regardless of counter settings
(default). The charge pump AGP counter remains in its initialized state when any one of the banks is
active, including the AGP counter of the bank. The charge pump AGP counter begins counting when both
banks have become inactive.
The charge pump can be put into sleep mode only when both the M3-bank and the C28x bank are put to
sleep first. The PMPPWR bit in the FPAC1 register of both M3-FMC and C28x-FMC have to be configured
for sleep mode for the pump to go to sleep mode. Note that each core has to gain the pump semaphore to
be able to write to their respective FMC’s PMPPWR bit. As the pump is shared between M3-FMC and
C28x-FMC, the effective PAGP value used when powering down the pump will be of the FMC (out of M3-