2 POWER SUPPLY, RESET, AND CLOCKS
S1C17M20/M21/M22/M23/M24/M25
Seiko Epson Corporation
2-13
TECHNICAL MANUAL (Rev. 1.0)
SLEEP mode
When the CPU executes the slp instruction, it suspends program execution and stops operating. This state is
SLEEP mode. In this mode, the clock sources stop operating as well. However, the clock source in which the
CLGOSC.IOSCSLPC/OSC1SLPC/OSC3SLPC/EXOSCSLPC bit is set to 0 keeps operating, so the peripheral
circuits with the clock being supplied can also operate. By setting this mode when no software processing and
peripheral circuit operations are required, power consumption can be less than HALT mode.
Note: The current consumption when a clock source is active in SLEEP mode by setting the CLGOSC.
IOSCSLPC/OSC1SLPC/OSC3SLPC/EXOSCSLPC bit to 0 is equivalent to the value in HALT
mode with the same clock source condition (refer to “Current Consumption, Current consump-
tion in HALT mode I
HALT1
, I
HALT2
, and I
HALT3
” in the “Electrical Characteristics” chapter).
DEBUG mode
When a debug interrupt occurs, the CPU enters DEBUG mode. DEBUG mode is canceled when the retd in-
struction is executed. For more information on DEBUG mode, refer to “Debugger” in the “CPU and Debugger”
chapter.
IOSC
RUN
OSC1
RUN
IOSC
HALT
OSC3
HALT
OSC3
RUN
RESET
(Initial state)
RUN/
HALT/
SLEEP
DEBUG
Transition takes place automatically by the
initial boot sequence after a request from
the reset source is canceled.
∗
In RUN and HALT modes, the clock sources not used
as SYSCLK can be all disabled.
HAL
T/SLEEP
cancelation
signal
halt instr
uction
Debug interrupt
retd instruction
RUN
SLEEP
slp instruction
HALT/SLEEP
cancelation signal
(wake-up)
halt instr
uction
HAL
T/SLEEP
cancelation signal
CLGSCLK.CLKSRC[1:0] = 0x1
CLGSCLK.CLKSRC[1:0] = 0x0
EXOSC
RUN
CLGSCLK.CLKSRC[1:0] = 0x2
CLGSCLK.CLKSRC[1:0] = 0x3
CLGSCLK.CLKSRC[1:0] = 0x1
CLGSCLK.CLKSRC[1:0] = 0x3
OSC1
HALT
halt instr
uction
HAL
T/SLEEP
cancelation signal
EXOSC
HALT
HAL
T/SLEEP
cancelation
signal
halt instr
uction
CLGSCLK.CLKSRC[1:0] = 0x2
CLGSCLK.CLKSRC[1:0] = 0x0
CLGSCLK.CLKSRC[1:0] = 0x0
CLGSCLK.CLKSRC[1:0] = 0x3
CLGSCLK.CLKSRC[1:0] = 0x1
CLGSCLK.CLKSRC[1:0] = 0x2
Figure 2.4.2.1 Operating Mode-to-Mode State Transition Diagram