■ The user initiates hibernation by setting the
HIBREQ
bit in the
Hibernation Control (HIBCTL)
register
■ Power is arbitrarily removed from V
DD
while a valid V
BAT
is applied
Once in hibernation, the module signals an external voltage regulator to turn the power back on
when an external pin (
WAKE
,
RST
or a wake-enabled GPIO pin) is asserted or when the internal
RTC reaches a certain value. The Hibernation module can also detect when the battery voltage is
low and optionally prevent hibernation or wake from hibernation when the battery voltage falls below
a certain threshold. Note that multiple wake sources can be configured at the same time to generate
a wake signal such that any of them can wake the module.
When waking from hibernation, the
HIB
signal is deasserted. The return of V
DD
causes a POR to
be executed. The time from when the
WAKE
signal is asserted to when code begins execution is
equal to the wake-up time (t
WAKE_TO_HIB
) plus the power-on reset time (T
POR
).
7.3.1
Register Access Timing
Because the Hibernation module has an independent clocking domain, hibernation registers must
be written only with a timing gap between accesses. The delay time is t
HIB_REG_ACCESS
, therefore
software must guarantee that this delay is inserted between back-to-back writes to Hibernation
registers or between a write followed by a read. The
WC
interrupt in the
HIBMIS
register can be used
to notify the application when the Hibernation modules registers can be accessed. Alternatively,
software may make use of the
WRC
bit in the
Hibernation Control (HIBCTL)
register to ensure that
the required timing gap has elapsed. This bit is cleared on a write operation and set once the write
completes, indicating to software that another write or read may be started safely. Software should
poll
HIBCTL
for
WRC
=1 prior to accessing any hibernation register.
Back-to-back reads from Hibernation module registers have no timing restrictions. Reads are
performed at the full peripheral clock rate.
7.3.2
Hibernation Clock Source
The HIB module can be clocked by one of three different clock sources:
■ A 32.768-kHz oscillator
■ An external 32.768-kHz clock source
■ An internal low frequency oscillator (HIB LFIOSC)
Table 7-2 on page 535 summarizes the encodings for the bits in the
HIBCTL
register that are required
for each clock source to be enabled. Note that
CLK32EN
must be set for any Hibernation clock
source to be valid. The Hibernation module is not enabled until the
CLK32EN
bit is set. The HIB
clock source is the source of the RTC Oscillator (RTCOSC), which can be selected as the system
clock source by programming a 0x4 in the
OSCSRC
field of the
Run and Sleep Mode Configuration
(RSCLKCFG)
register in the System Control Module. Please refer to “System Control” on page 220
for more information.
Table 7-2. HIB Clock Source Configurations
OSCBYP
OSCSEL
CLK32EN
HIB Clock Source
0
0
1
32.768 kHz Oscillator
1
0
1
External 32.768-kHz Clock Source
535
June 18, 2014
Texas Instruments-Production Data
Tiva
™
TM4C1294NCPDT Microcontroller