Mouse - Xilinx Spartan-3A User Manual

Starter kit board
Hide thumbs Also See for Spartan-3A:
Table of Contents

Advertisement

Chapter 8: PS/2 Mouse/Keyboard Port

Mouse

PS/2-compatible mice potentially support two modes. In polled mode, the host controller
interrogates the mouse for activity. In streaming mode, the mouse reports any movement
or key presses. Streaming mode is the default operating mode.
To specifically enter streaming mode, the FPGA host must transmit a "Set Stream Mode"
command (0xEA) to the mouse. The mouse then generates a clock and data signal when
moved or when one or more keys are pressed; 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 eight-bit data fields contain movement data as shown in
Figure
Mouse status byte
L
R
C 1 XS YS XV YV P
1
0
Start bit
Idle state
A PS/2-style mouse employs a relative coordinate system (see
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 it 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 represents 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 when an overflow occurs. If the mouse moves continuously, the 33-bit
transmissions repeat every 50 ms or so.
68
8-4. Data is valid at the falling edge of the clock, and the clock period is 20 to 30 kHz.
X direction byte
1
0
X0 X1 X2 X3 X4 X5 X6 X7 P
Stop bit
Start bit
Figure 8-4: PS/2 Mouse Transaction
-X values
(XS=1)
Figure 8-5: The Mouse Uses a Relative Coordinate System to Track Movement
www.xilinx.com
Y direction byte
1
0
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 P
Stop bit
Start bit
Figure
+Y values
(YS=0)
-Y values
(YS=1)
Spartan-3A/3AN Starter Kit Board User Guide
R
1
Stop bit
Idle state
UG330_c8_04_032007
8-5), wherein
+X values
(XS=0)
UG230_c8_05_021806
UG334 (v1.0) May 28, 2007

Advertisement

Table of Contents
loading

This manual is also suitable for:

Spartan-3an

Table of Contents