A–1
Appendix A
MCU Memory and Memory-Mapped Registers
This section describes the TUSB3200 MCU memory configurations and operation. In general, the MCU memory
operation is the same as the industry standard 8052 MCU.
A.1 MCU Memory Space
The TUSB3200 MCU memory is organized into three individual spaces: program memory, external data memory and
internal data memory. The total address range for the program memory and the external data memory spaces is 64K
bytes each. The total address range for the internal data memory is 256 bytes.
The read only program memory contains the instructions to be executed by the MCU. The TUSB3200 uses a 4K boot
ROM as the program memory during initialization. The boot ROM program code will download the application
program code from a nonvolatile memory (i.e., EEPROM) on the peripheral PCB. The application program code will
be written to an 8K RAM mapped to the external data memory space. After downloading the application program code
to RAM, the boot ROM will enable the normal operating mode by setting the ROM disable (SDW) bit (refer to memory
configuration register) to enable program code execution from the 8K RAM instead of the boot ROM. In the normal
operating mode, the boot ROM is still mapped to program memory space starting at address 8000h. Refer to Figures
A–1 and A–2 for details.
The external data memory contains the data buffers for the USB endpoints, the configuration blocks for the USB
endpoints, the setup data packet buffer for the USB control endpoint, and memory mapped registers. The data buffers
for the USB endpoints, the configuration blocks for the USB endpoints and the setup data packet buffer for the USB
control endpoint are all implemented in RAM. The memory mapped registers used for control and status registers
are implemented in hardware with flip-flops. The data buffers for the USB endpoints are a total of 1832 bytes, the
configuration blocks for the USB endpoints are a total of 128 bytes, the setup packet buffer for the USB control
endpoint is 8 bytes and the memory mapped registers space is 80 bytes. The total external data memory space used
for these blocks of memory is 2K bytes. In addition to these memory blocks, an 8K RAM is mapped to the external
data memory space in the boot loader mode of operation. The 8K RAM is read/write in this mode and is used to store
the application program code during download by the boot ROM. In the normal mode of operation, the 8K RAM is
mapped to the program memory space and is read only.