SPRUHM8K December 2013 – May 2024 TMS320F28374D , TMS320F28375D , TMS320F28376D , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28378D , TMS320F28379D , TMS320F28379D-Q1
Hibernate (HIB) is a global low-power mode that gates the supply voltages to most of the system. This mode affects both CPU subsystems. HIB is essentially a controlled power-down with remote wakeup capability, and can be used to save power during long periods of inactivity. Because gating the supply voltage corrupts the state of the logic, a reset is required to exit HIB. To prevent external systems from being affected by the reset, HIB provides isolation of the I/O pin states as well as low-power data retention via the M0 and M1 memories.
Unlike the clock-gating modes, HIB does not have a true wakeup. Instead, GPIO41 becomes HIBWAKE, an asynchronous reset signal. When the boot ROM detects a HIB wakeup, the boot ROM avoids clearing M0 and M1 and calls a user-specified I/O restore function. To prevent glitches on internal and external signals, XRS also generates a HIBWAKE signal during HIB. The I/O restore function must set up the GPIO control registers to match their pre-HIB state, then write a 1 to LPMCR.IOISODIS to deactivate I/O isolation. If the restore function does not disable isolation, the boot ROM disables isolation.
To enter HIB mode:
Any debugger connection is lost on HIB entry since the JTAG logic is powered down.
Due to the loss of system state on HIB entry, it is possible for error information to be lost if an NMI is triggered while the IDLE instruction is in the pipeline. The ERRORSTS pin is set and remains set until I/O isolation is disabled, but there is no way to determine what caused the error.
To wake the device from HIB mode:
Since waking up from HIB mode is a type of reset, the device enters the main function. The device is now out of HIB mode and can normal execution.
The bootROM uses locations 0x02-0x122 on CPU1 M0 RAM and locations 0x02-0x80 on CPU2 M0 RAM. To prevent losing any data during HIB wake-up, avoid saving any critical data to these locations.
The application must bypass the PLL before executing the IDLE instruction to enter HIB. If the PLL is not bypassed when entering HIB, there is a brief current spike on the Vdd supply that can cause the device to reset.