A. CPU1 does necessary
application-specific context save to M0/M1 memories if required. This includes
GPIO state if using I/O Isolation. Configures the LPMCR register of CPU1 for
HIBERNATE mode. Powers down Flash Pump/Bank, USB-PHY, CMPSS, DAC, and ADC using
their register configurations. The application should also power down the PLL
and peripheral clocks before entering HIBERNATE.
B. IDLE instruction is executed to
put the device into HIBERNATE mode.
C. The device is now in HIBERNATE
mode. If configured, I/O isolation is turned on, M0 and M1 memories are
retained.
CPU1
is powered down. Digital peripherals are powered down. The oscillators,
PLLs, analog peripherals, and Flash are in their software-controlled Low-Power
modes. Dx, LSx, and GSx memories are also powered down, and their memory
contents lost.
D. A falling edge on the
GPIOHIBWAKEn pin will drive the wakeup of the devices clock sources INTOSC1,
INTOSC2, and X1/X2 OSC. The wakeup source must keep the GPIOHIBWAKEn pin low
long enough to ensure full power-up of these clock sources.
E. After the clock sources are
powered up, the GPIOHIBWAKEn must be driven high to trigger the wakeup sequence
of the remainder of the device.
F. The BootROM will then begin to
execute. The BootROM can distinguish a HIBERNATE wakeup by reading the
CPU1.REC.HIBRESETn bit. After the TI OTP trims are loaded, the BootROM code will
branch to the user-defined IoRestore function if it has been configured.
G. At this point, the device is out
of HIBERNATE mode, and the application may continue.
H. The IoRestore function is a
user-defined function where the application may reconfigure GPIO states, disable
I/O isolation, reconfigure the PLL, restore peripheral configurations, or branch
to application code. This is up to the application requirements.
I. If the application has not
branched to application code, the BootROM will continue after completing
IoRestore. It will disable I/O isolation automatically if it was not taken care
of inside of IoRestore.
J. BootROM will then boot as
determined by the HIBBOOTMODE register. Refer to the ROM Code and Peripheral
Booting chapter of the
TMS320F2807x Real-Time
Microcontrollers Technical Reference Manual for more
information.
Figure 6-24 HIBERNATE
Entry and Exit Timing Diagram