Telink TLSR8232 BLE SDK Developer Handbook
AN-19112700-E1
115
Ver.1.0.0
4. Power Management (PM)
Power Management hereinafter is referred to as
“PM”.
4.1 PM Driver
Driver files related to PM are available in drivers/5316/pm_5316.c, drivers/5316/pm.h,
drivers/5316/pm_5316_32krc.c, drivers/5316/pm_5316_32kpad.c.
4.1.1 Low Power Modes
TLSR8232 supports three basic modes.
1) Working mode: In this mode, program runs normally, hardware digital modules work
normally, related analog modules and BLE RF transceiver can be enabled
depending on firmware. The current in this mode is about 8~30mA.
2) Suspend mode: Low power mode 1. In this mode, program execution pauses, most
hardware modules in IC are powered off, and the PM module still works normally. All
digital registers, analog registers and memory are non-volatile in this mode, i.e. all
data and states
are held and won’t be lost. The pure IC current in this mode is about
8uA. After wakeup from suspend, program continues running from the break point.
3) Deepsleep mode: Low power mode 2. In this mode, program stops running, the vast
majority of hardware modules in IC are powered down, while the PM module still
works. Only a few retention analog registers are non-volatile in this mode; other
(digital and analog) registers and memory are volatile, i.e. all data won’t be held. The
retention analog registers (DEEP_ANA_REG in pm.h) can be used to store some
necessary information. After wakeup from deepsleep, MCU is rebooted,
and it’s
equivalent to power cycle (power cycle will reset all registers); firmware restarts
running and enters initialization. User can store some information in
DEEP_ANA_REG
before MCU enters deepsleep. Then user can judge whether it’s
pure power cycle or wakeup from deepsleep, by reading retention analog registers
during initialization and checking whether there’re pre-configured information. The
pure IC current in this mode is about 0.7uA; if internal Flash current (~1uA) is added,
the total current is about 1.7uA.
As introduced in Link Layer timing sequence, during each Adv Interval / Connection
Interval, MCU works with low duty cycle and enters suspend after tasks are processed.
Since MCU stays in suspend state at most time and current in suspend is very low, the
average current is decreased largely to enable low power.
When MCU does not need to work, it can be configured to enter deepsleep to minimize
power, and certain sources can be configured to wake up MCU.
4.1.2 Hardware Wakeup Sources
shows wakeup sources available for TLSR8232: In suspend mode, it can be
woken up by PAD, CORE and timer sources; while in deepsleep mode, it can be woken