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