SPRUHM8K December 2013 – May 2024 TMS320F28374D , TMS320F28375D , TMS320F28376D , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28378D , TMS320F28379D , TMS320F28379D-Q1
The Flash bank and pump consume a significant amount of power when active. The Flash module provides a mechanism to power-down Flash banks and pump. Special timers automatically sequence the power-up of the CPU1 Flash bank and CPU2 Flash bank independently of each other. The shared charge pump module has an independent power-up timer as well.
The Flash bank and OTP memory operate in three power modes: Sleep (lowest power), Standby, and Active (highest power)
The charge pump operates in two power modes:
Any access to any Flash bank/OTP memory causes the charge pump to go into active mode, if the charge pump is in sleep mode. An erase or program command causes the charge pump and bank to become active. If any bank is in active or in standby mode, the charge pump is in active mode, independent of the pump power mode control configuration (PMPPWR bit field in the FPAC1 register).
To power down the Flash pump, both the CPU1 and CPU2 must each power down the Flash pump without any Flash accesses in between. The Flash pump does not enter low-power mode if the following sequence is not followed.
The previous procedure must be executed from RAM and not from Flash. Note that exclusive control of the Flash pump must be gained by a CPU (using Flash pump semaphore PUMPREQUEST) before configuring the PMPPWR bit field of the FPAC1 register as shown in the previous sequence. As the charge pump is shared between CPU1-FMC and CPU2-FMC, the effective PMPPWR value used when powering down the pump is of the FMC (out of CPU1-FMC and CPU2-FMC) that owns the pump. The application software can check the current power mode of the Flash bank by reading the FBPRDY register. The PUMPRDY bit in the FBPRDY register in CPU1-FMC and CPU2-FMC together reflect the power mode of the charge pump. A value of 0 in the PUMPRDY bit in both CPU1-FMC and CPU2-FMC indicates that the charge pump is in sleep mode. A value of 1 in the PUMPRDY bit in either CPU1-FMC or CPU2-FMC or in both CPU1-FMC and CPU2-FMC indicates that the charge pump is in active mode. Refer to the register descriptions, Section 3.17, for detailed information.
While the pump is in sleep state, a charge pump sleep down counter holds a user configurable value (PSLEEP bit field in the FPAC1 register) and when the charge pump exits sleep power mode, the down counter delays from 0 to PSLEEP prescaled SYSCLK clock cycles (prescaled clock is SYSCLK/2) before putting the charge pump into active power mode. Note that the configured PSLEEP value must yield at least a delay of 20 µs for the pump to go to active mode. Refer to the register descriptions, Section 3.17, for detailed information.
Following are the number of cycles for the Bank and pump to wake up from low-power modes:
Where in Flash clock = SYSCLK/(RWAIT+1)