Mouse – Digilent 410-044-10P-KIT User Manual

Page 30

Advertising
background image

30

www.xilinx.com

Spartan-3 Starter Kit Board User Guide

1-800-255-7778

UG130 (v1.1) May 13, 2005

Chapter 6: PS/2 Mouse/Keyboard Port

R

The following site contains more information on PS/2 keyboard interfaces:

The AT-PS/2 Keyboard Interface

http://panda.cs.ndsu.nodak.edu/~achapwes/PICmicro/keyboard/atkeyboard.html

Mouse

A mouse generates a clock and data signal when moved; otherwise, these signals remain
High indicating the Idle state. Each time the mouse is moved, the mouse sends three 11-bit
words to the host. Each of the 11-bit words contains a ‘0’ start bit, followed by 8 data bits
(LSB first), followed by an odd parity bit, and terminated with a ‘1’ stop bit. Each data
transmission contains 33 total bits, where bits 0, 11, and 22 are ‘0’ start bits, and bits 10, 21,
and 32 are ‘1’ stop bits. The three 8-bit data fields contain movement data as shown in

Figure 6-4

. Data is valid at the falling edge of the clock, and the clock period is 20 to 30 kHz.

As shown in

Figure 6-5

, a PS/2 mouse employs a relative coordinate system wherein

moving the mouse to the right generates a positive value in the X field, and moving to the
left generates a negative value. Likewise, moving the mouse up generates a positive value
in the Y field, and moving down represents a negative value. The XS and YS bits in the
status byte define the sign of each value, where a ‘1’ indicates a negative value.

The magnitude of the X and Y values represent the rate of mouse movement. The larger the
value, the faster the mouse is moving. The XV and YV bits in the status byte indicate when
the X or Y values exceed their maximum value, an overflow condition. A ‘1’ indicates

Figure 6-4:

PS/2 Mouse Transaction

L

R

0

1 XS YS XV YV P

X0 X1 X2 X3 X4 X5 X6 X7 P

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 P

1

0

1

0

0

1

1

Idle state

Idle state

Start bit

Start bit

Stop bit

Stop bit

Stop bit

Start bit

Mouse status byte

X direction byte

Y direction byte

UG130_c6_04_042404

Figure 6-5:

The Mouse Uses a Relative Coordinate System to Track Movement

(YS=0)

-Y values

+Y values

(YS=1)

+X values

-X values

(XS=1)

(XS=0)

UG130_c6_05_042404

Advertising