Standard Microsystems is a registered trademark of Standard Microsystems Corporation, and SMSC is a trademark of Standard Microsystems
Corporation. Product names and company names are the trademarks of their respective holders. Circuit diagrams utilizing S MSC products are incl uded
as a means of illustrating typical applications; consequently complete information sufficient for construction purposes is not necessarily given. Although
the information has been checked and is believed to be accurate, no responsibility is assumed for inaccuracies. SMSC reserves the right to make
changes to specifications and product descriptions at any time without notice. Contact your local SMSC sales office to obtain the latest speci fications
before placing your product order. The provision of this information does not convey to the purchaser of the semiconductor devices described any
licenses under the patent rights of SMSC or others. All sales are expressly conditional on your agreement to the terms and conditions of the most
recently dated version of SMSC's standard Terms of Sale Agreement dated before the date of your order (the "Terms of Sale Agreem ent" ). T he product
may contain design defects or errors known as anomalies which may cause the product's functions to deviate from published specifications. Anom aly
sheets are available upon request. SMSC products are not designed, intended, authorized or warranted for use in any life support or other application
where product failure could cause or contribute to personal injury or severe property damage. Any and all such uses without prior written approval of an
Officer of SMSC and further testing and/or modification will be fully at the risk of the customer. Copies of this document or other SMSC literature, as well
as the Terms of Sale Agreement, may be obtained by visiting SMSC’s website at http://www.smsc.com.
SMSC DISCLAIMS AND EXCLUDES ANY AND ALL WARRANTIES, INCLUDING WITHOUT LIMITATION ANY AND ALL IMPLIED WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND AGAINST INFRINGEMENT, AND ANY AND ALL WARRANTIES
ARISING FROM ANY COURSE OF DEALING OR USAGE OF TRADE.
IN NO EVENT SHALL SMSC BE LIABLE FOR ANY DIRECT, INCIDENTAL, INDIRECT, SPECIAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES,
OR FOR LOST DATA, PROFITS, SAVINGS OR REVENUES OF ANY KIND; REGARDLESS OF THE FORM OF ACTION, WHETHER BASED ON
CONTRACT, TORT, NEGLIGENCE OF SMSC OR OTHERS, STRICT LIABILITY, BREACH OF WARRANTY, OR OTHERWISE; WHETHER OR NOT
ANY REMEDY IS HELD TO HAVE FAILED OF ITS ESSENTIAL PURPOSE; AND WHETHER OR NOT SMSC HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
Table 18 – SRAM Data Port Register..........................................................................................................................26
Table 25 – SIE Configuration Register........................................................................................................................29
Table 26 - USB Bus Status Register...........................................................................................................................30
Table 27 – USB Bus Status Mask Register.................................................................................................................30
Table 28 – SIE Status Register...................................................................................................................................31
Table 29 – SIE Status Mask Register..........................................................................................................................31
Table 30 – USB Configuration Number Register.........................................................................................................32
Table 31 – Endpoint 0 Receive Control Register........................................................................................................ 32
Table 32 – Endpoint 0 Transmit Control Register....................................................................................................... 32
Table 33 – Endpoint 1 Receive Control Register........................................................................................................ 32
Table 34 – Endpoint 1 Transmit Control Register....................................................................................................... 33
Table 35 – Endpoint 2 Control Register...................................................................................................................... 33
Table 50 – USB Error Register.................................................................................................................................... 37
Table 51 – MSB ATA Data Register............................................................................................................................ 38
Table 52 – LSB ATA Data Register............................................................................................................................. 38
Table 53 – ATA Transfer Count Register 0................................................................................................................. 38
Table 54 – ATA Transfer Count Register 1................................................................................................................. 38
Table 55 – ATA Transfer Count Register 2................................................................................................................. 38
Table 56 – ATA Transfer Count Register 3................................................................................................................. 39
Table 57 –ATA Control Register..................................................................................................................................39
Table 59 – IDE Timing Register..................................................................................................................................40
Table 60 –ATA Slew Rate Control A Register............................................................................................................. 42
Table 61 –ATA Slew Rate Control B Register............................................................................................................. 42
Table 62 – IDE Transaction Timing............................................................................................................................. 45
Table 63 – ULTRA ATA/66 Control Signal Assignments.............................................................................................46
The USB97C201 is a USB2.0 Mass Storage Class Peripheral Controller intended for use with standard ATA hard
drives and standard ATAPI-5 devices.
The device consists of a USB 2.0 PHY and SIE, buffers, Fast 8051 microprocessor with expanded scratchpad and
768 of program SRAM, and an ATA-66 compatible interface.
Provisions for external Flash Memory up to 64K bytes for program storage is provided.
Internal 768 Bytes of program SRAM are also provided.. This internal SRAM is used for program storage to
implement program upgrade via USB download to “boot block” Flash program memory, if desired.
Eight GPIO pins are provided for controlling external power control elements and sensing specialized drive functions.
Provisions are made to allow dynamic attach and re-attach to the USB bus to allow hot swap of drives to be
implemented.
IDE_DRQISThis pin is the active high DMA request from
DISK DRIVE INTERFACE
the ATA/ATAPI interface.
IDE IO Read
Strobe
IDE Register
Address 1
IDE Register
Address 0
IDE Register
Address 2
IDE DataIDE_D15IO20This pin is the bi-directional data bus bit 15
IDE IO Write
Strobe
IDE DMA
Acknowledge
IDE Interrupt
Request
IDE DataIDE_D13IO20This pin is the bi-directional data bus bit 13
IDE_nIORO20This pin is the active low read signal for the
interface.
IDE_SA1O20This pin is the register select address bit 1
signal for the ATA/ATAPI interface.
IDE_SA0O20This pin is the register select address bit 0
signal for the ATA/ATAPI interface.
IDE_SA2O20This pin is the register select address bit 2
signal for the ATA/ATAPI interface.
signal for the ATA/ATAPI interface.
IDE_nIOWO20This pin is active low write signal for the
ATA/ATAPI interface.
IDE_nDACKO20This pin is the active low DMA acknowledge
signal for the ATA/ATAPI interface.
IDE_IRQISThis pin is the active high interrupt request
signal for the ATA/ATAPI interface.
signal for the ATA/ATAPI interface.
IDE DataIDE_D14IO20This pin is the bi-directional data bus bit 14
signal for the ATA/ATAPI interface.
.
IDE Chip
Select 0
IDE Chip
Select 1 0
IDE DataIDE_D[0:12]IO20These pins are bits 0-12 of the ATA/ATAPI bi-
IO ReadyIORDYIThis pin is the active high IORDY signal from
IDE_nCS0O20This pin is the active low chip select 0 signal
for the ATA/ATAPI interface.
IDE_nCS1O20This pin is the active low select 1 signal for the
ATA/ATAPI interface.
directional data bus.
the IDE drive.
SMSC DS – USB97C201Page 10Rev. 03/25/2002
PRELIMINARY
USB Bus
Data
USB
Transceiver
Filter
USB
Transceiver
Bias
Termination
Resistor
Full Speed
USB Data
Memory Data
Bus
Memory
Address Bus
Memory Write
Strobe
Memory Read
Strobe
IO Read
Strobe
IO Write
Strobe
USB INTERFACE
USBUSB+
LOOPFLTRThis pin provides the ability to supplement the
RBIASA 9.09 Kohm precision resistor is attached
RTERMA precision 1.5Kohm precision resistor is
FSFS+
MD[7:0]IO12These signals are used to transfer data
MA[15:0]O12These signals address memory locations
nMWRO12Program Memory Write; active low
nMRDO12Program Memory Read; active low
nIORO12XDATA space Read; active low
nIOWO12XDATA space Write; active low
IO-UThese pins connect to the USB bus data
signals.
internal filtering of the transceiver with an
external network, if required.
from ground to this pin to set the transceiver’s
internal bias currents.
attached to this pin from a 3.3V supply.
IO-UThese pins connect to the USB- and USB+
pins through 31.6 ohm series resistors.
MEMORY/IO INTERFACE
between the internal CPU and the external
program memory.
within the external memory.
SMSC DS – USB97C201Page 11Rev. 03/25/2002
PRELIMINARY
MISC
Crystal
Input/External
Clock Input
Crystal
Output
Clock Output CLKOUTO8This pin produces a 30Mhz clock signal
General
Purpose I/O
RESET input nRESETISThis active low signal is used by the system to
Test inputnTest[0:2}IPThese signals are used for testing the chip.
XTAL1/
CLKIN
XTAL2OCLKx12Mhz Crystal
GPIO[0:7]IO20These general purpose pins may be used
POWER, GROUNDS, and NO CONNECTS
VDD+2.5V Core power
VDDIO+3.3V I/O power
VDDP+2.5 Analog power
VSSPAnalog Ground Reference
VDDA+3.3V Analog power
VSSAAnalog Ground Reference
GNDGround Reference
NCNo Connect. These pins should not be
ICLKx12Mhz Crystal or external clock input.
This pin can be connected to one terminal of
the crystal or can be connected to an external
12Mhz clock when a crystal is not used.
This is the other terminal of the crystal, or left
open when an external clock source is used to
drive XTAL1/CLKIN. It may not be used to
drive any external circuitry other than the
crystal circuit.
independent of the processor clock divider. It
is held inactive and low whenever the internal
processor clock is stopped or is being
obtained from the ring oscillator.
either as inputs, edge sensitive interrupt
inputs, or outputs. In addition, GPIO0 has the
capability of auto-toggling at a 1Hz rate when
used as an output.
reset the chip. The active low pulse should be
at least 100ns wide.
User should normally leave them
unconnected. For board testing, all pads
except these test inputs are included in an
XNOR chain, such that by tying nTEST2 low,
nIOR will reflect the toggling of a signal on
each pin. Circuit board continuity of the pin
solder connections after assembly can be
checked in this manner
connected externally.
SMSC DS – USB97C201Page 12Rev. 03/25/2002
PRELIMINARY
5.1 BUFFER TYPE DESCRIPTIONS
Table 1 - USB97C201 Buffer Type Descriptions
BUFFERDESCRIPTION
IInput
ISInput with Schmitt trigger
IO8Input/Output with 8 mA drive
O8Output with 8mA drive
O12Output with 12mA drive
IO20Input/output with 20mA drive
OD12Open drain….12mA sink
O20Output with 20mA drive
ICLKxXTAL clock input
OCLKxXTAL clock output
I/O-UDefined in USB specification
SMSC DS – USB97C201Page 13Rev. 03/25/2002
PRELIMINARY
6.0 FUNCTIONAL BLOCK DESCRIPTIONS
6.1 MCU
The 64K memory map is as follows from the 8051's viewpoint:
6.1.1 MCU MEMORY MAP: CODE SPACE
The 8051 has a single flat 64K Code space. External memory requires 80ns access times from Address to Data and
less than 80ns output enable access times, assuming the use of the nMEMR signal as OE on the memory.
Table 2 - MCU Code Memory Map
8051 ADDRESSCODE SPACEACCESS
0x0700-0xFFFFFixed MemoryExternal Program
Memory
0x0400-0x06FF768 Bytes of Fixed 16k FLASH Page
OR
768 Bytes of Internal SRAM for program execution
(see bit 7 of the UTIL_CFG register for more
information)
0x0000-0x03FFFixed MemoryExternal Program
8051 MCU External Code Address
Space
0xFFFF
K
4
6
External Program
Memory
OR
Internal Program
SRAM
Memory
0x0700
0x0400
0x0000
FIGURE 1 - MCU TO EXTERNAL CODE SPACE MAP
SMSC DS – USB97C201Page 14Rev. 03/25/2002
Intern al 76 8 Byte
SRAM or External
Memory
PRELIMINARY
6.1.2 MCU MEMORY MAP: XDATA SPACE
Table 3 - MCU XData Memory Map
8051 ADDRESSDATA SPACEACCESS
0x3F30-0xFFFF
0x3F00-0x3F2F
0x33F7-0X3EFF
033F6External ATA Interface I/OExternal
0x31F8-0x33F5External Memory or I/O DevicesExternal
0x31F0-0x31F7External ATA Interface I/OExternal
0x30F4-0x31EFExternal Memory or I/O DevicesExternal
0X30F0-0X30F3Internal Test Registers (reserved access)DO NOT ACCESS
0X0700-0X30EFExternal Memory or I/O DevicesExternal
Internal Test Registers (reserved access)
External Memory or I/O Devices
External
(IOR or IOW
active)
DO NOT ACCESS
External
(IOR or IOW
active)
(IOR or IOW
active)
(IOR or IOW
active)
(IOR or IOW
active)
(IOR or IOW
active)
(IOR or IOW
active)
(IOR or IOW
active)(see Note 1)
Note 1: This XDATA space is accessed using MOVX instructions. A region of 8051 Special Function Registers
(SFR) is also accessible at 0x0100 to 0x01FF addresses using the MOV instructions. In addition to the
normal 8051 SFRs, there are also numerous Runtime Registers in this SFR space. These Runtime
Registers are external to the 8051, but internal to the USB97C201.
SMSC DS – USB97C201Page 15Rev. 03/25/2002
PRELIMINARY
6.1.3 MCU BLOCK REGISTER SUMMARY
Table 4 - MCU Block Register Summary
(These registers are external to the 8051 design core)
ATA CONFIGURATION REGISTERS
DBMSB_ATAR/WMSB ATA Data Register38
DCLSB_ATAR/WLSB ATA Data Register38
DDATA_CTLR/WATA Control Register39
DEATA_DMAR/WATA Ultra DMA Timing Register40
DFIDE_TIMR/WIDE Timing Register40
E1ATA_CNT0R/WATA Transfer Count Register 038
E2ATA_CNT1R/WATA Transfer Count Register 138
E3ATA_CNT2R/WATA Transfer Count Register 238
E4ATA_CNT3R/WATA Transfer Count Register 339
E5ATA_SRCAR/WATA Slew Rate Control A Register42
E6ATA_SRCBR/WATA Slew Rate Control B Register42
SMSC DS – USB97C201Page 17Rev. 03/25/2002
PRELIMINARY
Table 5 - 8051 Core SFR Register Summary
These registers are part of the 8051 design core itself.
Bit WRS of the SPC_FNC register controls the operation of MOVX writes the program or XDATA bus of the
8051. Setting it to 0 ( the reset state), will direct writes to the XDATA bus, either to internal or external
destinations, while setting it to 1 will allow writes to the program memory bus to occur, either internally( if the
768 SRAM is the target) or externally.
Bits MD2:0 of the CKCON SFR register (8Eh) control the cycle timing for external accesses using the nIOR and
nIOW signals. This allows slow peripheral devices to be attached. The values and corresponding strobe widths
are shown below: