Universal Serial Bus compound hub with integrated keyboard
controller
Rev. 01 — 23 March 2000Objective specification
1.General description
The ISP1130 integrates a Universal Serial Bus (USB) hub with a keyboard controller
into a single chip,whichcomplieswith
the USB
1 to 2 downstream ports and 1 to 3 non-removable embedded functions, one of
which is dedicated to the keyboard operation. The hub controller is fully implemented
in hardware, ensuring a fast response to host requests.
The integrated 5 V to 3.3 V regulator allows direct connection to the USB power
supply V
can interface low-power USB devices such as a joystick or a mouse. ISP1130 uses
SoftConnect™ technology to connect to the USB host upon detection of V
low power consumption in ‘suspend’ mode allows easy design of equipment that is
compliant with the ACPI™, OnNow™ and USB power management requirements.
UniversalSerial Bus Specification Rev. 1.1
Device Class Definition for Human Interface Devices (HID)
. The downstream ports are either bus-powered or hybrid-powered and
BUS
. The hub has
BUS
and
. The
2.Features
The integrated keyboard controller is based on the 80C51 family and has 8 kbytes of
mask ROM and 256 bytes of data RAM. The code memory is protected against
reading by an external device. A built-in watchdog timer resets the device in case of a
microcontroller hang-up. To reduce power consumption, the microcontroller can be
c
c
put in sleep mode or power-down mode.
A serial I2C-bus interface is provided for optional access to an external EEPROM.
This allows the user to program the vendor ID, product ID or activate the built-in
keyboard matrix.
The ISP1130 has built-in overcurrent sense inputs, supporting individual and global
overcurrent protection for downstream ports. All ports (including the hub) have
GoodLink™ indicator outputs for easy visual monitoring of USB traffic. The ISP1130
has a reduced frequency (6 MHz) crystal oscillator to minimize Electro Magnetic
Interference (EMI). These features allow significant cost savings in system design
and easy implementation of advanced USB functionality into PC peripherals.
■ Compound USB hub device with integrated hub repeater, hub controller, Serial
Interface Engine (SIE), data transceivers and 5 V to 3.3 V voltage regulator
■ Complies with
Universal Serial Bus Specification Rev. 1.1
and
Device Class
Definition for Human Interface Devices (HID)
■ Complies with ACPI, OnNow and USB power management requirements
Page 2
Philips Semiconductors
■ Supports bus-powered and hybrid-powered application
■ 1 to 2 downstream ports with automatic speed detection
■ 1 to 3 non-removable embedded functions, 1 dedicated for keyboard operation
■ 8 × 18 scan line matrix for HID compliant keyboard applications
■ Integrated 80C51 microcontroller core with 8 kbytes mask ROM and 256 bytes
■ On-chip watchdog timer for automatic fault recovery
■ Internal power-on reset and low-voltage reset circuit
■ Individual power switching for downstream ports
■ Individual port overcurrent protection with built-in sense circuits
■ 6 MHz crystal oscillator with on-chip PLL for low EMI
■ Reduced power consumption by putting microcontroller in sleep mode or
■ Visual USB traffic monitoring (GoodLink) for hub and downstream ports
■ I2C-bus interface to read vendor ID, product ID and configuration bits from
■ Operation over the extended USB bus voltage range (4.0 to 5.5 V)
■ Operating temperature range −40 to +85 °C
■ Available in 56-pin SDIP and SSOP packages.
ISP1130
USB compound hub with keyboard controller
data RAM
power-down mode
external EEPROM
3.Ordering information
Table 1:Ordering information
Type numberPackage
NameDescriptionVersion
ISP1130DLSSOP56plastic shrink small outline package; 56 leads; body width 7.5 mmSOT371-1
ISP1130NSDIP56plastic shrink dual in-line package; 56 leads (600 mil)SOT400-1
9397 750 06895
Objective specificationRev. 01 — 23 March 20002 of 68
XTAL11Icrystal oscillator input (6 MHz)
XTAL22Ocrystal oscillator output (6 MHz)
RESET3Ireset input (Schmitt trigger); a LOW level produces an
V
CC
GND5-ground supply
V
pu(3.3)
UP_DM7AI/Oupstream port D− connection (analog)
UP_DP8AI/Oupstream port D+ connection (analog)
DN1_DM9AI/Odownstream port 1 D− connection (analog)
DN1_DP10AI/Odownstream port 1 D+ connection (analog)
DN2_DM11AI/Odownstream port 2 D− connection (analog)
DN2_DP12AI/Odownstream port 2 D+ connection (analog)
PSW113Opower switch control output for downstream port 1
PSW214Opower switch control output for downstream port 2
OC1/DPGL115AI/Opin function is controlled via the USBCON register (see
OC2/DPGL216AI/Opin function is controlled via the USBCON register (see
GND17-ground supply
MX018Ikeyboard matrix return line (5 V tolerant, open drain)
MX119Ikeyboard matrix return line (5 V tolerant, open drain)
[1]
ISP1130
USB compound hub with keyboard controller
PinTypeDescription
asynchronous reset; connect to V
(internal POR circuit)
4-supply voltage; connect to USB supply V
6-regulated supply voltage (3.3 V ± 10%) from internal
regulator; used to connect pull-up resistor on UP_DP line;
pin function is controlled via the Device Status Register
(see Table 36):
Connect = 0 — V
Connect = 1 — V
floating (high impedance)
pu(3.3)
= 3.3 V
pu(3.3)
(open-drain)
(open-drain)
Table 53):
EnableOverCurrent = 0 — GoodLink LEDindicator output
for downstream port 1 (analog, open-drain); to connect an
LED use a 330 Ω series resistor
EnableOverCurrent = 1 — overcurrent sense input for
downstream port 1 (analog or digital); overcurrent sensing
can be either analog (AnalogOCDisable = 0) or digital
(AnalogOCDisable = 1)
Table 53):
EnableOverCurrent = 0 — GoodLink LEDindicator output
for downstream port 2 (analog, open-drain); to connect an
LED use a 330 Ω series resistor
EnableOverCurrent = 1 — overcurrent sense input for
downstream port 2 (analog or digital); overcurrent sensing
can be either analog (AnalogOCDIsable = 0) or digital
(AnalogOCDisable = 1)
for power-on reset
CC
BUS
[2]
[2]
9397 750 06895
Objective specificationRev. 01 — 23 March 20005 of 68
MX220Ikeyboard matrix return line (5 V tolerant, open drain)
MX3/SCL21I/Opin function is controlled via the I2C0CON register (see
Table 76):
ENS1 = 0 — keyboard matrix return line (5 V tolerant,
open drain)
[2]
ENS1 = 1 — I2C-bus clock output (5 V tolerant, open
[2]
drain)
MX4/SDA22I/Opin function is controlled via the I2C0CON register (see
Table 76):
ENS1 = 0 — keyboard matrix return line (5 V tolerant,
open drain)
[2]
ENS1 = 1 — bidirectional I2C-bus data line (5 V tolerant,
open drain)
MX523Ikeyboard matrix return line(5 V tolerant, open drain)
[2]
[2]
MX624Ikeyboard matrix return line (5 V tolerant, open drain)
MX725Ikeyboard matrix return line (5 V tolerant, open drain)
MY026I/Obidirectional keyboard matrix scan line (5 V tolerant)
MY127I/Obidirectional keyboard matrix scan line (5 V tolerant)
MY228I/Obidirectional keyboard matrix scan line (5 V tolerant)
GND29-ground supply
V
reg(3.3)
30-regulated supply voltage (3.3 V ± 10%) from internal
regulator; used to supply external devices
MY331I/Obidirectional keyboard matrix scan line (5 V tolerant)
MY432I/Obidirectional keyboard matrix scan line (5 V tolerant)
MY533I/Obidirectional keyboard matrix scan line (5 V tolerant)
MY634I/Obidirectional keyboard matrix scan line (5 V tolerant)
MY735I/Obidirectional keyboard matrix scan line (5 V tolerant)
MY836I/Obidirectional keyboard matrix scan line (5 V tolerant)
MY937I/Obidirectional keyboard matrix scan line (5 V tolerant)
MY1038I/Obidirectional keyboard matrix scan line (5 V tolerant)
MY1139I/Obidirectional keyboard matrix scan line (5 V tolerant)
MY1240I/Obidirectional keyboard matrix scan line (5 V tolerant)
MY1341I/Obidirectional keyboard matrix scan line (5 V tolerant)
MY1442I/Obidirectional keyboard matrix scan line (5 V tolerant)
MY1543I/Obidirectional keyboard matrix scan line (5 V tolerant)
MY16/RD44I/Obidirectional keyboard matrix scan line (5 V tolerant)
used as read strobe when accessing external memory
WR45I/Obidirectional keyboard matrix scan line (5 V tolerant)
MY17/
used as write strobe when accessing external memory
GND46-ground supply
SYNCLK48Oembedded microcontroller clock output; used for emulation
EA49IExternal Address enable input (internal pull-up); used to
ALE50OAddress Latch Enable output; used to demultiplex AD0
PSEN51OProgram Store ENable output; selects external memory for
INT52Iexternal interrupt input (edge-triggered)
SCRLOCK53Ocontrol output for Scroll Lock LED (open-drain)
NUMLOCK54Ocontrol output for Num Lock LED (open-drain)
CAPSLOCK55Ocontrol output for Caps Lock LED (open-drain)
GND56-ground supply
[1] Symbol names with an overscore (e.g. NAME) indicate active LOW signals.
[2] MXn pins have an internal 8.2 kΩ pull-up resistor.
[3] MYn pins have an internal 82 kΩ pull-down resistor (keyboard matrix enabled) or an internal 8.2 kΩ
[1]
pull-up resistor (keyboardmatrix disabled).This is controlled by bit DisableKBDMatrix in the USBCON
register, see Table 53.
PinTypeDescription
47Opin function is controlled via the USBCON register (see
Table 53):
GL-MEMSELSelection = 0 — upstream port GoodLink
indicator output (open-drain)
GL-MEMSELSelection = 1 — chip select output for
external serial EEPROM (open-drain)
access external memory
during external memory access
program execution
…continued
6.Functional description
The ISP1130 is a compound USB hub with an integrated keyboard controller.It has 2
bus-powered downstream ports with 3 non-removable embedded functions, the first
of which is dedicated to the keyboard function. The downstream ports can be used to
connect low-speed or full-speed USB peripherals, such as a mouse, printer, another
keyboard or another hub. The block diagram is shown in Figure 1.
The embedded functions have no external hardware connections. They provide USB
endpoints for equipment functions implemented by a microcontroller. Each endpoint
has an associated FIFO buffer in the on-board RAM, which can be accessed by the
integrated microcontroller via memory mapped registers using special commands
(see Section 9).
An optional serial I2C-bus interface (see Section 11) is provided for external
EEPROM access, allowing the user to program the vendor ID, product ID or activate
the built-in keyboard matrix.
9397 750 06895
Objective specificationRev. 01 — 23 March 20007 of 68
An integrated 80C51 microcontroller serves as a keyboard controller. It has 8 kbytes
of mask ROM and 256 bytes of RAM. The I/O ports have been configured as an
8 × 18 line scan matrix. Three LED control outputs are available for keyboard status
indicators (Caps Lock, Num Lock and Scroll Lock). Interfacingto the USB hub is done
via 3 registers (command, data, status), which are accessible via the external data
memory address space (MOVX instruction).
The keyboard firmware resides in the ROM and enumerates the embedded function
as ‘HID compatible keyboard device’ during hub initialization.
The microcontroller runs on a 12 MHz clock, derived from the PLL oscillator. A
watchdog timer resets the microcontroller in case of a software hang-up.
6.2 Analog transceivers
The integrated transceivers interface directly to the USB cables through external
termination resistors. They are capable of transmitting and receiving serial data at
both ‘full-speed’ (12 Mbit/s) and ‘low-speed’ (1.5 Mbit/s) data rates. The slew rates
are adjusted according to the speed of the device connected and lie within the range
mentioned in the
USB compound hub with keyboard controller
USB Specification Rev. 1.1
ISP1130
.
6.3 Philips Serial Interface Engine (SIE)
The Philips SIE implements the full USB protocol layer. It is completely hardwired for
speed and needs no firmware intervention. The functions of this block include:
synchronization pattern recognition, parallel/serial conversion, bit (de-)stuffing, CRC
checking/generation, Packet IDentifier (PID) verification/generation, address
recognition, handshake evaluation/generation.
6.4 Hub repeater
The hub repeater is responsible for managing connectivity on a ‘per packet’ basis. It
implements ‘packet signalling’ and ‘resume’ connectivity. Low-speed devices can be
connected to downstream ports. If a low-speed device is detected the repeater will
not propagate upstream packetsto the corresponding port, unless they are preceded
by a PREAMBLE PID.
6.5 End-of-frame timers
This block contains the specified EOF1 and EOF2 timers which are used to detect
‘loss-of-activity’ and ‘babble’ error conditions in the hub repeater. The timers also
maintain the low-speed keep-alive strobe which is sent at the beginning of a frame.
6.6 General and individual port controller
The general and individual port controllers together provide status and control of
individual downstream ports. Any port status change will be reported to the host via
the hub status change (interrupt) endpoint.
9397 750 06895
Objective specificationRev. 01 — 23 March 20008 of 68
Indication of a good USB connection is provided through GoodLink technology. An
LED can be directly connected via an external 330 Ω resistor. The ISP1130 supports
GoodLink indication for the hub (upstream port) via output MEMSEL/UPGL and for
the two downstream ports via OCn/DPGLn, controlled via bits GL-MEMSELSelection
and EnableOverCurrent in the USBCON register (see Table 53).
During enumeration the LED blinks on momentarily. After successful configuration of
the ISP1130, the LED is permanently on. The hub GoodLink indicator blinks off for
approximately 128 ms when the hub receives a packet addressed to it. Downstream
GoodLink indicators blink upon an acknowledgment from the associated port. In
‘suspend’ mode the LED is off.
This feature provides a user-friendly indication of the status of the hub, the connected
downstream devices and the USB traffic. It is a useful diagnostics tool to isolate faulty
USB equipment and helps to reduce field support and hotline costs.
6.8 SoftConnect
The connection to the USB is accomplished by bringing D+ (for full-speed USB
devices) HIGH through a 1.5 kΩ pull-up resistor. In the ISP1130, the 1.5 kΩ pull-up
resistor is integrated on-chip and by default is disconnected from the +3.3 V supply.
ISP1130
USB compound hub with keyboard controller
The integrated microcontroller controls the connection of the internal resistor on D+ to
V
the Device Status register switches on V
via bit SoftConnect_N in the USBCON register (see Table 53). Bit Connect in
pu(3.3)
(defaultis off) to an alternative external
pu(3.3)
pull-up resistor. A functional schematic diagram is given in Figure 4.
dth
Connect
(Device Status
Register)
SoftConnect_N
(Configuration
Register)
Fig 4. SoftConnect control logic.
ISP1130
3.3 V
supply
1.5 kΩ
(internal
pull-up)
MGL920
V
pu(3.3)
1.5 kΩ
(external
pull-up)
UP_DP
This mechanism allows the microcontroller to complete its initialization sequence
before deciding to establish connection to the USB. Re-initialization of the USB
connection can also be performed without disconnecting the cable.
It should be noted that the tolerance of the internal resistors is higher (30%) than is
specified by the USB specification (5%). However, the overall VSE voltage
specification for the connection can still be met with good margin (see Table 92). The
decision to use this feature lies with the USB equipment designer.
9397 750 06895
Objective specificationRev. 01 — 23 March 20009 of 68
The bit clock recovery circuit recovers the clock from the incoming USB data stream
using a 4× oversampling principle. It is able to track jitter and frequency drift as
specified by the
6.10 Voltage regulator
A 5 to 3.3 V DC-DC regulator is integrated on-chip to supply the analog transceiver
and internal logic. This can also be used to supply the terminal 1.5 kΩ pull-up resistor
on the D+ line of the upstream connection.
6.11 PLL clock multiplier
A 6 to 48 MHz clock multiplier Phase-Locked Loop (PLL) is integrated on-chip. This
allows for the use of low-cost 6 MHz crystals. The low crystal frequency also
minimizes Electro-Magnetic Interference (EMI). The PLL requires no external
components.
6.12 Overcurrent detection
USB compound hub with keyboard controller
USB Specification Rev. 1.1
ISP1130
.
An overcurrent detection circuit for downstream ports has been integrated on-chip. It
is self-reporting, resets automatically, has a low trip time and requires no external
components. The ISP1130 supports individual overcurrent detection.
6.13 Power-on reset
The ISP1130 has an internal power-on reset circuit, which generates a reset pulse
when the supply voltage is switched on and when the supply voltage drops below a
predetermined threshold value (see Table 89).
6.14 I2C-bus interface
A serial I2C-bus interface (single master or slave, bit rate up to 400 kHz) is provided
to read vendor ID,product ID and other configuration data from an external EEPROM
(e.g., Philips PCF8582 or equivalent). For more information, see Section 11.
The I2C-bus interface timing is programmable and complies with the standard mode
and the Fast mode of operation as described in
number 9398 393 40011.
The I2C-bus and how to use it
, order
9397 750 06895
Objective specificationRev. 01 — 23 March 200010 of 68
Each USB device is logically composed of several independent endpoints. An
endpoint acts as a terminus of a communication flow between the host and the
device. At design time each endpoint is assigned a unique number (endpoint
identifier, see Table 3). The combination of the device address (given by the host
during enumeration), the endpoint number and the transfer direction allows each
endpoint to be uniquely referenced.
7.1 Endpoint configuration
The ISP1130 hub has 1 to 2 downstream ports and 1 to 3 embedded functions. The
upstream and downstream ports are fully handled by hardware and require no
firmware intervention. Downstream port 2 can be disabled by connecting both D+ and
D− to VCC.
The number of embedded functions can be configured from 1 to 3 via the USBCONA
register. These embedded functions give access to the keyboardcontroller and other
optional software functions. The functions are assigned as follows:
ISP1130
USB compound hub with keyboard controller
Embedded function 1: standard keyboard
•
Embedded function 2:
•
– multimedia functions (e.g. volume control)
– ACPI system control
– application launch keys
Embedded function 3: user-defined functions.
•
Each embedded function has two endpoint types: endpoint 0 (control) and endpoint 1
(generic: bulk and/or interrupt). The embedded function endpoints can handle a
maximum of 8 bytes per transfer.
Table 3:Endpoint allocation
FunctionPortsEndpoint
0: upstream
Hub
Embedded
Function 1
Embedded
Function 2
[4]
1, 2
:
downstream
3 (or 2
4 (or 3
identifier
0control-
1interrupt-
[5]
)0control0OUT8
1generic
[5]
)0control4OUT8
1generic
Transfer
type
Endpoint
index
[2]
[2]
-
[2]
1IN8
[3]
2OUT8
3IN8
5IN8
[3]
6OUT8
7IN8
Direction
OUT64
IN64
IN1
[1]
Max. packet
size (bytes)
9397 750 06895
Objective specificationRev. 01 — 23 March 200011 of 68
[1] IN: input for the USB host; OUT: output from the USB host.
[2] Hub endpoints are not indexed.
[3] Generic endpoint can be used as bulk or interrupt endpoint.
[4] Port 2 can be disabled by connecting both D+ and D− to VCC.
[5] The port number is reduced by 1 when downstream port 2 is disabled.
5 (or 4
[5]
)0control8OUT8
…continued
identifier
1generic
Transfer
type
Endpoint
index
9IN8
[3]
10OUT8
11IN8
Direction
[1]
7.2 Hub endpoint 0 (control)
All USB devices and functions must implement a default control endpoint (ID = 0).
This endpoint is used by the host to configure the device and to perform generic USB
status and control access.
The ISP1130 hub supports the following USB descriptor information through its
control endpoint 0, which can handle transfers of 64 bytes maximum:
Device descriptor
•
Configuration descriptor
•
Interface descriptor
•
Endpoint descriptor
•
Hub descriptor
•
String descriptor.
•
Max. packet
size (bytes)
7.3 Hub endpoint 1 (interrupt)
Endpoint 1 is used by the ISP1130 hub to provide port status change information to
the host. This endpoint can be accessed only after the hub has been configured by
the host (by sending the Set Configuration command).
Endpoint 1 is an interrupt endpoint: the host polls it once every 255 ms by sending an
IN token. If the hub has detected no change in the port status it returns a NAK (Not
AcKnowledge) response to this request, otherwise it sends the Status Change byte
(see Table 4).
Table 4:Status Change byte: bit allocation
BitSymbolDescription
0Hub SCa logic 1 indicates a status change on the hub’s upstream port
1Port 1 SCa logic 1 indicates a status change on downstream port 1
2Port 2 SCa logic 1 indicates a status change on downstream port 2 or on
embedded function 1 (downstream port 2 disabled)
3Port 3 SCa logic 1 indicates a status change on embedded function 1 or on
embedded function 2 (downstream port 2 disabled)
9397 750 06895
Objective specificationRev. 01 — 23 March 200012 of 68
4Port 4 SCa logic 1 indicates a status change on embedded function 2 or on
embedded function 3 (downstream port 2 disabled)
5Port 5 SCa logic 1 indicates a status change on embedded function 3; not used
if downstream port 2 is disabled
6reservednot used
7reservednot used
…continued
The ISP1130 handles all standard USB requests from the host via control endpoint 0.
The control endpoint can handle a maximum of 64 bytes per transfer.
Remark: Please note that the USB data transmission order is Least Significant Bit
(LSB) first. In the following tables multi-byte variables are displayed least significant
byte first.
Table 5 shows the supported standard USB requests. Some requests are explicitly
unsupported. All other requests will be responded with a STALL packet.
Table 5:Standard USB requests
Request namebmRequestType
Address
Set AddressX000 000005address
Configuration
Get Configuration1000 00000800, 0000, 0001, 00configuration
Set Configuration (0)X000 00000900, 0000, 0000, 00none
Set Configuration (1)X000 00000901, 0000, 0000, 00none
Descriptor
Get Configuration
Descriptor
Get Device Descriptor1000 00000600, 0100, 00length
Get String Descriptor (0)1000 00000600, 0300, 00length
Get String Descriptor (1)1000 00000601, 0309, 04length
Get String Descriptor (2)1000 00000602, 0309, 04length
byte 0 [7:0]
(Bin)
1000 00000600, 0200, 00length
bRequest
byte 1
(Hex)
wValue
byte 2, 3
(Hex)
wIndex
byte 4, 5
(Hex)
[1]
00, 0000, 00none
wLength
byte 6, 7
(Hex)
Data
value = 01H
[2]
[2]
[2]
[2]
[2]
configuration,
interface and
endpoint
descriptors
device
descriptor
language ID
string
manufacturer
string
product string
9397 750 06895
Objective specificationRev. 01 — 23 March 200013 of 68
Get Device Status1000 00000000, 0000, 0002, 00device status
Get Interface Status1000 00010000, 0000, 0002, 00zero
Get Endpoint (0) Status1000 00100000, 0000/80
[3]
, 0002, 00endpoint 0
status
Get Endpoint (1) Status1000 00100000, 0081, 0002, 00endpoint 1
status
Unsupported
Set Descriptor0000 000007XX, XXXX, XXXX, XXdescriptor;
STALL
Get Interface1000 00010A00, 00XX, XX01, 00STALL
Set InterfaceX000 00010BXX, XXXX, XX00, 00STALL
Synch Frame1000 00100C00, 00XX, XX02, 00STALL
[1] Device address: 0 to 127.
[2] Returned value in bytes.
[3] MSB specifies endpoint direction: 0 = OUT, 1= IN. The ISP1130 accepts either value.
8.2 Hub specific requests
In Table 6 the supported hub specific requests are listed, as well as some
unsupported requests. Table 7 provides the feature selectors for setting or clearing
port features.
Table 6:Hub specific requests
Request namebmRequestType
byte 0 [7:0]
(Bin)
Descriptor
Get Hub Descriptor1010 00000600, 00/29
Feature
Clear Hub Feature
X010 00000100, 0000, 0000, 00none
(C_LOCAL_POWER)
Clear Port Feature
X010 001101feature
(feature selectors)
Set Port Feature
X010 001103feature
(feature selectors)
bRequest
byte 1
(Hex)
wValue
byte 2, 3
(Hex)
wIndex
byte 4, 5
(Hex)
[1]
00, 00length
[3]
, 00 port
[3]
, 00 port
wLength
byte 6, 7
(Hex)
[2]
, 00hub descriptor
[4]
, 0000, 00none
[4]
, 0000, 00none
Data
9397 750 06895
Objective specificationRev. 01 — 23 March 200014 of 68
Get Hub Status1010 00000000, 0000, 0004, 00hubstatusand
status change
field
[4]
Get Port Status1010 00110000, 00port
, 0004, 00port status
Unsupported
[4]
Get Bus Status1010 00110200, 00port
Clear Hub Feature
X010 00000101, 0000, 0000, 00STALL
, 0001, 00STALL
(C_OVER_CURRENT)
Set Hub DescriptorX010 000007XX, XX00, 003E, 00STALL
Set Hub Feature
X010 00000300, 0000, 0000, 00STALL
(C_LOCAL_POWER)
Set Hub Feature
X010 00000301, 0000, 0000, 00STALL
(C_OVER_CURRENT)
[1]
USB Specification Rev. 1.0
[2] Returned value in bytes.
[3] Feature selector value, see Table 7.
[4] Downstream port identifier: 1 to 5 (1, 2: downstream ports, 3 to 5: embedded functions 1 to 3). If downstream port 2 is disabled, the port
identifiers are 1 to 4 (1: downstream port, 2 to 4: embedded functions 1 to 3).
PORT_CONNECTION00not usednot used
PORT_ENABLE01not useddisables a port
PORT_SUSPEND02suspends a portresumes a port
PORT_OVERCURRENT03not usednot used
PORT_RESET04resets and enables
not used
a port
PORT_POWER08powers on a portpowers off a port
PORT_LOW_SPEED09not usednot used
C_PORT_CONNECTION10not usedclears port connection
change bit
C_PORT_ENABLE11not usedclears port enable
change bit
C_PORT_SUSPEND12not usedclears port suspend
change bit
C_PORT_OVERCURRENT 13not usedclears port overcurrent
change bit
C_PORT_RESET14not usedclears port reset
change bit
9397 750 06895
Objective specificationRev. 01 — 23 March 200015 of 68
8PortPwrCtrlMask1FFmust be all ones for compatibility with
USB Specification Rev. 1.0
[1] Value in units of 2 ms.
[2] Depending on the number of embedded functions configured, the value ranges from 03H to 05H or
from 02H to 04H (downstream port 2 disabled).
Remark: Downstream port 2 can be disabled by connecting both D+ and D− to VCC. Embedded
functions are configured via the USBCONA register (see Table 55).
[3] Default value (08H): ports 1 and 2 removable, port 3 non-removable. The value can be 08H, 18H or
38H depending on the configured number of embedded functions (1, 2 or 3). When downstream
port 2 is disabled, the possible values are 4CH, 0CH or 1CH (1, 2 or 3 embedded functions).
Table 13: String descriptors
String descriptors are optional and therefore disabled by default; they can be enabled via the
Set Mode command (see Table 25).
Offset
(bytes)
Field nameSize
(bytes)
Value
(Hex)
Comments
String descriptor (0): language ID string
0bLength104descriptor length=4bytes
1bDescriptorType103type = STRING
2bString209, 04LANGID code zero
The hub returns 4 bytes. The first 2 bytes contain the port status bits (wPortStatus,
see Table 18). The last 2 bytes hold the port status change bits (wPortChange, see
There are three basic types of commands: Initialization, Data and General
commands. Respectively, these are used to initialize the hub and the embedded
functions; for data flow between the hub, embedded functions and the host; for
controlling individual downstream ports; and general hub operation.
The embedded microcontroller has access to the hub functions via 3 dedicated
control registers (Command, Data, Status), which are mapped to the external data
memory address space of the 80C51. See Section 10.4 “Hub control registers”.
A summary of the available commands is given in Table 20. Some commands have
the same command code (e.g., Read Buffer and Write Buffer). In these cases, the
direction of the transaction (read or write) indicates which command is executed.
To executea command, the specified code must be written to the Command register.
Any following transaction data can then be read or written via the Data register.
Table 20: Command summary
NameDestinationCode (Hex)Transaction
Initialization commands
Set Address/Enableembedded function 1D0write 1 byte
Set Endpoint EnabledeviceD8write 1 byte
Set ModedeviceF3write 2 bytes
Read Bufferselected endpointF0read n bytes
Write Bufferselected endpointF0write n bytes
ISP1130
USB compound hub with keyboard controller
embedded function 2D1write 1 byte
embedded function 3D2write 1 byte
function 1 control IN01read 1 byte (optional)
function 1 endpoint OUT02read 1 byte (optional)
function 1 endpoint IN03read 1 byte (optional)
function 2 control OUT04read 1 byte (optional)
function 2 control IN05read 1 byte (optional)
function 2 endpoint OUT06read 1 byte (optional)
function 2 endpoint IN07read 1 byte (optional)
function 3 control OUT08read 1 byte (optional)
function 3 control IN09read 1 byte (optional)
function 3 endpoint OUT0Aread 1 byte (optional)
function 3 endpoint IN0Bread 1 byte (optional)
9397 750 06895
Objective specificationRev. 01 — 23 March 200022 of 68
Read Device StatusdeviceFEread 1 byte
Set Device StatusdeviceFEwrite 1 byte
Read Current Frame
Number
Read Embedded Port
Status
Write Embedded Port
Status
Set VID/PIDdeviceFBwrite 4 bytes
Read Chip IDdeviceFDread 2 bytes
Get Last ErrordeviceFFread 1 byte
…continued
function 1 control OUT40read 1 byte
function 1 control IN41read 1 byte
function 1 endpoint OUT42read 1 byte
function 1 endpoint IN43read 1 byte
function 2 control OUT44read 1 byte
function 2 control IN45read 1 byte
function 2 endpoint OUT46read 1 byte
function 2 endpoint IN47read 1 byte
function 3 control OUT48read 1 byte
function 3 control IN49read 1 byte
function 3 endpoint OUT4Aread 1 byte
function 3 endpoint IN4Bread 1 byte
function 1 control IN41write 1 byte
function 1 endpoint OUT42write 1 byte
function 1 endpoint IN43write 1 byte
function 2 control OUT44write 1 byte
function 2 control IN45write 1 byte
function 2 endpoint OUT46write 1 byte
function 2 endpoint IN47write 1 byte
function 3 control OUT48write 1 byte
function 3 control IN49write 1 byte
function 3 endpoint OUT4Awrite 1 byte
function 3 endpoint IN4Bwrite 1 byte
deviceF5read 1 or 2 bytes
embedded function 1E0read 1 byte
embedded function 2E1read 1 byte
embedded function 3E2read 1 byte
embedded function 1E0write 1 byte
embedded function 2E1write 1 byte
embedded function 3E2write 1 byte
9397 750 06895
Objective specificationRev. 01 — 23 March 200023 of 68
Initialization commands are used during the enumeration process of the USB
network. These commands are used to enable the hub and embedded function
endpoints. They are also used to set the USB assigned address.
9.1.1 Set Address/Enable command
Sets the USB assigned address and enables the embedded function. This also
enables the associated control endpoint. Embedded functions each must have a
unique USB address.
Code (Hex) — D0 to D2 (embedded functions 1 to 3)
Transaction — write 1 byte.
Table 21: Set Address/Enable command: bit allocation
Table 22: Set Address/Enable command: bit description
BitSymbolDescription
7DevEnableA logic 1 enables the embedded function
6 to 0DevAddressUSB assigned address of the embedded function
9.1.2 Set Endpoint Enable command
Enables the specified endpoints of the hub and/or the embedded functions. The
corresponding function must first be enabled via the Set Address/Enable command.
Code (Hex) — D8
Transaction — write 1 byte.
Table 23: Set Endpoint Enable command: bit allocation
Bit76543210
Func3
Symbol-----
ResetXXXXX000
AccessWWWWWWWW
Table 24: Set Endpoint Enable command: bit description
BitSymbolDescription
7 to 3-reserved
2Func3GenEndpEnableA logic1 enables the generic endpoint of embedded function 3
1Func2GenEndpEnableA logic1 enables the generic endpoint of embedded function 2
0Func1GenEndpEnableA logic1 enables the generic endpoint of embedded function 1
GenEndp
Enable
Func2
GenEndp
Enable
Func1
GenEndp
Enable
9397 750 06895
Objective specificationRev. 01 — 23 March 200024 of 68
Table 25: Set Mode command, Configuration byte: bit allocation
Bit76543210
Symbol-
ResetX0000001
AccessWWWWWWWW
Table 26: Set Mode command, Configuration byte: bit description
BitSymbolDescription
7-reserved
6ClockRestartA logic 1 will cause a clock restart for 2 ms upon a bus transition, when the device
5StringDescriptorEnableA logic 1 enables the string descriptor. The default string will be sent to the host
4RemoteWakeUpEnableA logic 1 enables remote wake-up by key press (embedded function 1).
3AlwaysPLLClockA logic 1 indicates that the internal clocks and PLL are always running, even in
2UseIntDnResistorA logic 1 causes the downstream pull-down resistors to be connected.
1-reserved; must always be logic0
0InterruptOnNAKA logic 1 will generate an interrupt upon sending a NAK. A logic 0 will only report
Clock
Restart
String
Descriptor
Enable
is in ‘suspend’ mode. This allows the device to wake up without resume signaling.
upon request.
‘suspend’ mode. A logic 0 stops the internal clock, crystal oscillator and PLL.
successful transactions.
Remote
WakeUp
Enable
Always
PLL
Clock
Use
IntDn
Resistor
-
Interrupt
OnNAK
9.2 Data flow commands
Data flow commands are used to manage the data transmission between the USB
endpoints and the embedded microcontroller. Much of the data flow is initiated via an
interrupt to the microcontroller. The data flow commands are used to access the
endpoints and determine whether the endpoint FIFOs contain valid data.
Remark: The IN bufferof an endpoint contains inputdata for the host, the OUT buffer
receives output data from the host.
9.2.1 Read Interrupt Register command
Shows the source(s) of an interrupt to the microcontroller. After writing the command,
two bytes are read which hold the interrupt register contents. Byte 1 contains the
least significant bits (7 to 0), byte 2 the most significant bits (15 to 8).
Code (Hex) — F4
Transaction — read 2 bytes.
9397 750 06895
Objective specificationRev. 01 — 23 March 200025 of 68
Remark: All hub endpoints are handled internally by the ISP1130 hardware without
the need of microcontroller intervention.
Table 27: Interrupt Register: bit configuration
Bit15141312111098
Device
Symbol
Reset00000000
AccessRRRRRRRR
Bit76543210
Symbol
Reset00000000
AccessRRRRRRRR
Table 28: Interrupt Register: bit description
BitSymbolDescription
Byte 2
15DeviceStatusRegChangeStatus register change on hub device
14Port5StatusRegChangeStatus register change on embedded function 3
13Port4StatusRegChangeStatus register change on embedded function 2
12Port3StatusRegChangeStatus register change on embedded function 1
11Func3Endp1InEndpoint 1 IN of embedded function 3
10Func3Endp1OutEndpoint 1 OUT of embedded function 3
9Func3ContlInEndpControl endpoint IN of embedded function 3
8Func3ContlOutEndpControl endpoint OUT of embedded function 3
Byte 1
7Func2Endp1InEndpoint 1 IN of embedded function 2
6Func2Endp1OutEndpoint 1 OUT of embedded function 2
5Func2ContlInEndpControl endpoint IN of embedded function 2
4Func2ContlOutEndpControl endpoint OUT of embedded function 2
3Func1Endp1InEndpoint 1 IN of embedded function 1
2Func1Endp1OutEndpoint 1 OUT of embedded function 1
1Func1ContlInEndpControl endpoint IN of embedded function 1
0Func1ContlOutEndpControl endpoint OUT of embedded function 1
StatusReg
Change
Func2
Endp1
In
Port5
StatusReg
Change
Func2
Endp1
Out
Port4
StatusReg
Change
Func2
ContlIn
Endp
Port3
StatusReg
Change
Func2
ContlOut
Endp
Func3
Endp1
In
Func1
Endp1
In
Func3
Endp1
Out
Func1
Endp1
Out
Func3
ContlIn
Endp
Func1
ContlIn
Endp
Func3
ContlOut
Endp
Func1
ContlOut
Endp
The interrupt register bits are cleared as follows:
Reading the Device Status register resets the DeviceStatusRegChange bit
•
Reading the Embedded Port Status register of a port resets the associated
•
PortStatusRegChange bit
The Select Endpoint/Clear Interrupt command clears the endpoint interrupt bits of
•
the selected endpoint.
9397 750 06895
Objective specificationRev. 01 — 23 March 200026 of 68
Selects an endpoint and initializes an internal pointer to the start of the associated
RAM buffer. Optionally, this command can be followed by a data read, which returns
the status of the endpoint buffer (see Table 29).
Code (Hex) — 00 to 0B (endpoint index 0 to 11)
Transaction — read 1 byte (optional).
Table 29: Endpoint Buffer Status byte: bit allocation
Bit76543210
Symbol---
ResetXXX00000
AccessRRRRRRRR
Table 30: Endpoint Buffer Status byte: bit description
BitSymbolDescription
7 to 5-reserved
4SentNAK
3PacketOverwrittenA logic 1 indicates that the previous packet was overwritten by a Setup packet.
2SetupPacket
1StallStatusA logic 1 indicates that the endpoint is in stalled state.
0FullEmptyStatusA logic 1 indicates that the buffer is full, a logic 0 indicates that it is empty.
[1]
[2]
A logic 1 indicates that the device has sent a NAK. This bit is reset when the
device returns an acknowledge (ACK) after receiving an OUT packet, or when it
gets an ACK after sending an IN packet.
This bit is reset by a Select Endpoint/Clear Interrupt command on this endpoint.
A logic 1 indicates that the last successfully received packet had a SETUP token.
This bit is reset by a Select Endpoint/Clear Interrupt command on this endpoint.
Sent
NAK
Packet
Overwritten
Setup
Packet
Stall
Status
Full
Empty
Status
[1] This bit is only defined for control endpoints; it is active only when the InterruptOnNAK feature has been enabled via the Set Mode
command (see Table 25).
[2] This bit will be logic 0 for IN buffers (host packets are received via the OUT buffer).
9.2.3 Read Buffer command
Returns the data buffer contents of the selected endpoint. Following the command, a
maximum of (N + 2) bytes can be read, N representing the size of the endpoint buffer
(see Table 3). After each byte the internal buffer pointer is automatically incremented
by 1. To reset the buffer pointer to the start of the buffer, use the Select Endpoint
command.
Code (Hex) — F0
Transaction — read multiple bytes (max. N + 2, N = buffer size).
Reading a buffer may be interrupted by any other command (except for Select
Endpoint). The data in the buffer are organized as shown in Table 31.
9397 750 06895
Objective specificationRev. 01 — 23 March 200027 of 68
00/1
1XN (number of data bytes in the buffer)
2data byte 0
......
N + 2data byte N − 1
[1] A logic 1 indicates that the packet was successfully received via the USB bus.
[2] A logic 1 indicates that the packet in the buffer has a SETUP token.
9.2.4 Write Buffer command
Fills the data buffer of the selected endpoint. Following the command, a maximum of
(N + 2) bytes may be written, N representing the size of the endpoint buffer (see
Table 3). After each byte the internal buffer pointer is automatically incremented by 1.
To reset the buffer pointer to the start of the buffer, use the Select Endpoint
command.
Code (Hex) — F0
ISP1130
USB compound hub with keyboard controller
[1]
0/1
[2]
XXXXXX
Transaction — write multiple bytes (max. N + 2, N = buffer size).
Writing a buffer may be interrupted by any other command (except for Select
Endpoint). The data must be organized in the same way as shown in Table 31. Upon
writing, the value of byte 0 must be zero.
Remark: There is no protection against writing or reading past a buffer’s boundary,
against writing into an OUT buffer or reading from an IN buffer. Any of these actions
could cause an incorrect operation. Data residing in an OUT buffer are only
meaningful after a successful transaction.
9.2.5 Select Endpoint/Clear Interrupt
Selects the endpoint and clears the associated interrupt. In case of a Control
endpoint, it also clears the SetupPacket and PacketOverwritten status bits. A data
read following the command returns the endpoint buffer status (see Table 29 and
Table 30).
Code (Hex) — 40 to 4B (endpoint index 0 to 11)
Transaction — read 1 byte.
9.2.6 Clear Buffer command
Unlocks the bufferof the selected endpoint, allowingthe reception of new packets. An
optional data read may follow the command, returning the packet status (see
When a packet has been received successfully, an internal Buffer Full flag is set. Any
subsequent packets will be refused by returning a NAK. After reading all data, the
microcontroller must free the buffer using the Clear Buffer command.
9397 750 06895
Objective specificationRev. 01 — 23 March 200028 of 68
7 to 1-reserved
0PacketOverwrittenA logic 1 indicates that the previous packet was overwritten by a Setup Packet. In
that case the buffer is not cleared.
9.2.7 Validate Buffer command
Indicates the presence of valid data for transmission to the USB host.
Code (Hex) — FA
Transaction — none.
After writing data into an endpoint’s IN buffer, the microcontroller must set the Buffer
Full flag by means of the Validate Buffer command. This indicates that the data in the
buffer are valid and can be sent to the host when the next IN token is received.
Remark: A control IN buffer cannot be validated when the Packet Overwritten bit of
the corresponding OUT buffer is set.
9.2.8 Set Endpoint Status command
Stalls or unstalls the indicated endpoint.
Code (Hex) — 40 to 4B (endpoint index 0 to 11)
Transaction — write 1 byte.
A stalled control endpoint is automatically unstalled when it receives a SETUP token,
regardless of the content of the packet. If the endpoint should stay in its stalled state,
the microcontroller can re-stall it with the Set Endpoint Status command.
When a stalled endpoint is unstalled (either by the Set Endpoint Status command or
by receiving a SETUP token), it is also re-initialized.This flushes the buffer: in and if it
is an OUT buffer it waits for a DATA 0 PID, if it is an IN buffer it writes a DATA 0 PID.
Remark: A Set Endpoint Status command with a STALLED bit of logic 0 will always
initialize the endpoint, even when it was not stalled.
Table 34: Set Endpoint Status command: bit allocation
Bit76543210
SymbolConditional
Stall
Reset000XXXX0
AccessWWWWWWWW
9397 750 06895
Objective specificationRev. 01 — 23 March 200029 of 68
Table 35: Set Endpoint Status command: bit description
BitSymbolDescription
7ConditionalStallA logic 1 stalls both endpoints of a Control endpoint (Endpoint identifier = 0),
unless the Setup Packet bit is set. In that case the entire command is ignored.
6RateFeedbackModeA logic 1 switches an interrupt endpoint to ‘rate feedback mode’, a logic 0 enables
‘toggle’ mode.
5DisableA logic 1 disables the selected endpoint, a logic 0 enables it again. A bus reset
(re-)enables all endpoints.
4 to 1-reserved
0StalledA logic 1 stalls the selected endpoint. A logic 0 unstalls the endpoint and
(re-)initializes it, whether it was stalled or not.
[1] A ConditionalStall does not work if the PacketOverwritten status bit is set.
9.3 General commands
9.3.1 Read Device Status
Returns the Device Status register contents, see Table 36 and Table 37. When the
SuspendChange, ConnectChange or BusReset bit is logic 1, the corresponding bit in
the Interrupt register is set and a microcontroller interrupt is generated.
Code (Hex) — FE
Transaction — read 1 byte.
9.3.2 Set Device Status
Changes the Device Status register. The contents of read-only bits are ignored.
Code (Hex) — FE
Transaction — write 1 byte.
Table 36: Device Status register: bit allocation
Bit76543210
Symbol---Bus
Reset
ResetXXXXXXX0
AccessWWWRRR/WRR/W
Table 37: Device Status register: bit description
BitSymbolDescription
7 to 5-reserved
4BusResetA logic 1 signals that the devicereceived a bus reset. Upon a bus reset the device
will automatically enter its default state (unconfigured and responding to
address 0). This bit is cleared when it is read.
3SuspendChangeA logic 1 signals that the value of the Suspend bit has changed. The Suspend bit
changes when the device enters ‘suspend’ mode or when it receives a ‘resume’
signal on its upstream port. This bit is cleared when it is read.
Suspend
Change
SuspendConnect
Change
Connect
9397 750 06895
Objective specificationRev. 01 — 23 March 200030 of 68
2SuspendUpon reading this bit indicates the current ‘suspend’ status: A logic1 indicates
that no activity occurred on the upstream port for more than 3 ms. Any activity on
the upstream port will reset this bit to logic 0.
Writing a logic 0 into this bit will generate a remote wake-up, if the device is
suspended (Suspend = 1). Otherwise, writing a logic 0 has no effect.
Remark: Writing a logic 1 never has any effect.
1ConnectChangeA logic 1 signals that the value of the Connect bit has changed. This bit is cleared
when it is read.
0ConnectWriting a logic 1 causes the device to connect its pull-up resistor to the upstream
port, a logic 0 disconnects the pull-up resistor. Upon reading this bit indicates the
current ‘connect’ status.
…continued
9.3.3 Read Current Frame Number
Reports the frame number (11 bits) of the last successfully received Start Of Frame
(SOF). It is followed by one or two data reads containing the frame number. Byte 1
contains the least significant bits of the frame number (bits 7 to 0), byte 2 holds the
most significant bits (bits 10 to 8) padded with zeroes (see Table 38).
Returns the Embedded Port Status register contents, see Table 39 and Table 40.
When the SuspendChange or BusReset bit is logic 1, the corresponding bit in the
Interrupt register is set (see Table 27 and Table 28) and a microcontroller interrupt is
generated. This command resets the SuspendChange, ConnectChange and
BusReset bits.
Code (Hex) — E0 to E2 (embedded function 1 to 3)
Transaction — read 1 byte.
9.3.5 Write Embedded Port Status
Changes the Embedded Port Status register. Contents of read-only bits are ignored.
Code (Hex) — E0 to E2 (embedded function 1 to 3)
Transaction — write 1 byte.
9397 750 06895
Objective specificationRev. 01 — 23 March 200031 of 68
Table 39: Embedded Port Status register: bit allocation
Bit76543210
Symbol---Port
Reset
ResetXXX00000
AccessWWWRRR/WRR/W
Table 40: Embedded Port Status register: bit description
BitSymbolDescription
7 to 5-reserved
4PortResetA logic 1 signals that a Set Port Feature (PORT_RESET) request was receivedby
the embedded port. If this bit is logic 1, reading it will clear the bit, enable the
embedded port and report the end of the reset to the host.
3SuspendChangeA logic 1 signals that the value of the Suspend bit has changed. The Suspend bit
changes when the device enters ‘suspend’ mode or when it receives a ‘resume’
signal on its upstream port. This bit is cleared when it is read.
2SuspendUpon reading this bit indicates the current ‘suspend’ status: A logic1 indicates
that the embedded port is suspended.
Writing a logic 0 into this bit will generate a remote wake-up,if the embedded port
is suspended (Suspend = 1). Otherwise, writing a logic 0 has no effect.
Remark: Writing a logic 1 never has any effect.
1ConnectChangeA logic 1 signals that the value of the Connect bit has changed. This bit is cleared
when it is read.
0ConnectWriting a logic 1 causes the embedded port to be connected, a logic 0
disconnects the embedded port. Upon reading this bit indicates the current
‘connect’ status.
Suspend
Change
SuspendConnect
Change
Connect
9.3.6 Read Chip ID
Reports the chip identification code (12 bits), comprising the device release number
DEVREV (see Table 8 “Device descriptor”) and the last digit of the device name
DEVNAME (see Table 13 “String descriptors”). Byte 1 contains the least significant
bits of the chip identification code, byte 2 the most significant bits (see Table 41 and
Table 42: Chip identification code: bit description
BitSymbolDescription
15 to 12-reserved
11 to 8DEVNAME[3:0]DEVNAME specifies the final digit (X) in the device name string “ISP113X”.
The Unicode representation of this digit is “0000.0000.0011.DEVNAME”.
For ISP1130 the value of X is 0H.
7 to 0DEVREV[7:0]DEVREV represents the 8-bit device release number (01H = release 1.0).
This value is incremented upon silicon revision.
9.3.7 Set VID/PID
Modifies the vendor ID and the product ID codes, which are reported in the Device
descriptor (see Table 8).
Code (Hex) — FB
Transaction — write 4 bytes.
Table 43: Set VID/PID command: data byte allocation
ByteDescription
0vendor ID (lower byte)
1vendor ID (upper byte)
2product ID (lower byte)
3product ID (upper byte)
9.3.8 Get Last Error
Reports the 4-bit error code of the last generated error. The bit ‘ErrorOccurred’ is
refreshed upon each new packet transfer.
Code (Hex) — FF
Transaction — read 1 byte.
Table 44: Last error byte: bit allocation
Bit76543210
Symbol---Error
Occurred
ResetXXX00000
AccessRRRRRRRR
Table 45: Register bits description
BitSymbolDescription
7 to 5-reserved
4ErrorOccurredA logic 1 indicates that the last packet generated an error.
3 to 0ErrorCode[3:0]error code; for error interpretation see Table 46 “Transaction error codes”
ErrorCode[3:0]
9397 750 06895
Objective specificationRev. 01 — 23 March 200033 of 68
0000no error
0001PID encoding error; bits 7 to 4 are not the inverse of bits 3 to 0
0010PID unknown; encoding is valid, but PID does not exist
0011unexpected packet; packet is not of the expected type (token, data, or
0100token CRC error
0101data CRC error
0110time-out error
0111babble error
1000unexpected end-of-packet
1001sent or received NAK (Not AcKnowledge)
1010sent Stall; a token was received, but the endpoint was stalled
1011overflow; the received packet was larger than the available buffer space
1100sent empty packet (ISO only)
1101bit stuffing error
1110sync error
1111wrong (unexpected) toggle bit in DATA PID; data was ignored
ISP1130
USB compound hub with keyboard controller
Description
acknowledge), or is a SETUP token to a non-control endpoint
10. Keyboard controller
10.1 Microcontroller core
The integrated 80C51 microcontroller has 8 kbytes of mask ROM and 256 bytes of
RAM. The I/O ports have been configured as an 8 × 18 line keyboard scan matrix.
Interfacing to the USB hub is done via 3 registers (Command, Data, Status), which
are accessible via the external data memory address space (MOVX instruction).
The keyboard firmware resides in the ROM and enumerates the embedded function
as ‘HID compatible keyboard device’ during hub initialization.
The microcontroller runs on a 12 MHz clock (f
oscillator. A watchdog timer resets the microcontroller in case of a software hang-up.
10.2 Memory map
10.2.1 Data memory
The internal data memory of ISP1130 is divided into two physically separate areas:
256 bytes RAM and 128 bytes of Special Function Registers (SFRs). Addressing is
done as follows (see Figure 5):
RAM (00H to 7FH): direct andindirect addressing; for indirect addressing registers
•
R0 and R1 of the selected register bank are used as address pointers
RAM (80H to FFH): indirect addressing, using registers R0 and R1 of the selected
•
register bank as address pointers
MCU_CLOCK
), derived from the PLL
9397 750 06895
Objective specificationRev. 01 — 23 March 200034 of 68
SFRs (80H to FFH): direct addressing
4 register banks (00H to 1FH): direct addressing; only 1 register bank may be
enabled at any time
Bit-addressable locations (20H to 2FH): direct addressing; these 16 bytes can
be used as 128 bit-addressable locations.
idth
Fig 5. Data memory organization.
10.2.2 Program memory
The ISP1130 has 8 kbytes of masked ROM for storing the 80C51 operating software.
In order to protect the ROM against illegal copying, execution of a MOVC instruction
from external code memory has been blocked. Instead of reading the program
memory, it accesses the on-chip data memory.
FFH
80H
7FH
20H
00H
INDIRECT
ADDRESSING
DIRECT &
INDIRECT
ADDRESSING
Data Memory Space
SFRs
DIRECT
ADDRESSING
ONLY
4 BANKS OF R0 to R7
MGS799
handbook, halfpage
1FFFH
8 kbytes
ON-CHIP
USER ROM
0000H
MGS800
Fig 6. Program memory organization.
10.3 Special function registers (SFRs)
The SFRs of the 80C51 can only be directly addressed. The memory map is given in
Table 47.
9397 750 06895
Objective specificationRev. 01 — 23 March 200035 of 68
F8 to FFWDTKEYWDT
F0 to F7B
E8 to EF
E0 to E7ACC
D8 to DFI2C0CONI2C0STAI2C0DATI2C0ADR
D0 to D7PSW
C8 to CF
C0 to C7USBCONUSBCONA
B8 to BFIP
B0 to B7P3
A8 to AFIE
A0 to A7P2
98 to 9F
90 to 97P1
88 to 8FTCONTMODTL0TL1TH0TH1
80 to 87P0SPDPLDPHPCON
01234567
Offset
10.3.1 Program Status Word register (PSW)
The PSW register of the 80C51 is bit-addressable. The names and functions of the
bits are shown in Table 48 and Table 49.
Table 48: PSW register: bit allocation
76543210
CYACF0RS1RS0OV-P
Table 49: PSW register: bit description
[1]
Bit
PSW.7CYcarry flag; receives carry out from bit 7 of ALU operands
PSW.6ACauxiliary carry flag; receives carry out from bit 3 of addition
PSW.5F0flag 0; general purpose status flag
PSW.4RS1register bank selector bit 1; see Table 50
PSW.3RS0register bank selector bit 0; see Table 50
PSW.2OVoverflow flag; set by arithmetic operations
PSW.1-user-definable general purpose flag
PSW.0Pparity flag, indicating the number of ‘1’ bits in the accumulator
SymbolDescription
operands
(logic 0 = even, logic 1 = odd); refreshed by hardware upon each
instruction cycle
[1] All bits are individually addressable.
9397 750 06895
Objective specificationRev. 01 — 23 March 200036 of 68
7 to 5-reserved
4WLEWatchdog Load Enable. Writing a logic 1 enables writing to the
watchdog timer register and starts the watchdog timer for the first
time. A logic 0 disables writing to the watchdog timer register.
The watchdog timer can be stopped by writing 55H to the
WDTKEY register (see Table 70) or by a hardware reset.
3GF1General purpose flag set or reset by software.
2GF0General purpose flag set or reset by software.
1PDWriting a logic 1 activates Power-down mode and switches off the
clock. When the microcontroller wakes up from Power-down mode
this bit is cleared to logic 0.
0IDLWritinga logic 1 activatesIdle mode, switching off the normal clock
and turning on the sleep clock. A reset or interrupt returns the
microcontroller from Idle to normal mode and clears this bit to
logic 0.
10.3.3 USB Control register (USBCON)
Table 53: USBCON register: bit allocation
Bit76543210
SymbolSelf
Powered
Reset011 1 1110
AccessWWW W WWWW
9397 750 06895
Objective specificationRev. 01 — 23 March 200037 of 68
The hub control registers (Command and Data) are mapped to the external data
memory space of the 80C51 as shown in Table 57. To access these registers use a
MOVX instruction.
Table 57: Hub control registers: address mapping
RegisterAccessAddress (Hex)
CommandwriteFFFE
Dataread/writeFFFF
10.5 Interrupt structure
The ISP1130 implements a 6-source interrupt structure with 2 priority levels. The
interrupt vector addresses and polling sequence is given in Table 58. The interrupt
priority levels are set via the Interrupt Polarity (IP) register (see Table 61) and the
interrupts can be enabled or disabled via the Interrupt Enable (IE) register (see
External interrupt 0 (EX0) is generated by the USB core when an activity occurs for
any of the three embedded functions. Interrupt EX0 is level-triggered and sets bit IE0
in the TCON register. IE0 is cleared by hardware when the service routine is entered.
External interrupt 1 (EX1) is generated by a key press in the matrix. Interrupt EX1 is
level-triggered and sets bit IE1 in the TCON register. IE1 is cleared by hardware
when the service routine is entered. When the device is in ‘suspend’ state (the
microcontroller clock is disabled), interrupt EX1 is registered and an internal Remote
Wakeupis generated to restart the PLL and the clocks. When the device resumes its
function and the clock to microcontroller core has been restored, the firmware
branches to the interrupt service routine for EX1.
External interrupt 2 (IN2) is generated by input pin INT, which is edge-triggered
(HIGH-to-LOW transition).
Timer 0 and Timer 1 interrupts are generated by a timer register overflow (except for
Timer 0 in Mode 3), signalled by bits TF0 and TF1 in the TCON register. The bit that
generated the interrupt is cleared by hardware, when the service routine is entered.
9397 750 06895
Objective specificationRev. 01 — 23 March 200039 of 68
IP.7-reserved
IP.6-reserved
IP.5IN2priority of external interrupt 2 (input
2
IP.5I2Cpriority of I
C interrupt
INT)
IP.3ET1priority of Timer 1 interrupt
IP.2EX1priority of external interrupt 1 (keyboard)
IP.1ET0priority of Timer 0 interrupt
IP.0EX0priority of external 0 (USB) interrupt
[1] All bits are individually addressable.
[2] A logic 0 indicates a LOW priority, a logic 1 indicates a HIGH priority.
10.6 Timers/counters
The ISP1130 contains two 16-bit timer/counters (Timer 0 and Timer 1), which are
used for generating interrupt requests. Each timer has a control bit C/T in the Timer
Control register (TCON, see Table 67), which selects the timer or counter function. In
the ISP1130 this bit must always be 0 for timer operation.
9397 750 06895
Objective specificationRev. 01 — 23 March 200040 of 68
Both timers can be programmed independently to operate in 4 different modes via the
Timer Mode register (TMOD, see Table 63). When Timer 0 is in mode 3, Timer 1 can
be programmed to modes 0, 1 or 2 but it cannot set an interrupt request flag or
generate an interrupt.
Table 63: TMOD register: bit allocation
Timer 1: bits 7 to 4; Timer 0: bits 3 to 0
Table 64: TMOD register: bit description
BitSymbolDescription
7GATETimer 1 counter gate control; must always be 0
6C/
5M1Timer 1 mode selector bit 1; see Table 63
4M0Timer 1 mode selector bit 0; see Table 63
3GATETimer 0 counter gate control; must always be 0
2C/
1M1Timer 0 mode selector bit 1; see Table 63
0M0Timer 0 mode selector bit 0; see Table 63
ISP1130
USB compound hub with keyboard controller
76543210
GATEC/
TM1M0GATEC/TM1M0
TTimer 1 counter/timer select; must always be 0
TTimer 0 counter/timer select; must always be 0
Table 65: Timer mode selection
M1, M0ModeDescription
00013-bit timer
01116-bit timer
1028-bit auto-reload timer
113Timer 0:TL0 is an 8-bit timer controlled by Timer 0 control bits;
TH0 is an 8-bit timer controlled by Timer 1 control bits
Timer 1: stopped
Each timer consists of two 8-bit registers in the SFR memory space: TLn and THn
(see Table 66). The timer registers are incremented every machine cycle of the
80C51 core. Since one machine cycle consists of 6 clock periods, the timer counts at
a rate of1⁄6× f
MCU_CLOCK
. This corresponds with 2 MHz for the default microcontroller
The timers are started and stopped under software control via the SFR TCON (see
Table 67). Each timer sets its interrupt request flag when the timer register overflows
from all 1’sto all 0’s (normal timer) or to the reload value (auto-reload timer). When a
timer interrupt is generated, the corresponding interrupt request flag is cleared by the
hardware upon entering the interrupt service routine.
9397 750 06895
Objective specificationRev. 01 — 23 March 200041 of 68
TCON.7TF1Timer 1 overflow flag; set by hardware upon Timer 1 overflow;
TCON.6TR1Timer 1 run control bit; 0 = timer OFF, 1 = timer ON
TCON.5TF0Timer 0 overflow flag; set by hardware upon Timer 0 overflow;
TCON.4TR0Timer 0 run control bit; 0 = timer OFF, 1 = timer ON
TCON.3IE1external interrupt 1 flag; set by hardware when a keyboard
TCON.2IT1triggering mode for external interrupt 1, set by software;
TCON.1IE0external interrupt 0 flag; set by hardware when a USB core
TCON.0IT0triggering mode for external interrupt 0, set by software;
SymbolDescription
cleared by hardware upon entering the interrupt service routine
cleared by hardware upon entering the interrupt service routine
interrupt is detected; cleared by hardware upon entering the
interrupt service routine
must always be logic 0 (= HIGH-to-LOW transition)
interrupt is detected; cleared by hardware upon entering the
interrupt service routine
must always be 0 (= HIGH-to-LOW transition)
[1] All bits are individually addressable.
10.7 Watchdog timer
The Watchdog timer is a counter that resets the microcontroller upon overflow. This
allows recovery from erroneous processor states (e.g. caused by electrical noise or
RF-interference). To prevent the Watchdog timer from overflowing, the software must
reload the counter within a predefined (programmable) time.
The Watchdog timer is a 19-bit counter,consisting of an 11-bit prescaler and an 8-bit
SFR (WDT). The counter is clocked in state 2 of every CPU cycle (= 6 clocks) and
generates a reset when register WDT overflows. For a 12 MHz clock frequency, the
interval between overflowscan be programmed between 1.024 ms (WDT = FFH) and
262.144 ms (WDT = 00H). After a reset the WDT register contains all zeroes.
Toenable loading of the Watchdogtimer, bit WLE in the PCON register must be set to
logic 1 (see Table 51). When this is done for the first time, it also starts the timer. The
Watchdog timer can be disabled by writing 55H to the WDTKEY register, or by a
hardware reset.
The following groups of I/O lines are available for interfacing a keyboard matrix to the
ISP1130:
MX0 to MX7 — return lines for keyboard matrix; inputs with internal 8.2 kΩ pull-up
resistors, 5 V tolerant. Inputs MX3 and MX4 are multiplexed with the SCL and SDA
lines respectively. This allows the ISP1130 firmware to read configuration data from
an external EEPROM via SDA and SCL, e.g. upon a hardware or a USB bus reset.
MY0 to MY17 — scan lines for keyboardmatrix; bidirectional lines with internal 82 kΩ
pull-down resistors and 8.2 kΩ pull-up resistors. The pull-down resistors are selected
by setting bit DisableKBDMatrix in the USBCON register.In Idle mode these lines are
inputs, which are OR-ed together to generate an interrupt when a key is pressed.
CAPSLOCK / NUMLOCK / SCRLOCK — open drain outputs for driving Caps Lock,
Num Lock and Scroll Lock indicator LEDs (max. 8 mA).
Remark: When accessing external functions or devices via the ISP1130 bus lines, it
is recommended to isolate the MYn lines by means of analog switches,controlled via
output MEMSEL/UPGL. This prevents bus conflicts during keyboard scanning.
ISP1130
USB compound hub with keyboard controller
10.9 I/O port mapping
Table 74 provides the mapping of standard 80C51 input/output ports with respect to
their use in ISP1130.
Table 74: Mapping of I/O ports between ISP1130 and 80C51
ISP1130 ports80C51 portsDescription
MY0 to MY7P0.0 to P0.7keyboard scan lines
MY8 to MY15P2.0to P2.7keyboard scan lines
MY16P1.0keyboard scan lines
MY17P1.1keyboard scan lines
MEMSEL/UPGLP1.2chip select output for an external EEPROM;
upstream port GoodLink indicator output
CAPSLOCKP1.3control output for Caps Lock LED indicator
NUMLOCKP1.4control output for Num Lock LED indicator
SCRLOCKP1.5control output for Scroll Lock LED indicator
n.c.P1.6not used
n.c.P1.7not used
MX0 to MX7P3.0 to P3.7keyboard return lines
10.10 Keyboard matrix implementation
The ISP1130 can support a maximum key matrix size of 18 × 8, totalling 144 keys. A
typical implementation of the keyboard matrix is shown in Figure 7.
9397 750 06895
Objective specificationRev. 01 — 23 March 200044 of 68
1. When no key press is detected within a predefined time interval, the
microcontroller switches the MYn scan lines to ‘input’ and enters Idle mode.
2. Pressing any key will result in the HIGH level of an MXn line to be transferred to
an MYn input. Such a HIGH level (4.45 V typ.) exceeds VIH and generates an
interrupt, since all MYn lines are OR-ed together.
3. Upon a keyboard interrupt the microcontroller exits Idle mode and resumes
standard keyboard matrix scanning to determine which key was pressed.
This algorithm helps to reduce EMI and power consumption.
10.11 Suspend and resume
10.11.1 Suspend
When there is no activity on the USB bus for more than 3 ms, the device generates
an interrupt to the microcontroller to enter ‘suspend’ state.
The microcontroller can respond to a ‘suspend’ interrupt in three ways,depending on
the value of bit SuspendClock in the USBCON register when servicing the interrupt:
9397 750 06895
Objective specificationRev. 01 — 23 March 200045 of 68
Remark: After a resume operation, the microcontroller has to clear bit SuspendClock
to logic 0 to enable further suspend operations.
10.11.2 Resume
The ISP1130 can resume operation from ‘suspend’ state in three ways, depending on
whether the operating clocks are active or not:
•
•
ISP1130
USB compound hub with keyboard controller
SuspendClock = 0: The operating clocks of the USB core and the microcontroller
remain on during ‘suspend’ state. The device’s power consumption is not reduced
and therefore this state does not guarantee ‘suspend’ current requirements.
SuspendClock = 1: The internal clocks are automatically switched off after 2 ms.
This allows the microcontroller adequate time to process the ‘suspend’ interrupt
and enter Power-down mode. Power consumption is reduced to its minimum to
meet the ‘suspend’ current requirements of
SuspendClock is changed from 0 to 1: The clocks are switched off after 1 ms.
This option can be used if the microcontroller requires more time than 2 ms to
prepare for ‘suspend’ mode.
Operating clock on: Clearing the Suspend bit of the Device Status Register to
logic 0 will generate a remote wake-up signal.
Operating clock off: The following events will generate a remote wake-up signal:
– Key press (activity on the MYn lines)
– USB bus activity.
Upon a remote wake-upsignal, the USB core first enables the PLL and the clocks.
When the clocks have stabilized, an interrupt wakes up the microcontroller from
Power-down mode. The microcontroller resumes program execution from where it
left off. A ‘resume’ signal is then generated on the upstream port.
USB Specification Rev. 1.1
.
11. I2C-bus interface
A simple I2C-bus interface is provided in the ISP1130 to read configuration data from
an external EEPROM upon a (power-on) reset or a bus reset from the USB host. The
interface hardwaresupports both single master and slaveoperation at bus speeds up
to 400 kHz.
For this application the user must configure the I2C-bus interface as single master via
software. After reading the EEPROM configuration data, the I2C-bus driver software
module and the EEPROM must be disabled, since the SCL and SDA lines are
multiplexed with keyboard matrix scan lines (MX3 and MX4 respectively). Output
MEMSEL/UPGL is available for (de)selecting the EEPROM.
The I2C-bus interfaceis intended for bidirectional communication between ICs via two
serial bus wires, SDA (data) and SCL (clock). Both lines are driven by open-drain
circuits and must be connected to the positive supply voltage via pull-up resistors. In
the ISP1130 8.2 kΩ pull-up resistors are integrated on pins MX3/SCL and MX4/SDA.
9397 750 06895
Objective specificationRev. 01 — 23 March 200046 of 68
The I2C-bus protocol defines the following conditions:
•
•
•
•
Each device on the I2C-bus has a unique slave address, which the master uses to
select a device for access.
The master starts a data transfer using a START condition and ends it by generating
a STOP condition. Transfers can only be initiated when the bus is free. The receiver
must acknowledge each byte by means of a LOW levelon SDAduring the ninth clock
pulse on SCL.
ISP1130
USB compound hub with keyboard controller
Bus free: both SDA and SCL are HIGH
START: a HIGH-to-LOW transition on SDA, while SCL is HIGH
STOP: a LOW-to-HIGH transition on SDA, while SCL is HIGH
Data valid: after a START condition, data on SDA are stable during the HIGH
period of SCL; data on SDA may only change while SCL is LOW.
For detailed information please consult
9398 393 40011.
11.2 Hardware connections
Via the I2C-bus interface the ISP1130 can be connected to an external EEPROM
(PCF8582 or equivalent). The hardware connections are shown in Figure 8.
The SCL and SDA pins are multiplexed with pins MX3 and MX4 respectively. Pin
MEMSEL/UPGL can be used as a chip select output to select external devices, such
as smart card readers, UARTs, etc.
dth
MX3/SCL
MX4/SDA
ISP1130
USB HUB
The I2C-bus and how to use it
DD
R
2
I
C-bus
V
DD
R
P
P
SCL
SDA
PCF8582
EEPROM
equivalent
V
., order number
A0
A1
A2
or
MGS808
Fig 8. EEPROM connection diagram.
The slave address which ISP1130 uses to access the EEPROM is 1010000B. Page
mode addressing is not supported, so pins A0, A1 and A2 of the EEPROM must be
connected to GND (logic 0).
9397 750 06895
Objective specificationRev. 01 — 23 March 200047 of 68
The I2C-bus interface can be used to read configuration data from an external
EEPROM, e.g. upon a hardware or USB bus reset. The EEPROM must be enabled
and disabled using output pin MEMSEL/UPGL. To select the I2C-bus function of pins
MX3/SCL and MX4/SDA, bit ENS1 in the I2C0CON register must be set to logic 1.
The number and the organization of the data bytes read from the EEPROM can be
determined by the firmware designer.
The I2C-bus interface is accessed via a number of SFRs, shown in Table 75.
I2C0CON.7CR2selects I
I2C0CON.6ENS1Enable Serial I/O. A logic 1 enables the I
SymbolDescription
2
C-bus bit frequency in Master mode, see Table 78
2
C-bus interface
and sets pins MX3/SCL and MX4/SDA to logic 1. A logic 0
2
disables the I
C-bus interface and clears bit STO to logic 0,
allowing MX3/SCL and MX4/SDA to be used as open drain
I/O pins.
I2C0CON.5STASTART flag. In Slave mode a logic1 generates a START
condition as soon as the bus is free. In Master mode a
logic 1 generates a repeated START condition.
I2C0CON.4STOSTOP flag. In maSter mode a logic 1 generates a STOP
condition. This bit is cleared by hardware if a STOP
condition is detected on the bus. In Slavemode a logic 1can
be used to recover from an error: it causes SDAand SCL to
be released and the device to be unaddressed.
I2C0CON.3SISerial Interrupt flag. A logic 1 signals a validstatus change
(see Table 83), causing the SCL LOW period to be stretched
and the transfer to be suspended. This bit must be cleared
by software when servicing the interrupt.
9397 750 06895
Objective specificationRev. 01 — 23 March 200048 of 68
7 to 3SC[4:0]status code, see Table 83
2 to 0-reserved, always zero
Table 83: I
Status byteSC[4:0]Description (see Table 84)
Master transmit mode
08H00001START condition has been transmitted
10H00010repeated START condition has been transmitted
18H00011SLA and W have been transmitted, ACK was received
20H00100SLA and W have been transmitted,
28H00101DATA byte has been transmitted, ACK was received
30H00110DATA byte has been transmitted,
38H00111arbitration was lost in SLA, R/W or DATA byte
Master receive mode
08H00001START condition has been transmitted
10H00010repeated START condition has been transmitted
38H00111arbitration was lost while returning
40H01000SLA and R have been transmitted, ACK was received
48H01001SLA and R have been transmitted,
50H01010DATA byte has been received, ACK was returned
58H01011DATA byte has been received,
Slave receive mode
60H01100own SLA and W have been received, ACK was returned
68H01101arbitration was lost in SLA, R/W as master; own SLA and W
70H01110General Call has been received, ACK was returned
78H01111arbitration was lost in SLA, R/W as master; General Call has
80H10000previously addressed with own SLA; DATA byte has been
88H10001previously addressed with own SLA; DATA byte has been
90H10010previously addressed with General Call; DATA byte has been
98H10011previously addressed with General Call; DATA byte has been
A0H10100STOP or repeated START condition has been received, while
2
C-bus status codes
USB compound hub with keyboard controller
ACK was received
ACK was received
ACK
ACK was received
ACK was returned
have been received, ACK was returned
been received
received, ACK was returned
received,
received, ACK was returned
received,
still addressed as slave receiver or transmitter
ACK was returned
ACK was returned
ISP1130
9397 750 06895
Objective specificationRev. 01 — 23 March 200050 of 68
USB hubs can either be self-powered or bus-powered.
Self-powered — Self-powered hubs have a 5 V local power supply on board which
provide power to the hub and the downstream ports. The
requires that these hubs limit the current to 500 mA per downstream port and report
overcurrent conditions to the host. The hub may optionally draw 100 mA from the
USB supply (V
Bus-powered — Bus-powered hubs obtain all power from the host or an upstream
self-powered hub. The maximum current is 100 mA per downstream port. Current
limiting and reporting of overcurrent conditions are both optional.
The ISP1130 has bus-powered downstream ports and supports individual power
switching via pins PSWn.
12.1 Voltage drop requirements
12.1.1 Bus-powered hubs
Bus-powered hubs are guaranteed to receive a supply voltage of 4.5 V at the
upstream port connector and must provide a minimum of 4.4 V to the downstream
port connectors. The voltage drop of 100 mV across bus-powered hubs includes:
USB compound hub with keyboard controller
USB Specification Rev. 1.1
) to power the interface functions (hybrid-powered).
BUS
ISP1130
Hub PCB (power and ground traces, ferrite beads)
•
Power switch (FET on-resistance)
•
Overcurrent sense device.
•
The PCB resistance may cause a drop of 25 mV, which leaves 75 mV for the power
switch and overcurrent sense device. The voltage drop components are shown in
Figure 9.
For bus-powered hubs overcurrent protection is optional. It may be implemented for
all downstream ports on a global or individual basis. The ISP1130 has individual
overcurrent protection for its downstream ports.
handbook, full pagewidth
V
BUS
upstream
port
connector
(1) Includes PCB traces, ferrite beads, etc.
D+
D−
GND
SHIELD
voltage drop
ISP1122
power
switch
75 mV
low-ohmic
PMOS switch
Fig 9. Typical voltage drop components in bus-powered mode (no overcurrent detection).
voltage drop
25 mV
hub board
resistance
4.40 V(min)4.50 V(min)
(1)
V
BUS
D+
D−
GND
SHIELD
MGR783
downstream
port
connector
9397 750 06895
Objective specificationRev. 01 — 23 March 200052 of 68
The ISP1130 has an analog overcurrent detection circuit for monitoring downstream
port lines. This circuit automatically reports an overcurrent condition to the host and
turns off the power to the faulty port. The host must reset the condition flag.
Pins OC1/DPGL1 and OC2/DPGL2 can be used for individual port overcurrent
detection or GoodLink indication. The pin functionality is selected via bit
EnableOverCurrent in the USBCON register, see Table 53.
13.1 Overcurrent circuit description
The integrated overcurrent detection circuit of ISP1130 senses the voltage drop
across the power switch or an extra low-ohmic sense resistor. When the port draws
too much current, the voltage drop across the power switch exceeds the trip voltage
threshold (∆V
switch control signal after a delay of 15 ms (t
period to minimize false tripping, especially during the inrush current produced by ‘hot
plugging’ of a USB device.
ISP1130
USB compound hub with keyboard controller
). The overcurrent circuit detects this and switches off the power
trip
). This delay acts as a ‘debounce’
trip
13.2 Power switch selection
Fromthe voltagedrop analysis given in Figure 9, the power switchhas a voltage drop
budget of 75 mV. For individual self-powered mode,the current drawnper port can be
up to 500 mA. Thus the power switch should have maximum on-resistance of
150 mΩ.
If the voltage drop due to the hub board resistance can be minimized, the power
switch can have more voltage drop budget and therefore a higher on-resistance.
Power switches with a typical on-resistance of around 100 mΩ fit into this application.
The ISP1130 overcurrent detection circuit has been designed with a nominal trip
voltage (∆V
) of 85 mV. This gives a typical trip current of approximately 850 mA for
trip
a power switch with an on-resistance of 100 mΩ1.
13.3 Tuning the overcurrent trip voltage
The ISP1130 trip voltage can optionally be adjusted through external components to
set the desired trip current. This is done by inserting tuning series resistors at pins
OCn/DPGLn (see Figure 10). Rtd tunes down the trip voltage ∆V
Equation 1.
∆V
with I
trip
OC(nom)
∆V
trip intrinsic()
= 0.5 µA.
I
⋅–=
OCRtd
according to
trip
(1)
1.The following PMOS power switches have been tested to work well with the ISP1130: Philips PHP109, Vishay Siliconix Si2301DS,
Fairchild FDN338P.
9397 750 06895
Objective specificationRev. 01 — 23 March 200053 of 68
A typical example of individual port power switching and individual overcurrent
detection is given in Figure 11. The RC circuit (10 kΩ and 1 µF) around the PMOS
switch provides for soft turn-on. Series resistors between pins OCn/DPGLn and the
supply voltage maybe used to tunedownthe overcurrent trip voltage (see Figure 10).
ISP1130
low-ohmic
PMOS switch
R
OCn/DPGLn
MBL160
I
OC
td
handbook, full pagewidth
+4.85 V(min)
5 V
POWER SUPPLY
± 3%
V
CC
GND
ISP1130
OC1/DPGL1
OC2/DPGL2
+4.85 V(min)
+
−
330 kΩ
(2×)
PSW1
PSW2
0.1 µF
10 kΩ
0.1 µF
10 kΩ
low-ohmic
PMOS switch
low-ohmic
PMOS switch
downstream
(min)
(min)
ports
V
BUS
D+
D−
GND
SHIELD
V
BUS
D+
D−
GND
SHIELD
1
2
ferrite bead
1
2
120
µF
ferrite bead
120
µF
MBL162
+4.75 V
+4.75 V
Power switches 1 and 2 are low-ohmic PMOS devices as specified in Section 13.2.
Fig 11. Hybrid-powered hub; individual port power switching; individual overcurrent detection.
9397 750 06895
Objective specificationRev. 01 — 23 March 200054 of 68
In accordance with the Absolute Maximum Rating System (IEC 60134).
SymbolParameterConditionsMinMaxUnit
V
CC
V
I
I
latchup
V
esd
T
stg
P
tot
[1] Equivalent to discharging a 100 pF capacitor via a 1.5 kΩ resistor (Human Body Model).
[2] Values are given for device only; in-circuit V
[3] For open-drain pins V
Table 92: Static characteristics: analog I/O pins (D+, D−)
VCC= 4.0 to 5.5 V; V
GND
=0V; T
=−40 to+85°C; unless otherwise specified.
amb
[1]
SymbolParameterConditionsMinTypMaxUnit
Input levels
V
DI
V
CM
differential input sensitivity|V
differential common mode
− V
I(D+)
|0.2--V
I(D−)
includes VDI range0.8-2.5V
voltage
V
IL
V
IH
LOW-level input voltage--0.8V
HIGH-level input voltage2.0--V
Output levels
V
OL
V
OH
LOW-level output voltageRL= 1.5 kΩ to +3.6V--0.3V
HIGH-level output voltageRL=15kΩ to GND2.8-3.6V
Leakage current
I
LZ
OFF-state leakage current--±10µA
Capacitance
C
IN
transceiver capacitancepin to GND--20pF
Resistance
[2]
Z
DRV
Z
INP
driver output impedancesteady-state drive28-44Ω
input impedance10--MΩ
Termination
V
TERM
[3]
termination voltage for
upstream port pull-up (R
PU
)
3.0
[4]
-3.6V
[1] D+ is the USB positive data pin (UP_DP, DNn_DP); D− is the USB negative data pin (UP_DM, DNn_DM).
[2] Includes external resistors of 18 Ω±1% on both D+ and D−.
[3] This voltage is available at pin V
[4] In ‘suspend’ mode the minimum voltage is 2.7 V.
reg(3.3)
.
16. Dynamic characteristics
To be determined.
9397 750 06895
Objective specificationRev. 01 — 23 March 200057 of 68
This text gives a very brief insight to a complex technology. A more in-depth account
of soldering ICs can be found in our
Packages
There is no soldering method that is ideal for all IC packages. Wave soldering is often
preferred when through-hole and surface mount components are mixed on one
printed-circuit board. However, wave soldering is not always suitable for surface
mount ICs, or for printed-circuit boards with high population densities. In these
situations reflow soldering is often used.
20.2 Surface mount packages
20.2.1 Reflow soldering
Reflow soldering requires solder paste (a suspension of fine solder particles, flux and
binding agent) to be applied to the printed-circuit board by screen printing, stencilling
or pressure-syringe dispensing before package placement.
ISP1130
USB compound hub with keyboard controller
Data Handbook IC26; Integrated Circuit
(document order number 9398 652 90011).
Several methods exist for reflowing; for example, infrared/convection heating in a
conveyor type oven. Throughput times (preheating, soldering and cooling) vary
between 100 and 200 seconds depending on heating method.
Typical reflow peak temperatures range from 215 to 250 °C. The top-surface
temperature of the packages should preferable be kept below 230 °C.
20.2.2 Wave soldering
Conventional single wave soldering is not recommended for surface mount devices
(SMDs) or printed-circuit boards with a high component density, as solder bridging
and non-wetting can present major problems.
To overcome these problems the double-wave soldering method was specifically
developed.
If wave soldering is used the following conditions must be observed for optimal
results:
Use a double-wave soldering method comprising a turbulent wave with high
•
upward pressure followed by a smooth laminar wave.
For packages with leads on two sides and a pitch (e):
•
– larger than or equal to 1.27 mm, the footprint longitudinal axis is preferred to be
parallel to the transport direction of the printed-circuit board;
– smaller than 1.27 mm, the footprint longitudinal axis must be parallel to the
transport direction of the printed-circuit board.
The footprint must incorporate solder thieves at the downstream end.
For packages with leads on four sides, the footprint must be placed at a 45° angle
•
to the transport direction of the printed-circuit board. The footprint must
incorporate solder thieves downstream and at the side corners.
9397 750 06895
Objective specificationRev. 01 — 23 March 200062 of 68
During placement and before soldering, the package must be fixed with a droplet of
adhesive. The adhesive can be applied by screen printing, pin transfer or syringe
dispensing. The package can be soldered after the adhesive is cured.
Typical dwell time is 4 seconds at 250 °C. A mildly-activated flux will eliminate the
need for removal of corrosive residues in most applications.
20.2.3 Manual soldering
Fix the component by first soldering two diagonally-opposite end leads. Use a low
voltage (24 V or less) soldering iron applied to the flat part of the lead. Contact time
must be limited to 10 seconds at up to 300 °C.
When using a dedicated tool, all other leads can be soldered in one operation within
2 to 5 seconds between 270 and 320 °C.
20.3 Through-hole mount packages
20.3.1 Soldering by dipping or by solder wave
The maximum permissible temperature of the solder is 260 °C; solder at this
temperature must not be in contact with the joints for more than 5 seconds. The total
contact time of successive solder waves must not exceed 5 seconds.
ISP1130
USB compound hub with keyboard controller
The device may be mounted up to the seating plane, but the temperature of the
plastic body must not exceed the specified maximum storage temperature (T
If the printed-circuit board has been pre-heated, forced cooling may be necessary
immediately after soldering to keep the temperature within the permissible limit.
20.3.2 Manual soldering
Apply the soldering iron (24 V or less) to the lead(s) of the package, either below the
seating plane or not more than 2 mm above it. If the temperature of the soldering iron
bit is less than 300 °C it may remain in contact for up to 10 seconds. If the bit
temperature is between 300 and 400 °C, contact may be up to 5 seconds.
stg(max)
).
9397 750 06895
Objective specificationRev. 01 — 23 March 200063 of 68
maximum temperature (with respect to time) and body size of the package,there is a risk that internal
or external package cracks may occur due to vaporization of the moisture in them (the so called
popcorn effect). For details, refer to the Drypack information in the
Circuit Packages; Section: Packing Methods
printed-circuit board.
and heatsink (at bottom version) can not be achieved, and as solder may stick to the heatsink (on top
version).
direction. The package footprint must incorporate solder thieves downstream and at the side corners.
than 0.8 mm; it is definitely not suitable for packages with a pitch (e) equal to or smaller than 0.65 mm.
0.65 mm; it is definitely not suitable for packages with a pitch (e) equal to or smaller than 0.5 mm.
, SO, SOJsuitablesuitable−
[4] [5]
suitable−
[6]
suitable−
Data Handbook IC26; Integrated
.
[1]
Dipping
9397 750 06895
Objective specificationRev. 01 — 23 March 200064 of 68
Objective specificationDevelopmentThis data sheet contains the design target or goal specifications for product development. Specification may
change in any manner without notice.
Preliminary specification QualificationThis data sheet contains preliminary data, and supplementary data will be published at a later date. Philips
Semiconductors reserves the right to make changes at any time without notice in order to improve design and
supply the best possible product.
Product specificationProductionThis data sheet contains final specifications. Philips Semiconductors reserves the right to make changes at any
time without notice in order to improve design and supply the best possible product.
[1] Please consult the most recently issued data sheet before initiating or completing a design.
23. Definitions
Short-form specification — The data in a short-form specification is
extracted from a full data sheet with the same type number and title. For
detailed information see the relevant data sheet or data handbook.
Limiting values definition — Limiting values given are in accordance with
the Absolute Maximum Rating System (IEC 60134). Stress above one or
more of the limiting values may cause permanent damage to the device.
These are stress ratings only and operation of the device at these or at any
other conditions above those given in the Characteristics sections of the
specification is not implied. Exposure to limiting values for extended periods
may affect device reliability.
Application information — Applications that are described herein for any
of these products are for illustrative purposes only. Philips Semiconductors
make no representation or warranty that such applications will be suitable for
the specified use without further testing or modification.
24. Disclaimers
Life support — These products are not designed for use in life support
appliances, devices, or systems where malfunction of these products can
reasonably be expected to result in personal injury. Philips Semiconductors
[1]
customers using or selling these products for use in such applications do so
at their own risk and agree to fully indemnify Philips Semiconductors for any
damages resulting from such application.
Right to make changes — Philips Semiconductors reserves the right to
make changes, without notice, in the products, including circuits, standard
cells, and/or software, described or contained herein in order to improve
design and/or performance. Philips Semiconductors assumes no
responsibility or liability for the use of any of these products, conveys no
licence or title under any patent, copyright, or mask work right to these
products, and makes no representations or warranties that these products
are free from patent, copyright, or mask work right infringement, unless
otherwise specified.
25. Licenses
Purchase of Philips I2C components
Purchase of Philips I
under the Philips’ I
2
C system provided the system conforms to the I2C
I
specification defined by Philips. This specification can be
ordered using the code 9398 393 40011.
2
C components conveys a license
2
C patent to use the components in the
26. Trademarks
ACPI — is an open industry specification for PC power management,
co-developed by Intel Corp., Microsoft Corp. and Toshiba
GoodLink — is a trademark of Royal Philips Electronics
OnNow — is a trademark of Microsoft Corp.
9397 750 06895
Objective specificationRev. 01 — 23 March 200066 of 68
SMBus — is a bus specification for PC power management, developed by
Intel Corp. based on the I
SoftConnect — is a trademark of Royal Philips Electronics
All rights are reserved. Reproduction in whole or in part is prohibited without the prior
written consent of the copyright owner.
The information presented in this document does not form part of any quotation or
contract, is believed to be accurate and reliable and may be changed without notice. No
liability will be accepted by the publisher for any consequence of its use. Publication
thereof does not convey nor imply any license under patent- or other industrial or
intellectual property rights.
Date of release: 23 March 2000Document order number: 9397 750 06895
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.