PHILIPS ISP1130

ISP1130
Universal Serial Bus compound hub with integrated keyboard
controller
Rev. 01 — 23 March 2000
Objective specification
1. General description
The ISP1130 integrates a Universal Serial Bus (USB) hub with a keyboard controller
into a single chip, which complies with Universal Serial Bus Specification Rev. 1.1 and
the USB Device Class Definition for Human Interface Devices (HID). The hub has
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 VBUS. The downstream ports are either bus-powered or hybrid-powered and
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 VBUS. The
low power consumption in ‘suspend’ mode allows easy design of equipment that is
compliant with the ACPI™, OnNow™ and USB power management requirements.
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
put in sleep mode or power-down mode.
c
c
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.
2. Features
■ 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
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
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
data RAM
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
power-down mode
Visual USB traffic monitoring (GoodLink) for hub and downstream ports
I2C-bus interface to read vendor ID, product ID and configuration bits from
external EEPROM
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.
3. Ordering information
Table 1:
Ordering information
Type number
Package
Name
Description
Version
ISP1130DL
SSOP56
plastic shrink small outline package; 56 leads; body width 7.5 mm
SOT371-1
ISP1130N
SDIP56
plastic shrink dual in-line package; 56 leads (600 mil)
SOT400-1
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
2 of 68
Objective specification
9397 750 06895
Rev. 01 — 23 March 2000
9
13
Fig 1. Block diagram of ISP1130.
downstream port 1
12
XTAL1
16
PSW2
downstream port 2
4
5V
30
Vreg(3.3)
VOLTAGE
REGULATOR
3.3 V
Connect
Vpu(3.3)
6
WATCH
DOG
TIMER
50, 51
2
RESET
3
POWER-ON
RESET
256 BYTES
RAM
MX
55
54
53
45
44
GND
4
MGS811
5, 17, 29, 46, 56
internal
reset
3
3
26 to 28,
31 to 43 16
23 to 25
22
21
18 to 20
ISP1130
LED
PORTS
MY
KEY
MATRIX
PORTS
49, 52
2
EA, INT
INT1
ALE, PSEN
MICROCONTROLLER
80C51
8 kBYTE
MASK ROM
internal
supply
16 BYTES RAM
DEVICE
HANDLER
HUB
INT0
CONTROLLER
MCU_CLOCK
48
SYNCLK
to EEPROM
PROGRAM
DIVIDER
PORT
CONTROLLER
VCC
14
GoodLink
OC DETECT
POWER SW
END OF
FRAME
TIMERS
PHILIPS
SIE
BIT CLOCK
RECOVERY
48
MHz
47
MEMSEL/UPGL
to LED
XTAL2
2
PLL
OSCILLATOR
1
OC2/DPGL2
11
DN2_DM
DN2_DP
PSW1
OC1/DPGL1
15
GoodLink
OC DETECT
POWER SW
HUB
GoodLink
ANALOG
Tx/Rx
SoftConnect
HUB
REPEATER
ANALOG
Tx/Rx
DN1_DM
DN1_DP
10
ANALOG
Tx/Rx
1.5
kΩ
7
6 MHz
handbook, full pagewidth
3.3 V
8
UP_DP UP_DM
upstream port
CAPSLOCK
NUMLOCK
SCRLOCK
MY17/WR
MY16/RD
MY0
to MY15
MX5
to MX7
MX4/SDA
MX3/SCL
MX0
to MX2
to/from
keyboard
Philips Semiconductors
ISP1130
USB compound hub with keyboard controller
4. Block diagram
© Philips Electronics N.V. 2000. All rights reserved.
3 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
5. Pinning information
5.1 Pinning
handbook, halfpage
handbook, halfpage
XTAL1
1
56 GND
XTAL1
1
56 GND
XTAL2
2
55 CAPSLOCK
XTAL2
2
55 CAPSLOCK
RESET
3
54 NUMLOCK
RESET
3
54 NUMLOCK
VCC
4
53 SCRLOCK
VCC
4
53 SCRLOCK
GND
5
52 INT
GND
5
52 INT
Vpu(3.3)
6
51 PSEN
Vpu(3.3)
6
51 PSEN
UP_DM
7
50 ALE
UP_DM
7
50 ALE
UP_DP
8
49 EA
UP_DP
8
49 EA
DN1_DM
9
48 SYNCLK
DN1_DM
9
48 SYNCLK
DN1_DP 10
47 MEMSEL/UPGL
DN1_DP 10
47 MEMSEL/UPGL
DN2_DM 11
46 GND
DN2_DM 11
46 GND
DN2_DP 12
45 MY17/WR
DN2_DP 12
45 MY17/WR
PSW1 13
44 MY16/RD
PSW1 13
44 MY16/RD
43 MY15
PSW2 14
PSW2 14
ISP1130DL
43 MY15
ISP1130N
OC1/DPGL1 15
42 MY14
OC1/DPGL1 15
42 MY14
OC2/DPGL2 16
41 MY13
OC2/DPGL2 16
41 MY13
GND 17
40 MY12
GND 17
40 MY12
MX0 18
39 MY11
MX0 18
39 MY11
MX1 19
38 MY10
MX1 19
38 MY10
MX2 20
37 MY9
MX2 20
37 MY9
MX3/SCL 21
36 MY8
MX3/SCL 21
36 MY8
MX4/SDA 22
35 MY7
MX4/SDA 22
35 MY7
MX5 23
34 MY6
MX5 23
34 MY6
MX6 24
33 MY5
MX6 24
33 MY5
MX7 25
32 MY4
MX7 25
32 MY4
MY0 26
31 MY3
MY0 26
31 MY3
MY1 27
30 Vreg(3.3)
MY1 27
30 Vreg(3.3)
MY2 28
29 GND
MY2 28
29 GND
MGS810
Fig 2. Pin configuration SSOP56.
MGS798
Fig 3. Pin configuration SDIP56.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
4 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
5.2 Pin description
Table 2:
Pin description (SSOP56 and SDIP56)
Symbol [1]
Pin
Type
Description
XTAL1
1
I
crystal oscillator input (6 MHz)
XTAL2
2
O
crystal oscillator output (6 MHz)
RESET
3
I
reset input (Schmitt trigger); a LOW level produces an
asynchronous reset; connect to VCC for power-on reset
(internal POR circuit)
VCC
4
-
supply voltage; connect to USB supply VBUS
GND
5
-
ground supply
Vpu(3.3)
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 — Vpu(3.3) floating (high impedance)
Connect = 1 — Vpu(3.3) = 3.3 V
UP_DM
7
AI/O
upstream port D− connection (analog)
UP_DP
8
AI/O
upstream port D+ connection (analog)
DN1_DM
9
AI/O
downstream port 1 D− connection (analog)
DN1_DP
10
AI/O
downstream port 1 D+ connection (analog)
DN2_DM
11
AI/O
downstream port 2 D− connection (analog)
DN2_DP
12
AI/O
downstream port 2 D+ connection (analog)
PSW1
13
O
power switch control output for downstream port 1
(open-drain)
PSW2
14
O
power switch control output for downstream port 2
(open-drain)
OC1/DPGL1
15
AI/O
pin function is controlled via the USBCON register (see
Table 53):
EnableOverCurrent = 0 — GoodLink LED indicator 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)
OC2/DPGL2
16
AI/O
pin function is controlled via the USBCON register (see
Table 53):
EnableOverCurrent = 0 — GoodLink LED indicator 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)
GND
17
-
ground supply
MX0
18
I
keyboard matrix return line (5 V tolerant, open drain) [2]
MX1
19
I
keyboard matrix return line (5 V tolerant, open drain) [2]
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
5 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 2:
Pin description (SSOP56 and SDIP56)…continued
Symbol [1]
Pin
Type
Description
MX2
20
I
keyboard matrix return line (5 V tolerant, open drain) [2]
MX3/SCL
21
I/O
pin 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
drain) [2]
MX4/SDA
22
I/O
pin 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) [2]
MX5
23
I
keyboard matrix return line(5 V tolerant, open drain) [2]
MX6
24
I
keyboard matrix return line (5 V tolerant, open drain) [2]
MX7
25
I
keyboard matrix return line (5 V tolerant, open drain) [2]
MY0
26
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3]
MY1
27
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3]
MY2
28
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3]
GND
29
-
ground supply
Vreg(3.3)
30
-
regulated supply voltage (3.3 V ± 10%) from internal
regulator; used to supply external devices
MY3
31
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3]
MY4
32
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3]
MY5
33
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3]
MY6
34
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3]
MY7
35
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3]
MY8
36
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3]
MY9
37
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3]
MY10
38
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3]
MY11
39
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3]
MY12
40
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3]
MY13
41
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3]
MY14
42
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3]
MY15
43
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3]
MY16/RD
44
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3];
used as read strobe when accessing external memory
MY17/WR
45
I/O
bidirectional keyboard matrix scan line (5 V tolerant) [3];
used as write strobe when accessing external memory
GND
46
-
ground supply
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
6 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 2:
Pin description (SSOP56 and SDIP56)…continued
Symbol [1]
Pin
Type
Description
MEMSEL/
UPGL
47
O
pin 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)
SYNCLK
48
O
embedded microcontroller clock output; used for emulation
EA
49
I
External Address enable input (internal pull-up); used to
access external memory
ALE
50
O
Address Latch Enable output; used to demultiplex AD0
during external memory access
PSEN
51
O
Program Store ENable output; selects external memory for
program execution
INT
52
I
external interrupt input (edge-triggered)
SCRLOCK
53
O
control output for Scroll Lock LED (open-drain)
NUMLOCK
54
O
control output for Num Lock LED (open-drain)
CAPSLOCK
55
O
control output for Caps Lock LED (open-drain)
GND
56
-
ground supply
[1]
[2]
[3]
Symbol names with an overscore (e.g. NAME) indicate active LOW signals.
MXn pins have an internal 8.2 kΩ pull-up resistor.
MYn pins have an internal 82 kΩ pull-down resistor (keyboard matrix enabled) or an internal 8.2 kΩ
pull-up resistor (keyboard matrix disabled). This is controlled by bit DisableKBDMatrix in the USBCON
register, see Table 53.
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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
7 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
6.1 80C51 microcontroller
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). 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, 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 Specification Rev. 1.1.
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 packets to 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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
8 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
6.7 GoodLink
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.
The integrated microcontroller controls the connection of the internal resistor on D+ to
Vpu(3.3) via bit SoftConnect_N in the USBCON register (see Table 53). Bit Connect in
the Device Status register switches on Vpu(3.3) (default is off) to an alternative external
pull-up resistor. A functional schematic diagram is given in Figure 4.
idth
ISP1130
Vpu(3.3)
Connect
(Device Status
Register)
3.3 V
supply
1.5 kΩ
(internal
pull-up)
1.5 kΩ
(external
pull-up)
SoftConnect_N
(Configuration
Register)
UP_DP
MGL920
Fig 4. SoftConnect control logic.
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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
9 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
6.9 Bit clock recovery
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 USB Specification Rev. 1.1.
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
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 The I2C-bus and how to use it, order
number 9398 393 40011.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
10 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
7. Endpoint descriptions
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 keyboard controller and other
optional software functions. The functions are assigned as follows:
• 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
Function
Ports
Transfer
type
Endpoint
index
Direction [1] Max. packet
size (bytes)
control
- [2]
OUT
64
- [2]
IN
64
interrupt
- [2]
IN
1
0
control
0
OUT
8
1
IN
8
1
generic [3]
2
OUT
8
3
IN
8
4
OUT
8
5
IN
8
6
OUT
8
7
IN
8
Endpoint
identifier
0: upstream 0
Hub
Embedded
Function 1
Embedded
Function 2
2 [4]:
1,
downstream 1
3 (or
4 (or
2 [5])
3 [5])
0
control
1
generic [3]
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
11 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 3:
Endpoint allocation…continued
Function
Ports
Endpoint
identifier
Transfer
type
Endpoint
index
Direction [1] Max. packet
size (bytes)
Embedded
Function 3
5 (or 4 [5])
0
control
8
OUT
8
9
IN
8
1
generic [3]
10
OUT
8
11
IN
8
[1]
[2]
[3]
[4]
[5]
IN: input for the USB host; OUT: output from the USB host.
Hub endpoints are not indexed.
Generic endpoint can be used as bulk or interrupt endpoint.
Port 2 can be disabled by connecting both D+ and D− to VCC.
The port number is reduced by 1 when downstream port 2 is disabled.
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.
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
Bit
Symbol
Description
0
Hub SC
a logic 1 indicates a status change on the hub’s upstream port
1
Port 1 SC
a logic 1 indicates a status change on downstream port 1
2
Port 2 SC
a logic 1 indicates a status change on downstream port 2 or on
embedded function 1 (downstream port 2 disabled)
3
Port 3 SC
a logic 1 indicates a status change on embedded function 1 or on
embedded function 2 (downstream port 2 disabled)
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
12 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 4:
Status Change byte: bit allocation…continued
Bit
Symbol
Description
4
Port 4 SC
a logic 1 indicates a status change on embedded function 2 or on
embedded function 3 (downstream port 2 disabled)
5
Port 5 SC
a logic 1 indicates a status change on embedded function 3; not used
if downstream port 2 is disabled
6
reserved
not used
7
reserved
not used
8. Host requests
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.
8.1 Standard requests
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 name
bmRequestType
byte 0 [7:0]
(Bin)
bRequest
byte 1
(Hex)
wValue
byte 2, 3
(Hex)
wIndex
byte 4, 5
(Hex)
wLength
byte 6, 7
(Hex)
Data
X000 0000
05
address [1]
00, 00
00, 00
none
Get Configuration
1000 0000
08
00, 00
00, 00
01, 00
configuration
value = 01H
Set Configuration (0)
X000 0000
09
00, 00
00, 00
00, 00
none
Set Configuration (1)
X000 0000
09
01, 00
00, 00
00, 00
none
Get Configuration
Descriptor
1000 0000
06
00, 02
00, 00
length [2]
configuration,
interface and
endpoint
descriptors
Get Device Descriptor
1000 0000
06
00, 01
00, 00
length [2]
device
descriptor
Get String Descriptor (0)
1000 0000
06
00, 03
00, 00
length [2]
language ID
string
Get String Descriptor (1)
1000 0000
06
01, 03
09, 04
length [2]
manufacturer
string
Get String Descriptor (2)
1000 0000
06
02, 03
09, 04
length [2]
product string
Address
Set Address
Configuration
Descriptor
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
13 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 5:
Standard USB requests…continued
Request name
bmRequestType
byte 0 [7:0]
(Bin)
bRequest
byte 1
(Hex)
wValue
byte 2, 3
(Hex)
wIndex
byte 4, 5
(Hex)
wLength
byte 6, 7
(Hex)
Data
Clear Device Feature
(REMOTE_WAKEUP)
X000 0000
01
01, 00
00, 00
00, 00
none
Clear Endpoint (1)
Feature (HALT/STALL)
X000 0010
01
00, 00
81, 00
00, 00
none
Set Device Feature
(REMOTE_WAKEUP)
X000 0000
03
01, 00
00, 00
00, 00
none
Set Endpoint (1)
Feature (HALT/STALL)
X000 0010
03
00, 00
81, 00
00, 00
none
Feature
Status
Get Device Status
1000 0000
00
00, 00
00, 00
02, 00
device status
Get Interface Status
1000 0001
00
00, 00
00, 00
02, 00
zero
Get Endpoint (0) Status
1000 0010
00
00, 00
00/80 [3], 00
02, 00
endpoint 0
status
Get Endpoint (1) Status
1000 0010
00
00, 00
81, 00
02, 00
endpoint 1
status
Set Descriptor
0000 0000
07
XX, XX
XX, XX
XX, XX
descriptor;
STALL
Get Interface
1000 0001
0A
00, 00
XX, XX
01, 00
STALL
Set Interface
X000 0001
0B
XX, XX
XX, XX
00, 00
STALL
Synch Frame
1000 0010
0C
00, 00
XX, XX
02, 00
STALL
Unsupported
[1]
[2]
[3]
Device address: 0 to 127.
Returned value in bytes.
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 name
bmRequestType
byte 0 [7:0]
(Bin)
bRequest
byte 1
(Hex)
wValue
byte 2, 3
(Hex)
wIndex
byte 4, 5
(Hex)
wLength
byte 6, 7
(Hex)
Data
1010 0000
06
00, 00/29 [1]
00, 00
length [2], 00
hub descriptor
Clear Hub Feature
(C_LOCAL_POWER)
X010 0000
01
00, 00
00, 00
00, 00
none
Clear Port Feature
(feature selectors)
X010 0011
01
feature [3], 00 port [4], 00
00, 00
none
Set Port Feature
(feature selectors)
X010 0011
03
feature [3], 00 port [4], 00
00, 00
none
Descriptor
Get Hub Descriptor
Feature
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
14 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 6:
Hub specific requests…continued
Request name
bmRequestType
byte 0 [7:0]
(Bin)
bRequest
byte 1
(Hex)
wValue
byte 2, 3
(Hex)
wIndex
byte 4, 5
(Hex)
wLength
byte 6, 7
(Hex)
Data
Get Hub Status
1010 0000
00
00, 00
00, 00
04, 00
hub status and
status change
field
Get Port Status
1010 0011
00
00, 00
port [4], 00
04, 00
port status
Get Bus Status
1010 0011
02
00, 00
port [4], 00
01, 00
STALL
Clear Hub Feature
(C_OVER_CURRENT)
X010 0000
01
01, 00
00, 00
00, 00
STALL
Set Hub Descriptor
X010 0000
07
XX, XX
00, 00
3E, 00
STALL
Set Hub Feature
(C_LOCAL_POWER)
X010 0000
03
00, 00
00, 00
00, 00
STALL
Set Hub Feature
(C_OVER_CURRENT)
X010 0000
03
01, 00
00, 00
00, 00
STALL
Status
Unsupported
[1]
[2]
[3]
[4]
USB Specification Rev. 1.0 uses 00H, USB Specification Rev. 1.1 specifies 29H.
Returned value in bytes.
Feature selector value, see Table 7.
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).
Table 7:
Port feature selectors
Feature selector name
Value (Hex)
Set feature
Clear feature
PORT_CONNECTION
00
not used
not used
PORT_ENABLE
01
not used
disables a port
PORT_SUSPEND
02
suspends a port
resumes a port
PORT_OVERCURRENT
03
not used
not used
PORT_RESET
04
resets and enables
a port
not used
PORT_POWER
08
powers on a port
powers off a port
PORT_LOW_SPEED
09
not used
not used
C_PORT_CONNECTION
10
not used
clears port connection
change bit
C_PORT_ENABLE
11
not used
clears port enable
change bit
C_PORT_SUSPEND
12
not used
clears port suspend
change bit
C_PORT_OVERCURRENT
13
not used
clears port overcurrent
change bit
C_PORT_RESET
14
not used
clears port reset
change bit
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
15 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
8.3 Descriptors
The ISP1130 hub controller supports the following standard USB descriptors:
•
•
•
•
•
•
Device
Configuration
Interface
Endpoint
Hub
String.
Table 8: Device descriptor
Values in square brackets are optional.
Offset
(bytes)
Field name
Size
(bytes)
Value
(Hex)
Comments
0
bLength
1
12
descriptor length = 18 bytes
1
bDescriptorType
1
01
type = DEVICE
2
bcdUSB
2
10, 01
USB Specification Rev. 1.1
4
bDeviceClass
1
09
HUB_CLASSCODE
5
bDeviceSubClass
1
00
-
6
bDeviceProtocol
1
00
-
7
bMaxPacketSize0
1
40
packet size = 64 bytes
8
idVendor
2
VID
vendor ID; programmable via the Set
VID/PID command (see Table 43)
10
idProduct
2
PID
product ID; programmable via the Set
VID/PID command (see Table 43)
12
bcdDevice
2
00,
XX [1]
device release 1.0 (XX = 01H); silicon
revision increments this value
14
iManufacturer
1
00
no manufacturer string (default)
[01]
manufacturer string enabled [2]
00
no product string (default)
[02]
product string enabled [2]
15
iProduct
1
16
iSerialNumber
1
00
no serial number string
17
bNumConfigurations
1
01
one configuration
[1]
[2]
XX represents the hardware setting DEVREV, which indicates the 8-bit device release number. This
value is incremented upon silicon revision.
Controlled via bit StringDescriptorEnable in the Set Mode command (see Table 25).
Table 9: Configuration descriptor
Values in square brackets are optional.
Offset
(bytes)
Field name
Size
(bytes)
Value
(Hex)
Comments
0
bLength
1
09
descriptor length = 9 bytes
1
bDescriptorType
1
02
type = CONFIGURATION
2
wTotalLength
2
19, 00
total length of configuration, interface
and endpoint descriptors (25 bytes)
4
bNumInterfaces
1
01
one interface
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
16 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 9: Configuration descriptor…continued
Values in square brackets are optional.
Offset
(bytes)
Field name
Size
(bytes)
Value
(Hex)
Comments
5
bConfigurationValue
1
01
configuration value = 1
6
iConfiguration
1
00
no configuration string
7
bmAttributes
1
A0
bus-powered with remote wake-up
(default)
[E0]
hybrid-powered with remote wake-up;
configured via bit 7 in the USBCON
register (see Table 53)
1
32
100 mA
MaxPower [1]
8
[1]
Value in units of 2 mA.
Table 10: Interface descriptor
Offset
(bytes)
Field name
Size
(bytes)
Value
(Hex)
Comments
0
bLength
1
09
descriptor length = 9 bytes
1
bDescriptorType
1
04
type = INTERFACE
2
bInterfaceNumber
1
00
-
3
bAlternateSetting
1
00
no alternate setting
4
bNumEndpoints
1
01
status change (interrupt) endpoint
5
bInterfaceClass
1
09
HUB_CLASSCODE
6
bInterfaceSubClass
1
00
-
7
bInterfaceProtocol
1
00
no class-specific protocol
8
bInterface
1
00
no interface string
Table 11: Endpoint descriptor
Offset
(bytes)
Field name
Size
(bytes)
Value
(Hex)
Comments
0
bLength
1
07
descriptor length = 7 bytes
1
bDescriptorType
1
05
type = ENDPOINT
2
bEndpointAddress
1
81
endpoint 1, direction: IN
3
bmAttributes
1
03
interrupt endpoint
4
wMaxPacketSize
2
01, 00
packet size = 1 byte
6
bInterval
1
FF
polling interval (255 ms)
Table 12: Hub descriptor
Offset
(bytes)
Field name
Size
(bytes)
Value
(Hex)
Comments
0
bDescLength
1
09
descriptor length = 9 bytes
1
bDescriptorType
1
29
type = HUB
1
03 [2]
number of downstream ports (1 or 2;
default = 2) + number of embedded
functions (1 to 3; default = 1)
2
bNbrPorts
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
17 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 12: Hub descriptor…continued
Offset
(bytes)
Field name
Size
(bytes)
Value
(Hex)
Comments
3
wHubCharacteristics
2
0D, 00
individual power switching,
individual overcurrent protection
15, 00
individual power switching,
no overcurrent protection
5
bPwrOn2PwrGood [1]
1
32
100 ms
6
bHubContrCurrent
1
64
maximum hub controller current
(100 mA)
7
DeviceRemovable
1
08 [3]
downstream ports removable;
embedded functions non-removable
8
PortPwrCtrlMask
1
FF
must be all ones for compatibility with
USB Specification Rev. 1.0
[1]
[2]
[3]
Value in units of 2 ms.
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).
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 name
Size
(bytes)
Value
(Hex)
Comments
String descriptor (0): language ID string
0
bLength
1
04
descriptor length = 4 bytes
1
bDescriptorType
1
03
type = STRING
2
bString
2
09, 04
LANGID code zero
String descriptor (1): manufacturer string
0
bLength
1
2E
descriptor length = 46 bytes
1
bDescriptorType
1
03
type = STRING
44
UC [1]
“Philips Semiconductors”
2
bString
String descriptor (2): product string
0
bLength
1
10
descriptor length = 16 bytes
1
bDescriptorType
1
03
type = STRING
14
UC [1]
“ISP113X” [2]; X = 0H for the ISP1130
2
[1]
[2]
bString
Unicode encoded string.
X represents the hardware setting DEVNAME (4 bits), which specifies the final digit (X) in the device
name string “ISP113X”. The Unicode representation of this digit is “0000.0000.0011.DEVNAME”.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
18 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
8.4 Hub responses
This section describes the hub responses to requests from the USB host.
8.4.1
Get device status
The hub returns 2 bytes, see Table 14.
Table 14: Get device status response
Bit #
Function
Value
Description
0
self-powered
0
bus-powered
1
hybrid-powered
1
2 to 15
8.4.2
remote wake-up
reserved
0
no remote wake-up
1
remote wake-up enabled
0
-
Get configuration
The hub returns 1 byte, see Table 15.
Table 15: Get configuration response
Bit #
Function
Value
Description
0
configuration value
0
device not configured
1
device configured
0
-
1 to 7
8.4.3
reserved
Get interface status
The hub returns 2 bytes, see Table 16.
Table 16: Get interface status response
8.4.4
Bit #
Function
Value
Description
0 to 15
reserved
0
-
Get hub status
The hub returns 4 bytes, see Table 17.
Table 17: Get hub status response
Bit #
Function
Value
Description
0
local power source
0
local power supply good
1
overcurrent indicator
0
no overcurrent condition
1
hub overcurrent condition detected
2 to 15
reserved
0
-
16
local power status change
0
no change in local power status
17
overcurrent indicator change 0
18 to 31
reserved
1
overcurrent condition changed
0
-
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
no change in overcurrent condition
Rev. 01 — 23 March 2000
19 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
8.4.5
Get port status
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
Table 19).
Table 18: Get port status response (wPortStatus)
Bit #
Function
Value
Description
0
current connect status
0
no device present
1
device present on this port
1
2
3
4
port enabled/disabled
suspend
overcurrent indicator
reset
0
port disabled
1
port enabled
0
port not suspended
1
port suspended
0
no overcurrent condition
1
overcurrent condition detected
0
reset not asserted
1
reset asserted
5 to 7
reserved
0
-
8
port power
0
port powered off
1
port power on
full-speed device attached
9
low-speed device attached
0
1
low-speed device attached
10 to 15
reserved
0
-
Table 19: Get port status response (wPortChange)
Bit #
Function
Value
Description
0
connect status change
0
no change in current connect status
1
current connect status changed
1
port enabled/disabled
change
0
no port error
1
port disabled by a port error
2
suspend change
0
no change in suspend status
1
resume complete
3
overcurrent indicator change 0
4
reset change
5 to 15
8.4.6
reserved
no change in overcurrent status
1
overcurrent indicator changed
0
no change in reset status
1
reset complete
0
-
Get configuration descriptor
The hub returns 25 bytes containing the configuration descriptor (9 bytes, see
Table 9), the interface descriptor (9 bytes, see Table 10) and the endpoint descriptor
(7 bytes, see Table 11).
8.4.7
Get device descriptor
The hub returns 18 bytes containing the device descriptor, see Table 8.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
20 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
8.4.8
Get hub descriptor
The hub returns 9 bytes containing the hub descriptor, see Table 12.
8.4.9
Get string descriptor (0)
The hub returns 4 bytes containing the language ID, see Table 13.
8.4.10
Get string descriptor (1)
The hub returns 46 bytes containing the manufacturer name, see Table 13.
8.4.11
Get string descriptor (2)
The hub returns 16 bytes containing the product name, see Table 13.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
21 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
9. Commands
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 execute a 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
Name
Destination
Code (Hex)
Transaction
embedded function 1
D0
write 1 byte
embedded function 2
D1
write 1 byte
embedded function 3
D2
write 1 byte
Set Endpoint Enable
device
D8
write 1 byte
Set Mode
device
F3
write 2 bytes
Read Interrupt Register device
F4
read 2 bytes
Select Endpoint
function 1 control OUT
00
read 1 byte (optional)
function 1 control IN
01
read 1 byte (optional)
function 1 endpoint OUT
02
read 1 byte (optional)
function 1 endpoint IN
03
read 1 byte (optional)
function 2 control OUT
04
read 1 byte (optional)
function 2 control IN
05
read 1 byte (optional)
function 2 endpoint OUT
06
read 1 byte (optional)
function 2 endpoint IN
07
read 1 byte (optional)
function 3 control OUT
08
read 1 byte (optional)
function 3 control IN
09
read 1 byte (optional)
function 3 endpoint OUT
0A
read 1 byte (optional)
function 3 endpoint IN
0B
read 1 byte (optional)
Read Buffer
selected endpoint
F0
read n bytes
Write Buffer
selected endpoint
F0
write n bytes
Initialization commands
Set Address/Enable
Data flow commands
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
22 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 20: Command summary…continued
Name
Destination
Code (Hex)
Transaction
Select Endpoint/
Clear Interrupt
function 1 control OUT
40
read 1 byte
function 1 control IN
41
read 1 byte
Set Endpoint Status
function 1 endpoint OUT
42
read 1 byte
function 1 endpoint IN
43
read 1 byte
function 2 control OUT
44
read 1 byte
function 2 control IN
45
read 1 byte
function 2 endpoint OUT
46
read 1 byte
function 2 endpoint IN
47
read 1 byte
function 3 control OUT
48
read 1 byte
function 3 control IN
49
read 1 byte
function 3 endpoint OUT
4A
read 1 byte
function 3 endpoint IN
4B
read 1 byte
function 1 control OUT
40
write 1 byte
function 1 control IN
41
write 1 byte
function 1 endpoint OUT
42
write 1 byte
function 1 endpoint IN
43
write 1 byte
function 2 control OUT
44
write 1 byte
function 2 control IN
45
write 1 byte
function 2 endpoint OUT
46
write 1 byte
function 2 endpoint IN
47
write 1 byte
function 3 control OUT
48
write 1 byte
function 3 control IN
49
write 1 byte
function 3 endpoint OUT
4A
write 1 byte
function 3 endpoint IN
4B
write 1 byte
Clear Buffer
selected endpoint
F2
read 1 byte
Validate Buffer
selected endpoint
FA
none
Read Device Status
device
FE
read 1 byte
Set Device Status
device
FE
write 1 byte
Read Current Frame
Number
device
F5
read 1 or 2 bytes
Read Embedded Port
Status
embedded function 1
E0
read 1 byte
embedded function 2
E1
read 1 byte
embedded function 3
E2
read 1 byte
embedded function 1
E0
write 1 byte
embedded function 2
E1
write 1 byte
embedded function 3
E2
write 1 byte
Set VID/PID
device
FB
write 4 bytes
Read Chip ID
device
FD
read 2 bytes
Get Last Error
device
FF
read 1 byte
General commands
Write Embedded Port
Status
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
23 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
9.1 Initialization commands
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
Bit
7
Symbol
6
5
4
DevEnable
3
2
1
0
DevAddress
Reset
0
0
0
0
0
0
0
0
Access
W
W
W
W
W
W
W
W
Table 22: Set Address/Enable command: bit description
Bit
Symbol
Description
7
DevEnable
A logic 1 enables the embedded function
6 to 0
DevAddress
USB 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
Bit
7
6
5
4
3
2
1
0
Symbol
-
-
-
-
-
Func3
GenEndp
Enable
Func2
GenEndp
Enable
Func1
GenEndp
Enable
Reset
X
X
X
X
X
0
0
0
Access
W
W
W
W
W
W
W
W
Table 24: Set Endpoint Enable command: bit description
Bit
Symbol
Description
7 to 3
-
reserved
2
Func3GenEndpEnable
A logic 1 enables the generic endpoint of embedded function 3
1
Func2GenEndpEnable
A logic 1 enables the generic endpoint of embedded function 2
0
Func1GenEndpEnable
A logic 1 enables the generic endpoint of embedded function 1
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
24 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
9.1.3
Set Mode command
Selects the operating mode and (de)activates features. The command is followed by
one data write, containing the Configuration byte.
Code (Hex) — F3
Transaction — write 1 byte (Configuration).
Table 25: Set Mode command, Configuration byte: bit allocation
Bit
7
6
5
4
3
2
1
0
Symbol
-
Clock
Restart
String
Descriptor
Enable
Remote
WakeUp
Enable
Always
PLL
Clock
Use
IntDn
Resistor
-
Interrupt
OnNAK
Reset
X
0
0
0
0
0
0
1
Access
W
W
W
W
W
W
W
W
Table 26: Set Mode command, Configuration byte: bit description
Bit
Symbol
Description
7
-
reserved
6
ClockRestart
A logic 1 will cause a clock restart for 2 ms upon a bus transition, when the device
is in ‘suspend’ mode. This allows the device to wake up without resume signaling.
5
StringDescriptorEnable
A logic 1 enables the string descriptor. The default string will be sent to the host
upon request.
4
RemoteWakeUpEnable
A logic 1 enables remote wake-up by key press (embedded function 1).
3
AlwaysPLLClock
A logic 1 indicates that the internal clocks and PLL are always running, even in
‘suspend’ mode. A logic 0 stops the internal clock, crystal oscillator and PLL.
2
UseIntDnResistor
A logic 1 causes the downstream pull-down resistors to be connected.
1
-
reserved; must always be logic 0
0
InterruptOnNAK
A logic 1 will generate an interrupt upon sending a NAK. A logic 0 will only report
successful transactions.
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 buffer of an endpoint contains input data 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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
25 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Remark: All hub endpoints are handled internally by the ISP1130 hardware without
the need of microcontroller intervention.
Table 27: Interrupt Register: bit configuration
Bit
15
14
13
12
11
10
9
8
Device
StatusReg
Change
Port5
StatusReg
Change
Port4
StatusReg
Change
Port3
StatusReg
Change
Func3
Endp1
In
Func3
Endp1
Out
Func3
ContlIn
Endp
Func3
ContlOut
Endp
Reset
0
0
0
0
0
0
0
0
Access
R
R
R
R
R
R
R
R
Symbol
Bit
7
6
5
4
3
2
1
0
Func2
Endp1
In
Func2
Endp1
Out
Func2
ContlIn
Endp
Func2
ContlOut
Endp
Func1
Endp1
In
Func1
Endp1
Out
Func1
ContlIn
Endp
Func1
ContlOut
Endp
Reset
0
0
0
0
0
0
0
0
Access
R
R
R
R
R
R
R
R
Symbol
Table 28: Interrupt Register: bit description
Bit
Symbol
Description
15
DeviceStatusRegChange
Status register change on hub device
14
Port5StatusRegChange
Status register change on embedded function 3
13
Port4StatusRegChange
Status register change on embedded function 2
12
Port3StatusRegChange
Status register change on embedded function 1
11
Func3Endp1In
Endpoint 1 IN of embedded function 3
10
Func3Endp1Out
Endpoint 1 OUT of embedded function 3
9
Func3ContlInEndp
Control endpoint IN of embedded function 3
8
Func3ContlOutEndp
Control endpoint OUT of embedded function 3
7
Func2Endp1In
Endpoint 1 IN of embedded function 2
6
Func2Endp1Out
Endpoint 1 OUT of embedded function 2
5
Func2ContlInEndp
Control endpoint IN of embedded function 2
4
Func2ContlOutEndp
Control endpoint OUT of embedded function 2
3
Func1Endp1In
Endpoint 1 IN of embedded function 1
2
Func1Endp1Out
Endpoint 1 OUT of embedded function 1
1
Func1ContlInEndp
Control endpoint IN of embedded function 1
0
Func1ContlOutEndp
Control endpoint OUT of embedded function 1
Byte 2
Byte 1
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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
26 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
9.2.2
Select Endpoint command
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
Bit
7
6
5
4
3
2
1
0
Symbol
-
-
-
Sent
NAK
Packet
Overwritten
Setup
Packet
Stall
Status
Full
Empty
Status
Reset
X
X
X
0
0
0
0
0
Access
R
R
R
R
R
R
R
R
Table 30: Endpoint Buffer Status byte: bit description
Bit
Symbol
Description
7 to 5
-
reserved
4
SentNAK [1]
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.
3
PacketOverwritten
A logic 1 indicates that the previous packet was overwritten by a Setup packet.
This bit is reset by a Select Endpoint/Clear Interrupt command on this endpoint.
2
SetupPacket [2]
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.
1
StallStatus
A logic 1 indicates that the endpoint is in stalled state.
0
FullEmptyStatus
A logic 1 indicates that the buffer is full, a logic 0 indicates that it is empty.
[1]
[2]
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).
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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
27 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 31: Endpoint buffer organization
Byte #
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 7
0
0/1 [1]
0/1 [2]
X
X
X
X
X
X
1
X
N (number of data bytes in the buffer)
2
data byte 0
...
...
N+2
[1]
[2]
9.2.4
data byte N − 1
A logic 1 indicates that the packet was successfully received via the USB bus.
A logic 1 indicates that the packet in the buffer has a SETUP token.
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
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 buffer of the selected endpoint, allowing the reception of new packets. An
optional data read may follow the command, returning the packet status (see
Table 32).
Code (Hex) — F2
Transaction — read 1 byte (optional).
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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
28 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 32: Packet Status byte: bit allocation
Bit
7
6
5
4
3
2
1
0
Symbol
-
-
-
-
-
-
-
Packet
Overwritten
Reset
X
X
X
X
X
X
X
0
Access
R
R
R
R
R
R
R
R
Table 33: Packet Status byte: bit description
Bit
Symbol
Description
7 to 1
-
reserved
0
PacketOverwritten
A 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
Bit
7
6
5
4
3
2
1
0
Conditional
Stall
Rate
Feedback
Mode
Disable
-
-
-
-
Stalled
Reset
0
0
0
X
X
X
X
0
Access
W
W
W
W
W
W
W
W
Symbol
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
29 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 35: Set Endpoint Status command: bit description
Bit
Symbol
Description
7
ConditionalStall
A 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.
6
RateFeedbackMode
A logic 1 switches an interrupt endpoint to ‘rate feedback mode’, a logic 0 enables
‘toggle’ mode.
5
Disable
A logic 1 disables the selected endpoint, a logic 0 enables it again. A bus reset
(re-)enables all endpoints.
4 to 1
-
reserved
0
Stalled
A 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
Bit
7
6
5
4
3
2
1
0
Symbol
-
-
-
Bus
Reset
Suspend
Change
Suspend
Connect
Change
Connect
Reset
X
X
X
X
X
X
X
0
Access
W
W
W
R
R
R/W
R
R/W
Table 37: Device Status register: bit description
Bit
Symbol
Description
7 to 5
-
reserved
4
BusReset
A logic 1 signals that the device received 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.
3
SuspendChange
A 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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
30 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 37: Device Status register: bit description…continued
Bit
Symbol
Description
2
Suspend
Upon reading this bit indicates the current ‘suspend’ status: A logic 1 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.
1
ConnectChange
A logic 1 signals that the value of the Connect bit has changed. This bit is cleared
when it is read.
0
Connect
Writing 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.
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).
Code (Hex) — F5
Transaction — read 1 or 2 bytes.
Table 38: Frame number: bit allocation
Bit
15
14
13
12
11
10
9
8
Symbol
-
-
-
-
-
Reset
0
0
0
0
0
0
0
0
Access
R
R
R
R
R
R
R
R
Bit
7
6
5
4
3
2
1
0
Reset
0
0
0
0
0
0
0
0
Access
R
R
R
R
R
R
R
R
Symbol
frame[10:8]
frame[7:0]
9.3.4
Read Embedded Port Status
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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
31 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 39: Embedded Port Status register: bit allocation
Bit
7
6
5
4
3
2
1
0
Symbol
-
-
-
Port
Reset
Suspend
Change
Suspend
Connect
Change
Connect
Reset
X
X
X
0
0
0
0
0
Access
W
W
W
R
R
R/W
R
R/W
Table 40: Embedded Port Status register: bit description
Bit
Symbol
Description
7 to 5
-
reserved
4
PortReset
A logic 1 signals that a Set Port Feature (PORT_RESET) request was received by
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.
3
SuspendChange
A 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.
2
Suspend
Upon reading this bit indicates the current ‘suspend’ status: A logic 1 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.
1
ConnectChange
A logic 1 signals that the value of the Connect bit has changed. This bit is cleared
when it is read.
0
Connect
Writing 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.
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).
Code (Hex) — FD
Transaction — read 2 bytes.
Table 41: Chip identification code: bit allocation
Bit
15
14
13
12
11
10
9
8
Symbol
-
-
-
-
Reset
0
0
0
0
0
0
0
1
Access
R
R
R
R
R
R
R
R
Bit
7
6
5
4
3
2
1
0
Reset
0
0
0
0
0
0
0
0
Access
R
R
R
R
R
R
R
R
Symbol
DEVNAME[3:0]
DEVREV[7:0]
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
32 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 42: Chip identification code: bit description
Bit
Symbol
Description
15 to 12
-
reserved
11 to 8
DEVNAME[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 0
DEVREV[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
9.3.8
Byte
Description
0
vendor ID (lower byte)
1
vendor ID (upper byte)
2
product ID (lower byte)
3
product ID (upper byte)
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
Bit
7
6
5
4
Symbol
-
-
-
Error
Occurred
3
2
1
0
ErrorCode[3:0]
Reset
X
X
X
0
0
0
0
0
Access
R
R
R
R
R
R
R
R
Table 45: Register bits description
Bit
Symbol
Description
7 to 5
-
reserved
4
ErrorOccurred
A logic 1 indicates that the last packet generated an error.
3 to 0
ErrorCode[3:0]
error code; for error interpretation see Table 46 “Transaction error codes”
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
33 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 46: Transaction error codes
Error code
(Binary)
Description
0000
no error
0001
PID encoding error; bits 7 to 4 are not the inverse of bits 3 to 0
0010
PID unknown; encoding is valid, but PID does not exist
0011
unexpected packet; packet is not of the expected type (token, data, or
acknowledge), or is a SETUP token to a non-control endpoint
0100
token CRC error
0101
data CRC error
0110
time-out error
0111
babble error
1000
unexpected end-of-packet
1001
sent or received NAK (Not AcKnowledge)
1010
sent Stall; a token was received, but the endpoint was stalled
1011
overflow; the received packet was larger than the available buffer space
1100
sent empty packet (ISO only)
1101
bit stuffing error
1110
sync error
1111
wrong (unexpected) toggle bit in DATA PID; data was ignored
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 (fMCU_CLOCK), derived from the PLL
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 and indirect 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
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
34 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
• 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.
width
FFH
SFRs
INDIRECT
ADDRESSING
DIRECT
ADDRESSING
ONLY
80H
7FH
DIRECT &
INDIRECT
ADDRESSING
20H
4 BANKS OF R0 to R7
00H
MGS799
Data Memory Space
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.
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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
35 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 47: SFR memory map
Address
range
(Hex)
Offset
0
1
2
3
4
5
F8 to FF
F0 to F7
6
7
WDTKEY
WDT
B
E8 to EF
E0 to E7
ACC
D8 to DF
I2C0CON
D0 to D7
PSW
I2C0STA
I2C0DAT
I2C0ADR
C8 to CF
C0 to C7
USBCON
B8 to BF
IP
B0 to B7
P3
A8 to AF
IE
A0 to A7
P2
USBCONA
98 to 9F
90 to 97
P1
88 to 8F
TCON
TMOD
TL0
TL1
80 to 87
P0
SP
DPL
DPH
10.3.1
TH0
TH1
PCON
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
7
6
5
4
3
2
1
0
CY
AC
F0
RS1
RS0
OV
-
P
Table 49: PSW register: bit description
Bit [1]
Symbol
Description
PSW.7
CY
carry flag; receives carry out from bit 7 of ALU operands
PSW.6
AC
auxiliary carry flag; receives carry out from bit 3 of addition
operands
PSW.5
F0
flag 0; general purpose status flag
PSW.4
RS1
register bank selector bit 1; see Table 50
PSW.3
RS0
register bank selector bit 0; see Table 50
PSW.2
OV
overflow flag; set by arithmetic operations
PSW.1
-
user-definable general purpose flag
PSW.0
P
parity flag, indicating the number of ‘1’ bits in the accumulator
(logic 0 = even, logic 1 = odd); refreshed by hardware upon each
instruction cycle
[1]
All bits are individually addressable.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
36 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 50: Register bank selection
10.3.2
RS1
RS0
Register bank
Address range (Hex)
0
0
0
00 to 07
0
1
1
08 to 0F
1
0
2
10 to 17
1
1
3
18 to 1F
Power Control register (PCON)
Table 51: PCON register: bit allocation
Bit
7
6
5
4
3
2
1
0
Symbol
-
-
-
WLE
GF1
GF0
PD
IDL
Reset
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Access
Table 52: PCON register: bit description
10.3.3
Bit
Symbol
Description
7 to 5
-
reserved
4
WLE
Watchdog 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.
3
GF1
General purpose flag set or reset by software.
2
GF0
General purpose flag set or reset by software.
1
PD
Writing 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.
0
IDL
Writing a logic 1 activates Idle 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.
USB Control register (USBCON)
Table 53: USBCON register: bit allocation
Bit
Symbol
7
6
5
4
3
2
1
0
Self
Powered
Enable
SYNCLK
Disable
KBDMatrix
GL-MEMSEL
Selection
Enable
OverCurrent
AnalogOC
Disable
Soft
Connect_N
Suspend
Clock
Reset
0
1
1
1
1
1
1
0
Access
W
W
W
W
W
W
W
W
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
37 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 54: USBCON register: bit description
10.3.4
Bit
Symbol
Description
7
Self
Powered
A logic 0 selects bus-powered operation. A logic 1 enables (hybrid)
self-powered operation.
6
Enable
SYNCLK
A logic 1 enables a 12 MHz clock signal on output SYNCLK, used
during external emulation of the microcontroller. A logic 0 disables
the clock signal on SYNCLK.
5
Disable
KBDMatrix
A logic 0 selects internal 82 kΩ pull-down resistors on the MYn
lines (keyboard matrix enabled). A logic 1 selects internal 8.2 kΩ
pull-up resistors on the MYn lines (keyboard matrix disabled).
4
GLMEMSEL
Selection
A logic 0 enables upstream GoodLink indication, using output
MEMSEL/UPGL to drive the LED. A logic 1 configures pin
MEMSEL/UPGL as a chip select output for accessing an external
serial EEPROM via the I2C-bus interface.
3
Enable
Over
Current
A logic 1 configures pins OCn/DPGLn as overcurrent detection
inputs. A logic 0 configures pins OCn/DPGLn as downstream port
GoodLink indicator outputs.
2
AnalogOC
Disable
A logic 0 enables internal analog overcurrent sensing on pins
OCn/DPGLn (if enabled via bit EnableOverCurrent). A logic 1
selects digital overcurrent sensing.
1
Soft
A logic 0 connects an internal 1.5 kΩ pull-up resistor to the
Connect_N upstream USB port (pin UP_DP). A logic 1 disables the pull-up
resistor.
0
Suspend
Clock
A logic 1 switches off the clock after 2 ms following a ‘suspend’
interrupt. A logic 0 causes the clock to remain active during
‘suspend’ state. A change from logic 0 to logic 1 in the ‘suspend’
interrupt service routine switches off the clock after 1 ms.
USB Control A register (USBCONA)
Table 55: USBCONA register: bit allocation
Bit
7
6
5
Symbol
4
3
2
reserved
1
0
PortCount1
PortCount0
Reset
0
0
0
0
0
0
0
1
Access
W
W
W
W
W
W
W
W
Table 56: USBCONA register: bit description
Bit
Symbol
Description
7 to 2
-
reserved
1, 0
PortCount[1:0] number of enabled embedded functions:
00 — undefined
01 — 1 embedded function (default)
10 — 2 embedded functions
11 — 3 embedded functions
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
38 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
10.4 Hub control registers
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
Register
Access
Address (Hex)
Command
write
FFFE
Data
read/write
FFFF
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
Table 59).
Table 58: Interrupt vectors and polling sequence
Source
Description
Vector address
EX0
external 0 interrupt (USB)
0003H
ET0
timer 0 interrupt
000BH
EX1
external 1 interrupt (keyboard)
0013H
ET1
timer 1 interrupt
001BH
I2C
I2C-bus interrupt
0023H
IN2
external 2 interrupt (input INT)
002BH
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
Wakeup is 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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
39 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 59: IE register: bit allocation
Bit
Symbol
Reset
Access
7
6
5
4
3
2
1
0
EA
-
IN2
I2C
ET1
EX1
ET0
EX0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Table 60: IE register: bit description
Bit [1]
Symbol
Description
IE.7
EA
enable all interrupts; a logic 0 disables all interrupts, a logic 1
allows all interrupt sources to be individually enabled or disabled
IE.6
-
reserved
IE.5
IN2
A logic 1 enables external interrupt 2 (input INT)
IE.4
I2C
A logic 1 enables I2C interrupt
IE.3
ET1
A logic 1 enables Timer 1 overflow interrupt
IE.2
EX1
A logic 1 enables external interrupt 1 (keyboard)
IE.1
ET0
A logic 1 enables Timer 0 overflow interrupt
IE.0
EX0
A logic 1 enables external interrupt 0 (USB)
[1]
All bits are individually addressable.
Table 61: IP register: bit allocation
Bit
7
6
5
4
3
2
1
0
Symbol
-
-
IN2
I2C
ET1
EX1
ET0
EX0
Reset
Access
X
X
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Table 62: IP register: bit description
Bit [1]
Symbol
Description [2]
IP.7
-
reserved
IP.6
-
reserved
IP.5
IN2
priority of external interrupt 2 (input INT)
IP.5
I2C
priority of I2C interrupt
IP.3
ET1
priority of Timer 1 interrupt
IP.2
EX1
priority of external interrupt 1 (keyboard)
IP.1
ET0
priority of Timer 0 interrupt
IP.0
EX0
priority of external 0 (USB) interrupt
[1]
[2]
All bits are individually addressable.
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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
40 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
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
7
6
5
4
3
2
1
0
GATE
C/T
M1
M0
GATE
C/T
M1
M0
Table 64: TMOD register: bit description
Bit
Symbol
Description
7
GATE
Timer 1 counter gate control; must always be 0
6
C/T
Timer 1 counter/timer select; must always be 0
5
M1
Timer 1 mode selector bit 1; see Table 63
4
M0
Timer 1 mode selector bit 0; see Table 63
3
GATE
Timer 0 counter gate control; must always be 0
2
C/T
Timer 0 counter/timer select; must always be 0
1
M1
Timer 0 mode selector bit 1; see Table 63
0
M0
Timer 0 mode selector bit 0; see Table 63
Table 65: Timer mode selection
M1, M0
Mode
Description
00
0
13-bit timer
01
1
16-bit timer
10
2
8-bit auto-reload timer
11
3
Timer 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 of 1⁄6 × fMCU_CLOCK. This corresponds with 2 MHz for the default microcontroller
clock frequency of 12 MHz.
Table 66: Timer register addresses
Register
SFR address
Description
TL0
8AH
Timer 0: lower byte
TH0
8CH
Timer 0: upper byte
TL1
8BH
Timer 1: lower byte
TH1
8DH
Timer 1: upper byte
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’s to 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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
41 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 67: TCON register: bit allocation
Bit
Symbol
7
6
5
4
3
2
1
0
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
Reset
0
0
0
0
0
0
0
0
Access
R
R/W
R
R/W
R
R/W
R
R/W
Table 68: TCON register: bit description
Bit [1]
Symbol
Description
TCON.7
TF1
Timer 1 overflow flag; set by hardware upon Timer 1 overflow;
cleared by hardware upon entering the interrupt service routine
TCON.6
TR1
Timer 1 run control bit; 0 = timer OFF, 1 = timer ON
TCON.5
TF0
Timer 0 overflow flag; set by hardware upon Timer 0 overflow;
cleared by hardware upon entering the interrupt service routine
TCON.4
TR0
Timer 0 run control bit; 0 = timer OFF, 1 = timer ON
TCON.3
IE1
external interrupt 1 flag; set by hardware when a keyboard
interrupt is detected; cleared by hardware upon entering the
interrupt service routine
TCON.2
IT1
triggering mode for external interrupt 1, set by software;
must always be logic 0 (= HIGH-to-LOW transition)
TCON.1
IE0
external interrupt 0 flag; set by hardware when a USB core
interrupt is detected; cleared by hardware upon entering the
interrupt service routine
TCON.0
IT0
triggering mode for external interrupt 0, set by software;
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 overflows can be programmed between 1.024 ms (WDT = FFH) and
262.144 ms (WDT = 00H). After a reset the WDT register contains all zeroes.
To enable loading of the Watchdog timer, 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.
Table 69: Watchdog timer registers: address mapping
Register
Access
Address (Hex)
WDTKEY
write
FE
WDT
write
FF
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
42 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 70: WDTKEY register: bit allocation
Bit
7
6
5
4
3
2
1
0
Reset
0
1
0
1
0
1
0
1
Access
W
W
W
W
W
W
W
W
Symbol
WDK[7:0]
Table 71: WDTKEY register: bit description
Bit
Symbol
Description
7 to 0
WDK[7:0]
Watchdog Key: a value of 55H disables the Watchdog timer and
inhibits the setting of bit PD in the PCON register. Any other value
than 55H will (re)enable the Watchdog timer.
Table 72: WDT register: bit allocation
Bit
7
6
5
4
Symbol
3
2
1
0
WDL[7:0]
Reset
0
0
0
0
0
0
0
0
Access
W
W
W
W
W
W
W
W
Table 73: WDT register: bit description
Bit
Symbol
Description
7 to 0
WDL[7:0]
Watchdog Load value. The Watchdog timer interval is given by
(256 − WDL) in units of 1.024 ms (12 MHz clock frequency).
[1]
10.7.1
This register can only be written if bit WLE in the PCON register is set to logic 1.
Watchdog timer software example
The following example shows how the Watchdog timer operation might be handled in
a user program.
;at program start
WDT
PCON
WDT_INT
EQU
EQU
EQU
0FFH
087H
156
;address of watchdog timer SFR
;address of power-control SFR
;WDT internal 100 * prescaler overflow
;call to subroutine which reloads the WDT
LCALL
WATCHDOG
;watchdog subroutine
WATCHDOG:
ORL
MOV
RET
PCON,#10H
WDT,#WDT_INT
;set WLE bit in PCON
;load watchdog timer with interval
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
43 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
10.8 I/O description
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 keyboard matrix; 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.
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 ports
80C51 ports
Description
MY0 to MY7
P0.0 to P0.7
keyboard scan lines
MY8 to MY15
P2.0 to P2.7
keyboard scan lines
MY16
P1.0
keyboard scan lines
MY17
P1.1
keyboard scan lines
MEMSEL/UPGL
P1.2
chip select output for an external EEPROM;
upstream port GoodLink indicator output
CAPSLOCK
P1.3
control output for Caps Lock LED indicator
NUMLOCK
P1.4
control output for Num Lock LED indicator
SCRLOCK
P1.5
control output for Scroll Lock LED indicator
n.c.
P1.6
not used
n.c.
P1.7
not used
MX0 to MX7
P3.0 to P3.7
keyboard 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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
44 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
width
Keyboard matrix
MY0
MY1
VCC
MY2
MY3
MY4
DisableKBDMatrix
(USBCON register)
MY5
MY6
8.2 kΩ
MY7
MYn
MY8
MY9
82 kΩ
MY10
MY11
MY12
internal circuit
MY13
MY14
MY15
MY16
ISP1130
MY17
MX0
VCC
MX1
MX2
8.2 kΩ
MXn
MX3
MX4
MX5
MX6
internal circuit
MX7
MGS801
Fig 7. Typical keyboard matrix implementation.
The keyboard scanning algorithm is as follows:
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:
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
45 of 68
ISP1130
Philips Semiconductors
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 USB Specification Rev. 1.1.
• 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.
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:
• 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-up signal, 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.
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 hardware supports both single master and slave operation 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 interface is 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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
46 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
11.1 Protocol
The I2C-bus protocol defines the following conditions:
•
•
•
•
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.
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 level on SDA during the ninth clock
pulse on SCL.
For detailed information please consult The I2C-bus and how to use it., order number
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.
VDD
idth
VDD
RP
MX3/SCL
MX4/SDA
RP
SCL
A0
SDA
A1
I2C-bus
PCF8582 A2
ISP1130
USB HUB
EEPROM
or
equivalent
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).
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
47 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
11.3 Data transfer
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.
Table 75: I2C register addresses
Register
SFR address
Description
I2C0CON
D8H
I2C-bus control register
I2C0STA
D9H
I2C-bus status register
I2C0DAT
DAH
I2C-bus data register
I2C0ADR
DBH
I2C-bus address register
Table 76: I2C0CON register: bit allocation
Bit
Symbol
Reset
Access
7
6
5
4
3
2
1
0
CR2
ENS1
STA
STO
SI
AA
CR1
CR0
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Table 77: I2C0CON register: bit description
Bit [1]
Symbol
Description
I2C0CON.7
CR2
selects I2C-bus bit frequency in Master mode, see Table 78
I2C0CON.6
ENS1
Enable Serial I/O. A logic 1 enables the I2C-bus interface
and sets pins MX3/SCL and MX4/SDA to logic 1. A logic 0
disables the I2C-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.5
STA
START flag. In Slave mode a logic 1 generates a START
condition as soon as the bus is free. In Master mode a
logic 1 generates a repeated START condition.
I2C0CON.4
STO
STOP 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 Slave mode a logic 1 can
be used to recover from an error: it causes SDA and SCL to
be released and the device to be unaddressed.
I2C0CON.3
SI
Serial Interrupt flag. A logic 1 signals a valid status 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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
48 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 77: I2C0CON register: bit description…continued
Bit [1]
Symbol
Description
I2C0CON.2
AA
Assert Acknowledge. A logic 1 indicates that an ACK (low
level on SDA during acknowledge pulse on SCL) is returned
for one of the following conditions:
•
•
•
•
own slave address received
General Call address received, if bit GC = 1 (I2C0CON)
data byte received when in master receive mode
data byte received when addressed in slave receiver
mode.
I2C0CON.1
CR1
selects I2C-bus bit frequency in Master mode, see Table 78
I2C0CON.0
CR0
selects I2C-bus bit frequency in Master mode, see Table 78
[1]
All bits are individually addressable.
Table 78: I2C-bus bit frequency (Master mode)
CR2
CR1
CR0
I2C-bus bit frequency (12 MHz oscillator)
0
0
0
200 kHz
0
0
1
7.5 kHz
0
1
0
300 kHz
0
1
1
400 kHz
1
0
0
50 kHz
1
0
1
3.75 kHz
1
1
0
75 kHz
1
1
1
100 kHz
Table 79: I2C0DAT register: bit allocation
Bit
7
6
5
4
Symbol
Reset
Access
3
2
1
0
SD[7:0]
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Table 80: I2C0DAT register: bit description
Bit
Symbol
Description
7 to 0
SD[7:0] [1]
DATA byte (just received or to be transmitted); a logic 0 value
corresponds with a LOW level on SDA, a logic 1 with a HIGH
level
[1]
Bits are transmitted or received MSB (SD7) first.
Table 81: I2C0STA register: bit allocation
Bit
7
6
Symbol
5
4
3
SC[4:0]
2
1
0
-
-
-
Reset
1
1
1
1
1
0
0
0
Access
R
R
R
R
R
R
R
R
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
49 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 82: I2C0STA register: bit description
Bit
Symbol
Description
7 to 3
SC[4:0]
status code, see Table 83
2 to 0
-
reserved, always zero
Table 83: I2C-bus status codes
Status byte
SC[4:0]
Description (see Table 84)
Master transmit mode
08H
00001
START condition has been transmitted
10H
00010
repeated START condition has been transmitted
18H
00011
SLA and W have been transmitted, ACK was received
20H
00100
SLA and W have been transmitted, ACK was received
28H
00101
DATA byte has been transmitted, ACK was received
30H
00110
DATA byte has been transmitted, ACK was received
38H
00111
arbitration was lost in SLA, R/W or DATA byte
Master receive mode
08H
00001
START condition has been transmitted
10H
00010
repeated START condition has been transmitted
38H
00111
arbitration was lost while returning ACK
40H
01000
SLA and R have been transmitted, ACK was received
48H
01001
SLA and R have been transmitted, ACK was received
50H
01010
DATA byte has been received, ACK was returned
58H
01011
DATA byte has been received, ACK was returned
Slave receive mode
60H
01100
own SLA and W have been received, ACK was returned
68H
01101
arbitration was lost in SLA, R/W as master; own SLA and W
have been received, ACK was returned
70H
01110
General Call has been received, ACK was returned
78H
01111
arbitration was lost in SLA, R/W as master; General Call has
been received
80H
10000
previously addressed with own SLA; DATA byte has been
received, ACK was returned
88H
10001
previously addressed with own SLA; DATA byte has been
received, ACK was returned
90H
10010
previously addressed with General Call; DATA byte has been
received, ACK was returned
98H
10011
previously addressed with General Call; DATA byte has been
received, ACK was returned
A0H
10100
STOP or repeated START condition has been received, while
still addressed as slave receiver or transmitter
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
50 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 83: I2C-bus status codes…continued
Status byte
SC[4:0]
Description (see Table 84)
Slave transmit mode
A8
10101
own SLA and R have been received, ACK was returned
B0
10110
arbitration was lost in SLA, R/W as master; own SLA and R
have been received, ACK was returned
B8
10111
DATA byte has been transmitted, ACK was received
C0
11000
DATA byte has been transmitted, ACK was received
C8
11001
last DATA byte has been transmitted (AA = 0 in I2C0CON),
ACK was received
Miscellaneous
00H
00000
bus error in master or addressed slave mode, caused by
erroneous START or STOP condition
F8H
11111
no relevant status information is available; bit SI in the
I2C0CON register is cleared to logic 0
Table 84: Symbols used in I2C-bus
Symbol
Description
SLA
slave address (7 bits)
R
read bit (logic 1)
W
write bit (logic 0)
ACK
acknowledgment (logic 0)
ACK
no acknowledgment (logic 1)
DATA
data byte to or from I2C-bus
Table 85: I2C0ADR register: bit allocation
Bit
7
6
5
4
Symbol
Reset
Access
3
2
1
SA[6:0]
0
GC
0
0
0
0
0
0
0
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Table 86: I2C0ADR register: bit description
Bit
Symbol
Description
7 to 1
SA[6:0]
own slave address of the microcontroller; only used in Slave
mode, ignored in Master mode
0
GC
A logic 1 causes the device to respond to a General Call
address (00H). A logic 0 lets the device ignore address 00H.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
51 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
12. Hub power modes
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 USB Specification Rev. 1.1
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 (VBUS) to power the interface functions (hybrid-powered).
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:
• 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
VBUS
upstream
port
connector
4.50 V(min)
voltage drop
75 mV
D+
low-ohmic
PMOS switch
D−
GND
SHIELD
voltage drop
25 mV
4.40 V(min)
hub board (1)
resistance
VBUS
D+
downstream
port
connector
D−
ISP1122
power
switch
GND
SHIELD
MGR783
(1) Includes PCB traces, ferrite beads, etc.
Fig 9. Typical voltage drop components in bus-powered mode (no overcurrent detection).
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
52 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
13. Overcurrent detection
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 (∆Vtrip). The overcurrent circuit detects this and switches off the power
switch control signal after a delay of 15 ms (ttrip). This delay acts as a ‘debounce’
period to minimize false tripping, especially during the inrush current produced by ‘hot
plugging’ of a USB device.
13.2 Power switch selection
From the voltage drop analysis given in Figure 9, the power switch has a voltage drop
budget of 75 mV. For individual self-powered mode, the current drawn per 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 (∆Vtrip) of 85 mV. This gives a typical trip current of approximately 850 mA for
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 ∆Vtrip according to
Equation 1.
∆V trip = ∆V trip ( intrinsic ) – I OC ⋅ R td
(1)
with IOC(nom) = 0.5 µA.
1.
The following PMOS power switches have been tested to work well with the ISP1130: Philips PHP109, Vishay Siliconix Si2301DS,
Fairchild FDN338P.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
53 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
low-ohmic
PMOS switch
handbook, halfpage
low-ohmic
PMOS switch
handbook, halfpage
VCC
VBUS
IOC
IOC
Rtd
VCC
Rtd
VCC
OCn/DPGLn
OCn/DPGLn
ISP1130
ISP1130
MBL161
MBL160
IOC(nom) = 0.5 µA
a.
IOC(nom) = 0.5 µA
Hybrid-powered mode.
b.
Bus-powered mode.
Fig 10. Tuning the overcurrent trip voltage.
13.4 Reference circuit
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 may be used to tune down the overcurrent trip voltage (see Figure 10).
downstream
ports
handbook, full pagewidth
5V
+
POWER SUPPLY
−
± 3%
low-ohmic
PMOS switch
+4.85 V(min)
1
0.1 µF
ferrite bead
120
µF
10 kΩ
VBUS
+4.75 V
(min) D+
D−
1
GND
SHIELD
low-ohmic
PMOS switch
330 kΩ
(2×)
0.1 µF
2
ferrite bead
120
µF
10 kΩ
VBUS
+4.75 V
(min) D+
D−
2
GND
SHIELD
+4.85 V(min)
VCC
PSW1
GND
PSW2
ISP1130
OC1/DPGL1
MBL162
OC2/DPGL2
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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
54 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
14. Limiting values
Table 87: Absolute maximum ratings
In accordance with the Absolute Maximum Rating System (IEC 60134).
Symbol
Parameter
VCC
supply voltage
VI
input voltage
Ilatchup
latchup current
VI < 0 or VI > VCC
Vesd
electrostatic discharge voltage
ILI < 15 µA
Tstg
Ptot
[1]
[2]
[3]
Conditions
Min
Max
Unit
−0.5
+6.0
V
−0.5
-
V
-
200
mA
-
±4000 [3]
V
storage temperature
−60
+150
°C
total power dissipation
-
<tbf>
mW
Min
Max
Unit
[1] [2]
Equivalent to discharging a 100 pF capacitor via a 1.5 kΩ resistor (Human Body Model).
Values are given for device only; in-circuit Vesd(max) = ±8000 V.
For open-drain pins Vesd(max) = ±2000 V.
Table 88: Recommended operating conditions
Symbol
Parameter
Conditions
VCC
supply voltage
4.0
5.5
V
VI
input voltage
0
5.5
V
VI(AI/O)
input voltage on analog I/O pins
(D+/D−)
0
3.6
V
VO(od)
open-drain output pull-up voltage
0
5.5
V
Tamb
operating ambient temperature
−40
+85
°C
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
55 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
15. Static characteristics
Table 89: Static characteristics; supply pins
VCC = 4.0 to 5.5 V; VGND = 0 V; Tamb = −40 to +85 °C; unless otherwise specified.
Symbol
Parameter
Conditions
Min
Typ
Max
Unit
3.3
3.6
V
Vreg(3.3)
regulated supply voltage
3.0 [1]
Vth(por)
power-on reset threshold
voltage
<tbf>
2.03
<tbf>
V
ICC
operating supply current
-
<tbf>
-
mA
ICC(susp)
suspend supply current
1.5 kΩ pull-up on upstream
port D+ (pin DP0)
-
-
<tbf>
µA
no pull-up on upstream port
D+ (pin DP0)
-
-
<tbf>
µA
Min
Typ
Max
Unit
-
-
0.8
V
driven
2.0
-
-
V
floating
2.7
-
3.6
V
[1]
In ‘suspend’ mode the minimum voltage is 2.7 V.
Table 90: Static characteristics: digital pins
VCC = 4.0 to 5.5 V; VGND = 0 V; Tamb = −40 to +85 °C; unless otherwise specified.
Symbol
Parameter
Conditions
Input levels
VIL
LOW-level input voltage
VIH
HIGH-level input voltage
Schmitt trigger inputs
Vth(LH)
positive-going threshold
voltage
1.4
-
1.9
V
Vth(HL)
negative-going threshold
voltage
0.9
-
1.5
V
Vhys
hysteresis voltage
0.4
-
0.7
V
-
-
0.4
V
Output levels
VOL
LOW-level output voltage
(open-drain outputs)
IOL = rated drive
IOL = 20 µA
-
-
0.1
V
VOH
HIGH-level output voltage
(open-drain outputs)
IOH = −rated drive
2.4
-
-
V
IOH = −20 µA
VCC − 0.1
-
-
V
-
-
±1
µA
-
-
±1
µA
Leakage current
ILI
input leakage current
Open-drain outputs
IOZ
OFF-state output current
Table 91: Static characteristics: overcurrent sense pins
VCC = 4.0 to 5.5 V; VGND = 0 V; Tamb = −40 to +85 °C; unless otherwise specified.
Symbol
Parameter
Conditions
Min
Typ
Max
Unit
∆Vtrip
overcurrent detection
trip voltage on pins OCn
∆V = VCC − VOCn
<tbf>
85
<tbf>
mV
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
56 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Table 92: Static characteristics: analog I/O pins (D+, D−) [1]
VCC = 4.0 to 5.5 V; VGND = 0 V; Tamb = −40 to +85 °C; unless otherwise specified.
Symbol
Parameter
Conditions
Min
Typ
Max
Unit
VDI
differential input sensitivity
|VI(D+) − VI(D−)|
0.2
-
-
V
VCM
differential common mode
voltage
includes VDI range
0.8
-
2.5
V
VIL
LOW-level input voltage
-
-
0.8
V
VIH
HIGH-level input voltage
2.0
-
-
V
Input levels
Output levels
VOL
LOW-level output voltage
RL = 1.5 kΩ to +3.6V
-
-
0.3
V
VOH
HIGH-level output voltage
RL = 15 kΩ to GND
2.8
-
3.6
V
-
-
±10
µA
Leakage current
OFF-state leakage current
ILZ
Capacitance
transceiver capacitance
pin to GND
-
-
20
pF
ZDRV [2]
driver output impedance
steady-state drive
28
-
44
Ω
ZINP
input impedance
10
-
-
MΩ
termination voltage for
upstream port pull-up (RPU)
3.0 [4]
-
3.6
V
CIN
Resistance
Termination
VTERM [3]
[1]
[2]
[3]
[4]
D+ is the USB positive data pin (UP_DP, DNn_DP); D− is the USB negative data pin (UP_DM, DNn_DM).
Includes external resistors of 18 Ω ±1% on both D+ and D−.
This voltage is available at pin Vreg(3.3).
In ‘suspend’ mode the minimum voltage is 2.7 V.
16. Dynamic characteristics
To be determined.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
57 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
17. Application information
VCC
handbook, full pagewidth
VCC
XTAL1
XTAL1
XTAL2
C1 6 MHz
22 pF
VCC
J1
1
2
3
4
5
RESET
VCC
C2
22 pF
GND
Vpu(3.3)
L7
L1
UP_1
L2
UP_2
R8 22 Ω
UP_DM
UP_DP
R9 22 Ω
C4
47 pF
C3
47 pF
DN1_DM
DN1_DP
DN2_DM
upstream
port
DN2_DP
VCC1
J2
1
2
3
4
5
PSW1
PSW2
VCC1
L8
L3
DN_1
L4
DN_2
R10 22 Ω
VCC2
3
4
5
OC2/DPGL2
GND
MX1
MX2
MX3/SCL
VCC2
2
OC1/DPGL1
MX0
downstream
port 1
1
PSW2
R11 22 Ω
C6
47 pF
C5
47 pF
J3
PSW1
MX4/SDA
MX5
L9
L5
DN_3
L6
DN_4
R12 22 Ω
MX6
MX7
R13 22 Ω
C8
47 pF
C7
47 pF
MY0
MY1
MY2
downstream
port 2
Q1
PHP125
C12
4.7 µF
54
4
53
5
52
6
51
7
50
8
49
9
48
10
47
11
46
12
45
13
44
14
15
U1
ISP1130
43
42
16
41
17
40
18
39
19
38
20
37
21
36
22
35
23
34
24
33
25
32
26
31
27
30
28
29
C
R14
4.7 kΩ
VCC
CAPSLOCK
R3
D3
NUMLOCK
470 Ω
R4
D2
PSEN
470 Ω
R5
D1
ALE
470 Ω
SCRLOCK
INT
Scroll
Lock
Num
Lock
Caps
Lock
EA
SYNCLK
MEMSEL/UPGL
GND
MY17/WR
MY16/RD
MY15
MY14
MY13
MY12
MY11
MY10
MY9
MY8
MY7
MY6
MY5
MY4
MY3
Vreg(3.3)
GND
1
8
A
GND
7
U2
B
3 SN75240 6
GND
D
4
5
R1
UP_1
2
GND
PSW1
C10
0.1 µF
55
3
GND
C9
0.1 µF
Q2
PHP125
2
GND
R6
100 kΩ
47 kΩ
VCC2
56
VCC
VCC1
C11
4.7 µF
1
MGS809
UP_2
VCC
GND
R7
100 kΩ
DN_3
R2
PSW2
47 kΩ
DN_4
A
8
GND
7
U3
GND
B
3 SN75240 6
GND
D
4
5
C
1
DN_1
2
DN_2
Fig 12. Typical application circuit.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
58 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
18. Test information
The dynamic characteristics of the analog I/O ports (D+ and D−) as listed in
Section 16, were determined using the circuit shown in Figure 13.
handbook, halfpage
VCC
test point
1.5 kΩ
18 Ω
S1
D.U.T.
15 kΩ
CL
test
S1
D−/LS closed
D+/LS open
D−/FS open
D+/FS closed
MGS802
Load capacitance:
CL = 50 pF (full-speed mode)
CL = 200 pF or 600 pF (low-speed mode, minimum or maximum timing).
Speed selection:
full-speed mode (FS): 1.5 kΩ pull-up resistor on D+
low-speed mode (LS): 1.5 kΩ pull-up resistor on D−.
Fig 13. Load impedance for D+ and D− pins.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
59 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
19. Package outline
SSOP56: plastic shrink small outline package; 56 leads; body width 7.5 mm
SOT371-1
D
E
A
X
c
y
HE
v M A
Z
29
56
Q
A2
A1
A
(A 3)
θ
pin 1 index
Lp
L
28
1
bp
e
0
detail X
w M
5
10 mm
scale
DIMENSIONS (mm are the original dimensions)
UNIT
A
max.
A1
A2
A3
bp
c
D (1)
E (1)
e
HE
L
Lp
Q
v
w
y
Z (1)
θ
mm
2.8
0.4
0.2
2.35
2.20
0.25
0.3
0.2
0.22
0.13
18.55
18.30
7.6
7.4
0.635
10.4
10.1
1.4
1.0
0.6
1.2
1.0
0.25
0.18
0.1
0.85
0.40
8
0o
o
Note
1. Plastic or metal protrusions of 0.25 mm maximum per side are not included.
OUTLINE
VERSION
REFERENCES
IEC
SOT371-1
JEDEC
EIAJ
EUROPEAN
PROJECTION
ISSUE DATE
95-02-04
99-12-27
MO-118
Fig 14. SSOP56 package outline.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
60 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
seating plane
SDIP56: plastic shrink dual in-line package; 56 leads (600 mil)
SOT400-1
ME
D
A2 A
L
A1
c
e
Z
b1
(e 1)
w M
MH
b
29
56
pin 1 index
E
1
28
0
5
10 mm
scale
DIMENSIONS (mm are the original dimensions)
UNIT
A
max.
A1
min.
A2
max.
b
b1
c
D (1)
E (1)
e
e1
L
ME
MH
w
Z (1)
max.
mm
5.08
0.51
4.0
1.3
0.8
0.53
0.40
0.32
0.23
52.4
51.6
14.0
13.6
1.778
15.24
3.2
2.8
15.80
15.24
17.15
15.90
0.18
2.3
Note
1. Plastic or metal protrusions of 0.25 mm maximum per side are not included.
OUTLINE
VERSION
REFERENCES
IEC
JEDEC
EIAJ
EUROPEAN
PROJECTION
ISSUE DATE
95-12-06
SOT400-1
Fig 15. SDIP56 package outline.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
61 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
20. Soldering
20.1 Introduction
This text gives a very brief insight to a complex technology. A more in-depth account
of soldering ICs can be found in our Data Handbook IC26; Integrated Circuit
Packages (document order number 9398 652 90011).
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.
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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
62 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
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.
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 (Tstg(max)).
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.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
63 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
20.4 Package related soldering information
Table 93: Suitability of IC packages for wave, reflow and dipping soldering methods
Mounting
Package
Soldering method
Reflow [1] Dipping
Wave
Through-hole
mount
DBS, DIP, HDIP, SDIP, SIL suitable [2]
−
suitable
Surface mount
BGA, LFBGA, SQFP,
TFBGA
not suitable
suitable
−
HBCC, HLQFP, HSQFP,
HSOP, HTQFP, HTSSOP,
SMS
not suitable [3]
suitable
−
PLCC [4], SO, SOJ
suitable
LQFP, QFP, TQFP
SSOP, TSSOP, VSO
[1]
[2]
[3]
[4]
[5]
[6]
−
not
suitable
−
not
recommended [6]
suitable
−
All surface mount (SMD) packages are moisture sensitive. Depending upon the moisture content, the
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 Data Handbook IC26; Integrated
Circuit Packages; Section: Packing Methods.
For SDIP packages, the longitudinal axis must be parallel to the transport direction of the
printed-circuit board.
These packages are not suitable for wave soldering as a solder joint between the printed-circuit board
and heatsink (at bottom version) can not be achieved, and as solder may stick to the heatsink (on top
version).
If wave soldering is considered, then the package must be placed at a 45° angle to the solder wave
direction. The package footprint must incorporate solder thieves downstream and at the side corners.
Wave soldering is only suitable for LQFP, QFP and TQFP packages with a pitch (e) equal to or larger
than 0.8 mm; it is definitely not suitable for packages with a pitch (e) equal to or smaller than 0.65 mm.
Wave soldering is only suitable for SSOP and TSSOP packages with a pitch (e) equal to or larger than
0.65 mm; it is definitely not suitable for packages with a pitch (e) equal to or smaller than 0.5 mm.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
suitable
recommended [4] [5]
Rev. 01 — 23 March 2000
64 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
21. Revision history
Table 94: Revision history
Rev Date
01
CPCN
20000323
Description
Objective specification; initial version.
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
65 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
22. Data sheet status
Datasheet status
Product status
Definition [1]
Objective specification
Development
This data sheet contains the design target or goal specifications for product development. Specification may
change in any manner without notice.
Preliminary specification
Qualification
This 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 specification
Production
This 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
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.
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.
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.
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.
25. Licenses
Purchase of Philips I2C components
24. Disclaimers
Purchase of Philips I2C components conveys a license
under the Philips’ I2C patent to use the components in the
I2C system provided the system conforms to the I2C
specification defined by Philips. This specification can be
ordered using the code 9398 393 40011.
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
26. Trademarks
ACPI — is an open industry specification for PC power management,
co-developed by Intel Corp., Microsoft Corp. and Toshiba
SMBus — is a bus specification for PC power management, developed by
Intel Corp. based on the I2C-bus from Royal Philips Electronics
GoodLink — is a trademark of Royal Philips Electronics
SoftConnect — is a trademark of Royal Philips Electronics
OnNow — is a trademark of Microsoft Corp.
© Philips Electronics N.V. 2000 All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
66 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Philips Semiconductors - a worldwide company
Argentina: see South America
Australia: Tel. +61 2 9704 8141, Fax. +61 2 9704 8139
Austria: Tel. +43 160 101, Fax. +43 160 101 1210
Belarus: Tel. +375 17 220 0733, Fax. +375 17 220 0773
Belgium: see The Netherlands
Brazil: see South America
Bulgaria: Tel. +359 268 9211, Fax. +359 268 9102
Canada: Tel. +1 800 234 7381
China/Hong Kong: Tel. +852 2 319 7888, Fax. +852 2 319 7700
Colombia: see South America
Czech Republic: see Austria
Denmark: Tel. +45 3 288 2636, Fax. +45 3 157 0044
Finland: Tel. +358 961 5800, Fax. +358 96 158 0920
France: Tel. +33 14 099 6161, Fax. +33 14 099 6427
Germany: Tel. +49 40 23 5360, Fax. +49 402 353 6300
Hungary: see Austria
India: Tel. +91 22 493 8541, Fax. +91 22 493 8722
Indonesia: see Singapore
Ireland: Tel. +353 17 64 0000, Fax. +353 17 64 0200
Israel: Tel. +972 36 45 0444, Fax. +972 36 49 1007
Italy: Tel. +39 039 203 6838, Fax +39 039 203 6800
Japan: Tel. +81 33 740 5130, Fax. +81 3 3740 5057
Korea: Tel. +82 27 09 1412, Fax. +82 27 09 1415
Malaysia: Tel. +60 37 50 5214, Fax. +60 37 57 4880
Mexico: Tel. +9-5 800 234 7381
Middle East: see Italy
Netherlands: Tel. +31 40 278 2785, Fax. +31 40 278 8399
New Zealand: Tel. +64 98 49 4160, Fax. +64 98 49 7811
Norway: Tel. +47 22 74 8000, Fax. +47 22 74 8341
Philippines: Tel. +63 28 16 6380, Fax. +63 28 17 3474
Poland: Tel. +48 22 5710 000, Fax. +48 22 5710 001
Portugal: see Spain
Romania: see Italy
Russia: Tel. +7 095 755 6918, Fax. +7 095 755 6919
Singapore: Tel. +65 350 2538, Fax. +65 251 6500
Slovakia: see Austria
Slovenia: see Italy
South Africa: Tel. +27 11 471 5401, Fax. +27 11 471 5398
South America: Tel. +55 11 821 2333, Fax. +55 11 829 1849
Spain: Tel. +34 33 01 6312, Fax. +34 33 01 4107
Sweden: Tel. +46 86 32 2000, Fax. +46 86 32 2745
Switzerland: Tel. +41 14 88 2686, Fax. +41 14 81 7730
Taiwan: Tel. +886 22 134 2865, Fax. +886 22 134 2874
Thailand: Tel. +66 27 45 4090, Fax. +66 23 98 0793
Turkey: Tel. +90 216 522 1500, Fax. +90 216 522 1813
Ukraine: Tel. +380 44 264 2776, Fax. +380 44 268 0461
United Kingdom: Tel. +44 208 730 5000, Fax. +44 208 754 8421
United States: Tel. +1 800 234 7381
Uruguay: see South America
Vietnam: see Singapore
Yugoslavia: Tel. +381 11 3341 299, Fax. +381 11 3342 553
For all other countries apply to: Philips Semiconductors,
International Marketing & Sales Communications,
Building BE, P.O. Box 218, 5600 MD EINDHOVEN,
The Netherlands, Fax. +31 40 272 4825
Internet: http://www.semiconductors.philips.com
(SCA69)
© Philips Electronics N.V. 2000. All rights reserved.
9397 750 06895
Objective specification
Rev. 01 — 23 March 2000
67 of 68
ISP1130
Philips Semiconductors
USB compound hub with keyboard controller
Contents
1
2
3
4
5
5.1
5.2
6
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
7
7.1
7.2
7.3
8
8.1
8.2
8.3
8.4
9
9.1
9.2
9.3
10
10.1
10.2
10.3
10.4
10.5
10.6
10.7
10.8
10.9
10.10
10.11
General description . . . . . . . . . . . . . . . . . . . . . . 1
Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Ordering information . . . . . . . . . . . . . . . . . . . . . 2
Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Pinning information . . . . . . . . . . . . . . . . . . . . . . 4
Pinning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Pin description . . . . . . . . . . . . . . . . . . . . . . . . . 5
Functional description . . . . . . . . . . . . . . . . . . . 7
80C51 microcontroller. . . . . . . . . . . . . . . . . . . . 8
Analog transceivers . . . . . . . . . . . . . . . . . . . . . 8
Philips Serial Interface Engine (SIE). . . . . . . . . 8
Hub repeater. . . . . . . . . . . . . . . . . . . . . . . . . . . 8
End-of-frame timers . . . . . . . . . . . . . . . . . . . . . 8
General and individual port controller . . . . . . . . 8
GoodLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
SoftConnect . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Bit clock recovery . . . . . . . . . . . . . . . . . . . . . . 10
Voltage regulator . . . . . . . . . . . . . . . . . . . . . . 10
PLL clock multiplier. . . . . . . . . . . . . . . . . . . . . 10
Overcurrent detection . . . . . . . . . . . . . . . . . . . 10
Power-on reset . . . . . . . . . . . . . . . . . . . . . . . . 10
I2C-bus interface. . . . . . . . . . . . . . . . . . . . . . . 10
Endpoint descriptions . . . . . . . . . . . . . . . . . . . 11
Endpoint configuration . . . . . . . . . . . . . . . . . . 11
Hub endpoint 0 (control) . . . . . . . . . . . . . . . . . 12
Hub endpoint 1 (interrupt). . . . . . . . . . . . . . . . 12
Host requests . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Standard requests . . . . . . . . . . . . . . . . . . . . . 13
Hub specific requests . . . . . . . . . . . . . . . . . . . 14
Descriptors . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Hub responses . . . . . . . . . . . . . . . . . . . . . . . . 19
Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Initialization commands . . . . . . . . . . . . . . . . . 24
Data flow commands . . . . . . . . . . . . . . . . . . . 25
General commands . . . . . . . . . . . . . . . . . . . . 30
Keyboard controller. . . . . . . . . . . . . . . . . . . . . 34
Microcontroller core . . . . . . . . . . . . . . . . . . . . 34
Memory map. . . . . . . . . . . . . . . . . . . . . . . . . . 34
Special function registers (SFRs) . . . . . . . . . . 35
Hub control registers. . . . . . . . . . . . . . . . . . . . 39
Interrupt structure . . . . . . . . . . . . . . . . . . . . . . 39
Timers/counters . . . . . . . . . . . . . . . . . . . . . . . 40
Watchdog timer. . . . . . . . . . . . . . . . . . . . . . . . 42
I/O description. . . . . . . . . . . . . . . . . . . . . . . . . 44
I/O port mapping . . . . . . . . . . . . . . . . . . . . . . . 44
Keyboard matrix implementation . . . . . . . . . . 44
Suspend and resume . . . . . . . . . . . . . . . . . . . 45
© Philips Electronics N.V. 2000.
Printed in The Netherlands
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 2000
Document order number: 9397 750 06895
11
11.1
11.2
11.3
12
12.1
13
13.1
13.2
13.3
13.4
14
15
16
17
18
19
20
20.1
20.2
20.3
20.4
21
22
23
24
25
26
I2C-bus interface. . . . . . . . . . . . . . . . . . . . . . . .
Protocol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hardware connections . . . . . . . . . . . . . . . . . .
Data transfer . . . . . . . . . . . . . . . . . . . . . . . . . .
Hub power modes . . . . . . . . . . . . . . . . . . . . . .
Voltage drop requirements . . . . . . . . . . . . . . .
Overcurrent detection . . . . . . . . . . . . . . . . . . .
Overcurrent circuit description . . . . . . . . . . . .
Power switch selection . . . . . . . . . . . . . . . . . .
Tuning the overcurrent trip voltage . . . . . . . . .
Reference circuit . . . . . . . . . . . . . . . . . . . . . . .
Limiting values . . . . . . . . . . . . . . . . . . . . . . . . .
Static characteristics . . . . . . . . . . . . . . . . . . . .
Dynamic characteristics . . . . . . . . . . . . . . . . .
Application information. . . . . . . . . . . . . . . . . .
Test information . . . . . . . . . . . . . . . . . . . . . . . .
Package outline . . . . . . . . . . . . . . . . . . . . . . . .
Soldering. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .
Surface mount packages . . . . . . . . . . . . . . . .
Through-hole mount packages . . . . . . . . . . . .
Package related soldering information . . . . . .
Revision history . . . . . . . . . . . . . . . . . . . . . . . .
Data sheet status . . . . . . . . . . . . . . . . . . . . . . .
Definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Disclaimers . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Trademarks. . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
47
47
48
52
52
53
53
53
53
54
55
56
57
58
59
60
62
62
62
63
64
65
66
66
66
66
66