This document is provided as a supplement to the MAXQ Family User’s Guide, covering new or modified features
specific to the MAXQ8913. This document must be used in conjunction with the MAXQ Family User’s Guide, available
on our website at www.maxim-ic.com/MAXQUG. Addenda are arranged by section number, which correspond to
sections in the MAXQ Family User’s Guide. Additions and changes, with respect to the MAXQ Family User’s Guide,
are contained in this document, and updates/additions are added when available.
M
The MAXQ8913 is a low-power, high-performance, 16-bit, RISC microcontroller based on the MAXQ
design. It is targeted specifically for dual-axis optical image stabilization (OIS) applications and includes a wide range
of peripherals including a 7-channel, 12-bit successive-approximation analog-to-digital converter (SAR ADC), two
10-bit and two 8-bit digital-to-analog converters (DACs), four op amps for ADC input conditioning, two programmable
current sinks, and support for an external D-class audio amplifier. The MAXQ8913 is uniquely suited for any application
that requires high performance and low-power operation.
1.1 References
Refer to the MAXQ Family User’s Guide for the following information:
• Description of the core architecture, instruction set, and memory mapping common to all MAXQ microcontrollers.
• Definitions and functions of the common system register set, including accumulators, data pointers, loop counters,
and general-purpose registers.
• Descriptions of common clock generation, interrupt handling, and reset/power-management modes.
• Descriptions and programming examples for common MAXQ peripherals found on the MAXQ8913 including the
serial universal synchronous/asynchronous receiver-transmitter (USART), SPIK interface, and hardware multiplier.
• Description of the test access port (TAP) and in-circuit debug interface.
• Description of the in-system programming mode.
The MAXQ8913 data sheet, which contains electrical/timing specifications and pin descriptions, is available at
www.maxim-ic.com/MAXQ8913.
Errata sheets for the MAXQ8913 and other MAXQ microcontrollers are available at www.maxim-ic.com/errata.
For more information on other MAXQ microcontrollers, development hardware and software, frequently asked questions, and software examples, visit the MAXQ page at www.maxim-ic.com/MAXQ.
architecture
MAXQ is a registered trademark of Maxim Integrated Products, Inc.
SPI is a trademark of Motorola, Inc.
Maxim Integrated
1-1
MAXQ Family User’s Guide:
MAXQ8913 Supplement
ADDENDUM TO SECTION 2: ARCHITECTURE
The MAXQ8913 shares the common architecture features with other members of the MAXQ microcontroller family.
Details are discussed in the following sections.
2.1 Instruction Set
This device uses the standard 16-bit MAXQ20 core instruction set as described in the MAXQ Family User’s Guide.
2.2 Harvard Memory Architecture
Program memory, data memory, and register space follow the Harvard architecture model. Each type of memory
is kept separate and is accessed by a separate bus, allowing different word lengths for different types of memory.
Registers can be either 8 bits or 16 bits in width. Program memory is 16 bits in width to accommodate the standard
MAXQ20 16-bit instruction set. Data memory is also 16 bits in width, but can be accessed in 8-bit or 16-bit modes for
maximum flexibility.
The MAXQ8913 includes a flexible memory-management unit (MMU) that allows code to be executed from either the
program flash, the utility ROM, or the internal data SRAM. Any of these three memory spaces can also be accessed in
data space at any time, with the single restriction that the physical memory area that is currently being used as program
space cannot be simultaneously read from in data space.
2.3 Register Space
The MAXQ8913 contains the standard set of MAXQ20 system registers as described in the MAXQ Family User’s Guide,
but with differences noted in this guide where they exist.
Peripheral register space (modules 0 to 3) contains registers that are used to access the following peripherals:
• 12-bit SAR ADC converter with up to seven single-ended or three differential input channels
• Four DAC output channels (two 10-bit, two 8-bit)
• Two programmable current sink outputs
• External D-amplifier support
• Internal temperature sensor (read through ADC channel 6)
• General-purpose 8-bit I/O ports (P0 and P1)
• External interrupts (up to 11)
• Programmable Type B timer/counter
• Serial USART interface
2
• I
C interface
• SPI interfaces (master/slave)
• Hardware multiplier/accumulator
The lower 8 bits of all registers in modules 0 to 3 (as well as the AP module M8) are bit addressable.
Maxim Integrated
2-1
OOh
O1h
O2h
O3h
O4h
O5h
O6h
O7h
O8h
O9h
0Ah
OBh
OCh
ODh
OEh
OFh
10h
REGISTER INDEX
11h
12h
13h
14h
15h
16h
17h
18h
19h
1Ah
1Bh
1Ch
1Dh
1Eh
1Fh
REGISTER MODULE
M0M1M2M3M4M8M9
PO0
PO1
EIFO
EIEO
EIF1
EIE1
SVM
EIES0
EIES1
PWCN
PID0
PD0
PD1
SCONADST
SBUF
SPICN0
SPIB0
I2CCN
I2CST
I2CBUF
I2CIE
SMD
SPICK0
I2CCK
I2CTO
I2CSLA
MCNT
MA
ADADDR
MB
DAC1OUT
DAC2OUT
MC2
DAC3OUT
MC1
DAC4OUTIC
MC0
TB0CN
PR
AMPCNIMR
TBOR
ISINKCN
ADCNSCPIOMC1R
ADDATAPI1MC0R
TBOV
OPMCNSPICF0
TBOC
DACENIIR
TEMPEN
APA[O]IP
APCA[1]
PSF
CKCN
WDCN
MAXQ Family User’s Guide:
MAXQ8913 Supplement
A[2]
A[3]
A[4]
A[5]
A[6]
A[7]
A[8]
A[9]
A[10]
A[11]
A[12]
A[13]
A[14]
A[15]
M11
PFX
M12M13M14M15
SP
IV
OFFSDP[O]
DPC
GR
LC[0]GRL
BPLC[1]DP[1]
GRS
GRH
GRXL
BP[OFFS]
RESERVED
OR
OP CODE
8-CHANNEL,
12-BIT
SAR ADC
PORT PINS
(GPIO)
DACs,
ANALOG
FUNCTIONS
Figure 2-1. MAXQ8913 System and Peripheral Register Map
2-2
INTERRUPT
CONTROL
HARDWARE
MULTIPLIER
SERIAL,
SPI, I
TIMERS
2
C
ACC
ARRAY,
CONTROL
OTHER
FUNCTIONS
Maxim Integrated
MAXQ Family User’s Guide:
MAXQ8913 Supplement
2.4 Memory Organization
As with all MAXQ microcontrollers, the MAXQ8913 contains logically separate program and data memory spaces. All
memory is internal, and physical memory segments (other than the stack and register memories) can be accessed as
either program memory or as data memory, but not both at once.
The MAXQ8913 contains the following physical memory segments.
2.4.1 Register Space
As described in the MAXQ Family User’s Guide, register space on MAXQ microcontrollers consists of 16 register modules, each of which could contain up to 32 registers. Of these possible 16 register modules, only 11 are used on the
MAXQ8913: seven for system registers and four for peripheral registers.
2.4.2 Program Stack
The MAXQ8913 provides a 16 x 16 hardware stack to support subroutine calls and system interrupts. This stack is used
automatically by CALL/RET and PUSH/POP instructions, and can also be accessed directly through the SP register as
described in the MAXQ Family User’s Guide.
When using the in-circuit debugging features, one word of the stack must be reserved to store the return location when
execution branches into the debugging routines in the utility ROM. If in-circuit debug is not used, the entire stack is
available for application use.
2.4.3 Data SRAM
The MAXQ8913 contains up to 2048 words (4KB) of on-chip data SRAM, which can be mapped into either program or
data space. The contents of this SRAM are indeterminate after power-on reset, but are maintained during stop mode
and across non-POR resets.
When using the in-circuit debugging features, the highest 19 bytes of the SRAM must be reserved for saved state storage and working space for the debugging routines in the utility ROM. If in-circuit debug is not used, the entire SRAM
is available for application use.
2.4.4 Program Flash
The MAXQ8913 contains 32KWords (32K x 16) of flash memory, which normally serves as program memory. When
executing from the data SRAM or utility ROM, this memory is mapped to data space (as 32KWords or 64KB) and can
be used for lookup tables and similar functions.
Since program memory is mapped into data space starting at address 8000h, only half the available program memory
can be mapped into data space at one time when operating in byte-access mode. The CDA0 (code data access) bit
is used to control which half of program memory is available in data space as shown in Figure 2-3 and Figure 2-4, and
as described in the MAXQ Family User’s Guide. When operating in word-access mode, the entire 32KWord program
memory can be mapped into data space at once.
Flash memory mapped into data space can be read from directly, like any other type of data memory. However, writing
to flash memory must be done indirectly by calling the in-application functions provided by the utility ROM. See Section 25:Utility ROM for more details.
2.5 Program and Data Memory Mapping
Figures 2-2, 2-3, and 2-4 show the mapping of physical memory segments into the program and data memory space.
The mapping of memory segments into program space is always the same. The mapping of memory segments into
data space varies depending on which memory segment is currently being executed from.
In all cases, whichever memory segment is currently being executed from in program space may not be accessed in
data space.
Maxim Integrated
2-3
MAXQ Family User’s Guide:
MAXQ8913 Supplement
DATA SPACE
(BYTE MODE)
4K x 8
UTILITY ROM
4K x 8
DATA SRAM
EXECUTING FROM
PROGRAM
SPACE
2K x 16
DATA SRAM
2K x 16
UTILITY ROM
32K x 16
PROGRAM FLASH
FFFFh
A7FFh
A000h
87FFh
8000h
7FFFh
0000h
Figure 2-2. Memory Map When Executing from Program Flash Memory
DATA SPACE
(WORD MODE)
FFFFhFFFFh
8FFFh
8000h
0FFFh
0000h
2K x 16
UTILITY ROM
2K x 16
DATA SRAM
87FFh
8000h
07FFh
0000h
EXECUTING FROM
PROGRAM
SPACE
2K x 16
DATA SRAM
2K x 16
UTILITY ROM
16K x 16
PROGRAM FLASH
(PAGE 1)
16K x 16
PROGRAM FLASH
(PAGE 0)
DATA SPACE
(BYTE MODE, CDA0 = 0)
FFFFhFFFFh
A7FFh
A000h
87FFh
8000h
7FFFh
4000h
3FFFh
0000h
32K x 8
LOWER HALF
(PAGE 0) OF
PROGRAM FLASH
MEMORY
8000h
0FFFh
4K x 8
DATA SRAM
0000h
DATA SPACE
(BYTE MODE, CDA0 = 1)
32K x 8
UPPER HALF
(PAGE 1) OF
PROGRAM FLASH
MEMORY
4K x 8
DATA SRAM
FFFFh
8000h
0FFFh
0000h
DATA SPACE
(WORD MODE)
FFFFh
32K x 16
PROGRAM FLASH
8000h
07FFh
2K x 16
DATA SRAM
0000h
Figure 2-3. Memory Map When Executing from Utility ROM
2-4
Maxim Integrated
MAXQ Family User’s Guide:
MAXQ8913 Supplement
EXECUTING FROM
PROGRAM
SPACE
2K x 16
DATA SRAM
2K x 16
UTILITY ROM
16K x 16
PROGRAM FLASH
(PAGE 1)
16K x 16
PROGRAM FLASH
(PAGE 0)
DATA SPACE
(BYTE MODE, CDA0 = 0)
FFFFhFFFFh
A7FFh
A000h
87FFh
4K x 8
UTILITY ROM
8000h
7FFFh
4000h
3FFFh
0000h
32K x 8
LOWER HALF
(PAGE 0) OF
PROGRAM FLASH
MEMORY
8000h
7FFFh
0000h
DATA SPACE
(BYTE MODE, CDA0 = 1)
4K x 8
UTILITY ROM
32K x 8
UPPER HALF
(PAGE 1) OF
PROGRAM FLASH
MEMORY
FFFFh
8000h
7FFFh
0000h
DATA SPACE
(WORD MODE)
FFFFh
87FFh8FFFh8FFFh
2K x 8
UTILITY ROM
8000h
7FFFh
32K x 16
PROGRAM FLASH
0000h
Figure 2-4. Memory Map When Executing from Data SRAM
2.6 Clock Generation
All functional modules in the MAXQ8913 are synchronized to a single system clock. This system clock can be generated from one of the following clock sources:
• External high-frequency clock
• Internal high-frequency oscillator using external crystal or resonator circuit
• Internal 1MHz ring oscillator
The MAXQ8913 does not support an external RC relaxation oscillator circuit or the 32kHz crystal input described in
the MAXQ Family User’s Guide.
The following registers and bits are used to control clock generation and selection. For more information, see the register descriptions in this guide and in the MAXQ Family User’s Guide.
2.6.1 External High-Frequency Oscillator Circuit
The high-frequency oscillator operates as described in Section 2.7: Clock Generation of the MAXQ Family User’s
Guide. If used, the external crystal or resonator circuit for this oscillator should be connected between the HFXIN and
HFXOUT pins.
The high-frequency oscillator can be disabled by setting HFXD (PWCN.0) to 1; this is only allowed if the high-frequency
oscillator is not currently being used as the clock source (RGMD and RGSL must both equal 1). In this configuration,
an external clock can be used to directly drive HFXIN; refer to the MAXQ8913 data sheet for more details.
Maxim Integrated
2-5
MAXQ Family User’s Guide:
MAXQ8913 Supplement
POWER-ON
RESET
STOP
CRYSTAL KLL
HF
CRYSTAL
1MHz
INTERNAL
RING OSC
ENABLE
RESETXDOG COUNT
XDOG
STARTUP
TIMER
CLK INPUT
MUX
GLITCH-FREE
XDOG DONE
MAXQ8913
CLOCK
DIVIDER
GLITCH-FREE
DIV 1
DIV 2
SELECTOR
MUX
DIV 4
DIV 8
PMM
DEFAULT
RING SELECT
RESET DOG
WATCHDOG
TIMER
ENABLE
CLOCK
GENERATION
RWT
RESET
WATCHDOG RESET
WATCHDOG INTERRUPT
SYSTEM CLOCK
SWB
SWITCHBACK SOURCES
RESET
STOP
STOP
POWER-ON
RESET
INPUT
CRYSTAL
MONITOR
ENABLE
RGMD
POWER-ON RESET
XDOG DONE
RGSL
Figure 2-5. MAXQ8913 Clock Sources
2.6.2 Ring Oscillator
The MAXQ8913 contains an internal ring oscillator that can optionally be used as a system clock. The ring oscillator
operates at a frequency of approximately 1MHz (refer to the MAXQ8913 data sheet for details).
On power-on reset, the ring oscillator is automatically enabled as the system clock source while the high-frequency
oscillator warms up. Once the warmup count for the high-frequency oscillator has completed, the clock source switches to the high-frequency oscillator automatically. If no external crystal or resonator circuit is provided at HFXIN, the
switchover never occurs, and the clock runs from the ring oscillator indefinitely.
To explicitly select the ring oscillator as the system clock source, the RGSL bit (CKCN.6) must be set to 1. Setting this
bit switches over the system clock source to the ring oscillator following a 10-cycle delay of the 1MHz ring clock. The
RGMD (CKCN.5) bit indicates the current system clock source. If the ring oscillator is currently providing the system
clock, RGMD reads as 1; otherwise, RGMD reads as 0.
2-6
Maxim Integrated
MAXQ Family User’s Guide:
MAXQ8913 Supplement
Table 2-1. System Clock Generation and Control Registers
REGISTERADDRESSBIT(S)FUNCTION
000: System clock = high-frequency clock divided by 1.
001: System clock = high-frequency clock divided by 2.
010: System clock = high-frequency clock divided by 4.
011: System clock = high-frequency clock divided by 8.
1xx: System clock = high-frequency clock/256.
CKCNM8[0Eh]
[2:0]—PMME,
CD[1:0]
CKCNM8[0Eh]5—RGMD
CKCNM8[0Eh]6—RGSL
PWCNM0[0Ch]0—HFXD
0: System clock is being provided by an external source.
1: System clock is being provided by the ring oscillator.
0: Selects an external source for system clock generation.
1: Selects the ring oscillator for system clock generation.
0: High-frequency oscillator operates normally (default).
1: Disables the high-frequency oscillator, allowing an external clock to be
provided at HFXIN.
Because the RGSL bit is cleared by power-on reset only, if this bit is set before entering stop mode, the ring oscillator
is still used as the system clock source when stop mode is exited. In this case, a 10-ring oscillator cycle warmup delay
is required when exiting stop mode before execution resumes using the ring oscillator as the system clock source.
When the system clock source is switched back from the ring oscillator to the high-frequency oscillator by clearing
RGSL to 0, the ring oscillator is still used as the system clock source until the warmup period has completed for the
high-frequency oscillator. This is reflected by the value of the RGMD bit, which remains at 1 until the warmup for the
high-frequency oscillator has completed and the clock switches over, at which point RGMD switches to 0.
2.7 Interrupts
In general, interrupt handling on the MAXQ8913 operates as described in the MAXQ Family User’s Guide. All interrupt
sources have the same priority, and all interrupts cause program execution to branch to the location specified by the
Interrupt Vector (IV) register, which defaults to 0000h.
Table 2-2 lists all possible interrupt sources for the MAXQ8913, along with their corresponding module interrupt enable
bits, local interrupt enable bits, and interrupt flags.
• Each module interrupt enable bit, when cleared to 0, blocks interrupts originating in that module from being acknowledged. When the module interrupt enable bit is set to 1, interrupts from that module are acknowledged (unless all
interrupts have been disabled globally).
• Each local interrupt enable bit, when cleared to 0, disables the corresponding interrupt. When the local interrupt-
enable bit is set to 1, the interrupt is triggered whenever its interrupt flag is set to 1 by hardware or by software.
• Each interrupt flag bit, when set to 1, causes its corresponding interrupt to trigger. Interrupt flag bits are typically set
by hardware and must be cleared by software (generally in the interrupt handler routine).
Note that for an interrupt to fire, the following five conditions must exist:
• Interrupts must be enabled globally by setting IGE (IC.0) to 1.
• The module interrupt enable bit for the interrupt source’s module must be set to 1.
• The local interrupt enable bit for the specific interrupt source must be set to 1.
• The interrupt flag for the interrupt source must be set to 1. Typically, this is done by hardware when the condition
that requires interrupt service occurs.
• The interrupt-in-service (INS) bit must be cleared to 0. This bit is set automatically upon vectoring to the interrupt
handler (IV) address and cleared automatically upon exit (RETI/POPI), so the only reason to clear this bit manually
(inside the interrupt handler routine) is to allow nested interrupt handling.
Maxim Integrated
2-7
MAXQ Family User’s Guide:
MAXQ8913 Supplement
Table 2-2. Interrupt Sources and Control Bits
INTERRUPTMODULE ENABLE BITLOCAL ENABLE BITINTERRUPT FLAG
C START Condition InterruptIM1 (IMR.1)I2CSRI (I2CST.0)I2CSRIE (I2CIE.0)
I
2
C Transmit Complete InterruptIM1 (IMR.1)I2CTXI (I2CST.1)I2CTXIE (I2CIE.1)
I
2
C Receive Ready InterruptIM1 (IMR.1)I2CRXI (I2CST.2)I2CRXIE (I2CIE.2)
I
2
C Clock Stretch InterruptIM1 (IMR.1)I2CSTRI (I2CST.3)I2CSTRIE (I2CIE.3)
I
2
C Timeout InterruptIM1 (IMR.1)I2CTOI (I2CST.4)I2CTOIE (I2CIE.4)
I
2
C Slave Address Match InterruptIM1 (IMR.1)I2CAMI (I2CST.5)I2CAMIE (I2CIE.5)
I
2
C Arbitration Loss InterruptIM1 (IMR.1)I2CALI (I2CST.6)I2CALIE (I2CIE.6)
I
2
C NACK InterruptIM1 (IMR.1)I2CNACKI (I2CST.7)I2CNACKIE (I2CIE.7)
I
2
C General Call Address InterruptIM1 (IMR.1)I2CGCI (I2CST.8)I2CGCIE (I2CIE.8)
I
2
C Receiver Overrun InterruptIM1 (IMR.1)I2CROI (I2CST.9)I2CROIE (I2CIE.9)
I
2
C STOP Condition InterruptIM1 (IMR.1)I2CSPI (I2CST.11)I2CSPIE (I2CIE.11)
I
Type B Timer—External TriggerIM2 (IMR.2)EXFB (TBCN.6)ETB (TBCN.1)
Type B Timer—OverflowIM2 (IMR.2)TFB (TBCN.7)ETB (TBCN.1)
ADC Data Available InterruptIM3 (IMR.3)ADDAIE (ADCN.5)ADDAI (ADST.5)
Amplifier InterruptIM3 (IMR.3)AMPIE (AMPCN.4)AMPIF (AMPCN.5)
2.8 Reset Conditions
There are four possible reset sources for the MAXQ8913. While in the reset state, the enabled system clock oscillator
continues running, but no code execution occurs. Once the reset condition has been removed or has completed, code
execution resumes at address 8000h for all reset types.
2-8
Maxim Integrated
MAXQ Family User’s Guide:
MAXQ8913 Supplement
SUPPLY AT
V
DVDD
V
RST
T1
1MHz
RING OSCILLATOR
INTERNAL
RESET
RGMD
Figure 2-6. Power-On Reset Timing
T1 = STARTUP TIME PLUS 10 RING OSCILLATOR CYCLES
T2
T2 = 8192 EXTERNAL OSCILLATOR CYCLES
2.8.1 Power-On Reset
When power is first applied to the MAXQ8913, or when the supply voltage at DVDD drops below the V
processor is held in a power-on reset state. See Figure 2-6. For the MAXQ8913 to exit power-on reset, the following
two conditions must apply:
• The supply voltage at DVDD is above the power-on reset level V
RST.
• The ring oscillator has completed a 10-cycle delay.
level, the
RST
2.8.2 Watchdog Timer Reset
The watchdog timer on the MAXQ8913 functions as described in the MAXQ Family User’s Guide.
2.8.3 External Reset
External reset through the RST input is a synchronous reset source. After the external reset low has been removed and
sampled, execution resumes following a delay of four clock cycles, as shown in Figure 2-7.
Maxim Integrated
2-9
CLOCK
RST
RESET SAMPLING
INTERNAL RESET
Figure 2-7. External Reset Timing
MAXQ Family User’s Guide:
MAXQ8913 Supplement
FIRST
INSTRUCTION
FETCH
2.9 Power-Management Features
The MAXQ8913 provides the following features to assist in power management:
• Divide-by-256 (PMM) mode to reduce current consumption.
• Switchback mode to exit PMM mode automatically when rapid processing is required.
• Ultra-low-power stop mode.
• Selective regulator and brownout detection disable during stop mode.
Table 2-3 shows the system registers and bits used to control power-management features. For more information, see
the register descriptions in this document and in the MAXQ Family User’s Guide.
Table 2-3. System Power-Management Registers
REGISTERADDRESSBITFUNCTION
00: System clock = selected clock source divided by 1.
CKCNM8[0Eh][1:0]—CD[1:0]
CKCNM8[0Eh]2—PMME
CKCNM8[0Eh]3—SWB
CKCNM8[0Eh]4—STOPWhen set to 1, causes the processor to enter stop mode.
PWCNM0[0Ch]0—HFXD
PWCNM0[0Ch]6—REGEN
PWCNM0[0Ch]7—BOD
01: System clock = selected clock source divided by 2.
10: System clock = selected clock source divided by 4.
11: System clock = selected clock source divided by 8.
0: System clock is determined by the settings of CD[1:0].
1: System clock = selected clock source divided by 256.
When set to 1, enables automatic switchback from PMM (divide-by-256
mode) to normal clock-divide mode under certain conditions.
0: Enables the high-frequency oscillator.
1: Disables the high-frequency oscillator, allowing an external clock to be
provided at HFXIN.
0: Internal regulator is shut down during stop mode.
1: Internal regulator remains powered on during stop mode.
0: Brownout detection remains enabled during stop mode.
1: Brownout detection is enabled during stop mode.
2-10
Maxim Integrated
MAXQ Family User’s Guide:
MAXQ8913 Supplement
2.9.1 Divide-by-256 Mode (PMM)
In this power-management mode, all operations continue as normal, but at a reduced clock rate (the selected clock
source divided by 256).
This power-management mode is entered by setting the PMME bit (CKCN.2) to 1 and CD[1:0] to 0. When PMM mode
is exited (either by clearing the PMME bit or as a result of a switchback trigger), system operation reverts to divideby-1 mode.
2.9.2 Switchback Mode
As described in the MAXQ Family User’s Guide, switchback mode is used to provide an automatic exit from powermanagement mode when a higher clock rate is required to respond to I/O, such as USART activity, SPI activity, or an
external interrupt.
Switchback mode is enabled when the SWB (CKCN.3) bit is set to 1 and the PMME (CKCN.2) bit is set to 1 (the system
is in the PMM mode). If switchback is enabled, the PMME bit is cleared (causing the system to exit power-management
mode) when any of the following conditions occur:
• An external interrupt condition occurs on an INTn pin and the corresponding external interrupt is enabled.
• An active-low transition occurs on the RX pin and the USART is enabled to receive data.
• The SBUF register is written to transmit a byte over the USART.
• The SPIB register is written to transmit a byte with the SPI interface enabled in master mode.
• The SSEL signal is asserted low with the SPI interface enabled in slave mode.
• A START condition occurs on the I
• The supply voltage drops below the supply voltage monitor (SVM) threshold, and the SVM interrupt is triggered.
• An ADC conversion is initiated by setting ADCONV to 1.
• Active debug mode is entered either by a breakpoint match or direct issuance of the debug command from back-
ground mode.
As described in the MAXQ Family User’s Guide, if any of these conditions is true (a switchback source is active) and
the SWB bit has been set, the PMME bit cannot be set to enter power-management mode.
2
C bus and the I2C START interrupt is triggered.
2.9.3 Stop Mode
Stop mode disables all clocked circuits within the MAXQ8913 and halts the processor completely. All on-chip clocks,
timers, serial ports, and other peripherals are stopped, and no code execution occurs. Once in stop mode, the
MAXQ8913 is in a near-static state, with power consumption determined largely by leakage currents.
Stop mode is invoked by setting the STOP bit to 1. The MAXQ8913 enters stop mode immediately when the STOP bit
is set. Entering stop mode does not affect the setting of the clock control bits; this allows the system to return to its
original operating frequency following stop mode removal.
The processor exits stop mode if any of the following conditions occur. In order to exit stop mode by means of an interrupt, the interrupt must be enabled globally, by module, and locally prior to entering stop mode.
• External reset (from the RST pin)
• Power-on/brownout reset
• External interrupt
2
• I
C START interrupt
• Supply voltage monitor interrupt (SVMSTOP must be set to 1)
Note that exiting stop mode through external reset or power-on reset causes the processor to undergo a normal reset
cycle, as opposed to resuming execution at the point at which it entered stop mode. Exiting stop mode by means of an
interrupt causes the processor to vector to the interrupt handler routine at IV. Following the completion of the interrupt
handler, execution resumes at the instruction following the one that caused the entry into stop mode.
Maxim Integrated
2-11
MAXQ Family User’s Guide:
MAXQ8913 Supplement
When the processor exits stop mode, program execution resumes using the previously selected clock source following a 10-ring oscillator cycle delay plus any additional delay time required to enable the internal regulator and other
circuitry (refer to the IC data sheet for details).
• If RGSL = 1, the processor continues running from the ring oscillator indefinitely.
• If RGSL = 0, the processor continues running from the ring oscillator until the high-frequency clock source completes
its warmup count (8192 cycles for external crystal oscillator, 10 cycles for external clock input), at which point it
switches over to the high-frequency clock automatically.
2-12
Maxim Integrated
MAXQ Family User’s Guide:
MAXQ8913 Supplement
ADDENDUM TO SECTION 3: PROGRAMMING
Refer to Section 3: Programming of the MAXQ Family User’s Guide for examples of general program operations involv-
ing the MAXQ core. The MAXQ8913 contains the MAXQ20 (16-bit accumulator version) of the MAXQ core.
Maxim Integrated
3-1
MAXQ Family User’s Guide:
MAXQ8913 Supplement
ADDENDUM TO SECTION 4: SYSTEM REGISTER DESCRIPTIONS
Refer to Section 4: System Register Descriptions of the MAXQ Family User’s Guide for functional descriptions of the
registers and bits in Table 4-1.
Note: Register names that appear in italics indicate read-only registers. Register names that appear in bold indicate 16-bit registers. All other registers are 8 bits in width.
Note: Bits marked as “s” have special behavior upon reset; see the register descriptions for details.
1514131211109876543210
1000000000000000
BIT
BIT
00
4-2
Maxim Integrated
MAXQ Family User’s Guide:
MAXQ8913 Supplement
4.1 System Register Descriptions
This section details the functionality of any system register contained in the MAXQ8913 that operates differently from its
description in the MAXQ Family User’s Guide. Addresses for all system and peripheral registers are given as “Mx[yy],”
where x is the module number (from 0 to 15 decimal) and yy is the register index (from 00h to 1Fh hexadecimal). Fields
in the bit definition tables are defined as follows:
• Name: Symbolic names of bits or bit fields in this register.
• Reset: The value of each bit in this register following a standard reset. If this field reads “unchanged,” the given bit
is unaffected by standard reset. If this field reads “s,” the given bit does not have a fixed 0 or 1 reset value because
its value is determined by another internal state or external condition.
• POR: If present this field defines the value of each bit in this register following a power-on reset (as opposed to a
standard reset). Some bits are unaffected by standard resets and are set/cleared by POR only.
• Access: Bits can be read-only (r) or read/write (rw). Any special restrictions or conditions that could apply when
reading or writing this bit are detailed in the bit description.
4.1.1 Processor Status Flags Register (PSF, M8[04h])
Bit #
NameZS—GPF1GPF0OVCE
Reset00000000
Accessrrrrwrwrwrwrw
76543210
This register operates as described in the MAXQ Family User’s Guide, with the exception that the overflow bit (OV)
can be written by software.
4.1.2 Interrupt Mask Register (IMR, M8[06h])
Bit #
NameIMS———IM3IM2IM1IM0
Reset00000000
Accessrwrrrrwrwrwrw
The first four bits in this register are interrupt mask bits for modules 0 to 3, one bit per module. The eighth bit, IMS,
serves as a mask for any system module interrupt sources. Setting a mask bit allows the enabled interrupt sources for
the associated module or system (with IMS) to generate interrupt requests. Clearing the mask bit effectively disables
all interrupt sources associated with that module or, in the case of IMS, all system interrupt sources. The IMR register
is intended to facilitate user-definable interrupt prioritization.
Bit 7: System Module Interrupt Mask (IMS)
Bits 6:4: Reserved
Bit 3: Module 3 Interrupt Mask (IM3)
Bit 2: Module 2 Interrupt Mask (IM2)
Bit 1: Module 1 Interrupt Mask (IM1)
Bit 0: Module 0 Interrupt Mask (IM0)
76543210
Maxim Integrated
4-3
4.1.3 System Control Register (SC, M8[08h])
MAXQ Family User’s Guide:
MAXQ8913 Supplement
Bit #
NameTAP——CDA0——PWL—
Reset100000Unchanged0
POR10000010
Accessrwrrrrrrwr
Bit 7: Test Access (Debug) Port Enable (TAP)
0 = Debug port functions are disabled, and P0.0 to P0.3 can be used as general-purpose I/O pins.
1 = Port pins P0.0 to P0.3 are enabled to act as debug port (JTAG) inputs and outputs.
Bits 6:5, 3:2, 0: Reserved
Bit 4: Code Data Access (CDA0). Setting this bit to 0 or 1 enables access to either the low or high page of program
memory in data space when accessing data in byte mode, as shown in Figure 2-3 and Figure 2-4. When accessing
data space in word mode, the setting of this bit has no effect.
Bit 1: Password Lock (PWL). This bit defaults to 1 on power-on reset only. When this bit is 1, it requires a 32-byte
password to be matched with the password in the program space (words 10h to 1Fh) before allowing access to the
ROM loader’s utilities for read/write of program memory and debug functions. Clearing this bit to 0 disables the password protection to the ROM loader.
Bit #
NameIIS———II3II2II1II0
Reset00000000
Accessrrrrrrrr
76543210
The first three bits in this register indicate interrupts pending in modules 0 to 3, one bit per module. The eighth bit, IIS,
indicates a pending system interrupt (from the watchdog timer or other system function). The interrupt pending flags
are set only for enabled interrupt sources waiting for service. The interrupt pending flag is cleared when the pending
interrupt source(s) within that module are disabled or when the interrupt flag(s) are cleared by software.
Bit 7: Interrupt Pending Flag for System Modules (IIS)
Bits 6:4: Reserved
Bit 3: Interrupt Pending Flag for Module 3 (II3)
Bit 2: Interrupt Pending Flag for Module 2 (II2)
Bit 1: Interrupt Pending Flag for Module 1 (II1)
Bit 0: Interrupt Pending Flag for Module 0 (II0)
4-4
Maxim Integrated
MAXQ Family User’s Guide:
MAXQ8913 Supplement
4.1.5 System Clock Control Register (CKCN, M8[0Eh])
Bit #
Name—RGSLRGMDSTOPSWBPMMECD1CD0
Reset10000000
Accessrrwrrwrwrwrw*rw*
*Unrestricted read access. This bit can only be modified when PMME = 0.
The CKCN register bit settings determine the system clock source and clock divider as described in Table 4-4.
Bit 7: Reserved
Bit 6: Ring Oscillator Select (RGSL)
0 = Selects the high-frequency clock source (external crystal/resonator or external clock input) as the system clock source.
1 = Selects the ring oscillator as the system clock source.
Bit 5: Ring Oscillator Mode (RGMD). This read-only status bit indicates the clock source that is currently being used.
0 = The high-frequency clock (external crystal or external clock input) is currently being used as the system clock
source, because the ring oscillator is not selected (RGSL = 0).
1 = The ring oscillator is currently being used as the system clock source. This is either because it is selected as the
clock source (RGSL = 1), or because the high-frequency clock source is in the process of warming up.
Bit 4: Stop-Mode Select (STOP). Setting this bit to 1 causes the processor to enter stop mode. This does not change
the currently selected clock-divide ratio.
Bit 3: Switchback Enable (SWB). Setting this bit to 1 enables switchback mode. If power-management mode (divide
by 256) is active and switchback is enabled, the PMME bit is cleared to 0 when any of the following conditions occur.
• An external interrupt is generated based on an edge detect.
• The serial port is enabled to receive data and detects a low condition on its data receive pin.
• The serial port has a byte written to its buffer register by software.
• The SPI interface is enabled in master mode, and the SPIB register is written by software.
• The SPI interface is enabled is slave mode, and an external master drives the SSEL line low.
• A START condition occurs on the I
• The power supply drops below the SVM threshold, causing an SVM interrupt to be generated.
• An ADC conversion is initiated by software by setting the ADCONV bit to 1.
• Debug mode is entered through command entry or a breakpoint match.
Triggering a switchback condition only clears the PMME bit; the settings of CD0 and CD1 remain the same. When
power-management mode is active, the SWB bit cannot be set to 1 as long as any of the above conditions are true.
Bit 2: Power-Management Mode Enable (PMME)
Bits 1:0: Clock Divide 1:0 (CD[1:0]). These three bits control the divide ratio or enable power-management mode for
the system clock as shown in Table 4-4. CD0 and CD1 can always be read, and they can be written as long as PMME
= 0.
Setting the PMME bit to 1 activates PMM mode. While PMME is set to 1, CD0 and CD1 cannot be changed; their values
determine the clock-divide ratio that is used when the processor exits power-management mode.
76543210
2
C bus, causing an I2C START interrupt to be generated.
Note: Register names that appear in italics indicate registers in which all bits are read-only. Register names that appear in bold
indicate 16-bit registers. All other registers are 8 bits in width.