1 FEATURES ............................................................................................................................................................4
4.8 USB ENGINE................................................................................................................................................22
4.8.1 Voltage Regulator .............................................................................................................................22
4.8.2 USB Transceiver................................................................................................................................22
4.8.3 Serial Interface Engine (SIE).........................................................................................................24
4.9 INSTRUCTION SET SUMMARY..............................................................................................................25
4.9.1 Operand Field Descriptions ...........................................................................................................25
− Up to 13(GL603USB)/11(GL603USB-A)/9(GL603USB-B) general purpose I/O pins (OTP type is
less a GPIO pin than mask type, and the number is not included CLK/DATA in PS/2 mode).
− Internal RC clock to wakeup periodically (about 200ms for mask type, 500ms for OTP type) when
suspend
− Up to 8(GL603USB)/6(GL603USB-A)/4(GL603USB-B) special purpose I/O pins optimized for
photo-sensor (Internal build in 4 bits ADC)
− Up to 2 I/O pins with large current drive capability to drive LED (Sink current up to 16 mA)
− 2 open drain I/O pins combined with USB D+/D - functions to be used as DATA and CLK in PS/2
mode
• Internal memory
− 64 bytes of RAM (special purpose register is not included)
− 2.75K x 14 of program ROM
• Integrated USB tr ansceiver with open drain I/O capability
− In PS/2 mode, D+ used as CLK and D- used as DATA
− Use legacy USB cable and add an USB to PS/2 converter to connect PS/2 port
• Patented full-range detection for photo-sensor
− Removes the expensive process of matching LED and photo-sensor
• On-chip 3.3v output
− No external regulator required
• Improved output drivers with slew -rate control to reduce EMI
• 6 MHz external clock
• Build in clock generator to generate 12 MHz internal clock for micro-controller (mask type only)
− Improve photo-sensor sampling rate up to 100 us per sample in USB mode and 80 us in PS/2
mode
• Internal power -on reset(POR)
• Internal power -fail detector
• Supports suspend/normal mode power management
− Suspend current lower than 400µA for whole mouse system (mask type)
• 8-bits free-running timer
4 09/22/00
Revision 1.4
GL603USB/GL603USB-A/GL603USB-B
• Available in cost saving 20-pin(GL603USB) PDIP, 18-pin(GL603USB-A) PDIP and 16-
pin(GL603USB-B) PDIP
5 09/22/00
Revision 1.4
GL603USB/GL603USB-A/GL603USB-B
2 FUNCTIONAL OVERVIEW
The GL603USB is a 8-bits RISC-like high performance microcontroller with a built-in 1.5Mbps SIE and
transceiver. The microcontroller features 33 instructions optimized for USB and PS/2 mouse. There are 64
bytes on-chip RAM and 2.75K x 14 program ROM incorporated into the microcontroller. Because the
GL603USB build in a clock generator circuit, it can accepts a 6 MHz ceramic resonator or a crystal as its
clock source. The clock generator can generate 12 MHz clock for micro-controller to sense mouse tracking
signal. The clock is only enabled when bit 1 of PORTCON1 register is cleared. In default firmware, it
indicates the controller is running on PS/2 mouse mode. The sampling rate of mouse tracking signal can be
up to 100 us in USB mode and 80 us in PS/2 mode. The micro-controller features 13 general purpose I/Os
(GPIOs). 8 GPIO pins build in 4 bits ADC for photo-sensor input to remove the expensive process of
matching LED and photo-sensor. Additionally, 2 GPIO pins are strong enough to drive LEDs. The other 3
GPIO pins is used for mouse buttons by default firmware. Beside the 13 GPIO pins, another 2 GPIO pins
combined with USB D+/D - functions can be used as DATA and CLK in PS/2 mode. Legacy USB cable
can be used for mouse in USB mode and an USB to PS/2 converter is required in PS/2 mode. All GPIO
ports feature low EMI emissions as a result of improved output drivers with slew -rate control.
USB Registers
&
FIFO Control
Endpoint 0
8 Bytes FIFO
Endpoint 1
8 Bytes FIFO
Select Control
Micro-
controller
USB
Interface
PS/2 CLK
PS/2 DATA
D+
D-
Figure 2-1 Block Diagram of GL603USB
D+ / PS2CLK
Mux
D- / PS2DATA
6 09/22/00
Revision 1.4
GL603USB/GL603USB-A/GL603USB-B
3 PIN DEFINITIONS AND DESCRIPTIONS
3.1 GL603USB
Pin No. Name I/O Description
1 P1.2/LB
2 P1.3/MB I/O Port 1 bit 3/mouse middle button
3 P1.4/RB I/O Port 1 bit 4/mouse right button
4 P2.7/W2 I/O Port 2 bit 7/photo-sensor input for horizontal scroll 2
5 VCC - Voltage supply
6 XTAL2 O Ceramic resonator or crystal out
7 XTAL1 I Ceramic resonator or crystal in
8 P2.4/Z1 I/O Port 2 bit 4/photo-sensor input for vertical scroll 1
9 D+/P1.6/PS2 CLK I/O USB data+ when USBPS2 = 1
10 D-/P1.5/PS2 DATA I/O USB data- when USBPS2 = 1
11 V3.3 O 3.3V output, a 0.1uF to 1uF capacitor should be added
12 P2.5/Z2 I/O Port 2 bit 5/photo-sensor input for vertical scroll 2
13 P2.6/W1 I/O Port 2 bit 6/photo-sensor input for horizontal scroll 1
14 P1.0/LEDCTL I/O Port 1 bit 0 with LED drive capability
15 P1.1/MODESEL I/O Port 1 bit 1/mouse mode selector
16 GND - Ground
17 P2.3/Y1 I/O Port 2 bit 3/photo-sensor input for Y axis 1
18 P2.2/Y2 I/O Port 2 bit 2/photo-sensor input for Y axis 2
19 P2.1/X1 I/O Port 2 bit 1/photo-sensor input for X axis 1
20 P2.0/X2 I/O Port 2 bit 0/photo-sensor input for X axis 2
Note 1: Name or description after “/” means default function specified by Genesys Logic firmware
[1]
I/O Port 1 bit 2/mouse left button
Internal pull up 10K
Internal pull up 10K
Internal pull up 10K
Optional internal pull down from 4K ~ 32K or
no pull down resistor
Optional internal pull down from 4K ~ 32K or
no pull down resistor
Port 1 bit 6 when USBPS2 = 0. This pin is a open drain
output pin.
Port 1 bit 5 when USBPS2 = 0. This pin is a open drain
output pin.
on external circuit for this pin
Optional internal pull down from 4K ~ 32K or
no pull down resistor
Optional internal pull down from 4K ~ 32K or
no pull down resistor
Optional internal pull down from 4K ~ 32K or
no pull down resistor
Optional internal pull down from 4K ~ 32K or
no pull down resistor
Optional internal pull down from 4K ~ 32K or
no pull down resistor
Optional internal pull down from 4K ~ 32K or
no pull down resistor
Table 3-1 GL603USB Pin Definitions and Descriptions
4 VCC - Voltage supply
5 XTAL2 O Ceramic resonator or crystal out
6 XTAL1 I Ceramic resonator or crystal in
7 P2.4/Z1 I/O Port 2 bit 4/photo-sensor input for vertical scroll 1
8 D+/P1.6/PS2 CLK I/O USB data+ when USBPS2 = 1
9 D-/P1.5/PS2 DATA I/O USB data- when USBPS2 = 1
10 V3.3 O 3.3V output, a 0.1uF to 1uF capacitor should be added
11 P2.5/Z2 I/O Port 2 bit 5/photo-sensor input for vertical scroll 2
12 P1.0/LEDCTL I/O Port 1 bit 0 with LED drive capability
13 P1.1/MODESEL I/O Port 1 bit 1/mouse mode selector
14 GND - Ground
15 P2.3/Y1 I/O Port 2 bit 3/photo-sensor input for Y axis 1
16 P2.2/Y2 I/O Port 2 bit 2/photo-sensor input for Y axis 2
17 P2.1/X1 I/O Port 2 bit 1/photo-sensor input for X axis 1
18 P2.0/X2 I/O Port 2 bit 0/photo-sensor input for X axis 2
[1]
I/O Port 1 bit 2/mouse lef t button
Internal pull up 10K
Internal pull up 10K
Internal pull up 10K
Optional internal pull down from 4K ~ 32K or
no pull down resistor
Port 1 bit 6 when USBPS2 = 0. This pin is a open drain
output pin.
Port 1 bit 5 when USBPS2 = 0. This pin is a open drain
output pin.
on external circuit for this pin
Optional internal pull down from 4K ~ 32K or
no pull down resistor
Optional internal pull down from 4K ~ 32K or
no pull down resistor
Optional internal pull down from 4K ~ 32K or
no pull down resistor
Optional internal pull down from 4K ~ 32K or
no pull down resistor
Optional internal pull down from 4K ~ 32K or
no pull down resistor
Table 3-2 GL603USB-A Pin Definitions and Descriptions
9 09/22/00
Revision 1.4
GL603USB/GL603USB-A/GL603USB-B
V3.3
9 10
P1.2
P1.3
P1.4
V
CC
XTAL2
XTAL1
P2.4
D+
D-
1 18
2 17
3 16
4 15
5 14
6 13
7 12
8 11
P2.0
P2.1
P2.2
P2.3
GND
P1.1
P1.0
P2.5
Figure 3-2 18-pin DIP & SOP (GL603USB-A)
10 09/22/00
Revision 1.4
GL603USB/GL603USB-A/GL603USB-B
8 9
D-
3.3 GL603USB-B
Pin No. Name I/O Description
1 P1.2/LB
2 P1.3/MB I/O Port 1 bit 3/mouse middle button
3 P1.4/RB I/O Port 1 bit 4/mouse right button
4 VCC - Voltage supply
5 XTAL2 O Ceramic resonator or crystal out
6 XTAL1 I Ceramic resonator or crystal in
7 D+/P1.6/PS2 CLK I/O USB data+ when USBPS2 = 1
8 D-/P1.5/PS2 DATA I/O USB data- when USBPS2 = 1
9 V3.3 O 3.3V output, a 0.1uF to 1uF capacitor should be added
10 P1.0/LEDCTL I/O Port 1 bit 0 with LED drive capability
11 P1.1/MODESEL I/O Port 1 bit 1/mouse mode selector
12 GND - Ground
13 P2.3/Y1 I/O Port 2 bit 3/photo-sensor input for Y axis 1
14 P2.2/Y2 I/O Port 2 bit 2/photo-sensor input for Y axis 2
15 P2.1/X1 I/O Port 2 bit 1/photo-sensor input for X axis 1
16 P2.0/X2 I/O Port 2 bit 0/photo-sensor input for X axis 1
Table 3-3 GL603USB-B Pin Definitions and Descriptions
[1]
I/O Port 1 bit 2/mouse left button
11 09/22/00
Internal pull up 10K
Internal pull up 10K
Internal pull up 10K
Port 1 bit 6 when USBPS2 = 0. This pin is a open drain
output pin.
Port 1 bit 5 when USBPS2 = 0. This pin is a open drain
output pin.
on external circuit for this pin
Optional internal pull down from 4K ~ 32K or
no pull down resistor
Optional internal pull down from 4K ~ 32K or
no pull down resistor
Optional internal pull down from 4K ~ 32K or
no pull down resistor
Optional internal pull down from 4K ~ 32K or
no pull down resistor
P1.2
P1.3
P1.4
V
CC
XTAL2
XTAL1
D+
Figure 3-3 16-pin DIP& SOP (GL603USB-B)
1 16
2 15
3 14
4 13
5 12
6 11
7 10
P2.0
P2.1
P2.2
P2.3
GND
P1.1
P1.0
V3.3
Revision 1.4
GL603USB/GL603USB-A/GL603USB-B
4 FUNCTIONAL DESCRIPTION
The Genesys Logic GL603USB micro-controller is optimized for USB & PS/2 combo 2D/3D/4D mouse.
This USB microcontroller conforms to the low -speed (1.5Mbps) requirements of the USB Specification
version 1.1. The micro-controller is a self-contained unit with an USB SIE, an USB transceiver, an 8-bits
RISC-like microcontroller, a timer, data and program memories. It supports one USB device address and
two endpoints (include endpoint 0). The USB transceiver can be disabled in PS/2 mode and D+/D - can be
used as PS/2 CLK and DATA.
4.1 MEMORY ORGANIZATION
The memory in the microcontroller is organized into user program memory in program ROM and data
memory in SRAM space.
4.1.1 Program Memory Organization
The 12-bit Program Counter (PC) is capable of addressing 4K x 14 of program space. However, the
program space of the GL603USB is 2.75K x 14. The program memory space is divided into two functional
groups: Interrupt Vectors and program code. After a reset, the Program Counter points to location zero of
the program space. After a timer interrupt, the Program Counter points the location 0x0004 of the program
space.
After Reset
0x0000 Reset Vector
After Timer Interrupt
0x 0005
0x0AFF
Figure 4-1 Program Memory Space
4.1.2 Data Memory Organization
The data memory is partitioned into two banks that contain the General Purpose Registers, MCU Function
Registers and USB Function Registers. Bit BS is the bank select bit.
BS (STATUS<5>) = 1 → Bank 1
BS (STATUS<5>) = 0 → Bank 0
The lower locations of each Bank are reserved for MCU Function Registers and USB Function Registers.
Above the MCU Function Registers and USB Function Registers are General Pur pose Registers
implemented as SRAM. Both Bank 0 and Bank 1 contain MCU Function Registers. USB Function
Registers are located in Bank 0. Some “high use” MCU Function Registers from Bank 0 are mirrored in
Bank 1 for code reduction and quicker access.
Data Memory
Address
00h INDR 80h INDR
Data Memory
Address
→
0x0004 Timer Interrupt Vector
→
2.75K x 14 ROM
Address
12 09/22/00
Revision 1.4
GL603USB/GL603USB-A/GL603USB-B
01h TIMER 81h PSCON
02h PCL 82h PCL
03h STATUS 83h STATUS
04h INDAR 84h INDAR
05h 85h
06h PORT1 86h PORT1CON
07h PORT2 87h PORT2CON
08h 88h
09h 89h