2-2
General Design Considerations
This section covers some of the key highlights of the 8032 architecture
and some important Archimedes compiler features. The remainder of the
chapter provides an overview of the LSI53C040 firmware and general
design considerations necessary to use this firmware most effectively.
2.1.1 8032 Architecture Features
The architectural features of the 8032 microcontroller are key to the
understanding and use of the LSI53C040 firmware. These features
include:
Section 2.1.1.1, “Register Banks,” page 2-2
,
Section 2.1.1.2,
“Memory Areas,” page 2-2
, and
Section 2.1.1.3, “Special Function
Registers,” page 2-4
.
2.1.1.1 Register Banks
Four register banks that contain eight registers each in the 8032 reside
in the lower 128 bytes of the internal RAM. See
Figure 2.1
for an
example of these register banks.
2.1.1.2 Memory Areas
The 8032 architecture supports a number of physically separate memory
areas for program and data. Each memory area offers certain
advantages and disadvantages. Refer to the
Intel 8-bit Embedded
Controllers
databook or other 8051 reference material for more
information about the 8032 memory architecture. The following sections
briefly discuss program memory, the internal data memory, and the
external data memory.
Program Memory –
Since the 8032 is a ROMless variant of the 8051,
an external 16 Kbytes memory is required to hold the program code. The
LSI53C040 has the ability to automatically download this program code
from a serial EEPROM over the TWS bus into the external
16 Kbytes memory space.
Internal Data Memory –
The 8032 contains 256 bytes of internal data
memory, which can be read and written. The first 128 bytes of internal
data memory are both directly addressable and indirectly addressable.
The upper 128 bytes of data memory (from 0x80 to 0xFF) can be
addressed only indirectly. With indirect addressing, the referenced
register contains the address of the register or cell that actually contains
the data to be used. There is also a 16-byte area starting at 0x20 that is
bit-addressable. See
Figure 2.1
for more detailed information.