
AT43312A
7
Port Status Pin
The STATx pins are signals that is not required by the USB
specification. Its function is to allow the hub to provide
feedback to the user whenever a device is properly con-
nected to the port. An LED and series resistor connected to
STATx can be used to provide a visual feedback. If an
overcurrent condition is detected at a port, the STATx of
the offending port will alternately turn on and off causing an
LED to blink. The LED will continue to blink until power to
the offending port is turned off by the host or until the hub is
re-enumerated.
The default state of STATx is inactive. After a port is
enabled AT43312A will assert the port’s STATx. Any condi-
tion that causes the port to be disabled inactivates STATx.
Hub Controller
The Hub Controller of the AT43312A provides the mecha-
nism for the Host to enumerate the Hub and the AT43312A
to provide the Host with its configuration information. It also
provides a mechanism for the Host to monitor and control
the downstream ports. Power is applied, on a per port
basis, by the Hub Controller upon receiving a command,
SetPortFeature[PORT_POWER], from the Host. The
AT43312A must be configured first by the Host before the
Hub Controller can apply power to external devices.
The Hub Controller contains two endpoints, Endpoint0 and
Endpoint1 and maintains a status register, Controller
Status Register, which reflects the AT43312A’s current set-
tings. At power up, all bits in this register will be set to 0’s.
Endpoint 0
Endpoint 0 is the AT43312A’s default endpoint used for
enumeration of the Hub and exchange of configuration
information and requests between the Host and the
AT43312A. Endpoint 0 supports control transfers.
The Hub Controller supports the following descriptors:
Device Descriptor, Configuration Descriptor, Interface
Descriptor, Endpoint Descriptor, and Hub Descriptor.
These Descriptors are described in detail elsewhere in this
document. Standard USB Device Requests and class-
specific Hub Requests are also supported through End-
point 0. There is no endpoint descriptor for Endpoint0.
Endpoint 1
Endpoint1, an interrupt endpoint, is used by the Hub Con-
troller to send status change information to the Host. The
Hub Controller samples the changes at the end of every
frame at time marker EOF2 in preparation for a potential
data transfer in the subsequent frame. The sampled infor-
mation is stored in a byte wide register, the Status Change
Register, using a bitmap scheme.
Each bit in the Status Change Register corresponds to one
port as shown on the following page.
Table 3.
Control Status Register
Bit
Function
Value
Description
0
Hub configuration status
0
1
Set to 0 or 1 by a Set_Configuration Request
Hub is not currently configured
Hub is currently configured
1
Hub remote wakeup status
0
1
Set to 0 or 1 by ClearFeature or SetFeature request
Default value is 0
Hub is currently not enabled to request remote wakeup
Hub is currently enabled to request remote wakeup
2
Endpoint0 STALL status
0
1
Endpoint0 is not stalled
Endpoint0 is stalled
3
Endpoint1 STALL status
0
1
Endpoint1 is not stalled
Endpoint1 is stalled