TUSB3210 [TI]

UNIVERSAL SERIAL BUS GENERAL-PURPOSE DEVICE CONTROLLER; 通用串行总线通用设备控制器
TUSB3210
型号: TUSB3210
厂家: TEXAS INSTRUMENTS    TEXAS INSTRUMENTS
描述:

UNIVERSAL SERIAL BUS GENERAL-PURPOSE DEVICE CONTROLLER
通用串行总线通用设备控制器

控制器
文件: 总44页 (文件大小:172K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
ꢁ ꢈ ꢉꢊ ꢋ ꢌꢍꢎꢏ ꢂꢋ ꢌ ꢉꢎ ꢏ ꢃ ꢐꢍ ꢑꢋ ꢈ ꢋ ꢌ ꢎꢏꢒ ꢓꢐ ꢌ ꢔ ꢕꢍꢋ ꢖ ꢋꢊ ꢉꢗꢋ  
ꢘ ꢕꢈ ꢙ ꢌꢕ ꢏ ꢏꢋ ꢌ  
Data Manual  
NOTE  
Designing with this device may require extensive support. Before incorporating this device into  
a design, customers should contact TI or an Authorized TI Distributor.  
February 2001  
MSDS Bus Solutions  
SLLS466  
IMPORTANT NOTICE  
Texas Instruments and its subsidiaries (TI) reserve the right to make changes to their products or to discontinue  
any product or service without notice, and advise customers to obtain the latest version of relevant information  
to verify, before placing orders, that information being relied on is current and complete. All products are sold  
subject to the terms and conditions of sale supplied at the time of order acknowledgment, including those  
pertaining to warranty, patent infringement, and limitation of liability.  
TI warrants performance of its products to the specifications applicable at the time of sale in accordance with  
TI’sstandardwarranty. TestingandotherqualitycontroltechniquesareutilizedtotheextentTIdeemsnecessary  
to support this warranty. Specific testing of all parameters of each device is not necessarily performed, except  
those mandated by government requirements.  
Customers are responsible for their applications using TI components.  
In order to minimize risks associated with the customer’s applications, adequate design and operating  
safeguards must be provided by the customer to minimize inherent or procedural hazards.  
TI assumes no liability for applications assistance or customer product design. TI does not warrant or represent  
that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other  
intellectual property right of TI covering or relating to any combination, machine, or process in which such  
products or services might be or are used. TI’s publication of information regarding any third party’s products  
or services does not constitute TI’s approval, license, warranty or endorsement thereof.  
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. Representation  
or reproduction of this information with alteration voids all warranties provided for an associated TI product or  
service, is an unfair and deceptive business practice, and TI is not responsible nor liable for any such use.  
Resale of TI’s 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,  
is an unfair and deceptive business practice, and TI is not responsible nor liable for any such use.  
Also see: Standard Terms and Conditions of Sale for Semiconductor Products. www.ti.com/sc/docs/stdterms.htm  
Mailing Address:  
Texas Instruments  
Post Office Box 655303  
Dallas, Texas 75265  
Copyright 2001, Texas Instruments Incorporated  
Contents  
Section  
Title  
Page  
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1  
1.1  
1.2  
1.3  
1.4  
1.5  
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11  
Functional Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12  
Terminal Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13  
Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13  
Terminal Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14  
2
Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–1  
2.1  
2.2  
MCU Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21  
Miscellaneous Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22  
2.2.1  
2.2.2  
2.2.3  
2.2.4  
2.2.5  
2.2.6  
TUSB3210 Boot Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . 22  
MCNFG: MCU Configuration Register . . . . . . . . . . . . . . . . . 23  
PUR_n: GPIO Pullup Register for Port n (n = 0 to 3) . . . . . 23  
INTCFG: Interrupt Configuration . . . . . . . . . . . . . . . . . . . . . . 23  
WDCSR: Watchdog Timer, Control, and Status Register . 24  
PCON: Power Control Register (at SFR 87h) . . . . . . . . . . . 24  
2.3  
2.4  
Buffers + I/O RAM Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24  
Endpoint Descriptor Block (EDB-1 to EDB-3) . . . . . . . . . . . . . . . . . . . . 27  
2.4.1  
2.4.2  
2.4.3  
2.4.4  
2.4.5  
2.4.6  
2.4.7  
2.4.8  
2.4.9  
2.4.10  
2.4.11  
2.4.12  
OEPCNF_n: Output Endpoint Configuration . . . . . . . . . . . 27  
OEPBBAX_n: Output Endpoint X-Buffer Base-Address . . 28  
OEPBCTX_n: Output Endpoint X Byte Count . . . . . . . . . . 28  
OEPBBAY_n: Output Endpoint Y-Buffer Base-Address . . 28  
OEPBCTY_n: Output Endpoint Y Byte Count . . . . . . . . . . . 28  
OEPSIZXY_n: Output Endpoint X/Y Byte Count . . . . . . . . 29  
IEPCNF_n: Input Endpoint Configuration . . . . . . . . . . . . . . 29  
IEPBBAX_n: Input Endpoint X-Buffer Base-Address . . . . . 29  
IEPBCTX_n: Input Endpoint X-Byte Base-Address . . . . . . 210  
IEPBBAY_n: Input Endpoint Y-Buffer Base-Address . . . . . 210  
IEPBCTY_n: Input Endpoint Y Byte Count . . . . . . . . . . . . . 210  
IEPSIZXY_n: Input Endpoint X/Y-Buffer Size . . . . . . . . . . . 211  
2.5  
2.6  
Endpoint-0 Descriptor Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211  
2.5.1  
2.5.2  
2.5.3  
IEPCNFG_0: Input Endpoint-0 Configuration Register . . . 211  
IEPBCNT_0: Input Endpoint-0 Byte Count Register . . . . . 212  
OEPCNFG_0: Output Endpoint-0 Configuration  
Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212  
2.5.4  
OEPBCNT_0: Output Endpoint-0 Byte Count Register . . . 213  
USB Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213  
2.6.1 FUNADR: Function Address Register . . . . . . . . . . . . . . . . . 213  
iii  
2.6.2  
2.6.3  
2.6.4  
2.6.5  
USBSTA: USB Status Register . . . . . . . . . . . . . . . . . . . . . . . 214  
USBMSK: USB Interrupt Mask Register . . . . . . . . . . . . . . . 215  
USBCTL: USB Control Register . . . . . . . . . . . . . . . . . . . . . . 216  
VIDSTA: VID/PID Status Register . . . . . . . . . . . . . . . . . . . . . 216  
2.7  
2.8  
2.9  
Function Reset and Power-Up Reset Interconnect . . . . . . . . . . . . . . . 217  
Pullup Resistor Connect/Disconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . 218  
8052 Interrupt and Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218  
2.9.1  
2.9.2  
2.9.3  
2.9.4  
2.9.5  
8052 Standard Interrupt Enable Register . . . . . . . . . . . . . . . 219  
Additional Interrupt Sources . . . . . . . . . . . . . . . . . . . . . . . . . . 219  
VECINT: Vector Interrupt Register . . . . . . . . . . . . . . . . . . . . . 220  
Logical Interrupt Connection Diagram (INT0) . . . . . . . . . . . 221  
P2[7:0] Interrupt (INT1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221  
2.10 I2C Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222  
2.10.1  
2.10.2  
2.10.3  
2.10.4  
I2CSTA: I2C Status and Control Register . . . . . . . . . . . . . . 222  
I2CADR: I2C Address Register . . . . . . . . . . . . . . . . . . . . . . . 223  
I2CDAI: I2C Data-Input Register . . . . . . . . . . . . . . . . . . . . . . 223  
I2CDAO: I2C Data-Output Register . . . . . . . . . . . . . . . . . . . 223  
2.11 Read/Write Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223  
2.11.1  
2.11.2  
2.11.3  
2.11.4  
2.11.5  
Read Operation (Serial EEPROM) . . . . . . . . . . . . . . . . . . . . 223  
Current Address Read Operation . . . . . . . . . . . . . . . . . . . . . 224  
Sequential Read Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 224  
Write Operation (Serial EEPROM) . . . . . . . . . . . . . . . . . . . . 225  
Page Write Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226  
3
Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  
3.1  
3.2  
3.3  
Absolute Maximum Ratings Over Operating Free-air Temperature . 31  
Commercial Operating Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  
Electrical Characteristics, T = 25°C, V  
= 3.3 V ± 0.3 V,  
CC  
A
GND = 0 V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  
Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41  
4
5
4.1  
4.2  
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41  
Reset Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42  
Mechanical Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51  
iv  
List of Illustrations  
Figure  
Title  
Page  
11 TUSB3210 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12  
21 MCU Memory Map (TUSB3210) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21  
22 MCU Memory Map (ROM Version) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22  
23 Reset Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217  
24 Pullup Resistor Connect/Disconnect Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . 218  
25 Internal Vector Interrupt (EX0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221  
26 P2[7:0] Input Port Interrupt Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221  
41 Example LED Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41  
42 Partial Connection Bus Power Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41  
43 Upstream Connection (a) Non-switching Power Mode (b) Switching  
Power Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42  
44 Downstream Connection(Only One Port Shown) . . . . . . . . . . . . . . . . . . . . . 42  
45 Reset Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42  
List of Tables  
Table  
Title  
Page  
21 XDATA Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25  
22 Memory Mapped Registers Summary (XDATA Range = FF80 FFFF) . . 25  
23 EDB and Buffer Allocations in XDATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26  
24 EDB Entries in RAM (n = 1 to 3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27  
25 Input/Output EDB-0 Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211  
26 External Pins Mapping to S[3:0] in VIDSTA Register . . . . . . . . . . . . . . . . . . . 217  
27 8052 Interrupt Location Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218  
28 Vector Interrupt Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220  
v
vi  
1 Introduction  
The TUSB3210 has 8k × 8 RAM space for application development. A ROM based version of the TUSB3210 has 8k  
× 8 ROM space for predeveloped customer specific production applications. In addition, the programmability of the  
TUSB3210 makes it flexible enough to use for various other general USB I/O applications. Unique vendor  
identification and product identification (VID/PID) may be selected without the use of an external EEPROM. Using  
a 12 MHz crystal, the onboard oscillator generates the internal system clocks. The device may be programmed via  
2
an inter-IC (I C) serial interface at power on from an EEPROM, or optionally, the application firmware may be  
downloaded from a host PC via USB. The popular 8052-based microprocessor allows several third party standard  
tools to be used for application development. In addition, the vast amounts of application code available in the general  
market may also be utilized (this may or may not require some code modification due to hardware variations).  
1.1 Features  
Multiproduct support with one code and one chip (up to 16 products with one chip)  
Fully compliant with the USB release 1.1 specification  
Supports USB suspend/resume and remote wake-up operation  
Integrated 8052 Microcontroller with:  
256 × 8 RAM for internal data  
2
8k × 8 RAM code space available for downloadable firmware from host or I C port. [1]  
512 × 8 shared RAM used for data buffers and endpoint descriptor blocks (EDB) [2]  
Four 8052 GPIO ports, Port 0,1, 2 and 3  
2
Master I C controller for external slave device access  
Watchdog timer  
Operates from a 12 MHz crystal  
On-chip PLL generates 48/12 MHz  
Supports a total of 4 input and 4 output endpoints  
Power-down mode  
Single 3.3 V operation [3]  
64-pin TQFP package  
Applications include keyboard, bar code reader, flash memory reader, general-purpose controller  
[1] The TUSB3210 has 8K x 8 RAM for development.  
[2] This is the buffer space for USB packet transactions.  
[3] 1.8 V required only to support suspend mode.  
11  
1.2 Functional Block Diagram  
12 MHz  
Clock  
Oscillator  
PLL  
and  
Dividers  
Reset,  
Interrupt  
and WDT  
8052  
Core  
RSTI  
6K x 8  
ROM  
2 x 16-Bit  
Timers  
8
8
8
8
8
USB  
USB-0  
TxR  
Port-0  
8
8
8
8
P0.[7:0]  
P1.[7:0]  
P2.[7:0]  
P3.[7:0]  
8K x 8  
[1]  
RAM  
Port-1  
Port-2  
Port-3  
512 x 8  
SRAM  
Logic  
CPU I/F  
Suspend/  
Resume  
2
I C  
2
8
8
8
I C Bus  
Controller  
USB  
SIE  
UBM  
USB Buffer  
Manager  
8
TDM  
Control  
Logic  
[1] The TUSB3210 has 8K x 8 RAM for development. 8k x 8 ROM version available. Contact TI Marketing  
Figure 11. TUSB3210 Block Diagram  
12  
1.3 Terminal Assignments  
PM PACKAGE  
(TOP VIEW)  
48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33  
49  
P0.6  
P0.7  
P1.1  
P1.0  
P2.7  
P2.6  
P2.5  
P2.4  
P2.3  
P2.2  
GND  
P2.1  
32  
31  
30  
29  
28  
27  
26  
25  
24  
23  
50  
51  
52  
53  
54  
55  
56  
57  
58  
P3.7  
P3.6  
P3.5  
P3.4  
P3.3  
P3.2  
P3.1/S1  
P3.0/S0  
GND 59  
X2 60  
X1 61  
22 P2.0  
21 SELF/BUS  
20  
19  
18  
17  
TEST2  
DM  
62  
63  
64  
VCC  
NC  
DP  
NC  
PUR  
1 2  
3
4
5
6 7 8 9 10 11 12 13 14 15 16  
1.4 Ordering Information  
PACKAGE  
T
PLASTIC QUAD FLATPACK  
(PM)  
A
0°C to 70°C  
TUSB3210PM  
13  
1.5 Terminal Functions  
TERMINAL  
I/O  
DESCRIPTION  
NAME  
DM  
NO.  
19  
I/O  
I/O  
I
Differential data minus USB  
Differential data plus USB  
Power supply ground  
DP  
18  
GND  
5,24,42,5  
9
NC  
2, 3, 6,  
No connection  
7, 63, 64  
P0.0  
P0.1  
P0.2  
P0.3  
P0.4  
P0.5  
P0.6  
P0.7  
P1.0  
P1.1  
P1.2  
P1.3  
P1.4  
P1.5  
P1.6  
P1.7  
P2.0  
P2.1  
P2.2  
P2.3  
P2.4  
P2.5  
P2.6  
P2.7  
P3.0/S0  
P3.1/S1  
P3.2  
P3.3  
43  
44  
45  
46  
47  
48  
49  
50  
31  
32  
33  
34  
35  
36  
40  
41  
22  
23  
25  
26  
27  
28  
29  
30  
58  
57  
56  
55  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
I/O  
General-purpose I/O port 0 bit 0, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 0 bit 1, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 0 bit 2, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 0 bit 3, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 0 bit 4, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 0 bit 5, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 0 bit 6, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 0 bit 7, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 1 bit 0, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 1 bit 1, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 1 bit 2, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 1 bit 3, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 1 bit 4, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 1 bit 5, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 1 bit 6, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 1 bit 7, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 2 bit 0, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 2 bit 1, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 2 bit 2, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 2 bit 3, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 2 bit 4, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 2 bit 5, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 2 bit 6, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 2 bit 7, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 3 bit 0, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 3 bit 1, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 3 bit 2  
General-purpose I/O port 3 bit 3, Schmitt-trigger input 100 µA active pullup, open drain output;  
will not support INT1 input  
P3.4  
P3.5  
P3.6  
P3.7  
PUR  
RST  
RSV  
S2  
54  
53  
52  
51  
17  
13  
1, 4  
8
I/O  
I/O  
I/O  
I/O  
O
General-purpose I/O port 3 bit 4, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 3 bit 5, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 3 bit 6, Schmitt-trigger input 100 µA active pullup, open drain output  
General-purpose I/O port 3 bit 7, Schmitt-trigger input 100 µA active pullup, open drain output  
Pullup resistor connection pin (3-state) push-pull CMOS output (±8 mA)  
Controller master reset signal, Schmitt-trigger input 100 µA active pullup  
Reserved (Do not connect these pins)  
I
I
I
VID/PID selection pin  
S3  
9
VID/PID selection pin  
14  
1.5 Terminal Functions (Continued)  
TERMINAL  
I/O  
DESCRIPTION  
NAME  
SCL  
NO.  
12  
2
Serial clock I C; open drain output  
O
I/O  
I
2
Serial data I C; open drain output  
SDA  
11  
SELF/BUS  
SUSP  
TEST0  
TEST1  
TEST2  
VCC  
21  
USB power MODE select: self-powered (HIGH), bus-powered (LOW)  
Suspend status signal: suspended (HIGH); unsuspended (LOW)  
Test input0, Schmitt-trigger input 100 µA active pullup  
Test input1, Schmitt-trigger input 100 µA active pullup  
Test input2, Schmitt-trigger input 100 µA active pullup  
Power supply input 3.3 V typical  
16  
O
I
14  
15  
I
20  
I
10,39,62  
37  
I
VDDOUT  
VREN  
X1  
O
I
Power supply regulator output 1.8 V (May be used as an input when VREN is low)  
Voltage regulator enable: enable active LOW; disable active HIGH  
12-MHz crystal input  
38  
61  
I
X2  
60  
O
12-MHz crystal output  
15  
16  
2 Functional Description  
2.1 MCU Memory Map  
Figure 21 illustrates the MCU memory map under boot and normal operation. It must be noted that the internal 256  
bytes of IDATA are not shown since it is assumed to be in the standard 8052 location (0000 to 00FF). The shaded  
areas represent the internal ROM/RAM.  
When SDW bit = 0 (Boot mode): The 6k-ROM is mapped to address (000017FF) and is duplicated in location  
(800097FF) in code space. The internal 8k-RAM is mapped to address range (00001FFF) in data space. Buffers,  
MMR and I/O are mapped to address range (FD80FFFF) in data space.  
When SDW bit = 1 (Normal mode): The 6k-ROM is mapped to (800097FF) in code space. The internal 8k-RAM  
is mapped to address range (00001FFF) code space. Buffers, MMR and I/O are mapped to address range  
(FD80FFFF) in data space.  
Boot Mode (SDW = 0)  
Normal Mode (SDW = 1)  
CODE  
XDATA  
CODE  
XDATA  
0000  
17FF  
1FFF  
6k Boot ROM  
8k  
RAM  
Read/Write  
8k  
Code RAM  
Read Only  
8000  
97FF  
6k Boot ROM  
6k Boot ROM  
FD80  
512 Bytes  
RAM  
512 Bytes  
RAM  
FF80  
FFFF  
MMR  
MMR  
Figure 21. MCU Memory Map (TUSB3210)  
21  
CODE  
XDATA  
0000  
8k ROM  
1FFF  
FD80  
512 Bytes  
RAM  
FF80  
FFFF  
MMR  
Figure 22. MCU Memory Map (ROM Version)  
2.2 Miscellaneous Registers  
2.2.1 TUSB3210 Boot Operation  
Since the code-space is in RAM (with the exception of the boot ROM), the TUSB3210 firmware must be loaded from  
2
an external source. Two options for booting are available: an external serial EEPROM source connected to the I C  
bus, or the host may be used via the USB. On device reset, the SDW bit (in ROM register) and CONT bit in USB  
Control Register (USBCTL) will be cleared. This will configure the memory space to boot mode (see memory map)  
and will keep the device disconnected from the host.  
Thefirstinstructionwillbefetchedfromlocation0000(whichisinthe6k-ROM). The8k-RAMwillbemappedtoXDATA  
space (location 0000h). MCU will execute a read from an external EEPROM and test to see if it contains the code  
(test for boot signature). If it contains the code, MCU will read from EEPROM and write to the 8k-RAM in XDATA  
space. If not, MCU will proceed to boot from USB.  
Oncethecodeisloaded, theMCUwillsetSDWto1. Thiswillswitchthememorymaptonormalmode, i.e. the8k-RAM  
will be mapped to code space, and the MCU will start executing from location 0000h. Once the switch is done, the  
MCU will set CONT to 1 (in USBCTL register) This will connect the device to the USB bus, resulting in the normal  
USB device enumeration.  
22  
2.2.2 MCNFG: MCU Configuration Register  
This register is used to control the MCU clock rate.  
7
6
5
4
3
2
1
0
12/48  
R/W  
XINT  
R/W  
RSV  
R/O  
R3  
R2  
R1  
R0  
SDW  
R/W  
R/O  
R/O  
R/O  
R/O  
BIT  
NAME  
RESET  
FUNCTION  
0
SDW  
0
This bit enables/disables boot ROM. In the ROM version of the controller, this bit has no effect.  
SDW = 0  
When clear, MCU executes from the 6k boot ROM space. The boot ROM appears in two  
locations: 0000 and 8000h. The 8k RAM is mapped to XDATA space; therefore, Read/Write  
operation is possible. This bit is set by MCU after the RAM load is completed. MCU cannot  
clear this bit. It is cleared on power-up-reset or function reset.  
SDW = 1  
When set by MCU, the 6k boot ROM maps to location 8000h, and the 8k RAM is mapped to  
code-space, starting at location 0000h. At this point, MCU executes from RAM, and write  
operation is disabled (No write operation is possible in code space).  
41  
R[3:0]  
RSV  
No affect These bits reflect the device revision number  
5
0
Reserved  
6
7
XINT  
12/48  
0
INT1 source control bit.  
XINT = 0 INT1 is connected to P3.3-pin and operates as a standard INT1 interrupt  
XINT = 1 INT1 is connected to the OR of Port2 inputs.  
0
This bit selects 12 or 48MHz clock for MCU  
12/48 = 0 12 MHz  
12/48 = 1 48 MHz  
2.2.3 PUR_n: GPIO Pullup Register for Port n (n = 0 to 3)  
7
6
5
4
3
2
1
0
Pin7  
R/W  
Pin6  
R/W  
Pin5  
R/W  
Pin4  
R/W  
Pin3  
R/W  
Pin2  
R/W  
Pin1  
R/W  
Pin0  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
07  
PinN  
(N = 0 to 7)  
0
The MCU may write to this register. If the MCU sets this bit to 1, the pullup resistor is disconnected from  
the pin. If the MCU clears this bit to 0, the pullup resistor is connected to the pin. The pullup resistor is  
connected to V  
power supply.  
CC  
2.2.4 INTCFG: Interrupt Configuration  
7
6
5
4
3
I3  
2
I2  
1
I1  
0
I0  
RSV  
R/O  
RSV  
R/O  
RSV  
R/O  
RSV  
R/O  
R/W  
R/W  
R/W  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
03  
I[3:0]  
0010  
The MCU may write to this register to set the interrupt delay time for Port 2 on the MCU. The value of the  
lower nibble represents the delay in ms. Default after reset is 2 ms.  
47  
RSV  
0
Reserved  
23  
2.2.5 WDCSR: Watchdog Timer, Control, and Status Register  
A watchdog timer (WDT) with 1ms clock is provided. If this register is not accessed for a period of 32ms, the WDT  
counter will reset the MCU. (See Figure 23, Reset Diagram). When the IDL bit in PCON is set, the WDT will be  
suspended until an interrupt is detected. At this point, the IDL bit will be cleared and the WDT will resume operation.  
7
6
5
4
3
2
1
0
WDE  
R/W  
WDR  
R/W  
RSV  
R/O  
RSV  
R/O  
RSV  
R/O  
RSV  
R/O  
RSV  
R/O  
WDT  
W/O  
BIT  
NAME  
RESET  
FUNCTION  
0
WDT  
0
MCU must write a 1 to this bit to prevent the WDT from resetting the MCU. If MCU does not write a 1 in a  
periodof 31ms, the WDT will reset the device. Writing a 0 has no effect on the WDT. (WDT is a 5-bit counter  
using 1ms CLK). This bit is read as 0.  
51  
RSV  
0
0
Reserved = 0  
6
WDR  
Watchdog reset indication bit. This bit indicates if the reset occurred due to power-on reset or watchdog  
timer reset.  
WDR = 0  
WDR = 1  
A power-up or USB reset occurred.  
Awatchdogtimeoutresetoccurred.Toclearthisbit, theMCUmustwritea1. Writinga0hasno  
effect.  
7
WDE  
0
Watchdog Timer Enable.  
WDE = 0  
WDE = 1  
This bit is cleared only on power-up, USB-reset (if enabled) or WDT reset.  
WhenMCUwritesa1tothisbittheWDTwillstartrunning. MCUcannotdisabletheWDT. Only  
poweruporUSBreset(ifenabled)canclearit. WhenMCUisinidlestate(IDL=1), theWDTis  
suspended.  
2.2.6 PCON: Power Control Register (at SFR 87h)  
7
6
5
4
3
2
1
0
SMOD  
R/W  
RSV  
R/O  
RSV  
R/O  
RSV  
R/O  
GF1  
R/W  
GF0  
R/W  
RSV  
R/O  
IDL  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
0
IDL  
0
MCU idle mode bit. This bit can be set by MCU and is cleared only by INT1 interrupt.  
IDL = 0  
MCU is NOT in idle mode. This bit is cleared by INT1 interrupt logic when INT1 is asserted for  
at least 400µs.  
IDL = 1  
MCU is in idle mode and RAM is in low-power mode. The oscillator/APLL is off and the WDT  
will be suspended. When in suspend mode, only INT1 can be used to exit from idle mode and  
generate an interrupt. INT1 must be asserted for at least 400µs for the interrupt to be  
recognized.  
1
RSV  
GF[1:0]  
RSV  
0
00  
0
Reserved  
32  
64  
7
General-purpose bits. MCU can write and read them.  
Reserved  
SMOD  
0
Double baud rate control bit. For more information see UART serial interface in M8052 core specification.  
2.3 Buffers + I/O RAM Map  
The address range from FD80 to FFFF is reserved for data buffers, setup packet, endpoint descriptor blocks (EDB),  
and all I/O. RAM space of 512 bytes [FD80FF7F] is used for EDB and buffers. The FF80FFFF range is used for  
memory mapped registers (MMR). Table 21 represents the internal XDATA space allocation.  
24  
Table 21. XDATA Space  
DESCRIPTION  
ADDRESS RANGE  
FFFF  
Internal MMR  
(Memory mapped registers)  
FF80  
FF7F  
EDB  
(Endpoint descriptor blocks)  
FF08  
FF07  
Setup packet buffer  
Input endpoint-0 buffer  
Output endpoint-0 buffer  
FF00  
FEFF  
512 byte  
RAM  
FEF8  
FEF7  
FEF0  
FEEF  
Data buffers  
(367 bytes)  
FD80  
Table 22. Memory Mapped Registers Summary (XDATA Range = FF80 FFFF)  
ADDRESS  
FFFF  
FFFE  
FFFD  
FFFC  
REGISTER  
FUNADR  
USBSTA  
USBMSK  
USBCTL  
RESERVED  
VIDSTA  
RESERVED  
I2CADR  
I2CDAI  
DESCRIPTION  
FUNADR: Function address register  
USBSTA: USB status register  
USBMSK: USB interrupt mask register  
USBCTL: USB control register  
FFF6  
VIDSTA: VID/PID status register  
FFF3  
FFF2  
FFF1  
FFF0  
I2CADR: I2C address register  
I2CDAI: I2C data-input register  
I2CDAO: I2C data-output register  
I2CSTA: I2C status and control register  
I2CDAO  
I2CSTA  
RESERVED  
PUR3  
FF97  
FF96  
FF95  
FF94  
FF93  
FF92  
Port 3 pullup resistor register  
Port 2 pullup resistor register  
Port 1 pullup resistor register  
Port 0 pullup resistor register  
PUR2  
PUR1  
PUR0  
WDCSR  
VECINT  
WDCSR: Watchdog timer, control & status register  
VECINT: Vector interrupt register  
25  
Table 22. Memory Mapped Registers Summary (XDATA Range = FF80 FFF) (Continued)  
ADDRESS  
FF91  
FF90  
REGISTER  
RESERVED  
MCNFG  
DESCRIPTION  
MCNFG: MCU configuration register  
RESERVED  
INTCFG  
FF84  
FF83  
FF82  
FF81  
FF80  
INTCFG: Interrupt delay configuration register  
OEPBCNT_0  
OEPCNFG_0  
IEPBCNT_0  
IEPCNFG_0  
OEPBCNT_0: Output endpoint-0 byte count register  
OEPCNFG_0: Output endpoint-0 configuration register  
IEPBCNT_0: Input endpoint-0 byte count register  
IEPCNFG_0: Input endpoint-0 configuration register  
Table 23. EDB and Buffer Allocations in XDATA  
ADDRESS  
FF7F  
DESCRIPTION  
(32bytes)  
RESERVED  
FF60  
FF5F  
(8bytes)  
(8bytes)  
(8bytes)  
Input endpoint_3: configuration  
Input endpoint_2: configuration  
Input endpoint_1: configuration  
FF58  
FF57  
FF50  
FF4F  
FF48  
FF47  
(40bytes)  
RESERVED  
FF20  
FF1F  
(8bytes)  
(8bytes)  
(8bytes)  
(8bytes)  
(8bytes)  
Output endpoint_3: configuration  
Output endpoint_2: configuration  
Output endpoint_1: configuration  
Setup packet block  
FF18  
FF17  
FF10  
FF0F  
FF08  
FF07  
FF00  
FEFF  
Input endpoint_0 buffer  
FEF8  
26  
Table 23. EDB and Buffer Allocations in XDATA (Continued)  
ADDRESS  
DESCRIPTION  
FEF7  
(8bytes)  
Output endpoint_0 buffer  
Top of buffer space  
FEF0  
FEEF  
TOPBUFF  
Buffers space  
FD80  
STABUFF  
Start of buffer space  
2.4 Endpoint Descriptor Block (EDB-1 to EDB-3)  
Data transfers between USB, MCU and external devices are defined by an endpoint descriptor block (EDB). Four  
input and four output EDBs are provided. With the exception of EDB0 (I/O Endpoint0), all EDBs are located in  
SRAM as shown in Table 23. Each EDB contains information describing the X and Y buffers. In addition, it provides  
general status information.  
Table 24 illustrates the EDB entries for EDB1 to EDB3. EDB0 registers will be described separately.  
Table 24. EDB Entries in RAM (n = 1 to 3)  
Offset  
07  
ENTRY NAME  
EPSIZXY_n  
EPBCTY_n  
EPBBAY_n  
SPARE  
DESCRIPTION  
I/O endpoint_n: X/Y buffer size  
06  
I/O endpoint_n: Y byte count  
I/O endpoint_n: Y buffer base address  
Not used  
05  
04  
03  
SPARE  
Not used  
02  
EPBCTX_n  
EPBBAX_n  
EPCNF_n  
I/O endpoint_n: X byte count  
I/O endpoint_n: X buffer base address  
I/O endpoint_n: configuration  
01  
00  
2.4.1 OEPCNF_n: Output Endpoint Configuration (n=1 to 3)  
7
6
5
4
3
2
1
0
UBME  
R/W  
ISO  
R/W  
TOGLE  
R/W  
DBUF  
R/W  
STALL  
R/W  
USBIE  
R/W  
RSV  
R/O  
RSV  
R/O  
BIT  
10  
2
NAME  
RSV  
RESET  
FUNCTION  
0
x
Reserved  
USBIE  
USB interrupt enable on transaction completion. Set/clear by MCU.  
USBIE = 0 no interrupt  
USBIE = 1 interrupt on transaction completion  
3
4
STALL  
DBUF  
0
x
USB stall condition indication. Set/clear by MCU.  
STALL = 0 No stall  
STALL = 1 USBstallcondition. If set by MCU, a STALLhandshakeisinitiatedandthebitisclearedbyMCU.  
Double buffer enable. Set/clear by MCU.  
DBUF = 0 Primary buffer only (Xbuffer only)  
DBUF = 1 Toggle bit selects buffer  
5
6
TOGLE  
ISO  
x
x
USB Toggle bit. This bit reflects the toggle sequence bit of DATA0, DATA1  
ISO = 0  
Non-isochronoustransfer. ThisbitmustbeclearedbyMCUsinceonlyNon-isochronoustransfer  
is supported.  
7
UBME  
x
UBM enable/disable bit. Set/clear by MCU.  
UBME = 0 UBM cannot use this endpoint.  
UBME = 1 UBM can use this endpoint.  
27  
2.4.2 OEPBBAX_n: Output Endpoint X-Buffer Base-Address (n=1 to 3)  
7
6
5
4
3
2
1
0
A
10  
A
9
A
8
A
7
A
6
A
5
A
4
A
3
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
70  
A[10:3]  
x
A[10:3] of Xbuffer base address (padded with 3-LSB of zeros for a total of 11-bits). This value is set by the  
MCU. 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.  
2.4.3 OEPBCTX_n: Output Endpoint X Byte Count (n=1 to 3)  
7
6
5
4
3
2
1
0
NAK  
R/W  
C
C
C
C
C
C
C
0
6
5
4
3
2
1
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
60  
C[6:0]  
x
X-Buffer Byte count:  
X000.0000b > Count = 0  
X000.0001b > Count = 1 byte  
:
:
X011.1111b > Count = 63 bytes  
X100.0000b > Count = 64 bytes  
Any value 100.0001b produces unpredictable results.  
7
NAK  
x
NAK= 0 No valid data in buffer. Ready for host out  
NAK= 1 Buffer contains a valid packet from Host (host-out request is NAK)  
2.4.4 OEPBBAY_n: Output Endpoint Y-Buffer Base-Address (n=1 to 3)  
7
6
5
4
3
2
1
0
A
10  
A
9
A
8
A
7
A
6
A
5
A
4
A
3
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
70  
A[10:3]  
x
A[10:3] of Ybuffer base address (padded with 3-LSB of zeros for a total of 11 bits). This value is set by the  
MCU. 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.  
2.4.5 OEPBCTY_n: Output Endpoint Y Byte Count (n=1 to 3)  
7
6
5
4
3
2
1
0
NAK  
R/W  
C
C
C
C
C
C
C
0
6
5
4
3
2
1
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
60  
C[6:0]  
x
Y-Byte count:  
X000.0000b > Count = 0  
X000.0001b > Count = 1 byte  
:
:
X011.1111b > Count = 63 bytes  
X100.0000b > Count = 64 bytes  
Any value 100.0001b will result in unpredictable results.  
7
NAK  
x
NAK= 0 No valid data in buffer. Ready for host out  
NAK= 1 Buffer contains a valid packet from host (host-out request is NAK)  
28  
2.4.6 OEPSIZXY_n: Output Endpoint X/Y Byte Count (n=1 to 3)  
7
6
5
4
3
2
1
0
RSV  
R/O  
S
S
S
S
S
S
S
0
6
5
4
3
2
1
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
60  
S[6:0]  
x
X AND Y-Buffer size:  
0000.0000b > Count = 0  
0000.0001b > Count = 1 byte  
:
:
0011.1111b > Count = 63 bytes  
0100.0000b > Count = 64 bytes  
Any value 100.0001b produces unpredictable results.  
7
RSV  
0
Reserved  
2.4.7 IEPCNF_n: Input Endpoint Configuration (n=1 to 3)  
7
6
5
4
3
2
1
0
UBME  
R/W  
ISO  
R/W  
TOGLE  
R/W  
DBUF  
R/W  
STALL  
R/W  
USBIE  
R/W  
RSV  
R/O  
RSV  
R/O  
BIT  
10  
2
NAME  
RSV  
RESET  
FUNCTION  
x
x
Reserved = 0  
USBIE  
USB interrupt enable on transaction completion.  
USBIE = 0 No interrupt  
USBIE = 1 Interrupt on transaction completion  
3
4
STALL  
DBUF  
0
x
USB stall condition indication. Set by UBM, but can be set/cleared by MCU.  
STALL = 0 No stall  
STALL = 1 USB stall condition. If set by MCU, a STALL handshake will be initiated and the bit is cleared  
automaticallly.  
Double buffer enable  
DBUF = 0 Primary buffer only (Xbuffer only)  
DBUF = 1 Toggle bit selects buffer  
5
6
TOGLE  
ISO  
x
x
USB Toggle bit. This bit reflects the toggle sequence bit of DATA0, DATA1  
ISO = 0  
Non-isochronous transfer. This bit must be cleared by MCU since only Non-isochronous  
transfer is supported.  
7
UBME  
x
UBM enable/disable bit. Set/clear by MCU.  
UBME = 0 UBM cannot use this endpoint.  
UBME = 1 UBM can use this endpoint.  
2.4.8 IEPBBAX_n: Input Endpoint X-Buffer Base-Address (n=1 to 3)  
7
6
5
4
3
2
1
0
A
10  
A
9
A
8
A
7
A
6
A
5
A
4
A
3
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
70  
A[10:3]  
x
A[10:3] of X-buffer base address (padded with 3-LSB of zeros for a total of 11 bits). This value is set by the  
MCU. 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.  
29  
2.4.9 IEPBCTX_n: Input Endpoint X-Byte Base-Address (n=1 to 3)  
7
6
5
4
3
2
1
0
NAK  
R/W  
C
C
C
C
C
C
C
0
6
5
4
3
2
1
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
60  
C[6:0]  
x
X-Buffer Byte count:  
X000.0000b > Count = 0  
X000.0001b > Count = 1 byte  
:
:
X011.1111b > Count = 63 bytes  
X100.0000b > Count = 64 bytes  
Any value 100.0001b produces unpredictable results.  
7
NAK  
x
NAK = 0 Buffer contains a valid packet for host-in transaction  
NAK = 1 Buffer is empty (host-in request is NAK)  
2.4.10 IEPBBAY_n: Input Endpoint Y-Buffer Base-Address (n=1 to 3)  
7
6
5
4
3
2
1
0
A
10  
A
9
A
8
A
7
A
6
A
5
A
4
A
3
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
70  
A[10:3]  
x
A[10:3] of Y-buffer base address (padded with 3-LSB of zeros for a total of 11 bits). This value is set by the  
MCU. 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.  
2.4.11 IEPBCTY_n: Input Endpoint Y Byte Count (n=1 to 3)  
7
6
5
4
3
2
1
0
NAK  
R/W  
C
C
C
C
C
C
C
0
6
5
4
3
2
1
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
60  
C[6:0]  
x
X-Byte count:  
X000.0000b > Count = 0  
X000.0001b > Count = 1 byte  
:
:
X011.1111b > Count = 63 bytes  
X100.0000b > Count = 64 bytes  
Any value 100.0001b produces unpredictable results.  
7
NAK  
x
NAK = 0 Buffer contains a valid packet for host-in transaction  
NAK = 1 Buffer is empty (host-in request is NAK)  
210  
2.4.12 IEPSIZXY_n: Input Endpoint X/Y-Buffer Size (n=1 to 3)  
7
6
5
4
3
2
1
0
RSV  
R/O  
S
S
S
S
S
S
S
0
6
5
4
3
2
1
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
60  
S[6:0]  
x
X AND Y-Buffer size:  
0000.0000b > Count = 0  
0000.0001b > Count = 1 byte  
:
:
0011.1111b > Count = 63 bytes  
0100.0000b > Count = 64 bytes  
Any value 100.0001b produces unpredictable results.  
7
RSV  
x
Reserved  
2.5 Endpoint-0 Descriptor Registers  
UnlikeEDB-1 to EDB-3, which are defined as memory entries in SRAM, Endpoint-0 is described by a set of 4 registers  
(two for output and two for input). Table 25 defines the registers and their respective addresses used for EDB-0  
description. EDB-0 has no Base-Address-Register, since these addresses are hardwired to FEF8 and FEF0. Note  
that the bit positions have been preserved to provide consistency with EDB-n (n = 1 to 3).  
Table 25. Input/Output EDB-0 Registers  
ADDRESS  
FF83  
REGISTER NAME  
OEPBCNT_0  
OEPCNFG_0  
IEPBCNT_0  
DESCRIPTION  
BASE ADDRESS  
FEF0  
Output endpoint_0: byte count register  
Output endpoint_0: configuration register  
Input endpoint_0: byte count register  
Input endpoint_0: configuration register  
FF82  
FF81  
FF80  
IEPCNFG_0  
FEF8  
2.5.1 IEPCNFG_0: Input Endpoint-0 Configuration Register  
7
6
5
4
3
2
1
0
UBME  
R/W  
RSV  
R/O  
TOGLE  
R/O  
RSV  
R/O  
STALL  
R/W  
USBIE  
R/W  
RSV  
R/O  
RSV  
R/O  
BIT  
10  
2
NAME  
RSV  
RESET  
FUNCTION  
0
0
Reserved  
USBIE  
USB interrupt enable on transaction completion. Set/clear by MCU  
USBIE = 0 No interrupt  
USBIE = 1 Interrupt on transaction completion  
3
STALL  
0
USB stall condition indication. Set/clear by MCU.  
STALL = 0 No stall  
STALL = 1 USB stall condition. If set by MCU, a STALL handshake is initiated and the bit is cleared  
automaticallly by next setup transaction.  
4
5
6
7
RSV  
TOGLE  
RSV  
0
0
0
0
Reserved  
USB toggle bit. This bit reflects the toggle sequence bit of DATA0, DATA1  
Reserved  
UBME  
UBM enable/disable bit. Set/clear by MCU.  
UBME = 0 UBM cannot use this endpoint.  
UBME = 1 UBM can use this endpoint.  
211  
2.5.2 IEPBCNT_0: Input Endpoint-0 Byte Count Register  
7
6
5
4
3
2
1
0
NAK  
R/W  
RSV  
R/O  
RSV  
R/O  
RSV  
R/O  
C
C
C
C
0
3
2
1
R/W  
R/W  
R/W  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
30  
C[3:0]  
0000  
Byte count:  
0000b > Count = 0  
:
:
0111b > Count =7  
1000b > Count = 8  
1001b to 1111b are reserved. (If used, defaults to 8)  
64  
RSV  
NAK  
0
1
Reserved  
7
NAK= 0 Buffer contains a valid packet for host-in transaction  
NAK= 1 Buffer is empty (host-in request is NAK)  
2.5.3 OEPCNFG_0: Output Endpoint-0 Configuration Register  
7
6
5
4
3
2
1
0
UBME  
R/W  
RSV  
R/O  
TOGLE  
R/O  
RSV  
R/O  
STALL  
R/W  
USBIE  
R/W  
RSV  
R/O  
RSV  
R/O  
BIT  
10  
2
NAME  
RSV  
RESET  
FUNCTION  
0
0
Reserved  
USBIE  
USB interrupt enable on transaction completion. Set/clear by MCU  
USBIE = 0 no interrupt  
USBIE = 1 interrupt on transaction completion  
3
STALL  
0
USB stall condition indication. Set/clear by MCU.  
STALL = 0 No stall  
STALL = 1 USB stall condition. If set by MCU, a STALL handshake is initiated and the bit is cleared  
automaticallly.  
4
5
6
7
RSV  
TOGLE  
RSV  
0
0
0
0
Reserved  
USB toggle bit. This bit reflects the toggle sequence bit of DATA0, DATA1  
Reserved  
UBME  
UBM enable/disable bit. Set/clear by MCU.  
UBME = 0 UBM cannot use this endpoint.  
UBME = 1 UBM can use this endpoint.  
212  
2.5.4 OEPBCNT_0: Output Endpoint-0 Byte Count Register  
7
6
5
4
3
2
1
0
NAK  
R/W  
RSV  
R/O  
RSV  
R/O  
RSV  
R/O  
C
C
C
C
0
3
2
1
R/W  
R/W  
R/W  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
30  
C[3:0]  
0000  
Byte count:  
0000b > Count = 0  
:
:
0111b > Count =7  
1000b > Count = 8  
1001b to 1111b are reserved. (If used, defaults to 8)  
64  
RSV  
NAK  
0
1
Reserved = 0  
7
NAK= 0 No valid data in buffer. Ready for host out  
NAK= 1 Buffer contains a valid packet from host. (NAK the host)  
2.6 USB Registers  
2.6.1 FUNADR: Function Address Register  
This register contains the device function address.  
7
6
5
4
3
2
1
0
RSV  
R/O  
FA6  
R/W  
FA5  
R/W  
FA4  
R/W  
FA3  
R/W  
FA2  
R/W  
FA1  
R/W  
FA0  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
60  
FA[6:0]  
0000000 Thesebitsdefinethecurrentdeviceaddressassignedtothefunction. MCUwritesavaluetothisregisteras  
a result of SET-ADDRESS host command.  
7
RSV  
0
Reserved  
213  
2.6.2 USBSTA: USB Status Register  
All bits in this register are set by the hardware and will be cleared by MCU when writing a 1 to the proper bit location  
(writing a 0 has no effect). In addition, each bit can generate an interrupt if its corresponding mask bit is set (R/C  
notation indicates read and clear only by MCU).  
7
6
5
4
3
2
1
0
RSTR  
R/C  
SUSR  
R/C  
RESR  
R/C  
PWOFF  
R/C  
PWON  
R/C  
SETUP  
R/C  
RSV  
R/O  
STPOW  
R/C  
BIT  
NAME  
RESET  
FUNCTION  
0
STPOW  
0
SETUP overwrite bit. Set by hardware when setup packet is received while there is already a packet in the  
setup buffer.  
STPOW = 0 MCU can clear this bit by writing a 1. (Writing 0 has no effect)  
STPOW = 1 SETUP overwrite  
Reserved  
1
2
RSV  
0
0
SETUP  
SETUP transaction received bit.  
As long as SETUP is 1, IN and OUT on endpoint-0 is NAK regardless of the value of their real NAK bits.  
SETUP = 0  
SETUP = 1  
MCU can clear this bit by writing a 1. (Writing 0 has no effect)  
SETUP transaction received.  
3
4
5
PWON  
PWOFF  
RESR  
0
0
0
Power on request for Port-3.  
This bit indicates if power-onto Port-3has been received. Thisbit generatesaPWONinterrupt (If enabled).  
PWON = 0  
PWON = 1  
MCU can clear this bit by writing a 1. (Writing 0 has no effect)  
Power on to Port-3 has been received.  
Power off request for Port-3. This bit indicates whether power-off to Port-3 has been received. This bit  
generates a PWOFF interrupt (If enabled).  
PWOFF = 0 MCU can clear this bit by writing a 1. (Writing 0 has no effect)  
PWOFF = 1 Power off to Port-3 has been received  
Function resume request bit  
RESR = 0  
RESR = 1  
MCU can clear this bit by writing a 1. (Writing 0 has no effect)  
Function resume is detected  
6
7
SUSR  
RSTR  
0
0
Function suspended request bit. This bit is set in response to a global or selective suspend condition.  
SUSR =0 MCU can clear this bit by writing a 1. (Writing 0 has no effect)  
SUSR =1 Function suspend is detected.  
Function reset request bit. This bit is set in response to host initiating a port reset. This bit is not affected by  
USB function reset.  
RSTR = 0 MCU can clear this bit by writing a 1. (Writing 0 has no effect)  
RSTR = 1 Function reset is detected.  
214  
2.6.3 USBMSK: USB Interrupt Mask Register  
7
6
5
4
3
2
1
0
RSTR  
R/W  
SUSR  
R/W  
RESR  
R/W  
PWOFF  
R/W  
PWON  
R/W  
SETUP  
R/W  
RSV  
R/O  
STPOW  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
0
STPOW  
0
SETUP overwrite interrupt enable bit  
STPOW = 0 STPOW interrupt disabled  
STPOW = 1 STPOW interrupt enabled  
1
2
RSV  
0
0
Reserved = 0  
SETUP  
SETUP interrupt enable bit  
SETUP = 0 SETUP interrupt disabled  
SETUP = 1 SETUP interrupt enabled  
3
4
5
6
7
PWON  
PWOFF  
RESR  
SUSR  
RSTR  
0
0
0
0
0
Power-on interrupt enable bit  
PWON = 0 PWON interrupt disabled  
PWON = 1 PWON interrupt enabled  
Power-off interrupt enable bit  
PWOFF = 0 PWOFF interrupt disabled  
PWON = 1 PWOFF interrupt enabled  
Function resume interrupt enable  
RESR = 0 function resume interrupt disabled  
RESR = 1 function resume interrupt enabled  
Function suspend interrupt enable  
SUSR = 0 function suspend interrupt disabled  
SUSR = 1 function suspend interrupt enabled  
Function reset interrupt enable  
RSTR = 0 function reset interrupt disabled  
RSTR = 1 function reset interrupt enabled  
215  
2.6.4 USBCTL: USB Control Register  
Unlike the other registers, this register is cleared by the power-up-reset signal only. The USB-reset cannot reset this  
register. (See Figure 23: Reset Diagram)  
7
6
5
4
3
2
1
0
CONT  
R/W  
RSV  
R/O  
RWUP  
R/W  
FRSTE  
R/W  
RWE  
R/W  
B/S  
R/W  
SIR  
R/W  
DIR  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
0
DIR  
0
As a response to a setup packet, the MCU will decode the request and set or clear this bit to reflect the data  
transfer direction.  
DIR = 0 > USB data OUT transaction. (From host to TUSB3210)  
DIR = 1 > USB data IN transaction. (From TUSB3210 to host)  
1
SIR  
0
SETUP interrupt status bit. This bit is controlled by the MCU to indicate to the hardware when SETUP  
interrupt is being served.  
SIR = 0  
SETUP interrupt is not served. MCU will clear this bit before exiting the SETUP interrupt  
routine.  
SIR = 1  
SETUP interrupt is in progress. MCU will set this bit when servicing the SETUP interrupt.  
2
3
B/S  
0
0
Bus/Self power control bit  
B/S = 0 > The device is bus-powered  
B/S = 1 > The device is self-powered  
RWE  
Remote wake-up enable bit.  
RWE = 0  
RWE = 1  
MCU clears it when host sends command to clear the feature.  
MCU writes 1 to it when host sends set device feature command to enable remote wake-up  
feature  
4
5
FRSTE  
RWUP  
1
0
Function reset connection bit. This bit connects/disconnects the USB function reset from the MCU reset.  
FRSTE = 0 function reset is not connected to MCU reset  
FRSTE = 1 function reset is connected to MCU reset  
Device remote wake-up request. This bit is set by MCU and is cleared automatically.  
RWUP = 0 Writing a 0 to this bit has no effect.  
RWUP = 1 When MCU writes a 1, a Remote wake-up pulse is generated.  
Reserved  
6
7
RSV  
0
0
CONT  
Connect/Disconnect Bit  
CONT = 0 Upstream port is disconnected. Pullup disabled  
CONT = 1 Upstream port is connected. Pullup enabled  
2.6.5 VIDSTA: VID/PID Status Register  
Thisregisterisusedtoreadthevalueonfourexternalpins. Thefirmwarecanusethisvaluetoselectoneofthevendor  
identification/product identifications (VID/PID) stored in memory. The TUSB3210/D supports up to 16 unique  
VID/PIDs with application code to support different products. This provides a unique opportunity for original  
equipment manufacturers (OEM) to have one device ROM programmed to support up to 16 different product lines  
by using S0S3 to select VID/PID and behavioral application code for the selected product.  
7
6
5
4
3
2
1
0
RSV  
R/O  
RSV  
R/O  
RSV  
R/O  
RSV  
R/O  
S3  
S2  
S1  
S0  
R/O  
R/O  
R/O  
R/O  
BIT  
NAME  
RESET  
FUNCTION  
30  
S[3:0]  
x
VID/PID selection bits. These bits reflect the status of the external pins as defined by Table 27. Note that a  
pin tied Low will be reflected as 0 and a pin tied high will be reflected as a 1.  
74  
RSV  
0
Reserved = 0  
216  
Table 26. External Pins Mapping to S[3:0] in VIDSTA Register  
PIN  
NAME  
VIDSTA REGISTER  
COMMENTS  
NO.  
58  
57  
8
S[3:0]  
S0  
P3.0  
P3.1  
S2  
Dual function P3.0 I/O or S0 input  
Dual function P3.1 I/O or S1 input  
S2-pin is input  
S1  
S2  
9
S3  
S3  
S3-pin is input  
2.7 Function Reset and Power-Up Reset Interconnect  
Figure 23 represents the logical connection of USB-function-reset (USBR) and power-up-reset (RST-pin). The  
internal RESET signal is generated from the RST pin (PURS signal) or from the USB-reset (USBR signal). The USBR  
can be enabled or disabled by the FRSTE bit in the USBCTL register (on power up FRSTE is = 0). The internal RESET  
is used to reset all registers and logic, with the exception of the USBCTL and MISCTL registers. The USBCTL and  
MCU configuration register (MCNFG) are cleared by PURS signal only.  
USBCTL Register  
MCNFG Register  
All Internal MMR  
RST  
PURS  
RESET  
MCU  
USBR  
WDT Reset  
USB Function Reset  
WDE  
FRSTE  
Figure 23. Reset Diagram  
217  
2.8 Pullup Resistor Connect/Disconnect  
After reading firmware into RAM the TUSB3210 can re-enumerate using the new firmware (no need to physically  
disconnect and re-connect the cable). Figure 24 shows an equivalent circuit implementation for Connect and  
Disconnect from a USB up-stream port (also see Firgure 44b). When CONT bit in USBCTL register is 1, the CMOS  
driver sources VDD to the pullup resistor (PUR pin) presenting a normal connect condition to the USB hub (high  
speed). When CONT bit is 0, PUR pin is driven low. In this state, the 1.5 kresistor is connected to GND, resulting  
in device disconnection state. The PUR driver is a CMOS driver that can provide (VDD0.1) volt minimum at 8 mA  
source current.  
CMOS  
PUR  
CONT-Bit  
1.5 kΩ  
TUSB2036A  
D+  
D–  
DP0  
DM0  
15 kΩ  
15 kΩ  
HUB  
TUSB3210  
Figure 24. Pullup Resistor Connect/Disconnect Circuit  
2.9 8052 Interrupt and Status Registers  
All 8052 standard 5 interrupt sources are preserved. SIE is the standard interrupt enable register, which controls the  
five interrupt sources. All the additional interrupt sources are connected together as an OR to generate EX0. XINTO#  
signal is provided to interrupt an external MCU (see Interrupt connection diagram, Figure 25).  
Table 27. 8052 Interrupt Location Map  
INTERRUPT  
SOURCE  
DESCRIPTION  
START  
ADDRESS  
COMMENTS  
ES  
ET1  
EX1  
ET0  
EX0  
Reset  
UART interrupt  
Timer1 interrupt  
Internal INT1  
0023H  
001BH  
0013H  
000BH  
0003H  
0000H  
Used for P2[7:0] interrupt  
Timer0 interrupt  
Internal INT0  
Used for all internal peripherals  
218  
2.9.1 8052 Standard Interrupt Enable Register  
7
6
5
4
3
2
1
0
EA  
RSV  
R/O  
RSV  
R/O  
ES  
ET1  
R/W  
EX1  
R/W  
ET0  
R/W  
EX0  
R/W  
R/W  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
0
EX0  
0
Enable or disable external interrupt-0  
EX0 = 0 external interrupt-0 is disabled  
EX0 = 1 external interrupt-0 is enabled  
1
2
3
4
ET0  
EX1  
ET1  
ES  
0
0
0
0
Enable or disable timer-0 interrupt  
ET0 = 0 timer-0 interrupt is disabled  
ET0 = 1 timer-0 interrupt is enabled  
Enable or disable external interrupt-1  
EX1 = 0 external interrupt-1 is disabled  
EX1 = 1 external interrupt-1 is enabled  
Enable or disable timer-1 interrupt  
ET1 = 0 timer-1 interrupt is disabled  
ET1 = 1 timer-1 interrupt is enabled  
Enable or disable serial port interrupts  
ES = 0 serial port interrupt is disabled  
ES = 1 serial port interrupt is enabled  
5,6  
7
RSV  
EA  
0
0
Reserved  
Enable or disable all interrupts (global disable)  
EA = 0 disable all interrupts  
EA = 1 each interrupt source is individually controlled.  
2.9.2 Additional Interrupt Sources  
2
All nonstandard 8052 interrupts (USB, I C, etc.) are connected as an OR to generate an internal INT0. It must be  
noted that the external INT0 and INT1 are not used. Furthermore, INT0 must be programmed as an active low level  
interrupt (not edge triggered). A vector interrupt register is provided to identify all interrupt sources (see vector  
interrupt register definition). Up to 64 interrupt vectors are provided. It is the responsibility of the MCU to read the  
vector and dispatch the proper interrupt routine.  
219  
2.9.3 VECINT: Vector Interrupt Register  
This register contains a vector value identifying the internal interrupt source that trapped to location 0003H. Writing  
any value to this register removes the vector and update the next vector value (if another interrupt is pending). Note  
that the vector value is offset. Therefore, its value is in increments of two (bit-0 is set to 0). When no interrupt is  
pending, the vector is set to 00h. (see Table 28: Vector Interrupt Values). As shown, the interrupt vector is divided  
into two fields; I[2:0] and G[3:0]. The I-field defines the interrupt source within a group (on first come first served basis)  
and the G-field, which defines the group number. Group G0 is the lowest and G15 is the highest priority.  
7
6
5
4
3
I2  
2
I1  
1
I0  
0
0
G3  
G2  
G1  
G0  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/O  
BIT  
NAME  
RESET  
FUNCTION  
31  
I[2:0]  
000  
This field defines the interrupt source in a given group. See Table 28: Vector Interrupt Values.  
Bit-0 is always = 0, therefore, vector values will be offset by two.  
74  
G[3:0]  
0000  
This field defines the interrupt group. I[2:0] and G[3:0] combine to produce the actual interrupt vector.  
Table 28. Vector Interrupt Values  
G[3:0]  
(Hex)  
I[2:0]  
(Hex)  
VECTOR  
(Hex)  
INTERRUPT SOURCE  
0
1
0
0
00  
10  
No interrupt  
NOT USED  
1
1
12  
Output endpoint-1  
Output endpoint-2  
Output endpoint-3  
NOT USED  
1
2
14  
1
3
16  
1
47  
0
181E  
20  
2
NOT USED  
2
1
22  
Input endpoint-1  
Input endpoint-2  
Input endpoint-3  
NOT USED  
2
2
24  
2
3
26  
2
47  
0
282E  
30  
3
STPOW packet received  
SETUP packet received  
PWON interrupt  
PWOFF interrupt  
RESR interrupt  
SUSR interrupt  
RSTR interrupt  
RESERVED  
3
1
32  
3
2
34  
3
3
36  
3
4
38  
3
5
3A  
3
6
3C  
3
7
3E  
4
0
40  
I2C TXE interrupt  
I2C RXF interrupt  
Input endpoint0  
Output endpoint0  
NOT USED  
4
1
42  
4
2
44  
4
3
46  
4
47  
X
48 4E  
90 FE  
515  
NOT USED  
220  
2.9.4 Logical Interrupt Connection Diagram (INT0)  
Figure 25 represents the logical connection of the interrupt sources and its relation with XINTO#. The priority  
encoder generates an 8-bit vector, corresponding to 64 interrupt sources (not all are used). The interrupt priorities  
are hard wired. Vector 4E is the highest and 00 is the lowest.  
Interrupts  
Priority  
Encoder  
EX0  
Vector  
Figure 25. Internal Vector Interrupt (EX0)  
2.9.5 P2[7:0] Interrupt (INT1)  
Figure26illustratestheconceptualPort-2interrupt. AllPort-2inputsignalsareconnectedinalogicalORtogenerate  
INT1 interrupt. Note that the inputs are active low and INT1 is programed as an edge-triggered interrupt. In addition,  
INT1 is connected to the suspend/resume logic for remote wake-up support. As illustrated, XINT-bit in MCU  
configuration register (MCNFG) is used to select the EXI interrupt source. When XINT = 0, P3.3 is the source, and  
when XINT = 1, P2[7:0] is the source.  
P2[7:0]  
EX1  
(INT1)  
Suspend/  
Resume  
Logic  
1
P3.3  
XINT-Bit  
Figure 26. P2[7:0] Input Port Interrupt Generation  
221  
2.10 I2C Registers  
2.10.1 I2CSTA: I2C Status and Control Register  
This register is used to control the stop condition for read and write operation. In addition, it provides transmitter and  
receiver handshake signals with their respective interrupt enable bits.  
7
6
5
4
3
2
1
0
RXF  
R/C  
RIE  
R/W  
ERR  
R/C  
1/4  
R/W  
TXE  
R/C  
TIE  
R/W  
SRD  
R/W  
SWR  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
0
SWR  
0
Stopwrite condition. This bit defines if the I2C controller generates a stop condition when data from I2CDAO  
register is transmitted to an external device.  
SWR = 0 Stop condition is not generated when data from I2CDAO register is shifted out to an external  
device.  
SWR = 1 Stopcondition is generated when data from I2CDAO register is shifted out to an external device.  
1
SRD  
0
Stop read condition. This bit defines if the I2C controller will generate a stop condition when data is received  
and loaded into I2CDAI register.  
SRD = 0 Stop condition is not generated when data from SDA line is shifted into I2CDAI register.  
SRD = 1 Stop condition is generated when data from SDA line is shifted into I2CDAI register.  
2
2
3
TIE  
0
1
I C transmitter empty interrupt enable.  
TIE = 0 Interrupt disable  
TIE = 1 Interrupt enable  
2
TXE  
I Ctransmitterempty. Thisbitindicatesthatdatacanbewrittentothetransmitter. Itcanbeusedforpollingor  
it can generate an interrupt.  
TXE = 0 Transmitter is full. This bit is cleared when MCU writes a byte to I2CDAO register.  
TXE = 1 Transmitter is empty. The I2C controller sets this bit when the content of I2CDAO register is  
copied to the SDA shiftregister.  
4
5
1/4  
0
0
Bus speed selection.  
¼ = 0 > 100 kHz bus speed  
¼ = 1 > 400 kHz bus speed  
ERR  
Bus error condition. This bit is set by the hardware when the device does not respond. It is cleared by the  
MCU.  
ERR = 0 No bus error  
ERR = 1 Bus error condition has been detected. Clears when MCU writes a 1. Writing a 0 has no effect.  
2
6
7
RIE  
0
0
I C receiver ready interrupt enable.  
RIE = 0 Interrupt disable  
RIE = 1 Interrupt enable  
2
RXF  
I C receiver full. This bit indicates that the receiver contains new data. It can be used for polling or it can  
generate an interrupt.  
RXF = 0 Receiver is empty. This bit is cleared when MCU reads the I2CDAI register.  
RXF = 1 Receivercontainsnewdata. ThisbitissetbytheI2Ccontrollerwhenthereceivedserialdatahas  
been loaded into I2CDAI register  
222  
2.10.2 I2CADR: I2C Address Register  
This register holds the device address and the read/write command bit.  
7
6
5
4
3
2
1
0
A
A
A
A
A
A
A
0
R/W  
R/W  
6
5
4
3
2
1
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
0
R/W  
0
Read/write command bit.  
R/W = 0 Write operation  
R/W = 1 Read operation  
71  
A[6:0]  
0000000 Seven address bits for device addressing.  
2.10.3 I2CDAI: I2C Data-Input Register  
This register holds the received data from an external device.  
7
6
5
4
3
2
1
0
D
D
D
D
D
D
D
D
0
7
6
5
4
3
2
1
R/O  
R/O  
R/O  
R/O  
R/O  
R/O  
R/O  
R/O  
BIT  
NAME  
RESET  
FUNCTION  
70  
D[7:0]  
0
8-bit input data from an I2C device  
2.10.4 I2CDAO: I2C Data-Output Register  
This register holds the data to be transmitted to an external device. Writing to this register starts the transfer on the  
SDA line.  
7
6
5
4
3
2
1
0
D7  
D6  
D5  
D4  
D3  
D2  
D1  
D0  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
BIT  
NAME  
RESET  
FUNCTION  
70  
D[7:0]  
0
8-bit output data to an I2C device  
2.11 Read/Write Operations  
2.11.1 Read Operation (Serial EEPROM)  
A serial read requires a dummy byte write sequence to load in the 16-bit data word address. Once the device address  
word and data word address is clocked out and acknowledged by the device, the MCU starts a current address  
sequence. The following describes the sequence of events to accomplish this transaction:  
Device Address + EEPROM [High-byte]  
MCU sets I2CSTA[SRD] = 0. This forces the I2C controller not to generate a stop condition after the content  
of I2CDAI register is received.  
MCU sets I2CSTA[SWR] = 0. This forces the I2C controller to NOT generate a stop condition after the  
content of I2CDAO register is transmitted.  
MCU writes the device address (R/W bit = 0) to I2CADR register (write operation)  
MCU writes the High-Byte of the EEPROM address into I2CDAO register, starting the transfer on SDA line  
TXE bit in I2CSTA is cleared, indicating busy  
223  
The content of I2CADR register is transmitted to the EEPROM (preceded by start condition on SDA)  
The content of I2CDAO register is transmitted to the EEPROM (EEPROM address)  
TXE bit in I2CSTA is set, and interrupts the MCU, indicating that I2CDAO register has been transmitted  
No stop condition is generated  
EEPROM [Low-byte]  
MCU writes the Low-byte of the EEPROM address into I2CDAO register  
TXE bit in I2CSTA is cleared, indicating busy  
The content of I2CDAO register is transmitted to the device (EEPROM address)  
TXE bit in I2CSTA is set, and interrupts the MCU, indicating that I2CDAO register has been transmitted  
This completes the dummy write operation. At this point, the EEPROM address is set and the MCU can do  
a single or a sequential read operation.  
2.11.2 Current Address Read Operation  
Once the EEPROM address is set the MCU can read a single byte by executing the following steps:  
1. MCU sets I2CSTA[SRD] = 1, forcing the I2C controller to generate a stop condition after I2CDAI register  
is received.  
2. MCU writes the device address (R/W bit = 1) to I2CADR register (read operation).  
3. MCU writes a dummy byte to I2CDAO register, starting the transfer on SDA line  
4. RXF bit in I2CSTA is cleared  
5. The content of I2CADR register is transmitted to the device, preceded by start condition on SDA  
6. Data from the EEPROM is latched in I2CDAI register (stop condition is transmitted)  
7. RXF bit in I2CSTA is set, and interrupt the MCU, indicating that the data is available.  
8. MCU reads I2CDAI register. This clears RXF bit (I2CSTA[RXF] = 0)  
9. END  
2.11.3 Sequential Read Operation  
Once the EEPROM address is set, the MCU can execute a sequential read operation by executing the following steps  
(Note: this example illustrates 32-byte sequential read):  
1. Device Address  
MCU sets I2CSTA[SRD] = 0. This forces the I2C controller to not generate a stop condition after I2CDAI  
register is received  
MCU writes the device address (R/W bit = 1) to I2CADR register (read operation)  
MCU writes a dummy byte to I2CDAO register, starting the transfer on SDA line  
RXF bit in I2CSTA is cleared  
The content of I2CADR register is transmitted to the device (preceded by start condition on SDA)  
2. N-Byte Read (31-bytes)  
Data from the device is latched in I2CDAI register (stop condition is not transmitted)  
RXF bit in I2CSTA is set, and interrupt the MCU, indicating that data is available  
224  
MCU reads I2CDAI register, clearing RXF bit (I2CSTA[RXF] = 0)  
This operation repeats 31 times  
3. Last-Byte read (byte No. 32)  
MCU sets I2CSTA[SRD] = 1. This forces the I2C controller to generate a stop condition after I2CDAI  
register is received  
Data from the device is latched in I2CDAI register (Stop condition is transmitted)  
RXF bit in I2CSTA is set, and interrupt the MCU, indicating that data is available  
MCU reads I2CDAI register, clearing RXF bit (I2CSTA[RXF] = 0)  
END  
2.11.4 Write Operation (Serial EEPROM)  
Byte write operation involves three phases: 1) device address + EEPROM [Highbyte] phase, 2) EEPROM  
[Lowbyte] phase, and 3) EEPROM [DATA]. The following describes the sequence of events to accomplish the byte  
write transaction:  
Device Address + EEPROM [High-byte]  
MCU sets I2CSTA[SWR] = 0. This forces the I2C controller to not generate a stop condition after the content  
of I2CDAO register is transmitted.  
MCU writes the device address (R/W bit = 0) to I2CADR register (write operation)  
MCU writes the high-byte of the EEPROM address into I2CDAO register, starting the transfer on SDA line  
TXE bit in I2CSTA is cleared, indicating busy  
The content of I2CADR register is transmitted to the device (preceded by start condition on SDA)  
The content of I2CDAO register is transmitted to the device (EEPROM high-address)  
TXE bit in I2CSTA is set, and interrupts the MCU, indicating that I2CDAO register has been transmitted  
EEPROM [Low-byte]  
MCU writes the lowbyte of the EEPROM address into I2CDAO register  
TXE bit in I2CSTA is cleared, indicating busy  
The content of I2CDAO register is transmitted to the device (EEPROM address)  
TXE bit in I2CSTA is set, and interrupts the MCU, indicating that I2CDAO register has been transmitted  
EEPROM [DATA]  
MCU sets I2CSTA[SWR] = 1. This forces the I2C controller to generate a stop condition after the content  
of I2CDAO register is transmitted.  
MCU writes the DATA to be written to the EEPROM into I2CDAO register  
TXE bit in I2CSTA is cleared, indicating busy  
The content of I2CDAO register is transmitted to the device (EEPROM data)  
TXE bit in I2CSTA is set, and interrupts the MCU, indicating that I2CDAO register has been transmitted  
I2C controller generates a stop condition after the content of I2CDAO register is transmitted  
END  
225  
2.11.5 Page Write Operation  
Page write operation is initiated the same way as byte write, with the exception that stop condition is not generated  
after the first EEPROM [DATA] is transmitted. The following describes the sequence of writing 32-bytes in page mode:  
Device Address + EEPROM [High-byte]  
MCU sets I2CSTA[SWR] = 0. This forces the I2C controller to not generate a stop condition after the content  
of I2CDAO register is transmitted.  
MCU writes the device address (R/W bit = 0) to I2CADR register (write operation)  
MCU writes the high-byte of the EEPROM address into I2CDAO register.  
TXE bit in I2CSTA is cleared, indicating busy  
The content of I2CADR register is transmitted to the device (preceded by start condition on SDA)  
The content of I2CDAO register is transmitted to the device (EEPROM address)  
TXE bit in I2CSTA is set, and interrupt the MCU, indicating that I2CDAO register has been sent.  
EEPROM [Low-byte]  
MCU writes the low-byte of the EEPROM address into I2CDAO register  
TXE bit in I2CSTA is cleared, indicating busy  
The content of I2CDAO register is transmitted to the device. (EEPROM address)  
TXE bit in I2CSTA is set, and interrupts the MCU, indicating that I2CDAO register has been sent.  
31 Bytes EEPROM [DATA]  
MCU writes the DATA to be written to the EEPROM into I2CDAO register  
TXE bit in I2CSTA is cleared, indicating busy  
The content of I2CDAO register is transmitted to the device (EEPROM data)  
TXE bit in I2CSTA is set, and interrupts the MCU, indicating that I2CDAO register has been sent.  
This operation repeats 31 times.  
Last Byte EEPROM [DATA]  
MCU sets I2CSTA[SWR] = 1. This forces the I2C controller to generate a stop condition after the content  
of I2CDAO register is transmitted.  
MCU writes the last DATA byte to be written to the EEPROM into I2CDAO register  
TXE bit in I2CSTA is cleared, indicating busy  
The content of I2CDAO register is transmitted to the EEPROM (EEPROM data)  
TXE bit in I2CSTA is set, and interrupts the MCU, indicating that I2CDAO register has been sent  
I2C controller generates a stop condition after the content of I2CDAO register is transmitted  
END of 32-byte page write operation  
226  
3 Electrical Specifications  
3.1 Absolute Maximum Ratings Over Operating Free-Air Temperature  
(unless otherwise noted)  
Supply voltage, V  
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0.5 V to 4 V  
CC  
Input voltage, V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0.5 V to V  
+ 0.5 V  
+ 0.5 V  
I
CC  
CC  
Output voltage, V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0.5 V to V  
O
Input clamp current, I . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ±20 mA  
IK  
OK  
Output clamp current, I  
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ±20 mA  
Storage temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65°C to 150°C  
Stresses beyond those listed under absolute maximum ratingsmay cause permanent damage to the device. These are stress ratings only, and  
functional operation of the device at these or any other conditions beyond those indicated under recommended operating conditionsis not  
implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability.  
3.2 Commercial Operating Condition  
PARAMETER  
MIN NOM  
MAX  
UNIT  
V
V
V
V
V
Supply voltage  
3
0
2
0
0
3.3  
3.6  
CC  
Input voltage  
V
V
V
I
CC  
High level input voltage  
Low level input voltage  
Operating temperature  
V
IH  
IL  
CC  
0.8  
V
T
A
70  
°C  
3.3 Electrical Characteristics, T = 25°C, V  
= 3.3 V ± 0.3V, GND = 0 V  
A
CC  
PARAMETER  
TEST CONDITIONS  
MIN NOM  
MAX  
UNIT  
V
V
OH  
V
OL  
V
IT+  
V
IT–  
V
hys  
High-level output voltage  
I
I
= 4 mA  
V 0.5  
CC  
OH  
Low-level output voltage  
= 4 mA  
0.5  
2
V
OL  
Positive input threshold voltage  
Negative input threshold voltage  
V = V  
V
I
IH  
IH  
IH  
IH  
IL  
V = V  
I
0.8  
V
Hysteresis (V  
IT+  
V  
)
V = V  
I
1
V
IT–  
I
I
I
High-level input current  
Low-level input current  
V = V  
I
±1  
±1  
10  
µA  
µA  
µA  
pF  
pF  
mA  
µA  
IH  
V = V  
I
IL  
Output Leakage Current (Hi-Z)  
Input capacitance  
Output capacitance  
Quiescent  
V = V  
I
or V  
CC SS  
OZ  
C
C
5
7
I
O
I
I
25  
45  
45  
CC  
Suspend  
CCx  
31  
32  
4 Application  
4.1 Examples  
Figure 41 illustrates the Port-3 pins that are assigned to drive the four example LEDs. For the connection example  
shown, P3[7:4] can sink up to 12 mA (open-drain output). Figure 42 illustrates the partial connection bus power  
mode. Figure 43 shows the USB upstream connection, and Figure 44 illustrates the downstream connection (only  
one port shown).  
V
CC  
TUSB3210  
P3.2  
P3.3  
P3.4  
P3.5  
Figure 41. Example LED Connection  
C5  
C4  
V
CC  
R4  
TPS76333  
VR  
X1  
X2  
5 V  
C1  
V
V
SCL  
SDA  
CC  
EPROM  
C2  
CC  
C3  
R5  
TUSB3210  
R1  
R2  
V
CC  
V
DDOUT  
VREN  
SUSP  
R3  
Figure 42. Partial Connection Bus Power Mode  
41  
PUR  
Bus PWR  
(5 V)  
3.3 V  
1.5 kΩ  
1.5 kΩ  
DP0  
DM0  
DP0  
DM0  
D+  
D+  
D–  
D–  
(a)  
(b)  
Figure 43. Upstream Connection (a) Non-Switching Power Mode (b) Switching Power Mode  
5 V  
To Power Switch  
DP1  
DM1  
R1  
R2  
D+  
D–  
15 kΩ  
15 kΩ  
GND  
NOTE: Ferrite beads can be used on power lines to help ESD.  
Figure 44. Downstream Connection (Only One Port Shown)  
4.2 Reset Timing  
There are two requirements for the reset signal timing. First, the reset window should be between 100 msec and 10  
msec. At power up, this time is measured from the time the power ramps up to 90% of the nominal Vcc until the reset  
signal goes high (above 1.2 V). The second requirement is that the clock has to be valid during the last 60 msec of  
the reset window. These two requirements are depicted in Figure 45. Notice that when using a 12 MHz crystal or  
the 48 MHz oscillator, the clock signal may take several milliseconds to ramp up and become valid after power up.  
Therefore, the reset window may need to be elongated up to 10 msec. to ensure that there is a 60 msec overlap with  
a valid clock.  
V
CC  
3.3 V  
CLK  
90%  
RESET  
1.2 V  
0 V  
t
>60 µs  
100 µs < RESET TIME < 10 ms  
Figure 45. Reset Timing  
42  
5 Mechanical Data  
PM (S-PQFP-G64)  
PLASTIC QUAD FLATPACK  
0,27  
0,17  
0,50  
48  
M
0,08  
33  
49  
32  
64  
17  
0,13 NOM  
1
16  
7,50 TYP  
Gage Plane  
10,20  
SQ  
9,80  
0,25  
12,20  
SQ  
0,05 MIN  
0°ā7°  
11,80  
1,45  
1,35  
0,75  
0,45  
Seating Plane  
1,60 MAX  
0,08  
4040152/C 11/96  
NOTES: A. All linear dimensions are in millimeters.  
B. This drawing is subject to change without notice.  
C. Falls within JEDEC MS-026  
D. May also be thermally enhanced plastic with leads connected to the die pads.  
51  
52  

相关型号:

TUSB3210PM

UNIVERSAL SERIAL BUS GENERAL-PURPOSE DEVICE CONTROLLER
TI

TUSB3210PMG4

Universal Serial Bus General-Purpose Device Controller
TI

TUSB3210_1

Universal Serial Bus General-Purpose Device Controller
TI

TUSB3210_15

Universal Serial Bus General-Purpose Device Controller
TI

TUSB321AI

支持 VCONN 的 USB Type-C 配置通道逻辑和端口控制
TI

TUSB321AIRWBR

支持 VCONN 的 USB Type-C 配置通道逻辑和端口控制 | RWB | 12 | -40 to 85
TI

TUSB321RWBR

支持 VCONN 的 USB Type-C 配置通道逻辑和端口控制 | RWB | 12 | 0 to 70
TI

TUSB322I

支持 VCONN 的 USB Type-C 配置通道逻辑和端口控制
TI

TUSB322IRWBR

支持 VCONN 的 USB Type-C 配置通道逻辑和端口控制 | RWB | 12 | -40 to 85
TI

TUSB3410

USB TO SERIAL PORT CONTROLLER
TI

TUSB3410-Q1

USB To Serial Port Controller
TI

TUSB3410IRHB

500mA, Low Quiescent Current, Ultra-Low Noise, High PSRR Low Dropout Linear Regulator
TI