ISD91200 Series Technical Reference Manual
Release Date: Sep 16, 2019
- 114 -
Revision 2.4
enters DPD mode with insufficient time to allow an ICE tool to activate the SWD debug port. Especially
during development it is recommended that some checks are placed in the boot sequence to prevent
device going to power down. A register bit, CLK_DBGPD.DISPDREQ is included for this purpose that
will disable power down features. A check such as:
Can check the SWD pin state on boot and prevent power down from occurring.
5.3.4.2
Level1: Standby Power Down (SPD) mode.
Standby Power Down mode is the lowest power state that some logic operation can be performed. In
this mode power is removed from the majority of the core logic, including the Cortex-M0 and main
RAM. A low power standby reference is enabled however that supplies power to a subset of logic
including the IO ring, GPIO control, RTC module, 32kHz Crystal Oscillator, Brownout Detector and a
256Byte Standby RAM.
In Standby mode there are three ways to wake up the device:
1. An interrupt from the GPIO block, for instance a pin transition.
2. An interrupt from the RTC module, for instance an alarm or timer event.
3. A power cycle of main chip supply triggering a POR event.
When a wake up event occurs the PMU will start the Cortex-M0 processor and execute the reset
vector. Software can determine whether the device woke up from SPD by interrogating the register bit
CLK_PWRSTSF.SPDF.
To enter the SPD state the user must set the register bit CLK_PWRCTL.SPDEN then execute a WFI
or WFE instruction. Note that when debug interface is active, device will not enter SPD. Also once
device enters SPD the debug interface will be inactive.
5.3.4.3
Level2:STOP mode (special characteristic).
STOP mode is the lowest power state that some logic operation can be performed with full SRAM
retention. In this mode power is removed from the majority of the core logic, including the Cortex-M0.
A low power standby reference is enabled however that supplies power to a subset of logic including
the IO ring, GPIO control, RTC module, LXT 32kHz Crystal Oscillator (if enabled), Brownout Detector,
LIRC 10kHz Oscillator, and SRAM.
In STOP mode there are three ways to wake up the device:
4. An interrupt from the GPIO block, for instance a pin transition.
5. An interrupt from the RTC module, for instance an alarm or timer event.
6. A power cycle of main chip supply triggering a POR event.
When a wake up event occurs the PMU will start the Cortex-M0 processor and execute the next
instrument. Software can determine whether the device woke up from STOP by interrogating the
register bit CLK_PWRSTSF.STOPF.
To enter the STOP state the user must set the register bit CLK_PWRCTL.STOPEN then execute a
WFI or WFE instruction. Note that when debug interface is active, device will not enter STOP. Also
once device enters STOP the debug interface will be inactive.
void Reset_Handler(void){
/* check ICE_CLK and ICE_DAT to disable power down to the chip */
if (CLK_DBGPD.ICECLKST == 0 && CLK_DBGPD.ICEDATST == 0)
CLK_DBGPD.DISPDREQ = 1;
__main();
}