
2007 Microchip Technology Inc.
Preliminary
DS39775B-page 45
PIC18F87J50 FAMILY
3.0
POWER-MANAGED MODES
The PIC18F87J50 family devices provide the ability to
manage power consumption by simply managing clock-
ing to the CPU and the peripherals. In general, a lower
clock frequency and a reduction in the number of circuits
being clocked constitutes lower consumed power. For
the sake of managing power in an application, there are
three primary modes of operation:
Run mode
Idle mode
Sleep mode
These modes define which portions of the device are
clocked and at what speed. The Run and Idle modes
may use any of the three available clock sources
(primary, secondary or internal oscillator block); the
Sleep mode does not use a clock source.
The
power-saving features offered on previous PIC
devices. One is the clock switching feature, offered in
other PIC18 devices, allowing the controller to use the
Timer1 oscillator in place of the primary oscillator. Also
included is the Sleep mode, offered by all PIC devices,
where all device clocks are stopped.
power-managed
modes
include
several
3.1
Selecting Power-Managed Modes
Selecting a power-managed mode requires two
decisions: if the CPU is to be clocked or not and which
clock source is to be used. The IDLEN bit
(OSCCON<7>) controls CPU clocking, while the
SCS1:SCS0 bits (OSCCON<1:0>) select the clock
source. The individual modes, bit settings, clock
sources and affected modules are summarized in
Table 3-1.
3.1.1
CLOCK SOURCES
The SCS1:SCS0 bits allow the selection of one of three
clock sources for power-managed modes. They are:
The primary clock source, as defined by the
FOSC2:FOSC0 Configuration bits
The Timer1 clock (provided by the secondary
oscillator)
The postscaled internal clock (derived from the
internal oscillator block)
3.1.2
ENTERING POWER-MANAGED
MODES
Switching from one power-managed mode to another
begins by loading the OSCCON register. The
SCS1:SCS0 bits select the clock source and determine
which Run or Idle mode is to be used. Changing these
bits causes an immediate switch to the new clock
source, assuming that it is running. The switch may
also be subject to clock transition delays. These are
discussed in
Section 3.1.3 “Clock Transitions and
Status Indicators”
and subsequent sections.
Entry to the power-managed Idle or Sleep modes is
triggered by the execution of a
SLEEP
instruction. The
actual mode that results depends on the status of the
IDLEN bit.
Depending on the current mode and the mode being
switched to, a change to a power-managed mode does
not always require setting all of these bits. Many
transitions may be done by changing the oscillator
select bits, or changing the IDLEN bit, prior to issuing a
SLEEP
instruction. If the IDLEN bit is already
configured correctly, it may only be necessary to
perform a
SLEEP
instruction to switch to the desired
mode.
TABLE 3-1:
POWER-MANAGED MODES
Mode
OSCCON<7,1:0>
Module Clocking
Available Clock and Oscillator Source
IDLEN
(1)
SCS1:SCS0
CPU
Peripherals
Sleep
PRI_RUN
0
N/A
Off
Off
None – All clocks are disabled
Primary clock source (defined by FOSC2:FOSC0);
this is the normal full-power execution mode
Secondary – Timer1 oscillator
Postscaled internal clock
Primary clock source (defined by FOSC2:FOSC0)
Secondary – Timer1 oscillator
Postscaled internal clock
N/A
00
Clocked
Clocked
SEC_RUN
RC_RUN
PRI_IDLE
SEC_IDLE
RC_IDLE
Note 1:
N/A
N/A
01
11
00
01
11
Clocked
Clocked
Off
Off
Off
Clocked
Clocked
Clocked
Clocked
Clocked
1
1
1
IDLEN reflects its value when the
SLEEP
instruction is executed.