Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications,
enhancements, improvements, and other changes to its products and services at any time and to discontinue
any product or service without notice. Customers should obtain the latest relevant information before placing
orders and should verify that such information is current and complete. All products are sold subject to TI’s terms
and conditions of sale supplied at the time of order acknowledgment.
TI warrants performance of its hardware products to the specifications applicable at the time of sale in
accordance with TI’s standard warranty. Testing and other quality control techniques are used to the extent TI
deems necessary to support this warranty . Except where mandated by government requirements, testing of all
parameters of each product is not necessarily performed.
TI assumes no liability for applications assistance or customer product design. Customers are responsible for
their products and applications using TI components. To minimize the risks associated with customer products
and applications, customers should provide adequate design and operating safeguards.
TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right,
copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process
in which TI products or services are used. Information published by TI regarding third-party products or services
does not constitute a license from TI to use such products or services or a warranty or endorsement thereof.
Use of such information may require a license from a third party under the patents or other intellectual property
of the third party, or a license from TI under the patents or other intellectual property of TI.
Reproduction of information in TI data books or data sheets is permissible only if reproduction is without
alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction
of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for
such altered documentation.
Resale of TI products or services with statements different from or beyond the parameters stated by TI for that
product or service voids all express and any implied warranties for the associated TI product or service and is
an unfair and deceptive business practice. TI is not responsible or liable for any such statements.
Following are URLs where you can obtain information on other Texas Instruments products and application
solutions:
ProductsApplications
Amplifiersamplifier.ti.comAudiowww.ti.com/audio
Data Convertersdataconverter.ti.comAutomotivewww.ti.com/automotive
DSPdsp.ti.comBroadbandwww.ti.com/broadband
Interfaceinterface.ti.comDigital Controlwww.ti.com/digitalcontrol
Logiclogic.ti.comMilitarywww.ti.com/military
Power Mgmtpower.ti.comOptical Networkingwww.ti.com/opticalnetwork
Microcontrollersmicrocontroller.ti.comSecuritywww.ti.com/security
Telephonywww.ti.com/telephony
Video & Imagingwww.ti.com/video
Wirelesswww.ti.com/wireless
The TUSB3410 provides bridging between a USB port and an enhanced UART serial port. The TUSB3410
contains all the necessary logic to communicate with the host computer using the USB bus. It contains an 8052
microcontroller unit (MCU) with 16K bytes of RAM that can be loaded from the host or from the external
on-board memory via an I
port at boot time. The ROM code also contains an I
command decoding, UART setup, and error reporting, are managed by the internal MCU firmware under the
auspices of the PC host.
The TUSB3410 can be used to build an interface between a legacy serial peripheral device and a PC with USB
ports, such as a legacy-free PC. Once configured, data flows from the host to the TUSB3410 via USB OUT
commands and then out from the TUSB3410 on the SOUT line. Conversely, data flows into the TUSB3410
on the SIN line and then into the host via USB IN commands.
2
C bus. It also contains 10K bytes of ROM that allow the MCU to configure the USB
Introduction
2
C boot loader. All device functions, such as the USB
BJun−20021.Removed Design−in warning from cover sheet
CNov−20031.Added Industrial Temperature Option and Information
DJuly 20051.General grammatical corrections
FJuly 20071.Added ordering information for TUSB3410IRHBR and TUSB3410RHBR
2.Added Design−in warning on cover sheet
3.Removed references to Optional preprogrammed VID/PID Registers from Section 5.1.6 through 5.1.11. Renumber the remainder of Section 5.1 accordingly – option no longer supported.
4.Clarified GPIO pin availability
2.Added Note 8 to Terminal Functions Table for GPIO Pins.
3.Removed Section 3.2.3 – Production Programming Mode – Mode no longer supported.
4.Added Clock Output Control description to section 5.1.5.
5.Removed Section 11.6.4 USB Descriptor with Binary Firmware
6.Added Icc Spec to Table 12.3
2.Added USB Logo to Cover
2.Numerous technical corrections
Introduction
SLLS519F—July 2007TUSB3410
3
Introduction
4
SLLS519F—July 2007TUSB3410
2Main Features
2.1USB Features
•Fully compliant with USB 2.0 full speed specifications: TID #40340262
•Supports 12-Mbps USB data rate (full speed)
•Supports USB suspend, resume, and remote wakeup operations
•Supports two power source modes:
−Bus-powered mode
−Self-powered mode
•Can support a total of three input and three output (interrupt, bulk) endpoints
2.2General Features
•Integrated 8052 microcontroller with
−256 × 8 RAM for internal data
−10K × 8 ROM (with USB and I
−16K × 8 RAM for code space loadable from host or I2C port
−2K × 8 shared RAM used for data buffers and endpoint descriptor blocks (EDB)
2
C boot loader)
Main Features
−Four GPIO terminals from 8052 port 3
2
−Master I
−MCU operates at 24 MHz providing 2 MIPS operation
−128-ms watchdog timer
•Built-in two-channel DMA controller for USB/UART bulk I/O
•Operates from a 12-MHz crystal
•Supports USB suspend and resume
•Supports remote wake-up
•Available in 32-terminal LQFP
•3.3-V operation with 1.8-V core operating voltage provided by on-chip 1.8-V voltage regulator
C controller for EEPROM device access
2.3Enhanced UART Features
•Software/hardware flow control:
−Programmable Xon/Xoff characters
−Programmable Auto-RTS
•Automatic RS-485 bus transceiver control, with and without echo
•Selectable IrDA mode for up to 115.2 kbps transfer
/DTR and Auto-CTS/DSR
•Software selectable baud rate from 50 to 921.6 k baud
•Programmable serial-interface characteristics
−5-, 6-, 7-, or 8-bit characters
−Even, odd, or no parity-bit generation and detection
−1-, 1.5-, or 2-stop bit generation
SLLS519F—July 2007TUSB3410
5
Main Features
•Line break generation and detection
•Internal test and loop-back capabilities
•Modem-control functions (CTS
•Internal diagnostics capability
−Loopback control for communications link-fault isolation
−Break, parity, overrun, framing-error simulation
2.4Terminal Assignment
, RTS, DSR, DTR, RI, and DCD)
VF PACKAGE
(TOP VIEW)
TEST1
TEST0
CLKOUT
DTR
RTS
SOUT/IR_SOUT
23 22 21 20 19
2418
X2
25
26
27
28
29
30
31
32
12
3 4 5 6 7 8
VCC
X1/CLKI
GND
P3.4
P3.3
P3.1
P3.0
GND
SIN/IR_SIN
17
16
15
14
13
12
11
10
9
RI/CP
DCD
DSR
CTS
WAKEUP
SCL
SDA
RESET
VCC
VREGEN
SUSPEND
PUR
VDD18
DP
DM
GND
6
SLLS519F—July 2007TUSB3410
Main Features
I/O
DESCRIPTION
Table 2−1. Terminal Functions
TERMINAL
NAMENO.
CLKOUT22OClock output (controlled by bits 2 (CLKOUTEN) and 3(CLKSLCT) in the MODECNFG register (see
CTS13IUART: Clear to send (see Note 4)
DCD15IUART: Data carrier detect (see Note 4)
DM7I/OUpstream USB port differential data minus
DP6I/OUpstream USB port differential data plus
DSR14IUART: Data set ready (see Note 4)
DTR21OUART: Data terminal ready (see Note 1)
GND8, 18, 28GND Digital ground
P3.032I/OGeneral-purpose I/O 0 (port 3, terminal 0) (see Notes 3, 5, and 8)
P3.131I/OGeneral-purpose I/O 1 (port 3, terminal 1) (see Notes 3, 5, and 8)
P3.330I/OGeneral-purpose I/O 3 (port 3, terminal 3) (see Notes 3, 5, and 8)
P3.429I/OGeneral-purpose I/O 4 (port 3, terminal 4) (see Notes 3, 5, and 8)
PUR5OPull-up resistor connection (see Note 2)
RESET9IDevice master reset input (see Note 4)
RI/CP16IUART: Ring indicator (see Note 4)
RTS20OUART: Request to send (see Note 1)
SCL11OMaster I2C controller: clock signal (see Note 1)
SDA10I/OMaster I2C controller: data signal (see Notes 1 and 5)
SIN/IR_SIN17IUART: Serial input data / IR Serial data input (see Note 6)
SOUT/IR_SOUT19OUART: Serial output data / IR Serial data output (see Note 7)
SUSPEND2OSuspend indicator terminal (see Note 3). When this terminal is asserted high, the device is in
TEST023ITest input (for factory test only) (see Note 5). This terminal must be tied to VCC through a 10-kΩ
TEST124ITest input (for factory test only) (see Note 5). This terminal must be tied to VCC through a 10-kΩ
VCC3, 25PWR 3.3 V
VDD184PWR 1.8-V supply. An internal voltage regulator generates this supply voltage when terminal VREGEN is
VREGEN1IThis active-low terminal is used to enable the 3.3-V to 1.8-V voltage regulator.
WAKEUP12IRemote wake-up request terminal. When low, wakes up system (see Note 5)
X1/CLKI27I12-MHz crystal input or clock input
X226O12-MHz crystal output
NOTES: 1. 3-state CMOS output (±4-mA drive/sink)
2. 3-state CMOS output (±8-mA drive/sink)
3. 3-state CMOS output (±12-mA drive/sink)
4. TTL-compatible, hysteresis input
5. TTL-compatible, hysteresis input, with internal 100-µA active pullup resistor
6. TTL-compatible input without hysteresis, with internal 100-µA active pullup resistor
7. Normal or IR mode: 3-state CMOS output (±4-mA drive/sink)
8. The MCU treats the outputs as open drain types in that the output can be driven low continuously, but a high output is driven for two
clock cycles and then the output is high impedance.
Section 5.5 and Note 1)
suspend mode.
resistor.
resistor.
low. When VREGEN
is high, 1.8 V must be supplied externally.
SLLS519F—July 2007TUSB3410
7
Main Features
8
SLLS519F—July 2007TUSB3410
3Detailed Controller Description
3.1Operating Modes
The TUSB3410 controls its USB interface in response to USB commands, and this action is independent of
the serial port mode selected. On the other hand, the serial port can be configured in three different modes.
As with any interface device, data movement is the main function of the TUSB3410, but typically the initial
configuration and error handling consume most of the support code. The following sections describe the
various modes the device can be used in and the means of configuring the device.
3.2USB Interface Configuration
The TUSB3410 contains onboard ROM microcode, which enables the MCU to enumerate the device as a USB
peripheral. The ROM microcode can also load application code into internal RAM from either external memory
via the I
3.2.1 External Memory Case
After reset, the TUSB3410 is disconnected from the USB. Bit 7 (CONT) in the USBCTL register (see
Section 5.4) is cleared. The TUSB3410 checks the I
then it uploads the code from the external memory device into the RAM program space. Once loaded, the
TUSB3410 connects to the USB by setting the CONT bit and enumeration and configuration are performed.
This is the most likely use of the device.
3.2.2 Host Download Case
If the valid code is not found at the I2C port, then the TUSB3410 connects to the USB by setting bit 7 (CONT)
in the USBCTL register (see Section 5.4), and then an enumeration and default configuration are performed.
The host can download additional microcode into RAM to tailor the application. Then, the MCU causes a
disconnect and reconnect by clearing and setting the CONT bit, which causes the TUSB3410 to be
re-enumerated with a new configuration.
2
C bus or from the host via the USB.
Detailed Controller Description
2
C port for the existence of valid code; if it finds valid code,
3.3USB Data Movement
From the USB perspective, the TUSB3410 looks like a USB peripheral device. It uses endpoint 0 as its control
endpoint, as do all USB peripherals. It also configures up to three input and three output endpoints, although
most applications use one bulk input endpoint for data in, one bulk output endpoint for data out, and one
interrupt endpoint for status updates. The USB configuration likely remains the same regardless of the serial
port configuration.
Most data is moved from the USB side to the UART side and from the UART side to the USB side using on-chip
DMA transfers. Some special cases may use programmed I/O under control of the MCU.
3.4Serial Port Setup
The serial port requires a few control registers to be written to configure its operation. This configuration likely
remains the same regardless of the data mode used. These registers include the line control register that
controls the serial word format and the divisor registers that control the baud rate.
These registers are usually controlled by the host application.
3.5Serial Port Data Modes
The serial port can be configured in three different, although similar, data modes: the RS-232 data mode, the
RS-485 data mode, and the IrDA data mode. Similar to the USB mode, once configured for a specific
application, it is unlikely that the mode would be changed. The different modes affect the timing of the serial
input and output or the use of the control signals. However, the basic serial-to-parallel conversion of the
receiver and parallel-to-serial conversion of the transmitter remain the same in all modes. Some features are
available in all modes, but are only applicable in certain modes. For instance, software flow control via Xoff/Xon
characters can be used in all modes, but would usually only be used in RS-232 or IrDA mode because the
RS-485 mode is half-duplex communication. Similarly, hardware flow control via RTS
handshaking is available in RS-232 or IrDA mode. However, this would probably be used only in RS-232 mode,
since in IrDA mode only the SIN and SOUT paths are optically coupled.
/CTS (or DTR/DSR)
SLLS519F—July 2007TUSB3410
9
Detailed Controller Description
3.5.1 RS-232 Data Mode
The default mode is called the RS-232 mode and is typically used for full duplex communication on SOUT and
SIN. In this mode, the modem control outputs (RTS
outputs. The modem control inputs (CTS
inputs. Alternatively , R TS
receive FIFO overruns. Finally, software flow control via Xoff/Xon characters can be used for the same
purpose.
This mode represents the most general-purpose applications, and the other modes are subsets of this mode.
3.5.2 RS-485 Data Mode
The RS-485 mode is very similar to the RS-232 mode in that the SOUT and SIN formats remain the same.
Since RS-485 is a bus architecture, it is inherently a single duplex communication system. The TUSB3410
in RS-485 mode controls the RTS
receiver. When in RS-485 mode, the enable signals for transmitting are automatically asserted whenever the
DMA is set up for outbound data. The receiver can be left enabled while the driver is enabled to allow an echo
if desired, but when receive data is expected, the driver must be disabled. Note that this precludes use of
hardware flow control, since this is a half-duplex operation, it would not be effective. Software flow control is
supported, but may be of limited value.
The RS-485 mode is enabled by setting bit 7 (485E) in the FCRL register (see Section 7.1.4), and bit 1 (RCVE)
in the MCR register (see Section 7.1.6) allows the receiver to eavesdrop while in the RS-485 mode.
and DTR) communicate to a modem or are general
, DSR, DCD, and RI/CP) communicate to a modem or are general
and CTS (or DTR and DSR) can throttle the data flow on SOUT and SIN to prevent
and DTR signals such that either can enable an RS-485 driver or RS-485
3.5.3 IrDA Data Mode
The IrDA mode encodes SOUT and decodes SIN in the manner prescribed by the IrDA standard, up to
115.2 kbps. Connection to an external IrDA transceiver is required. Communications is usually full duplex.
Generally , i n a n IrDA system, only the SOUT and SIN paths are connected so hardware flow control is usually
not an option. Software flow control is supported.
The IrDA mode is enabled by setting bit 6 (IREN) in the USBCTL register (see Section 5.4).
The IR encoder and decoder circuitry work with the UART to change the serial bit stream into a series of pulses
and back again. For every zero bit in the outbound serial stream, the encoder sends a low-to-high-to-low pulse
with the duration of 3/16 of a bit frame at the middle of the bit time. For every one bit in the serial stream, the
output remains low for the entire bit time.
The decoding process consists of receiving the signal from the IrDA receiver and converting it into a series
of zeroes and ones. As the converse to the encoder, the decoder converts a pulse to a zero bit and the lack
of a pulse to a one bit.
10
SLLS519F—July 2007TUSB3410
Detailed Controller Description
T
From
UART
IREN (in
USBCTL
Register)
UART
BaudOut
Clock
TXCNTL (in
MODECNFG
Register)
3.556 MHz
CLKSLCT (in
MODECNFG
Register)
To
UART
Receiver
SOUT
SIN
SOUT
IR
Encoder
SOFTSW (in
MODECNFG
Register)
0
M
U
X
CLKOUTEN
1
MODECNFG
0
M
U
X
IR_RX
1
IR
Decoder
IR_TX
(in
Register)
0
M
U
X
1
0
M
U
X
1
3.3 V
SOUT/IR_SOU
Terminal
CLKOUT
Terminal
SIN/IR_SIN
Terminal
Figure 3−1. RS-232 and IR Mode Select
SLLS519F—July 2007TUSB3410
11
Detailed Controller Description
12 MHz
X1/CLKI
DTR
DB9
Connector
Transceivers
4
RTS
RI/CP
DCD
DSR
CTS
SOUT
SIN
P3.0
P3.1
P3.3
P3.4
USB-0
X2
DP
DM
TUSB3410
Figure 3−2. USB-to-Serial Implementation (RS-232)
12 MHz
X1/CLKI
RTS
7
1
Serial Port
6
8
3
2
GPIO Terminals for
Other Onboard
Control Function
RS-485 Bus
SOUT
DTR
RTS
USB-0
X2
DP
DM
TUSB3410
2-Bit Time1-Bit Max
Receiver is Disabled if RCVE = 0
SOUT
DTR
SIN
RS-485
Transceiver
Figure 3−3. RS-485 Bus Implementation
12
SLLS519F—July 2007TUSB3410
4MCU Memory Map
Figure 4−1 illustrates the MCU memory map under boot and normal operation.
The internal 256 bytes of RAM are not shown, since they are assumed to be in the standard
8052 location (0000h to 00FFh). The shaded areas represent the internal ROM/RAM.
•When bit 0 (SDW) of the ROMS register is 0 (boot mode)
The 10K ROM is mapped to address (0x0000−0x27FF) and is duplicated in location (0x8000−0xA7FF) in
code space. The internal 16K RAM is mapped to address range (0x0000−0x3FFF)in data space. Buffers,
MMR, and I/O are mapped to address range (0xF800−0xFFFF) in data space.
•When bit 0 (SDW) is 1 (normal mode)
The 10K ROM is mapped to (0x8000−0xA7FF) in code space. The internal 16K RAM is mapped to
address range (0x0000−0x3FFF) in code space. Buffers, MMR, and I/O are mapped to address range
(0xF800−0xFFFF) in data space.
MCU Memory Map
NOTE:
0000h
27FFh
3FFFh
8000h
A7FFh
Boot Mode (SDW = 0)
CODEXDATA
10K Boot ROM
10K Boot ROM
(16K)
Read/Write
Normal Mode (SDW = 1)
CODEXDATA
16K
Code RAM
Read Only
10K Boot ROM
F800h
2K Data
MMR
FF7Fh
FF80h
FFFFh
2K Data
MMR
Figure 4−1. MCU Memory Map
SLLS519F—July 2007TUSB3410
13
MCU Memory Map
0
SDW
0
BOOT ROM
RAM CODE
ROM CODE
4.1Miscellaneous Registers
4.1.1 ROMS: ROM Shadow Configuration Register (Addr:FF90h)
This register is used by the MCU to switch from boot mode to normal operation mode (boot mode is set on
power-on reset only). In addition, this register provides the device revision number and the ROM/RAM
configuration.
765 4 32 1 0
ROAS1S0RSVDRSVDRSVDRSVDSDW
R/OR/OR/OR/OR/OR/OR/OR/W
BIT
4−1RSVDNo effectThese bits are always read as 0000b.
6−5S[1:0]No effectCode space size. These bits define the ROM or RAM code-space size (bit 7 (ROA) defines ROM or
NAMERESETFUNCTION
0SDW0
7ROANo effectROM or RAM version. This bit indicates whether the code space is RAM or ROM based. This bit is
This bit enables/disables boot ROM. (Shadow the ROM).
SDW = 0When clear, the MCU executes from the 10K boot ROM space. The boot ROM appears in two
locations: 0000 h and 8000h. The 16K RAM is mapped to XDATA space; therefore, a read/write
operation is possible. This bit is set by the MCU after the RAM load is completed. The MCU
cannot clear this bit; it is cleared on power-up reset or watchdog time-out reset.
SDW = 1When set by the MCU, the 10K boot ROM maps to location 8000h, and the 16K RAM is mapped
to code space, starting at location 0000h. At this point, the MCU executes from RAM, and the
write operation is disabled (no write operation is possible in code space).
RAM). These bits are permanently set to 10b, indicating 16K bytes of code space, and are not affected
by reset (see Table 4−1).
00 = 4K bytes code space size
01 = 8K bytes code space size
10 = 16K bytes code space size
11 = 32K bytes code space size
permanently set to 1, indicating the code space is RAM, and is not affected by reset (see Table 4−1).
ROA = 0 Code space is ROM
ROA = 1 Code space is RAM
Since the code space is in RAM (with the exception of the boot ROM), the TUSB3410 firmware must be loaded
from an external source. Two sources are available for booting: one from an external serial EEPROM
connected to the I
register (see Section 4.1.1) and bit 7 (CONT) in the USBCTL register (see Section 5.4) are cleared. This
configures the memory space to boot mode (see Table 4−3) and keeps the device disconnected from the host.
The first instruction is fetched from location 0000h (which is in the 10K ROM). The 16K RAM is mapped to
XDATA space (location 0000h). The MCU executes a read from an external EEPROM and tests whether it
contains the code (by testing for boot signature). If it contains the code, then the MCU reads from EEPROM
14
2
C bus and the other from the host via the USB. On device reset, bit 0 (SDW) in the ROMS
SLLS519F—July 2007TUSB3410
MCU Memory Map
and writes to the 16K RAM in XDATA space. If it does not contain the code, then the MCU proceeds to boot
from the USB.
Once the code is loaded, the MCU sets the SDW bit to 1 in the ROMS register . This switches the memory map
to normal mode; that is, the 16K RAM is mapped to code space, and the MCU starts executing from location
0000h. Once the switch is done, the MCU sets the CONT bit to 1 in the USBCTL register. This connects the
device to the USB and results in normal USB device enumeration.
4.1.3 WDCSR: Watchdog Timer, Control, and Status Register (Addr:FF93h)
A watchdog timer (WDT) with 1-ms clock is provided. If this register is not accessed for a period of 128 ms,
then the WDT counter resets the MCU (see Figure 5−1). The watchdog timer is enabled by default and can
be disabled by writing a pattern of 101010b into the WDD[5:0] bits. The 1-ms clock for the watchdog timer is
generated from the SOF pulses. Therefore, in order for the watchdog timer to count, bit 7 (CONT) in the
USBCTL register (see Section 5.4) must be set.
765 4 32 1 0
WDD0WDRWDD5WDD4WDD3WDD2WDD1WDT
R/WR/CR/WR/WR/WR/WR/WW/O
BIT
5−1WDD[5:1]00000These bits disable the watchdog timer. For the timer to be disabled these bits must be set to 10101b and
NAMERESETFUNCTION
0WDT0MCU must write a 1 to this bit to prevent the watchdog timer from resetting the MCU. If the MCU does not
6WDR0
7WDD01This bit is one of the six disable bits for the watchdog timer. This bit must be cleared in order for the
write a 1 in a period of 128 ms, the watchdog timer resets the device. Writing a 0 has no effect on the
watchdog timer. (The watchdog timer is a 7-bit counter using a 1-ms CLK.) This bit is read as 0.
bit 7 (WDD0) must also be set to 0. If any other pattern is present, then the watchdog timer is in operation.
Watchdog reset indication bit. This bit indicates if the reset occurred due to power-on reset or watchdog
timer reset.
WDR = 0 A power-up reset occurred
WDR = 1 A watchdog time-out reset occurred. To clear this bit, the MCU must write a1. Writing a 0 has no
effect.
watchdog timer to be disabled.
4.2Buffers + I/O RAM Map
The address range from F800h to FFFFh (2K bytes) is reserved for data buffers, setup packet, endpoint
descriptors block (EDB), and all I/O. There are 128 locations reserved for memory-mapped registers (MMR).
Table 4−2 represents the XDATA space allocation and access restriction for the DMA, USB buffer manager
(UBM), and MCU.
FFFEhUSBSTAUSB status register
FFFDhUSBMSKUSB interrupt mask register
FFFChUSBCTLUSB control register
FFFBhMODECNFGMode configuration register
FFFAh−FFF4hReserved
FFF3hI2CADRI2C-port address register
FFF2hI2CDATII2C-port data input register
FFF1hI2CDATOI2C-port data output register
FFF0hI2CSTAI2C-port status register
FFEFhSERNUM7Serial number byte 7 register
FFEEhSERNUM6Serial number byte 6 register
FFEDhSERNUM5Serial number byte 5 register
FFEChSERNUM4Serial number byte 4 register
FFEBhSERNUM3Serial number byte 3 register
FFEAhSERNUM2Serial number byte 2 register
FF12hOEPBCTX_2Output endpoint_2: X-byte count
FF11hOEPBBAX_2Output endpoint_2: X-buffer base address
FF10hOEPCNF_2Output endpoint_2: Configuration
FF0FhOEPSIZXY_1Output endpoint_1: X-Y buffer size
FF0EhOEPBCTY_1Output endpoint_1: Y-byte count
FF0DhOEPBBAY_1Output endpoint_1: Y -buffer base address
FF0Ch−FF0Bh−Reserved
FF0AhOEPBCTX_1Output endpoint_1: X-byte count
FF09hOEPBBAX_1Output endpoint_1: X-buffer base address
FF08hOEPCNF_1Output endpoint_1: Configuration
FF07h
↑(8 bytes)Setup packet block
FF00h
FEFFh
↑(8 bytes)Input endpoint_0 buffer
FEF8h
FEF7h
↑(8 bytes)Output endpoint_0 buffer
FEF0h
FEEFhTOPBUFFTop of buffer space
↑
F800hSTABUFFStart of buffer space
Buffer space
4.3Endpoint Descriptor Block (EDB−1 to EDB−3)
Data transfers between the USB, the MCU, and external devices that are defined by an endpoint descriptor
block (EDB). Three input and three output EDBs are provided. With the exception of EDB-0 (I/O endpoint-0),
all EDBs are located in SRAM as per Table 4−3. Each EDB contains information describing the X- and
Y-buffers. In addition, each EDB provides general status information.
Table 4−5 describes the EDB entries for EDB−1 to EDB−3. EDB−0 registers are described in Table 4−6.
18
SLLS519F—July 2007TUSB3410
MCU Memory Map
3
STALL
0
Table 4−5. Endpoint Registers and Offsets in RAM (n = 1 to 3)
OFFSETENTRY NAMEDESCRIPTION
07EPSIZXY_nI/O endpoint_n: X/Y-buffer size
06EPBCTY_nI/O endpoint_n: Y-byte count
05EPBBAY_nI/O endpoint_n: Y-buffer base address
04SPARENot used
03SPARENot used
02EPBCTX_nI/O endpoint_n: X-byte count
01EPBBAX_nI/O endpoint_n: X-buffer base address
00EPCNF_nI/O endpoint_n: Configuration
2USBIExUSB interrupt enable on transaction completion. Set/cleared by the MCU.
3STALL0
4DBUFxDouble-buffer enable. Set/cleared by the MCU.
5TOGLExUSB toggle bit. This bit reflects the toggle sequence bit of DATA0, DATA1.
6ISOxISO = 0 Nonisochronous transfer. This bit must be cleared by the MCU since only nonisochronous transfer
7UBMExUSB buffer manager (UBM) enable/disable bit. Set/cleared by the MCU.
USBIE = 0 No interrupt on transaction completion
USBIE = 1 Interrupt on transaction completion
USB stall condition indication. Set/cleared by the MCU.
STALL = 0
STALL = 1
DBUF = 0 Primary buffer only (X-buffer only)
DBUF = 1 Toggle bit selects buffer
is supported.
UBME = 0 UBM cannot use this endpoint
UBME = 1 UBM can use this endpoint
No stall
USB stall condition. If set by the MCU, then a STALL handshake is initiated and the bit is
cleared by the MCU.
4.3.2 OEPBBAX_n: Output Endpoint X-Buffer Base Address (n = 1 to 3) (Offset 1)
765 4 32 1 0
A10A9A8A7A6A5A4A3
R/WR/WR/WR/WR/WR/WR/WR/W
BIT
7−0A[10:3]xA[10:3] of X-buffer base address (padded with 3 LSBs of zeros for a total of 11 bits). This value is set by
SLLS519F—July 2007TUSB3410
NAMERESETFUNCTION
the MCU. The UBM or DMA uses this value as the start-address of a given transaction. Note that the UBM
or DMA does not change this value at the end of a transaction.
19
MCU Memory Map
4.3.3 OEPBCTX_n: Output Endpoint X Byte Count (n = 1 to 3) (Offset 2)
765 4 32 1 0
NAKC6C5C4C3C2C1C0
R/WR/WR/WR/WR/WR/WR/WR/W
BITNAMERESETFUNCTION
6−0C[6:0]xX-buffer byte count:
7NAKxNAK = 0
X000.0000b Count = 0
X000.0001b Count = 1 byte
:
:
X011.1111b Count = 63 bytes
X100.0000b Count = 64 bytes
Any value ≥ 100.0001b may result in unpredictable results.
NAK = 1
No valid data in buffer. Ready for host OUT
Buffer contains a valid packet from host (gives NAK response to Host OUT request)
4.3.4 OEPBBAY_n: Output Endpoint Y-Buffer Base Address (n = 1 to 3) (Offset 5)
765 4 32 1 0
A10
R/WR/WR/WR/WR/WR/WR/WR/W
A9A8A7A6A5A4A3
BIT
7−0A[10:3]xA[10:3] of Y-buffer base address (padded with 3 LSBs of zeros for a total of 11 bits). This value is set by
NAMERESETFUNCTION
the MCU. The UBM or DMA uses this value as the start-address of a given transaction. Furthermore, UBM
or DMA does not change this value at the end of a transaction.
2USBIExUSB interrupt enable on transaction completion
3STALL0USB stall condition indication. Set by the UBM but can be set/cleared by the MCU
4DBUFxDouble buffer enable
5TOGLExUSB toggle bit. This bit reflects the toggle sequence bit of DATA0, DATA1
6ISOxISO = 0 Nonisochronous transfer. This bit must be cleared by the MCU since only nonisochronous
7UBMExUBM enable/disable bit. Set/cleared by the MCU
NAMERESETFUNCTION
USBIE = 0 No interrupt on transaction completion
USBIE = 1 Interrupt on transaction completion
STALL = 0 No stall
STALL = 1 USB stall condition. If set by the MCU, then a STALL handshake is initiated and the bit is
cleared automatically.
DBUF = 0 Primary buffer only (X-buffer only)
DBUF = 1 Toggle bit selects buffer
transfer is supported
UBME = 0 UBM cannot use this endpoint
UBME = 1 UBM can use this endpoint
4.3.8 IEPBBAX_n: Input Endpoint X-Buffer Base Address (n = 1 to 3) (Offset 1)
765 4 32 1 0
A10
R/WR/WR/WR/WR/WR/WR/WR/W
BIT
7−0A[10:3]xA[10:3] of X-buffer base address (padded with 3 LSBs of zeros for a total of 11 bits). This value is set by
SLLS519F—July 2007TUSB3410
NAMERESETFUNCTION
A9A8A7A6A5A4A3
the MCU. The UBM or DMA uses this value as the start-address of a given transaction, but note that the
UBM or DMA does not change this value at the end of a transaction.
21
Loading...
+ 67 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.