Rabbit 2000 Designers Handbook - page 32
342
Dynamic
C
User’s
Manual
For
extreme low-power operation it should be taken into account that some memory chips
draw
substantial current at zero frequency. For example, a Samsung static RAM (part
number
KM684000BPL-7L) was found to draw 1 mA at 5 V when chip select and output
enable
were held enabled and all the other signals were held at fixed levels (a long read).
When
the microprocessor is operating at the slowest frequency (32 kHz clock), the mem-
ory
cycle is about 64 µs and the memory chip spends most of its time with the chip enable
and
output enable on. The current draw during a long read cycle is not specified in most
memory
data sheets. The Samsung chip, according the data sheet, typically draws about
4 mA
per megahertz when it is operating. However, it appears that current consumption
curve
flattens out at about 250 kHz because of the constant 1 mA draw during a long read.
In
order to take full advantage of the Rabbit’s ultra slow sleepy execution modes, a mem-
ory
that does not consume power during a static read is required. Advanced Micro
Devices
has a line of 3 V flash memories (AM29LV010, AM29LV040) that power down
automatically
whenever the address (and control) lines do not change for period of time
slightly
longer than the access time. These memories will consume on the order of 30 µA
when
operated at a data rate of 1/64 MHz.
Currently,
Dynamic C does not allow debugging in with flash chips having sector sizes
greater
than 4096 bytes, nor do the flash drivers support provided in the Dynamic C librar-
ies
support such flash chips. To use a large sector flash in your product design, you can
debug
your application in RAM by using the Compile to RAM compiler option, or use a
board
with small sector flash for development only.
The
Rabbit low-power sleepy mode of operation is achieved by switching the main clock
to
the 32.768 kHz clock and then disabling the main oscillator. In this mode, the Rabbit
executes
about 3 instructions every millisecond. Adding memory wait states can further
slow
the processor to about 500 instructions per second or one every 2 ms. At these
speeds
the power consumed by the microprocessor, exclusive of the 32.768 kHz oscilla-
tor,
is very low, in the area of 50 µA to 100 µA. The Rabbit will generally test for some
external
event and leave sleeping mode when that event is detected. The 32.768 kHz
oscillator
is a major consumer of power, requiring approximately 80 µA at 3.3 V. This
drops
dramatically to about 18 µA at 2.2 V. For the lowest standby power it may be desir-
able
to use an external oscillator to generate the 32.768 kHz clock. The Intersil (formerly
Harris)
part HA7210 can be used to construct a 32.768 kHz oscillator that consumes
approximately
5 µA at 3.3 V.
For
the very lowest power consumption the processor can execute a long string of mul
instructions
with the de and bc registers set to zero. Few if any internal registers change
during
the execution of a string of mul zero by zero, and a memory cycle takes place only
once
in every 12 clocks. By combining all these techniques it may be possible to get the
sleepy
current under 50 µA.
8.1
Software Support for Low-Power Sleepy Modes
In
sleepy mode the microprocessor executes instructions too slowly to support most inter-
rupts.
The serial ports can function but cannot generate standard baud rates since the sys-