High Speed (12Mbps) Capability
MMU and SRAM Buffer Allow Buffer Optimization
and Maximum Utilization of USB Bandwidth
-128 Byte Page Size
-10 Pages Maximum per Packet
-Up to 16 Deep Receive Packet Queue
-Up to 5 Deep Transmit Packet Queue, per
Endpoint
-Hardware Generated Packet Header
Records Each Packet Status Automatically
-Simultaneous Arbitration Between MCU,
SIE, and ISA DMA Accesses
Extended Power Management
-Standard 8051 "Stop Clock" Modes
-Additional USB and ISA Suspend
Resume Events
-Internal 8MHz Ring Oscillator for Immediate
Low Power Code Execution
-24, 16, 12, 8, 4, and 2 MHz PLL Taps For on
the Fly MCU and DMA Clock Switching
-Independent Clock/Power Management for
SIE, MMU, DMA and MCU
DMA Capability with ISA Memory
-Four Independent Channels
-Transfer Between Internal and External
Memory
-Transfer Between I/O and Buffer Memory
-External Bus Master Capable
External MCU Memory Interface
-1M Byte Code and Data Storage via 16K
Windows
-Flash, SRAM, or EPROM
-Downloadable via USB, Serial Port, or ISA
Peripheral
Quasi-ISA Interface Allows Interface to New and
"Legacy" Peripheral Devices
-1M ISA Memory Space via 4K MCU Window
-64K ISA I/O Space via 256 Byte MCU
Window
-4 External Interrupt Inputs
-4 DMA Channels
-Variable Cycle Timing
-8 Bit Data Path
5V or 3.3v Operation
On Board Crystal Driver Circuit
128 Pin QFP Package
ORDERING INFORMATION
Order Number: USB97C100QFP
128 Pin QFP Package
SMSC DS – USB97C100Rev. 01/03/2001
GENERAL DESCRIPTION
The USB97C100 is a flexible, general purpose USB peripheral interface and controller ideally suited for multiple
endpoint applications. The USB97C100 provides an ISA-like bus interface, which will allow virtually any PC peripheral to
be placed at the end of a USB connection. Its unique dynamic buffer architecture overcomes the throughput
disadvantages of existing fixed FIFO buffer schemes allowing maximum utilization of the USB connection’s overall
bandwidth. This architecture minimizes the integrated microcontroller’s participation in the USB data flow, allowing backto-back packet transfers to block oriented devices. The efficiency of this architecture allows floppy drives to coexist with
other peripherals such as serial and parallel ports on a single USB link.
The USB97C100 allows external program code to be downloaded over the USB to allow easy implementation of varied
peripheral USB Device Classes and combinations. This also provides a method for convenient field upgrades and
modifications.
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.
GENERAL DESCRIPTION............................................................................................................................................ 2
DESCRIPTION OF PIN FUNCTIONS........................................................................................................................... 5
BUFFER TYPE DESCRIPTIONS.................................................................................................................................. 7
Serial Interface Engine (SIE)......................................................................................................................................... 9
Micro Controller Unit (MCU).......................................................................................................................................... 9
TYPICAL SIGNAL CONNECTIONS............................................................................................................................ 12
Data Space.................................................................................................................................................................. 13
SIE Block Register Summary...................................................................................................................................... 16
FIFO Status Registers................................................................................................................................................. 20
MCU Power Management Registers...........................................................................................................................24
MCU ISA Interface Registers...................................................................................................................................... 27
16 BYTE DEEP TX COMPLETION FIFO REGISTER................................................................................................ 40
TX FIFO POP REGISTER........................................................................................................................................... 41
SERIAL INTERFACE ENGINE (SIE) REGISTER DESCRIPTION ............................................................................. 45
SIE Interface Registers ............................................................................................................................................... 46
DC PARAMETERS..................................................................................................................................................... 51
USB PARAMETERS................................................................................................................................................... 53
USB DC PARAMETERS............................................................................................................................................. 53
USB AC PARAMETERS.............................................................................................................................................. 54
ISA memory or slave devices use this signal to lengthen a bus
cycle from the default time. Extending the length of the bus
cycle can only be done when the bus cycles are derived from
the Internal DMA controller core. 8051 MCU generated Memory
or I/O accesses cannot and will not be extended even if
READY is asserted low by an external ISA slave device. The
external slave device negates this signal after decoding a valid
address and sampling the command signals (nIOW, nIOR,
nMEMW, and nMEMR). When the slave’s access has
completed, this signal should be allowed to float high.
104, 106,
108, 110
105, 107,
109, 111
103TCDMA Terminal Count; active high.
19-13,
127-7,
9-12
112-115,
117-120
122AENAddress Enable
123nIOWI/O Write; active low.
124nIORI/O Read; active low.
125nMEMRMemory read; active low
126nMEMWMemory write; active low
DRQ[3:0]DMA Request channels 3-0; active high.
These signals are used to request DMA service from the DMA
controller. The requesting device must hold the request signal
until the DMA controller drives the appropriate DMA
acknowledge signal (nDACK[3:0]).
nDACK
[3:0]
DMA Acknowledge channels 3-0; active low.
These signals are used to indicate to the DMA requesting
device that it has been granted the ISA bus.
This signal is used to indicate that a DMA transfer has
completed.
SA[19:0]System Address Bus
These signals address memory or I/O devices on the ISA bus.
SD[7:0]System Data Bus
These signals are used to transfer data between system
devices.
This signal indicates address validation to I/O devices. When
low this signal indicates that an I/O slave may respond to
addresses and I/O commands on the bus. This signal is high
during DMA cycles to prevent I/O slaves from interpreting DMA
cycles as valid I/O cycles.
This signal indicates to the addressed ISA I/O slave to latch
data from the ISA bus.
This signal indicates to the addressed ISA I/O slave to drive
data on the ISA bus.
This signal indicates to the addressed ISA memory slave to
drive data on the ISA bus.
This signal indicates to the addressed ISA memory slave to
latch data from the ISA bus.
BUFFER
TYPE
IP
I
O8
O8
O8
I/O8
O8
O8
O8
O8
O8
SMSC DS – USB97C100Page 5Rev. 01/03/2001
QFP PIN
NUMBERSYMBOLPIN DESCRIPTION
102nMASTERExternal Bus master, active low
This signal forces the USB97C100 to immediately tri-state its
external bus, even if internal transactions are not complete. All
shared ISA signals are tri-stated, except 8237 nDACKs, which
can be used in gang mode to provide external bus-master
handshaking. This pin must be used with some handshake
mechanism to avoid data corruption.
21-24IRQ[3:0]Interrupt Request 3-0; active high
These signals are driven by ISA devices on the ISA bus to
interrupt the 8051.
30XTAL1/
Clock In
24MHz Crystal or clock input.
This pin can be connected to one terminal of the crystal or can
be connected to an external clock when a crystal is not used.
31XTAL224MHz Crystal
This is the other terminal of the crystal.
99EXTCLKAlternate clock to 8237
An external clock can be used for the internal 8237. This clock
can be used to synchronize the 8237 to other devices.
33CLKOUTClock output.
This clock frequency is the same as the 8051 running clock.
This clock is stopped when the 8051 is stopped. Peripherals
should not use this clock when they are expected to run when
the 8051 is stopped. This clock can be used to synchronize
other devices to the 8051.
USB INTERFACE
77, 79USBD-
USDB+
USB Upstream Connection signals
These are two point-to-point signals and driven differentially.
FLASH INTERFACE
45-52FD[7:0]
Flash ROM Data Bus
These signals are used to transfer data between 8051 and the
external FLASH.
75, 74, 68,
65, 64, 69,
70, 63, 73,
FA[19:0]Flash ROM Address Bus
These signals address memory locations within the FLASH.
43, 72, 71,
62-58,
56-54
42nFRDFlash ROM Read; active lowO8
66nFWRFlash ROM Write; active lowO8
44nFCEFlash ROM Chip Select; active lowO8
98FALEFlash ROM address latch enableO8
POWER SIGNALS
25,57,76
VCC+3.3V power or 5V
101,121
78VCC3.3+3.3V power for USB
8, 20, 32,
GNDGround Reference
53, 67, 80,
97, 116
MISCELLANEOUS
41-34GPIO[7:0]General Purpose I/O.
These pins can be configured as inputs or outputs under
software control.
BUFFER
TYPE
IP
I
ICLKx
OCLKx
ICLK
O8
IO-U
IO8
O8
I/O16
SMSC DS – USB97C100Page 6Rev. 01/03/2001
QFP PIN
NUMBERSYMBOLPIN DESCRIPTION
27PWRGDActive high input.
This signal is used to indicate to that chip that a good power
level has been reached. When inactive/low, all pins are Tri-
stated except TST_OUT and a POR is generated.
28RESET_INPower on reset; active high
This signal is used by the system to reset the chip. It also
generates an internal POR.
29TST_OUTAND tree output
This signal is used for testing the chip via an internal AND tree.
26nTESTTest input
This signal is a manufacturing test pin. User can pull it high or
leave it unconnected.
[96:81]NCNo connect
BUFFER TYPE DESCRIPTIONS
Table 2 - USB97C100 Buffer Type Description
BUFFERDESCRIPTION
IInput (no pull-up)
IPInput 90µA with internal pull-up
O8Output with 8mA drive
I/O8Input/output with 8mA drive
I/O16Input/output with 16mA drive
O24Output, 24mA sink, 12mA source.
I/ODP24Input/Output drain , 24mA sink, 12mA source with 90µA pull-up
ICLKxXTAL clock input
OCLKxXTAL clock output
ICLKClock input (TTL levels)
I/O-UDefined in USB specification; uses VCC3.3
BUFFER
TYPE
I
I
O8
IP
Note: These DC Characteristics/drive strengths apply to 5V operation only. See the DC Characteristics section for
additional details.
SMSC DS – USB97C100Page 7Rev. 01/03/2001
USB97C100 BLOCK DIAGRAM
USB Interface
USBD- USBD+
General
Purpose
IO
GPIO[0:7]
FD[7:0]
FA[19:0]
nFRD
nFWR
nFCE
Flash
Interface
End Point
Control
SIE DMA
Rx/TX
Queue
GPIO
8051
Serial Interfa c e
Engine
Arbiter
8237
Tranceiver
Memory
Management
Unit
4k Data Buffer RAM
Map RAM
IRQ[3:0]
SD[7:0],
SA[19:0]
nIOW,
nIOR,
nMEMW,
nMEMR
DRQ[3:0],
nDACK[3:0],
TC, AEN
Quasi ISA Bus
FIGURE 2 - BLOCK DIAGRAM
SMSC DS – USB97C100Page 8Rev. 01/03/2001
FUNCTIONAL DESCRIPTION
The USB97C100 incorporates a USB Serial Interface Engine (SIE), 8051 Microcontroller Unit (MCU), Serial Interface
Engine DMA (SIEDMA), a programmable 8237 ISA bus DMA controller (ISADMA), 4K bytes of SRAM for data
stream buffering, and a patented MMU (Memory Management Unit) to dynamically manage buffer allocation. The
semi-automatic nature of the SIEDMA, ISADMA, and MMU blocks frees the MCU to provide enumeration, protocol
and power management. A bus arbiter integrated into the MMU assures that transparent access between the
SIEDMA, ISADMA, and MCU to the SRAM occurs.
Serial Interface Engine (SIE)
The SIE is a USB low-level protocol interpreter. The SIE controls the USB bus protocol, packet
generation/extraction, parallel-to-serial/serial-to-parallel conversion, CRC coding/decoding, bit stuffing, and NRZI
coding/decoding.
The SIE can be dynamically configured as having any combination of 0-16 transmit, and 0-16 receive endpoints, for
up to 4 independent addresses. There are 3 alternate and one local address. The alternate addresses, for example,
can be used for Hub addresses. The SIE can also "Receive All Addresses" for bus snooping.
Micro Controller Unit (MCU)
The 8051 embedded controller is a static CMOS MCU which is fully software compatible with the industry standard
Intel 80C51 micro-controller. All internal registers of the USB97C100 blocks are mapped into the external memory
space of the MCU.
A detailed description of the microcontroller’s internal registers and instruction set can be found in the “USB97C100
Programmer’s Reference Guide”.
SIEDMA
This is a simplified DMA controller, which automatically transfers data between SIE and SRAM via MMU control. The
SIEDMA appends a status header containing frame number, endpoint, and byte count to each incoming packet
before notifying the MCU of its arrival. This block’s operation is transparent to the firmware.
Memory Management Unit (MMU) Register Description
This patented MMU consists of a 4k buffer RAM which is allocated in 32 pages of 128 bytes. Packets can be
allocated with up to 10 pages each (1280 bytes). The buffer can therefore concurrently hold up to 32 packets with a
64 byte payload. For isochronous pipes, it can hold 3 packets with a 1023 byte payload each, and still have room for
two more 64 byte packets.
This block supports 16 independent transmit FIFO queues (one for each endpoint), and a single receive queue.
Each endpoint can have up to five transmit packets queued. The receive queue can accept 16 packets of any size
combination before forcing the host to back off.
The arbiter makes the single-ported buffer RAM appear to be simultaneously available to the MCU, the four channels
of the ISADMA, and the SIEDMA for receiving and transmitting packets.
ISADMA
This is an industry standard 8237 DMA controller to transfer data between the ISA bus and the SRAM under MMU
control. This DMA contains status and control registers which can be accessed and programmed by the 8051
controller. The 8237 can run at 2, 4, or 8 MHz internally, or via an external clock to synchronize it with another
source.
SMSC DS – USB97C100Page 9Rev. 01/03/2001
Applications
The USB97C100 enables entirely new I/O applications, as well as new form factors for existing Legacy I/O
applications. PC98 compliance encourages the elimination ofDMA, IRQ and addressing conflicts via total on-board
ISA elimination. With the USB97C100, the ISA bus can be eliminated from motherboards without sacrificing the
huge infrastructure of Legacy I/O ports. By moving these devices to the flexible USB bus, new form factors such as
monitor peripheral clusters are also possible (mouse, keyboard, serial, parallel ports in a USB connected monitor).
PC system designers are no longer constrained by the physical borders of the motherboard. The USB97C100 is
ideal for USB peripherals which require considerable bandwidth, such as floppy drives, audio, IR, etc. The following
block diagrams illustrate these applications.
TYPICAL PC MOTHERBOARD APPLICATION
USB
South
USB
Bridge
97C100
Commanche
37C67X
SIO
Floppy
PS/2
Serial
Para llel
FIR
ISA AUDIO
SPKR
MIC
SMSC DS – USB97C100Page 10Rev. 01/03/2001
USB
TYPICAL MONITOR APPLICATION
USB HUB
(opt.)
USB
EXPANSION
97C100
Commanche
37C67X
SIO
ISA
CODEC
PARALLEL
TYPICAL FLOPPY DRIVE APPLICATION
FLOPPY
PS/2
SERIAL/FIR
USB
97C100
Commanche
37C78
FDC
SMSC DS – USB97C100Page 11Rev. 01/03/2001
TYPICAL SIGNAL CONNECTIONS
SRAM
nMEMW
USB UPSTREAM
nMEMR
FDC
LPT
UART
IR
FDC
37C669FR
SD[7..0]
SA[10..0]
IRQ[3..0]
nDACK[3..0]
DRQ[3..0]
TC
nIOR
nIOW
24MHz
nFRD
nFWR
nFCE
USB97C100
FD[7..0]
FA[19..0]
FLASH
SMSC DS – USB97C100Page 12Rev. 01/03/2001
MCU Memory Map
The 64K memory map is as follows from the 8051's viewpoint:
0x7F70-0x7F7F ISA Reg
0x7F50-0x7F6F MMU Reg
0x7F20-0x7F2F Power Reg
0x7F10-0x7F1F Configuration Reg
0x7F00-0x7F0F Runtime Reg
Note 1.
0x6000-0x6FFF0x6000
MMU Data Register
0x5000-0x5FFF0x5000-0x5FFF
ISA MEMORY Window
0x4000-0x4FFF0x4000-0x40FF
ISA I/O Window
0x3000-0x3FFFNot used
0x2000-0x2FFFNot used
0x1000-0x1FFFNot used
0x0000-0x00FFRegisters and SFR’sInternal
External FLASH
External FLASH
Internal
Internal
ISA
ISA
Note 1: The MCU, MMU, and SIE block registers are external to the 8051, but internal to the USB97C100. These
addresses will appear on the FLASH bus, but the read and write strobes will be inhibited.
ISADMA Memory Map
The Internal Memory buffer is virtualized into the 8237's 64K address map as 32 independent 1k blocks. After the
MMU has allocated a given packet size for a specific PNR, the MMU will make that packet appear to the 8237 as a
contiguous block of data in the address ranges depicted in table 5.
7F18GPIOA_DIRR/WGPIO Configuration Register
7F19GPIOA_OUTR/WGPIO Data Output Register
7F1AGPIOA_INRGPIO Data Input Register
7F1BUTIL_CONFIGR/WMiscellaneous Configuration Register
7F27CLOCK_SELR/W8051 and 8237 Clock Select Register
7F29MEM_BANKR/WFlash Bank Select
7F2AWU_SRC_1RWakeup Source
7F2BWU_MSK_1R/WWakeup Mask
7F2CWU_SRC_2RWakeup Source
7F2DWU_MSK_2R/WWakeup Mask
7F10GP1DataR/WGP FIFO Data Port #1
7F11GP1StatusRGP FIFO status Port #1
7F12GP2DataR/WGP FIFO Data Port #2
7F13GP2StatusRGP FIFO status Port #2
7F14GP3DataR/WGP FIFO Data Port #3
7F15GP3StatusRGP FIFO status Port #3
7F16GP4DataR/WGP FIFO Data Port #4
7F17GP4StatusRGP FIFO status Port #4
7F70BUS_REQR/WISA Bus Request Register
7F71IOBASER/W8051 ISA I/O Window Base Register
7F72MEMBASER/W8051 ISA Memory Window Base Register
7F73BUS_STATRISADMA Request Status
7F74BUS_MASKR/WISADMA Request Interrupt Mask
7F7EMCU_TEST2N/AReserved for Test
7F7FMCU_TEST1N/AReserved for Test
Table 6 - MCU Block Register Summary
RUNTIME REGISTERS
UTILITY REGISTERS
POWER MANAGEMENT REGISTERS
ISA BUS CONTROL REGISTERS
SMSC DS – USB97C100Page 14Rev. 01/03/2001
MMU Block Register Summary
ADDRESSNAMER/WDESCRIPTION
0x6000MMU_DATAR/W8051-MMU Data Window Register FIFO
7F50PRLR/W8051-MMU Pointer Register (Low)
7F51PRHR/W8051-MMU Pointer Register (High) & R/W
7F52MMUTX_SELR/W8051-MMU TX FIFO Select for Commands
7F53MMUCRW8051-MMU Command Register
7F54ARRR8051-MMU Allocation Result Register
7F55PNRR/W8051-MMU Packet Number Register
7F56PAGS_FREER/WPages Free In the MMU
7F57TX_MGMTRTX Management Register 2
7F58RXFIFORRX Packet FIFO Register (All EPs)
7F59POP_TXRPOP TX FIFO
7F60TXSTAT_ARTX Packet FIFO Status Register (EP0-3)
7F61TXSTAT_BRTX Packet FIFO Status Register (EP4-7)
7F62TXSTAT_CRTX Packet FIFO Status Register (EP8-11)
7F63TXSTAT_DRTX Packet FIFO Status Register (EP12-15)
7F64MMU_TESTxN/AReserved for Test
7F65MMU_TESTxN/AReserved for Test
7F66MMU_TESTxN/AReserved for Test
7F67TX_MGMTR/WTX Management Register 1
7F6EMMU_TESTxN/AReserved for Test
7F6FMMU_TESTxN/AReserved for Test
Table 7 - MMU Block Register Summary
MMU REGISTERS
SMSC DS – USB97C100Page 15Rev. 01/03/2001
SIE Block Register Summary
ADDRESSNAMER/WDESCRIPTION
7F80EP_CTRL0R/WEndpoint 0 Control Register
7F81EP_CTRL1R/WEndpoint 1 Control Register
7F82EP_CTRL2R/WEndpoint 2 Control Register
7F83EP_CTRL3R/WEndpoint 3 Control Register
7F84EP_CTRL4R/WEndpoint 4 Control Register
7F85EP_CTRL5R/WEndpoint 5 Control Register
7F86EP_CTRL6R/WEndpoint 6 Control Register
7F87EP_CTRL7R/WEndpoint 7 Control Register
7F88EP_CTRL8R/WEndpoint 8 Control Register
7F89EP_CTRL9R/WEndpoint 9 Control Register
7F8AEP_CTRL10R/WEndpoint 10 Control Register
7F8BEP_CTRL11R/WEndpoint 11 Control Register
7F8CEP_CTRL12R/WEndpoint 12 Control Register
7F8DEP_CTRL13R/WEndpoint 13 Control Register
7F8EEP_CTRL14R/WEndpoint 14 Control Register
7F8FEP_CTRL15R/WEndpoint 15 Control Register
7F90FRAMELRUSB Frame Count Low
7F91FRAMEHRUSB Frame Count High
7F92SIE_ADDRR/WUSB Local Address Register
7F93SIE_STATRSIE Status Register
7F94SIE_CTRLR/WSIE Control Register
7F95SIE_TST1R/WReserved Test Register
7F96SIE_TST2R/WReserved Test Register
7F97SIE_EP_TESTR/WReserved Test Register
7F98SIE_CONFIGR/WSIE Configuration Register
7F99ALT_ADDR1R/WSecondary Local Address Register #1
7F9ASIE_TST3R/WReserved Test Register
7F9BSIE_TST4R/WReserved Test Register
7F9CSIE_TST5R/WReserved Test Register
7F9DSIE_TST6R/WReserved Test Register
7F9EALT_ADDR2R/WSecondary Local Address Register #2
7F9FALT_ADDR3R/WSecondary Local Address Register #3
Table 8 - SIE Block Register Summary
SIE Control Registers
SMSC DS – USB97C100Page 16Rev. 01/03/2001
MCU REGISTER DESCRIPTION
MCU Runtime Registers
ISR_0
(0x7F00 - RESET=0x00)INTERRUPT 0 SOURCE REGISTER
BITNAMER/WDESCRIPTION
7IRQ3RExternal interrupt input.
6IRQ2RExternal interrupt input.
5IRQ1RExternal interrupt input.
4IRQ0RExternal interrupt input.
3RX_PKTR1 = A Packet Number (PNR) has been successfully queued
2TX_EMPTYR1 = Whenever an enabled TX Endpoint's FIFO becomes
1TX_PKTR1 = A Packet was successfully transmitted.
0ISADMAR1 = When a selected 8237 channels in
Table 9 - Interrupt 0 Source Register
0 = Inactive
1 = Active
0 = Inactive
1 = Active
0 = Inactive
1 = Active
0 = Inactive
1 = Active
on the RXFIFO.
empty. This will occur when the last queued packet in one of
the 16 TX queues is successfully transferred to the Host.
BUS_STAT/BUS_MASK register pair either reached Terminal
Count or have a new DMA Request Pending.
These bits are automatically cleared each time this register is read. Therefore, each time this register is read all
pending interrupts must be serviced before continuing normal operation.
Notes:
TX_EMPTY is useful for warning of USB performance degradation. This interrupt indicates that the next time the
Host polls the affected endpoint, it will receive a NAK for that endpoint, thus reducing effective overall bandwidth
due to retries. Firmware must use TX_STAT A, B, and C to determine which endpoint queue is empty.
When ISADMA causes an interrupt, the 8237 CH_STAT register should also be read and serviced when the bit
causing the interrupt is to be rearmed. When ISR_0 is read and the ISADMA bit is cleared, any other low-to-high
transitions in the BUS_STAT register bits that are not masked will still cause an interrupt.
SMSC DS – USB97C100Page 17Rev. 01/03/2001
Table 10 - Interrupt 0 Mask
IMR_0
(0x7F01- RESET=0xFF)INTERRUPT 0 MASK REGISTER
BITNAMER/WDESCRIPTION
7IRQ3R/WExternal interrupt input mask
0 = Enable Interrupt
1 = Mask Interrupt
6IRQ2R/WExternal interrupt input mask
0 = Enable Interrupt
1 = Mask Interrupt
5IRQ1R/WExternal interrupt input mask
0 = Enable Interrupt
1 = Mask Interrupt
4IRQ0R/WExternal interrupt input mask
0 = Enable Interrupt
1 = Mask Interrupt
3RX_PKTR/WReceived Packet MMU Interrupt Mask
0 = Enable Interrupt
1 = Mask Interrupt
2TX_EMPTYR/WTransmit Queue Empty MMU Interrupt
0 = Enable Interrupt
1 = Mask Interrupt
1TX_PKTR/WTransmit Packet MMU Interrupt Mask
0 = Enable Interrupt
1 = Mask Interrupt
0ISADMAR/WISADMA Status Change Interrupt Mask
0 = Enable Interrupt
1 = Mask Interrupt
Table 11 - Interrupt 1 Source Register
ISR_1
(0x7F02- RESET=0x00)INTERRUPT 1 SOURCE REGISTER
BITNAMER/WDESCRIPTION
[7:5]ReservedReserved
4EOTR1 = The SIE returned to Idle State. Marks the end of each
transaction.
3SOFR1 = When a Start of Frame token is correctly decoded.
Generated by the write strobe to the Frame Count register.
2ALLOCR1 = MCU Software Allocation Request complete interrupt. This
interrupt is not generated for hardware (SIEDMA) allocation
requests.
1RX_OVRNR1 = A receive condition has occurred that will stop the current
receive buffer to not be processed The SIE automatically
recovers from this condition after its cause has been
alleviated (e.g. any partially allocated packets will be released.
See Note 2).
0PWR_MNGR1 = A wakeup or power management event in the WU_SRC_1
or WU_SRC_2 registers has gone active.
Notes:
These bits are cleared each time this register is read.
The RX_OVRN interrupt should be considered by firmware as a general Receive Overrun of the SIE, meaning
that a packet destined for the RAM buffer could not be received and was not acknowledged back to the Host.
The firmware should check to see if the RX Packet Number FIFO Register (RXFIFO) is full. If it is empty, then
there may be too many transmit packets queued for the device to receive anything, or the last packet may have
been corrupted on the wire. If it is not empty, then one or more receive packets must be dequeued before the
device can continue to receive packets. In the normal course of operation, the MCU should respond to a
RX_PKT interrupt as often as possible and let the buffering logic do its job.