![](http://datasheet.mmic.net.cn/Maxim-Integrated-Products/MAXQ7670ATL-_datasheet_98627/MAXQ7670ATL-_26.png)
MAXQ7670
Microcontroller with 10-Bit ADC,
PGA, 64KB Flash, and CAN Interface
26
______________________________________________________________________________________
The drive capability of the I/O, when configured for out-
put, depends on the value in the PS0 (pad drive
strength) register and can be set for either 1mA or
2mA. When an I/O is configured as an input, writing to
the PO register enables/disables the pullup/pulldown
resistor. The value in the PRO (pad resistive pull direc-
tion) register sets the enabled resistor at the I/O as
either a pullup to DVDDIO or pulldown to GNDIO.
Refer to the
MAXQ7670 User’s Guide for more detailed
information.
Port Characteristics
The MAXQ7670 includes a bidirectional 7-bit I/O port
(P0) whose features include:
Schmitt trigger input circuitry with software-selectable
high-impedance or weak pullup to DVDDIO or pull-
down to GNDIO
Software-selectable push-pull CMOS output drivers
capable of sinking and sourcing 0.5mA
Falling or rising edge interrupt capability
P0.4, P0.6, and P0.7 I/Os contain an additional special
function, such as a logic input/output for a timer channel
Selectable pad drive strength and resistive pull direction
Refer to the
MAXQ7670 User’s Guide for more details.
Figure 11 illustrates the functional blocks of an I/O.
MAXQ20 Core Architecture
The MAXQ7670’s core is a member of the low-cost,
high-performance, CMOS, fully static, 16-bit MAXQ20
core Cs. The MAXQ7670 is structured on a highly
advanced, accumulator-based, 16-bit RISC architec-
ture. Fetch and execution operations complete in one
cycle without pipelining because the instruction con-
tains both the op code and data. The result is a stream-
lined 1 million instructions-per-second-per-megahertz
(MIPS/MHz) C.
The highly efficient core is supported by a 16-level
hardware stack, enabling fast subroutine calling and
task switching. The internal data pointers manipulate
data quickly and efficiently. Multiple data pointers allow
more than one function to access data memory without
having to save and restore data pointers each time. The
data pointers can automatically increment or decre-
ment following an operation, eliminating the need for
software intervention and increasing application speed.
Instruction Set
The instruction set is composed of fixed-length, 16-bit
instructions that operate on registers and memory loca-
tions. The highly orthogonal instruction set allows arith-
metic and logical operations to use any register along
with the accumulator. Special-function registers (also
called peripheral registers) control the peripherals and
are subdivided into register modules. The modular fam-
ily architecture allows new devices and modules to
reuse code developed for existing products. The archi-
tecture is transport-triggered. This means that writes or
reads from certain register locations can also cause
side effects to occur. These side effects form the basis
for the higher-level op codes defined by the assembler,
such as ADDC, OR, JUMP, etc.
Memory Organization
The MAXQ7670 incorporates the following memory
areas (see Figure 12):
8KB (4K x 16) utility ROM
64KB (32K x 16) of flash memory for program storage
2048 bytes (1024 x 16) of SRAM for storage of tempo-
rary variables
16-level stack memory for storage of program return
addresses and general-purpose use
A 16-bit-wide x 16 deep internal hardware stack pro-
vides storage for program return addresses and gener-
al-purpose use. The MAXQ7670 core implicitly uses the
stack when executing an interrupt service routine (ISR)
and also when running CALL, RET, and RETI instruc-
tions. The stack can also be explicitly used by the
MAXQ7670
VDVDDIO
P
N
PI0._
PO0._
PS0._
PD0._
PULLUP/
PULLDOWN
LOGIC
PR0._
PD0._
PO0._
P0._
Figure 11. Digital I/O Circuitry