2 power conservation, 1 idle mode, 2 stop mode – Maxim Integrated High-Speed Microcontroller User Manual
Page 93

High-Speed Microcontroller User’s Guide
Rev: 062210
93 of 176
7.2 Power Conservation
The high-speed microcontroller is implemented using full CMOS circuitry for low power operation. It is
fully static so the clock speed can be run down to DC. Like other CMOS, the power consumption is also a
function of operating frequency. Although the high-speed microcontroller is designed for maximum
performance, it also provides improved power versus work relationships compared with standard 8051
devices. These topics are discussed in detail below.
The high-speed microcontroller provides two power conservation modes. They are similar, but have
different merits and drawbacks. These modes are Idle and Stop. In the original 8051, the Stop mode is
called power-down. These modes are invoked in the same manner as the original 8051 series.
7.2.1 Idle Mode
Idle mode suspends all CPU processing by holding the program counter in a static state. No program
values are fetched and no processing occurs. This saves considerable power versus full operation. The
virtue of Idle mode is that it uses half the power of the operating state, yet reacts instantly to any interrupt
conditions. All clocks remain active so the timers, Watchdog, Serial Port, and Power Monitor functions
are all working. Since all clocks are running, the CPU can exit the Idle state using any of the interrupt
sources.
Software can invoke the Idle mode by setting the IDLE bit in the
register at location 87h. The bit
is located at
.0. The instruction that executes this step will be the last instruction prior to freezing
the program counter. Once in Idle, all resources are preserved. There are two ways to exit the Idle mode.
First, any interrupt (that is enabled) will cause an exit. This will result in a jump to the appropriate
interrupt vector. The IDLE bit in the
register will be cleared automatically. On returning from this
vector using the RETI instruction, the next address will be the one immediately after the instruction that
invoked the Idle state.
The Idle mode can also be removed using a reset. Any of the three reset sources can do this. On receiving
the reset stimulus, the CPU will be placed in a reset state and the Idle condition cleared. When the reset
stimulus is removed, software will begin execution as for any reset. Since all clocks are active, there will
be no delay after the reset stimulus is removed. Note that if enabled, the Watchdog Timer continues to run
during Idle and must be supported.
7.2.2 Stop Mode
Stop mode is the lowest power state that the high-speed microcontroller can enter. This is achieved by
stopping all on-chip clocks, resulting in a fully static condition. No processing is possible, timers are
stopped, and no serial communication is possible. Processor operation will halt on the instruction that sets
the STOP bit. The internal amplifier that excites the external crystal will be disabled, halting crystal
oscillation in Stop mode.
shows the state of the processor pins in Idle and Stop modes.
Stop mode can be exited in two ways. First, like the 8052 microcontrollers, a non-clocked interrupt such
as the external interrupts or the power-fail interrupt can be used. Clocked interrupts such as the watchdog
timer, internal timers, and serial ports will not operate in Stop mode. Note that the bandgap reference
must be enabled in order to use the power-fail interrupt to exit Stop mode, which will increase Stop mode
current. Processor operation will resume with the fetching of the interrupt vector associated with the
interrupt that caused the exit from Stop mode. When the interrupt service routine is complete, an RETI
will return the program to the instruction immediately following the one that invoked the Stop mode.