ETC GL651USB

Genesys Logic, Inc.
GL651USB
2-PORT USB KEYBOARD HUB
CONTROLLER
DATA SHEET
Version 1.0, Feb. 11, 2000
Genesys Logic, Inc.
10F, No.11, Ln.3, Tsao Ti Wei, Shenkeng, Taipei, Taiwan
Tel: 886-2-2664-6655
Fax: 886-2-2664-5757
http://www.genesyslogic.com
GL651USB USB KEYBOARD HUB CONTROLLER
1
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
FEATURES
High performance and low-cost solution for USB keyboard with hub solution
USB Specification Compliance
− Conforms to USB specification Rev. 1.1
− Conforms to HID Class specification Rev. 1.0
− Supports 1 device address for hub, 1 device address for keyboard
− Supports 2 endpoints of hub, 3 endpoints for keyboard
8-bit micro-processor
− RISC-like architecture
− USB optimized instruction set
− Single cycle instruction execution
− Operation Speed: DC to 24 MHz clock input
− Performance: 12 MIPS @ 24MHz
I/O ports
− Up to 20 output pins for key matrix drive pin
− Up to 8 input pins for key matrix sense pin
− Up to 5 I/O pins with LED drive capability : 3 for keyboard, 2 for hub
− Up to 8 general purpose I/O pins for customization
Internal memory
− 80 bytes of RAM
− 3.25K × 14 of program ROM
− larger size of ROM makes it possible for customization
On-chip 3.3v output
− No external regulator required
Integrated USB transceiver
12 MHz external clock
Improved output drivers with slew-rate control to reduce EMI
Internal power-on reset(POR)
Internal power-fail detector for ESD recovery
Support suspend/normal mode power management
Remote wakeup is supported for both keyboard and hub
Support power management for downstream port devices
Automatic switching between self/bus powered mode
Smart LED traffic indicator
− The higher data traffic flows through the hub downstream port, the higher
frequency that port’s LED will blink.
100 pin LQFP package for demo, COB structure is supported
2
03/06/00
Version 1.0
GL651USB USB KEYBOARD HUB CONTROLLER
2
FUNCTION OVERVIEW
The GL651USB is an USB keyboard hub with 1 upstream port and 2 downstream ports.
It integrates USB keyboard and hub in a single chip to add extra value to traditional
keyboard and lower its total cost. The GL651USB uses an 8-bit RISC-like uC to
encode/decode the host commands and to decode the keyboard matrix data. Its 8 generalpurpose I/O(GPIO) pins and the uC-based structure make the implementation of
customization very easy. The GL651USB supports 20 drive pins to meet the diversity of
keyboard matrix. Besides, 5 GPIO pins support the LED driving, 3 for keyboard and 2
for hub. Hence vendors can decide whether or not to enable the hub LED function easily.
For giving more design flexibility, the power supply of GL651USB can be switched
automatically: self-power or bus-power. In the same way, vendors can pullup/pulldown
the SELF pin to support only self/bus power if they have cost issue. The GL651USB can
be configured as ganged/individual mode for hub functions by strapping through
pullup/pulldown the SUSPND pin. To prevent from abnormal current consumption of
downstream port devices, the GL651USB supplies power enable flags by reading the
over-current flags. By hub LED, The GL651USB also supports smart traffic indication,
i.e., the higher data traffic flows through one port, the higher frequency of that port’s
LED blinks. In order to minimize the power consumption, the GL651USB will turn LED
off and stop the clock automatically when it is suspended.
The GL651USB is the most featured and flexible product for those venders who are
looking for “USB Keyboard with Hub” solution. Besides, vendors can easily modify their
board circuits to meet their own requirement if they have product differentiation or cost
issues. Further more, if vendor has the requirement of saving their package cost, COB
component also can be supplied by request.
3
03/06/00
Version 1.0
GL651USB USB KEYBOARD HUB CONTROLLER
3
l
PIN DEFINITIONS AND DESCRIPTIONS
GL651USB
Pin No.
3
5
7
9
11
13
15
17
19
21
Name
GND
DM2
DP2
DM0
DP0
VCP
DM1
DP1
VDD
NUMLOCK
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
23
CAPSLOCK
I/O
25
SCLOCK
I/O
27
TEST
29
31
32
34
35
37
38
40
41
43
44
46
47
49
50
52
54
56
58
60
62
64
DRV1
DRV2
DRV3
DRV4
DRV5
DRV6
DRV7
DRV8
DRV9
DRV10
DRV11
DRV12
DRV13
DRV14
DRV15
GND
DRV16
DRV17
DRV18
DRV19
DRV20
SUSPND
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
I/O
66
68
70
72
GPIO7
GPIO6
VDD
GPIO5
I/O
I/O
I/O
I
Description
Analog ground
Downstream port 2 USB dataDownstream port 2 USB data+
Upstream port USB dataUpstream port USB data+
3.3V output
Downstream port 1 USB dataDownstream port 1 USB data+
VCC(5V)
Keyboard Num LOCK LED
Also can be used as general purpose pin GPIO0
Keyboard Caps Lock LED
Also can be used as general purpose pin GPIO1
Keyboard Scroll Lock LED
Also can be used as general purpose pin GPIO2
Test mode input: (internal pull low)
For 48 Mhz oscillator clock input, pull high
For 12 Mhz crystal clock input, floating
Key matrix drive output 1
Key matrix drive output 2
Key matrix drive output 3
Key matrix drive output 4
Key matrix drive output 5
Key matrix drive output 6
Key matrix drive output 7
Key matrix drive output 8
Key matrix drive output 9
Key matrix drive output 10
Key matrix drive output 11
Key matrix drive output 12
Key matrix drive output 13
Key matrix drive output 14
Key matrix drive output 15
GND
Key matrix drive output 16
Key matrix drive output 17
Key matrix drive output 18
Key matrix drive output 19
Key matrix drive output 20
Suspend indication output and individual setting input
Pull low: individual mode.
Pull high: ganged mode
General purpose pin 7
General purpose pin 6
VCC(5V)
General purpose pin 5
4
03/06/00
Version 1.0
GL651USB USB KEYBOARD HUB CONTROLLER
73
75
76
78
79
81
82
84
85
87
88
90
91
93
94
96
97
99
GPIO4
GPIO3
RESET
SELF
SENSE1
SENSE2
SENSE3
SENSE4
SENSE5
SENSE6
SENSE7
SENSE8
PWRENB1#
PWRENB2#
OVCUR1#
OVCUR2#
XTAL2
XTAL1
I/O
I/O
I
I
I
I
I
I
I
I
I
I
O
O
I
I
O
I
General purpose pin 4
General purpose pin 3
Reset input
1: self-powered. 0: bus-powered
Keyboard matrix sense input 1
Keyboard matrix sense input 2
Keyboard matrix sense input 3
Keyboard matrix sense input 4
Keyboard matrix sense input 5
Keyboard matrix sense input 6
Keyboard matrix sense input 7
Keyboard matrix sense input 8
Power enable for downstream port 1
Power enable for downstream port 2
Over current flag for downstream port1
Over current flag for downstream port2
Ceramic resonator or crystal out
Ceramic resonator or crystal in
Note 1: “#” means low active
NC
XTAL1
NC
XTAL2
OVCR2
NC
OVCR1
PWRENB2
NC
PWRENB1
SENSE8
NC
SENSE7
SENSE6
NC
SENSE5
SENSE4
NC
SENSE3
SENSE2
NC
NC
GND
NC
DM2
NC
DP2
NC
DM0
NC
DP0
NC
VCP
NC
DM1
NC
DP1
NC
VDD
NC
NUMLOCK
NC
CAPSLOCK
NC
SCLOCK
NC
TEST
NC
DRV1
NC
GL651USB
DRV2
DRV3
NC
DRV4
DRV5
NC
DRV6
DRV7
NC
DRV8
DRV9
NC
DRV10
DRV11
NC
DRV12
DRV13
NC
DRV14
DRV15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
NC
SENSE1
SELF
NC
RESET
GPIO3
NC
GPIO4
GPIO5
NC
VDD
NC
GPIO6
NC
GPIO7
NC
SUSPND
NC
DRV20
NC
DRV19
NC
DRV18
NC
DRV17
NC
DRV16
NC
GND
NC
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
60
59
58
57
56
55
54
53
52
51
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
U?
100
99
98
97
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82
81
Table 1 GL651USB Pin Definitions and Descriptions
5
03/06/00
Version 1.0
GL651USB USB KEYBOARD HUB CONTROLLER
4
Functional description
PC HOST
D+
D-
drive
KMIF
KEY
MATRIX
sense
TRANSCIVER
SIE
REGISTERS
uC
HUB REPEATER
ROM
PORT
CONTROLLER
PORT
CONTROLLER
TRANSCIVER
TRANSCIVER
D+
D-
DOWN PORT1
D+
Clock48 mhz
RAM
PLL
Clock 12 mhz
D-
DOWN PORT2
6
03/06/00
Version 1.0
GL651USB USB KEYBOARD HUB CONTROLLER
TRANSCIVER: TRANSCIVER is the analog circuits, which takes care of the electrical
characteristics of USB.
SIE:
SIE is the serial interface engine. The main responsibility of SIE is to
code/decode USB protocol. SIE guarantee the GL651USB always
function in a correct state.
KMIF:
KMIF is the interface of key matrix and GL651USB. KMIF drives the
key matrix and sense the input. The sensed data is then output to the
registers, which provide the uC to judge the pressed key.
REGISTERS:
REGISTERS is the interface of hardware and software. The used
registers will be listed in the later section.
REPEATER:
REPEATER is the kernel of hub. It repeats the data accurately from the
upstream port to the downstream port, and vice versa.
PORT CONTROLLER: Each downstream port of hub needs a PORT CONTROLLER
respectively. It monitors the state of the port.
PLL:
5
PLL extracts 48 Mhz clock from input 12 Mhz clock. This 48 Mhz
clock is used to generate USB clock in the digital PLL circuit.
REGISTER SUMMARY
MNEMONIC
DEVCTL
EVTFLG_1
EVTFLG_2
RXCTL0_HB
RXCTL0_KB
TXCTL0_HB
TXCTL0_KB
TXCTL123
FFDAT0_HB
FFDAT0_KB
FFDAT123
BUFCTL
DRVSEL
SENSE
ENDP_PORT_SEL
HUB_STAT_CHG
PORT_STATUS
BUS_PORT_DATA
HOST_CMD
ENP2_IND
OFFSET
00h
01h
02h
03h
04h
05h
06h
07h
08h
09h
0Ah
0Bh
0Ch
0Dh
0Eh
0Fh
10h
11h
12h
13h
DESCRIPTION
Device control register
USB function interrupt flag
USB function interrupt flag
Endpoint 0 RX control of hub
Endpoint 0 RX control of keyboard
Endpoint 0 TX control of hub
Endpoint 0 TX control of keyboard
Endpoint 1,2, and 3 TX control
Data buffer (FIFO) for endpoint 0 of hub
Data buffer (FIFO) for endpoint 0 of keyboard
Data buffer (FIFO) for endpoint 1, 2, and 3
Data buffer control register
DRV1 ~ DRV18 select
SENSE1 ~ SENSE8 input
Endpoint selected and hub port to be configured
Hub status and status change indicator
Hub ports status indicator
Hub ports status change indicator
Host command to HUB
Hub interrupt indicator
7
03/06/00
Version 1.0
GL651USB USB KEYBOARD HUB CONTROLLER
LEDCTL
KBSTUS
REV
HUBSTUS
MODSEL
R/O:
R/W:
R/W1C:
W/O:
DEVCTL
R/W
USBRDY
14h
LED control flag
15h
Keyboard address and configuration status
16h
Chip revision
17h
USB hub address and configuration status
18h
Strapping mode register
read only
read / write
read / write “1” to clear
write only
--
USBRDY
GANG
RW_KB
RW_HUB
SFRAME
SELF
PWRDN
( offset 00, default = 00h )
R/O
R/W
R/W
R/W
R/O
R/W
RW_KB RW_HUB SFRAME
SELF
PWRDN
GANG
: 0 - USB interface is not ready. The device drives USB with SE0.
1 - USB interface is ready. The device stops driving USB with SE0.
After power-on reset, USBRDY is cleared and the device looks like
disconnected. Set USBRDY to ‘1’ to enable USB interface.
: 0 – Individual mode. 1 – gang mode.
: remote wakeup ability enable for keyboard.
: remote wakeup ability enable for hub.
: short frame option for test purpose
Set SFRAME to ‘1’ will shorten frame length to 1/15 ms. It is to shorten the
time required for test.
: 0 - HUB is bus powered.
1 - HUB is self-powered.
: power down mode
In suspend state, firmware can set PWRDN to put the controller into power
down mode. In this mode, the embedded micro-controller and most internal
activities are frozen.
EVTFLG
--
_1
( offset 01, default = 00h )
R/W1C
R/W1C
R/W1C
EP3TX
EP2TX
EP1TX
R/W1C
EP0TXKB
R/W1C
EP0TXHB
R/W1C
R/W1C
EP0RXHB
EP0RXKB
Interrupt event flag –
EP0RXHB
: a SETUP or OUT transaction to endpoint 0 of hub is accepted
EP0RXKB
: a SETUP or OUT transaction to endpoint 0 of keyboard is accepted
EP0TXHB
: USB host controller accepts hub data transmitted via endpoint 0.
EP0TXKB
: USB host controller accepts keyboard data transmitted via endpoint 0.
EPnTX
: USB host controller accepts data transmitted via endpoint n
8
03/06/00
Version 1.0
GL651USB USB KEYBOARD HUB CONTROLLER
EVTFLG
_2
--
--
( offset 02, default = 00h )
R/W1C
-WAKEUP
R/W1C
SUSPD
R/W1C
USBRST
R/W1C
SOF
R/W1C
C_LCPWR
Interrupt event flag –
SUSPD
: the controller goes into suspend state
WAKEUP
: remote wakeup is detected when global suspended
USBRST
: End of USB reset
SOF
: SOF detected or generated by HUB timer.
C_LCPWR
: POWER source change.
RXCTL0_HB
( offset 03, default = 40h )
R/W
R/O
R/O
R/O
R/O
R/O
R/O
R/O
RXDIS
RXSETUP RXOUT
RXSEQ
RXCNT3 RXCNT2 RXCNT1 RXCNT0
RXCTL0 of hub.
Status of endpoint 0 receiving –
RXCNT3~0
: EP0 received data byte count.
RXSEQ
: 1 - The received data PID is DATA1
0 - The received data PID is DATA0
RXOUT
: 1 - The received token PID is OUT.
RXSETUP
: 1 - The received token PID is SETUP.
RXDIS
: 0 - Endpoint 0 FIFO is empty and ready for data-packet receiving.
1 - Endpoint 0 FIFO is filled with data and will reject the new-coming data
packet.
If RXDIS = 1, the device will not accept an OUT transaction addressed to it, and will respond
with a NAK to an error-free transaction. Hardware will automatically set RXDIS after a
successful receiving. After processing, the micro-controller should clear RXDIS to enable next
data-packet receiving or free FF0 for filling of the data to transmit. Note that a SETUP
transaction addressed to the device is always accepted even though RXDIS = 1.
RXCTL0_KB
R/W
RXDIS
( offset 04, default = 40h )
R/O
R/O
R/O
R/O
R/O
R/O
RXSETUP RXOUT
RXSEQ
RXCNT3 RXCNT2 RXCNT1
RXCTL0 of keyboard. Definition of each bit is the same as RXCTL0_HB.
R/O
RXCNT0
TXCTL0_HB
( offset 05, default = 00h )
R/W
R/W
R/W
R/W
R/W
R/W
R/W
-EP0STL
EP0OE
EP0SEQ
EP0CNT3 EP0CNT2 EP0CNT1 EP0CNT0
TXCTL0 of hub.
Endpoint 0 transmit setting –
EP0CNT3~0
: number of data bytes to transmit
EP0OE
: enable data transmit
1 – ready to transmit data packet
0 – not ready to transmit data packet (default)
EP0SEQ
: data packet type
0 –DATA0
1 –DATA1
EP0STL
: set endpoint 0 stall
1 – EP0 will respond to USB host controller with STALL packet
EP0STL will be automatically cleared when a setup transaction is accepted.
After filling the data-to-transmit into FF0, the micro-controller should setup this register to
enable endpoint 0 data transmit. If EP0OE = 0, endpoint 0 will respond to a valid IN transaction
9
03/06/00
Version 1.0
GL651USB USB KEYBOARD HUB CONTROLLER
with a NAK. EP0OE will be automatically cleared after a successful transmission, or when
endpoint 0 has incidentally accepted another SETUP or OUT transaction.
TXCTL0_KB
( offset 06, default = 00h )
R/W
R/W
R/W
R/W
R/W
-EP0STL
EP0OE
EP0SEQ
EP0CNT3 EP0CNT2
TXCTL0 of hub. Definition of each bit is the same as TXCTL0_HB.
R/W
EP0CNT1
R/W
EP0CNT0
TXCTL123
( offset 07, default = 00h )
R/W
R/W
R/W
R/W
R/W
R/W
R/W
-EPnSTL
EPnOE
EPnSEQ
EPnCNT3 EPnCNT2 EpnCNT1 EpnCNT0
Endpoint n(1~3) transmit setting –
EPnCNT3~0
: number of data bytes to transmit.
EPnOE
: enable data transmit
1 – ready to transmit data packet
0 – not ready to transmit data packet (default)
EPnSEQ
: data packet type
0 –DATA0
1 –DATA1
EPnSTL
: set endpoint n stall
1 – EPn will respond to USB host controller with STALL packet
0 – default
After preparing the data to transmit, the micro-controller should setup this register to enable
endpoint n data transmit. If EPnOE = 0, endpoint n will respond to a valid IN transaction with a
NAK. After a successful transmission, the device will automatically clear EPnOE. EPSEL1~3
must be set before settingTXCTL123.
FFDAT0_HB
( offset 08, default = 00h )
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
FFD7
FFD6
FFD5
FFD4
FFD3
FFD2
FFD1
FFD0
FFDAT0 of hub.
Each FFDAT0 read/write will automatically increase the FIFO pointer, which is a 3-bit circular
counter, by 1. Writing FPRST0 with ‘1’ (in BUFCTL) will reset the pointer. Note that to fill
FFDAT0, RXDIS (in RXCTL0) must be first cleared.
FFDAT0_KB
( offset 09, default = 00h )
R/W
R/W
R/W
R/W
R/W
R/W
FFD7
FFD6
FFD5
FFD4
FFD3
FFD2
FFDAT0 of hub. Definition of each bit is the same as FFDAT0_HB.
R/W
FFD1
R/W
FFD0
FFDAT123
( offset 0A, default = 00h )
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
FFD7
FFD6
FFD5
FFD4
FFD3
FFD2
FFD1
FFD0
Each FFDAT123 read/write will automatically increase the FIFO pointer, which is a 3-bit
circular counter, by 1. Writing FPRST1 with ‘1’ (in BUFCTL) will reset the pointer. EPSEL1~3
must be set before setting FFDAT123.
BUFCTL
--
( offset 0B)
----Data buffer control –
FPRST[1:0]
: Reset FIFO pointer of FIFO 0~3.
10
--
R/W
FPRST1
03/06/00
R/W
FPRST0
Version 1.0
GL651USB USB KEYBOARD HUB CONTROLLER
Before FFRST[1:0] is used, ENDP[1~3] must have been set.
DRVSEL
( offset 0C)
R/W
R/W
R/W
R/W
R/W
R/W
R/W
-INVDRV
DRVOE
DRV4
DRV3
DRV2
DRV1
DRV0
DRV[4:0]
: Select one of DRV1 to DRV20 port to drive if DRVOE is set.
5’h00 ~ 5’h11 stand for DRV1 to DRV20.
NOTE: 5’h14 ~5’h1f are invalid.
DROVE
: DRV[4:0] output enable. ONLY when DRVOE is set can DRV[4:0] drive
out.
INVDRV
: Set this bit to drive all DRV1-20 to low except the selected drive pin
SENSE ( offset 0D, default = 00h )
R/O
R/O
R/O
SENSE8
SENSE7
SENSE6
R/O
SENSE5
R/O
SENSE4
R/O
SENSE3
R/O
SENSE2
PORT_ENDP_SEL
--
( offset 0E, default = 00h )
R/W
R/W
R/W
R/W
R/W
PORTSEL PORTSEL PORTSEL
-EPSEL3
EPSEL2
3
2
1
Port under host command or Endpoint under host request
PORTSEL1
1’b1 – port 1 selected
PORTSEL2
1’b1 – port 2 selected
PORTSEL3
1’b1 – port 3 selected
EPSEL3
1’b1 – endpoint 3 is selected
EPSEL2
1’b1 – endpoint 2 is selected
EPSEL1
1’b1 – endpoint 1 is selected
Before FFDAT123 and TXCTL123 is used, EPSEL1~3 must have been set.
R/O
SENSE1
R/W
EPSEL1
HUB_STAT_CHG
( offset 0F, default = 00h )
R/O
R/O
R/O
R/O
LCPWR
OVCUR
----C_LCPWR C_OVCUR
HUB status and status change
LCPWR
: HUB local power status
1’b0 – local power good
1’b1 – local power lost
OVRCUR
: HUB over current indicator
1’b0 – No over-current condition currently exists
1’b1 – A hub over-current condition exists
C_LCPWR
: Local power status change
1’b0 – No change has occurred to local power status
1’b1 – local power status has changed
C_OVRCUR
: HUB over current indicator change
1’b0 – No change has occurred to the over-current indicator
1’b1 – Hub over-current indicator has changed
PORT_STATUS ( offset 10, default = 00h )
R/O
R/O
R/O
PT_LOW_ PT_PWR
-PT_RST
SPD
R/O
PT_OVCU
R
R/O
PT_SUS
R/O
PT_EN
R/O
PT_CON
Port status indicator:
11
03/06/00
Version 1.0
GL651USB USB KEYBOARD HUB CONTROLLER
PT_LOW_SPD
:1’b0 – full speed device connected, 1’b1 – low speed device
connected.
1’b0 – port is in power off state, 1’b1 – port is not in power
off state
:1’b0 – Reset signaling not asserted, 1b’1 – Reset signaling
asserted
: 1’b0 – No over-current condition occurred on this port
1’b1 – An over-current condition exists on this port
: 1’b0 – port not suspended, 1’b1 – port suspended or
resuming
: 1’b0 – port is disabled, 1’b1 – port is enabled
: 1’b0 – No device is present, 1’b1 – A device is present on
this port
PT_PWR
PT_RST
PT_OVCUR
PT_SUS
PT_EN
PT_CON
BUS_PORT_DATA
R/O
R/O
VP
VM
( offset 11, default = 00h )
R/O
-C_PT_RST
R/O
R/O
R/O
R/O
C_PT_
C_PT_
C_PT_EN
C_PT_
OVCUR
SUS
CON
Bus state and Port status change indicator:
VP
: VP state on the downstream port
VM
: VM state on the downstream port
C_PT_RST
: 1’b0 – No change, 1’b1 – Reset complete
C_PT_OVCUR
: 1’b0 – No change has occurred to over-current indicator
: 1’b1 – over-current indicator has changed
C_PT_SUS
: 1’b0 – No change, 1’b1: – Resume complete
C_PT_EN
: Set to one when a port is disabled because of a Port_error
condition
C_PT_CON
: 1’b0 – No change has occurred to current connect status
: 1’b1 – Current connect status has changed
HOST_CMD
( offset 12, default = 0Fh )
W/O
W/O
W/O
W/O
W/O
W/O
W/O
W/O
HB_CMD3 HB_CMD2 HB_CMD1 HB_CMD0 PT_CMD3 PT_CMD2 PT_CMD1 PT_CMD0
Host command to the hub:
PT_CMD3~0
: 4’h0 –SetPortFeature(PORT_SUSPEND)
: 4’h1 –SetPortFeature(PORT_RESET)
: 4’h2 –SetPortFeature(PORT_POWER)
: 4’h3 –ClearPortFeature(PORT_ENABLE)
: 4’h4 –ClearPortFeature(PORT_SUSPEND)
: 4’h5 –ClearPortFeature(PORT_POWER)
: 4’h6 –ClearPortFeature(C_PORT_RESET)
: 4’h7 –ClearPortFeature(C_PORT_OVER_CURRENT)
: 4’h8 –ClearPortFeature(C_PORT_SUSPEND)
: 4’h9 –ClearPortFeature(C_PORT_ENABLE)
: 4’hA –ClearPortFeature(C_PORT_CONNECTION)
HB_CMD3
: 1’b1 –SetHubFeature(C_HUB_LOCAL_POWER)
HB_CMD2
: 1’b1 –SetHubFeature(C_HUB_OVER_CURRENT)
HB_CMD1
: 1’b1 –ClearHubFeature(C_HUB_LOCAL_POWER)
HB_CMD0
: 1’b1 –ClearHubFeature(C_HUB_OVER_CURRENT)
ENP2_IND
--
( offset 13, default = 00h )
--
--
R/O
PT3
--
12
R/O
PT2
03/06/00
R/O
PT1
R/O
HUB
Version 1.0
GL651USB USB KEYBOARD HUB CONTROLLER
Endpoint2 (HUB) interrupt change indicator
LEDCTL
( offset 14, default = 00h )
R/W1C
R/W1C
R/W1C
R/W1C
--P2_ON
P1_ON
--P2_TRX
P1_TRX
Hub LED control flag:
P1_TRX
: upstream traffic happens on downstream port 1
P2_TRX
: upstream traffic happens on downstream port 2
P1_ON
: if 1’b1, LED is always on, otherwise, judge according to TRXFLAG
register.
P2_ON
: if 1’b1, LED is always on, otherwise, judge according to TRXFLAG
register.
KBSTUS
( offset 15, default = 0Fh )
R/W
R/W
R/W
R/W
R/W
KCONFIG KBADR6 KBADR5 KBADR4 KBADR3
Keyboard address and keyboard configuration.
REV
R/W
KBADR2
R/W
KBADR1
R/W
KBADR0
R/O
REV1
R/O
REV0
( offset 16, default = current revision )
R/O
R/O
R/O
R/O
R/O
R/O
REV7
REV6
REV5
REV4
REV3
REV2
This register returns current silicon revision number of this device.
Current revision is 8’h11. (Revision 1.1)
HUBSTUS
( offset 17, default = 00h )
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
HCONFIG DEVADR6 DEVADR5 DEVADR4 DEVADR3 DEVADR2 DEVADR1 DEVADR0
USB hub status registers. Procedure to set the device address:
1. After USB reset, the device responds to default address 0, and hub configuration = 0.
2. USB host controller issues SET_ADDRESS request to the device. (INTRB asserted)
3. Micro-controller recognizes the request, then set DEVADR register with appropriate value.
4. Micro-controller prepares the status stage of SET_ADDRESS request by programming
TXCTL0 register.
5. When the hub configuration value is not equal zero, HCONFIG is set to one.
USB reset will clear this register.
MODSEL
(offset 18, default = 07h)
R/O
R/O
R/O
R/O
R/O
R/O
R/O
R/O
MOD7
MOD6
MOD5
MOD4
MOD3
MOD2
MOD1
MOD0
MOD[7:0] is strapping value at initial state from GPIO[7:0]. GPIO[2:0] is default pull high for
keyboard LED control. F/W can utilize these bits for customization.
13
03/06/00
Version 1.0
GL651USB USB KEYBOARD HUB CONTROLLER
6
MAXIMUM RATINGS
Maximum ratings are the extreme limits to which the GL651USB can be exposed without permanently
damaging it. The GL651USB contains circuitry to protect the inputs against damage from high static
voltages; however, do not apply voltages higher than those shown in the table. Keep VIN and VOUT within
the range GND ≤ (VIN or VOUT) ≤ VCC. Connect unused inputs to the appropriate voltage level, either GND
or VDD .
Symbol
TSTG
TOP
VCC
VIN
I
IMGND
IMVCC
VESD
7
Characteristic
Storage temperature
Operating temperature
Supply voltage
DC input voltage
Maximum current per pin excluding VDD and VSS
Maximum current out of GND
Maximum current out of VCC
Static discharge voltage
Value
-55 to +150
0 to +70
-0.5 to +7.0
-0.5 to +VDD + 0.5
25
100
100
>4000
Unit
°C
°C
V
V
mA
mA
mA
V
ELECTRICAL CHARACTERISTICS
Symbol
Parameter
Supply
VDD
Digital Power Supply
VDDA Analog Power Supply
IDD
Digital Supply Current
IDDA Analog Supply Current
USB Bus: DP and DM
VCP
Regulated Voltage Output
VDI
Static Input Voltage
VDO
Static Output Voltage
Digital I/O Pins
VIL
Input Logic Low Voltage
VIH
Input Logic High Voltage
VOL
Output Logic Low Voltage
VOH
Output Logic High Voltage
Tese Conditions
IO =-4.0mA
IO =+4.0mA
14
Min.
Typ.
Max.
Unit
4.5
4.5
5.0
5.0
5.5
5.5
V
V
mA
mA
3.0
0
0
3.3
-
3.6
VCP
VCP
V
V
V
2.0
0.9xVDD
-
0.8
0.1xVDD
-
V
V
V
V
03/06/00
Version 1.0
8. Application Circuit
DP2
C3
DM0
4.7U
DP0
VCP
DM1
B_VCC
DP1
3
NUMLOCK
C5
CAPSLOCK
0.1U
SCLOCK
DRV1
DRV2
DRV3
DRV4
DRV5
DRV6
DRV7
DRV8
DRV9
DRV10
DRV11
DRV12
DRV13
DRV14
DRV15
DRV16
DRV17
DRV18
DRV19
DRV20
SENSE3
SENSE2
NC
XTAL1
NC
XTAL2
OVCR2
NC
OVCR1
PWRENB2
NC
PWRENB1
SENSE8
NC
SENSE7
SENSE6
NC
SENSE5
SENSE4
NC
SENSE3
SENSE2
GL651USB
NC
SENSE1
SELF
NC
RESET
GPIO3
NC
GPIO4
GPIO5
NC
VDD
NC
GPIO6
NC
GPIO7
NC
SUSPND
NC
DRV20
NC
DRV19
NC
DRV18
NC
DRV17
NC
DRV16
NC
GND
NC
80
79
78
77
76
75
74
73
72
71
70
69
68
67
66
65
64
63
62
61
60
59
58
57
56
55
54
53
52
51
4
KEYBOARD
MATRIX
SENSE1
SELF
SENSE1
SENSE2
SENSE3
SENSE4
SENSE5
SENSE6
SENSE7
SENSE8
GPIO3
GPIO4
GPIO5
B_VCC
SENSE1
SENSE2
SENSE3
SENSE4
SENSE5
SENSE6
SENSE7
SENSE8
GPIO6
GPIO7
SUSPND
3
DRV20
DRV19
C4
DRV18
0.1U
DRV17
1 GPIO3~GPIO7 are for customization usage. Different
strap combinations can make different code options.
DRV16
2.GPIO6~GPIO7 can be used as hub LED indication also.
3.For individual mode hub, SUSPND should be pulled low.
For ganged mode hub, SUSPND should be pulled up.
DRV14
DRV15
DRV12
DRV13
DRV10
DRV11
DRV8
DRV9
DRV6
DRV7
DRV4
DRV5
DRV2
DRV3
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
DRV1
NC
NC
GND
NC
DM2
NC
DP2
NC
DM0
NC
DP0
NC
VCP
NC
DM1
NC
DP1
NC
VDD
NC
NUMLOCK
NC
CAPSLOCK
NC
SCLOCK
NC
TEST
NC
DRV1
NC
E
DRV20
DRV19
DRV18
DRV17
DRV16
DRV15
DRV14
DRV13
DRV12
DRV11
DRV10
DRV9
DRV8
DRV7
DRV6
DRV5
DRV4
DRV3
DRV2
DRV1
DM2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
DRV2
DRV3
NC
DRV4
DRV5
NC
DRV6
DRV7
NC
DRV8
DRV9
NC
DRV10
DRV11
NC
DRV12
DRV13
NC
DRV14
DRV15
U1
D
100
99
98
97
96
95
94
93
92
91
90
89
88
87
86
85
84
83
82
81
30P
SENSE5
SENSE4
C2
C
SENSE7
SENSE6
12 MHz
30P
PWRENB1#
SENSE8
C1
4
XTAL1
Y1
OVRCUR1#
PWRENB2#
B
XTAL2
OVRCUR2#
A
2
2
B_VCC
Rev.
D1 LED
R1 1K
Date
Description
1.0
1. First Product Release
'00/03/03
1.1
1. ADD Q4 to prevent current leakage when adapter is plugged in but USB
cable isn't.
'00/03/16
NUMLOCK
D2
LED
R8 1K
D3 LED
R9 1K
D4 LED
R10 1K
R2
R3
R4
R5
R6
R7
1M, NI
1M, NI
1M, NI
1M, NI
1M, NI
1M, NI
CAPSLOCK
SUSPND
GPIO3
GPIO4
GPIO5
GPIO6
GPIO7
SCLOCK
GPIO6
R11
R12
R13
R14
R15
R16
1M
1M
1M
1M
1M
1M
1
1
D5 LED
R17 1K
GPIO7
Title
GENESYS USB KEYBOARD HUB
Size
B
Date:
A
B
C
D
Document Number
KBHUB.DSN
Thursday, March 16, 2000
Rev
1.1
Sheet
E
1
of
2
A
B
C
D
E
VCC
B_VCC
VCP
B_VCC
10U
PWRENB1#
1
FLG1#
L1
FB
J1
R23 22
DM0
DP0
C10
ENA#
+
R20
1.5K
C11
R24 22
C6
R18
0.1U
10K
L2
FLG2#
1
2
3
4
FB
2
3
PWRENB2#
OUTA#
FLGA#
IN
FLGB#
4
ENB#
GND
OUTB#
8
VOUT1
FLG2#
OVRCUR1#
R22 10K
0.22U
6
4
C9
R21 10K
5
OVRCUR2#
C8
0.22U
VOUT2
MIC2526-8
47P
VCC
3
FB
0.1U
R28
NI (0)
Q2
Q3
2N7002
G
D
FDN360P
R30
R31
B_VCC
R32
10K
R29
CON1
1
2
3
R33
1M
VCC
4.7K
15K
S
15K
G
TP0610T
D
USB-A
FB
1N400X
1M
G
Q1
1
2
3
4
5
1
2
3
4
R26 22
R27 22
S
DM1
DP1
D
100U
3
U3 MIC 29302
D6
G
S
C13
R25
S
+ C12
S_VCC
J2
VOUT1
L4
10K
FLG1#
7
USB-B
47P
L3
R19
U2
C7
4
B_VCC
S_VCC
VCC
C14
C15
R34
0.1U
47U
R35
56.2K,%1
C16
C17
0.1U
47U
Q4
D
POWERJACK
R36
2N7002
18K,%1
1M
R37
510K
2
2
SELF
L5
FB
+ C19
C20
100U
R38
C18
NI (10K)
0.1U
J3
VOUT2
DM2
DP2
1
2
3
4
R39 22
R40 22
0.1U
USB-A
L6
FB
R41
R42
15K
15K
1 For pure bus-powered keyboard hub, please DO NOT implement
those components in the dotted line, and mount R28 with
0 Ohm and R38 with 10K.
1
1
2.For self-bus powered auto-switching keyboard hub, please
remove R28, R38 and implement those components in dotted line.
Title
GENESYS USB KEYBOARD HUB
Size
B
Date:
A
B
C
D
Document Number
KBHUB.DSN
Thursday, March 16, 2000
Rev
1.1
Sheet
E
2
of
2